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

com.pulumi.azurenative.awsconnector.inputs.AwsLightsailInstancePropertiesArgs 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.azurenative.awsconnector.inputs;

import com.pulumi.azurenative.awsconnector.inputs.AddOnArgs;
import com.pulumi.azurenative.awsconnector.inputs.HardwareArgs;
import com.pulumi.azurenative.awsconnector.inputs.LocationArgs;
import com.pulumi.azurenative.awsconnector.inputs.NetworkingArgs;
import com.pulumi.azurenative.awsconnector.inputs.StateArgs;
import com.pulumi.azurenative.awsconnector.inputs.TagArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of awsLightsailInstance
 * 
 */
public final class AwsLightsailInstancePropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final AwsLightsailInstancePropertiesArgs Empty = new AwsLightsailInstancePropertiesArgs();

    /**
     * An array of objects representing the add-ons to enable for the new instance.
     * 
     */
    @Import(name="addOns")
    private @Nullable Output> addOns;

    /**
     * @return An array of objects representing the add-ons to enable for the new instance.
     * 
     */
    public Optional>> addOns() {
        return Optional.ofNullable(this.addOns);
    }

    /**
     * The Availability Zone in which to create your instance. Use the following format: us-east-2a (case sensitive). Be sure to add the include Availability Zones parameter to your request.
     * 
     */
    @Import(name="availabilityZone")
    private @Nullable Output availabilityZone;

    /**
     * @return The Availability Zone in which to create your instance. Use the following format: us-east-2a (case sensitive). Be sure to add the include Availability Zones parameter to your request.
     * 
     */
    public Optional> availabilityZone() {
        return Optional.ofNullable(this.availabilityZone);
    }

    /**
     * The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0 ). Use the get blueprints operation to return a list of available images (or blueprints ).
     * 
     */
    @Import(name="blueprintId")
    private @Nullable Output blueprintId;

    /**
     * @return The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0 ). Use the get blueprints operation to return a list of available images (or blueprints ).
     * 
     */
    public Optional> blueprintId() {
        return Optional.ofNullable(this.blueprintId);
    }

    /**
     * The bundle of specification information for your virtual private server (or instance ), including the pricing plan (e.g., micro_1_0 ).
     * 
     */
    @Import(name="bundleId")
    private @Nullable Output bundleId;

    /**
     * @return The bundle of specification information for your virtual private server (or instance ), including the pricing plan (e.g., micro_1_0 ).
     * 
     */
    public Optional> bundleId() {
        return Optional.ofNullable(this.bundleId);
    }

    /**
     * Hardware of the Instance.
     * 
     */
    @Import(name="hardware")
    private @Nullable Output hardware;

    /**
     * @return Hardware of the Instance.
     * 
     */
    public Optional> hardware() {
        return Optional.ofNullable(this.hardware);
    }

    /**
     * Property instanceArn
     * 
     */
    @Import(name="instanceArn")
    private @Nullable Output instanceArn;

    /**
     * @return Property instanceArn
     * 
     */
    public Optional> instanceArn() {
        return Optional.ofNullable(this.instanceArn);
    }

    /**
     * The names to use for your new Lightsail instance.
     * 
     */
    @Import(name="instanceName")
    private @Nullable Output instanceName;

    /**
     * @return The names to use for your new Lightsail instance.
     * 
     */
    public Optional> instanceName() {
        return Optional.ofNullable(this.instanceName);
    }

    /**
     * Is the IP Address of the Instance is the static IP
     * 
     */
    @Import(name="isStaticIp")
    private @Nullable Output isStaticIp;

    /**
     * @return Is the IP Address of the Instance is the static IP
     * 
     */
    public Optional> isStaticIp() {
        return Optional.ofNullable(this.isStaticIp);
    }

    /**
     * The name of your key pair.
     * 
     */
    @Import(name="keyPairName")
    private @Nullable Output keyPairName;

    /**
     * @return The name of your key pair.
     * 
     */
    public Optional> keyPairName() {
        return Optional.ofNullable(this.keyPairName);
    }

    /**
     * Location of a resource.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Location of a resource.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Networking of the Instance.
     * 
     */
    @Import(name="networking")
    private @Nullable Output networking;

    /**
     * @return Networking of the Instance.
     * 
     */
    public Optional> networking() {
        return Optional.ofNullable(this.networking);
    }

    /**
     * Private IP Address of the Instance
     * 
     */
    @Import(name="privateIpAddress")
    private @Nullable Output privateIpAddress;

    /**
     * @return Private IP Address of the Instance
     * 
     */
    public Optional> privateIpAddress() {
        return Optional.ofNullable(this.privateIpAddress);
    }

    /**
     * Public IP Address of the Instance
     * 
     */
    @Import(name="publicIpAddress")
    private @Nullable Output publicIpAddress;

    /**
     * @return Public IP Address of the Instance
     * 
     */
    public Optional> publicIpAddress() {
        return Optional.ofNullable(this.publicIpAddress);
    }

    /**
     * Resource type of Lightsail instance.
     * 
     */
    @Import(name="resourceType")
    private @Nullable Output resourceType;

    /**
     * @return Resource type of Lightsail instance.
     * 
     */
    public Optional> resourceType() {
        return Optional.ofNullable(this.resourceType);
    }

    /**
     * SSH Key Name of the  Lightsail instance.
     * 
     */
    @Import(name="sshKeyName")
    private @Nullable Output sshKeyName;

    /**
     * @return SSH Key Name of the  Lightsail instance.
     * 
     */
    public Optional> sshKeyName() {
        return Optional.ofNullable(this.sshKeyName);
    }

    /**
     * Current State of the Instance.
     * 
     */
    @Import(name="state")
    private @Nullable Output state;

    /**
     * @return Current State of the Instance.
     * 
     */
    public Optional> state() {
        return Optional.ofNullable(this.state);
    }

    /**
     * Support code to help identify any issues
     * 
     */
    @Import(name="supportCode")
    private @Nullable Output supportCode;

    /**
     * @return Support code to help identify any issues
     * 
     */
    public Optional> supportCode() {
        return Optional.ofNullable(this.supportCode);
    }

    /**
     * An array of key-value pairs to apply to this resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return An array of key-value pairs to apply to this resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * A launch script you can create that configures a server with additional user data. For example, you might want to run apt-get -y update.
     * 
     */
    @Import(name="userData")
    private @Nullable Output userData;

    /**
     * @return A launch script you can create that configures a server with additional user data. For example, you might want to run apt-get -y update.
     * 
     */
    public Optional> userData() {
        return Optional.ofNullable(this.userData);
    }

    /**
     * Username of the  Lightsail instance.
     * 
     */
    @Import(name="userName")
    private @Nullable Output userName;

    /**
     * @return Username of the  Lightsail instance.
     * 
     */
    public Optional> userName() {
        return Optional.ofNullable(this.userName);
    }

    private AwsLightsailInstancePropertiesArgs() {}

    private AwsLightsailInstancePropertiesArgs(AwsLightsailInstancePropertiesArgs $) {
        this.addOns = $.addOns;
        this.availabilityZone = $.availabilityZone;
        this.blueprintId = $.blueprintId;
        this.bundleId = $.bundleId;
        this.hardware = $.hardware;
        this.instanceArn = $.instanceArn;
        this.instanceName = $.instanceName;
        this.isStaticIp = $.isStaticIp;
        this.keyPairName = $.keyPairName;
        this.location = $.location;
        this.networking = $.networking;
        this.privateIpAddress = $.privateIpAddress;
        this.publicIpAddress = $.publicIpAddress;
        this.resourceType = $.resourceType;
        this.sshKeyName = $.sshKeyName;
        this.state = $.state;
        this.supportCode = $.supportCode;
        this.tags = $.tags;
        this.userData = $.userData;
        this.userName = $.userName;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(AwsLightsailInstancePropertiesArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private AwsLightsailInstancePropertiesArgs $;

        public Builder() {
            $ = new AwsLightsailInstancePropertiesArgs();
        }

        public Builder(AwsLightsailInstancePropertiesArgs defaults) {
            $ = new AwsLightsailInstancePropertiesArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param addOns An array of objects representing the add-ons to enable for the new instance.
         * 
         * @return builder
         * 
         */
        public Builder addOns(@Nullable Output> addOns) {
            $.addOns = addOns;
            return this;
        }

        /**
         * @param addOns An array of objects representing the add-ons to enable for the new instance.
         * 
         * @return builder
         * 
         */
        public Builder addOns(List addOns) {
            return addOns(Output.of(addOns));
        }

        /**
         * @param addOns An array of objects representing the add-ons to enable for the new instance.
         * 
         * @return builder
         * 
         */
        public Builder addOns(AddOnArgs... addOns) {
            return addOns(List.of(addOns));
        }

        /**
         * @param availabilityZone The Availability Zone in which to create your instance. Use the following format: us-east-2a (case sensitive). Be sure to add the include Availability Zones parameter to your request.
         * 
         * @return builder
         * 
         */
        public Builder availabilityZone(@Nullable Output availabilityZone) {
            $.availabilityZone = availabilityZone;
            return this;
        }

        /**
         * @param availabilityZone The Availability Zone in which to create your instance. Use the following format: us-east-2a (case sensitive). Be sure to add the include Availability Zones parameter to your request.
         * 
         * @return builder
         * 
         */
        public Builder availabilityZone(String availabilityZone) {
            return availabilityZone(Output.of(availabilityZone));
        }

        /**
         * @param blueprintId The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0 ). Use the get blueprints operation to return a list of available images (or blueprints ).
         * 
         * @return builder
         * 
         */
        public Builder blueprintId(@Nullable Output blueprintId) {
            $.blueprintId = blueprintId;
            return this;
        }

        /**
         * @param blueprintId The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0 ). Use the get blueprints operation to return a list of available images (or blueprints ).
         * 
         * @return builder
         * 
         */
        public Builder blueprintId(String blueprintId) {
            return blueprintId(Output.of(blueprintId));
        }

        /**
         * @param bundleId The bundle of specification information for your virtual private server (or instance ), including the pricing plan (e.g., micro_1_0 ).
         * 
         * @return builder
         * 
         */
        public Builder bundleId(@Nullable Output bundleId) {
            $.bundleId = bundleId;
            return this;
        }

        /**
         * @param bundleId The bundle of specification information for your virtual private server (or instance ), including the pricing plan (e.g., micro_1_0 ).
         * 
         * @return builder
         * 
         */
        public Builder bundleId(String bundleId) {
            return bundleId(Output.of(bundleId));
        }

        /**
         * @param hardware Hardware of the Instance.
         * 
         * @return builder
         * 
         */
        public Builder hardware(@Nullable Output hardware) {
            $.hardware = hardware;
            return this;
        }

        /**
         * @param hardware Hardware of the Instance.
         * 
         * @return builder
         * 
         */
        public Builder hardware(HardwareArgs hardware) {
            return hardware(Output.of(hardware));
        }

        /**
         * @param instanceArn Property instanceArn
         * 
         * @return builder
         * 
         */
        public Builder instanceArn(@Nullable Output instanceArn) {
            $.instanceArn = instanceArn;
            return this;
        }

        /**
         * @param instanceArn Property instanceArn
         * 
         * @return builder
         * 
         */
        public Builder instanceArn(String instanceArn) {
            return instanceArn(Output.of(instanceArn));
        }

        /**
         * @param instanceName The names to use for your new Lightsail instance.
         * 
         * @return builder
         * 
         */
        public Builder instanceName(@Nullable Output instanceName) {
            $.instanceName = instanceName;
            return this;
        }

        /**
         * @param instanceName The names to use for your new Lightsail instance.
         * 
         * @return builder
         * 
         */
        public Builder instanceName(String instanceName) {
            return instanceName(Output.of(instanceName));
        }

        /**
         * @param isStaticIp Is the IP Address of the Instance is the static IP
         * 
         * @return builder
         * 
         */
        public Builder isStaticIp(@Nullable Output isStaticIp) {
            $.isStaticIp = isStaticIp;
            return this;
        }

        /**
         * @param isStaticIp Is the IP Address of the Instance is the static IP
         * 
         * @return builder
         * 
         */
        public Builder isStaticIp(Boolean isStaticIp) {
            return isStaticIp(Output.of(isStaticIp));
        }

        /**
         * @param keyPairName The name of your key pair.
         * 
         * @return builder
         * 
         */
        public Builder keyPairName(@Nullable Output keyPairName) {
            $.keyPairName = keyPairName;
            return this;
        }

        /**
         * @param keyPairName The name of your key pair.
         * 
         * @return builder
         * 
         */
        public Builder keyPairName(String keyPairName) {
            return keyPairName(Output.of(keyPairName));
        }

        /**
         * @param location Location of a resource.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Location of a resource.
         * 
         * @return builder
         * 
         */
        public Builder location(LocationArgs location) {
            return location(Output.of(location));
        }

        /**
         * @param networking Networking of the Instance.
         * 
         * @return builder
         * 
         */
        public Builder networking(@Nullable Output networking) {
            $.networking = networking;
            return this;
        }

        /**
         * @param networking Networking of the Instance.
         * 
         * @return builder
         * 
         */
        public Builder networking(NetworkingArgs networking) {
            return networking(Output.of(networking));
        }

        /**
         * @param privateIpAddress Private IP Address of the Instance
         * 
         * @return builder
         * 
         */
        public Builder privateIpAddress(@Nullable Output privateIpAddress) {
            $.privateIpAddress = privateIpAddress;
            return this;
        }

        /**
         * @param privateIpAddress Private IP Address of the Instance
         * 
         * @return builder
         * 
         */
        public Builder privateIpAddress(String privateIpAddress) {
            return privateIpAddress(Output.of(privateIpAddress));
        }

        /**
         * @param publicIpAddress Public IP Address of the Instance
         * 
         * @return builder
         * 
         */
        public Builder publicIpAddress(@Nullable Output publicIpAddress) {
            $.publicIpAddress = publicIpAddress;
            return this;
        }

        /**
         * @param publicIpAddress Public IP Address of the Instance
         * 
         * @return builder
         * 
         */
        public Builder publicIpAddress(String publicIpAddress) {
            return publicIpAddress(Output.of(publicIpAddress));
        }

        /**
         * @param resourceType Resource type of Lightsail instance.
         * 
         * @return builder
         * 
         */
        public Builder resourceType(@Nullable Output resourceType) {
            $.resourceType = resourceType;
            return this;
        }

        /**
         * @param resourceType Resource type of Lightsail instance.
         * 
         * @return builder
         * 
         */
        public Builder resourceType(String resourceType) {
            return resourceType(Output.of(resourceType));
        }

        /**
         * @param sshKeyName SSH Key Name of the  Lightsail instance.
         * 
         * @return builder
         * 
         */
        public Builder sshKeyName(@Nullable Output sshKeyName) {
            $.sshKeyName = sshKeyName;
            return this;
        }

        /**
         * @param sshKeyName SSH Key Name of the  Lightsail instance.
         * 
         * @return builder
         * 
         */
        public Builder sshKeyName(String sshKeyName) {
            return sshKeyName(Output.of(sshKeyName));
        }

        /**
         * @param state Current State of the Instance.
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output state) {
            $.state = state;
            return this;
        }

        /**
         * @param state Current State of the Instance.
         * 
         * @return builder
         * 
         */
        public Builder state(StateArgs state) {
            return state(Output.of(state));
        }

        /**
         * @param supportCode Support code to help identify any issues
         * 
         * @return builder
         * 
         */
        public Builder supportCode(@Nullable Output supportCode) {
            $.supportCode = supportCode;
            return this;
        }

        /**
         * @param supportCode Support code to help identify any issues
         * 
         * @return builder
         * 
         */
        public Builder supportCode(String supportCode) {
            return supportCode(Output.of(supportCode));
        }

        /**
         * @param tags An array of key-value pairs to apply to this resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags An array of key-value pairs to apply to this resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(List tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tags An array of key-value pairs to apply to this resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(TagArgs... tags) {
            return tags(List.of(tags));
        }

        /**
         * @param userData A launch script you can create that configures a server with additional user data. For example, you might want to run apt-get -y update.
         * 
         * @return builder
         * 
         */
        public Builder userData(@Nullable Output userData) {
            $.userData = userData;
            return this;
        }

        /**
         * @param userData A launch script you can create that configures a server with additional user data. For example, you might want to run apt-get -y update.
         * 
         * @return builder
         * 
         */
        public Builder userData(String userData) {
            return userData(Output.of(userData));
        }

        /**
         * @param userName Username of the  Lightsail instance.
         * 
         * @return builder
         * 
         */
        public Builder userName(@Nullable Output userName) {
            $.userName = userName;
            return this;
        }

        /**
         * @param userName Username of the  Lightsail instance.
         * 
         * @return builder
         * 
         */
        public Builder userName(String userName) {
            return userName(Output.of(userName));
        }

        public AwsLightsailInstancePropertiesArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy