/* * 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 ec2-2016-11-15.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.EC2.Model { /// /// The information for a launch template. /// public partial class ResponseLaunchTemplateData { private List _blockDeviceMappings = new List(); private LaunchTemplateCapacityReservationSpecificationResponse _capacityReservationSpecification; private LaunchTemplateCpuOptions _cpuOptions; private CreditSpecification _creditSpecification; private bool? _disableApiStop; private bool? _disableApiTermination; private bool? _ebsOptimized; private List _elasticGpuSpecifications = new List(); private List _elasticInferenceAccelerators = new List(); private LaunchTemplateEnclaveOptions _enclaveOptions; private LaunchTemplateHibernationOptions _hibernationOptions; private LaunchTemplateIamInstanceProfileSpecification _iamInstanceProfile; private string _imageId; private ShutdownBehavior _instanceInitiatedShutdownBehavior; private LaunchTemplateInstanceMarketOptions _instanceMarketOptions; private InstanceRequirements _instanceRequirements; private InstanceType _instanceType; private string _kernelId; private string _keyName; private List _licenseSpecifications = new List(); private LaunchTemplateInstanceMaintenanceOptions _maintenanceOptions; private LaunchTemplateInstanceMetadataOptions _metadataOptions; private LaunchTemplatesMonitoring _monitoring; private List _networkInterfaces = new List(); private LaunchTemplatePlacement _placement; private LaunchTemplatePrivateDnsNameOptions _privateDnsNameOptions; private string _ramDiskId; private List _securityGroupIds = new List(); private List _securityGroups = new List(); private List _tagSpecifications = new List(); private string _userData; /// /// Gets and sets the property BlockDeviceMappings. /// /// The block device mappings. /// /// public List BlockDeviceMappings { get { return this._blockDeviceMappings; } set { this._blockDeviceMappings = value; } } // Check to see if BlockDeviceMappings property is set internal bool IsSetBlockDeviceMappings() { return this._blockDeviceMappings != null && this._blockDeviceMappings.Count > 0; } /// /// Gets and sets the property CapacityReservationSpecification. /// /// Information about the Capacity Reservation targeting option. /// /// public LaunchTemplateCapacityReservationSpecificationResponse CapacityReservationSpecification { get { return this._capacityReservationSpecification; } set { this._capacityReservationSpecification = value; } } // Check to see if CapacityReservationSpecification property is set internal bool IsSetCapacityReservationSpecification() { return this._capacityReservationSpecification != null; } /// /// Gets and sets the property CpuOptions. /// /// The CPU options for the instance. For more information, see Optimizing /// CPU options in the Amazon Elastic Compute Cloud User Guide. /// /// public LaunchTemplateCpuOptions CpuOptions { get { return this._cpuOptions; } set { this._cpuOptions = value; } } // Check to see if CpuOptions property is set internal bool IsSetCpuOptions() { return this._cpuOptions != null; } /// /// Gets and sets the property CreditSpecification. /// /// The credit option for CPU usage of the instance. /// /// public CreditSpecification CreditSpecification { get { return this._creditSpecification; } set { this._creditSpecification = value; } } // Check to see if CreditSpecification property is set internal bool IsSetCreditSpecification() { return this._creditSpecification != null; } /// /// Gets and sets the property DisableApiStop. /// /// Indicates whether the instance is enabled for stop protection. For more information, /// see Stop /// protection in the Amazon Elastic Compute Cloud User Guide. /// /// public bool DisableApiStop { get { return this._disableApiStop.GetValueOrDefault(); } set { this._disableApiStop = value; } } // Check to see if DisableApiStop property is set internal bool IsSetDisableApiStop() { return this._disableApiStop.HasValue; } /// /// Gets and sets the property DisableApiTermination. /// /// If set to true, indicates that the instance cannot be terminated using /// the Amazon EC2 console, command line tool, or API. /// /// public bool DisableApiTermination { get { return this._disableApiTermination.GetValueOrDefault(); } set { this._disableApiTermination = value; } } // Check to see if DisableApiTermination property is set internal bool IsSetDisableApiTermination() { return this._disableApiTermination.HasValue; } /// /// Gets and sets the property EbsOptimized. /// /// Indicates whether the instance is optimized for Amazon EBS I/O. /// /// public bool EbsOptimized { get { return this._ebsOptimized.GetValueOrDefault(); } set { this._ebsOptimized = value; } } // Check to see if EbsOptimized property is set internal bool IsSetEbsOptimized() { return this._ebsOptimized.HasValue; } /// /// Gets and sets the property ElasticGpuSpecifications. /// /// The elastic GPU specification. /// /// public List ElasticGpuSpecifications { get { return this._elasticGpuSpecifications; } set { this._elasticGpuSpecifications = value; } } // Check to see if ElasticGpuSpecifications property is set internal bool IsSetElasticGpuSpecifications() { return this._elasticGpuSpecifications != null && this._elasticGpuSpecifications.Count > 0; } /// /// Gets and sets the property ElasticInferenceAccelerators. /// /// The elastic inference accelerator for the instance. /// /// public List ElasticInferenceAccelerators { get { return this._elasticInferenceAccelerators; } set { this._elasticInferenceAccelerators = value; } } // Check to see if ElasticInferenceAccelerators property is set internal bool IsSetElasticInferenceAccelerators() { return this._elasticInferenceAccelerators != null && this._elasticInferenceAccelerators.Count > 0; } /// /// Gets and sets the property EnclaveOptions. /// /// Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. /// /// public LaunchTemplateEnclaveOptions EnclaveOptions { get { return this._enclaveOptions; } set { this._enclaveOptions = value; } } // Check to see if EnclaveOptions property is set internal bool IsSetEnclaveOptions() { return this._enclaveOptions != null; } /// /// Gets and sets the property HibernationOptions. /// /// Indicates whether an instance is configured for hibernation. For more information, /// see Hibernate /// your instance in the Amazon Elastic Compute Cloud User Guide. /// /// public LaunchTemplateHibernationOptions HibernationOptions { get { return this._hibernationOptions; } set { this._hibernationOptions = value; } } // Check to see if HibernationOptions property is set internal bool IsSetHibernationOptions() { return this._hibernationOptions != null; } /// /// Gets and sets the property IamInstanceProfile. /// /// The IAM instance profile. /// /// public LaunchTemplateIamInstanceProfileSpecification IamInstanceProfile { get { return this._iamInstanceProfile; } set { this._iamInstanceProfile = value; } } // Check to see if IamInstanceProfile property is set internal bool IsSetIamInstanceProfile() { return this._iamInstanceProfile != null; } /// /// Gets and sets the property ImageId. /// /// The ID of the AMI or a Systems Manager parameter. The Systems Manager parameter will /// resolve to the ID of the AMI at instance launch. /// /// /// /// The value depends on what you specified in the request. The possible values are: /// ///
  • /// /// If an AMI ID was specified in the request, then this is the AMI ID. /// ///
  • /// /// If a Systems Manager parameter was specified in the request, and ResolveAlias /// was configured as true, then this is the AMI ID that the parameter is /// mapped to in the Parameter Store. /// ///
  • /// /// If a Systems Manager parameter was specified in the request, and ResolveAlias /// was configured as false, then this is the parameter value. /// ///
/// /// For more information, see Use /// a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute /// Cloud User Guide. /// ///
public string ImageId { get { return this._imageId; } set { this._imageId = value; } } // Check to see if ImageId property is set internal bool IsSetImageId() { return this._imageId != null; } /// /// Gets and sets the property InstanceInitiatedShutdownBehavior. /// /// Indicates whether an instance stops or terminates when you initiate shutdown from /// the instance (using the operating system command for system shutdown). /// /// public ShutdownBehavior InstanceInitiatedShutdownBehavior { get { return this._instanceInitiatedShutdownBehavior; } set { this._instanceInitiatedShutdownBehavior = value; } } // Check to see if InstanceInitiatedShutdownBehavior property is set internal bool IsSetInstanceInitiatedShutdownBehavior() { return this._instanceInitiatedShutdownBehavior != null; } /// /// Gets and sets the property InstanceMarketOptions. /// /// The market (purchasing) option for the instances. /// /// public LaunchTemplateInstanceMarketOptions InstanceMarketOptions { get { return this._instanceMarketOptions; } set { this._instanceMarketOptions = value; } } // Check to see if InstanceMarketOptions property is set internal bool IsSetInstanceMarketOptions() { return this._instanceMarketOptions != null; } /// /// Gets and sets the property InstanceRequirements. /// /// The attributes for the instance types. When you specify instance attributes, Amazon /// EC2 will identify instance types with these attributes. /// /// /// /// If you specify InstanceRequirements, you can't specify InstanceTypes. /// /// public InstanceRequirements InstanceRequirements { get { return this._instanceRequirements; } set { this._instanceRequirements = value; } } // Check to see if InstanceRequirements property is set internal bool IsSetInstanceRequirements() { return this._instanceRequirements != null; } /// /// Gets and sets the property InstanceType. /// /// The instance type. /// /// public InstanceType InstanceType { get { return this._instanceType; } set { this._instanceType = value; } } // Check to see if InstanceType property is set internal bool IsSetInstanceType() { return this._instanceType != null; } /// /// Gets and sets the property KernelId. /// /// The ID of the kernel, if applicable. /// /// public string KernelId { get { return this._kernelId; } set { this._kernelId = value; } } // Check to see if KernelId property is set internal bool IsSetKernelId() { return this._kernelId != null; } /// /// Gets and sets the property KeyName. /// /// The name of the key pair. /// /// public string KeyName { get { return this._keyName; } set { this._keyName = value; } } // Check to see if KeyName property is set internal bool IsSetKeyName() { return this._keyName != null; } /// /// Gets and sets the property LicenseSpecifications. /// /// The license configurations. /// /// public List LicenseSpecifications { get { return this._licenseSpecifications; } set { this._licenseSpecifications = value; } } // Check to see if LicenseSpecifications property is set internal bool IsSetLicenseSpecifications() { return this._licenseSpecifications != null && this._licenseSpecifications.Count > 0; } /// /// Gets and sets the property MaintenanceOptions. /// /// The maintenance options for your instance. /// /// public LaunchTemplateInstanceMaintenanceOptions MaintenanceOptions { get { return this._maintenanceOptions; } set { this._maintenanceOptions = value; } } // Check to see if MaintenanceOptions property is set internal bool IsSetMaintenanceOptions() { return this._maintenanceOptions != null; } /// /// Gets and sets the property MetadataOptions. /// /// The metadata options for the instance. For more information, see Instance /// metadata and user data in the Amazon Elastic Compute Cloud User Guide. /// /// public LaunchTemplateInstanceMetadataOptions MetadataOptions { get { return this._metadataOptions; } set { this._metadataOptions = value; } } // Check to see if MetadataOptions property is set internal bool IsSetMetadataOptions() { return this._metadataOptions != null; } /// /// Gets and sets the property Monitoring. /// /// The monitoring for the instance. /// /// public LaunchTemplatesMonitoring Monitoring { get { return this._monitoring; } set { this._monitoring = value; } } // Check to see if Monitoring property is set internal bool IsSetMonitoring() { return this._monitoring != null; } /// /// Gets and sets the property NetworkInterfaces. /// /// The network interfaces. /// /// public List NetworkInterfaces { get { return this._networkInterfaces; } set { this._networkInterfaces = value; } } // Check to see if NetworkInterfaces property is set internal bool IsSetNetworkInterfaces() { return this._networkInterfaces != null && this._networkInterfaces.Count > 0; } /// /// Gets and sets the property Placement. /// /// The placement of the instance. /// /// public LaunchTemplatePlacement Placement { get { return this._placement; } set { this._placement = value; } } // Check to see if Placement property is set internal bool IsSetPlacement() { return this._placement != null; } /// /// Gets and sets the property PrivateDnsNameOptions. /// /// The options for the instance hostname. /// /// public LaunchTemplatePrivateDnsNameOptions PrivateDnsNameOptions { get { return this._privateDnsNameOptions; } set { this._privateDnsNameOptions = value; } } // Check to see if PrivateDnsNameOptions property is set internal bool IsSetPrivateDnsNameOptions() { return this._privateDnsNameOptions != null; } /// /// Gets and sets the property RamDiskId. /// /// The ID of the RAM disk, if applicable. /// /// public string RamDiskId { get { return this._ramDiskId; } set { this._ramDiskId = value; } } // Check to see if RamDiskId property is set internal bool IsSetRamDiskId() { return this._ramDiskId != null; } /// /// Gets and sets the property SecurityGroupIds. /// /// The security group IDs. /// /// public List SecurityGroupIds { get { return this._securityGroupIds; } set { this._securityGroupIds = value; } } // Check to see if SecurityGroupIds property is set internal bool IsSetSecurityGroupIds() { return this._securityGroupIds != null && this._securityGroupIds.Count > 0; } /// /// Gets and sets the property SecurityGroups. /// /// The security group names. /// /// public List SecurityGroups { get { return this._securityGroups; } set { this._securityGroups = value; } } // Check to see if SecurityGroups property is set internal bool IsSetSecurityGroups() { return this._securityGroups != null && this._securityGroups.Count > 0; } /// /// Gets and sets the property TagSpecifications. /// /// The tags that are applied to the resources that are created during instance launch. /// /// public List TagSpecifications { get { return this._tagSpecifications; } set { this._tagSpecifications = value; } } // Check to see if TagSpecifications property is set internal bool IsSetTagSpecifications() { return this._tagSpecifications != null && this._tagSpecifications.Count > 0; } /// /// Gets and sets the property UserData. /// /// The user data for the instance. /// /// [AWSProperty(Sensitive=true)] public string UserData { get { return this._userData; } set { this._userData = value; } } // Check to see if UserData property is set internal bool IsSetUserData() { return this._userData != null; } } }