github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/dms/replicationTask.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 (Data Migration Service) replication task resource. DMS replication tasks can be created, updated, deleted, and imported.
    16  //
    17  // > **NOTE:** Changing most arguments will stop the task if it is running. You can set `startReplicationTask` to resume the task 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  //			// Create a new replication task
    35  //			_, err := dms.NewReplicationTask(ctx, "test", &dms.ReplicationTaskArgs{
    36  //				CdcStartTime:            pulumi.String("1993-05-21T05:50:00Z"),
    37  //				MigrationType:           pulumi.String("full-load"),
    38  //				ReplicationInstanceArn:  pulumi.Any(test_dms_replication_instance_tf.ReplicationInstanceArn),
    39  //				ReplicationTaskId:       pulumi.String("test-dms-replication-task-tf"),
    40  //				ReplicationTaskSettings: pulumi.String("..."),
    41  //				SourceEndpointArn:       pulumi.Any(test_dms_source_endpoint_tf.EndpointArn),
    42  //				TableMappings:           pulumi.String("{\"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"object-locator\":{\"schema-name\":\"%\",\"table-name\":\"%\"},\"rule-action\":\"include\"}]}"),
    43  //				Tags: pulumi.StringMap{
    44  //					"Name": pulumi.String("test"),
    45  //				},
    46  //				TargetEndpointArn: pulumi.Any(test_dms_target_endpoint_tf.EndpointArn),
    47  //			})
    48  //			if err != nil {
    49  //				return err
    50  //			}
    51  //			return nil
    52  //		})
    53  //	}
    54  //
    55  // ```
    56  // <!--End PulumiCodeChooser -->
    57  //
    58  // ## Import
    59  //
    60  // Using `pulumi import`, import replication tasks using the `replication_task_id`. For example:
    61  //
    62  // ```sh
    63  // $ pulumi import aws:dms/replicationTask:ReplicationTask test test-dms-replication-task-tf
    64  // ```
    65  type ReplicationTask struct {
    66  	pulumi.CustomResourceState
    67  
    68  	// Indicates when you want a change data capture (CDC) operation to start. The value can be a RFC3339 formatted date, a checkpoint, or a LSN/SCN format depending on the source engine. For more information see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native).
    69  	CdcStartPosition pulumi.StringOutput `pulumi:"cdcStartPosition"`
    70  	// RFC3339 formatted date string or UNIX timestamp for the start of the Change Data Capture (CDC) operation.
    71  	CdcStartTime pulumi.StringPtrOutput `pulumi:"cdcStartTime"`
    72  	// The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
    73  	MigrationType pulumi.StringOutput `pulumi:"migrationType"`
    74  	// The Amazon Resource Name (ARN) of the replication instance.
    75  	ReplicationInstanceArn pulumi.StringOutput `pulumi:"replicationInstanceArn"`
    76  	// The Amazon Resource Name (ARN) for the replication task.
    77  	ReplicationTaskArn pulumi.StringOutput `pulumi:"replicationTaskArn"`
    78  	// The replication task identifier.
    79  	//
    80  	// - Must contain from 1 to 255 alphanumeric characters or hyphens.
    81  	// - First character must be a letter.
    82  	// - Cannot end with a hyphen.
    83  	// - Cannot contain two consecutive hyphens.
    84  	ReplicationTaskId pulumi.StringOutput `pulumi:"replicationTaskId"`
    85  	// An escaped JSON string that contains the task settings. For a complete list of task settings, see [Task Settings for AWS Database Migration Service Tasks](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html).
    86  	ReplicationTaskSettings pulumi.StringOutput `pulumi:"replicationTaskSettings"`
    87  	// A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.
    88  	ResourceIdentifier pulumi.StringPtrOutput `pulumi:"resourceIdentifier"`
    89  	// The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
    90  	SourceEndpointArn pulumi.StringOutput `pulumi:"sourceEndpointArn"`
    91  	// Whether to run or stop the replication task.
    92  	StartReplicationTask pulumi.BoolPtrOutput `pulumi:"startReplicationTask"`
    93  	// Replication Task status.
    94  	Status pulumi.StringOutput `pulumi:"status"`
    95  	// 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)
    96  	TableMappings pulumi.StringOutput `pulumi:"tableMappings"`
    97  	// 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.
    98  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    99  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   100  	//
   101  	// Deprecated: Please use `tags` instead.
   102  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   103  	// The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
   104  	TargetEndpointArn pulumi.StringOutput `pulumi:"targetEndpointArn"`
   105  }
   106  
   107  // NewReplicationTask registers a new resource with the given unique name, arguments, and options.
   108  func NewReplicationTask(ctx *pulumi.Context,
   109  	name string, args *ReplicationTaskArgs, opts ...pulumi.ResourceOption) (*ReplicationTask, error) {
   110  	if args == nil {
   111  		return nil, errors.New("missing one or more required arguments")
   112  	}
   113  
   114  	if args.MigrationType == nil {
   115  		return nil, errors.New("invalid value for required argument 'MigrationType'")
   116  	}
   117  	if args.ReplicationInstanceArn == nil {
   118  		return nil, errors.New("invalid value for required argument 'ReplicationInstanceArn'")
   119  	}
   120  	if args.ReplicationTaskId == nil {
   121  		return nil, errors.New("invalid value for required argument 'ReplicationTaskId'")
   122  	}
   123  	if args.SourceEndpointArn == nil {
   124  		return nil, errors.New("invalid value for required argument 'SourceEndpointArn'")
   125  	}
   126  	if args.TableMappings == nil {
   127  		return nil, errors.New("invalid value for required argument 'TableMappings'")
   128  	}
   129  	if args.TargetEndpointArn == nil {
   130  		return nil, errors.New("invalid value for required argument 'TargetEndpointArn'")
   131  	}
   132  	opts = internal.PkgResourceDefaultOpts(opts)
   133  	var resource ReplicationTask
   134  	err := ctx.RegisterResource("aws:dms/replicationTask:ReplicationTask", name, args, &resource, opts...)
   135  	if err != nil {
   136  		return nil, err
   137  	}
   138  	return &resource, nil
   139  }
   140  
   141  // GetReplicationTask gets an existing ReplicationTask resource's state with the given name, ID, and optional
   142  // state properties that are used to uniquely qualify the lookup (nil if not required).
   143  func GetReplicationTask(ctx *pulumi.Context,
   144  	name string, id pulumi.IDInput, state *ReplicationTaskState, opts ...pulumi.ResourceOption) (*ReplicationTask, error) {
   145  	var resource ReplicationTask
   146  	err := ctx.ReadResource("aws:dms/replicationTask:ReplicationTask", name, id, state, &resource, opts...)
   147  	if err != nil {
   148  		return nil, err
   149  	}
   150  	return &resource, nil
   151  }
   152  
   153  // Input properties used for looking up and filtering ReplicationTask resources.
   154  type replicationTaskState struct {
   155  	// Indicates when you want a change data capture (CDC) operation to start. The value can be a RFC3339 formatted date, a checkpoint, or a LSN/SCN format depending on the source engine. For more information see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native).
   156  	CdcStartPosition *string `pulumi:"cdcStartPosition"`
   157  	// RFC3339 formatted date string or UNIX timestamp for the start of the Change Data Capture (CDC) operation.
   158  	CdcStartTime *string `pulumi:"cdcStartTime"`
   159  	// The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
   160  	MigrationType *string `pulumi:"migrationType"`
   161  	// The Amazon Resource Name (ARN) of the replication instance.
   162  	ReplicationInstanceArn *string `pulumi:"replicationInstanceArn"`
   163  	// The Amazon Resource Name (ARN) for the replication task.
   164  	ReplicationTaskArn *string `pulumi:"replicationTaskArn"`
   165  	// The replication task identifier.
   166  	//
   167  	// - Must contain from 1 to 255 alphanumeric characters or hyphens.
   168  	// - First character must be a letter.
   169  	// - Cannot end with a hyphen.
   170  	// - Cannot contain two consecutive hyphens.
   171  	ReplicationTaskId *string `pulumi:"replicationTaskId"`
   172  	// An escaped JSON string that contains the task settings. For a complete list of task settings, see [Task Settings for AWS Database Migration Service Tasks](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html).
   173  	ReplicationTaskSettings *string `pulumi:"replicationTaskSettings"`
   174  	// A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.
   175  	ResourceIdentifier *string `pulumi:"resourceIdentifier"`
   176  	// The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
   177  	SourceEndpointArn *string `pulumi:"sourceEndpointArn"`
   178  	// Whether to run or stop the replication task.
   179  	StartReplicationTask *bool `pulumi:"startReplicationTask"`
   180  	// Replication Task status.
   181  	Status *string `pulumi:"status"`
   182  	// 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)
   183  	TableMappings *string `pulumi:"tableMappings"`
   184  	// 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.
   185  	Tags map[string]string `pulumi:"tags"`
   186  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   187  	//
   188  	// Deprecated: Please use `tags` instead.
   189  	TagsAll map[string]string `pulumi:"tagsAll"`
   190  	// The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
   191  	TargetEndpointArn *string `pulumi:"targetEndpointArn"`
   192  }
   193  
   194  type ReplicationTaskState struct {
   195  	// Indicates when you want a change data capture (CDC) operation to start. The value can be a RFC3339 formatted date, a checkpoint, or a LSN/SCN format depending on the source engine. For more information see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native).
   196  	CdcStartPosition pulumi.StringPtrInput
   197  	// RFC3339 formatted date string or UNIX timestamp for the start of the Change Data Capture (CDC) operation.
   198  	CdcStartTime pulumi.StringPtrInput
   199  	// The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
   200  	MigrationType pulumi.StringPtrInput
   201  	// The Amazon Resource Name (ARN) of the replication instance.
   202  	ReplicationInstanceArn pulumi.StringPtrInput
   203  	// The Amazon Resource Name (ARN) for the replication task.
   204  	ReplicationTaskArn pulumi.StringPtrInput
   205  	// The replication task identifier.
   206  	//
   207  	// - Must contain from 1 to 255 alphanumeric characters or hyphens.
   208  	// - First character must be a letter.
   209  	// - Cannot end with a hyphen.
   210  	// - Cannot contain two consecutive hyphens.
   211  	ReplicationTaskId pulumi.StringPtrInput
   212  	// An escaped JSON string that contains the task settings. For a complete list of task settings, see [Task Settings for AWS Database Migration Service Tasks](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html).
   213  	ReplicationTaskSettings pulumi.StringPtrInput
   214  	// A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.
   215  	ResourceIdentifier pulumi.StringPtrInput
   216  	// The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
   217  	SourceEndpointArn pulumi.StringPtrInput
   218  	// Whether to run or stop the replication task.
   219  	StartReplicationTask pulumi.BoolPtrInput
   220  	// Replication Task status.
   221  	Status pulumi.StringPtrInput
   222  	// 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)
   223  	TableMappings pulumi.StringPtrInput
   224  	// 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.
   225  	Tags pulumi.StringMapInput
   226  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   227  	//
   228  	// Deprecated: Please use `tags` instead.
   229  	TagsAll pulumi.StringMapInput
   230  	// The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
   231  	TargetEndpointArn pulumi.StringPtrInput
   232  }
   233  
   234  func (ReplicationTaskState) ElementType() reflect.Type {
   235  	return reflect.TypeOf((*replicationTaskState)(nil)).Elem()
   236  }
   237  
   238  type replicationTaskArgs struct {
   239  	// Indicates when you want a change data capture (CDC) operation to start. The value can be a RFC3339 formatted date, a checkpoint, or a LSN/SCN format depending on the source engine. For more information see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native).
   240  	CdcStartPosition *string `pulumi:"cdcStartPosition"`
   241  	// RFC3339 formatted date string or UNIX timestamp for the start of the Change Data Capture (CDC) operation.
   242  	CdcStartTime *string `pulumi:"cdcStartTime"`
   243  	// The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
   244  	MigrationType string `pulumi:"migrationType"`
   245  	// The Amazon Resource Name (ARN) of the replication instance.
   246  	ReplicationInstanceArn string `pulumi:"replicationInstanceArn"`
   247  	// The replication task identifier.
   248  	//
   249  	// - Must contain from 1 to 255 alphanumeric characters or hyphens.
   250  	// - First character must be a letter.
   251  	// - Cannot end with a hyphen.
   252  	// - Cannot contain two consecutive hyphens.
   253  	ReplicationTaskId string `pulumi:"replicationTaskId"`
   254  	// An escaped JSON string that contains the task settings. For a complete list of task settings, see [Task Settings for AWS Database Migration Service Tasks](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html).
   255  	ReplicationTaskSettings *string `pulumi:"replicationTaskSettings"`
   256  	// A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.
   257  	ResourceIdentifier *string `pulumi:"resourceIdentifier"`
   258  	// The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
   259  	SourceEndpointArn string `pulumi:"sourceEndpointArn"`
   260  	// Whether to run or stop the replication task.
   261  	StartReplicationTask *bool `pulumi:"startReplicationTask"`
   262  	// 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)
   263  	TableMappings string `pulumi:"tableMappings"`
   264  	// 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.
   265  	Tags map[string]string `pulumi:"tags"`
   266  	// The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
   267  	TargetEndpointArn string `pulumi:"targetEndpointArn"`
   268  }
   269  
   270  // The set of arguments for constructing a ReplicationTask resource.
   271  type ReplicationTaskArgs struct {
   272  	// Indicates when you want a change data capture (CDC) operation to start. The value can be a RFC3339 formatted date, a checkpoint, or a LSN/SCN format depending on the source engine. For more information see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native).
   273  	CdcStartPosition pulumi.StringPtrInput
   274  	// RFC3339 formatted date string or UNIX timestamp for the start of the Change Data Capture (CDC) operation.
   275  	CdcStartTime pulumi.StringPtrInput
   276  	// The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
   277  	MigrationType pulumi.StringInput
   278  	// The Amazon Resource Name (ARN) of the replication instance.
   279  	ReplicationInstanceArn pulumi.StringInput
   280  	// The replication task identifier.
   281  	//
   282  	// - Must contain from 1 to 255 alphanumeric characters or hyphens.
   283  	// - First character must be a letter.
   284  	// - Cannot end with a hyphen.
   285  	// - Cannot contain two consecutive hyphens.
   286  	ReplicationTaskId pulumi.StringInput
   287  	// An escaped JSON string that contains the task settings. For a complete list of task settings, see [Task Settings for AWS Database Migration Service Tasks](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html).
   288  	ReplicationTaskSettings pulumi.StringPtrInput
   289  	// A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.
   290  	ResourceIdentifier pulumi.StringPtrInput
   291  	// The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
   292  	SourceEndpointArn pulumi.StringInput
   293  	// Whether to run or stop the replication task.
   294  	StartReplicationTask pulumi.BoolPtrInput
   295  	// 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)
   296  	TableMappings pulumi.StringInput
   297  	// 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.
   298  	Tags pulumi.StringMapInput
   299  	// The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
   300  	TargetEndpointArn pulumi.StringInput
   301  }
   302  
   303  func (ReplicationTaskArgs) ElementType() reflect.Type {
   304  	return reflect.TypeOf((*replicationTaskArgs)(nil)).Elem()
   305  }
   306  
   307  type ReplicationTaskInput interface {
   308  	pulumi.Input
   309  
   310  	ToReplicationTaskOutput() ReplicationTaskOutput
   311  	ToReplicationTaskOutputWithContext(ctx context.Context) ReplicationTaskOutput
   312  }
   313  
   314  func (*ReplicationTask) ElementType() reflect.Type {
   315  	return reflect.TypeOf((**ReplicationTask)(nil)).Elem()
   316  }
   317  
   318  func (i *ReplicationTask) ToReplicationTaskOutput() ReplicationTaskOutput {
   319  	return i.ToReplicationTaskOutputWithContext(context.Background())
   320  }
   321  
   322  func (i *ReplicationTask) ToReplicationTaskOutputWithContext(ctx context.Context) ReplicationTaskOutput {
   323  	return pulumi.ToOutputWithContext(ctx, i).(ReplicationTaskOutput)
   324  }
   325  
   326  // ReplicationTaskArrayInput is an input type that accepts ReplicationTaskArray and ReplicationTaskArrayOutput values.
   327  // You can construct a concrete instance of `ReplicationTaskArrayInput` via:
   328  //
   329  //	ReplicationTaskArray{ ReplicationTaskArgs{...} }
   330  type ReplicationTaskArrayInput interface {
   331  	pulumi.Input
   332  
   333  	ToReplicationTaskArrayOutput() ReplicationTaskArrayOutput
   334  	ToReplicationTaskArrayOutputWithContext(context.Context) ReplicationTaskArrayOutput
   335  }
   336  
   337  type ReplicationTaskArray []ReplicationTaskInput
   338  
   339  func (ReplicationTaskArray) ElementType() reflect.Type {
   340  	return reflect.TypeOf((*[]*ReplicationTask)(nil)).Elem()
   341  }
   342  
   343  func (i ReplicationTaskArray) ToReplicationTaskArrayOutput() ReplicationTaskArrayOutput {
   344  	return i.ToReplicationTaskArrayOutputWithContext(context.Background())
   345  }
   346  
   347  func (i ReplicationTaskArray) ToReplicationTaskArrayOutputWithContext(ctx context.Context) ReplicationTaskArrayOutput {
   348  	return pulumi.ToOutputWithContext(ctx, i).(ReplicationTaskArrayOutput)
   349  }
   350  
   351  // ReplicationTaskMapInput is an input type that accepts ReplicationTaskMap and ReplicationTaskMapOutput values.
   352  // You can construct a concrete instance of `ReplicationTaskMapInput` via:
   353  //
   354  //	ReplicationTaskMap{ "key": ReplicationTaskArgs{...} }
   355  type ReplicationTaskMapInput interface {
   356  	pulumi.Input
   357  
   358  	ToReplicationTaskMapOutput() ReplicationTaskMapOutput
   359  	ToReplicationTaskMapOutputWithContext(context.Context) ReplicationTaskMapOutput
   360  }
   361  
   362  type ReplicationTaskMap map[string]ReplicationTaskInput
   363  
   364  func (ReplicationTaskMap) ElementType() reflect.Type {
   365  	return reflect.TypeOf((*map[string]*ReplicationTask)(nil)).Elem()
   366  }
   367  
   368  func (i ReplicationTaskMap) ToReplicationTaskMapOutput() ReplicationTaskMapOutput {
   369  	return i.ToReplicationTaskMapOutputWithContext(context.Background())
   370  }
   371  
   372  func (i ReplicationTaskMap) ToReplicationTaskMapOutputWithContext(ctx context.Context) ReplicationTaskMapOutput {
   373  	return pulumi.ToOutputWithContext(ctx, i).(ReplicationTaskMapOutput)
   374  }
   375  
   376  type ReplicationTaskOutput struct{ *pulumi.OutputState }
   377  
   378  func (ReplicationTaskOutput) ElementType() reflect.Type {
   379  	return reflect.TypeOf((**ReplicationTask)(nil)).Elem()
   380  }
   381  
   382  func (o ReplicationTaskOutput) ToReplicationTaskOutput() ReplicationTaskOutput {
   383  	return o
   384  }
   385  
   386  func (o ReplicationTaskOutput) ToReplicationTaskOutputWithContext(ctx context.Context) ReplicationTaskOutput {
   387  	return o
   388  }
   389  
   390  // Indicates when you want a change data capture (CDC) operation to start. The value can be a RFC3339 formatted date, a checkpoint, or a LSN/SCN format depending on the source engine. For more information see [Determining a CDC native start point](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html#CHAP_Task.CDC.StartPoint.Native).
   391  func (o ReplicationTaskOutput) CdcStartPosition() pulumi.StringOutput {
   392  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringOutput { return v.CdcStartPosition }).(pulumi.StringOutput)
   393  }
   394  
   395  // RFC3339 formatted date string or UNIX timestamp for the start of the Change Data Capture (CDC) operation.
   396  func (o ReplicationTaskOutput) CdcStartTime() pulumi.StringPtrOutput {
   397  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringPtrOutput { return v.CdcStartTime }).(pulumi.StringPtrOutput)
   398  }
   399  
   400  // The migration type. Can be one of `full-load | cdc | full-load-and-cdc`.
   401  func (o ReplicationTaskOutput) MigrationType() pulumi.StringOutput {
   402  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringOutput { return v.MigrationType }).(pulumi.StringOutput)
   403  }
   404  
   405  // The Amazon Resource Name (ARN) of the replication instance.
   406  func (o ReplicationTaskOutput) ReplicationInstanceArn() pulumi.StringOutput {
   407  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringOutput { return v.ReplicationInstanceArn }).(pulumi.StringOutput)
   408  }
   409  
   410  // The Amazon Resource Name (ARN) for the replication task.
   411  func (o ReplicationTaskOutput) ReplicationTaskArn() pulumi.StringOutput {
   412  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringOutput { return v.ReplicationTaskArn }).(pulumi.StringOutput)
   413  }
   414  
   415  // The replication task identifier.
   416  //
   417  // - Must contain from 1 to 255 alphanumeric characters or hyphens.
   418  // - First character must be a letter.
   419  // - Cannot end with a hyphen.
   420  // - Cannot contain two consecutive hyphens.
   421  func (o ReplicationTaskOutput) ReplicationTaskId() pulumi.StringOutput {
   422  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringOutput { return v.ReplicationTaskId }).(pulumi.StringOutput)
   423  }
   424  
   425  // An escaped JSON string that contains the task settings. For a complete list of task settings, see [Task Settings for AWS Database Migration Service Tasks](http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html).
   426  func (o ReplicationTaskOutput) ReplicationTaskSettings() pulumi.StringOutput {
   427  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringOutput { return v.ReplicationTaskSettings }).(pulumi.StringOutput)
   428  }
   429  
   430  // A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object.
   431  func (o ReplicationTaskOutput) ResourceIdentifier() pulumi.StringPtrOutput {
   432  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringPtrOutput { return v.ResourceIdentifier }).(pulumi.StringPtrOutput)
   433  }
   434  
   435  // The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.
   436  func (o ReplicationTaskOutput) SourceEndpointArn() pulumi.StringOutput {
   437  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringOutput { return v.SourceEndpointArn }).(pulumi.StringOutput)
   438  }
   439  
   440  // Whether to run or stop the replication task.
   441  func (o ReplicationTaskOutput) StartReplicationTask() pulumi.BoolPtrOutput {
   442  	return o.ApplyT(func(v *ReplicationTask) pulumi.BoolPtrOutput { return v.StartReplicationTask }).(pulumi.BoolPtrOutput)
   443  }
   444  
   445  // Replication Task status.
   446  func (o ReplicationTaskOutput) Status() pulumi.StringOutput {
   447  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   448  }
   449  
   450  // 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)
   451  func (o ReplicationTaskOutput) TableMappings() pulumi.StringOutput {
   452  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringOutput { return v.TableMappings }).(pulumi.StringOutput)
   453  }
   454  
   455  // 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.
   456  func (o ReplicationTaskOutput) Tags() pulumi.StringMapOutput {
   457  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   458  }
   459  
   460  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   461  //
   462  // Deprecated: Please use `tags` instead.
   463  func (o ReplicationTaskOutput) TagsAll() pulumi.StringMapOutput {
   464  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   465  }
   466  
   467  // The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.
   468  func (o ReplicationTaskOutput) TargetEndpointArn() pulumi.StringOutput {
   469  	return o.ApplyT(func(v *ReplicationTask) pulumi.StringOutput { return v.TargetEndpointArn }).(pulumi.StringOutput)
   470  }
   471  
   472  type ReplicationTaskArrayOutput struct{ *pulumi.OutputState }
   473  
   474  func (ReplicationTaskArrayOutput) ElementType() reflect.Type {
   475  	return reflect.TypeOf((*[]*ReplicationTask)(nil)).Elem()
   476  }
   477  
   478  func (o ReplicationTaskArrayOutput) ToReplicationTaskArrayOutput() ReplicationTaskArrayOutput {
   479  	return o
   480  }
   481  
   482  func (o ReplicationTaskArrayOutput) ToReplicationTaskArrayOutputWithContext(ctx context.Context) ReplicationTaskArrayOutput {
   483  	return o
   484  }
   485  
   486  func (o ReplicationTaskArrayOutput) Index(i pulumi.IntInput) ReplicationTaskOutput {
   487  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ReplicationTask {
   488  		return vs[0].([]*ReplicationTask)[vs[1].(int)]
   489  	}).(ReplicationTaskOutput)
   490  }
   491  
   492  type ReplicationTaskMapOutput struct{ *pulumi.OutputState }
   493  
   494  func (ReplicationTaskMapOutput) ElementType() reflect.Type {
   495  	return reflect.TypeOf((*map[string]*ReplicationTask)(nil)).Elem()
   496  }
   497  
   498  func (o ReplicationTaskMapOutput) ToReplicationTaskMapOutput() ReplicationTaskMapOutput {
   499  	return o
   500  }
   501  
   502  func (o ReplicationTaskMapOutput) ToReplicationTaskMapOutputWithContext(ctx context.Context) ReplicationTaskMapOutput {
   503  	return o
   504  }
   505  
   506  func (o ReplicationTaskMapOutput) MapIndex(k pulumi.StringInput) ReplicationTaskOutput {
   507  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ReplicationTask {
   508  		return vs[0].(map[string]*ReplicationTask)[vs[1].(string)]
   509  	}).(ReplicationTaskOutput)
   510  }
   511  
   512  func init() {
   513  	pulumi.RegisterInputType(reflect.TypeOf((*ReplicationTaskInput)(nil)).Elem(), &ReplicationTask{})
   514  	pulumi.RegisterInputType(reflect.TypeOf((*ReplicationTaskArrayInput)(nil)).Elem(), ReplicationTaskArray{})
   515  	pulumi.RegisterInputType(reflect.TypeOf((*ReplicationTaskMapInput)(nil)).Elem(), ReplicationTaskMap{})
   516  	pulumi.RegisterOutputType(ReplicationTaskOutput{})
   517  	pulumi.RegisterOutputType(ReplicationTaskArrayOutput{})
   518  	pulumi.RegisterOutputType(ReplicationTaskMapOutput{})
   519  }