/*
* 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
{
///
/// The type and amount of resources to assign to a container. The supported resources
/// include memory
, cpu
, and nvidia.com/gpu
. For
/// more information, see Resource
/// management for pods and containers in the Kubernetes documentation.
///
public partial class EksContainerResourceRequirements
{
private Dictionary _limits = new Dictionary();
private Dictionary _requests = new Dictionary();
///
/// Gets and sets the property Limits.
///
/// The type and quantity of the resources to reserve for the container. The values vary
/// based on the name
that's specified. Resources can be requested using
/// either the limits
or the requests
objects.
///
/// - memory
-
///
/// The memory hard limit (in MiB) for the container, using whole integers, with a "Mi"
/// suffix. If your container attempts to exceed the memory specified, the container is
/// terminated. You must specify at least 4 MiB of memory for a job.
memory
/// can be specified in limits
, requests
, or both. If memory
/// is specified in both places, then the value that's specified in limits
/// must be equal to the value that's specified in requests
.
///
///
///
/// To maximize your resource utilization, provide your jobs with as much memory as possible
/// for the specific instance type that you are using. To learn how, see Memory
/// management in the Batch User Guide.
///
/// - cpu
-
///
/// The number of CPUs that's reserved for the container. Values must be an even multiple
/// of
0.25
. cpu
can be specified in limits
, requests
,
/// or both. If cpu
is specified in both places, then the value that's specified
/// in limits
must be at least as large as the value that's specified in
/// requests
.
///
/// - nvidia.com/gpu
-
///
/// The number of GPUs that's reserved for the container. Values must be a whole integer.
///
memory
can be specified in limits
, requests
,
/// or both. If memory
is specified in both places, then the value that's
/// specified in limits
must be equal to the value that's specified in requests
.
///
///
///
public Dictionary Limits
{
get { return this._limits; }
set { this._limits = value; }
}
// Check to see if Limits property is set
internal bool IsSetLimits()
{
return this._limits != null && this._limits.Count > 0;
}
///
/// Gets and sets the property Requests.
///
/// The type and quantity of the resources to request for the container. The values vary
/// based on the name
that's specified. Resources can be requested by using
/// either the limits
or the requests
objects.
///
/// - memory
-
///
/// The memory hard limit (in MiB) for the container, using whole integers, with a "Mi"
/// suffix. If your container attempts to exceed the memory specified, the container is
/// terminated. You must specify at least 4 MiB of memory for a job.
memory
/// can be specified in limits
, requests
, or both. If memory
/// is specified in both, then the value that's specified in limits
must
/// be equal to the value that's specified in requests
.
///
///
///
/// If you're trying to maximize your resource utilization by providing your jobs as much
/// memory as possible for a particular instance type, see Memory
/// management in the Batch User Guide.
///
/// - cpu
-
///
/// The number of CPUs that are reserved for the container. Values must be an even multiple
/// of
0.25
. cpu
can be specified in limits
, requests
,
/// or both. If cpu
is specified in both, then the value that's specified
/// in limits
must be at least as large as the value that's specified in
/// requests
.
///
/// - nvidia.com/gpu
-
///
/// The number of GPUs that are reserved for the container. Values must be a whole integer.
///
nvidia.com/gpu
can be specified in limits
, requests
,
/// or both. If nvidia.com/gpu
is specified in both, then the value that's
/// specified in limits
must be equal to the value that's specified in requests
.
///
///
///
public Dictionary Requests
{
get { return this._requests; }
set { this._requests = value; }
}
// Check to see if Requests property is set
internal bool IsSetRequests()
{
return this._requests != null && this._requests.Count > 0;
}
}
}