/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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. */ /* * Do not modify this file. This file is generated from the batch-2016-08-10.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Batch.Model { /// /// An object that represents an Batch compute environment. /// public partial class ComputeEnvironmentDetail { private string _computeEnvironmentArn; private string _computeEnvironmentName; private ComputeResource _computeResources; private OrchestrationType _containerOrchestrationType; private string _ecsClusterArn; private EksConfiguration _eksConfiguration; private string _serviceRole; private CEState _state; private CEStatus _status; private string _statusReason; private Dictionary _tags = new Dictionary(); private CEType _type; private int? _unmanagedvCpus; private UpdatePolicy _updatePolicy; private string _uuid; /// /// Gets and sets the property ComputeEnvironmentArn. /// /// The Amazon Resource Name (ARN) of the compute environment. /// /// [AWSProperty(Required=true)] public string ComputeEnvironmentArn { get { return this._computeEnvironmentArn; } set { this._computeEnvironmentArn = value; } } // Check to see if ComputeEnvironmentArn property is set internal bool IsSetComputeEnvironmentArn() { return this._computeEnvironmentArn != null; } /// /// Gets and sets the property ComputeEnvironmentName. /// /// The name of the compute environment. It can be up to 128 characters long. It can contain /// uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). /// /// [AWSProperty(Required=true)] public string ComputeEnvironmentName { get { return this._computeEnvironmentName; } set { this._computeEnvironmentName = value; } } // Check to see if ComputeEnvironmentName property is set internal bool IsSetComputeEnvironmentName() { return this._computeEnvironmentName != null; } /// /// Gets and sets the property ComputeResources. /// /// The compute resources defined for the compute environment. For more information, see /// Compute /// environments in the Batch User Guide. /// /// public ComputeResource ComputeResources { get { return this._computeResources; } set { this._computeResources = value; } } // Check to see if ComputeResources property is set internal bool IsSetComputeResources() { return this._computeResources != null; } /// /// Gets and sets the property ContainerOrchestrationType. /// /// The orchestration type of the compute environment. The valid values are ECS /// (default) or EKS. /// /// public OrchestrationType ContainerOrchestrationType { get { return this._containerOrchestrationType; } set { this._containerOrchestrationType = value; } } // Check to see if ContainerOrchestrationType property is set internal bool IsSetContainerOrchestrationType() { return this._containerOrchestrationType != null; } /// /// Gets and sets the property EcsClusterArn. /// /// The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster that the compute /// environment uses. /// /// public string EcsClusterArn { get { return this._ecsClusterArn; } set { this._ecsClusterArn = value; } } // Check to see if EcsClusterArn property is set internal bool IsSetEcsClusterArn() { return this._ecsClusterArn != null; } /// /// Gets and sets the property EksConfiguration. /// /// The configuration for the Amazon EKS cluster that supports the Batch compute environment. /// Only specify this parameter if the containerOrchestrationType is EKS. /// /// public EksConfiguration EksConfiguration { get { return this._eksConfiguration; } set { this._eksConfiguration = value; } } // Check to see if EksConfiguration property is set internal bool IsSetEksConfiguration() { return this._eksConfiguration != null; } /// /// Gets and sets the property ServiceRole. /// /// The service role that's associated with the compute environment that allows Batch /// to make calls to Amazon Web Services API operations on your behalf. For more information, /// see Batch /// service IAM role in the Batch User Guide. /// /// public string ServiceRole { get { return this._serviceRole; } set { this._serviceRole = value; } } // Check to see if ServiceRole property is set internal bool IsSetServiceRole() { return this._serviceRole != null; } /// /// Gets and sets the property State. /// /// The state of the compute environment. The valid values are ENABLED or /// DISABLED. /// /// /// /// If the state is ENABLED, then the Batch scheduler can attempt to place /// jobs from an associated job queue on the compute resources within the environment. /// If the compute environment is managed, then it can scale its instances out or in automatically /// based on the job queue demand. /// /// /// /// If the state is DISABLED, then the Batch scheduler doesn't attempt to /// place jobs within the environment. Jobs in a STARTING or RUNNING /// state continue to progress normally. Managed compute environments in the DISABLED /// state don't scale out. /// /// /// /// Compute environments in a DISABLED state may continue to incur billing /// charges. To prevent additional charges, turn off and then delete the compute environment. /// For more information, see State /// in the Batch User Guide. /// /// /// /// When an instance is idle, the instance scales down to the minvCpus value. /// However, the instance size doesn't change. For example, consider a c5.8xlarge /// instance with a minvCpus value of 4 and a desiredvCpus /// value of 36. This instance doesn't scale down to a c5.large /// instance. /// /// public CEState State { get { return this._state; } set { this._state = value; } } // Check to see if State property is set internal bool IsSetState() { return this._state != null; } /// /// Gets and sets the property Status. /// /// The current status of the compute environment (for example, CREATING /// or VALID). /// /// public CEStatus Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } /// /// Gets and sets the property StatusReason. /// /// A short, human-readable string to provide additional details for the current status /// of the compute environment. /// /// public string StatusReason { get { return this._statusReason; } set { this._statusReason = value; } } // Check to see if StatusReason property is set internal bool IsSetStatusReason() { return this._statusReason != null; } /// /// Gets and sets the property Tags. /// /// The tags applied to the compute environment. /// /// [AWSProperty(Min=1, Max=50)] public Dictionary Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property Type. /// /// The type of the compute environment: MANAGED or UNMANAGED. /// For more information, see Compute /// environments in the Batch User Guide. /// /// public CEType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } /// /// Gets and sets the property UnmanagedvCpus. /// /// The maximum number of VCPUs expected to be used for an unmanaged compute environment. /// /// public int UnmanagedvCpus { get { return this._unmanagedvCpus.GetValueOrDefault(); } set { this._unmanagedvCpus = value; } } // Check to see if UnmanagedvCpus property is set internal bool IsSetUnmanagedvCpus() { return this._unmanagedvCpus.HasValue; } /// /// Gets and sets the property UpdatePolicy. /// /// Specifies the infrastructure update policy for the compute environment. For more information /// about infrastructure updates, see Updating /// compute environments in the Batch User Guide. /// /// public UpdatePolicy UpdatePolicy { get { return this._updatePolicy; } set { this._updatePolicy = value; } } // Check to see if UpdatePolicy property is set internal bool IsSetUpdatePolicy() { return this._updatePolicy != null; } /// /// Gets and sets the property Uuid. /// /// Unique identifier for the compute environment. /// /// public string Uuid { get { return this._uuid; } set { this._uuid = value; } } // Check to see if Uuid property is set internal bool IsSetUuid() { return this._uuid != null; } } }