google-cloud-gke_hub-v1beta1 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.
@@ -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