// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.Dts
{
    /// <summary>
    /// Provides a DTS Migration Job resource.
    /// 
    /// For information about DTS Migration Job and how to use it, see [What is Migration Job](https://www.alibabacloud.com/help/en/doc-detail/208399.html).
    /// 
    /// &gt; **NOTE:** Available in v1.157.0+.
    /// 
    /// ## Notice
    /// 
    /// 1. The expiration time cannot be changed after the work of the annual and monthly subscription suspended;
    /// 2. After the pay-as-you-go type job suspended, your job configuration fee will still be charged;
    /// 3. If the task suspended for more than 6 hours, the task will not start successfully.
    /// 4. Suspending the task will only stop writing to the target library, but will still continue to obtain the incremental log of the source, so that the task can be quickly resumed after the suspension is canceled. Therefore, some resources of the source library, such as bandwidth resources, will continue to be occupied during the period.
    /// 5. Charges will continue during the task suspension period. If you need to stop charging, please release the instance
    /// 6. When a DTS instance suspended for more than 7 days, the instance cannot be resumed, and the status will change from suspended to failed.
    /// 
    /// ## Import
    /// 
    /// DTS Migration Job can be imported using the id, e.g.
    /// 
    /// ```sh
    ///  $ pulumi import alicloud:dts/migrationJob:MigrationJob example &lt;id&gt;
    /// ```
    /// </summary>
    [AliCloudResourceType("alicloud:dts/migrationJob:MigrationJob")]
    public partial class MigrationJob : global::Pulumi.CustomResource
    {
        /// <summary>
        /// Start time in Unix timestamp format.
        /// </summary>
        [Output("checkpoint")]
        public Output<string> Checkpoint { get; private set; } = null!;

        /// <summary>
        /// Whether to execute DTS supports schema migration.
        /// </summary>
        [Output("dataInitialization")]
        public Output<bool> DataInitialization { get; private set; } = null!;

        /// <summary>
        /// Whether to perform incremental data migration.
        /// </summary>
        [Output("dataSynchronization")]
        public Output<bool> DataSynchronization { get; private set; } = null!;

        /// <summary>
        /// Migration object, in the format of JSON strings. For detailed definition instructions, please refer to [the description of migration, migration or subscription objects](https://help.aliyun.com/document_detail/209545.html).
        /// </summary>
        [Output("dbList")]
        public Output<string> DbList { get; private set; } = null!;

        /// <summary>
        /// The name of migrate the database.
        /// </summary>
        [Output("destinationEndpointDatabaseName")]
        public Output<string?> DestinationEndpointDatabaseName { get; private set; } = null!;

        /// <summary>
        /// The type of destination database. Valid values: `ADS`, `ADB30`, `AS400`, `DATAHUB`, `DB2`, `GREENPLUM`, `KAFKA`, `MONGODB`, `MSSQL`, `MySQL`, `ORACLE`, `PolarDB`, `POLARDBX20`, `POLARDB_O`, `PostgreSQL`.
        /// </summary>
        [Output("destinationEndpointEngineName")]
        public Output<string> DestinationEndpointEngineName { get; private set; } = null!;

        /// <summary>
        /// The ID of destination instance.
        /// </summary>
        [Output("destinationEndpointInstanceId")]
        public Output<string?> DestinationEndpointInstanceId { get; private set; } = null!;

        /// <summary>
        /// The type of destination instance. Valid values: `ADS`, `CEN`, `DATAHUB`, `DG`, `ECS`, `EXPRESS`, `GREENPLUM`, `MONGODB`, `OTHER`, `PolarDB`, `POLARDBX20`, `RDS`.
        /// </summary>
        [Output("destinationEndpointInstanceType")]
        public Output<string> DestinationEndpointInstanceType { get; private set; } = null!;

        /// <summary>
        /// The ip of source endpoint.
        /// </summary>
        [Output("destinationEndpointIp")]
        public Output<string?> DestinationEndpointIp { get; private set; } = null!;

        /// <summary>
        /// The SID of Oracle database.
        /// </summary>
        [Output("destinationEndpointOracleSid")]
        public Output<string?> DestinationEndpointOracleSid { get; private set; } = null!;

        /// <summary>
        /// The password of database account.
        /// </summary>
        [Output("destinationEndpointPassword")]
        public Output<string?> DestinationEndpointPassword { get; private set; } = null!;

        /// <summary>
        /// The port of source endpoint.
        /// </summary>
        [Output("destinationEndpointPort")]
        public Output<string?> DestinationEndpointPort { get; private set; } = null!;

        /// <summary>
        /// The region of destination instance.
        /// </summary>
        [Output("destinationEndpointRegion")]
        public Output<string?> DestinationEndpointRegion { get; private set; } = null!;

        /// <summary>
        /// The username of database account.
        /// </summary>
        [Output("destinationEndpointUserName")]
        public Output<string?> DestinationEndpointUserName { get; private set; } = null!;

        /// <summary>
        /// The Migration instance ID. The ID of `alicloud.dts.MigrationInstance`.
        /// </summary>
        [Output("dtsInstanceId")]
        public Output<string> DtsInstanceId { get; private set; } = null!;

        /// <summary>
        /// The name of migration job.
        /// </summary>
        [Output("dtsJobName")]
        public Output<string> DtsJobName { get; private set; } = null!;

        /// <summary>
        /// The instance class. Valid values: `large`, `medium`, `micro`, `small`, `xlarge`, `xxlarge`.
        /// </summary>
        [Output("instanceClass")]
        public Output<string> InstanceClass { get; private set; } = null!;

        /// <summary>
        /// The name of migrate the database.
        /// </summary>
        [Output("sourceEndpointDatabaseName")]
        public Output<string?> SourceEndpointDatabaseName { get; private set; } = null!;

        /// <summary>
        /// The type of source database. Valid values: `AS400`, `DB2`, `DMSPOLARDB`, `HBASE`, `MONGODB`, `MSSQL`, `MySQL`, `ORACLE`, `PolarDB`, `POLARDBX20`, `POLARDB_O`, `POSTGRESQL`, `TERADATA`.
        /// </summary>
        [Output("sourceEndpointEngineName")]
        public Output<string> SourceEndpointEngineName { get; private set; } = null!;

        /// <summary>
        /// The ID of source instance.
        /// </summary>
        [Output("sourceEndpointInstanceId")]
        public Output<string?> SourceEndpointInstanceId { get; private set; } = null!;

        /// <summary>
        /// The type of source instance. Valid values: `CEN`, `DG`, `DISTRIBUTED_DMSLOGICDB`, `ECS`, `EXPRESS`, `MONGODB`, `OTHER`, `PolarDB`, `POLARDBX20`, `RDS`.
        /// </summary>
        [Output("sourceEndpointInstanceType")]
        public Output<string> SourceEndpointInstanceType { get; private set; } = null!;

        /// <summary>
        /// The ip of source endpoint.
        /// </summary>
        [Output("sourceEndpointIp")]
        public Output<string?> SourceEndpointIp { get; private set; } = null!;

        /// <summary>
        /// The SID of Oracle database.
        /// </summary>
        [Output("sourceEndpointOracleSid")]
        public Output<string?> SourceEndpointOracleSid { get; private set; } = null!;

        /// <summary>
        /// The Alibaba Cloud account ID to which the source instance belongs.
        /// </summary>
        [Output("sourceEndpointOwnerId")]
        public Output<string?> SourceEndpointOwnerId { get; private set; } = null!;

        /// <summary>
        /// The password of database account.
        /// </summary>
        [Output("sourceEndpointPassword")]
        public Output<string?> SourceEndpointPassword { get; private set; } = null!;

        /// <summary>
        /// The port of source endpoint.
        /// </summary>
        [Output("sourceEndpointPort")]
        public Output<string?> SourceEndpointPort { get; private set; } = null!;

        /// <summary>
        /// The region of source instance.
        /// </summary>
        [Output("sourceEndpointRegion")]
        public Output<string?> SourceEndpointRegion { get; private set; } = null!;

        /// <summary>
        /// The name of the role configured for the cloud account to which the source instance belongs.
        /// </summary>
        [Output("sourceEndpointRole")]
        public Output<string?> SourceEndpointRole { get; private set; } = null!;

        /// <summary>
        /// The username of database account.
        /// </summary>
        [Output("sourceEndpointUserName")]
        public Output<string?> SourceEndpointUserName { get; private set; } = null!;

        /// <summary>
        /// The status of the resource. Valid values: `Migrating`, `Suspending`. You can suspend the task by specifying `Suspending` and start the task by specifying `Migrating`.
        /// </summary>
        [Output("status")]
        public Output<string> Status { get; private set; } = null!;

        /// <summary>
        /// Whether to perform a database table structure to migrate.
        /// </summary>
        [Output("structureInitialization")]
        public Output<bool> StructureInitialization { get; private set; } = null!;


        /// <summary>
        /// Create a MigrationJob resource with the given unique name, arguments, and options.
        /// </summary>
        ///
        /// <param name="name">The unique name of the resource</param>
        /// <param name="args">The arguments used to populate this resource's properties</param>
        /// <param name="options">A bag of options that control this resource's behavior</param>
        public MigrationJob(string name, MigrationJobArgs args, CustomResourceOptions? options = null)
            : base("alicloud:dts/migrationJob:MigrationJob", name, args ?? new MigrationJobArgs(), MakeResourceOptions(options, ""))
        {
        }

        private MigrationJob(string name, Input<string> id, MigrationJobState? state = null, CustomResourceOptions? options = null)
            : base("alicloud:dts/migrationJob:MigrationJob", name, state, MakeResourceOptions(options, id))
        {
        }

        private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input<string>? id)
        {
            var defaultOptions = new CustomResourceOptions
            {
                Version = Utilities.Version,
                PluginDownloadURL = "github://api.github.com/rhysmdnz/pulumi-alicloud",
            };
            var merged = CustomResourceOptions.Merge(defaultOptions, options);
            // Override the ID if one was specified for consistency with other language SDKs.
            merged.Id = id ?? merged.Id;
            return merged;
        }
        /// <summary>
        /// Get an existing MigrationJob resource's state with the given name, ID, and optional extra
        /// properties used to qualify the lookup.
        /// </summary>
        ///
        /// <param name="name">The unique name of the resulting resource.</param>
        /// <param name="id">The unique provider ID of the resource to lookup.</param>
        /// <param name="state">Any extra arguments used during the lookup.</param>
        /// <param name="options">A bag of options that control this resource's behavior</param>
        public static MigrationJob Get(string name, Input<string> id, MigrationJobState? state = null, CustomResourceOptions? options = null)
        {
            return new MigrationJob(name, id, state, options);
        }
    }

    public sealed class MigrationJobArgs : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// Start time in Unix timestamp format.
        /// </summary>
        [Input("checkpoint")]
        public Input<string>? Checkpoint { get; set; }

        /// <summary>
        /// Whether to execute DTS supports schema migration.
        /// </summary>
        [Input("dataInitialization", required: true)]
        public Input<bool> DataInitialization { get; set; } = null!;

        /// <summary>
        /// Whether to perform incremental data migration.
        /// </summary>
        [Input("dataSynchronization", required: true)]
        public Input<bool> DataSynchronization { get; set; } = null!;

        /// <summary>
        /// Migration object, in the format of JSON strings. For detailed definition instructions, please refer to [the description of migration, migration or subscription objects](https://help.aliyun.com/document_detail/209545.html).
        /// </summary>
        [Input("dbList", required: true)]
        public Input<string> DbList { get; set; } = null!;

        /// <summary>
        /// The name of migrate the database.
        /// </summary>
        [Input("destinationEndpointDatabaseName")]
        public Input<string>? DestinationEndpointDatabaseName { get; set; }

        /// <summary>
        /// The type of destination database. Valid values: `ADS`, `ADB30`, `AS400`, `DATAHUB`, `DB2`, `GREENPLUM`, `KAFKA`, `MONGODB`, `MSSQL`, `MySQL`, `ORACLE`, `PolarDB`, `POLARDBX20`, `POLARDB_O`, `PostgreSQL`.
        /// </summary>
        [Input("destinationEndpointEngineName", required: true)]
        public Input<string> DestinationEndpointEngineName { get; set; } = null!;

        /// <summary>
        /// The ID of destination instance.
        /// </summary>
        [Input("destinationEndpointInstanceId")]
        public Input<string>? DestinationEndpointInstanceId { get; set; }

        /// <summary>
        /// The type of destination instance. Valid values: `ADS`, `CEN`, `DATAHUB`, `DG`, `ECS`, `EXPRESS`, `GREENPLUM`, `MONGODB`, `OTHER`, `PolarDB`, `POLARDBX20`, `RDS`.
        /// </summary>
        [Input("destinationEndpointInstanceType", required: true)]
        public Input<string> DestinationEndpointInstanceType { get; set; } = null!;

        /// <summary>
        /// The ip of source endpoint.
        /// </summary>
        [Input("destinationEndpointIp")]
        public Input<string>? DestinationEndpointIp { get; set; }

        /// <summary>
        /// The SID of Oracle database.
        /// </summary>
        [Input("destinationEndpointOracleSid")]
        public Input<string>? DestinationEndpointOracleSid { get; set; }

        /// <summary>
        /// The password of database account.
        /// </summary>
        [Input("destinationEndpointPassword")]
        public Input<string>? DestinationEndpointPassword { get; set; }

        /// <summary>
        /// The port of source endpoint.
        /// </summary>
        [Input("destinationEndpointPort")]
        public Input<string>? DestinationEndpointPort { get; set; }

        /// <summary>
        /// The region of destination instance.
        /// </summary>
        [Input("destinationEndpointRegion")]
        public Input<string>? DestinationEndpointRegion { get; set; }

        /// <summary>
        /// The username of database account.
        /// </summary>
        [Input("destinationEndpointUserName")]
        public Input<string>? DestinationEndpointUserName { get; set; }

        /// <summary>
        /// The Migration instance ID. The ID of `alicloud.dts.MigrationInstance`.
        /// </summary>
        [Input("dtsInstanceId", required: true)]
        public Input<string> DtsInstanceId { get; set; } = null!;

        /// <summary>
        /// The name of migration job.
        /// </summary>
        [Input("dtsJobName")]
        public Input<string>? DtsJobName { get; set; }

        /// <summary>
        /// The instance class. Valid values: `large`, `medium`, `micro`, `small`, `xlarge`, `xxlarge`.
        /// </summary>
        [Input("instanceClass")]
        public Input<string>? InstanceClass { get; set; }

        /// <summary>
        /// The name of migrate the database.
        /// </summary>
        [Input("sourceEndpointDatabaseName")]
        public Input<string>? SourceEndpointDatabaseName { get; set; }

        /// <summary>
        /// The type of source database. Valid values: `AS400`, `DB2`, `DMSPOLARDB`, `HBASE`, `MONGODB`, `MSSQL`, `MySQL`, `ORACLE`, `PolarDB`, `POLARDBX20`, `POLARDB_O`, `POSTGRESQL`, `TERADATA`.
        /// </summary>
        [Input("sourceEndpointEngineName", required: true)]
        public Input<string> SourceEndpointEngineName { get; set; } = null!;

        /// <summary>
        /// The ID of source instance.
        /// </summary>
        [Input("sourceEndpointInstanceId")]
        public Input<string>? SourceEndpointInstanceId { get; set; }

        /// <summary>
        /// The type of source instance. Valid values: `CEN`, `DG`, `DISTRIBUTED_DMSLOGICDB`, `ECS`, `EXPRESS`, `MONGODB`, `OTHER`, `PolarDB`, `POLARDBX20`, `RDS`.
        /// </summary>
        [Input("sourceEndpointInstanceType", required: true)]
        public Input<string> SourceEndpointInstanceType { get; set; } = null!;

        /// <summary>
        /// The ip of source endpoint.
        /// </summary>
        [Input("sourceEndpointIp")]
        public Input<string>? SourceEndpointIp { get; set; }

        /// <summary>
        /// The SID of Oracle database.
        /// </summary>
        [Input("sourceEndpointOracleSid")]
        public Input<string>? SourceEndpointOracleSid { get; set; }

        /// <summary>
        /// The Alibaba Cloud account ID to which the source instance belongs.
        /// </summary>
        [Input("sourceEndpointOwnerId")]
        public Input<string>? SourceEndpointOwnerId { get; set; }

        /// <summary>
        /// The password of database account.
        /// </summary>
        [Input("sourceEndpointPassword")]
        public Input<string>? SourceEndpointPassword { get; set; }

        /// <summary>
        /// The port of source endpoint.
        /// </summary>
        [Input("sourceEndpointPort")]
        public Input<string>? SourceEndpointPort { get; set; }

        /// <summary>
        /// The region of source instance.
        /// </summary>
        [Input("sourceEndpointRegion")]
        public Input<string>? SourceEndpointRegion { get; set; }

        /// <summary>
        /// The name of the role configured for the cloud account to which the source instance belongs.
        /// </summary>
        [Input("sourceEndpointRole")]
        public Input<string>? SourceEndpointRole { get; set; }

        /// <summary>
        /// The username of database account.
        /// </summary>
        [Input("sourceEndpointUserName")]
        public Input<string>? SourceEndpointUserName { get; set; }

        /// <summary>
        /// The status of the resource. Valid values: `Migrating`, `Suspending`. You can suspend the task by specifying `Suspending` and start the task by specifying `Migrating`.
        /// </summary>
        [Input("status")]
        public Input<string>? Status { get; set; }

        /// <summary>
        /// Whether to perform a database table structure to migrate.
        /// </summary>
        [Input("structureInitialization", required: true)]
        public Input<bool> StructureInitialization { get; set; } = null!;

        public MigrationJobArgs()
        {
        }
        public static new MigrationJobArgs Empty => new MigrationJobArgs();
    }

    public sealed class MigrationJobState : global::Pulumi.ResourceArgs
    {
        /// <summary>
        /// Start time in Unix timestamp format.
        /// </summary>
        [Input("checkpoint")]
        public Input<string>? Checkpoint { get; set; }

        /// <summary>
        /// Whether to execute DTS supports schema migration.
        /// </summary>
        [Input("dataInitialization")]
        public Input<bool>? DataInitialization { get; set; }

        /// <summary>
        /// Whether to perform incremental data migration.
        /// </summary>
        [Input("dataSynchronization")]
        public Input<bool>? DataSynchronization { get; set; }

        /// <summary>
        /// Migration object, in the format of JSON strings. For detailed definition instructions, please refer to [the description of migration, migration or subscription objects](https://help.aliyun.com/document_detail/209545.html).
        /// </summary>
        [Input("dbList")]
        public Input<string>? DbList { get; set; }

        /// <summary>
        /// The name of migrate the database.
        /// </summary>
        [Input("destinationEndpointDatabaseName")]
        public Input<string>? DestinationEndpointDatabaseName { get; set; }

        /// <summary>
        /// The type of destination database. Valid values: `ADS`, `ADB30`, `AS400`, `DATAHUB`, `DB2`, `GREENPLUM`, `KAFKA`, `MONGODB`, `MSSQL`, `MySQL`, `ORACLE`, `PolarDB`, `POLARDBX20`, `POLARDB_O`, `PostgreSQL`.
        /// </summary>
        [Input("destinationEndpointEngineName")]
        public Input<string>? DestinationEndpointEngineName { get; set; }

        /// <summary>
        /// The ID of destination instance.
        /// </summary>
        [Input("destinationEndpointInstanceId")]
        public Input<string>? DestinationEndpointInstanceId { get; set; }

        /// <summary>
        /// The type of destination instance. Valid values: `ADS`, `CEN`, `DATAHUB`, `DG`, `ECS`, `EXPRESS`, `GREENPLUM`, `MONGODB`, `OTHER`, `PolarDB`, `POLARDBX20`, `RDS`.
        /// </summary>
        [Input("destinationEndpointInstanceType")]
        public Input<string>? DestinationEndpointInstanceType { get; set; }

        /// <summary>
        /// The ip of source endpoint.
        /// </summary>
        [Input("destinationEndpointIp")]
        public Input<string>? DestinationEndpointIp { get; set; }

        /// <summary>
        /// The SID of Oracle database.
        /// </summary>
        [Input("destinationEndpointOracleSid")]
        public Input<string>? DestinationEndpointOracleSid { get; set; }

        /// <summary>
        /// The password of database account.
        /// </summary>
        [Input("destinationEndpointPassword")]
        public Input<string>? DestinationEndpointPassword { get; set; }

        /// <summary>
        /// The port of source endpoint.
        /// </summary>
        [Input("destinationEndpointPort")]
        public Input<string>? DestinationEndpointPort { get; set; }

        /// <summary>
        /// The region of destination instance.
        /// </summary>
        [Input("destinationEndpointRegion")]
        public Input<string>? DestinationEndpointRegion { get; set; }

        /// <summary>
        /// The username of database account.
        /// </summary>
        [Input("destinationEndpointUserName")]
        public Input<string>? DestinationEndpointUserName { get; set; }

        /// <summary>
        /// The Migration instance ID. The ID of `alicloud.dts.MigrationInstance`.
        /// </summary>
        [Input("dtsInstanceId")]
        public Input<string>? DtsInstanceId { get; set; }

        /// <summary>
        /// The name of migration job.
        /// </summary>
        [Input("dtsJobName")]
        public Input<string>? DtsJobName { get; set; }

        /// <summary>
        /// The instance class. Valid values: `large`, `medium`, `micro`, `small`, `xlarge`, `xxlarge`.
        /// </summary>
        [Input("instanceClass")]
        public Input<string>? InstanceClass { get; set; }

        /// <summary>
        /// The name of migrate the database.
        /// </summary>
        [Input("sourceEndpointDatabaseName")]
        public Input<string>? SourceEndpointDatabaseName { get; set; }

        /// <summary>
        /// The type of source database. Valid values: `AS400`, `DB2`, `DMSPOLARDB`, `HBASE`, `MONGODB`, `MSSQL`, `MySQL`, `ORACLE`, `PolarDB`, `POLARDBX20`, `POLARDB_O`, `POSTGRESQL`, `TERADATA`.
        /// </summary>
        [Input("sourceEndpointEngineName")]
        public Input<string>? SourceEndpointEngineName { get; set; }

        /// <summary>
        /// The ID of source instance.
        /// </summary>
        [Input("sourceEndpointInstanceId")]
        public Input<string>? SourceEndpointInstanceId { get; set; }

        /// <summary>
        /// The type of source instance. Valid values: `CEN`, `DG`, `DISTRIBUTED_DMSLOGICDB`, `ECS`, `EXPRESS`, `MONGODB`, `OTHER`, `PolarDB`, `POLARDBX20`, `RDS`.
        /// </summary>
        [Input("sourceEndpointInstanceType")]
        public Input<string>? SourceEndpointInstanceType { get; set; }

        /// <summary>
        /// The ip of source endpoint.
        /// </summary>
        [Input("sourceEndpointIp")]
        public Input<string>? SourceEndpointIp { get; set; }

        /// <summary>
        /// The SID of Oracle database.
        /// </summary>
        [Input("sourceEndpointOracleSid")]
        public Input<string>? SourceEndpointOracleSid { get; set; }

        /// <summary>
        /// The Alibaba Cloud account ID to which the source instance belongs.
        /// </summary>
        [Input("sourceEndpointOwnerId")]
        public Input<string>? SourceEndpointOwnerId { get; set; }

        /// <summary>
        /// The password of database account.
        /// </summary>
        [Input("sourceEndpointPassword")]
        public Input<string>? SourceEndpointPassword { get; set; }

        /// <summary>
        /// The port of source endpoint.
        /// </summary>
        [Input("sourceEndpointPort")]
        public Input<string>? SourceEndpointPort { get; set; }

        /// <summary>
        /// The region of source instance.
        /// </summary>
        [Input("sourceEndpointRegion")]
        public Input<string>? SourceEndpointRegion { get; set; }

        /// <summary>
        /// The name of the role configured for the cloud account to which the source instance belongs.
        /// </summary>
        [Input("sourceEndpointRole")]
        public Input<string>? SourceEndpointRole { get; set; }

        /// <summary>
        /// The username of database account.
        /// </summary>
        [Input("sourceEndpointUserName")]
        public Input<string>? SourceEndpointUserName { get; set; }

        /// <summary>
        /// The status of the resource. Valid values: `Migrating`, `Suspending`. You can suspend the task by specifying `Suspending` and start the task by specifying `Migrating`.
        /// </summary>
        [Input("status")]
        public Input<string>? Status { get; set; }

        /// <summary>
        /// Whether to perform a database table structure to migrate.
        /// </summary>
        [Input("structureInitialization")]
        public Input<bool>? StructureInitialization { get; set; }

        public MigrationJobState()
        {
        }
        public static new MigrationJobState Empty => new MigrationJobState();
    }
}
