github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/rds/instanceAutomatedBackupsReplication.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  // Manage cross-region replication of automated backups to a different AWS Region. Documentation for cross-region automated backup replication can be found at:
    16  //
    17  // * [Replicating automated backups to another AWS Region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html)
    18  //
    19  // > **Note:** This resource has to be created in the destination region.
    20  //
    21  // ## Example Usage
    22  //
    23  // <!--Start PulumiCodeChooser -->
    24  // ```go
    25  // package main
    26  //
    27  // import (
    28  //
    29  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds"
    30  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    31  //
    32  // )
    33  //
    34  //	func main() {
    35  //		pulumi.Run(func(ctx *pulumi.Context) error {
    36  //			_, err := rds.NewInstanceAutomatedBackupsReplication(ctx, "default", &rds.InstanceAutomatedBackupsReplicationArgs{
    37  //				SourceDbInstanceArn: pulumi.String("arn:aws:rds:us-west-2:123456789012:db:mydatabase"),
    38  //				RetentionPeriod:     pulumi.Int(14),
    39  //			})
    40  //			if err != nil {
    41  //				return err
    42  //			}
    43  //			return nil
    44  //		})
    45  //	}
    46  //
    47  // ```
    48  // <!--End PulumiCodeChooser -->
    49  //
    50  // ## Encrypting the automated backup with KMS
    51  //
    52  // <!--Start PulumiCodeChooser -->
    53  // ```go
    54  // package main
    55  //
    56  // import (
    57  //
    58  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds"
    59  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    60  //
    61  // )
    62  //
    63  //	func main() {
    64  //		pulumi.Run(func(ctx *pulumi.Context) error {
    65  //			_, err := rds.NewInstanceAutomatedBackupsReplication(ctx, "default", &rds.InstanceAutomatedBackupsReplicationArgs{
    66  //				SourceDbInstanceArn: pulumi.String("arn:aws:rds:us-west-2:123456789012:db:mydatabase"),
    67  //				KmsKeyId:            pulumi.String("arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"),
    68  //			})
    69  //			if err != nil {
    70  //				return err
    71  //			}
    72  //			return nil
    73  //		})
    74  //	}
    75  //
    76  // ```
    77  // <!--End PulumiCodeChooser -->
    78  //
    79  // ## Example including a RDS DB instance
    80  //
    81  // <!--Start PulumiCodeChooser -->
    82  // ```go
    83  // package main
    84  //
    85  // import (
    86  //
    87  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
    88  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds"
    89  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    90  //
    91  // )
    92  //
    93  //	func main() {
    94  //		pulumi.Run(func(ctx *pulumi.Context) error {
    95  //			_, err := rds.NewInstance(ctx, "default", &rds.InstanceArgs{
    96  //				AllocatedStorage:      pulumi.Int(10),
    97  //				Identifier:            pulumi.String("mydb"),
    98  //				Engine:                pulumi.String("postgres"),
    99  //				EngineVersion:         pulumi.String("13.4"),
   100  //				InstanceClass:         pulumi.String(rds.InstanceType_T3_Micro),
   101  //				DbName:                pulumi.String("mydb"),
   102  //				Username:              pulumi.String("masterusername"),
   103  //				Password:              pulumi.String("mustbeeightcharacters"),
   104  //				BackupRetentionPeriod: pulumi.Int(7),
   105  //				StorageEncrypted:      pulumi.Bool(true),
   106  //				SkipFinalSnapshot:     pulumi.Bool(true),
   107  //			})
   108  //			if err != nil {
   109  //				return err
   110  //			}
   111  //			defaultKey, err := kms.NewKey(ctx, "default", &kms.KeyArgs{
   112  //				Description: pulumi.String("Encryption key for automated backups"),
   113  //			})
   114  //			if err != nil {
   115  //				return err
   116  //			}
   117  //			_, err = rds.NewInstanceAutomatedBackupsReplication(ctx, "default", &rds.InstanceAutomatedBackupsReplicationArgs{
   118  //				SourceDbInstanceArn: _default.Arn,
   119  //				KmsKeyId:            defaultKey.Arn,
   120  //			})
   121  //			if err != nil {
   122  //				return err
   123  //			}
   124  //			return nil
   125  //		})
   126  //	}
   127  //
   128  // ```
   129  // <!--End PulumiCodeChooser -->
   130  //
   131  // ## Import
   132  //
   133  // Using `pulumi import`, import RDS instance automated backups replication using the `arn`. For example:
   134  //
   135  // ```sh
   136  // $ pulumi import aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication default arn:aws:rds:us-east-1:123456789012:auto-backup:ab-faaa2mgdj1vmp4xflr7yhsrmtbtob7ltrzzz2my
   137  // ```
   138  type InstanceAutomatedBackupsReplication struct {
   139  	pulumi.CustomResourceState
   140  
   141  	// The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, `arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE`.
   142  	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
   143  	// A URL that contains a [Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) signed request for the [`StartDBInstanceAutomatedBackupsReplication`](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartDBInstanceAutomatedBackupsReplication.html) action to be called in the AWS Region of the source DB instance.
   144  	PreSignedUrl pulumi.StringPtrOutput `pulumi:"preSignedUrl"`
   145  	// The retention period for the replicated automated backups, defaults to `7`.
   146  	RetentionPeriod pulumi.IntPtrOutput `pulumi:"retentionPeriod"`
   147  	// The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, `arn:aws:rds:us-west-2:123456789012:db:mydatabase`.
   148  	SourceDbInstanceArn pulumi.StringOutput `pulumi:"sourceDbInstanceArn"`
   149  }
   150  
   151  // NewInstanceAutomatedBackupsReplication registers a new resource with the given unique name, arguments, and options.
   152  func NewInstanceAutomatedBackupsReplication(ctx *pulumi.Context,
   153  	name string, args *InstanceAutomatedBackupsReplicationArgs, opts ...pulumi.ResourceOption) (*InstanceAutomatedBackupsReplication, error) {
   154  	if args == nil {
   155  		return nil, errors.New("missing one or more required arguments")
   156  	}
   157  
   158  	if args.SourceDbInstanceArn == nil {
   159  		return nil, errors.New("invalid value for required argument 'SourceDbInstanceArn'")
   160  	}
   161  	opts = internal.PkgResourceDefaultOpts(opts)
   162  	var resource InstanceAutomatedBackupsReplication
   163  	err := ctx.RegisterResource("aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication", name, args, &resource, opts...)
   164  	if err != nil {
   165  		return nil, err
   166  	}
   167  	return &resource, nil
   168  }
   169  
   170  // GetInstanceAutomatedBackupsReplication gets an existing InstanceAutomatedBackupsReplication resource's state with the given name, ID, and optional
   171  // state properties that are used to uniquely qualify the lookup (nil if not required).
   172  func GetInstanceAutomatedBackupsReplication(ctx *pulumi.Context,
   173  	name string, id pulumi.IDInput, state *InstanceAutomatedBackupsReplicationState, opts ...pulumi.ResourceOption) (*InstanceAutomatedBackupsReplication, error) {
   174  	var resource InstanceAutomatedBackupsReplication
   175  	err := ctx.ReadResource("aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication", name, id, state, &resource, opts...)
   176  	if err != nil {
   177  		return nil, err
   178  	}
   179  	return &resource, nil
   180  }
   181  
   182  // Input properties used for looking up and filtering InstanceAutomatedBackupsReplication resources.
   183  type instanceAutomatedBackupsReplicationState struct {
   184  	// The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, `arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE`.
   185  	KmsKeyId *string `pulumi:"kmsKeyId"`
   186  	// A URL that contains a [Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) signed request for the [`StartDBInstanceAutomatedBackupsReplication`](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartDBInstanceAutomatedBackupsReplication.html) action to be called in the AWS Region of the source DB instance.
   187  	PreSignedUrl *string `pulumi:"preSignedUrl"`
   188  	// The retention period for the replicated automated backups, defaults to `7`.
   189  	RetentionPeriod *int `pulumi:"retentionPeriod"`
   190  	// The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, `arn:aws:rds:us-west-2:123456789012:db:mydatabase`.
   191  	SourceDbInstanceArn *string `pulumi:"sourceDbInstanceArn"`
   192  }
   193  
   194  type InstanceAutomatedBackupsReplicationState struct {
   195  	// The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, `arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE`.
   196  	KmsKeyId pulumi.StringPtrInput
   197  	// A URL that contains a [Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) signed request for the [`StartDBInstanceAutomatedBackupsReplication`](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartDBInstanceAutomatedBackupsReplication.html) action to be called in the AWS Region of the source DB instance.
   198  	PreSignedUrl pulumi.StringPtrInput
   199  	// The retention period for the replicated automated backups, defaults to `7`.
   200  	RetentionPeriod pulumi.IntPtrInput
   201  	// The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, `arn:aws:rds:us-west-2:123456789012:db:mydatabase`.
   202  	SourceDbInstanceArn pulumi.StringPtrInput
   203  }
   204  
   205  func (InstanceAutomatedBackupsReplicationState) ElementType() reflect.Type {
   206  	return reflect.TypeOf((*instanceAutomatedBackupsReplicationState)(nil)).Elem()
   207  }
   208  
   209  type instanceAutomatedBackupsReplicationArgs struct {
   210  	// The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, `arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE`.
   211  	KmsKeyId *string `pulumi:"kmsKeyId"`
   212  	// A URL that contains a [Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) signed request for the [`StartDBInstanceAutomatedBackupsReplication`](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartDBInstanceAutomatedBackupsReplication.html) action to be called in the AWS Region of the source DB instance.
   213  	PreSignedUrl *string `pulumi:"preSignedUrl"`
   214  	// The retention period for the replicated automated backups, defaults to `7`.
   215  	RetentionPeriod *int `pulumi:"retentionPeriod"`
   216  	// The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, `arn:aws:rds:us-west-2:123456789012:db:mydatabase`.
   217  	SourceDbInstanceArn string `pulumi:"sourceDbInstanceArn"`
   218  }
   219  
   220  // The set of arguments for constructing a InstanceAutomatedBackupsReplication resource.
   221  type InstanceAutomatedBackupsReplicationArgs struct {
   222  	// The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, `arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE`.
   223  	KmsKeyId pulumi.StringPtrInput
   224  	// A URL that contains a [Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) signed request for the [`StartDBInstanceAutomatedBackupsReplication`](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartDBInstanceAutomatedBackupsReplication.html) action to be called in the AWS Region of the source DB instance.
   225  	PreSignedUrl pulumi.StringPtrInput
   226  	// The retention period for the replicated automated backups, defaults to `7`.
   227  	RetentionPeriod pulumi.IntPtrInput
   228  	// The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, `arn:aws:rds:us-west-2:123456789012:db:mydatabase`.
   229  	SourceDbInstanceArn pulumi.StringInput
   230  }
   231  
   232  func (InstanceAutomatedBackupsReplicationArgs) ElementType() reflect.Type {
   233  	return reflect.TypeOf((*instanceAutomatedBackupsReplicationArgs)(nil)).Elem()
   234  }
   235  
   236  type InstanceAutomatedBackupsReplicationInput interface {
   237  	pulumi.Input
   238  
   239  	ToInstanceAutomatedBackupsReplicationOutput() InstanceAutomatedBackupsReplicationOutput
   240  	ToInstanceAutomatedBackupsReplicationOutputWithContext(ctx context.Context) InstanceAutomatedBackupsReplicationOutput
   241  }
   242  
   243  func (*InstanceAutomatedBackupsReplication) ElementType() reflect.Type {
   244  	return reflect.TypeOf((**InstanceAutomatedBackupsReplication)(nil)).Elem()
   245  }
   246  
   247  func (i *InstanceAutomatedBackupsReplication) ToInstanceAutomatedBackupsReplicationOutput() InstanceAutomatedBackupsReplicationOutput {
   248  	return i.ToInstanceAutomatedBackupsReplicationOutputWithContext(context.Background())
   249  }
   250  
   251  func (i *InstanceAutomatedBackupsReplication) ToInstanceAutomatedBackupsReplicationOutputWithContext(ctx context.Context) InstanceAutomatedBackupsReplicationOutput {
   252  	return pulumi.ToOutputWithContext(ctx, i).(InstanceAutomatedBackupsReplicationOutput)
   253  }
   254  
   255  // InstanceAutomatedBackupsReplicationArrayInput is an input type that accepts InstanceAutomatedBackupsReplicationArray and InstanceAutomatedBackupsReplicationArrayOutput values.
   256  // You can construct a concrete instance of `InstanceAutomatedBackupsReplicationArrayInput` via:
   257  //
   258  //	InstanceAutomatedBackupsReplicationArray{ InstanceAutomatedBackupsReplicationArgs{...} }
   259  type InstanceAutomatedBackupsReplicationArrayInput interface {
   260  	pulumi.Input
   261  
   262  	ToInstanceAutomatedBackupsReplicationArrayOutput() InstanceAutomatedBackupsReplicationArrayOutput
   263  	ToInstanceAutomatedBackupsReplicationArrayOutputWithContext(context.Context) InstanceAutomatedBackupsReplicationArrayOutput
   264  }
   265  
   266  type InstanceAutomatedBackupsReplicationArray []InstanceAutomatedBackupsReplicationInput
   267  
   268  func (InstanceAutomatedBackupsReplicationArray) ElementType() reflect.Type {
   269  	return reflect.TypeOf((*[]*InstanceAutomatedBackupsReplication)(nil)).Elem()
   270  }
   271  
   272  func (i InstanceAutomatedBackupsReplicationArray) ToInstanceAutomatedBackupsReplicationArrayOutput() InstanceAutomatedBackupsReplicationArrayOutput {
   273  	return i.ToInstanceAutomatedBackupsReplicationArrayOutputWithContext(context.Background())
   274  }
   275  
   276  func (i InstanceAutomatedBackupsReplicationArray) ToInstanceAutomatedBackupsReplicationArrayOutputWithContext(ctx context.Context) InstanceAutomatedBackupsReplicationArrayOutput {
   277  	return pulumi.ToOutputWithContext(ctx, i).(InstanceAutomatedBackupsReplicationArrayOutput)
   278  }
   279  
   280  // InstanceAutomatedBackupsReplicationMapInput is an input type that accepts InstanceAutomatedBackupsReplicationMap and InstanceAutomatedBackupsReplicationMapOutput values.
   281  // You can construct a concrete instance of `InstanceAutomatedBackupsReplicationMapInput` via:
   282  //
   283  //	InstanceAutomatedBackupsReplicationMap{ "key": InstanceAutomatedBackupsReplicationArgs{...} }
   284  type InstanceAutomatedBackupsReplicationMapInput interface {
   285  	pulumi.Input
   286  
   287  	ToInstanceAutomatedBackupsReplicationMapOutput() InstanceAutomatedBackupsReplicationMapOutput
   288  	ToInstanceAutomatedBackupsReplicationMapOutputWithContext(context.Context) InstanceAutomatedBackupsReplicationMapOutput
   289  }
   290  
   291  type InstanceAutomatedBackupsReplicationMap map[string]InstanceAutomatedBackupsReplicationInput
   292  
   293  func (InstanceAutomatedBackupsReplicationMap) ElementType() reflect.Type {
   294  	return reflect.TypeOf((*map[string]*InstanceAutomatedBackupsReplication)(nil)).Elem()
   295  }
   296  
   297  func (i InstanceAutomatedBackupsReplicationMap) ToInstanceAutomatedBackupsReplicationMapOutput() InstanceAutomatedBackupsReplicationMapOutput {
   298  	return i.ToInstanceAutomatedBackupsReplicationMapOutputWithContext(context.Background())
   299  }
   300  
   301  func (i InstanceAutomatedBackupsReplicationMap) ToInstanceAutomatedBackupsReplicationMapOutputWithContext(ctx context.Context) InstanceAutomatedBackupsReplicationMapOutput {
   302  	return pulumi.ToOutputWithContext(ctx, i).(InstanceAutomatedBackupsReplicationMapOutput)
   303  }
   304  
   305  type InstanceAutomatedBackupsReplicationOutput struct{ *pulumi.OutputState }
   306  
   307  func (InstanceAutomatedBackupsReplicationOutput) ElementType() reflect.Type {
   308  	return reflect.TypeOf((**InstanceAutomatedBackupsReplication)(nil)).Elem()
   309  }
   310  
   311  func (o InstanceAutomatedBackupsReplicationOutput) ToInstanceAutomatedBackupsReplicationOutput() InstanceAutomatedBackupsReplicationOutput {
   312  	return o
   313  }
   314  
   315  func (o InstanceAutomatedBackupsReplicationOutput) ToInstanceAutomatedBackupsReplicationOutputWithContext(ctx context.Context) InstanceAutomatedBackupsReplicationOutput {
   316  	return o
   317  }
   318  
   319  // The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region, for example, `arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE`.
   320  func (o InstanceAutomatedBackupsReplicationOutput) KmsKeyId() pulumi.StringOutput {
   321  	return o.ApplyT(func(v *InstanceAutomatedBackupsReplication) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput)
   322  }
   323  
   324  // A URL that contains a [Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) signed request for the [`StartDBInstanceAutomatedBackupsReplication`](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartDBInstanceAutomatedBackupsReplication.html) action to be called in the AWS Region of the source DB instance.
   325  func (o InstanceAutomatedBackupsReplicationOutput) PreSignedUrl() pulumi.StringPtrOutput {
   326  	return o.ApplyT(func(v *InstanceAutomatedBackupsReplication) pulumi.StringPtrOutput { return v.PreSignedUrl }).(pulumi.StringPtrOutput)
   327  }
   328  
   329  // The retention period for the replicated automated backups, defaults to `7`.
   330  func (o InstanceAutomatedBackupsReplicationOutput) RetentionPeriod() pulumi.IntPtrOutput {
   331  	return o.ApplyT(func(v *InstanceAutomatedBackupsReplication) pulumi.IntPtrOutput { return v.RetentionPeriod }).(pulumi.IntPtrOutput)
   332  }
   333  
   334  // The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, `arn:aws:rds:us-west-2:123456789012:db:mydatabase`.
   335  func (o InstanceAutomatedBackupsReplicationOutput) SourceDbInstanceArn() pulumi.StringOutput {
   336  	return o.ApplyT(func(v *InstanceAutomatedBackupsReplication) pulumi.StringOutput { return v.SourceDbInstanceArn }).(pulumi.StringOutput)
   337  }
   338  
   339  type InstanceAutomatedBackupsReplicationArrayOutput struct{ *pulumi.OutputState }
   340  
   341  func (InstanceAutomatedBackupsReplicationArrayOutput) ElementType() reflect.Type {
   342  	return reflect.TypeOf((*[]*InstanceAutomatedBackupsReplication)(nil)).Elem()
   343  }
   344  
   345  func (o InstanceAutomatedBackupsReplicationArrayOutput) ToInstanceAutomatedBackupsReplicationArrayOutput() InstanceAutomatedBackupsReplicationArrayOutput {
   346  	return o
   347  }
   348  
   349  func (o InstanceAutomatedBackupsReplicationArrayOutput) ToInstanceAutomatedBackupsReplicationArrayOutputWithContext(ctx context.Context) InstanceAutomatedBackupsReplicationArrayOutput {
   350  	return o
   351  }
   352  
   353  func (o InstanceAutomatedBackupsReplicationArrayOutput) Index(i pulumi.IntInput) InstanceAutomatedBackupsReplicationOutput {
   354  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InstanceAutomatedBackupsReplication {
   355  		return vs[0].([]*InstanceAutomatedBackupsReplication)[vs[1].(int)]
   356  	}).(InstanceAutomatedBackupsReplicationOutput)
   357  }
   358  
   359  type InstanceAutomatedBackupsReplicationMapOutput struct{ *pulumi.OutputState }
   360  
   361  func (InstanceAutomatedBackupsReplicationMapOutput) ElementType() reflect.Type {
   362  	return reflect.TypeOf((*map[string]*InstanceAutomatedBackupsReplication)(nil)).Elem()
   363  }
   364  
   365  func (o InstanceAutomatedBackupsReplicationMapOutput) ToInstanceAutomatedBackupsReplicationMapOutput() InstanceAutomatedBackupsReplicationMapOutput {
   366  	return o
   367  }
   368  
   369  func (o InstanceAutomatedBackupsReplicationMapOutput) ToInstanceAutomatedBackupsReplicationMapOutputWithContext(ctx context.Context) InstanceAutomatedBackupsReplicationMapOutput {
   370  	return o
   371  }
   372  
   373  func (o InstanceAutomatedBackupsReplicationMapOutput) MapIndex(k pulumi.StringInput) InstanceAutomatedBackupsReplicationOutput {
   374  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InstanceAutomatedBackupsReplication {
   375  		return vs[0].(map[string]*InstanceAutomatedBackupsReplication)[vs[1].(string)]
   376  	}).(InstanceAutomatedBackupsReplicationOutput)
   377  }
   378  
   379  func init() {
   380  	pulumi.RegisterInputType(reflect.TypeOf((*InstanceAutomatedBackupsReplicationInput)(nil)).Elem(), &InstanceAutomatedBackupsReplication{})
   381  	pulumi.RegisterInputType(reflect.TypeOf((*InstanceAutomatedBackupsReplicationArrayInput)(nil)).Elem(), InstanceAutomatedBackupsReplicationArray{})
   382  	pulumi.RegisterInputType(reflect.TypeOf((*InstanceAutomatedBackupsReplicationMapInput)(nil)).Elem(), InstanceAutomatedBackupsReplicationMap{})
   383  	pulumi.RegisterOutputType(InstanceAutomatedBackupsReplicationOutput{})
   384  	pulumi.RegisterOutputType(InstanceAutomatedBackupsReplicationArrayOutput{})
   385  	pulumi.RegisterOutputType(InstanceAutomatedBackupsReplicationMapOutput{})
   386  }