github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/rds/snapshotCopy.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 rds
     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  // Manages an RDS database instance snapshot copy. For managing RDS database cluster snapshots, see the `rds.ClusterSnapshot` resource.
    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/rds"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			example, err := rds.NewInstance(ctx, "example", &rds.InstanceArgs{
    33  //				AllocatedStorage:      pulumi.Int(10),
    34  //				Engine:                pulumi.String("mysql"),
    35  //				EngineVersion:         pulumi.String("5.6.21"),
    36  //				InstanceClass:         pulumi.String(rds.InstanceType_T2_Micro),
    37  //				DbName:                pulumi.String("baz"),
    38  //				Password:              pulumi.String("barbarbarbar"),
    39  //				Username:              pulumi.String("foo"),
    40  //				MaintenanceWindow:     pulumi.String("Fri:09:00-Fri:09:30"),
    41  //				BackupRetentionPeriod: pulumi.Int(0),
    42  //				ParameterGroupName:    pulumi.String("default.mysql5.6"),
    43  //			})
    44  //			if err != nil {
    45  //				return err
    46  //			}
    47  //			exampleSnapshot, err := rds.NewSnapshot(ctx, "example", &rds.SnapshotArgs{
    48  //				DbInstanceIdentifier: example.Identifier,
    49  //				DbSnapshotIdentifier: pulumi.String("testsnapshot1234"),
    50  //			})
    51  //			if err != nil {
    52  //				return err
    53  //			}
    54  //			_, err = rds.NewSnapshotCopy(ctx, "example", &rds.SnapshotCopyArgs{
    55  //				SourceDbSnapshotIdentifier: exampleSnapshot.DbSnapshotArn,
    56  //				TargetDbSnapshotIdentifier: pulumi.String("testsnapshot1234-copy"),
    57  //			})
    58  //			if err != nil {
    59  //				return err
    60  //			}
    61  //			return nil
    62  //		})
    63  //	}
    64  //
    65  // ```
    66  // <!--End PulumiCodeChooser -->
    67  //
    68  // ## Import
    69  //
    70  // Using `pulumi import`, import `aws_db_snapshot_copy` using the snapshot identifier. For example:
    71  //
    72  // ```sh
    73  // $ pulumi import aws:rds/snapshotCopy:SnapshotCopy example my-snapshot
    74  // ```
    75  type SnapshotCopy struct {
    76  	pulumi.CustomResourceState
    77  
    78  	// Specifies the allocated storage size in gigabytes (GB).
    79  	AllocatedStorage pulumi.IntOutput `pulumi:"allocatedStorage"`
    80  	// Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
    81  	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
    82  	// Whether to copy existing tags. Defaults to `false`.
    83  	CopyTags pulumi.BoolPtrOutput `pulumi:"copyTags"`
    84  	// The Amazon Resource Name (ARN) for the DB snapshot.
    85  	DbSnapshotArn pulumi.StringOutput `pulumi:"dbSnapshotArn"`
    86  	// The Destination region to place snapshot copy.
    87  	DestinationRegion pulumi.StringPtrOutput `pulumi:"destinationRegion"`
    88  	// Specifies whether the DB snapshot is encrypted.
    89  	Encrypted pulumi.BoolOutput `pulumi:"encrypted"`
    90  	// Specifies the name of the database engine.
    91  	Engine pulumi.StringOutput `pulumi:"engine"`
    92  	// Specifies the version of the database engine.
    93  	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
    94  	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
    95  	Iops pulumi.IntOutput `pulumi:"iops"`
    96  	// KMS key ID.
    97  	KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
    98  	// License model information for the restored DB instance.
    99  	LicenseModel pulumi.StringOutput `pulumi:"licenseModel"`
   100  	// The name of an option group to associate with the copy of the snapshot.
   101  	OptionGroupName pulumi.StringOutput `pulumi:"optionGroupName"`
   102  	Port            pulumi.IntOutput    `pulumi:"port"`
   103  	// he URL that contains a Signature Version 4 signed request.
   104  	PresignedUrl pulumi.StringPtrOutput `pulumi:"presignedUrl"`
   105  	SnapshotType pulumi.StringOutput    `pulumi:"snapshotType"`
   106  	// Snapshot identifier of the source snapshot.
   107  	SourceDbSnapshotIdentifier pulumi.StringOutput `pulumi:"sourceDbSnapshotIdentifier"`
   108  	// The region that the DB snapshot was created in or copied from.
   109  	SourceRegion pulumi.StringOutput `pulumi:"sourceRegion"`
   110  	// Specifies the storage type associated with DB snapshot.
   111  	StorageType pulumi.StringOutput `pulumi:"storageType"`
   112  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   113  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   114  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   115  	//
   116  	// Deprecated: Please use `tags` instead.
   117  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   118  	// The external custom Availability Zone.
   119  	TargetCustomAvailabilityZone pulumi.StringPtrOutput `pulumi:"targetCustomAvailabilityZone"`
   120  	// The Identifier for the snapshot.
   121  	TargetDbSnapshotIdentifier pulumi.StringOutput `pulumi:"targetDbSnapshotIdentifier"`
   122  	// Provides the VPC ID associated with the DB snapshot.
   123  	VpcId pulumi.StringOutput `pulumi:"vpcId"`
   124  }
   125  
   126  // NewSnapshotCopy registers a new resource with the given unique name, arguments, and options.
   127  func NewSnapshotCopy(ctx *pulumi.Context,
   128  	name string, args *SnapshotCopyArgs, opts ...pulumi.ResourceOption) (*SnapshotCopy, error) {
   129  	if args == nil {
   130  		return nil, errors.New("missing one or more required arguments")
   131  	}
   132  
   133  	if args.SourceDbSnapshotIdentifier == nil {
   134  		return nil, errors.New("invalid value for required argument 'SourceDbSnapshotIdentifier'")
   135  	}
   136  	if args.TargetDbSnapshotIdentifier == nil {
   137  		return nil, errors.New("invalid value for required argument 'TargetDbSnapshotIdentifier'")
   138  	}
   139  	opts = internal.PkgResourceDefaultOpts(opts)
   140  	var resource SnapshotCopy
   141  	err := ctx.RegisterResource("aws:rds/snapshotCopy:SnapshotCopy", name, args, &resource, opts...)
   142  	if err != nil {
   143  		return nil, err
   144  	}
   145  	return &resource, nil
   146  }
   147  
   148  // GetSnapshotCopy gets an existing SnapshotCopy resource's state with the given name, ID, and optional
   149  // state properties that are used to uniquely qualify the lookup (nil if not required).
   150  func GetSnapshotCopy(ctx *pulumi.Context,
   151  	name string, id pulumi.IDInput, state *SnapshotCopyState, opts ...pulumi.ResourceOption) (*SnapshotCopy, error) {
   152  	var resource SnapshotCopy
   153  	err := ctx.ReadResource("aws:rds/snapshotCopy:SnapshotCopy", name, id, state, &resource, opts...)
   154  	if err != nil {
   155  		return nil, err
   156  	}
   157  	return &resource, nil
   158  }
   159  
   160  // Input properties used for looking up and filtering SnapshotCopy resources.
   161  type snapshotCopyState struct {
   162  	// Specifies the allocated storage size in gigabytes (GB).
   163  	AllocatedStorage *int `pulumi:"allocatedStorage"`
   164  	// Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
   165  	AvailabilityZone *string `pulumi:"availabilityZone"`
   166  	// Whether to copy existing tags. Defaults to `false`.
   167  	CopyTags *bool `pulumi:"copyTags"`
   168  	// The Amazon Resource Name (ARN) for the DB snapshot.
   169  	DbSnapshotArn *string `pulumi:"dbSnapshotArn"`
   170  	// The Destination region to place snapshot copy.
   171  	DestinationRegion *string `pulumi:"destinationRegion"`
   172  	// Specifies whether the DB snapshot is encrypted.
   173  	Encrypted *bool `pulumi:"encrypted"`
   174  	// Specifies the name of the database engine.
   175  	Engine *string `pulumi:"engine"`
   176  	// Specifies the version of the database engine.
   177  	EngineVersion *string `pulumi:"engineVersion"`
   178  	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
   179  	Iops *int `pulumi:"iops"`
   180  	// KMS key ID.
   181  	KmsKeyId *string `pulumi:"kmsKeyId"`
   182  	// License model information for the restored DB instance.
   183  	LicenseModel *string `pulumi:"licenseModel"`
   184  	// The name of an option group to associate with the copy of the snapshot.
   185  	OptionGroupName *string `pulumi:"optionGroupName"`
   186  	Port            *int    `pulumi:"port"`
   187  	// he URL that contains a Signature Version 4 signed request.
   188  	PresignedUrl *string `pulumi:"presignedUrl"`
   189  	SnapshotType *string `pulumi:"snapshotType"`
   190  	// Snapshot identifier of the source snapshot.
   191  	SourceDbSnapshotIdentifier *string `pulumi:"sourceDbSnapshotIdentifier"`
   192  	// The region that the DB snapshot was created in or copied from.
   193  	SourceRegion *string `pulumi:"sourceRegion"`
   194  	// Specifies the storage type associated with DB snapshot.
   195  	StorageType *string `pulumi:"storageType"`
   196  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   197  	Tags map[string]string `pulumi:"tags"`
   198  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   199  	//
   200  	// Deprecated: Please use `tags` instead.
   201  	TagsAll map[string]string `pulumi:"tagsAll"`
   202  	// The external custom Availability Zone.
   203  	TargetCustomAvailabilityZone *string `pulumi:"targetCustomAvailabilityZone"`
   204  	// The Identifier for the snapshot.
   205  	TargetDbSnapshotIdentifier *string `pulumi:"targetDbSnapshotIdentifier"`
   206  	// Provides the VPC ID associated with the DB snapshot.
   207  	VpcId *string `pulumi:"vpcId"`
   208  }
   209  
   210  type SnapshotCopyState struct {
   211  	// Specifies the allocated storage size in gigabytes (GB).
   212  	AllocatedStorage pulumi.IntPtrInput
   213  	// Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
   214  	AvailabilityZone pulumi.StringPtrInput
   215  	// Whether to copy existing tags. Defaults to `false`.
   216  	CopyTags pulumi.BoolPtrInput
   217  	// The Amazon Resource Name (ARN) for the DB snapshot.
   218  	DbSnapshotArn pulumi.StringPtrInput
   219  	// The Destination region to place snapshot copy.
   220  	DestinationRegion pulumi.StringPtrInput
   221  	// Specifies whether the DB snapshot is encrypted.
   222  	Encrypted pulumi.BoolPtrInput
   223  	// Specifies the name of the database engine.
   224  	Engine pulumi.StringPtrInput
   225  	// Specifies the version of the database engine.
   226  	EngineVersion pulumi.StringPtrInput
   227  	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
   228  	Iops pulumi.IntPtrInput
   229  	// KMS key ID.
   230  	KmsKeyId pulumi.StringPtrInput
   231  	// License model information for the restored DB instance.
   232  	LicenseModel pulumi.StringPtrInput
   233  	// The name of an option group to associate with the copy of the snapshot.
   234  	OptionGroupName pulumi.StringPtrInput
   235  	Port            pulumi.IntPtrInput
   236  	// he URL that contains a Signature Version 4 signed request.
   237  	PresignedUrl pulumi.StringPtrInput
   238  	SnapshotType pulumi.StringPtrInput
   239  	// Snapshot identifier of the source snapshot.
   240  	SourceDbSnapshotIdentifier pulumi.StringPtrInput
   241  	// The region that the DB snapshot was created in or copied from.
   242  	SourceRegion pulumi.StringPtrInput
   243  	// Specifies the storage type associated with DB snapshot.
   244  	StorageType pulumi.StringPtrInput
   245  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   246  	Tags pulumi.StringMapInput
   247  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   248  	//
   249  	// Deprecated: Please use `tags` instead.
   250  	TagsAll pulumi.StringMapInput
   251  	// The external custom Availability Zone.
   252  	TargetCustomAvailabilityZone pulumi.StringPtrInput
   253  	// The Identifier for the snapshot.
   254  	TargetDbSnapshotIdentifier pulumi.StringPtrInput
   255  	// Provides the VPC ID associated with the DB snapshot.
   256  	VpcId pulumi.StringPtrInput
   257  }
   258  
   259  func (SnapshotCopyState) ElementType() reflect.Type {
   260  	return reflect.TypeOf((*snapshotCopyState)(nil)).Elem()
   261  }
   262  
   263  type snapshotCopyArgs struct {
   264  	// Whether to copy existing tags. Defaults to `false`.
   265  	CopyTags *bool `pulumi:"copyTags"`
   266  	// The Destination region to place snapshot copy.
   267  	DestinationRegion *string `pulumi:"destinationRegion"`
   268  	// KMS key ID.
   269  	KmsKeyId *string `pulumi:"kmsKeyId"`
   270  	// The name of an option group to associate with the copy of the snapshot.
   271  	OptionGroupName *string `pulumi:"optionGroupName"`
   272  	// he URL that contains a Signature Version 4 signed request.
   273  	PresignedUrl *string `pulumi:"presignedUrl"`
   274  	// Snapshot identifier of the source snapshot.
   275  	SourceDbSnapshotIdentifier string `pulumi:"sourceDbSnapshotIdentifier"`
   276  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   277  	Tags map[string]string `pulumi:"tags"`
   278  	// The external custom Availability Zone.
   279  	TargetCustomAvailabilityZone *string `pulumi:"targetCustomAvailabilityZone"`
   280  	// The Identifier for the snapshot.
   281  	TargetDbSnapshotIdentifier string `pulumi:"targetDbSnapshotIdentifier"`
   282  }
   283  
   284  // The set of arguments for constructing a SnapshotCopy resource.
   285  type SnapshotCopyArgs struct {
   286  	// Whether to copy existing tags. Defaults to `false`.
   287  	CopyTags pulumi.BoolPtrInput
   288  	// The Destination region to place snapshot copy.
   289  	DestinationRegion pulumi.StringPtrInput
   290  	// KMS key ID.
   291  	KmsKeyId pulumi.StringPtrInput
   292  	// The name of an option group to associate with the copy of the snapshot.
   293  	OptionGroupName pulumi.StringPtrInput
   294  	// he URL that contains a Signature Version 4 signed request.
   295  	PresignedUrl pulumi.StringPtrInput
   296  	// Snapshot identifier of the source snapshot.
   297  	SourceDbSnapshotIdentifier pulumi.StringInput
   298  	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   299  	Tags pulumi.StringMapInput
   300  	// The external custom Availability Zone.
   301  	TargetCustomAvailabilityZone pulumi.StringPtrInput
   302  	// The Identifier for the snapshot.
   303  	TargetDbSnapshotIdentifier pulumi.StringInput
   304  }
   305  
   306  func (SnapshotCopyArgs) ElementType() reflect.Type {
   307  	return reflect.TypeOf((*snapshotCopyArgs)(nil)).Elem()
   308  }
   309  
   310  type SnapshotCopyInput interface {
   311  	pulumi.Input
   312  
   313  	ToSnapshotCopyOutput() SnapshotCopyOutput
   314  	ToSnapshotCopyOutputWithContext(ctx context.Context) SnapshotCopyOutput
   315  }
   316  
   317  func (*SnapshotCopy) ElementType() reflect.Type {
   318  	return reflect.TypeOf((**SnapshotCopy)(nil)).Elem()
   319  }
   320  
   321  func (i *SnapshotCopy) ToSnapshotCopyOutput() SnapshotCopyOutput {
   322  	return i.ToSnapshotCopyOutputWithContext(context.Background())
   323  }
   324  
   325  func (i *SnapshotCopy) ToSnapshotCopyOutputWithContext(ctx context.Context) SnapshotCopyOutput {
   326  	return pulumi.ToOutputWithContext(ctx, i).(SnapshotCopyOutput)
   327  }
   328  
   329  // SnapshotCopyArrayInput is an input type that accepts SnapshotCopyArray and SnapshotCopyArrayOutput values.
   330  // You can construct a concrete instance of `SnapshotCopyArrayInput` via:
   331  //
   332  //	SnapshotCopyArray{ SnapshotCopyArgs{...} }
   333  type SnapshotCopyArrayInput interface {
   334  	pulumi.Input
   335  
   336  	ToSnapshotCopyArrayOutput() SnapshotCopyArrayOutput
   337  	ToSnapshotCopyArrayOutputWithContext(context.Context) SnapshotCopyArrayOutput
   338  }
   339  
   340  type SnapshotCopyArray []SnapshotCopyInput
   341  
   342  func (SnapshotCopyArray) ElementType() reflect.Type {
   343  	return reflect.TypeOf((*[]*SnapshotCopy)(nil)).Elem()
   344  }
   345  
   346  func (i SnapshotCopyArray) ToSnapshotCopyArrayOutput() SnapshotCopyArrayOutput {
   347  	return i.ToSnapshotCopyArrayOutputWithContext(context.Background())
   348  }
   349  
   350  func (i SnapshotCopyArray) ToSnapshotCopyArrayOutputWithContext(ctx context.Context) SnapshotCopyArrayOutput {
   351  	return pulumi.ToOutputWithContext(ctx, i).(SnapshotCopyArrayOutput)
   352  }
   353  
   354  // SnapshotCopyMapInput is an input type that accepts SnapshotCopyMap and SnapshotCopyMapOutput values.
   355  // You can construct a concrete instance of `SnapshotCopyMapInput` via:
   356  //
   357  //	SnapshotCopyMap{ "key": SnapshotCopyArgs{...} }
   358  type SnapshotCopyMapInput interface {
   359  	pulumi.Input
   360  
   361  	ToSnapshotCopyMapOutput() SnapshotCopyMapOutput
   362  	ToSnapshotCopyMapOutputWithContext(context.Context) SnapshotCopyMapOutput
   363  }
   364  
   365  type SnapshotCopyMap map[string]SnapshotCopyInput
   366  
   367  func (SnapshotCopyMap) ElementType() reflect.Type {
   368  	return reflect.TypeOf((*map[string]*SnapshotCopy)(nil)).Elem()
   369  }
   370  
   371  func (i SnapshotCopyMap) ToSnapshotCopyMapOutput() SnapshotCopyMapOutput {
   372  	return i.ToSnapshotCopyMapOutputWithContext(context.Background())
   373  }
   374  
   375  func (i SnapshotCopyMap) ToSnapshotCopyMapOutputWithContext(ctx context.Context) SnapshotCopyMapOutput {
   376  	return pulumi.ToOutputWithContext(ctx, i).(SnapshotCopyMapOutput)
   377  }
   378  
   379  type SnapshotCopyOutput struct{ *pulumi.OutputState }
   380  
   381  func (SnapshotCopyOutput) ElementType() reflect.Type {
   382  	return reflect.TypeOf((**SnapshotCopy)(nil)).Elem()
   383  }
   384  
   385  func (o SnapshotCopyOutput) ToSnapshotCopyOutput() SnapshotCopyOutput {
   386  	return o
   387  }
   388  
   389  func (o SnapshotCopyOutput) ToSnapshotCopyOutputWithContext(ctx context.Context) SnapshotCopyOutput {
   390  	return o
   391  }
   392  
   393  // Specifies the allocated storage size in gigabytes (GB).
   394  func (o SnapshotCopyOutput) AllocatedStorage() pulumi.IntOutput {
   395  	return o.ApplyT(func(v *SnapshotCopy) pulumi.IntOutput { return v.AllocatedStorage }).(pulumi.IntOutput)
   396  }
   397  
   398  // Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.
   399  func (o SnapshotCopyOutput) AvailabilityZone() pulumi.StringOutput {
   400  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput)
   401  }
   402  
   403  // Whether to copy existing tags. Defaults to `false`.
   404  func (o SnapshotCopyOutput) CopyTags() pulumi.BoolPtrOutput {
   405  	return o.ApplyT(func(v *SnapshotCopy) pulumi.BoolPtrOutput { return v.CopyTags }).(pulumi.BoolPtrOutput)
   406  }
   407  
   408  // The Amazon Resource Name (ARN) for the DB snapshot.
   409  func (o SnapshotCopyOutput) DbSnapshotArn() pulumi.StringOutput {
   410  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.DbSnapshotArn }).(pulumi.StringOutput)
   411  }
   412  
   413  // The Destination region to place snapshot copy.
   414  func (o SnapshotCopyOutput) DestinationRegion() pulumi.StringPtrOutput {
   415  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringPtrOutput { return v.DestinationRegion }).(pulumi.StringPtrOutput)
   416  }
   417  
   418  // Specifies whether the DB snapshot is encrypted.
   419  func (o SnapshotCopyOutput) Encrypted() pulumi.BoolOutput {
   420  	return o.ApplyT(func(v *SnapshotCopy) pulumi.BoolOutput { return v.Encrypted }).(pulumi.BoolOutput)
   421  }
   422  
   423  // Specifies the name of the database engine.
   424  func (o SnapshotCopyOutput) Engine() pulumi.StringOutput {
   425  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.Engine }).(pulumi.StringOutput)
   426  }
   427  
   428  // Specifies the version of the database engine.
   429  func (o SnapshotCopyOutput) EngineVersion() pulumi.StringOutput {
   430  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput)
   431  }
   432  
   433  // Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
   434  func (o SnapshotCopyOutput) Iops() pulumi.IntOutput {
   435  	return o.ApplyT(func(v *SnapshotCopy) pulumi.IntOutput { return v.Iops }).(pulumi.IntOutput)
   436  }
   437  
   438  // KMS key ID.
   439  func (o SnapshotCopyOutput) KmsKeyId() pulumi.StringPtrOutput {
   440  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringPtrOutput { return v.KmsKeyId }).(pulumi.StringPtrOutput)
   441  }
   442  
   443  // License model information for the restored DB instance.
   444  func (o SnapshotCopyOutput) LicenseModel() pulumi.StringOutput {
   445  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.LicenseModel }).(pulumi.StringOutput)
   446  }
   447  
   448  // The name of an option group to associate with the copy of the snapshot.
   449  func (o SnapshotCopyOutput) OptionGroupName() pulumi.StringOutput {
   450  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.OptionGroupName }).(pulumi.StringOutput)
   451  }
   452  
   453  func (o SnapshotCopyOutput) Port() pulumi.IntOutput {
   454  	return o.ApplyT(func(v *SnapshotCopy) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput)
   455  }
   456  
   457  // he URL that contains a Signature Version 4 signed request.
   458  func (o SnapshotCopyOutput) PresignedUrl() pulumi.StringPtrOutput {
   459  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringPtrOutput { return v.PresignedUrl }).(pulumi.StringPtrOutput)
   460  }
   461  
   462  func (o SnapshotCopyOutput) SnapshotType() pulumi.StringOutput {
   463  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.SnapshotType }).(pulumi.StringOutput)
   464  }
   465  
   466  // Snapshot identifier of the source snapshot.
   467  func (o SnapshotCopyOutput) SourceDbSnapshotIdentifier() pulumi.StringOutput {
   468  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.SourceDbSnapshotIdentifier }).(pulumi.StringOutput)
   469  }
   470  
   471  // The region that the DB snapshot was created in or copied from.
   472  func (o SnapshotCopyOutput) SourceRegion() pulumi.StringOutput {
   473  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.SourceRegion }).(pulumi.StringOutput)
   474  }
   475  
   476  // Specifies the storage type associated with DB snapshot.
   477  func (o SnapshotCopyOutput) StorageType() pulumi.StringOutput {
   478  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.StorageType }).(pulumi.StringOutput)
   479  }
   480  
   481  // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   482  func (o SnapshotCopyOutput) Tags() pulumi.StringMapOutput {
   483  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   484  }
   485  
   486  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   487  //
   488  // Deprecated: Please use `tags` instead.
   489  func (o SnapshotCopyOutput) TagsAll() pulumi.StringMapOutput {
   490  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   491  }
   492  
   493  // The external custom Availability Zone.
   494  func (o SnapshotCopyOutput) TargetCustomAvailabilityZone() pulumi.StringPtrOutput {
   495  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringPtrOutput { return v.TargetCustomAvailabilityZone }).(pulumi.StringPtrOutput)
   496  }
   497  
   498  // The Identifier for the snapshot.
   499  func (o SnapshotCopyOutput) TargetDbSnapshotIdentifier() pulumi.StringOutput {
   500  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.TargetDbSnapshotIdentifier }).(pulumi.StringOutput)
   501  }
   502  
   503  // Provides the VPC ID associated with the DB snapshot.
   504  func (o SnapshotCopyOutput) VpcId() pulumi.StringOutput {
   505  	return o.ApplyT(func(v *SnapshotCopy) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput)
   506  }
   507  
   508  type SnapshotCopyArrayOutput struct{ *pulumi.OutputState }
   509  
   510  func (SnapshotCopyArrayOutput) ElementType() reflect.Type {
   511  	return reflect.TypeOf((*[]*SnapshotCopy)(nil)).Elem()
   512  }
   513  
   514  func (o SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutput() SnapshotCopyArrayOutput {
   515  	return o
   516  }
   517  
   518  func (o SnapshotCopyArrayOutput) ToSnapshotCopyArrayOutputWithContext(ctx context.Context) SnapshotCopyArrayOutput {
   519  	return o
   520  }
   521  
   522  func (o SnapshotCopyArrayOutput) Index(i pulumi.IntInput) SnapshotCopyOutput {
   523  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SnapshotCopy {
   524  		return vs[0].([]*SnapshotCopy)[vs[1].(int)]
   525  	}).(SnapshotCopyOutput)
   526  }
   527  
   528  type SnapshotCopyMapOutput struct{ *pulumi.OutputState }
   529  
   530  func (SnapshotCopyMapOutput) ElementType() reflect.Type {
   531  	return reflect.TypeOf((*map[string]*SnapshotCopy)(nil)).Elem()
   532  }
   533  
   534  func (o SnapshotCopyMapOutput) ToSnapshotCopyMapOutput() SnapshotCopyMapOutput {
   535  	return o
   536  }
   537  
   538  func (o SnapshotCopyMapOutput) ToSnapshotCopyMapOutputWithContext(ctx context.Context) SnapshotCopyMapOutput {
   539  	return o
   540  }
   541  
   542  func (o SnapshotCopyMapOutput) MapIndex(k pulumi.StringInput) SnapshotCopyOutput {
   543  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SnapshotCopy {
   544  		return vs[0].(map[string]*SnapshotCopy)[vs[1].(string)]
   545  	}).(SnapshotCopyOutput)
   546  }
   547  
   548  func init() {
   549  	pulumi.RegisterInputType(reflect.TypeOf((*SnapshotCopyInput)(nil)).Elem(), &SnapshotCopy{})
   550  	pulumi.RegisterInputType(reflect.TypeOf((*SnapshotCopyArrayInput)(nil)).Elem(), SnapshotCopyArray{})
   551  	pulumi.RegisterInputType(reflect.TypeOf((*SnapshotCopyMapInput)(nil)).Elem(), SnapshotCopyMap{})
   552  	pulumi.RegisterOutputType(SnapshotCopyOutput{})
   553  	pulumi.RegisterOutputType(SnapshotCopyArrayOutput{})
   554  	pulumi.RegisterOutputType(SnapshotCopyMapOutput{})
   555  }