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.SnapshotArgs.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
/**
* > **DEPRECATED:** This resource has been renamed to alicloud.ecs.EcsSnapshot from version 1.120.0.
* Provides an ECS snapshot resource.
* For information about snapshot and how to use it, see [Snapshot](https://www.alibabacloud.com/help/doc-detail/25460.html).
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as alicloud from "@pulumi/alicloud";
* const snapshot = new alicloud.ecs.Snapshot("snapshot", {
* diskId: instance_attachment.diskId,
* name: "test-snapshot",
* description: "this snapshot is created for testing",
* tags: {
* version: "1.2",
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_alicloud as alicloud
* snapshot = alicloud.ecs.Snapshot("snapshot",
* disk_id=instance_attachment["diskId"],
* name="test-snapshot",
* description="this snapshot is created for testing",
* tags={
* "version": "1.2",
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using AliCloud = Pulumi.AliCloud;
* return await Deployment.RunAsync(() =>
* {
* var snapshot = new AliCloud.Ecs.Snapshot("snapshot", new()
* {
* DiskId = instance_attachment.DiskId,
* Name = "test-snapshot",
* Description = "this snapshot is created for testing",
* Tags =
* {
* { "version", "1.2" },
* },
* });
* });
* ```
* ```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 {
* _, err := ecs.NewSnapshot(ctx, "snapshot", &ecs.SnapshotArgs{
* DiskId: pulumi.Any(instance_attachment.DiskId),
* Name: pulumi.String("test-snapshot"),
* Description: pulumi.String("this snapshot is created for testing"),
* Tags: pulumi.StringMap{
* "version": pulumi.String("1.2"),
* },
* })
* 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.Snapshot;
* import com.pulumi.alicloud.ecs.SnapshotArgs;
* 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) {
* var snapshot = new Snapshot("snapshot", SnapshotArgs.builder()
* .diskId(instance_attachment.diskId())
* .name("test-snapshot")
* .description("this snapshot is created for testing")
* .tags(Map.of("version", "1.2"))
* .build());
* }
* }
* ```
* ```yaml
* resources:
* snapshot:
* type: alicloud:ecs:Snapshot
* properties:
* diskId: ${["instance-attachment"].diskId}
* name: test-snapshot
* description: this snapshot is created for testing
* tags:
* version: '1.2'
* ```
*
* ## Import
* Snapshot can be imported using the id, e.g.
* ```sh
* $ pulumi import alicloud:ecs/snapshot:Snapshot snapshot s-abc1234567890000
* ```
* @property category
* @property description Description of the snapshot. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.
* @property diskId The source disk ID.
* @property force
* @property instantAccess
* @property instantAccessRetentionDays
* @property name The name of the snapshot to be created. The name must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-).
* It cannot start with auto, because snapshot names starting with auto are recognized as automatic snapshots.
* @property resourceGroupId The ID of the resource group.
* @property retentionDays
* @property snapshotName
* @property tags A mapping of tags to assign to the resource.
*/
public data class SnapshotArgs(
public val category: Output? = null,
public val description: Output? = null,
public val diskId: Output? = null,
public val force: Output? = null,
public val instantAccess: Output? = null,
public val instantAccessRetentionDays: Output? = null,
@Deprecated(
message = """
Field 'name' has been deprecated from provider version 1.120.0. New field 'snapshot_name' instead.
""",
)
public val name: Output? = null,
public val resourceGroupId: Output? = null,
public val retentionDays: Output? = null,
public val snapshotName: Output? = null,
public val tags: Output