/*
* 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 UpdateJobQueue operation.
/// Updates a job queue.
///
public partial class UpdateJobQueueRequest : AmazonBatchRequest
{
private List _computeEnvironmentOrder = new List();
private string _jobQueue;
private int? _priority;
private string _schedulingPolicyArn;
private JQState _state;
///
/// Gets and sets the property ComputeEnvironmentOrder.
///
/// Details the set of compute environments mapped to a job queue and their order relative
/// to each other. This is one of the parameters used by the job scheduler to determine
/// which compute environment runs a given job. Compute environments must be in the VALID
/// state before you can associate them with a job queue. All of the compute environments
/// must be either EC2 (EC2
or SPOT
) or Fargate (FARGATE
/// or FARGATE_SPOT
). EC2 and Fargate compute environments can't be mixed.
///
///
///
/// All compute environments that are associated with a job queue must share the same
/// architecture. Batch doesn't support mixing compute environment architecture types
/// in a single job queue.
///
///
///
public List ComputeEnvironmentOrder
{
get { return this._computeEnvironmentOrder; }
set { this._computeEnvironmentOrder = value; }
}
// Check to see if ComputeEnvironmentOrder property is set
internal bool IsSetComputeEnvironmentOrder()
{
return this._computeEnvironmentOrder != null && this._computeEnvironmentOrder.Count > 0;
}
///
/// Gets and sets the property JobQueue.
///
/// The name or the Amazon Resource Name (ARN) of the job queue.
///
///
[AWSProperty(Required=true)]
public string JobQueue
{
get { return this._jobQueue; }
set { this._jobQueue = value; }
}
// Check to see if JobQueue property is set
internal bool IsSetJobQueue()
{
return this._jobQueue != null;
}
///
/// Gets and sets the property Priority.
///
/// The priority of the job queue. Job queues with a higher priority (or a higher integer
/// value for the priority
parameter) are evaluated first when associated
/// with the same compute environment. Priority is determined in descending order. For
/// example, a job queue with a priority value of 10
is given scheduling
/// preference over a job queue with a priority value of 1
. All of the compute
/// environments must be either EC2 (EC2
or SPOT
) or Fargate
/// (FARGATE
or FARGATE_SPOT
). EC2 and Fargate compute environments
/// can't be mixed.
///
///
public int Priority
{
get { return this._priority.GetValueOrDefault(); }
set { this._priority = value; }
}
// Check to see if Priority property is set
internal bool IsSetPriority()
{
return this._priority.HasValue;
}
///
/// Gets and sets the property SchedulingPolicyArn.
///
/// Amazon Resource Name (ARN) of the fair share scheduling policy. Once a job queue is
/// created, the fair share scheduling policy can be replaced but not removed. The format
/// is aws:Partition:batch:Region:Account:scheduling-policy/Name
///
. For example, aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy
.
///
///
public string SchedulingPolicyArn
{
get { return this._schedulingPolicyArn; }
set { this._schedulingPolicyArn = value; }
}
// Check to see if SchedulingPolicyArn property is set
internal bool IsSetSchedulingPolicyArn()
{
return this._schedulingPolicyArn != null;
}
///
/// Gets and sets the property State.
///
/// Describes the queue's ability to accept new jobs. If the job queue state is ENABLED
,
/// it can accept jobs. If the job queue state is DISABLED
, new jobs can't
/// be added to the queue, but jobs already in the queue can finish.
///
///
public JQState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
}
}