/*
* 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
{
///
/// Details about a launch configuration.
///
public partial class AwsAutoScalingLaunchConfigurationDetails
{
private bool? _associatePublicIpAddress;
private List _blockDeviceMappings = new List();
private string _classicLinkVpcId;
private List _classicLinkVpcSecurityGroups = new List();
private string _createdTime;
private bool? _ebsOptimized;
private string _iamInstanceProfile;
private string _imageId;
private AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails _instanceMonitoring;
private string _instanceType;
private string _kernelId;
private string _keyName;
private string _launchConfigurationName;
private AwsAutoScalingLaunchConfigurationMetadataOptions _metadataOptions;
private string _placementTenancy;
private string _ramdiskId;
private List _securityGroups = new List();
private string _spotPrice;
private string _userData;
///
/// Gets and sets the property AssociatePublicIpAddress.
///
/// For Auto Scaling groups that run in a VPC, specifies whether to assign a public IP
/// address to the group's instances.
///
///
public bool AssociatePublicIpAddress
{
get { return this._associatePublicIpAddress.GetValueOrDefault(); }
set { this._associatePublicIpAddress = value; }
}
// Check to see if AssociatePublicIpAddress property is set
internal bool IsSetAssociatePublicIpAddress()
{
return this._associatePublicIpAddress.HasValue;
}
///
/// Gets and sets the property BlockDeviceMappings.
///
/// Specifies the block devices for the instance.
///
///
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 ClassicLinkVpcId.
///
/// The identifier of a ClassicLink-enabled VPC that EC2-Classic instances are linked
/// to.
///
///
public string ClassicLinkVpcId
{
get { return this._classicLinkVpcId; }
set { this._classicLinkVpcId = value; }
}
// Check to see if ClassicLinkVpcId property is set
internal bool IsSetClassicLinkVpcId()
{
return this._classicLinkVpcId != null;
}
///
/// Gets and sets the property ClassicLinkVpcSecurityGroups.
///
/// The identifiers of one or more security groups for the VPC that is specified in ClassicLinkVPCId
.
///
///
public List ClassicLinkVpcSecurityGroups
{
get { return this._classicLinkVpcSecurityGroups; }
set { this._classicLinkVpcSecurityGroups = value; }
}
// Check to see if ClassicLinkVpcSecurityGroups property is set
internal bool IsSetClassicLinkVpcSecurityGroups()
{
return this._classicLinkVpcSecurityGroups != null && this._classicLinkVpcSecurityGroups.Count > 0;
}
///
/// Gets and sets the property CreatedTime.
///
/// The creation date and time for the launch configuration.
///
///
///
/// Uses the date-time
format specified in RFC
/// 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces,
/// and date and time should be separated by T
. For example, 2020-03-22T13:22:13.933Z
.
///
///
public string CreatedTime
{
get { return this._createdTime; }
set { this._createdTime = value; }
}
// Check to see if CreatedTime property is set
internal bool IsSetCreatedTime()
{
return this._createdTime != null;
}
///
/// Gets and sets the property EbsOptimized.
///
/// Whether the launch configuration 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 IamInstanceProfile.
///
/// The name or the ARN of the instance profile associated with the IAM role for the instance.
/// The instance profile contains the IAM role.
///
///
public string 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 identifier of the Amazon Machine Image (AMI) that is used to launch EC2 instances.
///
///
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 InstanceMonitoring.
///
/// Indicates the type of monitoring for instances in the group.
///
///
public AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails InstanceMonitoring
{
get { return this._instanceMonitoring; }
set { this._instanceMonitoring = value; }
}
// Check to see if InstanceMonitoring property is set
internal bool IsSetInstanceMonitoring()
{
return this._instanceMonitoring != null;
}
///
/// Gets and sets the property InstanceType.
///
/// The instance type for the instances.
///
///
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 identifier of the kernel associated with the AMI.
///
///
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 LaunchConfigurationName.
///
/// The name of the launch configuration.
///
///
public string LaunchConfigurationName
{
get { return this._launchConfigurationName; }
set { this._launchConfigurationName = value; }
}
// Check to see if LaunchConfigurationName property is set
internal bool IsSetLaunchConfigurationName()
{
return this._launchConfigurationName != null;
}
///
/// Gets and sets the property MetadataOptions.
///
/// The metadata options for the instances.
///
///
public AwsAutoScalingLaunchConfigurationMetadataOptions 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 PlacementTenancy.
///
/// The tenancy of the instance. An instance with dedicated
tenancy runs
/// on isolated, single-tenant hardware and can only be launched into a VPC.
///
///
public string PlacementTenancy
{
get { return this._placementTenancy; }
set { this._placementTenancy = value; }
}
// Check to see if PlacementTenancy property is set
internal bool IsSetPlacementTenancy()
{
return this._placementTenancy != null;
}
///
/// Gets and sets the property RamdiskId.
///
/// The identifier of the RAM disk associated with the AMI.
///
///
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 SecurityGroups.
///
/// The security groups to assign to the instances in the Auto Scaling group.
///
///
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 SpotPrice.
///
/// The maximum hourly price to be paid for any Spot Instance that is launched to fulfill
/// the request.
///
///
public string SpotPrice
{
get { return this._spotPrice; }
set { this._spotPrice = value; }
}
// Check to see if SpotPrice property is set
internal bool IsSetSpotPrice()
{
return this._spotPrice != null;
}
///
/// Gets and sets the property UserData.
///
/// The user data to make available to the launched EC2 instances. Must be base64-encoded
/// text.
///
///
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;
}
}
}