/*
* 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;
}
}
}