All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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