google-apis-gkehub_v1beta 0.58.0 → 0.60.0
Sign up to get free protection for your applications and to get access to all the features.
@@ -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,118 @@ 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
|
+
# MonitoringConfig informs Fleet-based applications/services/UIs how the metrics
|
3015
|
+
# for the underlying cluster is reported to cloud monitoring services. It can be
|
3016
|
+
# set from empty to non-empty, but can't be mutated directly to prevent
|
3017
|
+
# accidentally breaking the constinousty of metrics.
|
3018
|
+
# Corresponds to the JSON property `monitoringConfig`
|
3019
|
+
# @return [Google::Apis::GkehubV1beta::MonitoringConfig]
|
3020
|
+
attr_accessor :monitoring_config
|
3021
|
+
|
3022
|
+
# Output only. The full, unique name of this Membership resource in the format `
|
3023
|
+
# projects/*/locations/*/memberships/`membership_id``, set during creation. `
|
3024
|
+
# membership_id` must be a valid RFC 1123 compliant DNS label: 1. At most 63
|
3025
|
+
# characters in length 2. It must consist of lower case alphanumeric characters
|
3026
|
+
# or `-` 3. It must start and end with an alphanumeric character Which can be
|
3027
|
+
# expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length
|
3028
|
+
# of 63 characters.
|
3029
|
+
# Corresponds to the JSON property `name`
|
3030
|
+
# @return [String]
|
3031
|
+
attr_accessor :name
|
3032
|
+
|
3033
|
+
# MembershipState describes the state of a Membership resource.
|
3034
|
+
# Corresponds to the JSON property `state`
|
3035
|
+
# @return [Google::Apis::GkehubV1beta::MembershipState]
|
3036
|
+
attr_accessor :state
|
3037
|
+
|
3038
|
+
# Output only. Google-generated UUID for this resource. This is unique across
|
3039
|
+
# all Membership resources. If a Membership resource is deleted and another
|
3040
|
+
# resource with the same name is created, it gets a different unique_id.
|
3041
|
+
# Corresponds to the JSON property `uniqueId`
|
3042
|
+
# @return [String]
|
3043
|
+
attr_accessor :unique_id
|
3044
|
+
|
3045
|
+
# Output only. When the Membership was last updated.
|
3046
|
+
# Corresponds to the JSON property `updateTime`
|
3047
|
+
# @return [String]
|
3048
|
+
attr_accessor :update_time
|
3049
|
+
|
3050
|
+
def initialize(**args)
|
3051
|
+
update!(**args)
|
3052
|
+
end
|
3053
|
+
|
3054
|
+
# Update properties of this object
|
3055
|
+
def update!(**args)
|
3056
|
+
@authority = args[:authority] if args.key?(:authority)
|
3057
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
3058
|
+
@delete_time = args[:delete_time] if args.key?(:delete_time)
|
3059
|
+
@description = args[:description] if args.key?(:description)
|
3060
|
+
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
3061
|
+
@external_id = args[:external_id] if args.key?(:external_id)
|
3062
|
+
@labels = args[:labels] if args.key?(:labels)
|
3063
|
+
@last_connection_time = args[:last_connection_time] if args.key?(:last_connection_time)
|
3064
|
+
@monitoring_config = args[:monitoring_config] if args.key?(:monitoring_config)
|
3065
|
+
@name = args[:name] if args.key?(:name)
|
3066
|
+
@state = args[:state] if args.key?(:state)
|
3067
|
+
@unique_id = args[:unique_id] if args.key?(:unique_id)
|
3068
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
3069
|
+
end
|
3070
|
+
end
|
3071
|
+
|
2643
3072
|
# MembershipBinding is a subresource of a Membership, representing what Fleet
|
2644
3073
|
# Scopes (or other, future Fleet resources) a Membership is bound to.
|
2645
3074
|
class MembershipBinding
|
@@ -2724,6 +3153,73 @@ module Google
|
|
2724
3153
|
end
|
2725
3154
|
end
|
2726
3155
|
|
3156
|
+
# MembershipEndpoint contains information needed to contact a Kubernetes API,
|
3157
|
+
# endpoint and any additional Kubernetes metadata.
|
3158
|
+
class MembershipEndpoint
|
3159
|
+
include Google::Apis::Core::Hashable
|
3160
|
+
|
3161
|
+
# ApplianceCluster contains information specific to GDC Edge Appliance Clusters.
|
3162
|
+
# Corresponds to the JSON property `applianceCluster`
|
3163
|
+
# @return [Google::Apis::GkehubV1beta::ApplianceCluster]
|
3164
|
+
attr_accessor :appliance_cluster
|
3165
|
+
|
3166
|
+
# EdgeCluster contains information specific to Google Edge Clusters.
|
3167
|
+
# Corresponds to the JSON property `edgeCluster`
|
3168
|
+
# @return [Google::Apis::GkehubV1beta::EdgeCluster]
|
3169
|
+
attr_accessor :edge_cluster
|
3170
|
+
|
3171
|
+
# GkeCluster contains information specific to GKE clusters.
|
3172
|
+
# Corresponds to the JSON property `gkeCluster`
|
3173
|
+
# @return [Google::Apis::GkehubV1beta::GkeCluster]
|
3174
|
+
attr_accessor :gke_cluster
|
3175
|
+
|
3176
|
+
# Output only. Whether the lifecycle of this membership is managed by a google
|
3177
|
+
# cluster platform service.
|
3178
|
+
# Corresponds to the JSON property `googleManaged`
|
3179
|
+
# @return [Boolean]
|
3180
|
+
attr_accessor :google_managed
|
3181
|
+
alias_method :google_managed?, :google_managed
|
3182
|
+
|
3183
|
+
# KubernetesMetadata provides informational metadata for Memberships
|
3184
|
+
# representing Kubernetes clusters.
|
3185
|
+
# Corresponds to the JSON property `kubernetesMetadata`
|
3186
|
+
# @return [Google::Apis::GkehubV1beta::KubernetesMetadata]
|
3187
|
+
attr_accessor :kubernetes_metadata
|
3188
|
+
|
3189
|
+
# KubernetesResource contains the YAML manifests and configuration for
|
3190
|
+
# Membership Kubernetes resources in the cluster. After CreateMembership or
|
3191
|
+
# UpdateMembership, these resources should be re-applied in the cluster.
|
3192
|
+
# Corresponds to the JSON property `kubernetesResource`
|
3193
|
+
# @return [Google::Apis::GkehubV1beta::KubernetesResource]
|
3194
|
+
attr_accessor :kubernetes_resource
|
3195
|
+
|
3196
|
+
# MultiCloudCluster contains information specific to GKE Multi-Cloud clusters.
|
3197
|
+
# Corresponds to the JSON property `multiCloudCluster`
|
3198
|
+
# @return [Google::Apis::GkehubV1beta::MultiCloudCluster]
|
3199
|
+
attr_accessor :multi_cloud_cluster
|
3200
|
+
|
3201
|
+
# OnPremCluster contains information specific to GKE On-Prem clusters.
|
3202
|
+
# Corresponds to the JSON property `onPremCluster`
|
3203
|
+
# @return [Google::Apis::GkehubV1beta::OnPremCluster]
|
3204
|
+
attr_accessor :on_prem_cluster
|
3205
|
+
|
3206
|
+
def initialize(**args)
|
3207
|
+
update!(**args)
|
3208
|
+
end
|
3209
|
+
|
3210
|
+
# Update properties of this object
|
3211
|
+
def update!(**args)
|
3212
|
+
@appliance_cluster = args[:appliance_cluster] if args.key?(:appliance_cluster)
|
3213
|
+
@edge_cluster = args[:edge_cluster] if args.key?(:edge_cluster)
|
3214
|
+
@gke_cluster = args[:gke_cluster] if args.key?(:gke_cluster)
|
3215
|
+
@google_managed = args[:google_managed] if args.key?(:google_managed)
|
3216
|
+
@kubernetes_metadata = args[:kubernetes_metadata] if args.key?(:kubernetes_metadata)
|
3217
|
+
@kubernetes_resource = args[:kubernetes_resource] if args.key?(:kubernetes_resource)
|
3218
|
+
@multi_cloud_cluster = args[:multi_cloud_cluster] if args.key?(:multi_cloud_cluster)
|
3219
|
+
@on_prem_cluster = args[:on_prem_cluster] if args.key?(:on_prem_cluster)
|
3220
|
+
end
|
3221
|
+
end
|
3222
|
+
|
2727
3223
|
# MembershipFeatureSpec contains configuration information for a single
|
2728
3224
|
# Membership. NOTE: Please use snake case in your feature name.
|
2729
3225
|
class MembershipFeatureSpec
|
@@ -2880,6 +3376,25 @@ module Google
|
|
2880
3376
|
end
|
2881
3377
|
end
|
2882
3378
|
|
3379
|
+
# MembershipState describes the state of a Membership resource.
|
3380
|
+
class MembershipState
|
3381
|
+
include Google::Apis::Core::Hashable
|
3382
|
+
|
3383
|
+
# Output only. The current state of the Membership resource.
|
3384
|
+
# Corresponds to the JSON property `code`
|
3385
|
+
# @return [String]
|
3386
|
+
attr_accessor :code
|
3387
|
+
|
3388
|
+
def initialize(**args)
|
3389
|
+
update!(**args)
|
3390
|
+
end
|
3391
|
+
|
3392
|
+
# Update properties of this object
|
3393
|
+
def update!(**args)
|
3394
|
+
@code = args[:code] if args.key?(:code)
|
3395
|
+
end
|
3396
|
+
end
|
3397
|
+
|
2883
3398
|
# **Metering**: Per-Membership Feature State.
|
2884
3399
|
class MeteringMembershipState
|
2885
3400
|
include Google::Apis::Core::Hashable
|
@@ -2907,6 +3422,90 @@ module Google
|
|
2907
3422
|
end
|
2908
3423
|
end
|
2909
3424
|
|
3425
|
+
# MonitoringConfig informs Fleet-based applications/services/UIs how the metrics
|
3426
|
+
# for the underlying cluster is reported to cloud monitoring services. It can be
|
3427
|
+
# set from empty to non-empty, but can't be mutated directly to prevent
|
3428
|
+
# accidentally breaking the constinousty of metrics.
|
3429
|
+
class MonitoringConfig
|
3430
|
+
include Google::Apis::Core::Hashable
|
3431
|
+
|
3432
|
+
# Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/
|
3433
|
+
# MultiCloud clusters, it would be in format `cluster_type`/`cluster_name`, e.g.,
|
3434
|
+
# "awsClusters/cluster_1".
|
3435
|
+
# Corresponds to the JSON property `cluster`
|
3436
|
+
# @return [String]
|
3437
|
+
attr_accessor :cluster
|
3438
|
+
|
3439
|
+
# Optional. For GKE and Multicloud clusters, this is the UUID of the cluster
|
3440
|
+
# resource. For VMWare and Baremetal clusters, this is the kube-system UID.
|
3441
|
+
# Corresponds to the JSON property `clusterHash`
|
3442
|
+
# @return [String]
|
3443
|
+
attr_accessor :cluster_hash
|
3444
|
+
|
3445
|
+
# Optional. Kubernetes system metrics, if available, are written to this prefix.
|
3446
|
+
# This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos
|
3447
|
+
# eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but
|
3448
|
+
# will migration to be under kubernetes.io/anthos.
|
3449
|
+
# Corresponds to the JSON property `kubernetesMetricsPrefix`
|
3450
|
+
# @return [String]
|
3451
|
+
attr_accessor :kubernetes_metrics_prefix
|
3452
|
+
|
3453
|
+
# Optional. Location used to report Metrics
|
3454
|
+
# Corresponds to the JSON property `location`
|
3455
|
+
# @return [String]
|
3456
|
+
attr_accessor :location
|
3457
|
+
|
3458
|
+
# Optional. Project used to report Metrics
|
3459
|
+
# Corresponds to the JSON property `projectId`
|
3460
|
+
# @return [String]
|
3461
|
+
attr_accessor :project_id
|
3462
|
+
|
3463
|
+
def initialize(**args)
|
3464
|
+
update!(**args)
|
3465
|
+
end
|
3466
|
+
|
3467
|
+
# Update properties of this object
|
3468
|
+
def update!(**args)
|
3469
|
+
@cluster = args[:cluster] if args.key?(:cluster)
|
3470
|
+
@cluster_hash = args[:cluster_hash] if args.key?(:cluster_hash)
|
3471
|
+
@kubernetes_metrics_prefix = args[:kubernetes_metrics_prefix] if args.key?(:kubernetes_metrics_prefix)
|
3472
|
+
@location = args[:location] if args.key?(:location)
|
3473
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
3474
|
+
end
|
3475
|
+
end
|
3476
|
+
|
3477
|
+
# MultiCloudCluster contains information specific to GKE Multi-Cloud clusters.
|
3478
|
+
class MultiCloudCluster
|
3479
|
+
include Google::Apis::Core::Hashable
|
3480
|
+
|
3481
|
+
# Output only. If cluster_missing is set then it denotes that API(gkemulticloud.
|
3482
|
+
# googleapis.com) resource for this GKE Multi-Cloud cluster no longer exists.
|
3483
|
+
# Corresponds to the JSON property `clusterMissing`
|
3484
|
+
# @return [Boolean]
|
3485
|
+
attr_accessor :cluster_missing
|
3486
|
+
alias_method :cluster_missing?, :cluster_missing
|
3487
|
+
|
3488
|
+
# Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud
|
3489
|
+
# cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/
|
3490
|
+
# locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/
|
3491
|
+
# projects/my-project/locations/us-west1-a/azureClusters/my-cluster //
|
3492
|
+
# gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/
|
3493
|
+
# attachedClusters/my-cluster
|
3494
|
+
# Corresponds to the JSON property `resourceLink`
|
3495
|
+
# @return [String]
|
3496
|
+
attr_accessor :resource_link
|
3497
|
+
|
3498
|
+
def initialize(**args)
|
3499
|
+
update!(**args)
|
3500
|
+
end
|
3501
|
+
|
3502
|
+
# Update properties of this object
|
3503
|
+
def update!(**args)
|
3504
|
+
@cluster_missing = args[:cluster_missing] if args.key?(:cluster_missing)
|
3505
|
+
@resource_link = args[:resource_link] if args.key?(:resource_link)
|
3506
|
+
end
|
3507
|
+
end
|
3508
|
+
|
2910
3509
|
# **Multi-cluster Ingress**: The configuration for the MultiClusterIngress
|
2911
3510
|
# feature.
|
2912
3511
|
class MultiClusterIngressFeatureSpec
|
@@ -3028,6 +3627,49 @@ module Google
|
|
3028
3627
|
end
|
3029
3628
|
end
|
3030
3629
|
|
3630
|
+
# OnPremCluster contains information specific to GKE On-Prem clusters.
|
3631
|
+
class OnPremCluster
|
3632
|
+
include Google::Apis::Core::Hashable
|
3633
|
+
|
3634
|
+
# Immutable. Whether the cluster is an admin cluster.
|
3635
|
+
# Corresponds to the JSON property `adminCluster`
|
3636
|
+
# @return [Boolean]
|
3637
|
+
attr_accessor :admin_cluster
|
3638
|
+
alias_method :admin_cluster?, :admin_cluster
|
3639
|
+
|
3640
|
+
# Output only. If cluster_missing is set then it denotes that API(gkeonprem.
|
3641
|
+
# googleapis.com) resource for this GKE On-Prem cluster no longer exists.
|
3642
|
+
# Corresponds to the JSON property `clusterMissing`
|
3643
|
+
# @return [Boolean]
|
3644
|
+
attr_accessor :cluster_missing
|
3645
|
+
alias_method :cluster_missing?, :cluster_missing
|
3646
|
+
|
3647
|
+
# Immutable. The on prem cluster's type.
|
3648
|
+
# Corresponds to the JSON property `clusterType`
|
3649
|
+
# @return [String]
|
3650
|
+
attr_accessor :cluster_type
|
3651
|
+
|
3652
|
+
# Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster.
|
3653
|
+
# For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-
|
3654
|
+
# a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/
|
3655
|
+
# locations/us-west1-a/bareMetalClusters/my-cluster
|
3656
|
+
# Corresponds to the JSON property `resourceLink`
|
3657
|
+
# @return [String]
|
3658
|
+
attr_accessor :resource_link
|
3659
|
+
|
3660
|
+
def initialize(**args)
|
3661
|
+
update!(**args)
|
3662
|
+
end
|
3663
|
+
|
3664
|
+
# Update properties of this object
|
3665
|
+
def update!(**args)
|
3666
|
+
@admin_cluster = args[:admin_cluster] if args.key?(:admin_cluster)
|
3667
|
+
@cluster_missing = args[:cluster_missing] if args.key?(:cluster_missing)
|
3668
|
+
@cluster_type = args[:cluster_type] if args.key?(:cluster_type)
|
3669
|
+
@resource_link = args[:resource_link] if args.key?(:resource_link)
|
3670
|
+
end
|
3671
|
+
end
|
3672
|
+
|
3031
3673
|
# This resource represents a long-running operation that is the result of a
|
3032
3674
|
# network API call.
|
3033
3675
|
class Operation
|
@@ -3785,6 +4427,73 @@ module Google
|
|
3785
4427
|
end
|
3786
4428
|
end
|
3787
4429
|
|
4430
|
+
# ResourceManifest represents a single Kubernetes resource to be applied to the
|
4431
|
+
# cluster.
|
4432
|
+
class ResourceManifest
|
4433
|
+
include Google::Apis::Core::Hashable
|
4434
|
+
|
4435
|
+
# Whether the resource provided in the manifest is `cluster_scoped`. If unset,
|
4436
|
+
# the manifest is assumed to be namespace scoped. This field is used for REST
|
4437
|
+
# mapping when applying the resource in a cluster.
|
4438
|
+
# Corresponds to the JSON property `clusterScoped`
|
4439
|
+
# @return [Boolean]
|
4440
|
+
attr_accessor :cluster_scoped
|
4441
|
+
alias_method :cluster_scoped?, :cluster_scoped
|
4442
|
+
|
4443
|
+
# YAML manifest of the resource.
|
4444
|
+
# Corresponds to the JSON property `manifest`
|
4445
|
+
# @return [String]
|
4446
|
+
attr_accessor :manifest
|
4447
|
+
|
4448
|
+
def initialize(**args)
|
4449
|
+
update!(**args)
|
4450
|
+
end
|
4451
|
+
|
4452
|
+
# Update properties of this object
|
4453
|
+
def update!(**args)
|
4454
|
+
@cluster_scoped = args[:cluster_scoped] if args.key?(:cluster_scoped)
|
4455
|
+
@manifest = args[:manifest] if args.key?(:manifest)
|
4456
|
+
end
|
4457
|
+
end
|
4458
|
+
|
4459
|
+
# ResourceOptions represent options for Kubernetes resource generation.
|
4460
|
+
class ResourceOptions
|
4461
|
+
include Google::Apis::Core::Hashable
|
4462
|
+
|
4463
|
+
# Optional. The Connect agent version to use for connect_resources. Defaults to
|
4464
|
+
# the latest GKE Connect version. The version must be a currently supported
|
4465
|
+
# version, obsolete versions will be rejected.
|
4466
|
+
# Corresponds to the JSON property `connectVersion`
|
4467
|
+
# @return [String]
|
4468
|
+
attr_accessor :connect_version
|
4469
|
+
|
4470
|
+
# Optional. Major version of the Kubernetes cluster. This is only used to
|
4471
|
+
# determine which version to use for the CustomResourceDefinition resources, `
|
4472
|
+
# apiextensions/v1beta1` or`apiextensions/v1`.
|
4473
|
+
# Corresponds to the JSON property `k8sVersion`
|
4474
|
+
# @return [String]
|
4475
|
+
attr_accessor :k8s_version
|
4476
|
+
|
4477
|
+
# Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for
|
4478
|
+
# CustomResourceDefinition resources. This option should be set for clusters
|
4479
|
+
# with Kubernetes apiserver versions <1.16.
|
4480
|
+
# Corresponds to the JSON property `v1beta1Crd`
|
4481
|
+
# @return [Boolean]
|
4482
|
+
attr_accessor :v1beta1_crd
|
4483
|
+
alias_method :v1beta1_crd?, :v1beta1_crd
|
4484
|
+
|
4485
|
+
def initialize(**args)
|
4486
|
+
update!(**args)
|
4487
|
+
end
|
4488
|
+
|
4489
|
+
# Update properties of this object
|
4490
|
+
def update!(**args)
|
4491
|
+
@connect_version = args[:connect_version] if args.key?(:connect_version)
|
4492
|
+
@k8s_version = args[:k8s_version] if args.key?(:k8s_version)
|
4493
|
+
@v1beta1_crd = args[:v1beta1_crd] if args.key?(:v1beta1_crd)
|
4494
|
+
end
|
4495
|
+
end
|
4496
|
+
|
3788
4497
|
# Role is the type for Kubernetes roles
|
3789
4498
|
class Role
|
3790
4499
|
include Google::Apis::Core::Hashable
|
@@ -4169,6 +4878,32 @@ module Google
|
|
4169
4878
|
@permissions = args[:permissions] if args.key?(:permissions)
|
4170
4879
|
end
|
4171
4880
|
end
|
4881
|
+
|
4882
|
+
# TypeMeta is the type information needed for content unmarshalling of
|
4883
|
+
# Kubernetes resources in the manifest.
|
4884
|
+
class TypeMeta
|
4885
|
+
include Google::Apis::Core::Hashable
|
4886
|
+
|
4887
|
+
# APIVersion of the resource (e.g. v1).
|
4888
|
+
# Corresponds to the JSON property `apiVersion`
|
4889
|
+
# @return [String]
|
4890
|
+
attr_accessor :api_version
|
4891
|
+
|
4892
|
+
# Kind of the resource (e.g. Deployment).
|
4893
|
+
# Corresponds to the JSON property `kind`
|
4894
|
+
# @return [String]
|
4895
|
+
attr_accessor :kind
|
4896
|
+
|
4897
|
+
def initialize(**args)
|
4898
|
+
update!(**args)
|
4899
|
+
end
|
4900
|
+
|
4901
|
+
# Update properties of this object
|
4902
|
+
def update!(**args)
|
4903
|
+
@api_version = args[:api_version] if args.key?(:api_version)
|
4904
|
+
@kind = args[:kind] if args.key?(:kind)
|
4905
|
+
end
|
4906
|
+
end
|
4172
4907
|
end
|
4173
4908
|
end
|
4174
4909
|
end
|