Class NodeConfig

  • All Implemented Interfaces:
    NodeConfigOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class NodeConfig
    extends com.google.protobuf.GeneratedMessageV3
    implements NodeConfigOrBuilder
     The configuration information for the Kubernetes Engine nodes running
     the Apache Airflow software.
     
    Protobuf type google.cloud.orchestration.airflow.service.v1.NodeConfig
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getLocation

        public String getLocation()
         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.
        
         This field is supported for Cloud Composer environments in versions
         composer-1.*.*-airflow-*.*.*.
         
        string location = 1;
        Specified by:
        getLocation in interface NodeConfigOrBuilder
        Returns:
        The location.
      • getLocationBytes

        public com.google.protobuf.ByteString getLocationBytes()
         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.
        
         This field is supported for Cloud Composer environments in versions
         composer-1.*.*-airflow-*.*.*.
         
        string location = 1;
        Specified by:
        getLocationBytes in interface NodeConfigOrBuilder
        Returns:
        The bytes for location.
      • getMachineType

        public String getMachineType()
         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".
        
         This field is supported for Cloud Composer environments in versions
         composer-1.*.*-airflow-*.*.*.
         
        string machine_type = 2;
        Specified by:
        getMachineType in interface NodeConfigOrBuilder
        Returns:
        The machineType.
      • getMachineTypeBytes

        public com.google.protobuf.ByteString getMachineTypeBytes()
         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".
        
         This field is supported for Cloud Composer environments in versions
         composer-1.*.*-airflow-*.*.*.
         
        string machine_type = 2;
        Specified by:
        getMachineTypeBytes in interface NodeConfigOrBuilder
        Returns:
        The bytes for machineType.
      • getNetwork

        public String getNetwork()
         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`.
         
        string network = 3;
        Specified by:
        getNetwork in interface NodeConfigOrBuilder
        Returns:
        The network.
      • getNetworkBytes

        public com.google.protobuf.ByteString getNetworkBytes()
         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`.
         
        string network = 3;
        Specified by:
        getNetworkBytes in interface NodeConfigOrBuilder
        Returns:
        The bytes for network.
      • getSubnetwork

        public String getSubnetwork()
         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.
         
        string subnetwork = 4;
        Specified by:
        getSubnetwork in interface NodeConfigOrBuilder
        Returns:
        The subnetwork.
      • getSubnetworkBytes

        public com.google.protobuf.ByteString getSubnetworkBytes()
         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.
         
        string subnetwork = 4;
        Specified by:
        getSubnetworkBytes in interface NodeConfigOrBuilder
        Returns:
        The bytes for subnetwork.
      • getDiskSizeGb

        public int getDiskSizeGb()
         Optional. The disk size in GB used for node VMs. Minimum size is 30GB.
         If unspecified, defaults to 100GB. Cannot be updated.
        
         This field is supported for Cloud Composer environments in versions
         composer-1.*.*-airflow-*.*.*.
         
        int32 disk_size_gb = 5;
        Specified by:
        getDiskSizeGb in interface NodeConfigOrBuilder
        Returns:
        The diskSizeGb.
      • getOauthScopesList

        public com.google.protobuf.ProtocolStringList getOauthScopesList()
         Optional. The set of Google API scopes to be made available on all
         node VMs. If `oauth_scopes` is empty, defaults to
         ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
        
         This field is supported for Cloud Composer environments in versions
         composer-1.*.*-airflow-*.*.*.
         
        repeated string oauth_scopes = 6;
        Specified by:
        getOauthScopesList in interface NodeConfigOrBuilder
        Returns:
        A list containing the oauthScopes.
      • getOauthScopesCount

        public int getOauthScopesCount()
         Optional. The set of Google API scopes to be made available on all
         node VMs. If `oauth_scopes` is empty, defaults to
         ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
        
         This field is supported for Cloud Composer environments in versions
         composer-1.*.*-airflow-*.*.*.
         
        repeated string oauth_scopes = 6;
        Specified by:
        getOauthScopesCount in interface NodeConfigOrBuilder
        Returns:
        The count of oauthScopes.
      • getOauthScopes

        public String getOauthScopes​(int index)
         Optional. The set of Google API scopes to be made available on all
         node VMs. If `oauth_scopes` is empty, defaults to
         ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
        
         This field is supported for Cloud Composer environments in versions
         composer-1.*.*-airflow-*.*.*.
         
        repeated string oauth_scopes = 6;
        Specified by:
        getOauthScopes in interface NodeConfigOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The oauthScopes at the given index.
      • getOauthScopesBytes

        public com.google.protobuf.ByteString getOauthScopesBytes​(int index)
         Optional. The set of Google API scopes to be made available on all
         node VMs. If `oauth_scopes` is empty, defaults to
         ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
        
         This field is supported for Cloud Composer environments in versions
         composer-1.*.*-airflow-*.*.*.
         
        repeated string oauth_scopes = 6;
        Specified by:
        getOauthScopesBytes in interface NodeConfigOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the oauthScopes at the given index.
      • getServiceAccount

        public String getServiceAccount()
         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.
         
        string service_account = 7;
        Specified by:
        getServiceAccount in interface NodeConfigOrBuilder
        Returns:
        The serviceAccount.
      • getServiceAccountBytes

        public com.google.protobuf.ByteString getServiceAccountBytes()
         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.
         
        string service_account = 7;
        Specified by:
        getServiceAccountBytes in interface NodeConfigOrBuilder
        Returns:
        The bytes for serviceAccount.
      • getTagsList

        public com.google.protobuf.ProtocolStringList getTagsList()
         Optional. The list of instance tags applied to all node VMs. Tags are used
         to identify valid sources or targets for network firewalls. Each tag within
         the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
         Cannot be updated.
         
        repeated string tags = 8;
        Specified by:
        getTagsList in interface NodeConfigOrBuilder
        Returns:
        A list containing the tags.
      • getTagsCount

        public int getTagsCount()
         Optional. The list of instance tags applied to all node VMs. Tags are used
         to identify valid sources or targets for network firewalls. Each tag within
         the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
         Cannot be updated.
         
        repeated string tags = 8;
        Specified by:
        getTagsCount in interface NodeConfigOrBuilder
        Returns:
        The count of tags.
      • getTags

        public String getTags​(int index)
         Optional. The list of instance tags applied to all node VMs. Tags are used
         to identify valid sources or targets for network firewalls. Each tag within
         the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
         Cannot be updated.
         
        repeated string tags = 8;
        Specified by:
        getTags in interface NodeConfigOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The tags at the given index.
      • getTagsBytes

        public com.google.protobuf.ByteString getTagsBytes​(int index)
         Optional. The list of instance tags applied to all node VMs. Tags are used
         to identify valid sources or targets for network firewalls. Each tag within
         the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
         Cannot be updated.
         
        repeated string tags = 8;
        Specified by:
        getTagsBytes in interface NodeConfigOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the tags at the given index.
      • hasIpAllocationPolicy

        public boolean hasIpAllocationPolicy()
         Optional. The configuration for controlling how IPs are allocated in the
         GKE cluster.
         
        .google.cloud.orchestration.airflow.service.v1.IPAllocationPolicy ip_allocation_policy = 9 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        hasIpAllocationPolicy in interface NodeConfigOrBuilder
        Returns:
        Whether the ipAllocationPolicy field is set.
      • getIpAllocationPolicy

        public IPAllocationPolicy getIpAllocationPolicy()
         Optional. The configuration for controlling how IPs are allocated in the
         GKE cluster.
         
        .google.cloud.orchestration.airflow.service.v1.IPAllocationPolicy ip_allocation_policy = 9 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getIpAllocationPolicy in interface NodeConfigOrBuilder
        Returns:
        The ipAllocationPolicy.
      • getIpAllocationPolicyOrBuilder

        public IPAllocationPolicyOrBuilder getIpAllocationPolicyOrBuilder()
         Optional. The configuration for controlling how IPs are allocated in the
         GKE cluster.
         
        .google.cloud.orchestration.airflow.service.v1.IPAllocationPolicy ip_allocation_policy = 9 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getIpAllocationPolicyOrBuilder in interface NodeConfigOrBuilder
      • getEnableIpMasqAgent

        public boolean getEnableIpMasqAgent()
         Optional. Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines
         nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for
         all destination addresses, except between pods traffic.
        
         See:
         https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
         
        bool enable_ip_masq_agent = 11 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getEnableIpMasqAgent in interface NodeConfigOrBuilder
        Returns:
        The enableIpMasqAgent.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static NodeConfig parseFrom​(ByteBuffer data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodeConfig parseFrom​(ByteBuffer data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodeConfig parseFrom​(com.google.protobuf.ByteString data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodeConfig parseFrom​(com.google.protobuf.ByteString data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodeConfig parseFrom​(byte[] data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodeConfig parseFrom​(byte[] data,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static NodeConfig parseFrom​(com.google.protobuf.CodedInputStream input,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws IOException
        Throws:
        IOException
      • newBuilderForType

        public NodeConfig.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public NodeConfig.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected NodeConfig.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static NodeConfig getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<NodeConfig> parser()
      • getParserForType

        public com.google.protobuf.Parser<NodeConfig> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public NodeConfig getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder