xref: /aosp_15_r20/external/googleapis/google/cloud/cloudcontrolspartner/v1beta/partners.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.cloudcontrolspartner.v1beta;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
22*d5c09012SAndroid Build Coastguard Worker
23*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta";
24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb";
25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "PartnersProto";
27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.cloudcontrolspartner.v1beta";
28*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta";
29*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::CloudControlsPartner::V1beta";
30*d5c09012SAndroid Build Coastguard Worker
31*d5c09012SAndroid Build Coastguard Worker// Message describing Partner resource
32*d5c09012SAndroid Build Coastguard Workermessage Partner {
33*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
34*d5c09012SAndroid Build Coastguard Worker    type: "cloudcontrolspartner.googleapis.com/Partner"
35*d5c09012SAndroid Build Coastguard Worker    pattern: "organizations/{organization}/locations/{location}/partner"
36*d5c09012SAndroid Build Coastguard Worker    singular: "partner"
37*d5c09012SAndroid Build Coastguard Worker  };
38*d5c09012SAndroid Build Coastguard Worker
39*d5c09012SAndroid Build Coastguard Worker  // Identifier. The resource name of the partner.
40*d5c09012SAndroid Build Coastguard Worker  // Format: organizations/{organization}/locations/{location}/partner
41*d5c09012SAndroid Build Coastguard Worker  // Example: "organizations/123456/locations/us-central1/partner"
42*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = IDENTIFIER];
43*d5c09012SAndroid Build Coastguard Worker
44*d5c09012SAndroid Build Coastguard Worker  // List of SKUs the partner is offering
45*d5c09012SAndroid Build Coastguard Worker  repeated Sku skus = 3;
46*d5c09012SAndroid Build Coastguard Worker
47*d5c09012SAndroid Build Coastguard Worker  // List of Google Cloud supported EKM partners supported by the partner
48*d5c09012SAndroid Build Coastguard Worker  repeated EkmMetadata ekm_solutions = 4;
49*d5c09012SAndroid Build Coastguard Worker
50*d5c09012SAndroid Build Coastguard Worker  // List of Google Cloud regions that the partner sells services to customers.
51*d5c09012SAndroid Build Coastguard Worker  // Valid Google Cloud regions found here:
52*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/regions-zones
53*d5c09012SAndroid Build Coastguard Worker  repeated string operated_cloud_regions = 5;
54*d5c09012SAndroid Build Coastguard Worker
55*d5c09012SAndroid Build Coastguard Worker  // Google Cloud project ID in the partner's Google Cloud organization for
56*d5c09012SAndroid Build Coastguard Worker  // receiving enhanced Logs for Partners.
57*d5c09012SAndroid Build Coastguard Worker  string partner_project_id = 7;
58*d5c09012SAndroid Build Coastguard Worker
59*d5c09012SAndroid Build Coastguard Worker  // Output only. Time the resource was created
60*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 9
61*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
62*d5c09012SAndroid Build Coastguard Worker
63*d5c09012SAndroid Build Coastguard Worker  // Output only. The last time the resource was updated
64*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 10
65*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
66*d5c09012SAndroid Build Coastguard Worker}
67*d5c09012SAndroid Build Coastguard Worker
68*d5c09012SAndroid Build Coastguard Worker// Message for getting a Partner
69*d5c09012SAndroid Build Coastguard Workermessage GetPartnerRequest {
70*d5c09012SAndroid Build Coastguard Worker  // Required. Format: organizations/{organization}/locations/{location}/partner
71*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
72*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
73*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
74*d5c09012SAndroid Build Coastguard Worker      type: "cloudcontrolspartner.googleapis.com/Partner"
75*d5c09012SAndroid Build Coastguard Worker    }
76*d5c09012SAndroid Build Coastguard Worker  ];
77*d5c09012SAndroid Build Coastguard Worker}
78*d5c09012SAndroid Build Coastguard Worker
79*d5c09012SAndroid Build Coastguard Worker// Represents the SKU a partner owns inside Google Cloud to sell to customers.
80*d5c09012SAndroid Build Coastguard Workermessage Sku {
81*d5c09012SAndroid Build Coastguard Worker  // Argentum product SKU, that is associated with the partner offerings to
82*d5c09012SAndroid Build Coastguard Worker  // customers used by Syntro for billing purposes. SKUs can represent resold
83*d5c09012SAndroid Build Coastguard Worker  // Google products or support services.
84*d5c09012SAndroid Build Coastguard Worker  string id = 1;
85*d5c09012SAndroid Build Coastguard Worker
86*d5c09012SAndroid Build Coastguard Worker  // Display name of the product identified by the SKU. A partner may want to
87*d5c09012SAndroid Build Coastguard Worker  // show partner branded names for their offerings such as local sovereign
88*d5c09012SAndroid Build Coastguard Worker  // cloud solutions.
89*d5c09012SAndroid Build Coastguard Worker  string display_name = 2;
90*d5c09012SAndroid Build Coastguard Worker}
91*d5c09012SAndroid Build Coastguard Worker
92*d5c09012SAndroid Build Coastguard Worker// Holds information needed by Mudbray to use partner EKMs for workloads.
93*d5c09012SAndroid Build Coastguard Workermessage EkmMetadata {
94*d5c09012SAndroid Build Coastguard Worker  // Represents Google Cloud supported external key management partners
95*d5c09012SAndroid Build Coastguard Worker  // [Google Cloud EKM partners
96*d5c09012SAndroid Build Coastguard Worker  // docs](https://cloud.google.com/kms/docs/ekm#supported_partners).
97*d5c09012SAndroid Build Coastguard Worker  enum EkmSolution {
98*d5c09012SAndroid Build Coastguard Worker    // Unspecified EKM solution
99*d5c09012SAndroid Build Coastguard Worker    EKM_SOLUTION_UNSPECIFIED = 0;
100*d5c09012SAndroid Build Coastguard Worker
101*d5c09012SAndroid Build Coastguard Worker    // EKM Partner Fortanix
102*d5c09012SAndroid Build Coastguard Worker    FORTANIX = 1;
103*d5c09012SAndroid Build Coastguard Worker
104*d5c09012SAndroid Build Coastguard Worker    // EKM Partner FutureX
105*d5c09012SAndroid Build Coastguard Worker    FUTUREX = 2;
106*d5c09012SAndroid Build Coastguard Worker
107*d5c09012SAndroid Build Coastguard Worker    // EKM Partner Thales
108*d5c09012SAndroid Build Coastguard Worker    THALES = 3;
109*d5c09012SAndroid Build Coastguard Worker
110*d5c09012SAndroid Build Coastguard Worker    // EKM Partner Virtu
111*d5c09012SAndroid Build Coastguard Worker    VIRTRU = 4;
112*d5c09012SAndroid Build Coastguard Worker  }
113*d5c09012SAndroid Build Coastguard Worker
114*d5c09012SAndroid Build Coastguard Worker  // The Cloud EKM partner.
115*d5c09012SAndroid Build Coastguard Worker  EkmSolution ekm_solution = 1;
116*d5c09012SAndroid Build Coastguard Worker
117*d5c09012SAndroid Build Coastguard Worker  // Endpoint for sending requests to the EKM for key provisioning during
118*d5c09012SAndroid Build Coastguard Worker  // Assured Workload creation.
119*d5c09012SAndroid Build Coastguard Worker  string ekm_endpoint_uri = 2;
120*d5c09012SAndroid Build Coastguard Worker}
121