google-cloud-api_gateway-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ # API Gateway V1 Protocol Buffer Documentation
2
+
3
+ These files are for the YARD documentation of the generated protobuf files.
4
+ They are not intended to be required or loaded at runtime.
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # An indicator of the behavior of a given field (for example, that a field
23
+ # is required in requests, or given as output but ignored as input).
24
+ # This **does not** change the behavior in protocol buffers itself; it only
25
+ # denotes the behavior and may affect how API tooling handles the field.
26
+ #
27
+ # Note: This enum **may** receive new values in the future.
28
+ module FieldBehavior
29
+ # Conventional default for enums. Do not use this.
30
+ FIELD_BEHAVIOR_UNSPECIFIED = 0
31
+
32
+ # Specifically denotes a field as optional.
33
+ # While all fields in protocol buffers are optional, this may be specified
34
+ # for emphasis if appropriate.
35
+ OPTIONAL = 1
36
+
37
+ # Denotes a field as required.
38
+ # This indicates that the field **must** be provided as part of the request,
39
+ # and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
40
+ REQUIRED = 2
41
+
42
+ # Denotes a field as output only.
43
+ # This indicates that the field is provided in responses, but including the
44
+ # field in a request does nothing (the server *must* ignore it and
45
+ # *must not* throw an error as a result of the field's presence).
46
+ OUTPUT_ONLY = 3
47
+
48
+ # Denotes a field as input only.
49
+ # This indicates that the field is provided in requests, and the
50
+ # corresponding field is not included in output.
51
+ INPUT_ONLY = 4
52
+
53
+ # Denotes a field as immutable.
54
+ # This indicates that the field may be set once in a request to create a
55
+ # resource, but may not be changed thereafter.
56
+ IMMUTABLE = 5
57
+
58
+ # Denotes that a (repeated) field is an unordered list.
59
+ # This indicates that the service may provide the elements of the list
60
+ # in any arbitrary order, rather than the order the user originally
61
+ # provided. Additionally, the list's order may or may not be stable.
62
+ UNORDERED_LIST = 6
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,283 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # name_descriptor: {
37
+ # pattern: "projects/{project}/topics/{topic}"
38
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
+ # parent_name_extractor: "projects/{project}"
40
+ # }
41
+ # };
42
+ # }
43
+ #
44
+ # The ResourceDescriptor Yaml config will look like:
45
+ #
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/{project}/topics/{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/{project}"
52
+ #
53
+ # Sometimes, resources have multiple patterns, typically because they can
54
+ # live under multiple parents.
55
+ #
56
+ # Example:
57
+ #
58
+ # message LogEntry {
59
+ # option (google.api.resource) = {
60
+ # type: "logging.googleapis.com/LogEntry"
61
+ # name_descriptor: {
62
+ # pattern: "projects/{project}/logs/{log}"
63
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
+ # parent_name_extractor: "projects/{project}"
65
+ # }
66
+ # name_descriptor: {
67
+ # pattern: "folders/{folder}/logs/{log}"
68
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
+ # parent_name_extractor: "folders/{folder}"
70
+ # }
71
+ # name_descriptor: {
72
+ # pattern: "organizations/{organization}/logs/{log}"
73
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
+ # parent_name_extractor: "organizations/{organization}"
75
+ # }
76
+ # name_descriptor: {
77
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
+ # parent_type: "billing.googleapis.com/BillingAccount"
79
+ # parent_name_extractor: "billingAccounts/{billing_account}"
80
+ # }
81
+ # };
82
+ # }
83
+ #
84
+ # The ResourceDescriptor Yaml config will look like:
85
+ #
86
+ # resources:
87
+ # - type: 'logging.googleapis.com/LogEntry'
88
+ # name_descriptor:
89
+ # - pattern: "projects/{project}/logs/{log}"
90
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
+ # parent_name_extractor: "projects/{project}"
92
+ # - pattern: "folders/{folder}/logs/{log}"
93
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
+ # parent_name_extractor: "folders/{folder}"
95
+ # - pattern: "organizations/{organization}/logs/{log}"
96
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
+ # parent_name_extractor: "organizations/{organization}"
98
+ # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
+ # parent_type: "billing.googleapis.com/BillingAccount"
100
+ # parent_name_extractor: "billingAccounts/{billing_account}"
101
+ #
102
+ # For flexible resources, the resource name doesn't contain parent names, but
103
+ # the resource itself has parents for policy evaluation.
104
+ #
105
+ # Example:
106
+ #
107
+ # message Shelf {
108
+ # option (google.api.resource) = {
109
+ # type: "library.googleapis.com/Shelf"
110
+ # name_descriptor: {
111
+ # pattern: "shelves/{shelf}"
112
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
+ # }
114
+ # name_descriptor: {
115
+ # pattern: "shelves/{shelf}"
116
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
+ # }
118
+ # };
119
+ # }
120
+ #
121
+ # The ResourceDescriptor Yaml config will look like:
122
+ #
123
+ # resources:
124
+ # - type: 'library.googleapis.com/Shelf'
125
+ # name_descriptor:
126
+ # - pattern: "shelves/{shelf}"
127
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
+ # - pattern: "shelves/{shelf}"
129
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
130
+ # @!attribute [rw] type
131
+ # @return [::String]
132
+ # The resource type. It must be in the format of
133
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
134
+ # singular and must not include version numbers.
135
+ #
136
+ # Example: `storage.googleapis.com/Bucket`
137
+ #
138
+ # The value of the resource_type_kind must follow the regular expression
139
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
140
+ # should use PascalCase (UpperCamelCase). The maximum number of
141
+ # characters allowed for the `resource_type_kind` is 100.
142
+ # @!attribute [rw] pattern
143
+ # @return [::Array<::String>]
144
+ # Optional. The relative resource name pattern associated with this resource
145
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
146
+ #
147
+ # The path pattern must follow the syntax, which aligns with HTTP binding
148
+ # syntax:
149
+ #
150
+ # Template = Segment { "/" Segment } ;
151
+ # Segment = LITERAL | Variable ;
152
+ # Variable = "{" LITERAL "}" ;
153
+ #
154
+ # Examples:
155
+ #
156
+ # - "projects/\\{project}/topics/\\{topic}"
157
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
158
+ #
159
+ # The components in braces correspond to the IDs for each resource in the
160
+ # hierarchy. It is expected that, if multiple patterns are provided,
161
+ # the same component name (e.g. "project") refers to IDs of the same
162
+ # type of resource.
163
+ # @!attribute [rw] name_field
164
+ # @return [::String]
165
+ # Optional. The field on the resource that designates the resource name
166
+ # field. If omitted, this is assumed to be "name".
167
+ # @!attribute [rw] history
168
+ # @return [::Google::Api::ResourceDescriptor::History]
169
+ # Optional. The historical or future-looking state of the resource pattern.
170
+ #
171
+ # Example:
172
+ #
173
+ # // The InspectTemplate message originally only supported resource
174
+ # // names with organization, and project was added later.
175
+ # message InspectTemplate {
176
+ # option (google.api.resource) = {
177
+ # type: "dlp.googleapis.com/InspectTemplate"
178
+ # pattern:
179
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
180
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
181
+ # history: ORIGINALLY_SINGLE_PATTERN
182
+ # };
183
+ # }
184
+ # @!attribute [rw] plural
185
+ # @return [::String]
186
+ # The plural name used in the resource name and permission names, such as
187
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
188
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
189
+ # concept of the `plural` field in k8s CRD spec
190
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
191
+ #
192
+ # Note: The plural form is required even for singleton resources. See
193
+ # https://aip.dev/156
194
+ # @!attribute [rw] singular
195
+ # @return [::String]
196
+ # The same concept of the `singular` field in k8s CRD spec
197
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
198
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
199
+ # @!attribute [rw] style
200
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
201
+ # Style flag(s) for this resource.
202
+ # These indicate that a resource is expected to conform to a given
203
+ # style. See the specific style flags for additional information.
204
+ class ResourceDescriptor
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+
208
+ # A description of the historical or future-looking state of the
209
+ # resource pattern.
210
+ module History
211
+ # The "unset" value.
212
+ HISTORY_UNSPECIFIED = 0
213
+
214
+ # The resource originally had one pattern and launched as such, and
215
+ # additional patterns were added later.
216
+ ORIGINALLY_SINGLE_PATTERN = 1
217
+
218
+ # The resource has one pattern, but the API owner expects to add more
219
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
220
+ # that from being necessary once there are multiple patterns.)
221
+ FUTURE_MULTI_PATTERN = 2
222
+ end
223
+
224
+ # A flag representing a specific style that a resource claims to conform to.
225
+ module Style
226
+ # The unspecified value. Do not use.
227
+ STYLE_UNSPECIFIED = 0
228
+
229
+ # This resource is intended to be "declarative-friendly".
230
+ #
231
+ # Declarative-friendly resources must be more strictly consistent, and
232
+ # setting this to true communicates to tools that this resource should
233
+ # adhere to declarative-friendly expectations.
234
+ #
235
+ # Note: This is used by the API linter (linter.aip.dev) to enable
236
+ # additional checks.
237
+ DECLARATIVE_FRIENDLY = 1
238
+ end
239
+ end
240
+
241
+ # Defines a proto annotation that describes a string field that refers to
242
+ # an API resource.
243
+ # @!attribute [rw] type
244
+ # @return [::String]
245
+ # The resource type that the annotated field references.
246
+ #
247
+ # Example:
248
+ #
249
+ # message Subscription {
250
+ # string topic = 2 [(google.api.resource_reference) = {
251
+ # type: "pubsub.googleapis.com/Topic"
252
+ # }];
253
+ # }
254
+ #
255
+ # Occasionally, a field may reference an arbitrary resource. In this case,
256
+ # APIs use the special value * in their resource reference.
257
+ #
258
+ # Example:
259
+ #
260
+ # message GetIamPolicyRequest {
261
+ # string resource = 2 [(google.api.resource_reference) = {
262
+ # type: "*"
263
+ # }];
264
+ # }
265
+ # @!attribute [rw] child_type
266
+ # @return [::String]
267
+ # The resource type of a child collection that the annotated field
268
+ # references. This is useful for annotating the `parent` field that
269
+ # doesn't have a fixed resource type.
270
+ #
271
+ # Example:
272
+ #
273
+ # message ListLogEntriesRequest {
274
+ # string parent = 1 [(google.api.resource_reference) = {
275
+ # child_type: "logging.googleapis.com/LogEntry"
276
+ # };
277
+ # }
278
+ class ResourceReference
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+ end
283
+ end
@@ -0,0 +1,626 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module ApiGateway
23
+ module V1
24
+ # An API that can be served by one or more Gateways.
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. Resource name of the API.
28
+ # Format: projects/\\{project}/locations/global/apis/\\{api}
29
+ # @!attribute [r] create_time
30
+ # @return [::Google::Protobuf::Timestamp]
31
+ # Output only. Created time.
32
+ # @!attribute [r] update_time
33
+ # @return [::Google::Protobuf::Timestamp]
34
+ # Output only. Updated time.
35
+ # @!attribute [rw] labels
36
+ # @return [::Google::Protobuf::Map{::String => ::String}]
37
+ # Optional. Resource labels to represent user-provided metadata.
38
+ # Refer to cloud documentation on labels for more details.
39
+ # https://cloud.google.com/compute/docs/labeling-resources
40
+ # @!attribute [rw] display_name
41
+ # @return [::String]
42
+ # Optional. Display name.
43
+ # @!attribute [rw] managed_service
44
+ # @return [::String]
45
+ # Optional. Immutable. The name of a Google Managed Service (
46
+ # https://cloud.google.com/service-infrastructure/docs/glossary#managed). If
47
+ # not specified, a new Service will automatically be created in the same
48
+ # project as this API.
49
+ # @!attribute [r] state
50
+ # @return [::Google::Cloud::ApiGateway::V1::Api::State]
51
+ # Output only. State of the API.
52
+ class Api
53
+ include ::Google::Protobuf::MessageExts
54
+ extend ::Google::Protobuf::MessageExts::ClassMethods
55
+
56
+ # @!attribute [rw] key
57
+ # @return [::String]
58
+ # @!attribute [rw] value
59
+ # @return [::String]
60
+ class LabelsEntry
61
+ include ::Google::Protobuf::MessageExts
62
+ extend ::Google::Protobuf::MessageExts::ClassMethods
63
+ end
64
+
65
+ # All the possible API states.
66
+ module State
67
+ # API does not have a state yet.
68
+ STATE_UNSPECIFIED = 0
69
+
70
+ # API is being created.
71
+ CREATING = 1
72
+
73
+ # API is active.
74
+ ACTIVE = 2
75
+
76
+ # API creation failed.
77
+ FAILED = 3
78
+
79
+ # API is being deleted.
80
+ DELETING = 4
81
+
82
+ # API is being updated.
83
+ UPDATING = 5
84
+ end
85
+ end
86
+
87
+ # An API Configuration is a combination of settings for both the Managed
88
+ # Service and Gateways serving this API Config.
89
+ # @!attribute [r] name
90
+ # @return [::String]
91
+ # Output only. Resource name of the API Config.
92
+ # Format: projects/\\{project}/locations/global/apis/\\{api}/configs/\\{api_config}
93
+ # @!attribute [r] create_time
94
+ # @return [::Google::Protobuf::Timestamp]
95
+ # Output only. Created time.
96
+ # @!attribute [r] update_time
97
+ # @return [::Google::Protobuf::Timestamp]
98
+ # Output only. Updated time.
99
+ # @!attribute [rw] labels
100
+ # @return [::Google::Protobuf::Map{::String => ::String}]
101
+ # Optional. Resource labels to represent user-provided metadata.
102
+ # Refer to cloud documentation on labels for more details.
103
+ # https://cloud.google.com/compute/docs/labeling-resources
104
+ # @!attribute [rw] display_name
105
+ # @return [::String]
106
+ # Optional. Display name.
107
+ # @!attribute [rw] gateway_service_account
108
+ # @return [::String]
109
+ # Immutable. The Google Cloud IAM Service Account that Gateways serving this config
110
+ # should use to authenticate to other services. This may either be the
111
+ # Service Account's email
112
+ # (`{ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com`) or its full resource
113
+ # name (`projects/{PROJECT}/accounts/{UNIQUE_ID}`). This is most often used
114
+ # when the service is a GCP resource such as a Cloud Run Service or an
115
+ # IAP-secured service.
116
+ # @!attribute [r] service_config_id
117
+ # @return [::String]
118
+ # Output only. The ID of the associated Service Config (
119
+ # https://cloud.google.com/service-infrastructure/docs/glossary#config).
120
+ # @!attribute [r] state
121
+ # @return [::Google::Cloud::ApiGateway::V1::ApiConfig::State]
122
+ # Output only. State of the API Config.
123
+ # @!attribute [rw] openapi_documents
124
+ # @return [::Array<::Google::Cloud::ApiGateway::V1::ApiConfig::OpenApiDocument>]
125
+ # Optional. OpenAPI specification documents. If specified, grpc_services and
126
+ # managed_service_configs must not be included.
127
+ # @!attribute [rw] grpc_services
128
+ # @return [::Array<::Google::Cloud::ApiGateway::V1::ApiConfig::GrpcServiceDefinition>]
129
+ # Optional. gRPC service definition files. If specified, openapi_documents must
130
+ # not be included.
131
+ # @!attribute [rw] managed_service_configs
132
+ # @return [::Array<::Google::Cloud::ApiGateway::V1::ApiConfig::File>]
133
+ # Optional. Service Configuration files. At least one must be included when using gRPC
134
+ # service definitions. See
135
+ # https://cloud.google.com/endpoints/docs/grpc/grpc-service-config#service_configuration_overview
136
+ # for the expected file contents.
137
+ #
138
+ # If multiple files are specified, the files are merged with the following
139
+ # rules:
140
+ # * All singular scalar fields are merged using "last one wins" semantics in
141
+ # the order of the files uploaded.
142
+ # * Repeated fields are concatenated.
143
+ # * Singular embedded messages are merged using these rules for nested
144
+ # fields.
145
+ class ApiConfig
146
+ include ::Google::Protobuf::MessageExts
147
+ extend ::Google::Protobuf::MessageExts::ClassMethods
148
+
149
+ # A lightweight description of a file.
150
+ # @!attribute [rw] path
151
+ # @return [::String]
152
+ # The file path (full or relative path). This is typically the path of the
153
+ # file when it is uploaded.
154
+ # @!attribute [rw] contents
155
+ # @return [::String]
156
+ # The bytes that constitute the file.
157
+ class File
158
+ include ::Google::Protobuf::MessageExts
159
+ extend ::Google::Protobuf::MessageExts::ClassMethods
160
+ end
161
+
162
+ # An OpenAPI Specification Document describing an API.
163
+ # @!attribute [rw] document
164
+ # @return [::Google::Cloud::ApiGateway::V1::ApiConfig::File]
165
+ # The OpenAPI Specification document file.
166
+ class OpenApiDocument
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+ end
170
+
171
+ # A gRPC service definition.
172
+ # @!attribute [rw] file_descriptor_set
173
+ # @return [::Google::Cloud::ApiGateway::V1::ApiConfig::File]
174
+ # Input only. File descriptor set, generated by protoc.
175
+ #
176
+ # To generate, use protoc with imports and source info included.
177
+ # For an example test.proto file, the following command would put the value
178
+ # in a new file named out.pb.
179
+ #
180
+ # $ protoc --include_imports --include_source_info test.proto -o out.pb
181
+ # @!attribute [rw] source
182
+ # @return [::Array<::Google::Cloud::ApiGateway::V1::ApiConfig::File>]
183
+ # Optional. Uncompiled proto files associated with the descriptor set, used for
184
+ # display purposes (server-side compilation is not supported). These
185
+ # should match the inputs to 'protoc' command used to generate
186
+ # file_descriptor_set.
187
+ class GrpcServiceDefinition
188
+ include ::Google::Protobuf::MessageExts
189
+ extend ::Google::Protobuf::MessageExts::ClassMethods
190
+ end
191
+
192
+ # @!attribute [rw] key
193
+ # @return [::String]
194
+ # @!attribute [rw] value
195
+ # @return [::String]
196
+ class LabelsEntry
197
+ include ::Google::Protobuf::MessageExts
198
+ extend ::Google::Protobuf::MessageExts::ClassMethods
199
+ end
200
+
201
+ # All the possible API Config states.
202
+ module State
203
+ # API Config does not have a state yet.
204
+ STATE_UNSPECIFIED = 0
205
+
206
+ # API Config is being created and deployed to the API Controller.
207
+ CREATING = 1
208
+
209
+ # API Config is ready for use by Gateways.
210
+ ACTIVE = 2
211
+
212
+ # API Config creation failed.
213
+ FAILED = 3
214
+
215
+ # API Config is being deleted.
216
+ DELETING = 4
217
+
218
+ # API Config is being updated.
219
+ UPDATING = 5
220
+
221
+ # API Config settings are being activated in downstream systems.
222
+ # API Configs in this state cannot be used by Gateways.
223
+ ACTIVATING = 6
224
+ end
225
+ end
226
+
227
+ # A Gateway is an API-aware HTTP proxy. It performs API-Method and/or
228
+ # API-Consumer specific actions based on an API Config such as authentication,
229
+ # policy enforcement, and backend selection.
230
+ # @!attribute [r] name
231
+ # @return [::String]
232
+ # Output only. Resource name of the Gateway.
233
+ # Format: projects/\\{project}/locations/\\{location}/gateways/\\{gateway}
234
+ # @!attribute [r] create_time
235
+ # @return [::Google::Protobuf::Timestamp]
236
+ # Output only. Created time.
237
+ # @!attribute [r] update_time
238
+ # @return [::Google::Protobuf::Timestamp]
239
+ # Output only. Updated time.
240
+ # @!attribute [rw] labels
241
+ # @return [::Google::Protobuf::Map{::String => ::String}]
242
+ # Optional. Resource labels to represent user-provided metadata.
243
+ # Refer to cloud documentation on labels for more details.
244
+ # https://cloud.google.com/compute/docs/labeling-resources
245
+ # @!attribute [rw] display_name
246
+ # @return [::String]
247
+ # Optional. Display name.
248
+ # @!attribute [rw] api_config
249
+ # @return [::String]
250
+ # Required. Resource name of the API Config for this Gateway.
251
+ # Format: projects/\\{project}/locations/global/apis/\\{api}/configs/\\{apiConfig}
252
+ # @!attribute [r] state
253
+ # @return [::Google::Cloud::ApiGateway::V1::Gateway::State]
254
+ # Output only. The current state of the Gateway.
255
+ # @!attribute [r] default_hostname
256
+ # @return [::String]
257
+ # Output only. The default API Gateway host name of the form
258
+ # `{gateway_id}-{hash}.{region_code}.gateway.dev`.
259
+ class Gateway
260
+ include ::Google::Protobuf::MessageExts
261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
262
+
263
+ # @!attribute [rw] key
264
+ # @return [::String]
265
+ # @!attribute [rw] value
266
+ # @return [::String]
267
+ class LabelsEntry
268
+ include ::Google::Protobuf::MessageExts
269
+ extend ::Google::Protobuf::MessageExts::ClassMethods
270
+ end
271
+
272
+ # All the possible Gateway states.
273
+ module State
274
+ # Gateway does not have a state yet.
275
+ STATE_UNSPECIFIED = 0
276
+
277
+ # Gateway is being created.
278
+ CREATING = 1
279
+
280
+ # Gateway is running and ready for requests.
281
+ ACTIVE = 2
282
+
283
+ # Gateway creation failed.
284
+ FAILED = 3
285
+
286
+ # Gateway is being deleted.
287
+ DELETING = 4
288
+
289
+ # Gateway is being updated.
290
+ UPDATING = 5
291
+ end
292
+ end
293
+
294
+ # Request message for ApiGatewayService.ListGateways
295
+ # @!attribute [rw] parent
296
+ # @return [::String]
297
+ # Required. Parent resource of the Gateway, of the form:
298
+ # `projects/*/locations/*`
299
+ # @!attribute [rw] page_size
300
+ # @return [::Integer]
301
+ # Page size.
302
+ # @!attribute [rw] page_token
303
+ # @return [::String]
304
+ # Page token.
305
+ # @!attribute [rw] filter
306
+ # @return [::String]
307
+ # Filter.
308
+ # @!attribute [rw] order_by
309
+ # @return [::String]
310
+ # Order by parameters.
311
+ class ListGatewaysRequest
312
+ include ::Google::Protobuf::MessageExts
313
+ extend ::Google::Protobuf::MessageExts::ClassMethods
314
+ end
315
+
316
+ # Response message for ApiGatewayService.ListGateways
317
+ # @!attribute [rw] gateways
318
+ # @return [::Array<::Google::Cloud::ApiGateway::V1::Gateway>]
319
+ # Gateways.
320
+ # @!attribute [rw] next_page_token
321
+ # @return [::String]
322
+ # Next page token.
323
+ # @!attribute [rw] unreachable_locations
324
+ # @return [::Array<::String>]
325
+ # Locations that could not be reached.
326
+ class ListGatewaysResponse
327
+ include ::Google::Protobuf::MessageExts
328
+ extend ::Google::Protobuf::MessageExts::ClassMethods
329
+ end
330
+
331
+ # Request message for ApiGatewayService.GetGateway
332
+ # @!attribute [rw] name
333
+ # @return [::String]
334
+ # Required. Resource name of the form:
335
+ # `projects/*/locations/*/gateways/*`
336
+ class GetGatewayRequest
337
+ include ::Google::Protobuf::MessageExts
338
+ extend ::Google::Protobuf::MessageExts::ClassMethods
339
+ end
340
+
341
+ # Request message for ApiGatewayService.CreateGateway
342
+ # @!attribute [rw] parent
343
+ # @return [::String]
344
+ # Required. Parent resource of the Gateway, of the form:
345
+ # `projects/*/locations/*`
346
+ # @!attribute [rw] gateway_id
347
+ # @return [::String]
348
+ # Required. Identifier to assign to the Gateway. Must be unique within scope of
349
+ # the parent resource.
350
+ # @!attribute [rw] gateway
351
+ # @return [::Google::Cloud::ApiGateway::V1::Gateway]
352
+ # Required. Gateway resource.
353
+ class CreateGatewayRequest
354
+ include ::Google::Protobuf::MessageExts
355
+ extend ::Google::Protobuf::MessageExts::ClassMethods
356
+ end
357
+
358
+ # Request message for ApiGatewayService.UpdateGateway
359
+ # @!attribute [rw] update_mask
360
+ # @return [::Google::Protobuf::FieldMask]
361
+ # Field mask is used to specify the fields to be overwritten in the
362
+ # Gateway resource by the update.
363
+ # The fields specified in the update_mask are relative to the resource, not
364
+ # the full request. A field will be overwritten if it is in the mask. If the
365
+ # user does not provide a mask then all fields will be overwritten.
366
+ # @!attribute [rw] gateway
367
+ # @return [::Google::Cloud::ApiGateway::V1::Gateway]
368
+ # Required. Gateway resource.
369
+ class UpdateGatewayRequest
370
+ include ::Google::Protobuf::MessageExts
371
+ extend ::Google::Protobuf::MessageExts::ClassMethods
372
+ end
373
+
374
+ # Request message for ApiGatewayService.DeleteGateway
375
+ # @!attribute [rw] name
376
+ # @return [::String]
377
+ # Required. Resource name of the form:
378
+ # `projects/*/locations/*/gateways/*`
379
+ class DeleteGatewayRequest
380
+ include ::Google::Protobuf::MessageExts
381
+ extend ::Google::Protobuf::MessageExts::ClassMethods
382
+ end
383
+
384
+ # Request message for ApiGatewayService.ListApis
385
+ # @!attribute [rw] parent
386
+ # @return [::String]
387
+ # Required. Parent resource of the API, of the form:
388
+ # `projects/*/locations/global`
389
+ # @!attribute [rw] page_size
390
+ # @return [::Integer]
391
+ # Page size.
392
+ # @!attribute [rw] page_token
393
+ # @return [::String]
394
+ # Page token.
395
+ # @!attribute [rw] filter
396
+ # @return [::String]
397
+ # Filter.
398
+ # @!attribute [rw] order_by
399
+ # @return [::String]
400
+ # Order by parameters.
401
+ class ListApisRequest
402
+ include ::Google::Protobuf::MessageExts
403
+ extend ::Google::Protobuf::MessageExts::ClassMethods
404
+ end
405
+
406
+ # Response message for ApiGatewayService.ListApis
407
+ # @!attribute [rw] apis
408
+ # @return [::Array<::Google::Cloud::ApiGateway::V1::Api>]
409
+ # APIs.
410
+ # @!attribute [rw] next_page_token
411
+ # @return [::String]
412
+ # Next page token.
413
+ # @!attribute [rw] unreachable_locations
414
+ # @return [::Array<::String>]
415
+ # Locations that could not be reached.
416
+ class ListApisResponse
417
+ include ::Google::Protobuf::MessageExts
418
+ extend ::Google::Protobuf::MessageExts::ClassMethods
419
+ end
420
+
421
+ # Request message for ApiGatewayService.GetApi
422
+ # @!attribute [rw] name
423
+ # @return [::String]
424
+ # Required. Resource name of the form:
425
+ # `projects/*/locations/global/apis/*`
426
+ class GetApiRequest
427
+ include ::Google::Protobuf::MessageExts
428
+ extend ::Google::Protobuf::MessageExts::ClassMethods
429
+ end
430
+
431
+ # Request message for ApiGatewayService.CreateApi
432
+ # @!attribute [rw] parent
433
+ # @return [::String]
434
+ # Required. Parent resource of the API, of the form:
435
+ # `projects/*/locations/global`
436
+ # @!attribute [rw] api_id
437
+ # @return [::String]
438
+ # Required. Identifier to assign to the API. Must be unique within scope of
439
+ # the parent resource.
440
+ # @!attribute [rw] api
441
+ # @return [::Google::Cloud::ApiGateway::V1::Api]
442
+ # Required. API resource.
443
+ class CreateApiRequest
444
+ include ::Google::Protobuf::MessageExts
445
+ extend ::Google::Protobuf::MessageExts::ClassMethods
446
+ end
447
+
448
+ # Request message for ApiGatewayService.UpdateApi
449
+ # @!attribute [rw] update_mask
450
+ # @return [::Google::Protobuf::FieldMask]
451
+ # Field mask is used to specify the fields to be overwritten in the
452
+ # Api resource by the update.
453
+ # The fields specified in the update_mask are relative to the resource, not
454
+ # the full request. A field will be overwritten if it is in the mask. If the
455
+ # user does not provide a mask then all fields will be overwritten.
456
+ # @!attribute [rw] api
457
+ # @return [::Google::Cloud::ApiGateway::V1::Api]
458
+ # Required. API resource.
459
+ class UpdateApiRequest
460
+ include ::Google::Protobuf::MessageExts
461
+ extend ::Google::Protobuf::MessageExts::ClassMethods
462
+ end
463
+
464
+ # Request message for ApiGatewayService.DeleteApi
465
+ # @!attribute [rw] name
466
+ # @return [::String]
467
+ # Required. Resource name of the form:
468
+ # `projects/*/locations/global/apis/*`
469
+ class DeleteApiRequest
470
+ include ::Google::Protobuf::MessageExts
471
+ extend ::Google::Protobuf::MessageExts::ClassMethods
472
+ end
473
+
474
+ # Request message for ApiGatewayService.ListApiConfigs
475
+ # @!attribute [rw] parent
476
+ # @return [::String]
477
+ # Required. Parent resource of the API Config, of the form:
478
+ # `projects/*/locations/global/apis/*`
479
+ # @!attribute [rw] page_size
480
+ # @return [::Integer]
481
+ # Page size.
482
+ # @!attribute [rw] page_token
483
+ # @return [::String]
484
+ # Page token.
485
+ # @!attribute [rw] filter
486
+ # @return [::String]
487
+ # Filter.
488
+ # @!attribute [rw] order_by
489
+ # @return [::String]
490
+ # Order by parameters.
491
+ class ListApiConfigsRequest
492
+ include ::Google::Protobuf::MessageExts
493
+ extend ::Google::Protobuf::MessageExts::ClassMethods
494
+ end
495
+
496
+ # Response message for ApiGatewayService.ListApiConfigs
497
+ # @!attribute [rw] api_configs
498
+ # @return [::Array<::Google::Cloud::ApiGateway::V1::ApiConfig>]
499
+ # API Configs.
500
+ # @!attribute [rw] next_page_token
501
+ # @return [::String]
502
+ # Next page token.
503
+ # @!attribute [rw] unreachable_locations
504
+ # @return [::Array<::String>]
505
+ # Locations that could not be reached.
506
+ class ListApiConfigsResponse
507
+ include ::Google::Protobuf::MessageExts
508
+ extend ::Google::Protobuf::MessageExts::ClassMethods
509
+ end
510
+
511
+ # Request message for ApiGatewayService.GetApiConfig
512
+ # @!attribute [rw] name
513
+ # @return [::String]
514
+ # Required. Resource name of the form:
515
+ # `projects/*/locations/global/apis/*/configs/*`
516
+ # @!attribute [rw] view
517
+ # @return [::Google::Cloud::ApiGateway::V1::GetApiConfigRequest::ConfigView]
518
+ # Specifies which fields of the API Config are returned in the response.
519
+ # Defaults to `BASIC` view.
520
+ class GetApiConfigRequest
521
+ include ::Google::Protobuf::MessageExts
522
+ extend ::Google::Protobuf::MessageExts::ClassMethods
523
+
524
+ # Enum to control which fields should be included in the response.
525
+ module ConfigView
526
+ CONFIG_VIEW_UNSPECIFIED = 0
527
+
528
+ # Do not include configuration source files.
529
+ BASIC = 1
530
+
531
+ # Include configuration source files.
532
+ FULL = 2
533
+ end
534
+ end
535
+
536
+ # Request message for ApiGatewayService.CreateApiConfig
537
+ # @!attribute [rw] parent
538
+ # @return [::String]
539
+ # Required. Parent resource of the API Config, of the form:
540
+ # `projects/*/locations/global/apis/*`
541
+ # @!attribute [rw] api_config_id
542
+ # @return [::String]
543
+ # Required. Identifier to assign to the API Config. Must be unique within scope of
544
+ # the parent resource.
545
+ # @!attribute [rw] api_config
546
+ # @return [::Google::Cloud::ApiGateway::V1::ApiConfig]
547
+ # Required. API resource.
548
+ class CreateApiConfigRequest
549
+ include ::Google::Protobuf::MessageExts
550
+ extend ::Google::Protobuf::MessageExts::ClassMethods
551
+ end
552
+
553
+ # Request message for ApiGatewayService.UpdateApiConfig
554
+ # @!attribute [rw] update_mask
555
+ # @return [::Google::Protobuf::FieldMask]
556
+ # Field mask is used to specify the fields to be overwritten in the
557
+ # ApiConfig resource by the update.
558
+ # The fields specified in the update_mask are relative to the resource, not
559
+ # the full request. A field will be overwritten if it is in the mask. If the
560
+ # user does not provide a mask then all fields will be overwritten.
561
+ # @!attribute [rw] api_config
562
+ # @return [::Google::Cloud::ApiGateway::V1::ApiConfig]
563
+ # Required. API Config resource.
564
+ class UpdateApiConfigRequest
565
+ include ::Google::Protobuf::MessageExts
566
+ extend ::Google::Protobuf::MessageExts::ClassMethods
567
+ end
568
+
569
+ # Request message for ApiGatewayService.DeleteApiConfig
570
+ # @!attribute [rw] name
571
+ # @return [::String]
572
+ # Required. Resource name of the form:
573
+ # `projects/*/locations/global/apis/*/configs/*`
574
+ class DeleteApiConfigRequest
575
+ include ::Google::Protobuf::MessageExts
576
+ extend ::Google::Protobuf::MessageExts::ClassMethods
577
+ end
578
+
579
+ # Represents the metadata of the long-running operation.
580
+ # @!attribute [r] create_time
581
+ # @return [::Google::Protobuf::Timestamp]
582
+ # Output only. The time the operation was created.
583
+ # @!attribute [r] end_time
584
+ # @return [::Google::Protobuf::Timestamp]
585
+ # Output only. The time the operation finished running.
586
+ # @!attribute [r] target
587
+ # @return [::String]
588
+ # Output only. Server-defined resource path for the target of the operation.
589
+ # @!attribute [r] verb
590
+ # @return [::String]
591
+ # Output only. Name of the verb executed by the operation.
592
+ # @!attribute [r] status_message
593
+ # @return [::String]
594
+ # Output only. Human-readable status of the operation, if any.
595
+ # @!attribute [r] requested_cancellation
596
+ # @return [::Boolean]
597
+ # Output only. Identifies whether the user has requested cancellation
598
+ # of the operation. Operations that have successfully been cancelled
599
+ # have [Operation.error][] value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
600
+ # corresponding to `Code.CANCELLED`.
601
+ # @!attribute [r] api_version
602
+ # @return [::String]
603
+ # Output only. API version used to start the operation.
604
+ # @!attribute [r] diagnostics
605
+ # @return [::Array<::Google::Cloud::ApiGateway::V1::OperationMetadata::Diagnostic>]
606
+ # Output only. Diagnostics generated during processing of configuration source files.
607
+ class OperationMetadata
608
+ include ::Google::Protobuf::MessageExts
609
+ extend ::Google::Protobuf::MessageExts::ClassMethods
610
+
611
+ # Diagnostic information from configuration processing.
612
+ # @!attribute [rw] location
613
+ # @return [::String]
614
+ # Location of the diagnostic.
615
+ # @!attribute [rw] message
616
+ # @return [::String]
617
+ # The diagnostic message.
618
+ class Diagnostic
619
+ include ::Google::Protobuf::MessageExts
620
+ extend ::Google::Protobuf::MessageExts::ClassMethods
621
+ end
622
+ end
623
+ end
624
+ end
625
+ end
626
+ end