(requestName string)
| 661 | } |
| 662 | |
| 663 | func GetPolicyResourceTypeAndResource(requestName string) (storepb.Policy_Resource, *string, error) { |
| 664 | if requestName == "" { |
| 665 | return storepb.Policy_RESOURCE_UNSPECIFIED, nil, connect.NewError(connect.CodeInvalidArgument, errors.New("policy parent resource name must not be empty")) |
| 666 | } |
| 667 | |
| 668 | if strings.HasPrefix(requestName, WorkspacePrefix) { |
| 669 | return storepb.Policy_WORKSPACE, &requestName, nil |
| 670 | } |
| 671 | |
| 672 | if strings.HasPrefix(requestName, ProjectNamePrefix) { |
| 673 | projectID, err := GetProjectID(requestName) |
| 674 | if err != nil { |
| 675 | return storepb.Policy_RESOURCE_UNSPECIFIED, nil, connect.NewError(connect.CodeInvalidArgument, err) |
| 676 | } |
| 677 | if projectID == "-" { |
| 678 | return storepb.Policy_PROJECT, nil, nil |
| 679 | } |
| 680 | return storepb.Policy_PROJECT, &requestName, nil |
| 681 | } |
| 682 | |
| 683 | if strings.HasPrefix(requestName, EnvironmentNamePrefix) { |
| 684 | // environment policy request name should be environments/{environment id} |
| 685 | environmentID, err := GetEnvironmentID(requestName) |
| 686 | if err != nil { |
| 687 | return storepb.Policy_RESOURCE_UNSPECIFIED, nil, err |
| 688 | } |
| 689 | if environmentID == "-" { |
| 690 | return storepb.Policy_ENVIRONMENT, nil, nil |
| 691 | } |
| 692 | return storepb.Policy_ENVIRONMENT, &requestName, nil |
| 693 | } |
| 694 | |
| 695 | return storepb.Policy_RESOURCE_UNSPECIFIED, nil, errors.Errorf("unknown request name %s", requestName) |
| 696 | } |
| 697 | |
| 698 | // IsServiceAccountEmail checks if the email is a service account email. |
| 699 | func IsServiceAccountEmail(email string) bool { |
no test coverage detected