EcsKeyPairAttachmentArgs

data class EcsKeyPairAttachmentArgs(val force: Output<Boolean>? = null, val instanceIds: Output<List<String>>? = null, val keyName: Output<String>? = null, val keyPairName: Output<String>? = null) : ConvertibleToJava<EcsKeyPairAttachmentArgs>

Provides a ECS Key Pair Attachment resource. For information about ECS Key Pair Attachment and how to use it, see What is Key Pair Attachment.

NOTE: Available in v1.121.0+.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.ecs.Instance;
import com.pulumi.alicloud.ecs.InstanceArgs;
import com.pulumi.alicloud.ecs.EcsKeyPair;
import com.pulumi.alicloud.ecs.EcsKeyPairArgs;
import com.pulumi.alicloud.ecs.EcsKeyPairAttachment;
import com.pulumi.alicloud.ecs.EcsKeyPairAttachmentArgs;
import java.util.List;
import java.util.ArrayList;
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) {
final var exampleZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("Instance")
.build());
final var exampleInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.availabilityZone(exampleZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.cpuCoreCount(1)
.memorySize(2)
.build());
final var exampleImages = EcsFunctions.getImages(GetImagesArgs.builder()
.nameRegex("^ubuntu_[0-9]+_[0-9]+_x64*")
.owners("system")
.build());
var exampleNetwork = new Network("exampleNetwork", NetworkArgs.builder()
.vpcName("terraform-example")
.cidrBlock("172.17.3.0/24")
.build());
var exampleSwitch = new Switch("exampleSwitch", SwitchArgs.builder()
.vswitchName("terraform-example")
.cidrBlock("172.17.3.0/24")
.vpcId(exampleNetwork.id())
.zoneId(exampleZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build());
var exampleSecurityGroup = new SecurityGroup("exampleSecurityGroup", SecurityGroupArgs.builder()
.vpcId(exampleNetwork.id())
.build());
var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder()
.imageId(exampleImages.applyValue(getImagesResult -> getImagesResult.images()[0].id()))
.instanceType(exampleInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
.availabilityZone(exampleZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.securityGroups(exampleSecurityGroup.id())
.instanceName("terraform-example")
.internetChargeType("PayByBandwidth")
.vswitchId(exampleSwitch.id())
.build());
var exampleEcsKeyPair = new EcsKeyPair("exampleEcsKeyPair", EcsKeyPairArgs.builder()
.keyPairName("terraform-example")
.build());
var exampleEcsKeyPairAttachment = new EcsKeyPairAttachment("exampleEcsKeyPairAttachment", EcsKeyPairAttachmentArgs.builder()
.keyPairName(exampleEcsKeyPair.keyPairName())
.instanceIds(exampleInstance.id())
.build());
}
}

Import

ECS Key Pair Attachment can be imported using the id, e.g.

$ pulumi import alicloud:ecs/ecsKeyPairAttachment:EcsKeyPairAttachment example <key_pair_name>:<instance_ids>

Constructors

Link copied to clipboard
fun EcsKeyPairAttachmentArgs(force: Output<Boolean>? = null, instanceIds: Output<List<String>>? = null, keyName: Output<String>? = null, keyPairName: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): EcsKeyPairAttachmentArgs

Properties

Link copied to clipboard
val force: Output<Boolean>? = null

Set it to true and it will reboot instances which attached with the key pair to make key pair affect immediately.

Link copied to clipboard
val instanceIds: Output<List<String>>? = null

The list of ECS instance's IDs.

Link copied to clipboard
val keyName: Output<String>? = null
Link copied to clipboard
val keyPairName: Output<String>? = null

The name of key pair used to bind.