google-apis-gkehub_v1beta 0.58.0 → 0.59.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.
@@ -108,6 +108,27 @@ module Google
|
|
108
108
|
end
|
109
109
|
end
|
110
110
|
|
111
|
+
# ApplianceCluster contains information specific to GDC Edge Appliance Clusters.
|
112
|
+
class ApplianceCluster
|
113
|
+
include Google::Apis::Core::Hashable
|
114
|
+
|
115
|
+
# Immutable. Self-link of the Google Cloud resource for the Appliance Cluster.
|
116
|
+
# For example: //transferappliance.googleapis.com/projects/my-project/locations/
|
117
|
+
# us-west1-a/appliances/my-appliance
|
118
|
+
# Corresponds to the JSON property `resourceLink`
|
119
|
+
# @return [String]
|
120
|
+
attr_accessor :resource_link
|
121
|
+
|
122
|
+
def initialize(**args)
|
123
|
+
update!(**args)
|
124
|
+
end
|
125
|
+
|
126
|
+
# Update properties of this object
|
127
|
+
def update!(**args)
|
128
|
+
@resource_link = args[:resource_link] if args.key?(:resource_link)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
111
132
|
# Specifies the audit configuration for a service. The configuration determines
|
112
133
|
# which permission types are logged, and what identities, if any, are exempted
|
113
134
|
# from logging. An AuditConfig must have one or more AuditLogConfigs. If there
|
@@ -179,6 +200,60 @@ module Google
|
|
179
200
|
end
|
180
201
|
end
|
181
202
|
|
203
|
+
# Authority encodes how Google will recognize identities from this Membership.
|
204
|
+
# See the workload identity documentation for more details: https://cloud.google.
|
205
|
+
# com/kubernetes-engine/docs/how-to/workload-identity
|
206
|
+
class Authority
|
207
|
+
include Google::Apis::Core::Hashable
|
208
|
+
|
209
|
+
# Output only. An identity provider that reflects the `issuer` in the workload
|
210
|
+
# identity pool.
|
211
|
+
# Corresponds to the JSON property `identityProvider`
|
212
|
+
# @return [String]
|
213
|
+
attr_accessor :identity_provider
|
214
|
+
|
215
|
+
# Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://
|
216
|
+
# ` and be a valid URL with length <2000 characters, it must use `location`
|
217
|
+
# rather than `zone` for GKE clusters. If set, then Google will allow valid OIDC
|
218
|
+
# tokens from this issuer to authenticate within the workload_identity_pool.
|
219
|
+
# OIDC discovery will be performed on this URI to validate tokens from the
|
220
|
+
# issuer. Clearing `issuer` disables Workload Identity. `issuer` cannot be
|
221
|
+
# directly modified; it must be cleared (and Workload Identity disabled) before
|
222
|
+
# using a new issuer (and re-enabling Workload Identity).
|
223
|
+
# Corresponds to the JSON property `issuer`
|
224
|
+
# @return [String]
|
225
|
+
attr_accessor :issuer
|
226
|
+
|
227
|
+
# Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517).
|
228
|
+
# When this field is set, OIDC discovery will NOT be performed on `issuer`, and
|
229
|
+
# instead OIDC tokens will be validated using this field.
|
230
|
+
# Corresponds to the JSON property `oidcJwks`
|
231
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
232
|
+
# @return [String]
|
233
|
+
attr_accessor :oidc_jwks
|
234
|
+
|
235
|
+
# Output only. The name of the workload identity pool in which `issuer` will be
|
236
|
+
# recognized. There is a single Workload Identity Pool per Hub that is shared
|
237
|
+
# between all Memberships that belong to that Hub. For a Hub hosted in `
|
238
|
+
# PROJECT_ID`, the workload pool format is ``PROJECT_ID`.hub.id.goog`, although
|
239
|
+
# this is subject to change in newer versions of this API.
|
240
|
+
# Corresponds to the JSON property `workloadIdentityPool`
|
241
|
+
# @return [String]
|
242
|
+
attr_accessor :workload_identity_pool
|
243
|
+
|
244
|
+
def initialize(**args)
|
245
|
+
update!(**args)
|
246
|
+
end
|
247
|
+
|
248
|
+
# Update properties of this object
|
249
|
+
def update!(**args)
|
250
|
+
@identity_provider = args[:identity_provider] if args.key?(:identity_provider)
|
251
|
+
@issuer = args[:issuer] if args.key?(:issuer)
|
252
|
+
@oidc_jwks = args[:oidc_jwks] if args.key?(:oidc_jwks)
|
253
|
+
@workload_identity_pool = args[:workload_identity_pool] if args.key?(:workload_identity_pool)
|
254
|
+
end
|
255
|
+
end
|
256
|
+
|
182
257
|
# Associates `members`, or principals, with a `role`.
|
183
258
|
class Binding
|
184
259
|
include Google::Apis::Core::Hashable
|
@@ -1430,6 +1505,54 @@ module Google
|
|
1430
1505
|
end
|
1431
1506
|
end
|
1432
1507
|
|
1508
|
+
# ConnectAgentResource represents a Kubernetes resource manifest for Connect
|
1509
|
+
# Agent deployment.
|
1510
|
+
class ConnectAgentResource
|
1511
|
+
include Google::Apis::Core::Hashable
|
1512
|
+
|
1513
|
+
# YAML manifest of the resource.
|
1514
|
+
# Corresponds to the JSON property `manifest`
|
1515
|
+
# @return [String]
|
1516
|
+
attr_accessor :manifest
|
1517
|
+
|
1518
|
+
# TypeMeta is the type information needed for content unmarshalling of
|
1519
|
+
# Kubernetes resources in the manifest.
|
1520
|
+
# Corresponds to the JSON property `type`
|
1521
|
+
# @return [Google::Apis::GkehubV1beta::TypeMeta]
|
1522
|
+
attr_accessor :type
|
1523
|
+
|
1524
|
+
def initialize(**args)
|
1525
|
+
update!(**args)
|
1526
|
+
end
|
1527
|
+
|
1528
|
+
# Update properties of this object
|
1529
|
+
def update!(**args)
|
1530
|
+
@manifest = args[:manifest] if args.key?(:manifest)
|
1531
|
+
@type = args[:type] if args.key?(:type)
|
1532
|
+
end
|
1533
|
+
end
|
1534
|
+
|
1535
|
+
# EdgeCluster contains information specific to Google Edge Clusters.
|
1536
|
+
class EdgeCluster
|
1537
|
+
include Google::Apis::Core::Hashable
|
1538
|
+
|
1539
|
+
# Immutable. Self-link of the Google Cloud resource for the Edge Cluster. For
|
1540
|
+
# example: //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-
|
1541
|
+
# a/clusters/my-cluster
|
1542
|
+
# Corresponds to the JSON property `resourceLink`
|
1543
|
+
# @return [String]
|
1544
|
+
attr_accessor :resource_link
|
1545
|
+
|
1546
|
+
def initialize(**args)
|
1547
|
+
update!(**args)
|
1548
|
+
end
|
1549
|
+
|
1550
|
+
# Update properties of this object
|
1551
|
+
def update!(**args)
|
1552
|
+
@resource_link = args[:resource_link] if args.key?(:resource_link)
|
1553
|
+
end
|
1554
|
+
end
|
1555
|
+
|
1433
1556
|
# A generic empty message that you can re-use to avoid defining duplicated empty
|
1434
1557
|
# messages in your APIs. A typical example is to use it as the request or the
|
1435
1558
|
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
@@ -1975,6 +2098,27 @@ module Google
|
|
1975
2098
|
end
|
1976
2099
|
end
|
1977
2100
|
|
2101
|
+
# GenerateConnectManifestResponse contains manifest information for installing/
|
2102
|
+
# upgrading a Connect agent.
|
2103
|
+
class GenerateConnectManifestResponse
|
2104
|
+
include Google::Apis::Core::Hashable
|
2105
|
+
|
2106
|
+
# The ordered list of Kubernetes resources that need to be applied to the
|
2107
|
+
# cluster for GKE Connect agent installation/upgrade.
|
2108
|
+
# Corresponds to the JSON property `manifest`
|
2109
|
+
# @return [Array<Google::Apis::GkehubV1beta::ConnectAgentResource>]
|
2110
|
+
attr_accessor :manifest
|
2111
|
+
|
2112
|
+
def initialize(**args)
|
2113
|
+
update!(**args)
|
2114
|
+
end
|
2115
|
+
|
2116
|
+
# Update properties of this object
|
2117
|
+
def update!(**args)
|
2118
|
+
@manifest = args[:manifest] if args.key?(:manifest)
|
2119
|
+
end
|
2120
|
+
end
|
2121
|
+
|
1978
2122
|
# Response for GenerateRBACRoleBindingYAML.
|
1979
2123
|
class GenerateMembershipRbacRoleBindingYamlResponse
|
1980
2124
|
include Google::Apis::Core::Hashable
|
@@ -1994,6 +2138,35 @@ module Google
|
|
1994
2138
|
end
|
1995
2139
|
end
|
1996
2140
|
|
2141
|
+
# GkeCluster contains information specific to GKE clusters.
|
2142
|
+
class GkeCluster
|
2143
|
+
include Google::Apis::Core::Hashable
|
2144
|
+
|
2145
|
+
# Output only. If cluster_missing is set then it denotes that the GKE cluster no
|
2146
|
+
# longer exists in the GKE Control Plane.
|
2147
|
+
# Corresponds to the JSON property `clusterMissing`
|
2148
|
+
# @return [Boolean]
|
2149
|
+
attr_accessor :cluster_missing
|
2150
|
+
alias_method :cluster_missing?, :cluster_missing
|
2151
|
+
|
2152
|
+
# Immutable. Self-link of the Google Cloud resource for the GKE cluster. For
|
2153
|
+
# example: //container.googleapis.com/projects/my-project/locations/us-west1-a/
|
2154
|
+
# clusters/my-cluster Zonal clusters are also supported.
|
2155
|
+
# Corresponds to the JSON property `resourceLink`
|
2156
|
+
# @return [String]
|
2157
|
+
attr_accessor :resource_link
|
2158
|
+
|
2159
|
+
def initialize(**args)
|
2160
|
+
update!(**args)
|
2161
|
+
end
|
2162
|
+
|
2163
|
+
# Update properties of this object
|
2164
|
+
def update!(**args)
|
2165
|
+
@cluster_missing = args[:cluster_missing] if args.key?(:cluster_missing)
|
2166
|
+
@resource_link = args[:resource_link] if args.key?(:resource_link)
|
2167
|
+
end
|
2168
|
+
end
|
2169
|
+
|
1997
2170
|
# The `Status` type defines a logical error model that is suitable for different
|
1998
2171
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
1999
2172
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
@@ -2304,6 +2477,117 @@ module Google
|
|
2304
2477
|
end
|
2305
2478
|
end
|
2306
2479
|
|
2480
|
+
# KubernetesMetadata provides informational metadata for Memberships
|
2481
|
+
# representing Kubernetes clusters.
|
2482
|
+
class KubernetesMetadata
|
2483
|
+
include Google::Apis::Core::Hashable
|
2484
|
+
|
2485
|
+
# Output only. Kubernetes API server version string as reported by `/version`.
|
2486
|
+
# Corresponds to the JSON property `kubernetesApiServerVersion`
|
2487
|
+
# @return [String]
|
2488
|
+
attr_accessor :kubernetes_api_server_version
|
2489
|
+
|
2490
|
+
# Output only. The total memory capacity as reported by the sum of all
|
2491
|
+
# Kubernetes nodes resources, defined in MB.
|
2492
|
+
# Corresponds to the JSON property `memoryMb`
|
2493
|
+
# @return [Fixnum]
|
2494
|
+
attr_accessor :memory_mb
|
2495
|
+
|
2496
|
+
# Output only. Node count as reported by Kubernetes nodes resources.
|
2497
|
+
# Corresponds to the JSON property `nodeCount`
|
2498
|
+
# @return [Fixnum]
|
2499
|
+
attr_accessor :node_count
|
2500
|
+
|
2501
|
+
# Output only. Node providerID as reported by the first node in the list of
|
2502
|
+
# nodes on the Kubernetes endpoint. On Kubernetes platforms that support zero-
|
2503
|
+
# node clusters (like GKE-on-GCP), the node_count will be zero and the
|
2504
|
+
# node_provider_id will be empty.
|
2505
|
+
# Corresponds to the JSON property `nodeProviderId`
|
2506
|
+
# @return [String]
|
2507
|
+
attr_accessor :node_provider_id
|
2508
|
+
|
2509
|
+
# Output only. The time at which these details were last updated. This
|
2510
|
+
# update_time is different from the Membership-level update_time since
|
2511
|
+
# EndpointDetails are updated internally for API consumers.
|
2512
|
+
# Corresponds to the JSON property `updateTime`
|
2513
|
+
# @return [String]
|
2514
|
+
attr_accessor :update_time
|
2515
|
+
|
2516
|
+
# Output only. vCPU count as reported by Kubernetes nodes resources.
|
2517
|
+
# Corresponds to the JSON property `vcpuCount`
|
2518
|
+
# @return [Fixnum]
|
2519
|
+
attr_accessor :vcpu_count
|
2520
|
+
|
2521
|
+
def initialize(**args)
|
2522
|
+
update!(**args)
|
2523
|
+
end
|
2524
|
+
|
2525
|
+
# Update properties of this object
|
2526
|
+
def update!(**args)
|
2527
|
+
@kubernetes_api_server_version = args[:kubernetes_api_server_version] if args.key?(:kubernetes_api_server_version)
|
2528
|
+
@memory_mb = args[:memory_mb] if args.key?(:memory_mb)
|
2529
|
+
@node_count = args[:node_count] if args.key?(:node_count)
|
2530
|
+
@node_provider_id = args[:node_provider_id] if args.key?(:node_provider_id)
|
2531
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
2532
|
+
@vcpu_count = args[:vcpu_count] if args.key?(:vcpu_count)
|
2533
|
+
end
|
2534
|
+
end
|
2535
|
+
|
2536
|
+
# KubernetesResource contains the YAML manifests and configuration for
|
2537
|
+
# Membership Kubernetes resources in the cluster. After CreateMembership or
|
2538
|
+
# UpdateMembership, these resources should be re-applied in the cluster.
|
2539
|
+
class KubernetesResource
|
2540
|
+
include Google::Apis::Core::Hashable
|
2541
|
+
|
2542
|
+
# Output only. The Kubernetes resources for installing the GKE Connect agent
|
2543
|
+
# This field is only populated in the Membership returned from a successful long-
|
2544
|
+
# running operation from CreateMembership or UpdateMembership. It is not
|
2545
|
+
# populated during normal GetMembership or ListMemberships requests. To get the
|
2546
|
+
# resource manifest after the initial registration, the caller should make a
|
2547
|
+
# UpdateMembership call with an empty field mask.
|
2548
|
+
# Corresponds to the JSON property `connectResources`
|
2549
|
+
# @return [Array<Google::Apis::GkehubV1beta::ResourceManifest>]
|
2550
|
+
attr_accessor :connect_resources
|
2551
|
+
|
2552
|
+
# Input only. The YAML representation of the Membership CR. This field is
|
2553
|
+
# ignored for GKE clusters where Hub can read the CR directly. Callers should
|
2554
|
+
# provide the CR that is currently present in the cluster during
|
2555
|
+
# CreateMembership or UpdateMembership, or leave this field empty if none exists.
|
2556
|
+
# The CR manifest is used to validate the cluster has not been registered with
|
2557
|
+
# another Membership.
|
2558
|
+
# Corresponds to the JSON property `membershipCrManifest`
|
2559
|
+
# @return [String]
|
2560
|
+
attr_accessor :membership_cr_manifest
|
2561
|
+
|
2562
|
+
# Output only. Additional Kubernetes resources that need to be applied to the
|
2563
|
+
# cluster after Membership creation, and after every update. This field is only
|
2564
|
+
# populated in the Membership returned from a successful long-running operation
|
2565
|
+
# from CreateMembership or UpdateMembership. It is not populated during normal
|
2566
|
+
# GetMembership or ListMemberships requests. To get the resource manifest after
|
2567
|
+
# the initial registration, the caller should make a UpdateMembership call with
|
2568
|
+
# an empty field mask.
|
2569
|
+
# Corresponds to the JSON property `membershipResources`
|
2570
|
+
# @return [Array<Google::Apis::GkehubV1beta::ResourceManifest>]
|
2571
|
+
attr_accessor :membership_resources
|
2572
|
+
|
2573
|
+
# ResourceOptions represent options for Kubernetes resource generation.
|
2574
|
+
# Corresponds to the JSON property `resourceOptions`
|
2575
|
+
# @return [Google::Apis::GkehubV1beta::ResourceOptions]
|
2576
|
+
attr_accessor :resource_options
|
2577
|
+
|
2578
|
+
def initialize(**args)
|
2579
|
+
update!(**args)
|
2580
|
+
end
|
2581
|
+
|
2582
|
+
# Update properties of this object
|
2583
|
+
def update!(**args)
|
2584
|
+
@connect_resources = args[:connect_resources] if args.key?(:connect_resources)
|
2585
|
+
@membership_cr_manifest = args[:membership_cr_manifest] if args.key?(:membership_cr_manifest)
|
2586
|
+
@membership_resources = args[:membership_resources] if args.key?(:membership_resources)
|
2587
|
+
@resource_options = args[:resource_options] if args.key?(:resource_options)
|
2588
|
+
end
|
2589
|
+
end
|
2590
|
+
|
2307
2591
|
# Response message for the `GkeHub.ListFeatures` method.
|
2308
2592
|
class ListFeaturesResponse
|
2309
2593
|
include Google::Apis::Core::Hashable
|
@@ -2436,6 +2720,39 @@ module Google
|
|
2436
2720
|
end
|
2437
2721
|
end
|
2438
2722
|
|
2723
|
+
# Response message for the `GkeHub.ListMemberships` method.
|
2724
|
+
class ListMembershipsResponse
|
2725
|
+
include Google::Apis::Core::Hashable
|
2726
|
+
|
2727
|
+
# A token to request the next page of resources from the `ListMemberships`
|
2728
|
+
# method. The value of an empty string means that there are no more resources to
|
2729
|
+
# return.
|
2730
|
+
# Corresponds to the JSON property `nextPageToken`
|
2731
|
+
# @return [String]
|
2732
|
+
attr_accessor :next_page_token
|
2733
|
+
|
2734
|
+
# The list of matching Memberships.
|
2735
|
+
# Corresponds to the JSON property `resources`
|
2736
|
+
# @return [Array<Google::Apis::GkehubV1beta::Membership>]
|
2737
|
+
attr_accessor :resources
|
2738
|
+
|
2739
|
+
# List of locations that could not be reached while fetching this list.
|
2740
|
+
# Corresponds to the JSON property `unreachable`
|
2741
|
+
# @return [Array<String>]
|
2742
|
+
attr_accessor :unreachable
|
2743
|
+
|
2744
|
+
def initialize(**args)
|
2745
|
+
update!(**args)
|
2746
|
+
end
|
2747
|
+
|
2748
|
+
# Update properties of this object
|
2749
|
+
def update!(**args)
|
2750
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2751
|
+
@resources = args[:resources] if args.key?(:resources)
|
2752
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
2753
|
+
end
|
2754
|
+
end
|
2755
|
+
|
2439
2756
|
# List of fleet namespaces.
|
2440
2757
|
class ListNamespacesResponse
|
2441
2758
|
include Google::Apis::Core::Hashable
|
@@ -2640,6 +2957,116 @@ module Google
|
|
2640
2957
|
end
|
2641
2958
|
end
|
2642
2959
|
|
2960
|
+
# Membership contains information about a member cluster.
|
2961
|
+
class Membership
|
2962
|
+
include Google::Apis::Core::Hashable
|
2963
|
+
|
2964
|
+
# Authority encodes how Google will recognize identities from this Membership.
|
2965
|
+
# See the workload identity documentation for more details: https://cloud.google.
|
2966
|
+
# com/kubernetes-engine/docs/how-to/workload-identity
|
2967
|
+
# Corresponds to the JSON property `authority`
|
2968
|
+
# @return [Google::Apis::GkehubV1beta::Authority]
|
2969
|
+
attr_accessor :authority
|
2970
|
+
|
2971
|
+
# Output only. When the Membership was created.
|
2972
|
+
# Corresponds to the JSON property `createTime`
|
2973
|
+
# @return [String]
|
2974
|
+
attr_accessor :create_time
|
2975
|
+
|
2976
|
+
# Output only. When the Membership was deleted.
|
2977
|
+
# Corresponds to the JSON property `deleteTime`
|
2978
|
+
# @return [String]
|
2979
|
+
attr_accessor :delete_time
|
2980
|
+
|
2981
|
+
# Output only. Description of this membership, limited to 63 characters. Must
|
2982
|
+
# match the regex: `a-zA-Z0-9*` This field is present for legacy purposes.
|
2983
|
+
# Corresponds to the JSON property `description`
|
2984
|
+
# @return [String]
|
2985
|
+
attr_accessor :description
|
2986
|
+
|
2987
|
+
# MembershipEndpoint contains information needed to contact a Kubernetes API,
|
2988
|
+
# endpoint and any additional Kubernetes metadata.
|
2989
|
+
# Corresponds to the JSON property `endpoint`
|
2990
|
+
# @return [Google::Apis::GkehubV1beta::MembershipEndpoint]
|
2991
|
+
attr_accessor :endpoint
|
2992
|
+
|
2993
|
+
# Optional. An externally-generated and managed ID for this Membership. This ID
|
2994
|
+
# may be modified after creation, but this is not recommended. The ID must match
|
2995
|
+
# the regex: `a-zA-Z0-9*` If this Membership represents a Kubernetes cluster,
|
2996
|
+
# this value should be set to the UID of the `kube-system` namespace object.
|
2997
|
+
# Corresponds to the JSON property `externalId`
|
2998
|
+
# @return [String]
|
2999
|
+
attr_accessor :external_id
|
3000
|
+
|
3001
|
+
# Optional. Labels for this membership.
|
3002
|
+
# Corresponds to the JSON property `labels`
|
3003
|
+
# @return [Hash<String,String>]
|
3004
|
+
attr_accessor :labels
|
3005
|
+
|
3006
|
+
# Output only. For clusters using Connect, the timestamp of the most recent
|
3007
|
+
# connection established with Google Cloud. This time is updated every several
|
3008
|
+
# minutes, not continuously. For clusters that do not use GKE Connect, or that
|
3009
|
+
# have never connected successfully, this field will be unset.
|
3010
|
+
# Corresponds to the JSON property `lastConnectionTime`
|
3011
|
+
# @return [String]
|
3012
|
+
attr_accessor :last_connection_time
|
3013
|
+
|
3014
|
+
# This field informs Fleet-based applications/services/UIs with the necessary
|
3015
|
+
# information for where each underlying Cluster reports its metrics.
|
3016
|
+
# Corresponds to the JSON property `monitoringConfig`
|
3017
|
+
# @return [Google::Apis::GkehubV1beta::MonitoringConfig]
|
3018
|
+
attr_accessor :monitoring_config
|
3019
|
+
|
3020
|
+
# Output only. The full, unique name of this Membership resource in the format `
|
3021
|
+
# projects/*/locations/*/memberships/`membership_id``, set during creation. `
|
3022
|
+
# membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63
|
3023
|
+
# characters in length 2. It must consist of lower case alphanumeric characters
|
3024
|
+
# or `-` 3. It must start and end with an alphanumeric character Which can be
|
3025
|
+
# expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length
|
3026
|
+
# of 63 characters.
|
3027
|
+
# Corresponds to the JSON property `name`
|
3028
|
+
# @return [String]
|
3029
|
+
attr_accessor :name
|
3030
|
+
|
3031
|
+
# MembershipState describes the state of a Membership resource.
|
3032
|
+
# Corresponds to the JSON property `state`
|
3033
|
+
# @return [Google::Apis::GkehubV1beta::MembershipState]
|
3034
|
+
attr_accessor :state
|
3035
|
+
|
3036
|
+
# Output only. Google-generated UUID for this resource. This is unique across
|
3037
|
+
# all Membership resources. If a Membership resource is deleted and another
|
3038
|
+
# resource with the same name is created, it gets a different unique_id.
|
3039
|
+
# Corresponds to the JSON property `uniqueId`
|
3040
|
+
# @return [String]
|
3041
|
+
attr_accessor :unique_id
|
3042
|
+
|
3043
|
+
# Output only. When the Membership was last updated.
|
3044
|
+
# Corresponds to the JSON property `updateTime`
|
3045
|
+
# @return [String]
|
3046
|
+
attr_accessor :update_time
|
3047
|
+
|
3048
|
+
def initialize(**args)
|
3049
|
+
update!(**args)
|
3050
|
+
end
|
3051
|
+
|
3052
|
+
# Update properties of this object
|
3053
|
+
def update!(**args)
|
3054
|
+
@authority = args[:authority] if args.key?(:authority)
|
3055
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
3056
|
+
@delete_time = args[:delete_time] if args.key?(:delete_time)
|
3057
|
+
@description = args[:description] if args.key?(:description)
|
3058
|
+
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
3059
|
+
@external_id = args[:external_id] if args.key?(:external_id)
|
3060
|
+
@labels = args[:labels] if args.key?(:labels)
|
3061
|
+
@last_connection_time = args[:last_connection_time] if args.key?(:last_connection_time)
|
3062
|
+
@monitoring_config = args[:monitoring_config] if args.key?(:monitoring_config)
|
3063
|
+
@name = args[:name] if args.key?(:name)
|
3064
|
+
@state = args[:state] if args.key?(:state)
|
3065
|
+
@unique_id = args[:unique_id] if args.key?(:unique_id)
|
3066
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
3067
|
+
end
|
3068
|
+
end
|
3069
|
+
|
2643
3070
|
# MembershipBinding is a subresource of a Membership, representing what Fleet
|
2644
3071
|
# Scopes (or other, future Fleet resources) a Membership is bound to.
|
2645
3072
|
class MembershipBinding
|
@@ -2724,6 +3151,73 @@ module Google
|
|
2724
3151
|
end
|
2725
3152
|
end
|
2726
3153
|
|
3154
|
+
# MembershipEndpoint contains information needed to contact a Kubernetes API,
|
3155
|
+
# endpoint and any additional Kubernetes metadata.
|
3156
|
+
class MembershipEndpoint
|
3157
|
+
include Google::Apis::Core::Hashable
|
3158
|
+
|
3159
|
+
# ApplianceCluster contains information specific to GDC Edge Appliance Clusters.
|
3160
|
+
# Corresponds to the JSON property `applianceCluster`
|
3161
|
+
# @return [Google::Apis::GkehubV1beta::ApplianceCluster]
|
3162
|
+
attr_accessor :appliance_cluster
|
3163
|
+
|
3164
|
+
# EdgeCluster contains information specific to Google Edge Clusters.
|
3165
|
+
# Corresponds to the JSON property `edgeCluster`
|
3166
|
+
# @return [Google::Apis::GkehubV1beta::EdgeCluster]
|
3167
|
+
attr_accessor :edge_cluster
|
3168
|
+
|
3169
|
+
# GkeCluster contains information specific to GKE clusters.
|
3170
|
+
# Corresponds to the JSON property `gkeCluster`
|
3171
|
+
# @return [Google::Apis::GkehubV1beta::GkeCluster]
|
3172
|
+
attr_accessor :gke_cluster
|
3173
|
+
|
3174
|
+
# Output only. Whether the lifecycle of this membership is managed by a google
|
3175
|
+
# cluster platform service.
|
3176
|
+
# Corresponds to the JSON property `googleManaged`
|
3177
|
+
# @return [Boolean]
|
3178
|
+
attr_accessor :google_managed
|
3179
|
+
alias_method :google_managed?, :google_managed
|
3180
|
+
|
3181
|
+
# KubernetesMetadata provides informational metadata for Memberships
|
3182
|
+
# representing Kubernetes clusters.
|
3183
|
+
# Corresponds to the JSON property `kubernetesMetadata`
|
3184
|
+
# @return [Google::Apis::GkehubV1beta::KubernetesMetadata]
|
3185
|
+
attr_accessor :kubernetes_metadata
|
3186
|
+
|
3187
|
+
# KubernetesResource contains the YAML manifests and configuration for
|
3188
|
+
# Membership Kubernetes resources in the cluster. After CreateMembership or
|
3189
|
+
# UpdateMembership, these resources should be re-applied in the cluster.
|
3190
|
+
# Corresponds to the JSON property `kubernetesResource`
|
3191
|
+
# @return [Google::Apis::GkehubV1beta::KubernetesResource]
|
3192
|
+
attr_accessor :kubernetes_resource
|
3193
|
+
|
3194
|
+
# MultiCloudCluster contains information specific to GKE Multi-Cloud clusters.
|
3195
|
+
# Corresponds to the JSON property `multiCloudCluster`
|
3196
|
+
# @return [Google::Apis::GkehubV1beta::MultiCloudCluster]
|
3197
|
+
attr_accessor :multi_cloud_cluster
|
3198
|
+
|
3199
|
+
# OnPremCluster contains information specific to GKE On-Prem clusters.
|
3200
|
+
# Corresponds to the JSON property `onPremCluster`
|
3201
|
+
# @return [Google::Apis::GkehubV1beta::OnPremCluster]
|
3202
|
+
attr_accessor :on_prem_cluster
|
3203
|
+
|
3204
|
+
def initialize(**args)
|
3205
|
+
update!(**args)
|
3206
|
+
end
|
3207
|
+
|
3208
|
+
# Update properties of this object
|
3209
|
+
def update!(**args)
|
3210
|
+
@appliance_cluster = args[:appliance_cluster] if args.key?(:appliance_cluster)
|
3211
|
+
@edge_cluster = args[:edge_cluster] if args.key?(:edge_cluster)
|
3212
|
+
@gke_cluster = args[:gke_cluster] if args.key?(:gke_cluster)
|
3213
|
+
@google_managed = args[:google_managed] if args.key?(:google_managed)
|
3214
|
+
@kubernetes_metadata = args[:kubernetes_metadata] if args.key?(:kubernetes_metadata)
|
3215
|
+
@kubernetes_resource = args[:kubernetes_resource] if args.key?(:kubernetes_resource)
|
3216
|
+
@multi_cloud_cluster = args[:multi_cloud_cluster] if args.key?(:multi_cloud_cluster)
|
3217
|
+
@on_prem_cluster = args[:on_prem_cluster] if args.key?(:on_prem_cluster)
|
3218
|
+
end
|
3219
|
+
end
|
3220
|
+
|
2727
3221
|
# MembershipFeatureSpec contains configuration information for a single
|
2728
3222
|
# Membership. NOTE: Please use snake case in your feature name.
|
2729
3223
|
class MembershipFeatureSpec
|
@@ -2880,6 +3374,25 @@ module Google
|
|
2880
3374
|
end
|
2881
3375
|
end
|
2882
3376
|
|
3377
|
+
# MembershipState describes the state of a Membership resource.
|
3378
|
+
class MembershipState
|
3379
|
+
include Google::Apis::Core::Hashable
|
3380
|
+
|
3381
|
+
# Output only. The current state of the Membership resource.
|
3382
|
+
# Corresponds to the JSON property `code`
|
3383
|
+
# @return [String]
|
3384
|
+
attr_accessor :code
|
3385
|
+
|
3386
|
+
def initialize(**args)
|
3387
|
+
update!(**args)
|
3388
|
+
end
|
3389
|
+
|
3390
|
+
# Update properties of this object
|
3391
|
+
def update!(**args)
|
3392
|
+
@code = args[:code] if args.key?(:code)
|
3393
|
+
end
|
3394
|
+
end
|
3395
|
+
|
2883
3396
|
# **Metering**: Per-Membership Feature State.
|
2884
3397
|
class MeteringMembershipState
|
2885
3398
|
include Google::Apis::Core::Hashable
|
@@ -2907,6 +3420,90 @@ module Google
|
|
2907
3420
|
end
|
2908
3421
|
end
|
2909
3422
|
|
3423
|
+
# This field informs Fleet-based applications/services/UIs with the necessary
|
3424
|
+
# information for where each underlying Cluster reports its metrics.
|
3425
|
+
class MonitoringConfig
|
3426
|
+
include Google::Apis::Core::Hashable
|
3427
|
+
|
3428
|
+
# Immutable. Cluster name used to report metrics. For Anthos on VMWare/Baremetal,
|
3429
|
+
# it would be in format `memberClusters/cluster_name`; And for Anthos on
|
3430
|
+
# MultiCloud, it would be in format ``azureClusters, awsClusters`/cluster_name`.
|
3431
|
+
# Corresponds to the JSON property `cluster`
|
3432
|
+
# @return [String]
|
3433
|
+
attr_accessor :cluster
|
3434
|
+
|
3435
|
+
# Immutable. Cluster hash, this is a unique string generated by google code,
|
3436
|
+
# which does not contain any PII, which we can use to reference the cluster.
|
3437
|
+
# This is expected to be created by the monitoring stack and persisted into the
|
3438
|
+
# Cluster object as well as to GKE-Hub.
|
3439
|
+
# Corresponds to the JSON property `clusterHash`
|
3440
|
+
# @return [String]
|
3441
|
+
attr_accessor :cluster_hash
|
3442
|
+
|
3443
|
+
# Kubernetes system metrics, if available, are written to this prefix. This
|
3444
|
+
# defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos
|
3445
|
+
# eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but
|
3446
|
+
# will migration to be under kubernetes.io/anthos
|
3447
|
+
# Corresponds to the JSON property `kubernetesMetricsPrefix`
|
3448
|
+
# @return [String]
|
3449
|
+
attr_accessor :kubernetes_metrics_prefix
|
3450
|
+
|
3451
|
+
# Immutable. Location used to report Metrics
|
3452
|
+
# Corresponds to the JSON property `location`
|
3453
|
+
# @return [String]
|
3454
|
+
attr_accessor :location
|
3455
|
+
|
3456
|
+
# Immutable. Project used to report Metrics
|
3457
|
+
# Corresponds to the JSON property `projectId`
|
3458
|
+
# @return [String]
|
3459
|
+
attr_accessor :project_id
|
3460
|
+
|
3461
|
+
def initialize(**args)
|
3462
|
+
update!(**args)
|
3463
|
+
end
|
3464
|
+
|
3465
|
+
# Update properties of this object
|
3466
|
+
def update!(**args)
|
3467
|
+
@cluster = args[:cluster] if args.key?(:cluster)
|
3468
|
+
@cluster_hash = args[:cluster_hash] if args.key?(:cluster_hash)
|
3469
|
+
@kubernetes_metrics_prefix = args[:kubernetes_metrics_prefix] if args.key?(:kubernetes_metrics_prefix)
|
3470
|
+
@location = args[:location] if args.key?(:location)
|
3471
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
3472
|
+
end
|
3473
|
+
end
|
3474
|
+
|
3475
|
+
# MultiCloudCluster contains information specific to GKE Multi-Cloud clusters.
|
3476
|
+
class MultiCloudCluster
|
3477
|
+
include Google::Apis::Core::Hashable
|
3478
|
+
|
3479
|
+
# Output only. If cluster_missing is set then it denotes that API(gkemulticloud.
|
3480
|
+
# googleapis.com) resource for this GKE Multi-Cloud cluster no longer exists.
|
3481
|
+
# Corresponds to the JSON property `clusterMissing`
|
3482
|
+
# @return [Boolean]
|
3483
|
+
attr_accessor :cluster_missing
|
3484
|
+
alias_method :cluster_missing?, :cluster_missing
|
3485
|
+
|
3486
|
+
# Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud
|
3487
|
+
# cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/
|
3488
|
+
# locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/
|
3489
|
+
# projects/my-project/locations/us-west1-a/azureClusters/my-cluster //
|
3490
|
+
# gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/
|
3491
|
+
# attachedClusters/my-cluster
|
3492
|
+
# Corresponds to the JSON property `resourceLink`
|
3493
|
+
# @return [String]
|
3494
|
+
attr_accessor :resource_link
|
3495
|
+
|
3496
|
+
def initialize(**args)
|
3497
|
+
update!(**args)
|
3498
|
+
end
|
3499
|
+
|
3500
|
+
# Update properties of this object
|
3501
|
+
def update!(**args)
|
3502
|
+
@cluster_missing = args[:cluster_missing] if args.key?(:cluster_missing)
|
3503
|
+
@resource_link = args[:resource_link] if args.key?(:resource_link)
|
3504
|
+
end
|
3505
|
+
end
|
3506
|
+
|
2910
3507
|
# **Multi-cluster Ingress**: The configuration for the MultiClusterIngress
|
2911
3508
|
# feature.
|
2912
3509
|
class MultiClusterIngressFeatureSpec
|
@@ -3028,6 +3625,49 @@ module Google
|
|
3028
3625
|
end
|
3029
3626
|
end
|
3030
3627
|
|
3628
|
+
# OnPremCluster contains information specific to GKE On-Prem clusters.
|
3629
|
+
class OnPremCluster
|
3630
|
+
include Google::Apis::Core::Hashable
|
3631
|
+
|
3632
|
+
# Immutable. Whether the cluster is an admin cluster.
|
3633
|
+
# Corresponds to the JSON property `adminCluster`
|
3634
|
+
# @return [Boolean]
|
3635
|
+
attr_accessor :admin_cluster
|
3636
|
+
alias_method :admin_cluster?, :admin_cluster
|
3637
|
+
|
3638
|
+
# Output only. If cluster_missing is set then it denotes that API(gkeonprem.
|
3639
|
+
# googleapis.com) resource for this GKE On-Prem cluster no longer exists.
|
3640
|
+
# Corresponds to the JSON property `clusterMissing`
|
3641
|
+
# @return [Boolean]
|
3642
|
+
attr_accessor :cluster_missing
|
3643
|
+
alias_method :cluster_missing?, :cluster_missing
|
3644
|
+
|
3645
|
+
# Immutable. The on prem cluster's type.
|
3646
|
+
# Corresponds to the JSON property `clusterType`
|
3647
|
+
# @return [String]
|
3648
|
+
attr_accessor :cluster_type
|
3649
|
+
|
3650
|
+
# Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster.
|
3651
|
+
# For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-
|
3652
|
+
# a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/
|
3653
|
+
# locations/us-west1-a/bareMetalClusters/my-cluster
|
3654
|
+
# Corresponds to the JSON property `resourceLink`
|
3655
|
+
# @return [String]
|
3656
|
+
attr_accessor :resource_link
|
3657
|
+
|
3658
|
+
def initialize(**args)
|
3659
|
+
update!(**args)
|
3660
|
+
end
|
3661
|
+
|
3662
|
+
# Update properties of this object
|
3663
|
+
def update!(**args)
|
3664
|
+
@admin_cluster = args[:admin_cluster] if args.key?(:admin_cluster)
|
3665
|
+
@cluster_missing = args[:cluster_missing] if args.key?(:cluster_missing)
|
3666
|
+
@cluster_type = args[:cluster_type] if args.key?(:cluster_type)
|
3667
|
+
@resource_link = args[:resource_link] if args.key?(:resource_link)
|
3668
|
+
end
|
3669
|
+
end
|
3670
|
+
|
3031
3671
|
# This resource represents a long-running operation that is the result of a
|
3032
3672
|
# network API call.
|
3033
3673
|
class Operation
|
@@ -3785,6 +4425,73 @@ module Google
|
|
3785
4425
|
end
|
3786
4426
|
end
|
3787
4427
|
|
4428
|
+
# ResourceManifest represents a single Kubernetes resource to be applied to the
|
4429
|
+
# cluster.
|
4430
|
+
class ResourceManifest
|
4431
|
+
include Google::Apis::Core::Hashable
|
4432
|
+
|
4433
|
+
# Whether the resource provided in the manifest is `cluster_scoped`. If unset,
|
4434
|
+
# the manifest is assumed to be namespace scoped. This field is used for REST
|
4435
|
+
# mapping when applying the resource in a cluster.
|
4436
|
+
# Corresponds to the JSON property `clusterScoped`
|
4437
|
+
# @return [Boolean]
|
4438
|
+
attr_accessor :cluster_scoped
|
4439
|
+
alias_method :cluster_scoped?, :cluster_scoped
|
4440
|
+
|
4441
|
+
# YAML manifest of the resource.
|
4442
|
+
# Corresponds to the JSON property `manifest`
|
4443
|
+
# @return [String]
|
4444
|
+
attr_accessor :manifest
|
4445
|
+
|
4446
|
+
def initialize(**args)
|
4447
|
+
update!(**args)
|
4448
|
+
end
|
4449
|
+
|
4450
|
+
# Update properties of this object
|
4451
|
+
def update!(**args)
|
4452
|
+
@cluster_scoped = args[:cluster_scoped] if args.key?(:cluster_scoped)
|
4453
|
+
@manifest = args[:manifest] if args.key?(:manifest)
|
4454
|
+
end
|
4455
|
+
end
|
4456
|
+
|
4457
|
+
# ResourceOptions represent options for Kubernetes resource generation.
|
4458
|
+
class ResourceOptions
|
4459
|
+
include Google::Apis::Core::Hashable
|
4460
|
+
|
4461
|
+
# Optional. The Connect agent version to use for connect_resources. Defaults to
|
4462
|
+
# the latest GKE Connect version. The version must be a currently supported
|
4463
|
+
# version, obsolete versions will be rejected.
|
4464
|
+
# Corresponds to the JSON property `connectVersion`
|
4465
|
+
# @return [String]
|
4466
|
+
attr_accessor :connect_version
|
4467
|
+
|
4468
|
+
# Optional. Major version of the Kubernetes cluster. This is only used to
|
4469
|
+
# determine which version to use for the CustomResourceDefinition resources, `
|
4470
|
+
# apiextensions/v1beta1` or`apiextensions/v1`.
|
4471
|
+
# Corresponds to the JSON property `k8sVersion`
|
4472
|
+
# @return [String]
|
4473
|
+
attr_accessor :k8s_version
|
4474
|
+
|
4475
|
+
# Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for
|
4476
|
+
# CustomResourceDefinition resources. This option should be set for clusters
|
4477
|
+
# with Kubernetes apiserver versions <1.16.
|
4478
|
+
# Corresponds to the JSON property `v1beta1Crd`
|
4479
|
+
# @return [Boolean]
|
4480
|
+
attr_accessor :v1beta1_crd
|
4481
|
+
alias_method :v1beta1_crd?, :v1beta1_crd
|
4482
|
+
|
4483
|
+
def initialize(**args)
|
4484
|
+
update!(**args)
|
4485
|
+
end
|
4486
|
+
|
4487
|
+
# Update properties of this object
|
4488
|
+
def update!(**args)
|
4489
|
+
@connect_version = args[:connect_version] if args.key?(:connect_version)
|
4490
|
+
@k8s_version = args[:k8s_version] if args.key?(:k8s_version)
|
4491
|
+
@v1beta1_crd = args[:v1beta1_crd] if args.key?(:v1beta1_crd)
|
4492
|
+
end
|
4493
|
+
end
|
4494
|
+
|
3788
4495
|
# Role is the type for Kubernetes roles
|
3789
4496
|
class Role
|
3790
4497
|
include Google::Apis::Core::Hashable
|
@@ -4169,6 +4876,32 @@ module Google
|
|
4169
4876
|
@permissions = args[:permissions] if args.key?(:permissions)
|
4170
4877
|
end
|
4171
4878
|
end
|
4879
|
+
|
4880
|
+
# TypeMeta is the type information needed for content unmarshalling of
|
4881
|
+
# Kubernetes resources in the manifest.
|
4882
|
+
class TypeMeta
|
4883
|
+
include Google::Apis::Core::Hashable
|
4884
|
+
|
4885
|
+
# APIVersion of the resource (e.g. v1).
|
4886
|
+
# Corresponds to the JSON property `apiVersion`
|
4887
|
+
# @return [String]
|
4888
|
+
attr_accessor :api_version
|
4889
|
+
|
4890
|
+
# Kind of the resource (e.g. Deployment).
|
4891
|
+
# Corresponds to the JSON property `kind`
|
4892
|
+
# @return [String]
|
4893
|
+
attr_accessor :kind
|
4894
|
+
|
4895
|
+
def initialize(**args)
|
4896
|
+
update!(**args)
|
4897
|
+
end
|
4898
|
+
|
4899
|
+
# Update properties of this object
|
4900
|
+
def update!(**args)
|
4901
|
+
@api_version = args[:api_version] if args.key?(:api_version)
|
4902
|
+
@kind = args[:kind] if args.key?(:kind)
|
4903
|
+
end
|
4904
|
+
end
|
4172
4905
|
end
|
4173
4906
|
end
|
4174
4907
|
end
|