github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/dms/replicationConfig.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 dms
     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  // Provides a DMS Serverless replication config resource.
    16  //
    17  // > **NOTE:** Changing most arguments will stop the replication if it is running. You can set `startReplication` to resume the replication afterwards.
    18  //
    19  // ## Example Usage
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms"
    28  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    29  //
    30  // )
    31  //
    32  //	func main() {
    33  //		pulumi.Run(func(ctx *pulumi.Context) error {
    34  //			_, err := dms.NewReplicationConfig(ctx, "name", &dms.ReplicationConfigArgs{
    35  //				ReplicationConfigIdentifier: pulumi.String("test-dms-serverless-replication-tf"),
    36  //				ResourceIdentifier:          pulumi.String("test-dms-serverless-replication-tf"),
    37  //				ReplicationType:             pulumi.String("cdc"),
    38  //				SourceEndpointArn:           pulumi.Any(source.EndpointArn),
    39  //				TargetEndpointArn:           pulumi.Any(target.EndpointArn),
    40  //				TableMappings:               pulumi.String("  {\n    \"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-action\":\"include\",\"object-locator\":{\"schema-name\":\"%%\",\"table-name\":\"%%\"}}]\n  }\n"),
    41  //				StartReplication:            pulumi.Bool(true),
    42  //				ComputeConfig: &dms.ReplicationConfigComputeConfigArgs{
    43  //					ReplicationSubnetGroupId:   pulumi.Any(_default.ReplicationSubnetGroupId),
    44  //					MaxCapacityUnits:           pulumi.Int(64),
    45  //					MinCapacityUnits:           pulumi.Int(2),
    46  //					PreferredMaintenanceWindow: pulumi.String("sun:23:45-mon:00:30"),
    47  //				},
    48  //			})
    49  //			if err != nil {
    50  //				return err
    51  //			}
    52  //			return nil
    53  //		})
    54  //	}
    55  //
    56  // ```
    57  // <!--End PulumiCodeChooser -->
    58  //
    59  // ## Import
    60  //
    61  // Using `pulumi import`, import a replication config using the `arn`. For example:
    62  //
    63  // ```sh
    64  // $ pulumi import aws:dms/replicationConfig:ReplicationConfig example arn:aws:dms:us-east-1:123456789012:replication-config:UX6OL6MHMMJKFFOXE3H7LLJCMEKBDUG4ZV7DRSI
    65  // ```
    66  type ReplicationConfig struct {
    67  	pulumi.CustomResourceState
    68  
    69  	// The Amazon Resource Name (ARN) for the serverless replication config.
    70  	Arn pulumi.StringOutput `pulumi:"arn"`
    71  	// Configuration block for provisioning an DMS Serverless replication.
    72  	ComputeConfig ReplicationConfigComputeConfigOutput `pulumi:"computeConfig"`
    73  	// Unique identifier that you want to use to create the config.
    74  	ReplicationConfigIdentifier pulumi.StringOutput `pulumi:"replicationConfigIdentifier"`
    75  	// An escaped JSON string that are used to provision this replication configuration. For example, [Change processing tuning settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html)
    76  	ReplicationSettings pulumi.StringOutput `pulumi:"replicationSettings"`
    77  	// The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
    78  	ReplicationType pulumi.StringOutput `pulumi:"replicationType"`
    79  	// Unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see [Fine-grained access control using resource names and tags](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess)
    80  	ResourceIdentifier pulumi.StringOutput `pulumi:"resourceIdentifier"`
    81  	// The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
    82  	SourceEndpointArn pulumi.StringOutput `pulumi:"sourceEndpointArn"`
    83  	// Whether to run or stop the serverless replication, default is false.
    84  	StartReplication pulumi.BoolPtrOutput `pulumi:"startReplication"`
    85  	// JSON settings for specifying supplemental data. For more information see [Specifying supplemental data for task settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html)
    86  	SupplementalSettings pulumi.StringPtrOutput `pulumi:"supplementalSettings"`
    87  	// An escaped JSON string that contains the table mappings. For information on table mapping see [Using Table Mapping with an AWS Database Migration Service Task to Select and Filter Data](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html)
    88  	TableMappings pulumi.StringOutput `pulumi:"tableMappings"`
    89  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    90  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    91  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    92  	//
    93  	// Deprecated: Please use `tags` instead.
    94  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    95  	// The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
    96  	TargetEndpointArn pulumi.StringOutput `pulumi:"targetEndpointArn"`
    97  }
    98  
    99  // NewReplicationConfig registers a new resource with the given unique name, arguments, and options.
   100  func NewReplicationConfig(ctx *pulumi.Context,
   101  	name string, args *ReplicationConfigArgs, opts ...pulumi.ResourceOption) (*ReplicationConfig, error) {
   102  	if args == nil {
   103  		return nil, errors.New("missing one or more required arguments")
   104  	}
   105  
   106  	if args.ComputeConfig == nil {
   107  		return nil, errors.New("invalid value for required argument 'ComputeConfig'")
   108  	}
   109  	if args.ReplicationConfigIdentifier == nil {
   110  		return nil, errors.New("invalid value for required argument 'ReplicationConfigIdentifier'")
   111  	}
   112  	if args.ReplicationType == nil {
   113  		return nil, errors.New("invalid value for required argument 'ReplicationType'")
   114  	}
   115  	if args.SourceEndpointArn == nil {
   116  		return nil, errors.New("invalid value for required argument 'SourceEndpointArn'")
   117  	}
   118  	if args.TableMappings == nil {
   119  		return nil, errors.New("invalid value for required argument 'TableMappings'")
   120  	}
   121  	if args.TargetEndpointArn == nil {
   122  		return nil, errors.New("invalid value for required argument 'TargetEndpointArn'")
   123  	}
   124  	opts = internal.PkgResourceDefaultOpts(opts)
   125  	var resource ReplicationConfig
   126  	err := ctx.RegisterResource("aws:dms/replicationConfig:ReplicationConfig", name, args, &resource, opts...)
   127  	if err != nil {
   128  		return nil, err
   129  	}
   130  	return &resource, nil
   131  }
   132  
   133  // GetReplicationConfig gets an existing ReplicationConfig resource's state with the given name, ID, and optional
   134  // state properties that are used to uniquely qualify the lookup (nil if not required).
   135  func GetReplicationConfig(ctx *pulumi.Context,
   136  	name string, id pulumi.IDInput, state *ReplicationConfigState, opts ...pulumi.ResourceOption) (*ReplicationConfig, error) {
   137  	var resource ReplicationConfig
   138  	err := ctx.ReadResource("aws:dms/replicationConfig:ReplicationConfig", name, id, state, &resource, opts...)
   139  	if err != nil {
   140  		return nil, err
   141  	}
   142  	return &resource, nil
   143  }
   144  
   145  // Input properties used for looking up and filtering ReplicationConfig resources.
   146  type replicationConfigState struct {
   147  	// The Amazon Resource Name (ARN) for the serverless replication config.
   148  	Arn *string `pulumi:"arn"`
   149  	// Configuration block for provisioning an DMS Serverless replication.
   150  	ComputeConfig *ReplicationConfigComputeConfig `pulumi:"computeConfig"`
   151  	// Unique identifier that you want to use to create the config.
   152  	ReplicationConfigIdentifier *string `pulumi:"replicationConfigIdentifier"`
   153  	// An escaped JSON string that are used to provision this replication configuration. For example, [Change processing tuning settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html)
   154  	ReplicationSettings *string `pulumi:"replicationSettings"`
   155  	// The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
   156  	ReplicationType *string `pulumi:"replicationType"`
   157  	// Unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see [Fine-grained access control using resource names and tags](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess)
   158  	ResourceIdentifier *string `pulumi:"resourceIdentifier"`
   159  	// The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
   160  	SourceEndpointArn *string `pulumi:"sourceEndpointArn"`
   161  	// Whether to run or stop the serverless replication, default is false.
   162  	StartReplication *bool `pulumi:"startReplication"`
   163  	// JSON settings for specifying supplemental data. For more information see [Specifying supplemental data for task settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html)
   164  	SupplementalSettings *string `pulumi:"supplementalSettings"`
   165  	// An escaped JSON string that contains the table mappings. For information on table mapping see [Using Table Mapping with an AWS Database Migration Service Task to Select and Filter Data](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html)
   166  	TableMappings *string `pulumi:"tableMappings"`
   167  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   168  	Tags map[string]string `pulumi:"tags"`
   169  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   170  	//
   171  	// Deprecated: Please use `tags` instead.
   172  	TagsAll map[string]string `pulumi:"tagsAll"`
   173  	// The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
   174  	TargetEndpointArn *string `pulumi:"targetEndpointArn"`
   175  }
   176  
   177  type ReplicationConfigState struct {
   178  	// The Amazon Resource Name (ARN) for the serverless replication config.
   179  	Arn pulumi.StringPtrInput
   180  	// Configuration block for provisioning an DMS Serverless replication.
   181  	ComputeConfig ReplicationConfigComputeConfigPtrInput
   182  	// Unique identifier that you want to use to create the config.
   183  	ReplicationConfigIdentifier pulumi.StringPtrInput
   184  	// An escaped JSON string that are used to provision this replication configuration. For example, [Change processing tuning settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html)
   185  	ReplicationSettings pulumi.StringPtrInput
   186  	// The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
   187  	ReplicationType pulumi.StringPtrInput
   188  	// Unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see [Fine-grained access control using resource names and tags](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess)
   189  	ResourceIdentifier pulumi.StringPtrInput
   190  	// The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
   191  	SourceEndpointArn pulumi.StringPtrInput
   192  	// Whether to run or stop the serverless replication, default is false.
   193  	StartReplication pulumi.BoolPtrInput
   194  	// JSON settings for specifying supplemental data. For more information see [Specifying supplemental data for task settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html)
   195  	SupplementalSettings pulumi.StringPtrInput
   196  	// An escaped JSON string that contains the table mappings. For information on table mapping see [Using Table Mapping with an AWS Database Migration Service Task to Select and Filter Data](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html)
   197  	TableMappings pulumi.StringPtrInput
   198  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   199  	Tags pulumi.StringMapInput
   200  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   201  	//
   202  	// Deprecated: Please use `tags` instead.
   203  	TagsAll pulumi.StringMapInput
   204  	// The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
   205  	TargetEndpointArn pulumi.StringPtrInput
   206  }
   207  
   208  func (ReplicationConfigState) ElementType() reflect.Type {
   209  	return reflect.TypeOf((*replicationConfigState)(nil)).Elem()
   210  }
   211  
   212  type replicationConfigArgs struct {
   213  	// Configuration block for provisioning an DMS Serverless replication.
   214  	ComputeConfig ReplicationConfigComputeConfig `pulumi:"computeConfig"`
   215  	// Unique identifier that you want to use to create the config.
   216  	ReplicationConfigIdentifier string `pulumi:"replicationConfigIdentifier"`
   217  	// An escaped JSON string that are used to provision this replication configuration. For example, [Change processing tuning settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html)
   218  	ReplicationSettings *string `pulumi:"replicationSettings"`
   219  	// The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
   220  	ReplicationType string `pulumi:"replicationType"`
   221  	// Unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see [Fine-grained access control using resource names and tags](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess)
   222  	ResourceIdentifier *string `pulumi:"resourceIdentifier"`
   223  	// The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
   224  	SourceEndpointArn string `pulumi:"sourceEndpointArn"`
   225  	// Whether to run or stop the serverless replication, default is false.
   226  	StartReplication *bool `pulumi:"startReplication"`
   227  	// JSON settings for specifying supplemental data. For more information see [Specifying supplemental data for task settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html)
   228  	SupplementalSettings *string `pulumi:"supplementalSettings"`
   229  	// An escaped JSON string that contains the table mappings. For information on table mapping see [Using Table Mapping with an AWS Database Migration Service Task to Select and Filter Data](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html)
   230  	TableMappings string `pulumi:"tableMappings"`
   231  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   232  	Tags map[string]string `pulumi:"tags"`
   233  	// The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
   234  	TargetEndpointArn string `pulumi:"targetEndpointArn"`
   235  }
   236  
   237  // The set of arguments for constructing a ReplicationConfig resource.
   238  type ReplicationConfigArgs struct {
   239  	// Configuration block for provisioning an DMS Serverless replication.
   240  	ComputeConfig ReplicationConfigComputeConfigInput
   241  	// Unique identifier that you want to use to create the config.
   242  	ReplicationConfigIdentifier pulumi.StringInput
   243  	// An escaped JSON string that are used to provision this replication configuration. For example, [Change processing tuning settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html)
   244  	ReplicationSettings pulumi.StringPtrInput
   245  	// The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
   246  	ReplicationType pulumi.StringInput
   247  	// Unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see [Fine-grained access control using resource names and tags](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess)
   248  	ResourceIdentifier pulumi.StringPtrInput
   249  	// The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
   250  	SourceEndpointArn pulumi.StringInput
   251  	// Whether to run or stop the serverless replication, default is false.
   252  	StartReplication pulumi.BoolPtrInput
   253  	// JSON settings for specifying supplemental data. For more information see [Specifying supplemental data for task settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html)
   254  	SupplementalSettings pulumi.StringPtrInput
   255  	// An escaped JSON string that contains the table mappings. For information on table mapping see [Using Table Mapping with an AWS Database Migration Service Task to Select and Filter Data](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html)
   256  	TableMappings pulumi.StringInput
   257  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   258  	Tags pulumi.StringMapInput
   259  	// The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
   260  	TargetEndpointArn pulumi.StringInput
   261  }
   262  
   263  func (ReplicationConfigArgs) ElementType() reflect.Type {
   264  	return reflect.TypeOf((*replicationConfigArgs)(nil)).Elem()
   265  }
   266  
   267  type ReplicationConfigInput interface {
   268  	pulumi.Input
   269  
   270  	ToReplicationConfigOutput() ReplicationConfigOutput
   271  	ToReplicationConfigOutputWithContext(ctx context.Context) ReplicationConfigOutput
   272  }
   273  
   274  func (*ReplicationConfig) ElementType() reflect.Type {
   275  	return reflect.TypeOf((**ReplicationConfig)(nil)).Elem()
   276  }
   277  
   278  func (i *ReplicationConfig) ToReplicationConfigOutput() ReplicationConfigOutput {
   279  	return i.ToReplicationConfigOutputWithContext(context.Background())
   280  }
   281  
   282  func (i *ReplicationConfig) ToReplicationConfigOutputWithContext(ctx context.Context) ReplicationConfigOutput {
   283  	return pulumi.ToOutputWithContext(ctx, i).(ReplicationConfigOutput)
   284  }
   285  
   286  // ReplicationConfigArrayInput is an input type that accepts ReplicationConfigArray and ReplicationConfigArrayOutput values.
   287  // You can construct a concrete instance of `ReplicationConfigArrayInput` via:
   288  //
   289  //	ReplicationConfigArray{ ReplicationConfigArgs{...} }
   290  type ReplicationConfigArrayInput interface {
   291  	pulumi.Input
   292  
   293  	ToReplicationConfigArrayOutput() ReplicationConfigArrayOutput
   294  	ToReplicationConfigArrayOutputWithContext(context.Context) ReplicationConfigArrayOutput
   295  }
   296  
   297  type ReplicationConfigArray []ReplicationConfigInput
   298  
   299  func (ReplicationConfigArray) ElementType() reflect.Type {
   300  	return reflect.TypeOf((*[]*ReplicationConfig)(nil)).Elem()
   301  }
   302  
   303  func (i ReplicationConfigArray) ToReplicationConfigArrayOutput() ReplicationConfigArrayOutput {
   304  	return i.ToReplicationConfigArrayOutputWithContext(context.Background())
   305  }
   306  
   307  func (i ReplicationConfigArray) ToReplicationConfigArrayOutputWithContext(ctx context.Context) ReplicationConfigArrayOutput {
   308  	return pulumi.ToOutputWithContext(ctx, i).(ReplicationConfigArrayOutput)
   309  }
   310  
   311  // ReplicationConfigMapInput is an input type that accepts ReplicationConfigMap and ReplicationConfigMapOutput values.
   312  // You can construct a concrete instance of `ReplicationConfigMapInput` via:
   313  //
   314  //	ReplicationConfigMap{ "key": ReplicationConfigArgs{...} }
   315  type ReplicationConfigMapInput interface {
   316  	pulumi.Input
   317  
   318  	ToReplicationConfigMapOutput() ReplicationConfigMapOutput
   319  	ToReplicationConfigMapOutputWithContext(context.Context) ReplicationConfigMapOutput
   320  }
   321  
   322  type ReplicationConfigMap map[string]ReplicationConfigInput
   323  
   324  func (ReplicationConfigMap) ElementType() reflect.Type {
   325  	return reflect.TypeOf((*map[string]*ReplicationConfig)(nil)).Elem()
   326  }
   327  
   328  func (i ReplicationConfigMap) ToReplicationConfigMapOutput() ReplicationConfigMapOutput {
   329  	return i.ToReplicationConfigMapOutputWithContext(context.Background())
   330  }
   331  
   332  func (i ReplicationConfigMap) ToReplicationConfigMapOutputWithContext(ctx context.Context) ReplicationConfigMapOutput {
   333  	return pulumi.ToOutputWithContext(ctx, i).(ReplicationConfigMapOutput)
   334  }
   335  
   336  type ReplicationConfigOutput struct{ *pulumi.OutputState }
   337  
   338  func (ReplicationConfigOutput) ElementType() reflect.Type {
   339  	return reflect.TypeOf((**ReplicationConfig)(nil)).Elem()
   340  }
   341  
   342  func (o ReplicationConfigOutput) ToReplicationConfigOutput() ReplicationConfigOutput {
   343  	return o
   344  }
   345  
   346  func (o ReplicationConfigOutput) ToReplicationConfigOutputWithContext(ctx context.Context) ReplicationConfigOutput {
   347  	return o
   348  }
   349  
   350  // The Amazon Resource Name (ARN) for the serverless replication config.
   351  func (o ReplicationConfigOutput) Arn() pulumi.StringOutput {
   352  	return o.ApplyT(func(v *ReplicationConfig) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   353  }
   354  
   355  // Configuration block for provisioning an DMS Serverless replication.
   356  func (o ReplicationConfigOutput) ComputeConfig() ReplicationConfigComputeConfigOutput {
   357  	return o.ApplyT(func(v *ReplicationConfig) ReplicationConfigComputeConfigOutput { return v.ComputeConfig }).(ReplicationConfigComputeConfigOutput)
   358  }
   359  
   360  // Unique identifier that you want to use to create the config.
   361  func (o ReplicationConfigOutput) ReplicationConfigIdentifier() pulumi.StringOutput {
   362  	return o.ApplyT(func(v *ReplicationConfig) pulumi.StringOutput { return v.ReplicationConfigIdentifier }).(pulumi.StringOutput)
   363  }
   364  
   365  // An escaped JSON string that are used to provision this replication configuration. For example, [Change processing tuning settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.html)
   366  func (o ReplicationConfigOutput) ReplicationSettings() pulumi.StringOutput {
   367  	return o.ApplyT(func(v *ReplicationConfig) pulumi.StringOutput { return v.ReplicationSettings }).(pulumi.StringOutput)
   368  }
   369  
   370  // The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
   371  func (o ReplicationConfigOutput) ReplicationType() pulumi.StringOutput {
   372  	return o.ApplyT(func(v *ReplicationConfig) pulumi.StringOutput { return v.ReplicationType }).(pulumi.StringOutput)
   373  }
   374  
   375  // Unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see [Fine-grained access control using resource names and tags](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#CHAP_Security.FineGrainedAccess)
   376  func (o ReplicationConfigOutput) ResourceIdentifier() pulumi.StringOutput {
   377  	return o.ApplyT(func(v *ReplicationConfig) pulumi.StringOutput { return v.ResourceIdentifier }).(pulumi.StringOutput)
   378  }
   379  
   380  // The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
   381  func (o ReplicationConfigOutput) SourceEndpointArn() pulumi.StringOutput {
   382  	return o.ApplyT(func(v *ReplicationConfig) pulumi.StringOutput { return v.SourceEndpointArn }).(pulumi.StringOutput)
   383  }
   384  
   385  // Whether to run or stop the serverless replication, default is false.
   386  func (o ReplicationConfigOutput) StartReplication() pulumi.BoolPtrOutput {
   387  	return o.ApplyT(func(v *ReplicationConfig) pulumi.BoolPtrOutput { return v.StartReplication }).(pulumi.BoolPtrOutput)
   388  }
   389  
   390  // JSON settings for specifying supplemental data. For more information see [Specifying supplemental data for task settings](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html)
   391  func (o ReplicationConfigOutput) SupplementalSettings() pulumi.StringPtrOutput {
   392  	return o.ApplyT(func(v *ReplicationConfig) pulumi.StringPtrOutput { return v.SupplementalSettings }).(pulumi.StringPtrOutput)
   393  }
   394  
   395  // An escaped JSON string that contains the table mappings. For information on table mapping see [Using Table Mapping with an AWS Database Migration Service Task to Select and Filter Data](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html)
   396  func (o ReplicationConfigOutput) TableMappings() pulumi.StringOutput {
   397  	return o.ApplyT(func(v *ReplicationConfig) pulumi.StringOutput { return v.TableMappings }).(pulumi.StringOutput)
   398  }
   399  
   400  // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   401  func (o ReplicationConfigOutput) Tags() pulumi.StringMapOutput {
   402  	return o.ApplyT(func(v *ReplicationConfig) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   403  }
   404  
   405  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   406  //
   407  // Deprecated: Please use `tags` instead.
   408  func (o ReplicationConfigOutput) TagsAll() pulumi.StringMapOutput {
   409  	return o.ApplyT(func(v *ReplicationConfig) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   410  }
   411  
   412  // The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
   413  func (o ReplicationConfigOutput) TargetEndpointArn() pulumi.StringOutput {
   414  	return o.ApplyT(func(v *ReplicationConfig) pulumi.StringOutput { return v.TargetEndpointArn }).(pulumi.StringOutput)
   415  }
   416  
   417  type ReplicationConfigArrayOutput struct{ *pulumi.OutputState }
   418  
   419  func (ReplicationConfigArrayOutput) ElementType() reflect.Type {
   420  	return reflect.TypeOf((*[]*ReplicationConfig)(nil)).Elem()
   421  }
   422  
   423  func (o ReplicationConfigArrayOutput) ToReplicationConfigArrayOutput() ReplicationConfigArrayOutput {
   424  	return o
   425  }
   426  
   427  func (o ReplicationConfigArrayOutput) ToReplicationConfigArrayOutputWithContext(ctx context.Context) ReplicationConfigArrayOutput {
   428  	return o
   429  }
   430  
   431  func (o ReplicationConfigArrayOutput) Index(i pulumi.IntInput) ReplicationConfigOutput {
   432  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ReplicationConfig {
   433  		return vs[0].([]*ReplicationConfig)[vs[1].(int)]
   434  	}).(ReplicationConfigOutput)
   435  }
   436  
   437  type ReplicationConfigMapOutput struct{ *pulumi.OutputState }
   438  
   439  func (ReplicationConfigMapOutput) ElementType() reflect.Type {
   440  	return reflect.TypeOf((*map[string]*ReplicationConfig)(nil)).Elem()
   441  }
   442  
   443  func (o ReplicationConfigMapOutput) ToReplicationConfigMapOutput() ReplicationConfigMapOutput {
   444  	return o
   445  }
   446  
   447  func (o ReplicationConfigMapOutput) ToReplicationConfigMapOutputWithContext(ctx context.Context) ReplicationConfigMapOutput {
   448  	return o
   449  }
   450  
   451  func (o ReplicationConfigMapOutput) MapIndex(k pulumi.StringInput) ReplicationConfigOutput {
   452  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ReplicationConfig {
   453  		return vs[0].(map[string]*ReplicationConfig)[vs[1].(string)]
   454  	}).(ReplicationConfigOutput)
   455  }
   456  
   457  func init() {
   458  	pulumi.RegisterInputType(reflect.TypeOf((*ReplicationConfigInput)(nil)).Elem(), &ReplicationConfig{})
   459  	pulumi.RegisterInputType(reflect.TypeOf((*ReplicationConfigArrayInput)(nil)).Elem(), ReplicationConfigArray{})
   460  	pulumi.RegisterInputType(reflect.TypeOf((*ReplicationConfigMapInput)(nil)).Elem(), ReplicationConfigMap{})
   461  	pulumi.RegisterOutputType(ReplicationConfigOutput{})
   462  	pulumi.RegisterOutputType(ReplicationConfigArrayOutput{})
   463  	pulumi.RegisterOutputType(ReplicationConfigMapOutput{})
   464  }