xref: /aosp_15_r20/external/googleapis/google/cloud/connectors/v1/connectors_service.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.connectors.v1;
18
19import "google/api/annotations.proto";
20import "google/api/client.proto";
21import "google/cloud/connectors/v1/common.proto";
22import "google/cloud/connectors/v1/connection.proto";
23import "google/cloud/connectors/v1/connector.proto";
24import "google/cloud/connectors/v1/connector_version.proto";
25import "google/cloud/connectors/v1/provider.proto";
26import "google/cloud/connectors/v1/runtime.proto";
27import "google/cloud/connectors/v1/settings.proto";
28import "google/longrunning/operations.proto";
29import "google/protobuf/empty.proto";
30
31option go_package = "cloud.google.com/go/connectors/apiv1/connectorspb;connectorspb";
32option java_multiple_files = true;
33option java_outer_classname = "ConnectorsServiceProto";
34option java_package = "com.google.cloud.connectors.v1";
35
36// Connectors is the interface for managing Connectors.
37service Connectors {
38  option (google.api.default_host) = "connectors.googleapis.com";
39  option (google.api.oauth_scopes) =
40      "https://www.googleapis.com/auth/cloud-platform";
41
42  // Lists Connections in a given project and location.
43  rpc ListConnections(ListConnectionsRequest)
44      returns (ListConnectionsResponse) {
45    option (google.api.http) = {
46      get: "/v1/{parent=projects/*/locations/*}/connections"
47    };
48    option (google.api.method_signature) = "parent";
49  }
50
51  // Gets details of a single Connection.
52  rpc GetConnection(GetConnectionRequest) returns (Connection) {
53    option (google.api.http) = {
54      get: "/v1/{name=projects/*/locations/*/connections/*}"
55    };
56    option (google.api.method_signature) = "name";
57  }
58
59  // Creates a new Connection in a given project and location.
60  rpc CreateConnection(CreateConnectionRequest)
61      returns (google.longrunning.Operation) {
62    option (google.api.http) = {
63      post: "/v1/{parent=projects/*/locations/*}/connections"
64      body: "connection"
65    };
66    option (google.api.method_signature) = "parent,connection,connection_id";
67    option (google.longrunning.operation_info) = {
68      response_type: "Connection"
69      metadata_type: "OperationMetadata"
70    };
71  }
72
73  // Updates the parameters of a single Connection.
74  rpc UpdateConnection(UpdateConnectionRequest)
75      returns (google.longrunning.Operation) {
76    option (google.api.http) = {
77      patch: "/v1/{connection.name=projects/*/locations/*/connections/*}"
78      body: "connection"
79    };
80    option (google.api.method_signature) = "connection,update_mask";
81    option (google.longrunning.operation_info) = {
82      response_type: "Connection"
83      metadata_type: "OperationMetadata"
84    };
85  }
86
87  // Deletes a single Connection.
88  rpc DeleteConnection(DeleteConnectionRequest)
89      returns (google.longrunning.Operation) {
90    option (google.api.http) = {
91      delete: "/v1/{name=projects/*/locations/*/connections/*}"
92    };
93    option (google.api.method_signature) = "name";
94    option (google.longrunning.operation_info) = {
95      response_type: "google.protobuf.Empty"
96      metadata_type: "OperationMetadata"
97    };
98  }
99
100  // Lists Providers in a given project and location.
101  rpc ListProviders(ListProvidersRequest) returns (ListProvidersResponse) {
102    option (google.api.http) = {
103      get: "/v1/{parent=projects/*/locations/*}/providers"
104    };
105    option (google.api.method_signature) = "parent";
106  }
107
108  // Gets details of a provider.
109  rpc GetProvider(GetProviderRequest) returns (Provider) {
110    option (google.api.http) = {
111      get: "/v1/{name=projects/*/locations/*/providers/*}"
112    };
113    option (google.api.method_signature) = "name";
114  }
115
116  // Lists Connectors in a given project and location.
117  rpc ListConnectors(ListConnectorsRequest) returns (ListConnectorsResponse) {
118    option (google.api.http) = {
119      get: "/v1/{parent=projects/*/locations/*/providers/*}/connectors"
120    };
121    option (google.api.method_signature) = "parent";
122  }
123
124  // Gets details of a single Connector.
125  rpc GetConnector(GetConnectorRequest) returns (Connector) {
126    option (google.api.http) = {
127      get: "/v1/{name=projects/*/locations/*/providers/*/connectors/*}"
128    };
129    option (google.api.method_signature) = "name";
130  }
131
132  // Lists Connector Versions in a given project and location.
133  rpc ListConnectorVersions(ListConnectorVersionsRequest)
134      returns (ListConnectorVersionsResponse) {
135    option (google.api.http) = {
136      get: "/v1/{parent=projects/*/locations/*/providers/*/connectors/*}/versions"
137    };
138    option (google.api.method_signature) = "parent";
139  }
140
141  // Gets details of a single connector version.
142  rpc GetConnectorVersion(GetConnectorVersionRequest)
143      returns (ConnectorVersion) {
144    option (google.api.http) = {
145      get: "/v1/{name=projects/*/locations/*/providers/*/connectors/*/versions/*}"
146    };
147    option (google.api.method_signature) = "name";
148  }
149
150  // Gets schema metadata of a connection.
151  // SchemaMetadata is a singleton resource for each connection.
152  rpc GetConnectionSchemaMetadata(GetConnectionSchemaMetadataRequest)
153      returns (ConnectionSchemaMetadata) {
154    option (google.api.http) = {
155      get: "/v1/{name=projects/*/locations/*/connections/*/connectionSchemaMetadata}"
156    };
157    option (google.api.method_signature) = "name";
158  }
159
160  // Refresh runtime schema of a connection.
161  rpc RefreshConnectionSchemaMetadata(RefreshConnectionSchemaMetadataRequest)
162      returns (google.longrunning.Operation) {
163    option (google.api.http) = {
164      post: "/v1/{name=projects/*/locations/*/connections/*/connectionSchemaMetadata}:refresh"
165      body: "*"
166    };
167    option (google.api.method_signature) = "name";
168    option (google.longrunning.operation_info) = {
169      response_type: "ConnectionSchemaMetadata"
170      metadata_type: "OperationMetadata"
171    };
172  }
173
174  // List schema of a runtime entities filtered by entity name.
175  rpc ListRuntimeEntitySchemas(ListRuntimeEntitySchemasRequest)
176      returns (ListRuntimeEntitySchemasResponse) {
177    option (google.api.http) = {
178      get: "/v1/{parent=projects/*/locations/*/connections/*}/runtimeEntitySchemas"
179    };
180    option (google.api.method_signature) = "parent";
181  }
182
183  // List schema of a runtime actions filtered by action name.
184  rpc ListRuntimeActionSchemas(ListRuntimeActionSchemasRequest)
185      returns (ListRuntimeActionSchemasResponse) {
186    option (google.api.http) = {
187      get: "/v1/{parent=projects/*/locations/*/connections/*}/runtimeActionSchemas"
188    };
189    option (google.api.method_signature) = "parent";
190  }
191
192  // Gets the runtimeConfig of a location.
193  // RuntimeConfig is a singleton resource for each location.
194  rpc GetRuntimeConfig(GetRuntimeConfigRequest) returns (RuntimeConfig) {
195    option (google.api.http) = {
196      get: "/v1/{name=projects/*/locations/*/runtimeConfig}"
197    };
198    option (google.api.method_signature) = "name";
199  }
200
201  // GetGlobalSettings gets settings of a project.
202  // GlobalSettings is a singleton resource.
203  rpc GetGlobalSettings(GetGlobalSettingsRequest) returns (Settings) {
204    option (google.api.http) = {
205      get: "/v1/{name=projects/*/locations/global/settings}"
206    };
207    option (google.api.method_signature) = "name";
208  }
209}
210