# 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.Dataflow.V1b3.Model.Environment do @moduledoc """ Describes the environment in which a Dataflow Job runs. ## Attributes - clusterManagerApiService (String.t): The type of cluster manager API to use. If unknown or unspecified, the service will attempt to choose a reasonable default. This should be in the form of the API service name, e.g. \"compute.googleapis.com\". Defaults to: `null`. - dataset (String.t): The dataset for the current project where various workflow related tables are stored. The supported resource type is: Google BigQuery: bigquery.googleapis.com/{dataset} Defaults to: `null`. - experiments ([String.t]): The list of experiments to enable. Defaults to: `null`. - flexResourceSchedulingGoal (String.t): Which Flexible Resource Scheduling mode to run in. Defaults to: `null`. - Enum - one of [FLEXRS_UNSPECIFIED, FLEXRS_SPEED_OPTIMIZED, FLEXRS_COST_OPTIMIZED] - internalExperiments (%{optional(String.t) => String.t}): Experimental settings. Defaults to: `null`. - sdkPipelineOptions (%{optional(String.t) => String.t}): The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. Defaults to: `null`. - serviceAccountEmail (String.t): Identity to run virtual machines as. Defaults to the default account. Defaults to: `null`. - serviceKmsKeyName (String.t): If set, contains the Cloud KMS key identifier used to encrypt data at rest, AKA a Customer Managed Encryption Key (CMEK). Format: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY Defaults to: `null`. - tempStoragePrefix (String.t): The prefix of the resources the system should use for temporary storage. The system will append the suffix \"/temp-{JOBNAME} to this resource prefix, where {JOBNAME} is the value of the job_name field. The resulting bucket and object prefix is used as the prefix of the resources used to store temporary data needed during the job execution. NOTE: This will override the value in taskrunner_settings. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object} Defaults to: `null`. - userAgent (%{optional(String.t) => String.t}): A description of the process that generated the request. Defaults to: `null`. - version (%{optional(String.t) => String.t}): A structure describing which components and their versions of the service are required in order to run the job. Defaults to: `null`. - workerPools ([WorkerPool]): The worker pools. At least one \"harness\" worker pool must be specified in order for the job to have workers. Defaults to: `null`. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :clusterManagerApiService => any(), :dataset => any(), :experiments => list(any()), :flexResourceSchedulingGoal => any(), :internalExperiments => map(), :sdkPipelineOptions => map(), :serviceAccountEmail => any(), :serviceKmsKeyName => any(), :tempStoragePrefix => any(), :userAgent => map(), :version => map(), :workerPools => list(GoogleApi.Dataflow.V1b3.Model.WorkerPool.t()) } field(:clusterManagerApiService) field(:dataset) field(:experiments, type: :list) field(:flexResourceSchedulingGoal) field(:internalExperiments, type: :map) field(:sdkPipelineOptions, type: :map) field(:serviceAccountEmail) field(:serviceKmsKeyName) field(:tempStoragePrefix) field(:userAgent, type: :map) field(:version, type: :map) field(:workerPools, as: GoogleApi.Dataflow.V1b3.Model.WorkerPool, type: :list) end defimpl Poison.Decoder, for: GoogleApi.Dataflow.V1b3.Model.Environment do def decode(value, options) do GoogleApi.Dataflow.V1b3.Model.Environment.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Dataflow.V1b3.Model.Environment do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end