Current section

Files

Jump to
google_api_composer lib google_api composer v1beta1 model node_config.ex
Raw

lib/google_api/composer/v1beta1/model/node_config.ex

# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NOTE: This class is auto generated by the swagger code generator program.
# https://github.com/swagger-api/swagger-codegen.git
# Do not edit the class manually.
defmodule GoogleApi.Composer.V1beta1.Model.NodeConfig do
@moduledoc """
The configuration information for the Kubernetes Engine nodes running the Apache Airflow software.
## Attributes
- tags ([String.t]): 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. Defaults to: `null`.
- diskSizeGb (integer()): Optional. The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. Defaults to: `null`.
- location (String.t): 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. Defaults to: `null`.
- machineType (String.t): 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. If this field is unspecified, the `machineTypeId` defaults to \"n1-standard-1\". Defaults to: `null`.
- network (String.t): 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 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`. Defaults to: `null`.
- oauthScopes ([String.t]): Optional. The set of Google API scopes to be made available on all node VMs. Defaults to [\"https://www.googleapis.com/auth/cloud-platform\"] and must be included in the list of specified scopes. Cannot be updated. Defaults to: `null`.
- serviceAccount (String.t): 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. Defaults to: `null`.
- subnetwork (String.t): 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 same project as the network. For Shared VPC, you must configure the subnetwork with secondary ranges named <strong>composer-pods</strong> and <strong>composer-services</strong> to support Alias IPs. Defaults to: `null`.
"""
use GoogleApi.Gax.ModelBase
@type t :: %__MODULE__{
:tags => list(any()),
:diskSizeGb => any(),
:location => any(),
:machineType => any(),
:network => any(),
:oauthScopes => list(any()),
:serviceAccount => any(),
:subnetwork => any()
}
field(:tags, type: :list)
field(:diskSizeGb)
field(:location)
field(:machineType)
field(:network)
field(:oauthScopes, type: :list)
field(:serviceAccount)
field(:subnetwork)
end
defimpl Poison.Decoder, for: GoogleApi.Composer.V1beta1.Model.NodeConfig do
def decode(value, options) do
GoogleApi.Composer.V1beta1.Model.NodeConfig.decode(value, options)
end
end
defimpl Poison.Encoder, for: GoogleApi.Composer.V1beta1.Model.NodeConfig do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end