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"; 21import "google/protobuf/timestamp.proto"; 22 23option csharp_namespace = "Google.Cloud.CloudControlsPartner.V1Beta"; 24option go_package = "cloud.google.com/go/cloudcontrolspartner/apiv1beta/cloudcontrolspartnerpb;cloudcontrolspartnerpb"; 25option java_multiple_files = true; 26option java_outer_classname = "PartnersProto"; 27option java_package = "com.google.cloud.cloudcontrolspartner.v1beta"; 28option php_namespace = "Google\\Cloud\\CloudControlsPartner\\V1beta"; 29option ruby_package = "Google::Cloud::CloudControlsPartner::V1beta"; 30 31// Message describing Partner resource 32message Partner { 33 option (google.api.resource) = { 34 type: "cloudcontrolspartner.googleapis.com/Partner" 35 pattern: "organizations/{organization}/locations/{location}/partner" 36 singular: "partner" 37 }; 38 39 // Identifier. The resource name of the partner. 40 // Format: organizations/{organization}/locations/{location}/partner 41 // Example: "organizations/123456/locations/us-central1/partner" 42 string name = 1 [(google.api.field_behavior) = IDENTIFIER]; 43 44 // List of SKUs the partner is offering 45 repeated Sku skus = 3; 46 47 // List of Google Cloud supported EKM partners supported by the partner 48 repeated EkmMetadata ekm_solutions = 4; 49 50 // List of Google Cloud regions that the partner sells services to customers. 51 // Valid Google Cloud regions found here: 52 // https://cloud.google.com/compute/docs/regions-zones 53 repeated string operated_cloud_regions = 5; 54 55 // Google Cloud project ID in the partner's Google Cloud organization for 56 // receiving enhanced Logs for Partners. 57 string partner_project_id = 7; 58 59 // Output only. Time the resource was created 60 google.protobuf.Timestamp create_time = 9 61 [(google.api.field_behavior) = OUTPUT_ONLY]; 62 63 // Output only. The last time the resource was updated 64 google.protobuf.Timestamp update_time = 10 65 [(google.api.field_behavior) = OUTPUT_ONLY]; 66} 67 68// Message for getting a Partner 69message GetPartnerRequest { 70 // Required. Format: organizations/{organization}/locations/{location}/partner 71 string name = 1 [ 72 (google.api.field_behavior) = REQUIRED, 73 (google.api.resource_reference) = { 74 type: "cloudcontrolspartner.googleapis.com/Partner" 75 } 76 ]; 77} 78 79// Represents the SKU a partner owns inside Google Cloud to sell to customers. 80message Sku { 81 // Argentum product SKU, that is associated with the partner offerings to 82 // customers used by Syntro for billing purposes. SKUs can represent resold 83 // Google products or support services. 84 string id = 1; 85 86 // Display name of the product identified by the SKU. A partner may want to 87 // show partner branded names for their offerings such as local sovereign 88 // cloud solutions. 89 string display_name = 2; 90} 91 92// Holds information needed by Mudbray to use partner EKMs for workloads. 93message EkmMetadata { 94 // Represents Google Cloud supported external key management partners 95 // [Google Cloud EKM partners 96 // docs](https://cloud.google.com/kms/docs/ekm#supported_partners). 97 enum EkmSolution { 98 // Unspecified EKM solution 99 EKM_SOLUTION_UNSPECIFIED = 0; 100 101 // EKM Partner Fortanix 102 FORTANIX = 1; 103 104 // EKM Partner FutureX 105 FUTUREX = 2; 106 107 // EKM Partner Thales 108 THALES = 3; 109 110 // EKM Partner Virtu 111 VIRTRU = 4; 112 } 113 114 // The Cloud EKM partner. 115 EkmSolution ekm_solution = 1; 116 117 // Endpoint for sending requests to the EKM for key provisioning during 118 // Assured Workload creation. 119 string ekm_endpoint_uri = 2; 120} 121