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.v1; 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.V1"; 24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1/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.v1"; 28*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1"; 29*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::CloudControlsPartner::V1"; 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: 71*d5c09012SAndroid Build Coastguard Worker // `organizations/{organization}/locations/{location}/partner` 72*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 73*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 74*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 75*d5c09012SAndroid Build Coastguard Worker type: "cloudcontrolspartner.googleapis.com/Partner" 76*d5c09012SAndroid Build Coastguard Worker } 77*d5c09012SAndroid Build Coastguard Worker ]; 78*d5c09012SAndroid Build Coastguard Worker} 79*d5c09012SAndroid Build Coastguard Worker 80*d5c09012SAndroid Build Coastguard Worker// Represents the SKU a partner owns inside Google Cloud to sell to customers. 81*d5c09012SAndroid Build Coastguard Workermessage Sku { 82*d5c09012SAndroid Build Coastguard Worker // Argentum product SKU, that is associated with the partner offerings to 83*d5c09012SAndroid Build Coastguard Worker // customers used by Syntro for billing purposes. SKUs can represent resold 84*d5c09012SAndroid Build Coastguard Worker // Google products or support services. 85*d5c09012SAndroid Build Coastguard Worker string id = 1; 86*d5c09012SAndroid Build Coastguard Worker 87*d5c09012SAndroid Build Coastguard Worker // Display name of the product identified by the SKU. A partner may want to 88*d5c09012SAndroid Build Coastguard Worker // show partner branded names for their offerings such as local sovereign 89*d5c09012SAndroid Build Coastguard Worker // cloud solutions. 90*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 91*d5c09012SAndroid Build Coastguard Worker} 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker// Holds information needed by Mudbray to use partner EKMs for workloads. 94*d5c09012SAndroid Build Coastguard Workermessage EkmMetadata { 95*d5c09012SAndroid Build Coastguard Worker // Represents Google Cloud supported external key management partners 96*d5c09012SAndroid Build Coastguard Worker // [Google Cloud EKM partners 97*d5c09012SAndroid Build Coastguard Worker // docs](https://cloud.google.com/kms/docs/ekm#supported_partners). 98*d5c09012SAndroid Build Coastguard Worker enum EkmSolution { 99*d5c09012SAndroid Build Coastguard Worker // Unspecified EKM solution 100*d5c09012SAndroid Build Coastguard Worker EKM_SOLUTION_UNSPECIFIED = 0; 101*d5c09012SAndroid Build Coastguard Worker 102*d5c09012SAndroid Build Coastguard Worker // EKM Partner Fortanix 103*d5c09012SAndroid Build Coastguard Worker FORTANIX = 1; 104*d5c09012SAndroid Build Coastguard Worker 105*d5c09012SAndroid Build Coastguard Worker // EKM Partner FutureX 106*d5c09012SAndroid Build Coastguard Worker FUTUREX = 2; 107*d5c09012SAndroid Build Coastguard Worker 108*d5c09012SAndroid Build Coastguard Worker // EKM Partner Thales 109*d5c09012SAndroid Build Coastguard Worker THALES = 3; 110*d5c09012SAndroid Build Coastguard Worker 111*d5c09012SAndroid Build Coastguard Worker // EKM Partner Virtu 112*d5c09012SAndroid Build Coastguard Worker VIRTRU = 4; 113*d5c09012SAndroid Build Coastguard Worker } 114*d5c09012SAndroid Build Coastguard Worker 115*d5c09012SAndroid Build Coastguard Worker // The Cloud EKM partner. 116*d5c09012SAndroid Build Coastguard Worker EkmSolution ekm_solution = 1; 117*d5c09012SAndroid Build Coastguard Worker 118*d5c09012SAndroid Build Coastguard Worker // Endpoint for sending requests to the EKM for key provisioning during 119*d5c09012SAndroid Build Coastguard Worker // Assured Workload creation. 120*d5c09012SAndroid Build Coastguard Worker string ekm_endpoint_uri = 2; 121*d5c09012SAndroid Build Coastguard Worker} 122