xref: /aosp_15_r20/external/googleapis/google/cloud/cloudcontrolspartner/v1beta/partner_permissions.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2023 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.cloud.cloudcontrolspartner.v1beta;
18
19import "google/api/field_behavior.proto";
20import "google/api/resource.proto";
21
22option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta";
23option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb";
24option java_multiple_files = true;
25option java_outer_classname = "PartnerPermissionsProto";
26option java_package = "com.google.cloud.cloudcontrolspartner.v1beta";
27option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta";
28option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta";
29
30// The permissions granted to the partner for a workload
31message PartnerPermissions {
32  option (google.api.resource) = {
33    type: "cloudcontrolspartner.googleapis.com/PartnerPermissions"
34    pattern: "organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions"
35  };
36
37  enum Permission {
38    // Unspecified partner permission
39    PERMISSION_UNSPECIFIED = 0;
40
41    // Permission for Access Transparency and emergency logs
42    ACCESS_TRANSPARENCY_AND_EMERGENCY_ACCESS_LOGS = 1;
43
44    // Permission for Assured Workloads monitoring violations
45    ASSURED_WORKLOADS_MONITORING = 2;
46
47    // Permission for Access Approval requests
48    ACCESS_APPROVAL_REQUESTS = 3;
49
50    // Permission for External Key Manager connection status
51    ASSURED_WORKLOADS_EKM_CONNECTION_STATUS = 4;
52  }
53
54  // Identifier. Format:
55  // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions
56  string name = 1 [(google.api.field_behavior) = IDENTIFIER];
57
58  // The partner permissions granted for the workload
59  repeated Permission partner_permissions = 2;
60}
61
62// Request for getting the partner permissions granted for a workload
63message GetPartnerPermissionsRequest {
64  // Required. Name of the resource to get in the format:
65  // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/partnerPermissions
66  string name = 1 [
67    (google.api.field_behavior) = REQUIRED,
68    (google.api.resource_reference) = {
69      type: "cloudcontrolspartner.googleapis.com/PartnerPermissions"
70    }
71  ];
72}
73