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.aws.ebs.kotlin
import com.pulumi.aws.ebs.SnapshotImportArgs.builder
import com.pulumi.aws.ebs.kotlin.inputs.SnapshotImportClientDataArgs
import com.pulumi.aws.ebs.kotlin.inputs.SnapshotImportClientDataArgsBuilder
import com.pulumi.aws.ebs.kotlin.inputs.SnapshotImportDiskContainerArgs
import com.pulumi.aws.ebs.kotlin.inputs.SnapshotImportDiskContainerArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Imports a disk image from S3 as a Snapshot.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* const example = new aws.ebs.SnapshotImport("example", {
* diskContainer: {
* format: "VHD",
* userBucket: {
* s3Bucket: "disk-images",
* s3Key: "source.vhd",
* },
* },
* roleName: "disk-image-import",
* tags: {
* Name: "HelloWorld",
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* example = aws.ebs.SnapshotImport("example",
* disk_container={
* "format": "VHD",
* "user_bucket": {
* "s3_bucket": "disk-images",
* "s3_key": "source.vhd",
* },
* },
* role_name="disk-image-import",
* tags={
* "Name": "HelloWorld",
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* var example = new Aws.Ebs.SnapshotImport("example", new()
* {
* DiskContainer = new Aws.Ebs.Inputs.SnapshotImportDiskContainerArgs
* {
* Format = "VHD",
* UserBucket = new Aws.Ebs.Inputs.SnapshotImportDiskContainerUserBucketArgs
* {
* S3Bucket = "disk-images",
* S3Key = "source.vhd",
* },
* },
* RoleName = "disk-image-import",
* Tags =
* {
* { "Name", "HelloWorld" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := ebs.NewSnapshotImport(ctx, "example", &ebs.SnapshotImportArgs{
* DiskContainer: &ebs.SnapshotImportDiskContainerArgs{
* Format: pulumi.String("VHD"),
* UserBucket: &ebs.SnapshotImportDiskContainerUserBucketArgs{
* S3Bucket: pulumi.String("disk-images"),
* S3Key: pulumi.String("source.vhd"),
* },
* },
* RoleName: pulumi.String("disk-image-import"),
* Tags: pulumi.StringMap{
* "Name": pulumi.String("HelloWorld"),
* },
* })
* 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.aws.ebs.SnapshotImport;
* import com.pulumi.aws.ebs.SnapshotImportArgs;
* import com.pulumi.aws.ebs.inputs.SnapshotImportDiskContainerArgs;
* import com.pulumi.aws.ebs.inputs.SnapshotImportDiskContainerUserBucketArgs;
* 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 example = new SnapshotImport("example", SnapshotImportArgs.builder()
* .diskContainer(SnapshotImportDiskContainerArgs.builder()
* .format("VHD")
* .userBucket(SnapshotImportDiskContainerUserBucketArgs.builder()
* .s3Bucket("disk-images")
* .s3Key("source.vhd")
* .build())
* .build())
* .roleName("disk-image-import")
* .tags(Map.of("Name", "HelloWorld"))
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: aws:ebs:SnapshotImport
* properties:
* diskContainer:
* format: VHD
* userBucket:
* s3Bucket: disk-images
* s3Key: source.vhd
* roleName: disk-image-import
* tags:
* Name: HelloWorld
* ```
*
* @property clientData The client-specific data. Detailed below.
* @property description The description string for the import snapshot task.
* @property diskContainer Information about the disk container. Detailed below.
* @property encrypted Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId.
* @property kmsKeyId An identifier for the symmetric KMS key to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.
* @property permanentRestore Indicates whether to permanently restore an archived snapshot.
* @property roleName The name of the IAM Role the VM Import/Export service will assume. This role needs certain permissions. See https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-role. Default: `vmimport`
* @property storageTier The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
* @property tags A map of tags to assign to the snapshot.
* @property temporaryRestoreDays Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.
*/
public data class SnapshotImportArgs(
public val clientData: Output? = null,
public val description: Output? = null,
public val diskContainer: Output? = null,
public val encrypted: Output? = null,
public val kmsKeyId: Output? = null,
public val permanentRestore: Output? = null,
public val roleName: Output? = null,
public val storageTier: Output? = null,
public val tags: Output