google-cloud-beyond_corp-app_connections-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +144 -0
  6. data/lib/google/cloud/beyond_corp/app_connections/v1/app_connections_service/client.rb +1048 -0
  7. data/lib/google/cloud/beyond_corp/app_connections/v1/app_connections_service/credentials.rb +49 -0
  8. data/lib/google/cloud/beyond_corp/app_connections/v1/app_connections_service/operations.rb +772 -0
  9. data/lib/google/cloud/beyond_corp/app_connections/v1/app_connections_service/paths.rb +109 -0
  10. data/lib/google/cloud/beyond_corp/app_connections/v1/app_connections_service.rb +65 -0
  11. data/lib/google/cloud/beyond_corp/app_connections/v1/version.rb +30 -0
  12. data/lib/google/cloud/beyond_corp/app_connections/v1.rb +42 -0
  13. data/lib/google/cloud/beyondcorp/appconnections/v1/app_connections_service_pb.rb +141 -0
  14. data/lib/google/cloud/beyondcorp/appconnections/v1/app_connections_service_services_pb.rb +72 -0
  15. data/lib/google-cloud-beyond_corp-app_connections-v1.rb +21 -0
  16. data/proto_docs/README.md +4 -0
  17. data/proto_docs/google/api/field_behavior.rb +71 -0
  18. data/proto_docs/google/api/resource.rb +222 -0
  19. data/proto_docs/google/cloud/beyondcorp/appconnections/v1/app_connections_service.rb +411 -0
  20. data/proto_docs/google/longrunning/operations.rb +164 -0
  21. data/proto_docs/google/protobuf/any.rb +141 -0
  22. data/proto_docs/google/protobuf/duration.rb +98 -0
  23. data/proto_docs/google/protobuf/empty.rb +34 -0
  24. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  25. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  26. data/proto_docs/google/rpc/status.rb +46 -0
  27. data/proto_docs/google/type/expr.rb +75 -0
  28. metadata +260 -0
@@ -0,0 +1,222 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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
+ # pattern: "projects/{project}/topics/{topic}"
37
+ # };
38
+ # }
39
+ #
40
+ # The ResourceDescriptor Yaml config will look like:
41
+ #
42
+ # resources:
43
+ # - type: "pubsub.googleapis.com/Topic"
44
+ # pattern: "projects/{project}/topics/{topic}"
45
+ #
46
+ # Sometimes, resources have multiple patterns, typically because they can
47
+ # live under multiple parents.
48
+ #
49
+ # Example:
50
+ #
51
+ # message LogEntry {
52
+ # option (google.api.resource) = {
53
+ # type: "logging.googleapis.com/LogEntry"
54
+ # pattern: "projects/{project}/logs/{log}"
55
+ # pattern: "folders/{folder}/logs/{log}"
56
+ # pattern: "organizations/{organization}/logs/{log}"
57
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
58
+ # };
59
+ # }
60
+ #
61
+ # The ResourceDescriptor Yaml config will look like:
62
+ #
63
+ # resources:
64
+ # - type: 'logging.googleapis.com/LogEntry'
65
+ # pattern: "projects/{project}/logs/{log}"
66
+ # pattern: "folders/{folder}/logs/{log}"
67
+ # pattern: "organizations/{organization}/logs/{log}"
68
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
69
+ # @!attribute [rw] type
70
+ # @return [::String]
71
+ # The resource type. It must be in the format of
72
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
73
+ # singular and must not include version numbers.
74
+ #
75
+ # Example: `storage.googleapis.com/Bucket`
76
+ #
77
+ # The value of the resource_type_kind must follow the regular expression
78
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
79
+ # should use PascalCase (UpperCamelCase). The maximum number of
80
+ # characters allowed for the `resource_type_kind` is 100.
81
+ # @!attribute [rw] pattern
82
+ # @return [::Array<::String>]
83
+ # Optional. The relative resource name pattern associated with this resource
84
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
85
+ #
86
+ # The path pattern must follow the syntax, which aligns with HTTP binding
87
+ # syntax:
88
+ #
89
+ # Template = Segment { "/" Segment } ;
90
+ # Segment = LITERAL | Variable ;
91
+ # Variable = "{" LITERAL "}" ;
92
+ #
93
+ # Examples:
94
+ #
95
+ # - "projects/\\{project}/topics/\\{topic}"
96
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
97
+ #
98
+ # The components in braces correspond to the IDs for each resource in the
99
+ # hierarchy. It is expected that, if multiple patterns are provided,
100
+ # the same component name (e.g. "project") refers to IDs of the same
101
+ # type of resource.
102
+ # @!attribute [rw] name_field
103
+ # @return [::String]
104
+ # Optional. The field on the resource that designates the resource name
105
+ # field. If omitted, this is assumed to be "name".
106
+ # @!attribute [rw] history
107
+ # @return [::Google::Api::ResourceDescriptor::History]
108
+ # Optional. The historical or future-looking state of the resource pattern.
109
+ #
110
+ # Example:
111
+ #
112
+ # // The InspectTemplate message originally only supported resource
113
+ # // names with organization, and project was added later.
114
+ # message InspectTemplate {
115
+ # option (google.api.resource) = {
116
+ # type: "dlp.googleapis.com/InspectTemplate"
117
+ # pattern:
118
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
119
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
120
+ # history: ORIGINALLY_SINGLE_PATTERN
121
+ # };
122
+ # }
123
+ # @!attribute [rw] plural
124
+ # @return [::String]
125
+ # The plural name used in the resource name and permission names, such as
126
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
127
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
128
+ # concept of the `plural` field in k8s CRD spec
129
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
130
+ #
131
+ # Note: The plural form is required even for singleton resources. See
132
+ # https://aip.dev/156
133
+ # @!attribute [rw] singular
134
+ # @return [::String]
135
+ # The same concept of the `singular` field in k8s CRD spec
136
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
137
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
138
+ # @!attribute [rw] style
139
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
140
+ # Style flag(s) for this resource.
141
+ # These indicate that a resource is expected to conform to a given
142
+ # style. See the specific style flags for additional information.
143
+ class ResourceDescriptor
144
+ include ::Google::Protobuf::MessageExts
145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
146
+
147
+ # A description of the historical or future-looking state of the
148
+ # resource pattern.
149
+ module History
150
+ # The "unset" value.
151
+ HISTORY_UNSPECIFIED = 0
152
+
153
+ # The resource originally had one pattern and launched as such, and
154
+ # additional patterns were added later.
155
+ ORIGINALLY_SINGLE_PATTERN = 1
156
+
157
+ # The resource has one pattern, but the API owner expects to add more
158
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
159
+ # that from being necessary once there are multiple patterns.)
160
+ FUTURE_MULTI_PATTERN = 2
161
+ end
162
+
163
+ # A flag representing a specific style that a resource claims to conform to.
164
+ module Style
165
+ # The unspecified value. Do not use.
166
+ STYLE_UNSPECIFIED = 0
167
+
168
+ # This resource is intended to be "declarative-friendly".
169
+ #
170
+ # Declarative-friendly resources must be more strictly consistent, and
171
+ # setting this to true communicates to tools that this resource should
172
+ # adhere to declarative-friendly expectations.
173
+ #
174
+ # Note: This is used by the API linter (linter.aip.dev) to enable
175
+ # additional checks.
176
+ DECLARATIVE_FRIENDLY = 1
177
+ end
178
+ end
179
+
180
+ # Defines a proto annotation that describes a string field that refers to
181
+ # an API resource.
182
+ # @!attribute [rw] type
183
+ # @return [::String]
184
+ # The resource type that the annotated field references.
185
+ #
186
+ # Example:
187
+ #
188
+ # message Subscription {
189
+ # string topic = 2 [(google.api.resource_reference) = {
190
+ # type: "pubsub.googleapis.com/Topic"
191
+ # }];
192
+ # }
193
+ #
194
+ # Occasionally, a field may reference an arbitrary resource. In this case,
195
+ # APIs use the special value * in their resource reference.
196
+ #
197
+ # Example:
198
+ #
199
+ # message GetIamPolicyRequest {
200
+ # string resource = 2 [(google.api.resource_reference) = {
201
+ # type: "*"
202
+ # }];
203
+ # }
204
+ # @!attribute [rw] child_type
205
+ # @return [::String]
206
+ # The resource type of a child collection that the annotated field
207
+ # references. This is useful for annotating the `parent` field that
208
+ # doesn't have a fixed resource type.
209
+ #
210
+ # Example:
211
+ #
212
+ # message ListLogEntriesRequest {
213
+ # string parent = 1 [(google.api.resource_reference) = {
214
+ # child_type: "logging.googleapis.com/LogEntry"
215
+ # };
216
+ # }
217
+ class ResourceReference
218
+ include ::Google::Protobuf::MessageExts
219
+ extend ::Google::Protobuf::MessageExts::ClassMethods
220
+ end
221
+ end
222
+ end
@@ -0,0 +1,411 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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 BeyondCorp
23
+ module AppConnections
24
+ module V1
25
+ # Request message for BeyondCorp.ListAppConnections.
26
+ # @!attribute [rw] parent
27
+ # @return [::String]
28
+ # Required. The resource name of the AppConnection location using the form:
29
+ # `projects/{project_id}/locations/{location_id}`
30
+ # @!attribute [rw] page_size
31
+ # @return [::Integer]
32
+ # Optional. The maximum number of items to return.
33
+ # If not specified, a default value of 50 will be used by the service.
34
+ # Regardless of the page_size value, the response may include a partial list
35
+ # and a caller should only rely on response's
36
+ # [next_page_token][BeyondCorp.ListAppConnectionsResponse.next_page_token] to
37
+ # determine if there are more instances left to be queried.
38
+ # @!attribute [rw] page_token
39
+ # @return [::String]
40
+ # Optional. The next_page_token value returned from a previous
41
+ # ListAppConnectionsRequest, if any.
42
+ # @!attribute [rw] filter
43
+ # @return [::String]
44
+ # Optional. A filter specifying constraints of a list operation.
45
+ # @!attribute [rw] order_by
46
+ # @return [::String]
47
+ # Optional. Specifies the ordering of results. See
48
+ # [Sorting
49
+ # order](https://cloud.google.com/apis/design/design_patterns#sorting_order)
50
+ # for more information.
51
+ class ListAppConnectionsRequest
52
+ include ::Google::Protobuf::MessageExts
53
+ extend ::Google::Protobuf::MessageExts::ClassMethods
54
+ end
55
+
56
+ # Response message for BeyondCorp.ListAppConnections.
57
+ # @!attribute [rw] app_connections
58
+ # @return [::Array<::Google::Cloud::BeyondCorp::AppConnections::V1::AppConnection>]
59
+ # A list of BeyondCorp AppConnections in the project.
60
+ # @!attribute [rw] next_page_token
61
+ # @return [::String]
62
+ # A token to retrieve the next page of results, or empty if there are no more
63
+ # results in the list.
64
+ # @!attribute [rw] unreachable
65
+ # @return [::Array<::String>]
66
+ # A list of locations that could not be reached.
67
+ class ListAppConnectionsResponse
68
+ include ::Google::Protobuf::MessageExts
69
+ extend ::Google::Protobuf::MessageExts::ClassMethods
70
+ end
71
+
72
+ # Request message for BeyondCorp.GetAppConnection.
73
+ # @!attribute [rw] name
74
+ # @return [::String]
75
+ # Required. BeyondCorp AppConnection name using the form:
76
+ # `projects/{project_id}/locations/{location_id}/appConnections/{app_connection_id}`
77
+ class GetAppConnectionRequest
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+ end
81
+
82
+ # Request message for BeyondCorp.CreateAppConnection.
83
+ # @!attribute [rw] parent
84
+ # @return [::String]
85
+ # Required. The resource project name of the AppConnection location using the
86
+ # form: `projects/{project_id}/locations/{location_id}`
87
+ # @!attribute [rw] app_connection_id
88
+ # @return [::String]
89
+ # Optional. User-settable AppConnection resource ID.
90
+ # * Must start with a letter.
91
+ # * Must contain between 4-63 characters from `/[a-z][0-9]-/`.
92
+ # * Must end with a number or a letter.
93
+ # @!attribute [rw] app_connection
94
+ # @return [::Google::Cloud::BeyondCorp::AppConnections::V1::AppConnection]
95
+ # Required. A BeyondCorp AppConnection resource.
96
+ # @!attribute [rw] request_id
97
+ # @return [::String]
98
+ # Optional. An optional request ID to identify requests. Specify a unique
99
+ # request ID so that if you must retry your request, the server will know to
100
+ # ignore the request if it has already been completed. The server will
101
+ # guarantee that for at least 60 minutes since the first request.
102
+ #
103
+ # For example, consider a situation where you make an initial request and t
104
+ # he request times out. If you make the request again with the same request
105
+ # ID, the server can check if original operation with the same request ID
106
+ # was received, and if so, will ignore the second request. This prevents
107
+ # clients from accidentally creating duplicate commitments.
108
+ #
109
+ # The request ID must be a valid UUID with the exception that zero UUID is
110
+ # not supported (00000000-0000-0000-0000-000000000000).
111
+ # @!attribute [rw] validate_only
112
+ # @return [::Boolean]
113
+ # Optional. If set, validates request by executing a dry-run which would not
114
+ # alter the resource in any way.
115
+ class CreateAppConnectionRequest
116
+ include ::Google::Protobuf::MessageExts
117
+ extend ::Google::Protobuf::MessageExts::ClassMethods
118
+ end
119
+
120
+ # Request message for BeyondCorp.UpdateAppConnection.
121
+ # @!attribute [rw] update_mask
122
+ # @return [::Google::Protobuf::FieldMask]
123
+ # Required. Mask of fields to update. At least one path must be supplied in
124
+ # this field. The elements of the repeated paths field may only include these
125
+ # fields from [BeyondCorp.AppConnection]:
126
+ # * `labels`
127
+ # * `display_name`
128
+ # * `application_endpoint`
129
+ # * `connectors`
130
+ # @!attribute [rw] app_connection
131
+ # @return [::Google::Cloud::BeyondCorp::AppConnections::V1::AppConnection]
132
+ # Required. AppConnection message with updated fields. Only supported fields
133
+ # specified in update_mask are updated.
134
+ # @!attribute [rw] request_id
135
+ # @return [::String]
136
+ # Optional. An optional request ID to identify requests. Specify a unique
137
+ # request ID so that if you must retry your request, the server will know to
138
+ # ignore the request if it has already been completed. The server will
139
+ # guarantee that for at least 60 minutes since the first request.
140
+ #
141
+ # For example, consider a situation where you make an initial request and t
142
+ # he request times out. If you make the request again with the same request
143
+ # ID, the server can check if original operation with the same request ID
144
+ # was received, and if so, will ignore the second request. This prevents
145
+ # clients from accidentally creating duplicate commitments.
146
+ #
147
+ # The request ID must be a valid UUID with the exception that zero UUID is
148
+ # not supported (00000000-0000-0000-0000-000000000000).
149
+ # @!attribute [rw] validate_only
150
+ # @return [::Boolean]
151
+ # Optional. If set, validates request by executing a dry-run which would not
152
+ # alter the resource in any way.
153
+ # @!attribute [rw] allow_missing
154
+ # @return [::Boolean]
155
+ # Optional. If set as true, will create the resource if it is not found.
156
+ class UpdateAppConnectionRequest
157
+ include ::Google::Protobuf::MessageExts
158
+ extend ::Google::Protobuf::MessageExts::ClassMethods
159
+ end
160
+
161
+ # Request message for BeyondCorp.DeleteAppConnection.
162
+ # @!attribute [rw] name
163
+ # @return [::String]
164
+ # Required. BeyondCorp Connector name using the form:
165
+ # `projects/{project_id}/locations/{location_id}/appConnections/{app_connection_id}`
166
+ # @!attribute [rw] request_id
167
+ # @return [::String]
168
+ # Optional. An optional request ID to identify requests. Specify a unique
169
+ # request ID so that if you must retry your request, the server will know to
170
+ # ignore the request if it has already been completed. The server will
171
+ # guarantee that for at least 60 minutes after the first request.
172
+ #
173
+ # For example, consider a situation where you make an initial request and t
174
+ # he request times out. If you make the request again with the same request
175
+ # ID, the server can check if original operation with the same request ID
176
+ # was received, and if so, will ignore the second request. This prevents
177
+ # clients from accidentally creating duplicate commitments.
178
+ #
179
+ # The request ID must be a valid UUID with the exception that zero UUID is
180
+ # not supported (00000000-0000-0000-0000-000000000000).
181
+ # @!attribute [rw] validate_only
182
+ # @return [::Boolean]
183
+ # Optional. If set, validates request by executing a dry-run which would not
184
+ # alter the resource in any way.
185
+ class DeleteAppConnectionRequest
186
+ include ::Google::Protobuf::MessageExts
187
+ extend ::Google::Protobuf::MessageExts::ClassMethods
188
+ end
189
+
190
+ # Request message for BeyondCorp.ResolveAppConnections.
191
+ # @!attribute [rw] parent
192
+ # @return [::String]
193
+ # Required. The resource name of the AppConnection location using the form:
194
+ # `projects/{project_id}/locations/{location_id}`
195
+ # @!attribute [rw] app_connector_id
196
+ # @return [::String]
197
+ # Required. BeyondCorp Connector name of the connector associated with those
198
+ # AppConnections using the form:
199
+ # `projects/{project_id}/locations/{location_id}/appConnectors/{app_connector_id}`
200
+ # @!attribute [rw] page_size
201
+ # @return [::Integer]
202
+ # Optional. The maximum number of items to return.
203
+ # If not specified, a default value of 50 will be used by the service.
204
+ # Regardless of the page_size value, the response may include a partial list
205
+ # and a caller should only rely on response's
206
+ # [next_page_token][BeyondCorp.ResolveAppConnectionsResponse.next_page_token]
207
+ # to determine if there are more instances left to be queried.
208
+ # @!attribute [rw] page_token
209
+ # @return [::String]
210
+ # Optional. The next_page_token value returned from a previous
211
+ # ResolveAppConnectionsResponse, if any.
212
+ class ResolveAppConnectionsRequest
213
+ include ::Google::Protobuf::MessageExts
214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+
217
+ # Response message for BeyondCorp.ResolveAppConnections.
218
+ # @!attribute [rw] app_connection_details
219
+ # @return [::Array<::Google::Cloud::BeyondCorp::AppConnections::V1::ResolveAppConnectionsResponse::AppConnectionDetails>]
220
+ # A list of BeyondCorp AppConnections with details in the project.
221
+ # @!attribute [rw] next_page_token
222
+ # @return [::String]
223
+ # A token to retrieve the next page of results, or empty if there are no more
224
+ # results in the list.
225
+ # @!attribute [rw] unreachable
226
+ # @return [::Array<::String>]
227
+ # A list of locations that could not be reached.
228
+ class ResolveAppConnectionsResponse
229
+ include ::Google::Protobuf::MessageExts
230
+ extend ::Google::Protobuf::MessageExts::ClassMethods
231
+
232
+ # Details of the AppConnection.
233
+ # @!attribute [rw] app_connection
234
+ # @return [::Google::Cloud::BeyondCorp::AppConnections::V1::AppConnection]
235
+ # A BeyondCorp AppConnection in the project.
236
+ # @!attribute [rw] recent_mig_vms
237
+ # @return [::Array<::String>]
238
+ # If type=GCP_REGIONAL_MIG, contains most recent VM instances, like
239
+ # `https://www.googleapis.com/compute/v1/projects/{project_id}/zones/{zone_id}/instances/{instance_id}`.
240
+ class AppConnectionDetails
241
+ include ::Google::Protobuf::MessageExts
242
+ extend ::Google::Protobuf::MessageExts::ClassMethods
243
+ end
244
+ end
245
+
246
+ # A BeyondCorp AppConnection resource represents a BeyondCorp protected
247
+ # AppConnection to a remote application. It creates all the necessary GCP
248
+ # components needed for creating a BeyondCorp protected AppConnection. Multiple
249
+ # connectors can be authorised for a single AppConnection.
250
+ # @!attribute [rw] name
251
+ # @return [::String]
252
+ # Required. Unique resource name of the AppConnection.
253
+ # The name is ignored when creating a AppConnection.
254
+ # @!attribute [r] create_time
255
+ # @return [::Google::Protobuf::Timestamp]
256
+ # Output only. Timestamp when the resource was created.
257
+ # @!attribute [r] update_time
258
+ # @return [::Google::Protobuf::Timestamp]
259
+ # Output only. Timestamp when the resource was last modified.
260
+ # @!attribute [rw] labels
261
+ # @return [::Google::Protobuf::Map{::String => ::String}]
262
+ # Optional. Resource labels to represent user provided metadata.
263
+ # @!attribute [rw] display_name
264
+ # @return [::String]
265
+ # Optional. An arbitrary user-provided name for the AppConnection. Cannot
266
+ # exceed 64 characters.
267
+ # @!attribute [r] uid
268
+ # @return [::String]
269
+ # Output only. A unique identifier for the instance generated by the
270
+ # system.
271
+ # @!attribute [rw] type
272
+ # @return [::Google::Cloud::BeyondCorp::AppConnections::V1::AppConnection::Type]
273
+ # Required. The type of network connectivity used by the AppConnection.
274
+ # @!attribute [rw] application_endpoint
275
+ # @return [::Google::Cloud::BeyondCorp::AppConnections::V1::AppConnection::ApplicationEndpoint]
276
+ # Required. Address of the remote application endpoint for the BeyondCorp
277
+ # AppConnection.
278
+ # @!attribute [rw] connectors
279
+ # @return [::Array<::String>]
280
+ # Optional. List of [google.cloud.beyondcorp.v1main.Connector.name] that are
281
+ # authorised to be associated with this AppConnection.
282
+ # @!attribute [r] state
283
+ # @return [::Google::Cloud::BeyondCorp::AppConnections::V1::AppConnection::State]
284
+ # Output only. The current state of the AppConnection.
285
+ # @!attribute [rw] gateway
286
+ # @return [::Google::Cloud::BeyondCorp::AppConnections::V1::AppConnection::Gateway]
287
+ # Optional. Gateway used by the AppConnection.
288
+ class AppConnection
289
+ include ::Google::Protobuf::MessageExts
290
+ extend ::Google::Protobuf::MessageExts::ClassMethods
291
+
292
+ # ApplicationEndpoint represents a remote application endpoint.
293
+ # @!attribute [rw] host
294
+ # @return [::String]
295
+ # Required. Hostname or IP address of the remote application endpoint.
296
+ # @!attribute [rw] port
297
+ # @return [::Integer]
298
+ # Required. Port of the remote application endpoint.
299
+ class ApplicationEndpoint
300
+ include ::Google::Protobuf::MessageExts
301
+ extend ::Google::Protobuf::MessageExts::ClassMethods
302
+ end
303
+
304
+ # Gateway represents a user facing component that serves as an entrance to
305
+ # enable connectivity.
306
+ # @!attribute [rw] type
307
+ # @return [::Google::Cloud::BeyondCorp::AppConnections::V1::AppConnection::Gateway::Type]
308
+ # Required. The type of hosting used by the gateway.
309
+ # @!attribute [r] uri
310
+ # @return [::String]
311
+ # Output only. Server-defined URI for this resource.
312
+ # @!attribute [r] ingress_port
313
+ # @return [::Integer]
314
+ # Output only. Ingress port reserved on the gateways for this
315
+ # AppConnection, if not specified or zero, the default port is 19443.
316
+ # @!attribute [rw] app_gateway
317
+ # @return [::String]
318
+ # Required. AppGateway name in following format:
319
+ # `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}`
320
+ class Gateway
321
+ include ::Google::Protobuf::MessageExts
322
+ extend ::Google::Protobuf::MessageExts::ClassMethods
323
+
324
+ # Enum listing possible gateway hosting options.
325
+ module Type
326
+ # Default value. This value is unused.
327
+ TYPE_UNSPECIFIED = 0
328
+
329
+ # Gateway hosted in a GCP regional managed instance group.
330
+ GCP_REGIONAL_MIG = 1
331
+ end
332
+ end
333
+
334
+ # @!attribute [rw] key
335
+ # @return [::String]
336
+ # @!attribute [rw] value
337
+ # @return [::String]
338
+ class LabelsEntry
339
+ include ::Google::Protobuf::MessageExts
340
+ extend ::Google::Protobuf::MessageExts::ClassMethods
341
+ end
342
+
343
+ # Enum containing list of all possible network connectivity options
344
+ # supported by BeyondCorp AppConnection.
345
+ module Type
346
+ # Default value. This value is unused.
347
+ TYPE_UNSPECIFIED = 0
348
+
349
+ # TCP Proxy based BeyondCorp AppConnection. API will default to this if
350
+ # unset.
351
+ TCP_PROXY = 1
352
+ end
353
+
354
+ # Represents the different states of a AppConnection.
355
+ module State
356
+ # Default value. This value is unused.
357
+ STATE_UNSPECIFIED = 0
358
+
359
+ # AppConnection is being created.
360
+ CREATING = 1
361
+
362
+ # AppConnection has been created.
363
+ CREATED = 2
364
+
365
+ # AppConnection's configuration is being updated.
366
+ UPDATING = 3
367
+
368
+ # AppConnection is being deleted.
369
+ DELETING = 4
370
+
371
+ # AppConnection is down and may be restored in the future.
372
+ # This happens when CCFE sends ProjectState = OFF.
373
+ DOWN = 5
374
+ end
375
+ end
376
+
377
+ # Represents the metadata of the long-running operation.
378
+ # @!attribute [r] create_time
379
+ # @return [::Google::Protobuf::Timestamp]
380
+ # Output only. The time the operation was created.
381
+ # @!attribute [r] end_time
382
+ # @return [::Google::Protobuf::Timestamp]
383
+ # Output only. The time the operation finished running.
384
+ # @!attribute [r] target
385
+ # @return [::String]
386
+ # Output only. Server-defined resource path for the target of the operation.
387
+ # @!attribute [r] verb
388
+ # @return [::String]
389
+ # Output only. Name of the verb executed by the operation.
390
+ # @!attribute [r] status_message
391
+ # @return [::String]
392
+ # Output only. Human-readable status of the operation, if any.
393
+ # @!attribute [r] requested_cancellation
394
+ # @return [::Boolean]
395
+ # Output only. Identifies whether the user has requested cancellation
396
+ # of the operation. Operations that have successfully been cancelled
397
+ # have [Operation.error][] value with a
398
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to
399
+ # `Code.CANCELLED`.
400
+ # @!attribute [r] api_version
401
+ # @return [::String]
402
+ # Output only. API version used to start the operation.
403
+ class AppConnectionOperationMetadata
404
+ include ::Google::Protobuf::MessageExts
405
+ extend ::Google::Protobuf::MessageExts::ClassMethods
406
+ end
407
+ end
408
+ end
409
+ end
410
+ end
411
+ end