class Google::Apis::ComposerV1::NodeConfig
The configuration information for the Kubernetes Engine nodes running the Apache Airflow software.
Attributes
Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. Corresponds to the JSON property `diskSizeGb` @return [Fixnum]
Configuration for controlling how IPs are allocated in the GKE cluster running the Apache Airflow software. Corresponds to the JSON property `ipAllocationPolicy` @return [Google::Apis::ComposerV1::IpAllocationPolicy]
Optional. The Compute Engine [zone](/compute/docs/regions-zones) in which to deploy the VMs used to run the Apache Airflow software, specified as a [ relative resource name](/apis/design/resource_names#relative_resource_name). For example: “projects/`projectId`/zones/`zoneId`”. This `location` must belong to the enclosing environment's project and location. If both this field and `nodeConfig.machineType` are specified, `nodeConfig.machineType` must belong to this `location`; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If only one field (`location` or ` nodeConfig.machineType`) is specified, the location information from the specified field will be propagated to the unspecified field. Corresponds to the JSON property `location` @return [String]
Optional. The Compute Engine [machine type](/compute/docs/machine-types) used for cluster instances, specified as a [relative resource name](/apis/design/ resource_names#relative_resource_name). For example: “projects/`projectId`/ zones/`zoneId`/machineTypes/`machineTypeId`”. The `machineType` must belong to the enclosing environment's project and location. If both this field and ` nodeConfig.location` are specified, this `machineType` must belong to the ` nodeConfig.location`; if both are unspecified, the service will pick a zone in the Compute Engine region corresponding to the Cloud Composer location, and propagate that choice to both fields. If exactly one of this field and ` nodeConfig.location` is specified, the location information from the specified field will be propagated to the unspecified field. The `machineTypeId` must not be a [shared-core machine type](/compute/docs/machine-types#sharedcore). If this field is unspecified, the `machineTypeId` defaults to “n1-standard-1”. Corresponds to the JSON property `machineType` @return [String]
Optional. The Compute Engine network to be used for machine communications, specified as a [relative resource name](/apis/design/resource_names# relative_resource_name). For example: “projects/`projectId`/global/networks/` networkId`”. If unspecified, the “default” network ID in the environment's project is used. If a [Custom Subnet Network](/vpc/docs/vpc# vpc_networks_and_subnets) is provided, `nodeConfig.subnetwork` must also be provided. For [Shared VPC](/vpc/docs/shared-vpc) subnetwork requirements, see ` nodeConfig.subnetwork`. Corresponds to the JSON property `network` @return [String]
Optional. The set of Google
API scopes to be made available on all node VMs. If `oauth_scopes` is empty, defaults to [“www.googleapis.com/auth/ cloud-platform”]. Cannot be updated. Corresponds to the JSON property `oauthScopes` @return [Array<String>]
Optional. The Google
Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the “default” Compute Engine service account is used. Cannot be updated. Corresponds to the JSON property `serviceAccount` @return [String]
Optional. The Compute Engine subnetwork to be used for machine communications, specified as a [relative resource name](/apis/design/resource_names# relative_resource_name). For example: “projects/`projectId`/regions/`regionId`/ subnetworks/`subnetworkId`” If a subnetwork is provided, `nodeConfig.network` must also be provided, and the subnetwork must belong to the enclosing environment's project and location. Corresponds to the JSON property `subnetwork` @return [String]
Public Class Methods
# File lib/google/apis/composer_v1/classes.rb, line 642 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/composer_v1/classes.rb, line 647 def update!(**args) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @ip_allocation_policy = args[:ip_allocation_policy] if args.key?(:ip_allocation_policy) @location = args[:location] if args.key?(:location) @machine_type = args[:machine_type] if args.key?(:machine_type) @network = args[:network] if args.key?(:network) @oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes) @service_account = args[:service_account] if args.key?(:service_account) @subnetwork = args[:subnetwork] if args.key?(:subnetwork) @tags = args[:tags] if args.key?(:tags) end