/* * 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 { /// /// Container for the parameters to the UpdateComputeEnvironment operation. /// Updates an Batch compute environment. /// public partial class UpdateComputeEnvironmentRequest : AmazonBatchRequest { private string _computeEnvironment; private ComputeResourceUpdate _computeResources; private string _serviceRole; private CEState _state; private int? _unmanagedvCpus; private UpdatePolicy _updatePolicy; /// /// Gets and sets the property ComputeEnvironment. /// /// The name or full Amazon Resource Name (ARN) of the compute environment to update. /// /// [AWSProperty(Required=true)] public string ComputeEnvironment { get { return this._computeEnvironment; } set { this._computeEnvironment = value; } } // Check to see if ComputeEnvironment property is set internal bool IsSetComputeEnvironment() { return this._computeEnvironment != null; } /// /// Gets and sets the property ComputeResources. /// /// Details of the compute resources managed by the compute environment. Required for /// a managed compute environment. For more information, see Compute /// Environments in the Batch User Guide. /// /// public ComputeResourceUpdate 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 ServiceRole. /// /// The full Amazon Resource Name (ARN) of the IAM role that allows Batch to make calls /// to other Amazon Web Services services on your behalf. For more information, see Batch /// service IAM role in the Batch User Guide. /// /// /// /// If the compute environment has a service-linked role, it can't be changed to use a /// regular IAM role. Likewise, if the compute environment has a regular IAM role, it /// can't be changed to use a service-linked role. To update the parameters for the compute /// environment that require an infrastructure update to change, the AWSServiceRoleForBatch /// service-linked role must be used. For more information, see Updating /// compute environments in the Batch User Guide. /// /// /// /// If your specified role has a path other than /, then you must either /// specify the full role ARN (recommended) or prefix the role name with the path. /// /// /// /// Depending on how you created your Batch service role, its ARN might contain the service-role /// path prefix. When you only specify the name of the service role, Batch assumes that /// your ARN doesn't use the service-role path prefix. Because of this, we /// recommend that you specify the full ARN of your service role when you create compute /// environments. /// /// /// 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. Compute environments in the ENABLED /// state can accept jobs from a queue and scale in or out automatically based on the /// workload demand of its associated queues. /// /// /// /// 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 UnmanagedvCpus. /// /// The maximum number of vCPUs expected to be used for an unmanaged compute environment. /// Don't specify this parameter for a managed compute environment. This parameter is /// only used for fair share scheduling to reserve vCPU capacity for new share identifiers. /// If this parameter isn't provided for a fair share job queue, no vCPU capacity is reserved. /// /// 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 updated 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; } } }