/* * 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 information to include in an Amazon Elastic Compute Cloud (Amazon EC2) launch /// template. /// public partial class AwsEc2LaunchTemplateDataDetails { private List _blockDeviceMappingSet = new List(); private AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails _capacityReservationSpecification; private AwsEc2LaunchTemplateDataCpuOptionsDetails _cpuOptions; private AwsEc2LaunchTemplateDataCreditSpecificationDetails _creditSpecification; private bool? _disableApiStop; private bool? _disableApiTermination; private bool? _ebsOptimized; private List _elasticGpuSpecificationSet = new List(); private List _elasticInferenceAcceleratorSet = new List(); private AwsEc2LaunchTemplateDataEnclaveOptionsDetails _enclaveOptions; private AwsEc2LaunchTemplateDataHibernationOptionsDetails _hibernationOptions; private AwsEc2LaunchTemplateDataIamInstanceProfileDetails _iamInstanceProfile; private string _imageId; private string _instanceInitiatedShutdownBehavior; private AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails _instanceMarketOptions; private AwsEc2LaunchTemplateDataInstanceRequirementsDetails _instanceRequirements; private string _instanceType; private string _kernelId; private string _keyName; private List _licenseSet = new List(); private AwsEc2LaunchTemplateDataMaintenanceOptionsDetails _maintenanceOptions; private AwsEc2LaunchTemplateDataMetadataOptionsDetails _metadataOptions; private AwsEc2LaunchTemplateDataMonitoringDetails _monitoring; private List _networkInterfaceSet = new List(); private AwsEc2LaunchTemplateDataPlacementDetails _placement; private AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails _privateDnsNameOptions; private string _ramDiskId; private List _securityGroupIdSet = new List(); private List _securityGroupSet = new List(); private string _userData; /// /// Gets and sets the property BlockDeviceMappingSet. /// /// Information about a block device mapping for an Amazon EC2 launch template. /// /// public List BlockDeviceMappingSet { get { return this._blockDeviceMappingSet; } set { this._blockDeviceMappingSet = value; } } // Check to see if BlockDeviceMappingSet property is set internal bool IsSetBlockDeviceMappingSet() { return this._blockDeviceMappingSet != null && this._blockDeviceMappingSet.Count > 0; } /// /// Gets and sets the property CapacityReservationSpecification. /// /// Specifies an instance's Capacity Reservation targeting option. You can specify only /// one option at a time. /// /// public AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails 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. /// /// Specifies the CPU options for an instance. For more information, see Optimize /// CPU options in the Amazon Elastic Compute Cloud User Guide. /// /// public AwsEc2LaunchTemplateDataCpuOptionsDetails 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. /// /// Specifies the credit option for CPU usage of a T2, T3, or T3a instance. /// /// public AwsEc2LaunchTemplateDataCreditSpecificationDetails 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 to enable the instance for stop protection. For more information, /// see Enable /// stop protection in the Amazon EC2 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 you set this parameter to true, you can't terminate the instance /// using the Amazon EC2 console, CLI, or API. If set to true, you can. /// /// 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 ElasticGpuSpecificationSet. /// /// Provides details about Elastic Graphics accelerators to associate with the instance. /// /// /// public List ElasticGpuSpecificationSet { get { return this._elasticGpuSpecificationSet; } set { this._elasticGpuSpecificationSet = value; } } // Check to see if ElasticGpuSpecificationSet property is set internal bool IsSetElasticGpuSpecificationSet() { return this._elasticGpuSpecificationSet != null && this._elasticGpuSpecificationSet.Count > 0; } /// /// Gets and sets the property ElasticInferenceAcceleratorSet. /// /// The Amazon Elastic Inference accelerator for the instance. /// /// public List ElasticInferenceAcceleratorSet { get { return this._elasticInferenceAcceleratorSet; } set { this._elasticInferenceAcceleratorSet = value; } } // Check to see if ElasticInferenceAcceleratorSet property is set internal bool IsSetElasticInferenceAcceleratorSet() { return this._elasticInferenceAcceleratorSet != null && this._elasticInferenceAcceleratorSet.Count > 0; } /// /// Gets and sets the property EnclaveOptions. /// /// Indicates whether the Amazon EC2 instance is enabled for Amazon Web Services Nitro /// Enclaves. /// /// public AwsEc2LaunchTemplateDataEnclaveOptionsDetails 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. /// /// Specifies whether your Amazon EC2 instance is configured for hibernation. /// /// public AwsEc2LaunchTemplateDataHibernationOptionsDetails 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 name or Amazon Resource Name (ARN) of an IAM instance profile. /// /// public AwsEc2LaunchTemplateDataIamInstanceProfileDetails 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 Amazon Machine Image (AMI). /// /// 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. /// /// Provides the options for specifying the instance initiated shutdown behavior. /// /// public string 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. /// /// Specifies the market (purchasing) option for an instance. /// /// public AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails 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 InstanceType. /// /// public AwsEc2LaunchTemplateDataInstanceRequirementsDetails 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. For more information, see Instance /// types in the Amazon EC2 User Guide. If you specify InstanceType, /// you can't specify InstanceRequirements. /// /// public string 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. /// /// 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 that allows users to connect to the instance. /// /// 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 LicenseSet. /// /// Specifies a license configuration for an instance. /// /// public List LicenseSet { get { return this._licenseSet; } set { this._licenseSet = value; } } // Check to see if LicenseSet property is set internal bool IsSetLicenseSet() { return this._licenseSet != null && this._licenseSet.Count > 0; } /// /// Gets and sets the property MaintenanceOptions. /// /// The maintenance options of your instance. /// /// public AwsEc2LaunchTemplateDataMaintenanceOptionsDetails 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 EC2 User Guide. /// /// public AwsEc2LaunchTemplateDataMetadataOptionsDetails 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 AwsEc2LaunchTemplateDataMonitoringDetails 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 NetworkInterfaceSet. /// /// Specifies the parameters for a network interface that is attached to the instance. /// /// /// public List NetworkInterfaceSet { get { return this._networkInterfaceSet; } set { this._networkInterfaceSet = value; } } // Check to see if NetworkInterfaceSet property is set internal bool IsSetNetworkInterfaceSet() { return this._networkInterfaceSet != null && this._networkInterfaceSet.Count > 0; } /// /// Gets and sets the property Placement. /// /// Specifies the placement of an instance. /// /// public AwsEc2LaunchTemplateDataPlacementDetails 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 AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails 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. /// /// 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 SecurityGroupIdSet. /// /// One or more security group IDs. /// /// public List SecurityGroupIdSet { get { return this._securityGroupIdSet; } set { this._securityGroupIdSet = value; } } // Check to see if SecurityGroupIdSet property is set internal bool IsSetSecurityGroupIdSet() { return this._securityGroupIdSet != null && this._securityGroupIdSet.Count > 0; } /// /// Gets and sets the property SecurityGroupSet. /// /// One or more security group names. For a nondefault VPC, you must use security group /// IDs instead. You cannot specify both a security group ID and security name in the /// same request. /// /// public List SecurityGroupSet { get { return this._securityGroupSet; } set { this._securityGroupSet = value; } } // Check to see if SecurityGroupSet property is set internal bool IsSetSecurityGroupSet() { return this._securityGroupSet != null && this._securityGroupSet.Count > 0; } /// /// Gets and sets the property UserData. /// /// The user data to make available to the instance. /// /// 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; } } }