<reponame>Dwonczykj/gember_deploy// *** 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;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Dts.Inputs
{

    public sealed class MigrateJobMigrateOptionDatabaseTableDatabaseArgs : Pulumi.ResourceArgs
    {
        /// <summary>
        /// DB selection mode:all (for all objects under the current object), partial (partial objects), when the ObjectMode is partial, this item is required.
        /// </summary>
        [Input("dbMode")]
        public Input<string>? DbMode { get; set; }

        /// <summary>
        /// database name.
        /// </summary>
        [Input("dbName")]
        public Input<string>? DbName { get; set; }

        /// <summary>
        /// EventMode.
        /// </summary>
        [Input("eventMode")]
        public Input<string>? EventMode { get; set; }

        [Input("events")]
        private InputList<string>? _events;

        /// <summary>
        /// Events.
        /// </summary>
        public InputList<string> Events
        {
            get => _events ?? (_events = new InputList<string>());
            set => _events = value;
        }

        /// <summary>
        /// FunctionMode.
        /// </summary>
        [Input("functionMode")]
        public Input<string>? FunctionMode { get; set; }

        [Input("functions")]
        private InputList<string>? _functions;

        /// <summary>
        /// Functions.
        /// </summary>
        public InputList<string> Functions
        {
            get => _functions ?? (_functions = new InputList<string>());
            set => _functions = value;
        }

        /// <summary>
        /// New database name.
        /// </summary>
        [Input("newDbName")]
        public Input<string>? NewDbName { get; set; }

        /// <summary>
        /// schema name after migration or synchronization.
        /// </summary>
        [Input("newSchemaName")]
        public Input<string>? NewSchemaName { get; set; }

        /// <summary>
        /// ProcedureMode.
        /// </summary>
        [Input("procedureMode")]
        public Input<string>? ProcedureMode { get; set; }

        [Input("procedures")]
        private InputList<string>? _procedures;

        /// <summary>
        /// Procedures.
        /// </summary>
        public InputList<string> Procedures
        {
            get => _procedures ?? (_procedures = new InputList<string>());
            set => _procedures = value;
        }

        /// <summary>
        /// RoleMode.
        /// </summary>
        [Input("roleMode")]
        public Input<string>? RoleMode { get; set; }

        [Input("roles")]
        private InputList<Inputs.MigrateJobMigrateOptionDatabaseTableDatabaseRoleArgs>? _roles;

        /// <summary>
        /// Roles.
        /// </summary>
        public InputList<Inputs.MigrateJobMigrateOptionDatabaseTableDatabaseRoleArgs> Roles
        {
            get => _roles ?? (_roles = new InputList<Inputs.MigrateJobMigrateOptionDatabaseTableDatabaseRoleArgs>());
            set => _roles = value;
        }

        /// <summary>
        /// schema mode: all,partial.
        /// </summary>
        [Input("schemaMode")]
        public Input<string>? SchemaMode { get; set; }

        /// <summary>
        /// schema name.
        /// </summary>
        [Input("schemaName")]
        public Input<string>? SchemaName { get; set; }

        /// <summary>
        /// table mode: all,partial.
        /// </summary>
        [Input("tableMode")]
        public Input<string>? TableMode { get; set; }

        [Input("tables")]
        private InputList<Inputs.MigrateJobMigrateOptionDatabaseTableDatabaseTableArgs>? _tables;

        /// <summary>
        /// tables list.
        /// </summary>
        public InputList<Inputs.MigrateJobMigrateOptionDatabaseTableDatabaseTableArgs> Tables
        {
            get => _tables ?? (_tables = new InputList<Inputs.MigrateJobMigrateOptionDatabaseTableDatabaseTableArgs>());
            set => _tables = value;
        }

        /// <summary>
        /// TriggerMode.
        /// </summary>
        [Input("triggerMode")]
        public Input<string>? TriggerMode { get; set; }

        [Input("triggers")]
        private InputList<string>? _triggers;

        /// <summary>
        /// Triggers.
        /// </summary>
        public InputList<string> Triggers
        {
            get => _triggers ?? (_triggers = new InputList<string>());
            set => _triggers = value;
        }

        /// <summary>
        /// ViewMode.
        /// </summary>
        [Input("viewMode")]
        public Input<string>? ViewMode { get; set; }

        [Input("views")]
        private InputList<Inputs.MigrateJobMigrateOptionDatabaseTableDatabaseViewArgs>? _views;

        /// <summary>
        /// Views.
        /// </summary>
        public InputList<Inputs.MigrateJobMigrateOptionDatabaseTableDatabaseViewArgs> Views
        {
            get => _views ?? (_views = new InputList<Inputs.MigrateJobMigrateOptionDatabaseTableDatabaseViewArgs>());
            set => _views = value;
        }

        public MigrateJobMigrateOptionDatabaseTableDatabaseArgs()
        {
        }
    }
}
