
com.pulumi.aws.ec2.outputs.GetLaunchConfigurationResult Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.ec2.outputs;
import com.pulumi.aws.ec2.outputs.GetLaunchConfigurationEbsBlockDevice;
import com.pulumi.aws.ec2.outputs.GetLaunchConfigurationEphemeralBlockDevice;
import com.pulumi.aws.ec2.outputs.GetLaunchConfigurationMetadataOption;
import com.pulumi.aws.ec2.outputs.GetLaunchConfigurationRootBlockDevice;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
@CustomType
public final class GetLaunchConfigurationResult {
/**
* @return Amazon Resource Name of the launch configuration.
*
*/
private String arn;
/**
* @return Whether a Public IP address is associated with the instance.
*
*/
private Boolean associatePublicIpAddress;
/**
* @return EBS Block Devices attached to the instance.
*
*/
private List ebsBlockDevices;
/**
* @return Whether the launched EC2 instance will be EBS-optimized.
*
*/
private Boolean ebsOptimized;
/**
* @return Whether Detailed Monitoring is Enabled.
*
*/
private Boolean enableMonitoring;
/**
* @return The Ephemeral volumes on the instance.
*
*/
private List ephemeralBlockDevices;
/**
* @return The IAM Instance Profile to associate with launched instances.
*
*/
private String iamInstanceProfile;
/**
* @return The provider-assigned unique ID for this managed resource.
*
*/
private String id;
/**
* @return EC2 Image ID of the instance.
*
*/
private String imageId;
/**
* @return Instance Type of the instance to launch.
*
*/
private String instanceType;
/**
* @return Key Name that should be used for the instance.
*
*/
private String keyName;
/**
* @return Metadata options for the instance.
*
*/
private List metadataOptions;
/**
* @return Name of the launch configuration.
*
*/
private String name;
/**
* @return Tenancy of the instance.
*
*/
private String placementTenancy;
/**
* @return Root Block Device of the instance.
*
*/
private List rootBlockDevices;
/**
* @return List of associated Security Group IDS.
*
*/
private List securityGroups;
/**
* @return Price to use for reserving Spot instances.
*
*/
private String spotPrice;
/**
* @return User Data of the instance.
*
*/
private String userData;
private GetLaunchConfigurationResult() {}
/**
* @return Amazon Resource Name of the launch configuration.
*
*/
public String arn() {
return this.arn;
}
/**
* @return Whether a Public IP address is associated with the instance.
*
*/
public Boolean associatePublicIpAddress() {
return this.associatePublicIpAddress;
}
/**
* @return EBS Block Devices attached to the instance.
*
*/
public List ebsBlockDevices() {
return this.ebsBlockDevices;
}
/**
* @return Whether the launched EC2 instance will be EBS-optimized.
*
*/
public Boolean ebsOptimized() {
return this.ebsOptimized;
}
/**
* @return Whether Detailed Monitoring is Enabled.
*
*/
public Boolean enableMonitoring() {
return this.enableMonitoring;
}
/**
* @return The Ephemeral volumes on the instance.
*
*/
public List ephemeralBlockDevices() {
return this.ephemeralBlockDevices;
}
/**
* @return The IAM Instance Profile to associate with launched instances.
*
*/
public String iamInstanceProfile() {
return this.iamInstanceProfile;
}
/**
* @return The provider-assigned unique ID for this managed resource.
*
*/
public String id() {
return this.id;
}
/**
* @return EC2 Image ID of the instance.
*
*/
public String imageId() {
return this.imageId;
}
/**
* @return Instance Type of the instance to launch.
*
*/
public String instanceType() {
return this.instanceType;
}
/**
* @return Key Name that should be used for the instance.
*
*/
public String keyName() {
return this.keyName;
}
/**
* @return Metadata options for the instance.
*
*/
public List metadataOptions() {
return this.metadataOptions;
}
/**
* @return Name of the launch configuration.
*
*/
public String name() {
return this.name;
}
/**
* @return Tenancy of the instance.
*
*/
public String placementTenancy() {
return this.placementTenancy;
}
/**
* @return Root Block Device of the instance.
*
*/
public List rootBlockDevices() {
return this.rootBlockDevices;
}
/**
* @return List of associated Security Group IDS.
*
*/
public List securityGroups() {
return this.securityGroups;
}
/**
* @return Price to use for reserving Spot instances.
*
*/
public String spotPrice() {
return this.spotPrice;
}
/**
* @return User Data of the instance.
*
*/
public String userData() {
return this.userData;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GetLaunchConfigurationResult defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String arn;
private Boolean associatePublicIpAddress;
private List ebsBlockDevices;
private Boolean ebsOptimized;
private Boolean enableMonitoring;
private List ephemeralBlockDevices;
private String iamInstanceProfile;
private String id;
private String imageId;
private String instanceType;
private String keyName;
private List metadataOptions;
private String name;
private String placementTenancy;
private List rootBlockDevices;
private List securityGroups;
private String spotPrice;
private String userData;
public Builder() {}
public Builder(GetLaunchConfigurationResult defaults) {
Objects.requireNonNull(defaults);
this.arn = defaults.arn;
this.associatePublicIpAddress = defaults.associatePublicIpAddress;
this.ebsBlockDevices = defaults.ebsBlockDevices;
this.ebsOptimized = defaults.ebsOptimized;
this.enableMonitoring = defaults.enableMonitoring;
this.ephemeralBlockDevices = defaults.ephemeralBlockDevices;
this.iamInstanceProfile = defaults.iamInstanceProfile;
this.id = defaults.id;
this.imageId = defaults.imageId;
this.instanceType = defaults.instanceType;
this.keyName = defaults.keyName;
this.metadataOptions = defaults.metadataOptions;
this.name = defaults.name;
this.placementTenancy = defaults.placementTenancy;
this.rootBlockDevices = defaults.rootBlockDevices;
this.securityGroups = defaults.securityGroups;
this.spotPrice = defaults.spotPrice;
this.userData = defaults.userData;
}
@CustomType.Setter
public Builder arn(String arn) {
if (arn == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "arn");
}
this.arn = arn;
return this;
}
@CustomType.Setter
public Builder associatePublicIpAddress(Boolean associatePublicIpAddress) {
if (associatePublicIpAddress == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "associatePublicIpAddress");
}
this.associatePublicIpAddress = associatePublicIpAddress;
return this;
}
@CustomType.Setter
public Builder ebsBlockDevices(List ebsBlockDevices) {
if (ebsBlockDevices == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "ebsBlockDevices");
}
this.ebsBlockDevices = ebsBlockDevices;
return this;
}
public Builder ebsBlockDevices(GetLaunchConfigurationEbsBlockDevice... ebsBlockDevices) {
return ebsBlockDevices(List.of(ebsBlockDevices));
}
@CustomType.Setter
public Builder ebsOptimized(Boolean ebsOptimized) {
if (ebsOptimized == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "ebsOptimized");
}
this.ebsOptimized = ebsOptimized;
return this;
}
@CustomType.Setter
public Builder enableMonitoring(Boolean enableMonitoring) {
if (enableMonitoring == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "enableMonitoring");
}
this.enableMonitoring = enableMonitoring;
return this;
}
@CustomType.Setter
public Builder ephemeralBlockDevices(List ephemeralBlockDevices) {
if (ephemeralBlockDevices == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "ephemeralBlockDevices");
}
this.ephemeralBlockDevices = ephemeralBlockDevices;
return this;
}
public Builder ephemeralBlockDevices(GetLaunchConfigurationEphemeralBlockDevice... ephemeralBlockDevices) {
return ephemeralBlockDevices(List.of(ephemeralBlockDevices));
}
@CustomType.Setter
public Builder iamInstanceProfile(String iamInstanceProfile) {
if (iamInstanceProfile == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "iamInstanceProfile");
}
this.iamInstanceProfile = iamInstanceProfile;
return this;
}
@CustomType.Setter
public Builder id(String id) {
if (id == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "id");
}
this.id = id;
return this;
}
@CustomType.Setter
public Builder imageId(String imageId) {
if (imageId == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "imageId");
}
this.imageId = imageId;
return this;
}
@CustomType.Setter
public Builder instanceType(String instanceType) {
if (instanceType == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "instanceType");
}
this.instanceType = instanceType;
return this;
}
@CustomType.Setter
public Builder keyName(String keyName) {
if (keyName == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "keyName");
}
this.keyName = keyName;
return this;
}
@CustomType.Setter
public Builder metadataOptions(List metadataOptions) {
if (metadataOptions == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "metadataOptions");
}
this.metadataOptions = metadataOptions;
return this;
}
public Builder metadataOptions(GetLaunchConfigurationMetadataOption... metadataOptions) {
return metadataOptions(List.of(metadataOptions));
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder placementTenancy(String placementTenancy) {
if (placementTenancy == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "placementTenancy");
}
this.placementTenancy = placementTenancy;
return this;
}
@CustomType.Setter
public Builder rootBlockDevices(List rootBlockDevices) {
if (rootBlockDevices == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "rootBlockDevices");
}
this.rootBlockDevices = rootBlockDevices;
return this;
}
public Builder rootBlockDevices(GetLaunchConfigurationRootBlockDevice... rootBlockDevices) {
return rootBlockDevices(List.of(rootBlockDevices));
}
@CustomType.Setter
public Builder securityGroups(List securityGroups) {
if (securityGroups == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "securityGroups");
}
this.securityGroups = securityGroups;
return this;
}
public Builder securityGroups(String... securityGroups) {
return securityGroups(List.of(securityGroups));
}
@CustomType.Setter
public Builder spotPrice(String spotPrice) {
if (spotPrice == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "spotPrice");
}
this.spotPrice = spotPrice;
return this;
}
@CustomType.Setter
public Builder userData(String userData) {
if (userData == null) {
throw new MissingRequiredPropertyException("GetLaunchConfigurationResult", "userData");
}
this.userData = userData;
return this;
}
public GetLaunchConfigurationResult build() {
final var _resultValue = new GetLaunchConfigurationResult();
_resultValue.arn = arn;
_resultValue.associatePublicIpAddress = associatePublicIpAddress;
_resultValue.ebsBlockDevices = ebsBlockDevices;
_resultValue.ebsOptimized = ebsOptimized;
_resultValue.enableMonitoring = enableMonitoring;
_resultValue.ephemeralBlockDevices = ephemeralBlockDevices;
_resultValue.iamInstanceProfile = iamInstanceProfile;
_resultValue.id = id;
_resultValue.imageId = imageId;
_resultValue.instanceType = instanceType;
_resultValue.keyName = keyName;
_resultValue.metadataOptions = metadataOptions;
_resultValue.name = name;
_resultValue.placementTenancy = placementTenancy;
_resultValue.rootBlockDevices = rootBlockDevices;
_resultValue.securityGroups = securityGroups;
_resultValue.spotPrice = spotPrice;
_resultValue.userData = userData;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy