google-cloud-gke_hub-v1beta1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,654 @@
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 GkeHub
23
+ module V1beta1
24
+ # Membership contains information about a member cluster.
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. The full, unique name of this Membership resource in the format
28
+ # `projects/*/locations/*/memberships/{membership_id}`, set during creation.
29
+ #
30
+ # `membership_id` must be a valid RFC 1123 compliant DNS label:
31
+ #
32
+ # 1. At most 63 characters in length
33
+ # 2. It must consist of lower case alphanumeric characters or `-`
34
+ # 3. It must start and end with an alphanumeric character
35
+ #
36
+ # Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`,
37
+ # with a maximum length of 63 characters.
38
+ # @!attribute [rw] labels
39
+ # @return [::Google::Protobuf::Map{::String => ::String}]
40
+ # Optional. GCP labels for this membership.
41
+ # @!attribute [rw] description
42
+ # @return [::String]
43
+ # Required. Description of this membership, limited to 63 characters.
44
+ # Must match the regex: `[a-zA-Z0-9][a-zA-Z0-9_\-\.\ ]*`
45
+ # @!attribute [rw] endpoint
46
+ # @return [::Google::Cloud::GkeHub::V1beta1::MembershipEndpoint]
47
+ # Optional. Endpoint information to reach this member.
48
+ # @!attribute [r] state
49
+ # @return [::Google::Cloud::GkeHub::V1beta1::MembershipState]
50
+ # Output only. State of the Membership resource.
51
+ # @!attribute [rw] authority
52
+ # @return [::Google::Cloud::GkeHub::V1beta1::Authority]
53
+ # Optional. How to identify workloads from this Membership.
54
+ # See the documentation on Workload Identity for more details:
55
+ # https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
56
+ # @!attribute [r] create_time
57
+ # @return [::Google::Protobuf::Timestamp]
58
+ # Output only. When the Membership was created.
59
+ # @!attribute [r] update_time
60
+ # @return [::Google::Protobuf::Timestamp]
61
+ # Output only. When the Membership was last updated.
62
+ # @!attribute [r] delete_time
63
+ # @return [::Google::Protobuf::Timestamp]
64
+ # Output only. When the Membership was deleted.
65
+ # @!attribute [rw] external_id
66
+ # @return [::String]
67
+ # Optional. An externally-generated and managed ID for this Membership. This ID may
68
+ # be modified after creation, but this is not recommended. For GKE clusters,
69
+ # external_id is managed by the Hub API and updates will be ignored.
70
+ #
71
+ # The ID must match the regex: `[a-zA-Z0-9][a-zA-Z0-9_\-\.]*`
72
+ #
73
+ # If this Membership represents a Kubernetes cluster, this value should be
74
+ # set to the UID of the `kube-system` namespace object.
75
+ # @!attribute [r] last_connection_time
76
+ # @return [::Google::Protobuf::Timestamp]
77
+ # Output only. For clusters using Connect, the timestamp of the most recent connection
78
+ # established with Google Cloud. This time is updated every several minutes,
79
+ # not continuously. For clusters that do not use GKE Connect, or that have
80
+ # never connected successfully, this field will be unset.
81
+ # @!attribute [r] unique_id
82
+ # @return [::String]
83
+ # Output only. Google-generated UUID for this resource. This is unique across all
84
+ # Membership resources. If a Membership resource is deleted and another
85
+ # resource with the same name is created, it gets a different unique_id.
86
+ # @!attribute [rw] infrastructure_type
87
+ # @return [::Google::Cloud::GkeHub::V1beta1::Membership::InfrastructureType]
88
+ # Optional. The infrastructure type this Membership is running on.
89
+ class Membership
90
+ include ::Google::Protobuf::MessageExts
91
+ extend ::Google::Protobuf::MessageExts::ClassMethods
92
+
93
+ # @!attribute [rw] key
94
+ # @return [::String]
95
+ # @!attribute [rw] value
96
+ # @return [::String]
97
+ class LabelsEntry
98
+ include ::Google::Protobuf::MessageExts
99
+ extend ::Google::Protobuf::MessageExts::ClassMethods
100
+ end
101
+
102
+ # Specifies the infrastructure type of a Membership. Infrastructure type is
103
+ # used by Hub to control infrastructure-specific behavior, including pricing.
104
+ #
105
+ # Each GKE distribution (on-GCP, on-Prem, on-X,...) will set this field
106
+ # automatically, but Attached Clusters customers should specify a type
107
+ # during registration.
108
+ module InfrastructureType
109
+ # No type was specified. Some Hub functionality may require a type be
110
+ # specified, and will not support Memberships with this value.
111
+ INFRASTRUCTURE_TYPE_UNSPECIFIED = 0
112
+
113
+ # Private infrastructure that is owned or operated by customer. This
114
+ # includes GKE distributions such as GKE-OnPrem and GKE-OnBareMetal.
115
+ ON_PREM = 1
116
+
117
+ # Public cloud infrastructure.
118
+ MULTI_CLOUD = 2
119
+ end
120
+ end
121
+
122
+ # MembershipEndpoint contains information needed to contact a Kubernetes API,
123
+ # endpoint and any additional Kubernetes metadata.
124
+ # @!attribute [rw] gke_cluster
125
+ # @return [::Google::Cloud::GkeHub::V1beta1::GkeCluster]
126
+ # Optional. GKE-specific information. Only present if this Membership is a GKE cluster.
127
+ # @!attribute [r] kubernetes_metadata
128
+ # @return [::Google::Cloud::GkeHub::V1beta1::KubernetesMetadata]
129
+ # Output only. Useful Kubernetes-specific metadata.
130
+ # @!attribute [rw] kubernetes_resource
131
+ # @return [::Google::Cloud::GkeHub::V1beta1::KubernetesResource]
132
+ # Optional. The in-cluster Kubernetes Resources that should be applied for a correctly
133
+ # registered cluster, in the steady state. These resources:
134
+ #
135
+ # * Ensure that the cluster is exclusively registered to one and only one
136
+ # Hub Membership.
137
+ # * Propagate Workload Pool Information available in the Membership
138
+ # Authority field.
139
+ # * Ensure proper initial configuration of default Hub Features.
140
+ class MembershipEndpoint
141
+ include ::Google::Protobuf::MessageExts
142
+ extend ::Google::Protobuf::MessageExts::ClassMethods
143
+ end
144
+
145
+ # KubernetesResource contains the YAML manifests and configuration for
146
+ # Membership Kubernetes resources in the cluster. After CreateMembership or
147
+ # UpdateMembership, these resources should be re-applied in the cluster.
148
+ # @!attribute [rw] membership_cr_manifest
149
+ # @return [::String]
150
+ # Input only. The YAML representation of the Membership CR. This field is ignored for GKE
151
+ # clusters where Hub can read the CR directly.
152
+ #
153
+ # Callers should provide the CR that is currently present in the cluster
154
+ # during CreateMembership or UpdateMembership, or leave this field empty if
155
+ # none exists. The CR manifest is used to validate the cluster has not been
156
+ # registered with another Membership.
157
+ # @!attribute [r] membership_resources
158
+ # @return [::Array<::Google::Cloud::GkeHub::V1beta1::ResourceManifest>]
159
+ # Output only. Additional Kubernetes resources that need to be applied to the cluster
160
+ # after Membership creation, and after every update.
161
+ #
162
+ # This field is only populated in the Membership returned from a successful
163
+ # long-running operation from CreateMembership or UpdateMembership. It is not
164
+ # populated during normal GetMembership or ListMemberships requests. To get
165
+ # the resource manifest after the initial registration, the caller should
166
+ # make a UpdateMembership call with an empty field mask.
167
+ # @!attribute [r] connect_resources
168
+ # @return [::Array<::Google::Cloud::GkeHub::V1beta1::ResourceManifest>]
169
+ # Output only. The Kubernetes resources for installing the GKE Connect agent
170
+ #
171
+ # This field is only populated in the Membership returned from a successful
172
+ # long-running operation from CreateMembership or UpdateMembership. It is not
173
+ # populated during normal GetMembership or ListMemberships requests. To get
174
+ # the resource manifest after the initial registration, the caller should
175
+ # make a UpdateMembership call with an empty field mask.
176
+ # @!attribute [rw] resource_options
177
+ # @return [::Google::Cloud::GkeHub::V1beta1::ResourceOptions]
178
+ # Optional. Options for Kubernetes resource generation.
179
+ class KubernetesResource
180
+ include ::Google::Protobuf::MessageExts
181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
182
+ end
183
+
184
+ # ResourceOptions represent options for Kubernetes resource generation.
185
+ # @!attribute [rw] connect_version
186
+ # @return [::String]
187
+ # Optional. The Connect agent version to use for connect_resources. Defaults to the
188
+ # latest GKE Connect version. The version must be a currently supported
189
+ # version, obsolete versions will be rejected.
190
+ # @!attribute [rw] v1beta1_crd
191
+ # @return [::Boolean]
192
+ # Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for
193
+ # CustomResourceDefinition resources.
194
+ # This option should be set for clusters with Kubernetes apiserver versions
195
+ # <1.16.
196
+ class ResourceOptions
197
+ include ::Google::Protobuf::MessageExts
198
+ extend ::Google::Protobuf::MessageExts::ClassMethods
199
+ end
200
+
201
+ # ResourceManifest represents a single Kubernetes resource to be applied to
202
+ # the cluster.
203
+ # @!attribute [rw] manifest
204
+ # @return [::String]
205
+ # YAML manifest of the resource.
206
+ # @!attribute [rw] cluster_scoped
207
+ # @return [::Boolean]
208
+ # Whether the resource provided in the manifest is `cluster_scoped`.
209
+ # If unset, the manifest is assumed to be namespace scoped.
210
+ #
211
+ # This field is used for REST mapping when applying the resource in a
212
+ # cluster.
213
+ class ResourceManifest
214
+ include ::Google::Protobuf::MessageExts
215
+ extend ::Google::Protobuf::MessageExts::ClassMethods
216
+ end
217
+
218
+ # GkeCluster contains information specific to GKE clusters.
219
+ # @!attribute [rw] resource_link
220
+ # @return [::String]
221
+ # Immutable. Self-link of the GCP resource for the GKE cluster. For example:
222
+ #
223
+ # > container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster
224
+ #
225
+ # Zonal clusters are also supported.
226
+ class GkeCluster
227
+ include ::Google::Protobuf::MessageExts
228
+ extend ::Google::Protobuf::MessageExts::ClassMethods
229
+ end
230
+
231
+ # KubernetesMetadata provides informational metadata for Memberships
232
+ # representing Kubernetes clusters.
233
+ # @!attribute [r] kubernetes_api_server_version
234
+ # @return [::String]
235
+ # Output only. Kubernetes API server version string as reported by '/version'.
236
+ # @!attribute [r] node_provider_id
237
+ # @return [::String]
238
+ # Output only. Node providerID as reported by the first node in the list of nodes on
239
+ # the Kubernetes endpoint. On Kubernetes platforms that support zero-node
240
+ # clusters (like GKE-on-GCP), the node_count will be zero and the
241
+ # node_provider_id will be empty.
242
+ # @!attribute [r] node_count
243
+ # @return [::Integer]
244
+ # Output only. Node count as reported by Kubernetes nodes resources.
245
+ # @!attribute [r] vcpu_count
246
+ # @return [::Integer]
247
+ # Output only. vCPU count as reported by Kubernetes nodes resources.
248
+ # @!attribute [r] memory_mb
249
+ # @return [::Integer]
250
+ # Output only. The total memory capacity as reported by the sum of all Kubernetes nodes
251
+ # resources, defined in MB.
252
+ # @!attribute [r] update_time
253
+ # @return [::Google::Protobuf::Timestamp]
254
+ # Output only. The time at which these details were last updated. This update_time is
255
+ # different from the Membership-level update_time since EndpointDetails are
256
+ # updated internally for API consumers.
257
+ class KubernetesMetadata
258
+ include ::Google::Protobuf::MessageExts
259
+ extend ::Google::Protobuf::MessageExts::ClassMethods
260
+ end
261
+
262
+ # Authority encodes how Google will recognize identities from this Membership.
263
+ # See the workload identity documentation for more details:
264
+ # https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
265
+ # @!attribute [rw] issuer
266
+ # @return [::String]
267
+ # Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and
268
+ # be a valid URL with length <2000 characters.
269
+ #
270
+ # If set, then Google will allow valid OIDC tokens from this issuer to
271
+ # authenticate within the workload_identity_pool. OIDC discovery will be
272
+ # performed on this URI to validate tokens from the issuer.
273
+ #
274
+ # Clearing `issuer` disables Workload Identity. `issuer` cannot be directly
275
+ # modified; it must be cleared (and Workload Identity disabled) before using
276
+ # a new issuer (and re-enabling Workload Identity).
277
+ # @!attribute [r] workload_identity_pool
278
+ # @return [::String]
279
+ # Output only. The name of the workload identity pool in which `issuer` will be
280
+ # recognized.
281
+ #
282
+ # There is a single Workload Identity Pool per Hub that is shared
283
+ # between all Memberships that belong to that Hub. For a Hub hosted in
284
+ # \\{PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`,
285
+ # although this is subject to change in newer versions of this API.
286
+ # @!attribute [r] identity_provider
287
+ # @return [::String]
288
+ # Output only. An identity provider that reflects the `issuer` in the workload identity
289
+ # pool.
290
+ # @!attribute [rw] oidc_jwks
291
+ # @return [::String]
292
+ # Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517).
293
+ #
294
+ # When this field is set, OIDC discovery will NOT be performed on `issuer`,
295
+ # and instead OIDC tokens will be validated using this field.
296
+ class Authority
297
+ include ::Google::Protobuf::MessageExts
298
+ extend ::Google::Protobuf::MessageExts::ClassMethods
299
+ end
300
+
301
+ # State of the Membership resource.
302
+ # @!attribute [r] code
303
+ # @return [::Google::Cloud::GkeHub::V1beta1::MembershipState::Code]
304
+ # Output only. The current state of the Membership resource.
305
+ # @!attribute [rw] description
306
+ # @return [::String]
307
+ # This field is never set by the Hub Service.
308
+ # @!attribute [rw] update_time
309
+ # @return [::Google::Protobuf::Timestamp]
310
+ # This field is never set by the Hub Service.
311
+ class MembershipState
312
+ include ::Google::Protobuf::MessageExts
313
+ extend ::Google::Protobuf::MessageExts::ClassMethods
314
+
315
+ # Code describes the state of a Membership resource.
316
+ module Code
317
+ # The code is not set.
318
+ CODE_UNSPECIFIED = 0
319
+
320
+ # The cluster is being registered.
321
+ CREATING = 1
322
+
323
+ # The cluster is registered.
324
+ READY = 2
325
+
326
+ # The cluster is being unregistered.
327
+ DELETING = 3
328
+
329
+ # The Membership is being updated.
330
+ UPDATING = 4
331
+
332
+ # The Membership is being updated by the Hub Service.
333
+ SERVICE_UPDATING = 5
334
+ end
335
+ end
336
+
337
+ # Request message for `GkeHubMembershipService.ListMemberships` method.
338
+ # @!attribute [rw] parent
339
+ # @return [::String]
340
+ # Required. The parent (project and location) where the Memberships will be listed.
341
+ # Specified in the format `projects/*/locations/*`.
342
+ # @!attribute [rw] page_size
343
+ # @return [::Integer]
344
+ # Optional. When requesting a 'page' of resources, `page_size` specifies number of
345
+ # resources to return. If unspecified or set to 0, all resources will
346
+ # be returned.
347
+ # @!attribute [rw] page_token
348
+ # @return [::String]
349
+ # Optional. Token returned by previous call to `ListMemberships` which
350
+ # specifies the position in the list from where to continue listing the
351
+ # resources.
352
+ # @!attribute [rw] filter
353
+ # @return [::String]
354
+ # Optional. Lists Memberships that match the filter expression, following the syntax
355
+ # outlined in https://google.aip.dev/160.
356
+ #
357
+ # Examples:
358
+ #
359
+ # - Name is `bar` in project `foo-proj` and location `global`:
360
+ #
361
+ # name = "projects/foo-proj/locations/global/membership/bar"
362
+ #
363
+ # - Memberships that have a label called `foo`:
364
+ #
365
+ # labels.foo:*
366
+ #
367
+ # - Memberships that have a label called `foo` whose value is `bar`:
368
+ #
369
+ # labels.foo = bar
370
+ #
371
+ # - Memberships in the CREATING state:
372
+ #
373
+ # state = CREATING
374
+ # @!attribute [rw] order_by
375
+ # @return [::String]
376
+ # Optional. One or more fields to compare and use to sort the output.
377
+ # See https://google.aip.dev/132#ordering.
378
+ class ListMembershipsRequest
379
+ include ::Google::Protobuf::MessageExts
380
+ extend ::Google::Protobuf::MessageExts::ClassMethods
381
+ end
382
+
383
+ # Response message for the `GkeHubMembershipService.ListMemberships` method.
384
+ # @!attribute [rw] resources
385
+ # @return [::Array<::Google::Cloud::GkeHub::V1beta1::Membership>]
386
+ # The list of matching Memberships.
387
+ # @!attribute [rw] next_page_token
388
+ # @return [::String]
389
+ # A token to request the next page of resources from the
390
+ # `ListMemberships` method. The value of an empty string means that
391
+ # there are no more resources to return.
392
+ # @!attribute [rw] unreachable
393
+ # @return [::Array<::String>]
394
+ # List of locations that could not be reached while fetching this list.
395
+ class ListMembershipsResponse
396
+ include ::Google::Protobuf::MessageExts
397
+ extend ::Google::Protobuf::MessageExts::ClassMethods
398
+ end
399
+
400
+ # Request message for `GkeHubMembershipService.GetMembership` method.
401
+ # @!attribute [rw] name
402
+ # @return [::String]
403
+ # Required. The Membership resource name in the format
404
+ # `projects/*/locations/*/memberships/*`.
405
+ class GetMembershipRequest
406
+ include ::Google::Protobuf::MessageExts
407
+ extend ::Google::Protobuf::MessageExts::ClassMethods
408
+ end
409
+
410
+ # Request message for the `GkeHubMembershipService.CreateMembership` method.
411
+ # @!attribute [rw] parent
412
+ # @return [::String]
413
+ # Required. The parent (project and location) where the Memberships will be created.
414
+ # Specified in the format `projects/*/locations/*`.
415
+ # @!attribute [rw] membership_id
416
+ # @return [::String]
417
+ # Required. Client chosen ID for the membership. `membership_id` must be a valid RFC
418
+ # 1123 compliant DNS label:
419
+ #
420
+ # 1. At most 63 characters in length
421
+ # 2. It must consist of lower case alphanumeric characters or `-`
422
+ # 3. It must start and end with an alphanumeric character
423
+ #
424
+ # Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`,
425
+ # with a maximum length of 63 characters.
426
+ # @!attribute [rw] resource
427
+ # @return [::Google::Cloud::GkeHub::V1beta1::Membership]
428
+ # Required. The membership to create.
429
+ class CreateMembershipRequest
430
+ include ::Google::Protobuf::MessageExts
431
+ extend ::Google::Protobuf::MessageExts::ClassMethods
432
+ end
433
+
434
+ # Request message for `GkeHubMembershipService.DeleteMembership` method.
435
+ # @!attribute [rw] name
436
+ # @return [::String]
437
+ # Required. The Membership resource name in the format
438
+ # `projects/*/locations/*/memberships/*`.
439
+ class DeleteMembershipRequest
440
+ include ::Google::Protobuf::MessageExts
441
+ extend ::Google::Protobuf::MessageExts::ClassMethods
442
+ end
443
+
444
+ # Request message for `GkeHubMembershipService.UpdateMembership` method.
445
+ # @!attribute [rw] name
446
+ # @return [::String]
447
+ # Required. The membership resource name in the format:
448
+ # `projects/[project_id]/locations/global/memberships/[membership_id]`
449
+ # @!attribute [rw] update_mask
450
+ # @return [::Google::Protobuf::FieldMask]
451
+ # Required. Mask of fields to update. At least one field path must be specified in this
452
+ # mask.
453
+ # @!attribute [rw] resource
454
+ # @return [::Google::Cloud::GkeHub::V1beta1::Membership]
455
+ # Required. Only fields specified in update_mask are updated.
456
+ # If you specify a field in the update_mask but don't specify its value here
457
+ # that field will be deleted.
458
+ # If you are updating a map field, set the value of a key to null or empty
459
+ # string to delete the key from the map. It's not possible to update a key's
460
+ # value to the empty string.
461
+ class UpdateMembershipRequest
462
+ include ::Google::Protobuf::MessageExts
463
+ extend ::Google::Protobuf::MessageExts::ClassMethods
464
+ end
465
+
466
+ # Request message for `GkeHubMembershipService.GenerateConnectManifest`
467
+ # method.
468
+ # .
469
+ # @!attribute [rw] name
470
+ # @return [::String]
471
+ # Required. The Membership resource name the Agent will associate with, in the format
472
+ # `projects/*/locations/*/memberships/*`.
473
+ # @!attribute [rw] connect_agent
474
+ # @return [::Google::Cloud::GkeHub::V1beta1::ConnectAgent]
475
+ # Optional. The connect agent to generate manifest for.
476
+ # @!attribute [rw] version
477
+ # @return [::String]
478
+ # Optional. The Connect agent version to use. Defaults to the most current version.
479
+ # @!attribute [rw] is_upgrade
480
+ # @return [::Boolean]
481
+ # Optional. If true, generate the resources for upgrade only. Some resources
482
+ # generated only for installation (e.g. secrets) will be excluded.
483
+ # @!attribute [rw] registry
484
+ # @return [::String]
485
+ # Optional. The registry to fetch the connect agent image from. Defaults to
486
+ # gcr.io/gkeconnect.
487
+ # @!attribute [rw] image_pull_secret_content
488
+ # @return [::String]
489
+ # Optional. The image pull secret content for the registry, if not public.
490
+ class GenerateConnectManifestRequest
491
+ include ::Google::Protobuf::MessageExts
492
+ extend ::Google::Protobuf::MessageExts::ClassMethods
493
+ end
494
+
495
+ # GenerateConnectManifestResponse contains manifest information for
496
+ # installing/upgrading a Connect agent.
497
+ # @!attribute [rw] manifest
498
+ # @return [::Array<::Google::Cloud::GkeHub::V1beta1::ConnectAgentResource>]
499
+ # The ordered list of Kubernetes resources that need to be applied to the
500
+ # cluster for GKE Connect agent installation/upgrade.
501
+ class GenerateConnectManifestResponse
502
+ include ::Google::Protobuf::MessageExts
503
+ extend ::Google::Protobuf::MessageExts::ClassMethods
504
+ end
505
+
506
+ # ConnectAgentResource represents a Kubernetes resource manifest for Connect
507
+ # Agent deployment.
508
+ # @!attribute [rw] type
509
+ # @return [::Google::Cloud::GkeHub::V1beta1::TypeMeta]
510
+ # Kubernetes type of the resource.
511
+ # @!attribute [rw] manifest
512
+ # @return [::String]
513
+ # YAML manifest of the resource.
514
+ class ConnectAgentResource
515
+ include ::Google::Protobuf::MessageExts
516
+ extend ::Google::Protobuf::MessageExts::ClassMethods
517
+ end
518
+
519
+ # TypeMeta is the type information needed for content unmarshalling of
520
+ # Kubernetes resources in the manifest.
521
+ # @!attribute [rw] kind
522
+ # @return [::String]
523
+ # Kind of the resource (e.g. Deployment).
524
+ # @!attribute [rw] api_version
525
+ # @return [::String]
526
+ # APIVersion of the resource (e.g. v1).
527
+ class TypeMeta
528
+ include ::Google::Protobuf::MessageExts
529
+ extend ::Google::Protobuf::MessageExts::ClassMethods
530
+ end
531
+
532
+ # The information required from end users to use GKE Connect.
533
+ # @!attribute [rw] name
534
+ # @return [::String]
535
+ # Do not set.
536
+ # @!attribute [rw] proxy
537
+ # @return [::String]
538
+ # Optional. URI of a proxy if connectivity from the agent to gkeconnect.googleapis.com
539
+ # requires the use of a proxy. Format must be in the form
540
+ # `http(s)://{proxy_address}`, depending on the HTTP/HTTPS protocol
541
+ # supported by the proxy. This will direct the connect agent's outbound
542
+ # traffic through a HTTP(S) proxy.
543
+ # @!attribute [rw] namespace
544
+ # @return [::String]
545
+ # Optional. Namespace for GKE Connect agent resources. Defaults to `gke-connect`.
546
+ #
547
+ # The Connect Agent is authorized automatically when run in the default
548
+ # namespace. Otherwise, explicit authorization must be granted with an
549
+ # additional IAM binding.
550
+ class ConnectAgent
551
+ include ::Google::Protobuf::MessageExts
552
+ extend ::Google::Protobuf::MessageExts::ClassMethods
553
+ end
554
+
555
+ # The request to validate the existing state of the membership CR in the
556
+ # cluster.
557
+ # @!attribute [rw] parent
558
+ # @return [::String]
559
+ # Required. The parent (project and location) where the Memberships will be created.
560
+ # Specified in the format `projects/*/locations/*`.
561
+ # @!attribute [rw] cr_manifest
562
+ # @return [::String]
563
+ # Optional. The YAML of the membership CR in the cluster. Empty if the membership
564
+ # CR does not exist.
565
+ # @!attribute [rw] intended_membership
566
+ # @return [::String]
567
+ # Required. The intended membership name under the `parent`. This method only does
568
+ # validation in anticipation of a CreateMembership call with the same name.
569
+ class ValidateExclusivityRequest
570
+ include ::Google::Protobuf::MessageExts
571
+ extend ::Google::Protobuf::MessageExts::ClassMethods
572
+ end
573
+
574
+ # The response of exclusivity artifacts validation result status.
575
+ # @!attribute [rw] status
576
+ # @return [::Google::Rpc::Status]
577
+ # The validation result.
578
+ #
579
+ # * `OK` means that exclusivity is validated, assuming the manifest produced
580
+ # by GenerateExclusivityManifest is successfully applied.
581
+ # * `ALREADY_EXISTS` means that the Membership CRD is already owned by
582
+ # another Hub. See `status.message` for more information.
583
+ class ValidateExclusivityResponse
584
+ include ::Google::Protobuf::MessageExts
585
+ extend ::Google::Protobuf::MessageExts::ClassMethods
586
+ end
587
+
588
+ # The request to generate the manifests for exclusivity artifacts.
589
+ # @!attribute [rw] name
590
+ # @return [::String]
591
+ # Required. The Membership resource name in the format
592
+ # `projects/*/locations/*/memberships/*`.
593
+ # @!attribute [rw] crd_manifest
594
+ # @return [::String]
595
+ # Optional. The YAML manifest of the membership CRD retrieved by
596
+ # `kubectl get customresourcedefinitions membership`.
597
+ # Leave empty if the resource does not exist.
598
+ # @!attribute [rw] cr_manifest
599
+ # @return [::String]
600
+ # Optional. The YAML manifest of the membership CR retrieved by
601
+ # `kubectl get memberships membership`.
602
+ # Leave empty if the resource does not exist.
603
+ class GenerateExclusivityManifestRequest
604
+ include ::Google::Protobuf::MessageExts
605
+ extend ::Google::Protobuf::MessageExts::ClassMethods
606
+ end
607
+
608
+ # The response of the exclusivity artifacts manifests for the client to apply.
609
+ # @!attribute [rw] crd_manifest
610
+ # @return [::String]
611
+ # The YAML manifest of the membership CRD to apply if a newer version of the
612
+ # CRD is available. Empty if no update needs to be applied.
613
+ # @!attribute [rw] cr_manifest
614
+ # @return [::String]
615
+ # The YAML manifest of the membership CR to apply if a new version of the
616
+ # CR is available. Empty if no update needs to be applied.
617
+ class GenerateExclusivityManifestResponse
618
+ include ::Google::Protobuf::MessageExts
619
+ extend ::Google::Protobuf::MessageExts::ClassMethods
620
+ end
621
+
622
+ # Represents the metadata of the long-running operation.
623
+ # @!attribute [r] create_time
624
+ # @return [::Google::Protobuf::Timestamp]
625
+ # Output only. The time the operation was created.
626
+ # @!attribute [r] end_time
627
+ # @return [::Google::Protobuf::Timestamp]
628
+ # Output only. The time the operation finished running.
629
+ # @!attribute [r] target
630
+ # @return [::String]
631
+ # Output only. Server-defined resource path for the target of the operation.
632
+ # @!attribute [r] verb
633
+ # @return [::String]
634
+ # Output only. Name of the verb executed by the operation.
635
+ # @!attribute [r] status_detail
636
+ # @return [::String]
637
+ # Output only. Human-readable status of the operation, if any.
638
+ # @!attribute [r] cancel_requested
639
+ # @return [::Boolean]
640
+ # Output only. Identifies whether the user has requested cancellation
641
+ # of the operation. Operations that have successfully been cancelled
642
+ # have [Operation.error][] value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
643
+ # corresponding to `Code.CANCELLED`.
644
+ # @!attribute [r] api_version
645
+ # @return [::String]
646
+ # Output only. API version used to start the operation.
647
+ class OperationMetadata
648
+ include ::Google::Protobuf::MessageExts
649
+ extend ::Google::Protobuf::MessageExts::ClassMethods
650
+ end
651
+ end
652
+ end
653
+ end
654
+ end