Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.alicloud.ecs.kotlin
import com.pulumi.alicloud.ecs.DiskArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Deprecated
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Provides a ECS disk resource.
* > **DEPRECATED:** This resource has been renamed to alicloud.ecs.EcsDisk from version 1.122.0.
* > **NOTE:** One of `size` or `snapshot_id` is required when specifying an ECS disk. If all of them be specified, `size` must more than the size of snapshot which `snapshot_id` represents. Currently, `alicloud.ecs.Disk` doesn't resize disk.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* // Create a new ECS disk.
* const ecsDisk = new alicloud.ecs.Disk("ecs_disk", {
* availabilityZone: "cn-beijing-b",
* name: "New-disk",
* description: "Hello ecs disk.",
* category: "cloud_efficiency",
* size: 30,
* encrypted: true,
* kmsKeyId: "2a6767f0-a16c-4679-a60f-13bf*****",
* tags: {
* Name: "TerraformTest",
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* # Create a new ECS disk.
* ecs_disk = alicloud.ecs.Disk("ecs_disk",
* availability_zone="cn-beijing-b",
* name="New-disk",
* description="Hello ecs disk.",
* category="cloud_efficiency",
* size=30,
* encrypted=True,
* kms_key_id="2a6767f0-a16c-4679-a60f-13bf*****",
* tags={
* "Name": "TerraformTest",
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* // Create a new ECS disk.
* var ecsDisk = new AliCloud.Ecs.Disk("ecs_disk", new()
* {
* AvailabilityZone = "cn-beijing-b",
* Name = "New-disk",
* Description = "Hello ecs disk.",
* Category = "cloud_efficiency",
* Size = 30,
* Encrypted = true,
* KmsKeyId = "2a6767f0-a16c-4679-a60f-13bf*****",
* Tags =
* {
* { "Name", "TerraformTest" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* // Create a new ECS disk.
* _, err := ecs.NewDisk(ctx, "ecs_disk", &ecs.DiskArgs{
* AvailabilityZone: pulumi.String("cn-beijing-b"),
* Name: pulumi.String("New-disk"),
* Description: pulumi.String("Hello ecs disk."),
* Category: pulumi.String("cloud_efficiency"),
* Size: pulumi.Int(30),
* Encrypted: pulumi.Bool(true),
* KmsKeyId: pulumi.String("2a6767f0-a16c-4679-a60f-13bf*****"),
* Tags: pulumi.StringMap{
* "Name": pulumi.String("TerraformTest"),
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.alicloud.ecs.Disk;
* import com.pulumi.alicloud.ecs.DiskArgs;
* 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) {
* // Create a new ECS disk.
* var ecsDisk = new Disk("ecsDisk", DiskArgs.builder()
* .availabilityZone("cn-beijing-b")
* .name("New-disk")
* .description("Hello ecs disk.")
* .category("cloud_efficiency")
* .size("30")
* .encrypted(true)
* .kmsKeyId("2a6767f0-a16c-4679-a60f-13bf*****")
* .tags(Map.of("Name", "TerraformTest"))
* .build());
* }
* }
* ```
* ```yaml
* resources:
* # Create a new ECS disk.
* ecsDisk:
* type: alicloud:ecs:Disk
* name: ecs_disk
* properties:
* availabilityZone: cn-beijing-b
* name: New-disk
* description: Hello ecs disk.
* category: cloud_efficiency
* size: '30'
* encrypted: true
* kmsKeyId: 2a6767f0-a16c-4679-a60f-13bf*****
* tags:
* Name: TerraformTest
* ```
*
* ## Import
* Cloud disk can be imported using the id, e.g.
* ```sh
* $ pulumi import alicloud:ecs/disk:Disk example d-abc12345678
* ```
* @property advancedFeatures
* @property availabilityZone The Zone to create the disk in.
* @property category Category of the disk. Valid values are `cloud`, `cloud_efficiency`, `cloud_ssd`, `cloud_essd`, `cloud_essd_entry`. Default is `cloud_efficiency`.
* @property deleteAutoSnapshot Indicates whether the automatic snapshot is deleted when the disk is released. Default value: false.
* @property deleteWithInstance Indicates whether the disk is released together with the instance: Default value: false.
* @property description Description of the disk. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.
* @property diskName
* @property dryRun
* @property enableAutoSnapshot Indicates whether to apply a created automatic snapshot policy to the disk. Default value: false.
* @property encryptAlgorithm
* @property encrypted If true, the disk will be encrypted, conflict with `snapshot_id`.
* @property instanceId
* @property kmsKeyId The ID of the KMS key corresponding to the data disk, The specified parameter `Encrypted` must be `true` when KmsKeyId is not empty.
* @property name Name of the ECS disk. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Default value is null.
* @property paymentType
* @property performanceLevel Specifies the performance level of an ESSD when you create the ESSD. Default value: `PL1`. Valid values:
* * `PL1`: A single ESSD delivers up to 50,000 random read/write IOPS.
* * `PL2`: A single ESSD delivers up to 100,000 random read/write IOPS.
* * `PL3`: A single ESSD delivers up to 1,000,000 random read/write IOPS.
* @property resourceGroupId The Id of resource group which the disk belongs.
* > **NOTE:** Disk category `cloud` has been outdated and it only can be used none I/O Optimized ECS instances. Recommend `cloud_efficiency` and `cloud_ssd` disk.
* @property size The size of the disk in GiBs. When resize the disk, the new size must be greater than the former value, or you would get an error `InvalidDiskSize.TooSmall`.
* @property snapshotId A snapshot to base the disk off of. If the disk size required by snapshot is greater than `size`, the `size` will be ignored, conflict with `encrypted`.
* @property storageSetId
* @property storageSetPartitionNumber
* @property tags A mapping of tags to assign to the resource.
* @property type
* @property zoneId
*/
public data class DiskArgs(
public val advancedFeatures: Output? = null,
@Deprecated(
message = """
Field 'availability_zone' has been deprecated from provider version 1.122.0. New field 'zone_id'
instead
""",
)
public val availabilityZone: Output? = null,
public val category: Output? = null,
public val deleteAutoSnapshot: Output? = null,
public val deleteWithInstance: Output? = null,
public val description: Output? = null,
public val diskName: Output? = null,
public val dryRun: Output? = null,
public val enableAutoSnapshot: Output? = null,
public val encryptAlgorithm: Output? = null,
public val encrypted: Output? = null,
public val instanceId: Output? = null,
public val kmsKeyId: Output? = null,
@Deprecated(
message = """
Field 'name' has been deprecated from provider version 1.122.0. New field 'disk_name' instead.
""",
)
public val name: Output? = null,
public val paymentType: Output? = null,
public val performanceLevel: Output? = null,
public val resourceGroupId: Output? = null,
public val size: Output? = null,
public val snapshotId: Output? = null,
public val storageSetId: Output? = null,
public val storageSetPartitionNumber: Output? = null,
public val tags: Output