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 }