xref: /aosp_15_r20/external/googleapis/google/cloud/cloudcontrolspartner/v1beta/ekm_connections.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 = "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