Package com.pulumi.aws.lightsail
Class Instance
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.lightsail.Instance
-
public class Instance extends com.pulumi.resources.CustomResourceManages a Lightsail Instance. Use this resource to create easy virtual private servers with custom software already setup. > **Note:** Lightsail is currently only supported in a limited number of AWS Regions, please see ["Regions and Availability Zones in Amazon Lightsail"](https://lightsail.aws.amazon.com/ls/docs/overview/article/understanding-regions-and-availability-zones-in-amazon-lightsail) for more details ## Example Usage ### Basic Usage
### Example With User Data Lightsail user data is handled differently than EC2 user data. Lightsail user data only accepts a single lined string. The below example shows installing apache and creating the index page.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lightsail.Instance; import com.pulumi.aws.lightsail.InstanceArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Instance("example", InstanceArgs.builder() .name("example") .availabilityZone("us-east-1b") .blueprintId("amazon_linux_2") .bundleId("nano_3_0") .keyPairName("some_key_name") .tags(Map.of("foo", "bar")) .build()); } }
### Enable Auto Snapshotspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lightsail.Instance; import com.pulumi.aws.lightsail.InstanceArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Instance("example", InstanceArgs.builder() .name("example") .availabilityZone("us-east-1b") .blueprintId("amazon_linux_2") .bundleId("nano_3_0") .userData("sudo yum install -y httpd && sudo systemctl start httpd && sudo systemctl enable httpd && echo '<h1>Deployed via Pulumi</h1>' | sudo tee /var/www/html/index.html") .build()); } }
## Import Using `pulumi import`, import Lightsail Instances using their name. For example: ```sh $ pulumi import aws:lightsail/instance:Instance example 'example' ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lightsail.Instance; import com.pulumi.aws.lightsail.InstanceArgs; import com.pulumi.aws.lightsail.inputs.InstanceAddOnArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Instance("example", InstanceArgs.builder() .addOn(InstanceAddOnArgs.builder() .type("AutoSnapshot") .snapshotTime("06:00") .status("Enabled") .build()) .name("example") .availabilityZone("us-east-1b") .blueprintId("amazon_linux_2") .bundleId("nano_3_0") .tags(Map.of("foo", "bar")) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description Instance(java.lang.String name)Instance(java.lang.String name, InstanceArgs args)Instance(java.lang.String name, InstanceArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.util.Optional<InstanceAddOn>>addOn()com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.lang.String>availabilityZone()com.pulumi.core.Output<java.lang.String>blueprintId()com.pulumi.core.Output<java.lang.String>bundleId()com.pulumi.core.Output<java.lang.Integer>cpuCount()com.pulumi.core.Output<java.lang.String>createdAt()static Instanceget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, InstanceState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.Optional<java.lang.String>>ipAddressType()com.pulumi.core.Output<java.util.List<java.lang.String>>ipv6Addresses()com.pulumi.core.Output<java.lang.Boolean>isStaticIp()com.pulumi.core.Output<java.util.Optional<java.lang.String>>keyPairName()com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.lang.String>privateIpAddress()com.pulumi.core.Output<java.lang.String>publicIpAddress()com.pulumi.core.Output<java.lang.Double>ramSize()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.util.Optional<java.lang.String>>userData()com.pulumi.core.Output<java.lang.String>username()
-
-
-
Constructor Detail
-
Instance
public Instance(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Instance
public Instance(java.lang.String name, InstanceArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Instance
public Instance(java.lang.String name, InstanceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
addOn
public com.pulumi.core.Output<java.util.Optional<InstanceAddOn>> addOn()
- Returns:
- Add-on configuration for the instance. See below.
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN of the Lightsail instance (matches `id`).
-
availabilityZone
public com.pulumi.core.Output<java.lang.String> availabilityZone()
- Returns:
- Availability Zone in which to create your instance. A list of available zones can be obtained using the AWS CLI command: [`aws lightsail get-regions --include-availability-zones`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lightsail/get-regions.html).
-
blueprintId
public com.pulumi.core.Output<java.lang.String> blueprintId()
- Returns:
- ID for a virtual private server image. A list of available blueprint IDs can be obtained using the AWS CLI command: [`aws lightsail get-blueprints`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lightsail/get-blueprints.html).
-
bundleId
public com.pulumi.core.Output<java.lang.String> bundleId()
- Returns:
- Bundle of specification information. A list of available bundle IDs can be obtained using the AWS CLI command: [`aws lightsail get-bundles`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lightsail/get-bundles.html).
-
cpuCount
public com.pulumi.core.Output<java.lang.Integer> cpuCount()
- Returns:
- Number of vCPUs the instance has.
-
createdAt
public com.pulumi.core.Output<java.lang.String> createdAt()
- Returns:
- Timestamp when the instance was created.
-
ipAddressType
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> ipAddressType()
- Returns:
- IP address type of the Lightsail Instance. Valid values: `dualstack`, `ipv4`, `ipv6`. Default: `dualstack`.
-
ipv6Addresses
public com.pulumi.core.Output<java.util.List<java.lang.String>> ipv6Addresses()
- Returns:
- List of IPv6 addresses for the Lightsail instance.
-
isStaticIp
public com.pulumi.core.Output<java.lang.Boolean> isStaticIp()
- Returns:
- Whether this instance has a static IP assigned to it.
-
keyPairName
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> keyPairName()
- Returns:
- Name of your key pair. Created in the Lightsail console (cannot use `aws.ec2.KeyPair` at this time).
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- Name of the Lightsail Instance. Names must be unique within each AWS Region in your Lightsail account. The following arguments are optional:
-
privateIpAddress
public com.pulumi.core.Output<java.lang.String> privateIpAddress()
- Returns:
- Private IP address of the instance.
-
publicIpAddress
public com.pulumi.core.Output<java.lang.String> publicIpAddress()
- Returns:
- Public IP address of the instance.
-
ramSize
public com.pulumi.core.Output<java.lang.Double> ramSize()
- Returns:
- Amount of RAM in GB on the instance (e.g., 1.0).
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Map of tags to assign to the resource. To create a key-only tag, use an empty string as the value. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
userData
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> userData()
- Returns:
- Single lined launch script as a string to configure server with additional user data.
-
username
public com.pulumi.core.Output<java.lang.String> username()
- Returns:
- User name for connecting to the instance (e.g., ec2-user).
-
get
public static Instance get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable InstanceState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-