Class: Google::Apis::ContainerV1beta1::ClusterUpdate

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/container_v1beta1/classes.rb,
lib/google/apis/container_v1beta1/representations.rb,
lib/google/apis/container_v1beta1/representations.rb

Overview

ClusterUpdate describes an update to the cluster. Exactly one update can be applied to a cluster with each request, so at most one field can be provided.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ClusterUpdate

Returns a new instance of ClusterUpdate.



1600
1601
1602
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1600

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#additional_pod_ranges_configGoogle::Apis::ContainerV1beta1::AdditionalPodRangesConfig

AdditionalPodRangesConfig is the configuration for additional pod secondary ranges supporting the ClusterUpdate message. Corresponds to the JSON property additionalPodRangesConfig



1296
1297
1298
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1296

def additional_pod_ranges_config
  @additional_pod_ranges_config
end

#desired_addons_configGoogle::Apis::ContainerV1beta1::AddonsConfig

Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. Corresponds to the JSON property desiredAddonsConfig



1302
1303
1304
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1302

def desired_addons_config
  @desired_addons_config
end

#desired_authenticator_groups_configGoogle::Apis::ContainerV1beta1::AuthenticatorGroupsConfig

Configuration for returning group information from authenticators. Corresponds to the JSON property desiredAuthenticatorGroupsConfig



1307
1308
1309
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1307

def desired_authenticator_groups_config
  @desired_authenticator_groups_config
end

#desired_binary_authorizationGoogle::Apis::ContainerV1beta1::BinaryAuthorization

Configuration for Binary Authorization. Corresponds to the JSON property desiredBinaryAuthorization



1312
1313
1314
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1312

def desired_binary_authorization
  @desired_binary_authorization
end

#desired_cluster_autoscalingGoogle::Apis::ContainerV1beta1::ClusterAutoscaling

ClusterAutoscaling contains global, per-cluster information required by Cluster Autoscaler to automatically adjust the size of the cluster and create/ delete node pools based on the current needs. Corresponds to the JSON property desiredClusterAutoscaling



1319
1320
1321
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1319

def desired_cluster_autoscaling
  @desired_cluster_autoscaling
end

#desired_cluster_telemetryGoogle::Apis::ContainerV1beta1::ClusterTelemetry

Telemetry integration for the cluster. Corresponds to the JSON property desiredClusterTelemetry



1324
1325
1326
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1324

def desired_cluster_telemetry
  @desired_cluster_telemetry
end

#desired_cost_management_configGoogle::Apis::ContainerV1beta1::CostManagementConfig

Configuration for fine-grained cost management feature. Corresponds to the JSON property desiredCostManagementConfig



1329
1330
1331
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1329

def desired_cost_management_config
  @desired_cost_management_config
end

#desired_database_encryptionGoogle::Apis::ContainerV1beta1::DatabaseEncryption

Configuration of etcd encryption. Corresponds to the JSON property desiredDatabaseEncryption



1334
1335
1336
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1334

def desired_database_encryption
  @desired_database_encryption
end

#desired_datapath_providerString

The desired datapath provider for the cluster. Corresponds to the JSON property desiredDatapathProvider

Returns:

  • (String)


1339
1340
1341
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1339

def desired_datapath_provider
  @desired_datapath_provider
end

#desired_default_snat_statusGoogle::Apis::ContainerV1beta1::DefaultSnatStatus

DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. Corresponds to the JSON property desiredDefaultSnatStatus



1345
1346
1347
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1345

def desired_default_snat_status
  @desired_default_snat_status
end

#desired_dns_configGoogle::Apis::ContainerV1beta1::DnsConfig

DNSConfig contains the desired set of options for configuring clusterDNS. Corresponds to the JSON property desiredDnsConfig



1350
1351
1352
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1350

def desired_dns_config
  @desired_dns_config
end

#desired_enable_private_endpointBoolean Also known as: desired_enable_private_endpoint?

Enable/Disable private endpoint for the cluster's master. Corresponds to the JSON property desiredEnablePrivateEndpoint

Returns:

  • (Boolean)


1355
1356
1357
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1355

def desired_enable_private_endpoint
  @desired_enable_private_endpoint
end

#desired_fleetGoogle::Apis::ContainerV1beta1::Fleet

Fleet is the fleet configuration for the cluster. Corresponds to the JSON property desiredFleet



1361
1362
1363
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1361

def desired_fleet
  @desired_fleet
end

#desired_gateway_api_configGoogle::Apis::ContainerV1beta1::GatewayApiConfig

GatewayAPIConfig contains the desired config of Gateway API on this cluster. Corresponds to the JSON property desiredGatewayApiConfig



1366
1367
1368
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1366

def desired_gateway_api_config
  @desired_gateway_api_config
end

#desired_gcfs_configGoogle::Apis::ContainerV1beta1::GcfsConfig

GcfsConfig contains configurations of Google Container File System. Corresponds to the JSON property desiredGcfsConfig



1371
1372
1373
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1371

def desired_gcfs_config
  @desired_gcfs_config
end

#desired_identity_service_configGoogle::Apis::ContainerV1beta1::IdentityServiceConfig

IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API Corresponds to the JSON property desiredIdentityServiceConfig



1377
1378
1379
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1377

def desired_identity_service_config
  @desired_identity_service_config
end

#desired_image_typeString

The desired image type for the node pool. NOTE: Set the "desired_node_pool" field as well. Corresponds to the JSON property desiredImageType

Returns:

  • (String)


1383
1384
1385
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1383

def desired_image_type
  @desired_image_type
end

#desired_intra_node_visibility_configGoogle::Apis::ContainerV1beta1::IntraNodeVisibilityConfig

IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster. Corresponds to the JSON property desiredIntraNodeVisibilityConfig



1389
1390
1391
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1389

def desired_intra_node_visibility_config
  @desired_intra_node_visibility_config
end

#desired_l4ilb_subsetting_configGoogle::Apis::ContainerV1beta1::IlbSubsettingConfig

ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer subsetting on this cluster. Corresponds to the JSON property desiredL4ilbSubsettingConfig



1395
1396
1397
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1395

def desired_l4ilb_subsetting_config
  @desired_l4ilb_subsetting_config
end

#desired_locationsArray<String>

The desired list of Google Compute Engine zones in which the cluster's nodes should be located. This list must always include the cluster's primary zone. Warning: changing cluster locations will update the locations of all node pools and will result in nodes being added and/or removed. Corresponds to the JSON property desiredLocations

Returns:

  • (Array<String>)


1404
1405
1406
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1404

def desired_locations
  @desired_locations
end

#desired_logging_configGoogle::Apis::ContainerV1beta1::LoggingConfig

LoggingConfig is cluster logging configuration. Corresponds to the JSON property desiredLoggingConfig



1409
1410
1411
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1409

def desired_logging_config
  @desired_logging_config
end

#desired_logging_serviceString

The logging service the cluster should use to write logs. Currently available options: * logging.googleapis.com/kubernetes - The Cloud Logging service with a Kubernetes-native resource model * logging.googleapis.com - The legacy Cloud Logging service (no longer available as of GKE 1.15). * none - no logs will be exported from the cluster. If left as an empty string,logging. googleapis.com/kubernetes will be used for GKE 1.14+ or logging.googleapis. com for earlier versions. Corresponds to the JSON property desiredLoggingService

Returns:

  • (String)


1420
1421
1422
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1420

def desired_logging_service
  @desired_logging_service
end

#desired_masterGoogle::Apis::ContainerV1beta1::Master

Master is the configuration for components on master. Corresponds to the JSON property desiredMaster



1425
1426
1427
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1425

def desired_master
  @desired_master
end

#desired_master_authorized_networks_configGoogle::Apis::ContainerV1beta1::MasterAuthorizedNetworksConfig

Configuration options for the master authorized networks feature. Enabled master authorized networks will disallow all external traffic to access Kubernetes master through HTTPS except traffic from the given CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs. Corresponds to the JSON property desiredMasterAuthorizedNetworksConfig



1433
1434
1435
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1433

def desired_master_authorized_networks_config
  @desired_master_authorized_networks_config
end

#desired_master_versionString

The Kubernetes version to change the master to. The only valid value is the latest supported version. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - " latest": picks the highest valid Kubernetes version - "1.X": picks the highest valid patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "-": picks the default Kubernetes version Corresponds to the JSON property desiredMasterVersion

Returns:

  • (String)


1444
1445
1446
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1444

def desired_master_version
  @desired_master_version
end

#desired_mesh_certificatesGoogle::Apis::ContainerV1beta1::MeshCertificates

Configuration for issuance of mTLS keys and certificates to Kubernetes pods. Corresponds to the JSON property desiredMeshCertificates



1449
1450
1451
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1449

def desired_mesh_certificates
  @desired_mesh_certificates
end

#desired_monitoring_configGoogle::Apis::ContainerV1beta1::MonitoringConfig

MonitoringConfig is cluster monitoring configuration. Corresponds to the JSON property desiredMonitoringConfig



1454
1455
1456
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1454

def desired_monitoring_config
  @desired_monitoring_config
end

#desired_monitoring_serviceString

The monitoring service the cluster should use to write metrics. Currently available options: * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service with a Kubernetes-native resource model * monitoring. googleapis.com - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * none - No metrics will be exported from the cluster. If left as an empty string,monitoring.googleapis.com/kubernetes will be used for GKE 1.14+ or monitoring.googleapis.com for earlier versions. Corresponds to the JSON property desiredMonitoringService

Returns:

  • (String)


1465
1466
1467
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1465

def desired_monitoring_service
  @desired_monitoring_service
end

#desired_node_pool_auto_config_network_tagsGoogle::Apis::ContainerV1beta1::NetworkTags

Collection of Compute Engine network tags that can be applied to a node's underlying VM instance. (See tags field in NodeConfig). Corresponds to the JSON property desiredNodePoolAutoConfigNetworkTags



1472
1473
1474
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1472

def desired_node_pool_auto_config_network_tags
  @desired_node_pool_auto_config_network_tags
end

#desired_node_pool_autoscalingGoogle::Apis::ContainerV1beta1::NodePoolAutoscaling

NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. Corresponds to the JSON property desiredNodePoolAutoscaling



1478
1479
1480
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1478

def desired_node_pool_autoscaling
  @desired_node_pool_autoscaling
end

#desired_node_pool_idString

The node pool to be upgraded. This field is mandatory if "desired_node_version" , "desired_image_family", "desired_node_pool_autoscaling", or " desired_workload_metadata_config" is specified and there is more than one node pool on the cluster. Corresponds to the JSON property desiredNodePoolId

Returns:

  • (String)


1486
1487
1488
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1486

def desired_node_pool_id
  @desired_node_pool_id
end

#desired_node_pool_logging_configGoogle::Apis::ContainerV1beta1::NodePoolLoggingConfig

NodePoolLoggingConfig specifies logging configuration for nodepools. Corresponds to the JSON property desiredNodePoolLoggingConfig



1491
1492
1493
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1491

def desired_node_pool_logging_config
  @desired_node_pool_logging_config
end

#desired_node_versionString

The Kubernetes version to change the nodes to (typically an upgrade). Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - "latest": picks the highest valid Kubernetes version - "1.X": picks the highest valid patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "-": picks the Kubernetes master version Corresponds to the JSON property desiredNodeVersion

Returns:

  • (String)


1502
1503
1504
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1502

def desired_node_version
  @desired_node_version
end

#desired_notification_configGoogle::Apis::ContainerV1beta1::NotificationConfig

NotificationConfig is the configuration of notifications. Corresponds to the JSON property desiredNotificationConfig



1507
1508
1509
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1507

def desired_notification_config
  @desired_notification_config
end

#desired_pod_security_policy_configGoogle::Apis::ContainerV1beta1::PodSecurityPolicyConfig

Configuration for the PodSecurityPolicy feature. Corresponds to the JSON property desiredPodSecurityPolicyConfig



1512
1513
1514
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1512

def desired_pod_security_policy_config
  @desired_pod_security_policy_config
end

#desired_private_cluster_configGoogle::Apis::ContainerV1beta1::PrivateClusterConfig

Configuration options for private clusters. Corresponds to the JSON property desiredPrivateClusterConfig



1517
1518
1519
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1517

def desired_private_cluster_config
  @desired_private_cluster_config
end

#desired_private_ipv6_google_accessString

The desired state of IPv6 connectivity to Google Services. Corresponds to the JSON property desiredPrivateIpv6GoogleAccess

Returns:

  • (String)


1522
1523
1524
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1522

def desired_private_ipv6_google_access
  @desired_private_ipv6_google_access
end

#desired_protect_configGoogle::Apis::ContainerV1beta1::ProtectConfig

ProtectConfig defines the flags needed to enable/disable features for the Protect API. Corresponds to the JSON property desiredProtectConfig



1528
1529
1530
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1528

def desired_protect_config
  @desired_protect_config
end

#desired_release_channelGoogle::Apis::ContainerV1beta1::ReleaseChannel

ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in order of risk. When a cluster is subscribed to a release channel, Google maintains both the master version and the node version. Node auto-upgrade defaults to true and cannot be disabled. Corresponds to the JSON property desiredReleaseChannel



1536
1537
1538
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1536

def desired_release_channel
  @desired_release_channel
end

#desired_resource_usage_export_configGoogle::Apis::ContainerV1beta1::ResourceUsageExportConfig

Configuration for exporting cluster resource usages. Corresponds to the JSON property desiredResourceUsageExportConfig



1541
1542
1543
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1541

def desired_resource_usage_export_config
  @desired_resource_usage_export_config
end

#desired_service_external_ips_configGoogle::Apis::ContainerV1beta1::ServiceExternalIPsConfig

Config to block services with externalIPs field. Corresponds to the JSON property desiredServiceExternalIpsConfig



1546
1547
1548
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1546

def desired_service_external_ips_config
  @desired_service_external_ips_config
end

#desired_shielded_nodesGoogle::Apis::ContainerV1beta1::ShieldedNodes

Configuration of Shielded Nodes feature. Corresponds to the JSON property desiredShieldedNodes



1551
1552
1553
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1551

def desired_shielded_nodes
  @desired_shielded_nodes
end

#desired_stack_typeString

The desired stack type of the cluster. If a stack type is provided and does not match the current stack type of the cluster, update will attempt to change the stack type to the new type. Corresponds to the JSON property desiredStackType

Returns:

  • (String)


1558
1559
1560
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1558

def desired_stack_type
  @desired_stack_type
end

#desired_tpu_configGoogle::Apis::ContainerV1beta1::TpuConfig

Configuration for Cloud TPU. Corresponds to the JSON property desiredTpuConfig



1563
1564
1565
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1563

def desired_tpu_config
  @desired_tpu_config
end

#desired_vertical_pod_autoscalingGoogle::Apis::ContainerV1beta1::VerticalPodAutoscaling

VerticalPodAutoscaling contains global, per-cluster information required by Vertical Pod Autoscaler to automatically adjust the resources of pods controlled by it. Corresponds to the JSON property desiredVerticalPodAutoscaling



1570
1571
1572
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1570

def desired_vertical_pod_autoscaling
  @desired_vertical_pod_autoscaling
end

#desired_workload_alts_configGoogle::Apis::ContainerV1beta1::WorkloadAltsConfig

Configuration for direct-path (via ALTS) with workload identity. Corresponds to the JSON property desiredWorkloadAltsConfig



1575
1576
1577
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1575

def desired_workload_alts_config
  @desired_workload_alts_config
end

#desired_workload_certificatesGoogle::Apis::ContainerV1beta1::WorkloadCertificates

Configuration for issuance of mTLS keys and certificates to Kubernetes pods. Corresponds to the JSON property desiredWorkloadCertificates



1580
1581
1582
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1580

def desired_workload_certificates
  @desired_workload_certificates
end

#desired_workload_identity_configGoogle::Apis::ContainerV1beta1::WorkloadIdentityConfig

Configuration for the use of Kubernetes Service Accounts in GCP IAM policies. Corresponds to the JSON property desiredWorkloadIdentityConfig



1585
1586
1587
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1585

def desired_workload_identity_config
  @desired_workload_identity_config
end

#etagString

The current etag of the cluster. If an etag is provided and does not match the current etag of the cluster, update will be blocked and an ABORTED error will be returned. Corresponds to the JSON property etag

Returns:

  • (String)


1592
1593
1594
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1592

def etag
  @etag
end

#removed_additional_pod_ranges_configGoogle::Apis::ContainerV1beta1::AdditionalPodRangesConfig

AdditionalPodRangesConfig is the configuration for additional pod secondary ranges supporting the ClusterUpdate message. Corresponds to the JSON property removedAdditionalPodRangesConfig



1598
1599
1600
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1598

def removed_additional_pod_ranges_config
  @removed_additional_pod_ranges_config
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
# File 'lib/google/apis/container_v1beta1/classes.rb', line 1605

def update!(**args)
  @additional_pod_ranges_config = args[:additional_pod_ranges_config] if args.key?(:additional_pod_ranges_config)
  @desired_addons_config = args[:desired_addons_config] if args.key?(:desired_addons_config)
  @desired_authenticator_groups_config = args[:desired_authenticator_groups_config] if args.key?(:desired_authenticator_groups_config)
  @desired_binary_authorization = args[:desired_binary_authorization] if args.key?(:desired_binary_authorization)
  @desired_cluster_autoscaling = args[:desired_cluster_autoscaling] if args.key?(:desired_cluster_autoscaling)
  @desired_cluster_telemetry = args[:desired_cluster_telemetry] if args.key?(:desired_cluster_telemetry)
  @desired_cost_management_config = args[:desired_cost_management_config] if args.key?(:desired_cost_management_config)
  @desired_database_encryption = args[:desired_database_encryption] if args.key?(:desired_database_encryption)
  @desired_datapath_provider = args[:desired_datapath_provider] if args.key?(:desired_datapath_provider)
  @desired_default_snat_status = args[:desired_default_snat_status] if args.key?(:desired_default_snat_status)
  @desired_dns_config = args[:desired_dns_config] if args.key?(:desired_dns_config)
  @desired_enable_private_endpoint = args[:desired_enable_private_endpoint] if args.key?(:desired_enable_private_endpoint)
  @desired_fleet = args[:desired_fleet] if args.key?(:desired_fleet)
  @desired_gateway_api_config = args[:desired_gateway_api_config] if args.key?(:desired_gateway_api_config)
  @desired_gcfs_config = args[:desired_gcfs_config] if args.key?(:desired_gcfs_config)
  @desired_identity_service_config = args[:desired_identity_service_config] if args.key?(:desired_identity_service_config)
  @desired_image_type = args[:desired_image_type] if args.key?(:desired_image_type)
  @desired_intra_node_visibility_config = args[:desired_intra_node_visibility_config] if args.key?(:desired_intra_node_visibility_config)
  @desired_l4ilb_subsetting_config = args[:desired_l4ilb_subsetting_config] if args.key?(:desired_l4ilb_subsetting_config)
  @desired_locations = args[:desired_locations] if args.key?(:desired_locations)
  @desired_logging_config = args[:desired_logging_config] if args.key?(:desired_logging_config)
  @desired_logging_service = args[:desired_logging_service] if args.key?(:desired_logging_service)
  @desired_master = args[:desired_master] if args.key?(:desired_master)
  @desired_master_authorized_networks_config = args[:desired_master_authorized_networks_config] if args.key?(:desired_master_authorized_networks_config)
  @desired_master_version = args[:desired_master_version] if args.key?(:desired_master_version)
  @desired_mesh_certificates = args[:desired_mesh_certificates] if args.key?(:desired_mesh_certificates)
  @desired_monitoring_config = args[:desired_monitoring_config] if args.key?(:desired_monitoring_config)
  @desired_monitoring_service = args[:desired_monitoring_service] if args.key?(:desired_monitoring_service)
  @desired_node_pool_auto_config_network_tags = args[:desired_node_pool_auto_config_network_tags] if args.key?(:desired_node_pool_auto_config_network_tags)
  @desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling)
  @desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id)
  @desired_node_pool_logging_config = args[:desired_node_pool_logging_config] if args.key?(:desired_node_pool_logging_config)
  @desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version)
  @desired_notification_config = args[:desired_notification_config] if args.key?(:desired_notification_config)
  @desired_pod_security_policy_config = args[:desired_pod_security_policy_config] if args.key?(:desired_pod_security_policy_config)
  @desired_private_cluster_config = args[:desired_private_cluster_config] if args.key?(:desired_private_cluster_config)
  @desired_private_ipv6_google_access = args[:desired_private_ipv6_google_access] if args.key?(:desired_private_ipv6_google_access)
  @desired_protect_config = args[:desired_protect_config] if args.key?(:desired_protect_config)
  @desired_release_channel = args[:desired_release_channel] if args.key?(:desired_release_channel)
  @desired_resource_usage_export_config = args[:desired_resource_usage_export_config] if args.key?(:desired_resource_usage_export_config)
  @desired_service_external_ips_config = args[:desired_service_external_ips_config] if args.key?(:desired_service_external_ips_config)
  @desired_shielded_nodes = args[:desired_shielded_nodes] if args.key?(:desired_shielded_nodes)
  @desired_stack_type = args[:desired_stack_type] if args.key?(:desired_stack_type)
  @desired_tpu_config = args[:desired_tpu_config] if args.key?(:desired_tpu_config)
  @desired_vertical_pod_autoscaling = args[:desired_vertical_pod_autoscaling] if args.key?(:desired_vertical_pod_autoscaling)
  @desired_workload_alts_config = args[:desired_workload_alts_config] if args.key?(:desired_workload_alts_config)
  @desired_workload_certificates = args[:desired_workload_certificates] if args.key?(:desired_workload_certificates)
  @desired_workload_identity_config = args[:desired_workload_identity_config] if args.key?(:desired_workload_identity_config)
  @etag = args[:etag] if args.key?(:etag)
  @removed_additional_pod_ranges_config = args[:removed_additional_pod_ranges_config] if args.key?(:removed_additional_pod_ranges_config)
end