/* * 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 securityhub-2018-10-26.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.SecurityHub.Model { /// /// The attributes for the Amazon EC2 instance types. /// public partial class AwsEc2LaunchTemplateDataInstanceRequirementsDetails { private AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorCountDetails _acceleratorCount; private List _acceleratorManufacturers = new List(); private List _acceleratorNames = new List(); private AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorTotalMemoryMiBDetails _acceleratorTotalMemoryMiB; private List _acceleratorTypes = new List(); private string _bareMetal; private AwsEc2LaunchTemplateDataInstanceRequirementsBaselineEbsBandwidthMbpsDetails _baselineEbsBandwidthMbps; private string _burstablePerformance; private List _cpuManufacturers = new List(); private List _excludedInstanceTypes = new List(); private List _instanceGenerations = new List(); private string _localStorage; private List _localStorageTypes = new List(); private AwsEc2LaunchTemplateDataInstanceRequirementsMemoryGiBPerVCpuDetails _memoryGiBPerVCpu; private AwsEc2LaunchTemplateDataInstanceRequirementsMemoryMiBDetails _memoryMiB; private AwsEc2LaunchTemplateDataInstanceRequirementsNetworkInterfaceCountDetails _networkInterfaceCount; private int? _onDemandMaxPricePercentageOverLowestPrice; private bool? _requireHibernateSupport; private int? _spotMaxPricePercentageOverLowestPrice; private AwsEc2LaunchTemplateDataInstanceRequirementsTotalLocalStorageGBDetails _totalLocalStorageGB; private AwsEc2LaunchTemplateDataInstanceRequirementsVCpuCountDetails _vCpuCount; /// /// Gets and sets the property AcceleratorCount. /// /// The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services /// Inferentia chips) on an instance. /// /// public AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorCountDetails AcceleratorCount { get { return this._acceleratorCount; } set { this._acceleratorCount = value; } } // Check to see if AcceleratorCount property is set internal bool IsSetAcceleratorCount() { return this._acceleratorCount != null; } /// /// Gets and sets the property AcceleratorManufacturers. /// /// Indicates whether instance types must have accelerators by specific manufacturers. /// /// /// public List AcceleratorManufacturers { get { return this._acceleratorManufacturers; } set { this._acceleratorManufacturers = value; } } // Check to see if AcceleratorManufacturers property is set internal bool IsSetAcceleratorManufacturers() { return this._acceleratorManufacturers != null && this._acceleratorManufacturers.Count > 0; } /// /// Gets and sets the property AcceleratorNames. /// /// The accelerators that must be on the instance type. /// /// public List AcceleratorNames { get { return this._acceleratorNames; } set { this._acceleratorNames = value; } } // Check to see if AcceleratorNames property is set internal bool IsSetAcceleratorNames() { return this._acceleratorNames != null && this._acceleratorNames.Count > 0; } /// /// Gets and sets the property AcceleratorTotalMemoryMiB. /// /// The minimum and maximum amount of total accelerator memory, in MiB. /// /// public AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorTotalMemoryMiBDetails AcceleratorTotalMemoryMiB { get { return this._acceleratorTotalMemoryMiB; } set { this._acceleratorTotalMemoryMiB = value; } } // Check to see if AcceleratorTotalMemoryMiB property is set internal bool IsSetAcceleratorTotalMemoryMiB() { return this._acceleratorTotalMemoryMiB != null; } /// /// Gets and sets the property AcceleratorTypes. /// /// The accelerator types that must be on the instance type. /// /// public List AcceleratorTypes { get { return this._acceleratorTypes; } set { this._acceleratorTypes = value; } } // Check to see if AcceleratorTypes property is set internal bool IsSetAcceleratorTypes() { return this._acceleratorTypes != null && this._acceleratorTypes.Count > 0; } /// /// Gets and sets the property BareMetal. /// /// Indicates whether bare metal instance types must be included, excluded, or required. /// /// /// public string BareMetal { get { return this._bareMetal; } set { this._bareMetal = value; } } // Check to see if BareMetal property is set internal bool IsSetBareMetal() { return this._bareMetal != null; } /// /// Gets and sets the property BaselineEbsBandwidthMbps. /// /// The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, /// see Amazon /// EBS optimized instances in the Amazon EC2 User Guide. /// /// public AwsEc2LaunchTemplateDataInstanceRequirementsBaselineEbsBandwidthMbpsDetails BaselineEbsBandwidthMbps { get { return this._baselineEbsBandwidthMbps; } set { this._baselineEbsBandwidthMbps = value; } } // Check to see if BaselineEbsBandwidthMbps property is set internal bool IsSetBaselineEbsBandwidthMbps() { return this._baselineEbsBandwidthMbps != null; } /// /// Gets and sets the property BurstablePerformance. /// /// Indicates whether burstable performance T instance types are included, excluded, /// or required. For more information, Burstable /// performance instances in the Amazon EC2 User Guide. /// /// public string BurstablePerformance { get { return this._burstablePerformance; } set { this._burstablePerformance = value; } } // Check to see if BurstablePerformance property is set internal bool IsSetBurstablePerformance() { return this._burstablePerformance != null; } /// /// Gets and sets the property CpuManufacturers. /// /// The CPU manufacturers to include. /// /// public List CpuManufacturers { get { return this._cpuManufacturers; } set { this._cpuManufacturers = value; } } // Check to see if CpuManufacturers property is set internal bool IsSetCpuManufacturers() { return this._cpuManufacturers != null && this._cpuManufacturers.Count > 0; } /// /// Gets and sets the property ExcludedInstanceTypes. /// /// The instance types to exclude. /// /// public List ExcludedInstanceTypes { get { return this._excludedInstanceTypes; } set { this._excludedInstanceTypes = value; } } // Check to see if ExcludedInstanceTypes property is set internal bool IsSetExcludedInstanceTypes() { return this._excludedInstanceTypes != null && this._excludedInstanceTypes.Count > 0; } /// /// Gets and sets the property InstanceGenerations. /// /// Indicates whether current or previous generation instance types are included. /// /// public List InstanceGenerations { get { return this._instanceGenerations; } set { this._instanceGenerations = value; } } // Check to see if InstanceGenerations property is set internal bool IsSetInstanceGenerations() { return this._instanceGenerations != null && this._instanceGenerations.Count > 0; } /// /// Gets and sets the property LocalStorage. /// /// Indicates whether instance types with instance store volumes are included, excluded, /// or required. For more information, see Amazon /// EC2 instance store in the Amazon EC2 User Guide. /// /// public string LocalStorage { get { return this._localStorage; } set { this._localStorage = value; } } // Check to see if LocalStorage property is set internal bool IsSetLocalStorage() { return this._localStorage != null; } /// /// Gets and sets the property LocalStorageTypes. /// /// The type of local storage that is required. /// /// public List LocalStorageTypes { get { return this._localStorageTypes; } set { this._localStorageTypes = value; } } // Check to see if LocalStorageTypes property is set internal bool IsSetLocalStorageTypes() { return this._localStorageTypes != null && this._localStorageTypes.Count > 0; } /// /// Gets and sets the property MemoryGiBPerVCpu. /// /// The minimum and maximum amount of memory per vCPU, in GiB. /// /// public AwsEc2LaunchTemplateDataInstanceRequirementsMemoryGiBPerVCpuDetails MemoryGiBPerVCpu { get { return this._memoryGiBPerVCpu; } set { this._memoryGiBPerVCpu = value; } } // Check to see if MemoryGiBPerVCpu property is set internal bool IsSetMemoryGiBPerVCpu() { return this._memoryGiBPerVCpu != null; } /// /// Gets and sets the property MemoryMiB. /// /// The minimum and maximum amount of memory, in MiB. /// /// public AwsEc2LaunchTemplateDataInstanceRequirementsMemoryMiBDetails MemoryMiB { get { return this._memoryMiB; } set { this._memoryMiB = value; } } // Check to see if MemoryMiB property is set internal bool IsSetMemoryMiB() { return this._memoryMiB != null; } /// /// Gets and sets the property NetworkInterfaceCount. /// /// The minimum and maximum number of network interfaces. /// /// public AwsEc2LaunchTemplateDataInstanceRequirementsNetworkInterfaceCountDetails NetworkInterfaceCount { get { return this._networkInterfaceCount; } set { this._networkInterfaceCount = value; } } // Check to see if NetworkInterfaceCount property is set internal bool IsSetNetworkInterfaceCount() { return this._networkInterfaceCount != null; } /// /// Gets and sets the property OnDemandMaxPricePercentageOverLowestPrice. /// /// The price protection threshold for On-Demand Instances. This is the maximum you'll /// pay for an On-Demand Instance, expressed as a percentage above the least expensive /// current generation M, C, or R instance type with your specified attributes. When Amazon /// EC2 selects instance types with your attributes, it excludes instance types priced /// above your threshold. /// /// /// /// The parameter accepts an integer, which Amazon EC2 interprets as a percentage. /// /// /// /// A high value, such as 999999, turns off price protection. /// /// public int OnDemandMaxPricePercentageOverLowestPrice { get { return this._onDemandMaxPricePercentageOverLowestPrice.GetValueOrDefault(); } set { this._onDemandMaxPricePercentageOverLowestPrice = value; } } // Check to see if OnDemandMaxPricePercentageOverLowestPrice property is set internal bool IsSetOnDemandMaxPricePercentageOverLowestPrice() { return this._onDemandMaxPricePercentageOverLowestPrice.HasValue; } /// /// Gets and sets the property RequireHibernateSupport. /// /// Indicates whether instance types must support hibernation for On-Demand Instances. /// /// /// public bool RequireHibernateSupport { get { return this._requireHibernateSupport.GetValueOrDefault(); } set { this._requireHibernateSupport = value; } } // Check to see if RequireHibernateSupport property is set internal bool IsSetRequireHibernateSupport() { return this._requireHibernateSupport.HasValue; } /// /// Gets and sets the property SpotMaxPricePercentageOverLowestPrice. /// /// The price protection threshold for Spot Instances. This is the maximum you'll pay /// for a Spot Instance, expressed as a percentage above the least expensive current generation /// M, C, or R instance type with your specified attributes. When Amazon EC2 selects instance /// types with your attributes, it excludes instance types priced above your threshold. /// /// /// /// /// The parameter accepts an integer, which Amazon EC2 interprets as a percentage. /// /// /// /// A high value, such as 999999, turns off price protection. /// /// public int SpotMaxPricePercentageOverLowestPrice { get { return this._spotMaxPricePercentageOverLowestPrice.GetValueOrDefault(); } set { this._spotMaxPricePercentageOverLowestPrice = value; } } // Check to see if SpotMaxPricePercentageOverLowestPrice property is set internal bool IsSetSpotMaxPricePercentageOverLowestPrice() { return this._spotMaxPricePercentageOverLowestPrice.HasValue; } /// /// Gets and sets the property TotalLocalStorageGB. /// /// The minimum and maximum amount of total local storage, in GB. /// /// public AwsEc2LaunchTemplateDataInstanceRequirementsTotalLocalStorageGBDetails TotalLocalStorageGB { get { return this._totalLocalStorageGB; } set { this._totalLocalStorageGB = value; } } // Check to see if TotalLocalStorageGB property is set internal bool IsSetTotalLocalStorageGB() { return this._totalLocalStorageGB != null; } /// /// Gets and sets the property VCpuCount. /// /// The minimum and maximum number of vCPUs. /// /// public AwsEc2LaunchTemplateDataInstanceRequirementsVCpuCountDetails VCpuCount { get { return this._vCpuCount; } set { this._vCpuCount = value; } } // Check to see if VCpuCount property is set internal bool IsSetVCpuCount() { return this._vCpuCount != null; } } }