google-apis-gkehub_v1beta 0.57.0 → 0.59.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,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
@@ -3808,12 +4515,6 @@ module Google
3808
4515
  class Scope
3809
4516
  include Google::Apis::Core::Hashable
3810
4517
 
3811
- # If true, all Memberships in the Fleet bind to this Scope.
3812
- # Corresponds to the JSON property `allMemberships`
3813
- # @return [Boolean]
3814
- attr_accessor :all_memberships
3815
- alias_method :all_memberships?, :all_memberships
3816
-
3817
4518
  # Output only. When the scope was created.
3818
4519
  # Corresponds to the JSON property `createTime`
3819
4520
  # @return [String]
@@ -3867,7 +4568,6 @@ module Google
3867
4568
 
3868
4569
  # Update properties of this object
3869
4570
  def update!(**args)
3870
- @all_memberships = args[:all_memberships] if args.key?(:all_memberships)
3871
4571
  @create_time = args[:create_time] if args.key?(:create_time)
3872
4572
  @delete_time = args[:delete_time] if args.key?(:delete_time)
3873
4573
  @labels = args[:labels] if args.key?(:labels)
@@ -4176,6 +4876,32 @@ module Google
4176
4876
  @permissions = args[:permissions] if args.key?(:permissions)
4177
4877
  end
4178
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
4179
4905
  end
4180
4906
  end
4181
4907
  end