github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ebs/snapshotImport.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package ebs
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Imports a disk image from S3 as a Snapshot.
    16  //
    17  // ## Example Usage
    18  //
    19  // <!--Start PulumiCodeChooser -->
    20  // ```go
    21  // package main
    22  //
    23  // import (
    24  //
    25  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			_, err := ebs.NewSnapshotImport(ctx, "example", &ebs.SnapshotImportArgs{
    33  //				DiskContainer: &ebs.SnapshotImportDiskContainerArgs{
    34  //					Format: pulumi.String("VHD"),
    35  //					UserBucket: &ebs.SnapshotImportDiskContainerUserBucketArgs{
    36  //						S3Bucket: pulumi.String("disk-images"),
    37  //						S3Key:    pulumi.String("source.vhd"),
    38  //					},
    39  //				},
    40  //				RoleName: pulumi.String("disk-image-import"),
    41  //				Tags: pulumi.StringMap{
    42  //					"Name": pulumi.String("HelloWorld"),
    43  //				},
    44  //			})
    45  //			if err != nil {
    46  //				return err
    47  //			}
    48  //			return nil
    49  //		})
    50  //	}
    51  //
    52  // ```
    53  // <!--End PulumiCodeChooser -->
    54  type SnapshotImport struct {
    55  	pulumi.CustomResourceState
    56  
    57  	// Amazon Resource Name (ARN) of the EBS Snapshot.
    58  	Arn pulumi.StringOutput `pulumi:"arn"`
    59  	// The client-specific data. Detailed below.
    60  	ClientData SnapshotImportClientDataPtrOutput `pulumi:"clientData"`
    61  	// The data encryption key identifier for the snapshot.
    62  	DataEncryptionKeyId pulumi.StringOutput `pulumi:"dataEncryptionKeyId"`
    63  	// The description string for the import snapshot task.
    64  	Description pulumi.StringOutput `pulumi:"description"`
    65  	// Information about the disk container. Detailed below.
    66  	DiskContainer SnapshotImportDiskContainerOutput `pulumi:"diskContainer"`
    67  	// 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.
    68  	Encrypted pulumi.BoolPtrOutput `pulumi:"encrypted"`
    69  	// 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.
    70  	KmsKeyId   pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
    71  	OutpostArn pulumi.StringOutput    `pulumi:"outpostArn"`
    72  	// Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
    73  	OwnerAlias pulumi.StringOutput `pulumi:"ownerAlias"`
    74  	// The AWS account ID of the EBS snapshot owner.
    75  	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
    76  	// Indicates whether to permanently restore an archived snapshot.
    77  	PermanentRestore pulumi.BoolPtrOutput `pulumi:"permanentRestore"`
    78  	// 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`
    79  	RoleName pulumi.StringPtrOutput `pulumi:"roleName"`
    80  	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
    81  	StorageTier pulumi.StringOutput `pulumi:"storageTier"`
    82  	// A map of tags to assign to the snapshot.
    83  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    84  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    85  	//
    86  	// Deprecated: Please use `tags` instead.
    87  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    88  	// 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.
    89  	TemporaryRestoreDays pulumi.IntPtrOutput `pulumi:"temporaryRestoreDays"`
    90  	VolumeId             pulumi.StringOutput `pulumi:"volumeId"`
    91  	// The size of the drive in GiBs.
    92  	VolumeSize pulumi.IntOutput `pulumi:"volumeSize"`
    93  }
    94  
    95  // NewSnapshotImport registers a new resource with the given unique name, arguments, and options.
    96  func NewSnapshotImport(ctx *pulumi.Context,
    97  	name string, args *SnapshotImportArgs, opts ...pulumi.ResourceOption) (*SnapshotImport, error) {
    98  	if args == nil {
    99  		return nil, errors.New("missing one or more required arguments")
   100  	}
   101  
   102  	if args.DiskContainer == nil {
   103  		return nil, errors.New("invalid value for required argument 'DiskContainer'")
   104  	}
   105  	opts = internal.PkgResourceDefaultOpts(opts)
   106  	var resource SnapshotImport
   107  	err := ctx.RegisterResource("aws:ebs/snapshotImport:SnapshotImport", name, args, &resource, opts...)
   108  	if err != nil {
   109  		return nil, err
   110  	}
   111  	return &resource, nil
   112  }
   113  
   114  // GetSnapshotImport gets an existing SnapshotImport resource's state with the given name, ID, and optional
   115  // state properties that are used to uniquely qualify the lookup (nil if not required).
   116  func GetSnapshotImport(ctx *pulumi.Context,
   117  	name string, id pulumi.IDInput, state *SnapshotImportState, opts ...pulumi.ResourceOption) (*SnapshotImport, error) {
   118  	var resource SnapshotImport
   119  	err := ctx.ReadResource("aws:ebs/snapshotImport:SnapshotImport", name, id, state, &resource, opts...)
   120  	if err != nil {
   121  		return nil, err
   122  	}
   123  	return &resource, nil
   124  }
   125  
   126  // Input properties used for looking up and filtering SnapshotImport resources.
   127  type snapshotImportState struct {
   128  	// Amazon Resource Name (ARN) of the EBS Snapshot.
   129  	Arn *string `pulumi:"arn"`
   130  	// The client-specific data. Detailed below.
   131  	ClientData *SnapshotImportClientData `pulumi:"clientData"`
   132  	// The data encryption key identifier for the snapshot.
   133  	DataEncryptionKeyId *string `pulumi:"dataEncryptionKeyId"`
   134  	// The description string for the import snapshot task.
   135  	Description *string `pulumi:"description"`
   136  	// Information about the disk container. Detailed below.
   137  	DiskContainer *SnapshotImportDiskContainer `pulumi:"diskContainer"`
   138  	// 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.
   139  	Encrypted *bool `pulumi:"encrypted"`
   140  	// 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.
   141  	KmsKeyId   *string `pulumi:"kmsKeyId"`
   142  	OutpostArn *string `pulumi:"outpostArn"`
   143  	// Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
   144  	OwnerAlias *string `pulumi:"ownerAlias"`
   145  	// The AWS account ID of the EBS snapshot owner.
   146  	OwnerId *string `pulumi:"ownerId"`
   147  	// Indicates whether to permanently restore an archived snapshot.
   148  	PermanentRestore *bool `pulumi:"permanentRestore"`
   149  	// 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`
   150  	RoleName *string `pulumi:"roleName"`
   151  	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
   152  	StorageTier *string `pulumi:"storageTier"`
   153  	// A map of tags to assign to the snapshot.
   154  	Tags map[string]string `pulumi:"tags"`
   155  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   156  	//
   157  	// Deprecated: Please use `tags` instead.
   158  	TagsAll map[string]string `pulumi:"tagsAll"`
   159  	// 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.
   160  	TemporaryRestoreDays *int    `pulumi:"temporaryRestoreDays"`
   161  	VolumeId             *string `pulumi:"volumeId"`
   162  	// The size of the drive in GiBs.
   163  	VolumeSize *int `pulumi:"volumeSize"`
   164  }
   165  
   166  type SnapshotImportState struct {
   167  	// Amazon Resource Name (ARN) of the EBS Snapshot.
   168  	Arn pulumi.StringPtrInput
   169  	// The client-specific data. Detailed below.
   170  	ClientData SnapshotImportClientDataPtrInput
   171  	// The data encryption key identifier for the snapshot.
   172  	DataEncryptionKeyId pulumi.StringPtrInput
   173  	// The description string for the import snapshot task.
   174  	Description pulumi.StringPtrInput
   175  	// Information about the disk container. Detailed below.
   176  	DiskContainer SnapshotImportDiskContainerPtrInput
   177  	// 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.
   178  	Encrypted pulumi.BoolPtrInput
   179  	// 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.
   180  	KmsKeyId   pulumi.StringPtrInput
   181  	OutpostArn pulumi.StringPtrInput
   182  	// Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
   183  	OwnerAlias pulumi.StringPtrInput
   184  	// The AWS account ID of the EBS snapshot owner.
   185  	OwnerId pulumi.StringPtrInput
   186  	// Indicates whether to permanently restore an archived snapshot.
   187  	PermanentRestore pulumi.BoolPtrInput
   188  	// 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`
   189  	RoleName pulumi.StringPtrInput
   190  	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
   191  	StorageTier pulumi.StringPtrInput
   192  	// A map of tags to assign to the snapshot.
   193  	Tags pulumi.StringMapInput
   194  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   195  	//
   196  	// Deprecated: Please use `tags` instead.
   197  	TagsAll pulumi.StringMapInput
   198  	// 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.
   199  	TemporaryRestoreDays pulumi.IntPtrInput
   200  	VolumeId             pulumi.StringPtrInput
   201  	// The size of the drive in GiBs.
   202  	VolumeSize pulumi.IntPtrInput
   203  }
   204  
   205  func (SnapshotImportState) ElementType() reflect.Type {
   206  	return reflect.TypeOf((*snapshotImportState)(nil)).Elem()
   207  }
   208  
   209  type snapshotImportArgs struct {
   210  	// The client-specific data. Detailed below.
   211  	ClientData *SnapshotImportClientData `pulumi:"clientData"`
   212  	// The description string for the import snapshot task.
   213  	Description *string `pulumi:"description"`
   214  	// Information about the disk container. Detailed below.
   215  	DiskContainer SnapshotImportDiskContainer `pulumi:"diskContainer"`
   216  	// 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.
   217  	Encrypted *bool `pulumi:"encrypted"`
   218  	// 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.
   219  	KmsKeyId *string `pulumi:"kmsKeyId"`
   220  	// Indicates whether to permanently restore an archived snapshot.
   221  	PermanentRestore *bool `pulumi:"permanentRestore"`
   222  	// 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`
   223  	RoleName *string `pulumi:"roleName"`
   224  	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
   225  	StorageTier *string `pulumi:"storageTier"`
   226  	// A map of tags to assign to the snapshot.
   227  	Tags map[string]string `pulumi:"tags"`
   228  	// 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.
   229  	TemporaryRestoreDays *int `pulumi:"temporaryRestoreDays"`
   230  }
   231  
   232  // The set of arguments for constructing a SnapshotImport resource.
   233  type SnapshotImportArgs struct {
   234  	// The client-specific data. Detailed below.
   235  	ClientData SnapshotImportClientDataPtrInput
   236  	// The description string for the import snapshot task.
   237  	Description pulumi.StringPtrInput
   238  	// Information about the disk container. Detailed below.
   239  	DiskContainer SnapshotImportDiskContainerInput
   240  	// 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.
   241  	Encrypted pulumi.BoolPtrInput
   242  	// 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.
   243  	KmsKeyId pulumi.StringPtrInput
   244  	// Indicates whether to permanently restore an archived snapshot.
   245  	PermanentRestore pulumi.BoolPtrInput
   246  	// 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`
   247  	RoleName pulumi.StringPtrInput
   248  	// The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
   249  	StorageTier pulumi.StringPtrInput
   250  	// A map of tags to assign to the snapshot.
   251  	Tags pulumi.StringMapInput
   252  	// 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.
   253  	TemporaryRestoreDays pulumi.IntPtrInput
   254  }
   255  
   256  func (SnapshotImportArgs) ElementType() reflect.Type {
   257  	return reflect.TypeOf((*snapshotImportArgs)(nil)).Elem()
   258  }
   259  
   260  type SnapshotImportInput interface {
   261  	pulumi.Input
   262  
   263  	ToSnapshotImportOutput() SnapshotImportOutput
   264  	ToSnapshotImportOutputWithContext(ctx context.Context) SnapshotImportOutput
   265  }
   266  
   267  func (*SnapshotImport) ElementType() reflect.Type {
   268  	return reflect.TypeOf((**SnapshotImport)(nil)).Elem()
   269  }
   270  
   271  func (i *SnapshotImport) ToSnapshotImportOutput() SnapshotImportOutput {
   272  	return i.ToSnapshotImportOutputWithContext(context.Background())
   273  }
   274  
   275  func (i *SnapshotImport) ToSnapshotImportOutputWithContext(ctx context.Context) SnapshotImportOutput {
   276  	return pulumi.ToOutputWithContext(ctx, i).(SnapshotImportOutput)
   277  }
   278  
   279  // SnapshotImportArrayInput is an input type that accepts SnapshotImportArray and SnapshotImportArrayOutput values.
   280  // You can construct a concrete instance of `SnapshotImportArrayInput` via:
   281  //
   282  //	SnapshotImportArray{ SnapshotImportArgs{...} }
   283  type SnapshotImportArrayInput interface {
   284  	pulumi.Input
   285  
   286  	ToSnapshotImportArrayOutput() SnapshotImportArrayOutput
   287  	ToSnapshotImportArrayOutputWithContext(context.Context) SnapshotImportArrayOutput
   288  }
   289  
   290  type SnapshotImportArray []SnapshotImportInput
   291  
   292  func (SnapshotImportArray) ElementType() reflect.Type {
   293  	return reflect.TypeOf((*[]*SnapshotImport)(nil)).Elem()
   294  }
   295  
   296  func (i SnapshotImportArray) ToSnapshotImportArrayOutput() SnapshotImportArrayOutput {
   297  	return i.ToSnapshotImportArrayOutputWithContext(context.Background())
   298  }
   299  
   300  func (i SnapshotImportArray) ToSnapshotImportArrayOutputWithContext(ctx context.Context) SnapshotImportArrayOutput {
   301  	return pulumi.ToOutputWithContext(ctx, i).(SnapshotImportArrayOutput)
   302  }
   303  
   304  // SnapshotImportMapInput is an input type that accepts SnapshotImportMap and SnapshotImportMapOutput values.
   305  // You can construct a concrete instance of `SnapshotImportMapInput` via:
   306  //
   307  //	SnapshotImportMap{ "key": SnapshotImportArgs{...} }
   308  type SnapshotImportMapInput interface {
   309  	pulumi.Input
   310  
   311  	ToSnapshotImportMapOutput() SnapshotImportMapOutput
   312  	ToSnapshotImportMapOutputWithContext(context.Context) SnapshotImportMapOutput
   313  }
   314  
   315  type SnapshotImportMap map[string]SnapshotImportInput
   316  
   317  func (SnapshotImportMap) ElementType() reflect.Type {
   318  	return reflect.TypeOf((*map[string]*SnapshotImport)(nil)).Elem()
   319  }
   320  
   321  func (i SnapshotImportMap) ToSnapshotImportMapOutput() SnapshotImportMapOutput {
   322  	return i.ToSnapshotImportMapOutputWithContext(context.Background())
   323  }
   324  
   325  func (i SnapshotImportMap) ToSnapshotImportMapOutputWithContext(ctx context.Context) SnapshotImportMapOutput {
   326  	return pulumi.ToOutputWithContext(ctx, i).(SnapshotImportMapOutput)
   327  }
   328  
   329  type SnapshotImportOutput struct{ *pulumi.OutputState }
   330  
   331  func (SnapshotImportOutput) ElementType() reflect.Type {
   332  	return reflect.TypeOf((**SnapshotImport)(nil)).Elem()
   333  }
   334  
   335  func (o SnapshotImportOutput) ToSnapshotImportOutput() SnapshotImportOutput {
   336  	return o
   337  }
   338  
   339  func (o SnapshotImportOutput) ToSnapshotImportOutputWithContext(ctx context.Context) SnapshotImportOutput {
   340  	return o
   341  }
   342  
   343  // Amazon Resource Name (ARN) of the EBS Snapshot.
   344  func (o SnapshotImportOutput) Arn() pulumi.StringOutput {
   345  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   346  }
   347  
   348  // The client-specific data. Detailed below.
   349  func (o SnapshotImportOutput) ClientData() SnapshotImportClientDataPtrOutput {
   350  	return o.ApplyT(func(v *SnapshotImport) SnapshotImportClientDataPtrOutput { return v.ClientData }).(SnapshotImportClientDataPtrOutput)
   351  }
   352  
   353  // The data encryption key identifier for the snapshot.
   354  func (o SnapshotImportOutput) DataEncryptionKeyId() pulumi.StringOutput {
   355  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringOutput { return v.DataEncryptionKeyId }).(pulumi.StringOutput)
   356  }
   357  
   358  // The description string for the import snapshot task.
   359  func (o SnapshotImportOutput) Description() pulumi.StringOutput {
   360  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput)
   361  }
   362  
   363  // Information about the disk container. Detailed below.
   364  func (o SnapshotImportOutput) DiskContainer() SnapshotImportDiskContainerOutput {
   365  	return o.ApplyT(func(v *SnapshotImport) SnapshotImportDiskContainerOutput { return v.DiskContainer }).(SnapshotImportDiskContainerOutput)
   366  }
   367  
   368  // 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.
   369  func (o SnapshotImportOutput) Encrypted() pulumi.BoolPtrOutput {
   370  	return o.ApplyT(func(v *SnapshotImport) pulumi.BoolPtrOutput { return v.Encrypted }).(pulumi.BoolPtrOutput)
   371  }
   372  
   373  // 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.
   374  func (o SnapshotImportOutput) KmsKeyId() pulumi.StringPtrOutput {
   375  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringPtrOutput { return v.KmsKeyId }).(pulumi.StringPtrOutput)
   376  }
   377  
   378  func (o SnapshotImportOutput) OutpostArn() pulumi.StringOutput {
   379  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringOutput { return v.OutpostArn }).(pulumi.StringOutput)
   380  }
   381  
   382  // Value from an Amazon-maintained list (`amazon`, `aws-marketplace`, `microsoft`) of snapshot owners.
   383  func (o SnapshotImportOutput) OwnerAlias() pulumi.StringOutput {
   384  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringOutput { return v.OwnerAlias }).(pulumi.StringOutput)
   385  }
   386  
   387  // The AWS account ID of the EBS snapshot owner.
   388  func (o SnapshotImportOutput) OwnerId() pulumi.StringOutput {
   389  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput)
   390  }
   391  
   392  // Indicates whether to permanently restore an archived snapshot.
   393  func (o SnapshotImportOutput) PermanentRestore() pulumi.BoolPtrOutput {
   394  	return o.ApplyT(func(v *SnapshotImport) pulumi.BoolPtrOutput { return v.PermanentRestore }).(pulumi.BoolPtrOutput)
   395  }
   396  
   397  // 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`
   398  func (o SnapshotImportOutput) RoleName() pulumi.StringPtrOutput {
   399  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringPtrOutput { return v.RoleName }).(pulumi.StringPtrOutput)
   400  }
   401  
   402  // The name of the storage tier. Valid values are `archive` and `standard`. Default value is `standard`.
   403  func (o SnapshotImportOutput) StorageTier() pulumi.StringOutput {
   404  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringOutput { return v.StorageTier }).(pulumi.StringOutput)
   405  }
   406  
   407  // A map of tags to assign to the snapshot.
   408  func (o SnapshotImportOutput) Tags() pulumi.StringMapOutput {
   409  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   410  }
   411  
   412  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   413  //
   414  // Deprecated: Please use `tags` instead.
   415  func (o SnapshotImportOutput) TagsAll() pulumi.StringMapOutput {
   416  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   417  }
   418  
   419  // 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.
   420  func (o SnapshotImportOutput) TemporaryRestoreDays() pulumi.IntPtrOutput {
   421  	return o.ApplyT(func(v *SnapshotImport) pulumi.IntPtrOutput { return v.TemporaryRestoreDays }).(pulumi.IntPtrOutput)
   422  }
   423  
   424  func (o SnapshotImportOutput) VolumeId() pulumi.StringOutput {
   425  	return o.ApplyT(func(v *SnapshotImport) pulumi.StringOutput { return v.VolumeId }).(pulumi.StringOutput)
   426  }
   427  
   428  // The size of the drive in GiBs.
   429  func (o SnapshotImportOutput) VolumeSize() pulumi.IntOutput {
   430  	return o.ApplyT(func(v *SnapshotImport) pulumi.IntOutput { return v.VolumeSize }).(pulumi.IntOutput)
   431  }
   432  
   433  type SnapshotImportArrayOutput struct{ *pulumi.OutputState }
   434  
   435  func (SnapshotImportArrayOutput) ElementType() reflect.Type {
   436  	return reflect.TypeOf((*[]*SnapshotImport)(nil)).Elem()
   437  }
   438  
   439  func (o SnapshotImportArrayOutput) ToSnapshotImportArrayOutput() SnapshotImportArrayOutput {
   440  	return o
   441  }
   442  
   443  func (o SnapshotImportArrayOutput) ToSnapshotImportArrayOutputWithContext(ctx context.Context) SnapshotImportArrayOutput {
   444  	return o
   445  }
   446  
   447  func (o SnapshotImportArrayOutput) Index(i pulumi.IntInput) SnapshotImportOutput {
   448  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SnapshotImport {
   449  		return vs[0].([]*SnapshotImport)[vs[1].(int)]
   450  	}).(SnapshotImportOutput)
   451  }
   452  
   453  type SnapshotImportMapOutput struct{ *pulumi.OutputState }
   454  
   455  func (SnapshotImportMapOutput) ElementType() reflect.Type {
   456  	return reflect.TypeOf((*map[string]*SnapshotImport)(nil)).Elem()
   457  }
   458  
   459  func (o SnapshotImportMapOutput) ToSnapshotImportMapOutput() SnapshotImportMapOutput {
   460  	return o
   461  }
   462  
   463  func (o SnapshotImportMapOutput) ToSnapshotImportMapOutputWithContext(ctx context.Context) SnapshotImportMapOutput {
   464  	return o
   465  }
   466  
   467  func (o SnapshotImportMapOutput) MapIndex(k pulumi.StringInput) SnapshotImportOutput {
   468  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SnapshotImport {
   469  		return vs[0].(map[string]*SnapshotImport)[vs[1].(string)]
   470  	}).(SnapshotImportOutput)
   471  }
   472  
   473  func init() {
   474  	pulumi.RegisterInputType(reflect.TypeOf((*SnapshotImportInput)(nil)).Elem(), &SnapshotImport{})
   475  	pulumi.RegisterInputType(reflect.TypeOf((*SnapshotImportArrayInput)(nil)).Elem(), SnapshotImportArray{})
   476  	pulumi.RegisterInputType(reflect.TypeOf((*SnapshotImportMapInput)(nil)).Elem(), SnapshotImportMap{})
   477  	pulumi.RegisterOutputType(SnapshotImportOutput{})
   478  	pulumi.RegisterOutputType(SnapshotImportArrayOutput{})
   479  	pulumi.RegisterOutputType(SnapshotImportMapOutput{})
   480  }