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 = "EkmConnectionsProto"; 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 EKM connections associated with a workload 31message EkmConnections { 32 option (google.api.resource) = { 33 type: "cloudcontrolspartner.googleapis.com/EkmConnections" 34 pattern: "organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections" 35 }; 36 37 // Identifier. Format: 38 // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections 39 string name = 1 [(google.api.field_behavior) = IDENTIFIER]; 40 41 // The EKM connections associated with the workload 42 repeated EkmConnection ekm_connections = 2; 43} 44 45// Request for getting the EKM connections associated with a workload 46message GetEkmConnectionsRequest { 47 // Required. Format: 48 // organizations/{organization}/locations/{location}/customers/{customer}/workloads/{workload}/ekmConnections 49 string name = 1 [ 50 (google.api.field_behavior) = REQUIRED, 51 (google.api.resource_reference) = { 52 type: "cloudcontrolspartner.googleapis.com/EkmConnections" 53 } 54 ]; 55} 56 57// Details about the EKM connection 58message EkmConnection { 59 // Information around the error that occurred if the connection state is 60 // anything other than available or unspecified 61 message ConnectionError { 62 // The error domain for the error 63 string error_domain = 1; 64 65 // The error message for the error 66 string error_message = 2; 67 } 68 69 // The EKM connection state. 70 enum ConnectionState { 71 // Unspecified EKM connection state 72 CONNECTION_STATE_UNSPECIFIED = 0; 73 74 // Available EKM connection state 75 AVAILABLE = 1; 76 77 // Not available EKM connection state 78 NOT_AVAILABLE = 2; 79 80 // Error EKM connection state 81 ERROR = 3; 82 83 // Permission denied EKM connection state 84 PERMISSION_DENIED = 4; 85 } 86 87 // Resource name of the EKM connection in the format: 88 // projects/{project}/locations/{location}/ekmConnections/{ekm_connection} 89 string connection_name = 1; 90 91 // Output only. The connection state 92 ConnectionState connection_state = 2 93 [(google.api.field_behavior) = OUTPUT_ONLY]; 94 95 // The connection error that occurred if any 96 ConnectionError connection_error = 3; 97} 98