// *** 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.Dcdb
{
    /// <summary>
    /// Provides a resource to create a dcdb db_instance
    /// 
    /// ## Example Usage
    /// 
    /// ```csharp
    /// using Pulumi;
    /// using Tencentcloud = TencentCloudIAC.PulumiPackage.Tencentcloud;
    /// 
    /// class MyStack : Stack
    /// {
    ///     public MyStack()
    ///     {
    ///         var dbInstance = new Tencentcloud.Dcdb.DbInstance("dbInstance", new Tencentcloud.Dcdb.DbInstanceArgs
    ///         {
    ///             InstanceName = "test_dcdb_db_instance",
    ///             Zones = 
    ///             {
    ///                 "ap-guangzhou-5",
    ///             },
    ///             Period = 1,
    ///             ShardMemory = 2,
    ///             ShardStorage = 10,
    ///             ShardNodeCount = 2,
    ///             ShardCount = 2,
    ///             VpcId = local.Vpc_id,
    ///             SubnetId = local.Subnet_id,
    ///             DbVersionId = "8.0",
    ///             ResourceTags = 
    ///             {
    ///                 new Tencentcloud.Dcdb.Inputs.DbInstanceResourceTagArgs
    ///                 {
    ///                     TagKey = "aaa",
    ///                     TagValue = "bbb",
    ///                 },
    ///             },
    ///             InitParams = 
    ///             {
    ///                 new Tencentcloud.Dcdb.Inputs.DbInstanceInitParamArgs
    ///                 {
    ///                     Param = "character_set_server",
    ///                     Value = "utf8mb4",
    ///                 },
    ///                 new Tencentcloud.Dcdb.Inputs.DbInstanceInitParamArgs
    ///                 {
    ///                     Param = "lower_case_table_names",
    ///                     Value = "1",
    ///                 },
    ///                 new Tencentcloud.Dcdb.Inputs.DbInstanceInitParamArgs
    ///                 {
    ///                     Param = "sync_mode",
    ///                     Value = "2",
    ///                 },
    ///                 new Tencentcloud.Dcdb.Inputs.DbInstanceInitParamArgs
    ///                 {
    ///                     Param = "innodb_page_size",
    ///                     Value = "16384",
    ///                 },
    ///             },
    ///             SecurityGroupIds = 
    ///             {
    ///                 local.Sg_id,
    ///             },
    ///         });
    ///     }
    /// 
    /// }
    /// ```
    /// 
    /// ## Import
    /// 
    /// dcdb db_instance can be imported using the id, e.g.
    /// 
    /// ```sh
    ///  $ pulumi import tencentcloud:Dcdb/dbInstance:DbInstance db_instance db_instance_id
    /// ```
    /// </summary>
    [TencentcloudResourceType("tencentcloud:Dcdb/dbInstance:DbInstance")]
    public partial class DbInstance : Pulumi.CustomResource
    {
        /// <summary>
        /// &amp;amp;quot;Automatic renewal flag, 0 means the default state (the user has not set it, that is, the initial state is manual renewal, and the user has activated the prepaid non-stop privilege and will also perform automatic renewal).&amp;amp;quot;&amp;amp;quot;1 means automatic renewal, 2 means no automatic renewal (user setting).&amp;amp;quot;&amp;amp;quot;if the business has no concept of renewal or automatic renewal is not required, it needs to be set to 0.&amp;amp;quot;.
        /// </summary>
        [Output("autoRenewFlag")]
        public Output<int?> AutoRenewFlag { get; private set; } = null!;

        /// <summary>
        /// Whether to automatically use vouchers for payment, not used by default.
        /// </summary>
        [Output("autoVoucher")]
        public Output<bool?> AutoVoucher { get; private set; } = null!;

        /// <summary>
        /// &amp;amp;quot;Database engine version, currently available: 8.0.18, 10.1.9, 5.7.17.&amp;amp;quot;&amp;amp;quot;8.0.18 - MySQL 8.0.18;&amp;amp;quot;&amp;amp;quot;10.1.9 - Mariadb 10.1.9;&amp;amp;quot;&amp;amp;quot;5.7.17 - Percona 5.7.17&amp;amp;quot;&amp;amp;quot;If not filled, the default is 5.7.17, which means Percona 5.7.17.&amp;amp;quot;.
        /// </summary>
        [Output("dbVersionId")]
        public Output<string?> DbVersionId { get; private set; } = null!;

        /// <summary>
        /// DCN source instance ID.
        /// </summary>
        [Output("dcnInstanceId")]
        public Output<string?> DcnInstanceId { get; private set; } = null!;

        /// <summary>
        /// DCN source region.
        /// </summary>
        [Output("dcnRegion")]
        public Output<string?> DcnRegion { get; private set; } = null!;

        /// <summary>
        /// &amp;amp;quot;parameter list. The optional values of this interface are:&amp;amp;quot;&amp;amp;quot;character_set_server (character set, must be passed),&amp;amp;quot;&amp;amp;quot;lower_case_table_names (table name is case sensitive, must be passed, 0 - sensitive; 1 - insensitive),&amp;amp;quot;&amp;amp;quot;innodb_page_size (innodb data page, default 16K),&amp;amp;quot;&amp;amp;quot;sync_mode ( Synchronous mode: 0 - asynchronous; 1 - strong synchronous; 2 - strong synchronous degenerate. The default is strong synchronous degenerate)&amp;amp;quot;.
        /// </summary>
        [Output("initParams")]
        public Output<ImmutableArray<Outputs.DbInstanceInitParam>> InitParams { get; private set; } = null!;

        /// <summary>
        /// Instance name, you can set the name of the instance independently through this field.
        /// </summary>
        [Output("instanceName")]
        public Output<string?> InstanceName { get; private set; } = null!;

        /// <summary>
        /// Whether to support IPv6.
        /// </summary>
        [Output("ipv6Flag")]
        public Output<int?> Ipv6Flag { get; private set; } = null!;

        /// <summary>
        /// The length of time you want to buy, unit: month.
        /// </summary>
        [Output("period")]
        public Output<int> Period { get; private set; } = null!;

        /// <summary>
        /// Project ID, which can be obtained by viewing the project list, if not passed, it will be associated with the default project.
        /// </summary>
        [Output("projectId")]
        public Output<int?> ProjectId { get; private set; } = null!;

        /// <summary>
        /// Array of tag key-value pairs.
        /// </summary>
        [Output("resourceTags")]
        public Output<ImmutableArray<Outputs.DbInstanceResourceTag>> ResourceTags { get; private set; } = null!;

        /// <summary>
        /// Security group ids, the security group can be passed in the form of an array, compatible with the previous SecurityGroupId parameter.
        /// </summary>
        [Output("securityGroupIds")]
        public Output<ImmutableArray<string>> SecurityGroupIds { get; private set; } = null!;

        /// <summary>
        /// The number of instance fragments, the optional range is 2-8, and new fragments can be added to a maximum of 64 fragments by upgrading the instance.
        /// </summary>
        [Output("shardCount")]
        public Output<int> ShardCount { get; private set; } = null!;

        /// <summary>
        /// &amp;amp;quot;Shard memory size, unit: GB, can pass DescribeShardSpec&amp;amp;quot;&amp;amp;quot;Query the instance specification to obtain.&amp;amp;quot;.
        /// </summary>
        [Output("shardMemory")]
        public Output<int> ShardMemory { get; private set; } = null!;

        /// <summary>
        /// &amp;amp;quot;Number of single shard nodes, can pass DescribeShardSpec&amp;amp;quot;&amp;amp;quot;Query the instance specification to obtain.&amp;amp;quot;.
        /// </summary>
        [Output("shardNodeCount")]
        public Output<int> ShardNodeCount { get; private set; } = null!;

        /// <summary>
        /// &amp;amp;quot;Shard storage size, unit: GB, can pass DescribeShardSpec&amp;amp;quot;&amp;amp;quot;Query the instance specification to obtain.&amp;amp;quot;.
        /// </summary>
        [Output("shardStorage")]
        public Output<int> ShardStorage { get; private set; } = null!;

        /// <summary>
        /// Virtual private network subnet ID, required when VpcId is not empty.
        /// </summary>
        [Output("subnetId")]
        public Output<string?> SubnetId { get; private set; } = null!;

        /// <summary>
        /// Voucher ID list, currently only supports specifying one voucher.
        /// </summary>
        [Output("voucherIds")]
        public Output<ImmutableArray<string>> VoucherIds { get; private set; } = null!;

        /// <summary>
        /// Virtual private network ID, if not passed or passed empty, it means that it is created as a basic network.
        /// </summary>
        [Output("vpcId")]
        public Output<string?> VpcId { get; private set; } = null!;

        /// <summary>
        /// &amp;amp;quot;The availability zone distribution of shard nodes can be filled with up to two availability zones. When the shard specification is one master and two slaves, two of the nodes are in the first availability zone.&amp;amp;quot;&amp;amp;quot;Note that the current availability zone that can be sold needs to be pulled through the DescribeDCDBSaleInfo interface.&amp;amp;quot;.
        /// </summary>
        [Output("zones")]
        public Output<ImmutableArray<string>> Zones { get; private set; } = null!;


        /// <summary>
        /// Create a DbInstance 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 DbInstance(string name, DbInstanceArgs args, CustomResourceOptions? options = null)
            : base("tencentcloud:Dcdb/dbInstance:DbInstance", name, args ?? new DbInstanceArgs(), MakeResourceOptions(options, ""))
        {
        }

        private DbInstance(string name, Input<string> id, DbInstanceState? state = null, CustomResourceOptions? options = null)
            : base("tencentcloud:Dcdb/dbInstance:DbInstance", 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/tencentcloudstack",
            };
            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 DbInstance 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 DbInstance Get(string name, Input<string> id, DbInstanceState? state = null, CustomResourceOptions? options = null)
        {
            return new DbInstance(name, id, state, options);
        }
    }

    public sealed class DbInstanceArgs : Pulumi.ResourceArgs
    {
        /// <summary>
        /// &amp;amp;quot;Automatic renewal flag, 0 means the default state (the user has not set it, that is, the initial state is manual renewal, and the user has activated the prepaid non-stop privilege and will also perform automatic renewal).&amp;amp;quot;&amp;amp;quot;1 means automatic renewal, 2 means no automatic renewal (user setting).&amp;amp;quot;&amp;amp;quot;if the business has no concept of renewal or automatic renewal is not required, it needs to be set to 0.&amp;amp;quot;.
        /// </summary>
        [Input("autoRenewFlag")]
        public Input<int>? AutoRenewFlag { get; set; }

        /// <summary>
        /// Whether to automatically use vouchers for payment, not used by default.
        /// </summary>
        [Input("autoVoucher")]
        public Input<bool>? AutoVoucher { get; set; }

        /// <summary>
        /// &amp;amp;quot;Database engine version, currently available: 8.0.18, 10.1.9, 5.7.17.&amp;amp;quot;&amp;amp;quot;8.0.18 - MySQL 8.0.18;&amp;amp;quot;&amp;amp;quot;10.1.9 - Mariadb 10.1.9;&amp;amp;quot;&amp;amp;quot;5.7.17 - Percona 5.7.17&amp;amp;quot;&amp;amp;quot;If not filled, the default is 5.7.17, which means Percona 5.7.17.&amp;amp;quot;.
        /// </summary>
        [Input("dbVersionId")]
        public Input<string>? DbVersionId { get; set; }

        /// <summary>
        /// DCN source instance ID.
        /// </summary>
        [Input("dcnInstanceId")]
        public Input<string>? DcnInstanceId { get; set; }

        /// <summary>
        /// DCN source region.
        /// </summary>
        [Input("dcnRegion")]
        public Input<string>? DcnRegion { get; set; }

        [Input("initParams")]
        private InputList<Inputs.DbInstanceInitParamArgs>? _initParams;

        /// <summary>
        /// &amp;amp;quot;parameter list. The optional values of this interface are:&amp;amp;quot;&amp;amp;quot;character_set_server (character set, must be passed),&amp;amp;quot;&amp;amp;quot;lower_case_table_names (table name is case sensitive, must be passed, 0 - sensitive; 1 - insensitive),&amp;amp;quot;&amp;amp;quot;innodb_page_size (innodb data page, default 16K),&amp;amp;quot;&amp;amp;quot;sync_mode ( Synchronous mode: 0 - asynchronous; 1 - strong synchronous; 2 - strong synchronous degenerate. The default is strong synchronous degenerate)&amp;amp;quot;.
        /// </summary>
        public InputList<Inputs.DbInstanceInitParamArgs> InitParams
        {
            get => _initParams ?? (_initParams = new InputList<Inputs.DbInstanceInitParamArgs>());
            set => _initParams = value;
        }

        /// <summary>
        /// Instance name, you can set the name of the instance independently through this field.
        /// </summary>
        [Input("instanceName")]
        public Input<string>? InstanceName { get; set; }

        /// <summary>
        /// Whether to support IPv6.
        /// </summary>
        [Input("ipv6Flag")]
        public Input<int>? Ipv6Flag { get; set; }

        /// <summary>
        /// The length of time you want to buy, unit: month.
        /// </summary>
        [Input("period", required: true)]
        public Input<int> Period { get; set; } = null!;

        /// <summary>
        /// Project ID, which can be obtained by viewing the project list, if not passed, it will be associated with the default project.
        /// </summary>
        [Input("projectId")]
        public Input<int>? ProjectId { get; set; }

        [Input("resourceTags")]
        private InputList<Inputs.DbInstanceResourceTagArgs>? _resourceTags;

        /// <summary>
        /// Array of tag key-value pairs.
        /// </summary>
        public InputList<Inputs.DbInstanceResourceTagArgs> ResourceTags
        {
            get => _resourceTags ?? (_resourceTags = new InputList<Inputs.DbInstanceResourceTagArgs>());
            set => _resourceTags = value;
        }

        [Input("securityGroupIds")]
        private InputList<string>? _securityGroupIds;

        /// <summary>
        /// Security group ids, the security group can be passed in the form of an array, compatible with the previous SecurityGroupId parameter.
        /// </summary>
        public InputList<string> SecurityGroupIds
        {
            get => _securityGroupIds ?? (_securityGroupIds = new InputList<string>());
            set => _securityGroupIds = value;
        }

        /// <summary>
        /// The number of instance fragments, the optional range is 2-8, and new fragments can be added to a maximum of 64 fragments by upgrading the instance.
        /// </summary>
        [Input("shardCount", required: true)]
        public Input<int> ShardCount { get; set; } = null!;

        /// <summary>
        /// &amp;amp;quot;Shard memory size, unit: GB, can pass DescribeShardSpec&amp;amp;quot;&amp;amp;quot;Query the instance specification to obtain.&amp;amp;quot;.
        /// </summary>
        [Input("shardMemory", required: true)]
        public Input<int> ShardMemory { get; set; } = null!;

        /// <summary>
        /// &amp;amp;quot;Number of single shard nodes, can pass DescribeShardSpec&amp;amp;quot;&amp;amp;quot;Query the instance specification to obtain.&amp;amp;quot;.
        /// </summary>
        [Input("shardNodeCount", required: true)]
        public Input<int> ShardNodeCount { get; set; } = null!;

        /// <summary>
        /// &amp;amp;quot;Shard storage size, unit: GB, can pass DescribeShardSpec&amp;amp;quot;&amp;amp;quot;Query the instance specification to obtain.&amp;amp;quot;.
        /// </summary>
        [Input("shardStorage", required: true)]
        public Input<int> ShardStorage { get; set; } = null!;

        /// <summary>
        /// Virtual private network subnet ID, required when VpcId is not empty.
        /// </summary>
        [Input("subnetId")]
        public Input<string>? SubnetId { get; set; }

        [Input("voucherIds")]
        private InputList<string>? _voucherIds;

        /// <summary>
        /// Voucher ID list, currently only supports specifying one voucher.
        /// </summary>
        public InputList<string> VoucherIds
        {
            get => _voucherIds ?? (_voucherIds = new InputList<string>());
            set => _voucherIds = value;
        }

        /// <summary>
        /// Virtual private network ID, if not passed or passed empty, it means that it is created as a basic network.
        /// </summary>
        [Input("vpcId")]
        public Input<string>? VpcId { get; set; }

        [Input("zones", required: true)]
        private InputList<string>? _zones;

        /// <summary>
        /// &amp;amp;quot;The availability zone distribution of shard nodes can be filled with up to two availability zones. When the shard specification is one master and two slaves, two of the nodes are in the first availability zone.&amp;amp;quot;&amp;amp;quot;Note that the current availability zone that can be sold needs to be pulled through the DescribeDCDBSaleInfo interface.&amp;amp;quot;.
        /// </summary>
        public InputList<string> Zones
        {
            get => _zones ?? (_zones = new InputList<string>());
            set => _zones = value;
        }

        public DbInstanceArgs()
        {
        }
    }

    public sealed class DbInstanceState : Pulumi.ResourceArgs
    {
        /// <summary>
        /// &amp;amp;quot;Automatic renewal flag, 0 means the default state (the user has not set it, that is, the initial state is manual renewal, and the user has activated the prepaid non-stop privilege and will also perform automatic renewal).&amp;amp;quot;&amp;amp;quot;1 means automatic renewal, 2 means no automatic renewal (user setting).&amp;amp;quot;&amp;amp;quot;if the business has no concept of renewal or automatic renewal is not required, it needs to be set to 0.&amp;amp;quot;.
        /// </summary>
        [Input("autoRenewFlag")]
        public Input<int>? AutoRenewFlag { get; set; }

        /// <summary>
        /// Whether to automatically use vouchers for payment, not used by default.
        /// </summary>
        [Input("autoVoucher")]
        public Input<bool>? AutoVoucher { get; set; }

        /// <summary>
        /// &amp;amp;quot;Database engine version, currently available: 8.0.18, 10.1.9, 5.7.17.&amp;amp;quot;&amp;amp;quot;8.0.18 - MySQL 8.0.18;&amp;amp;quot;&amp;amp;quot;10.1.9 - Mariadb 10.1.9;&amp;amp;quot;&amp;amp;quot;5.7.17 - Percona 5.7.17&amp;amp;quot;&amp;amp;quot;If not filled, the default is 5.7.17, which means Percona 5.7.17.&amp;amp;quot;.
        /// </summary>
        [Input("dbVersionId")]
        public Input<string>? DbVersionId { get; set; }

        /// <summary>
        /// DCN source instance ID.
        /// </summary>
        [Input("dcnInstanceId")]
        public Input<string>? DcnInstanceId { get; set; }

        /// <summary>
        /// DCN source region.
        /// </summary>
        [Input("dcnRegion")]
        public Input<string>? DcnRegion { get; set; }

        [Input("initParams")]
        private InputList<Inputs.DbInstanceInitParamGetArgs>? _initParams;

        /// <summary>
        /// &amp;amp;quot;parameter list. The optional values of this interface are:&amp;amp;quot;&amp;amp;quot;character_set_server (character set, must be passed),&amp;amp;quot;&amp;amp;quot;lower_case_table_names (table name is case sensitive, must be passed, 0 - sensitive; 1 - insensitive),&amp;amp;quot;&amp;amp;quot;innodb_page_size (innodb data page, default 16K),&amp;amp;quot;&amp;amp;quot;sync_mode ( Synchronous mode: 0 - asynchronous; 1 - strong synchronous; 2 - strong synchronous degenerate. The default is strong synchronous degenerate)&amp;amp;quot;.
        /// </summary>
        public InputList<Inputs.DbInstanceInitParamGetArgs> InitParams
        {
            get => _initParams ?? (_initParams = new InputList<Inputs.DbInstanceInitParamGetArgs>());
            set => _initParams = value;
        }

        /// <summary>
        /// Instance name, you can set the name of the instance independently through this field.
        /// </summary>
        [Input("instanceName")]
        public Input<string>? InstanceName { get; set; }

        /// <summary>
        /// Whether to support IPv6.
        /// </summary>
        [Input("ipv6Flag")]
        public Input<int>? Ipv6Flag { get; set; }

        /// <summary>
        /// The length of time you want to buy, unit: month.
        /// </summary>
        [Input("period")]
        public Input<int>? Period { get; set; }

        /// <summary>
        /// Project ID, which can be obtained by viewing the project list, if not passed, it will be associated with the default project.
        /// </summary>
        [Input("projectId")]
        public Input<int>? ProjectId { get; set; }

        [Input("resourceTags")]
        private InputList<Inputs.DbInstanceResourceTagGetArgs>? _resourceTags;

        /// <summary>
        /// Array of tag key-value pairs.
        /// </summary>
        public InputList<Inputs.DbInstanceResourceTagGetArgs> ResourceTags
        {
            get => _resourceTags ?? (_resourceTags = new InputList<Inputs.DbInstanceResourceTagGetArgs>());
            set => _resourceTags = value;
        }

        [Input("securityGroupIds")]
        private InputList<string>? _securityGroupIds;

        /// <summary>
        /// Security group ids, the security group can be passed in the form of an array, compatible with the previous SecurityGroupId parameter.
        /// </summary>
        public InputList<string> SecurityGroupIds
        {
            get => _securityGroupIds ?? (_securityGroupIds = new InputList<string>());
            set => _securityGroupIds = value;
        }

        /// <summary>
        /// The number of instance fragments, the optional range is 2-8, and new fragments can be added to a maximum of 64 fragments by upgrading the instance.
        /// </summary>
        [Input("shardCount")]
        public Input<int>? ShardCount { get; set; }

        /// <summary>
        /// &amp;amp;quot;Shard memory size, unit: GB, can pass DescribeShardSpec&amp;amp;quot;&amp;amp;quot;Query the instance specification to obtain.&amp;amp;quot;.
        /// </summary>
        [Input("shardMemory")]
        public Input<int>? ShardMemory { get; set; }

        /// <summary>
        /// &amp;amp;quot;Number of single shard nodes, can pass DescribeShardSpec&amp;amp;quot;&amp;amp;quot;Query the instance specification to obtain.&amp;amp;quot;.
        /// </summary>
        [Input("shardNodeCount")]
        public Input<int>? ShardNodeCount { get; set; }

        /// <summary>
        /// &amp;amp;quot;Shard storage size, unit: GB, can pass DescribeShardSpec&amp;amp;quot;&amp;amp;quot;Query the instance specification to obtain.&amp;amp;quot;.
        /// </summary>
        [Input("shardStorage")]
        public Input<int>? ShardStorage { get; set; }

        /// <summary>
        /// Virtual private network subnet ID, required when VpcId is not empty.
        /// </summary>
        [Input("subnetId")]
        public Input<string>? SubnetId { get; set; }

        [Input("voucherIds")]
        private InputList<string>? _voucherIds;

        /// <summary>
        /// Voucher ID list, currently only supports specifying one voucher.
        /// </summary>
        public InputList<string> VoucherIds
        {
            get => _voucherIds ?? (_voucherIds = new InputList<string>());
            set => _voucherIds = value;
        }

        /// <summary>
        /// Virtual private network ID, if not passed or passed empty, it means that it is created as a basic network.
        /// </summary>
        [Input("vpcId")]
        public Input<string>? VpcId { get; set; }

        [Input("zones")]
        private InputList<string>? _zones;

        /// <summary>
        /// &amp;amp;quot;The availability zone distribution of shard nodes can be filled with up to two availability zones. When the shard specification is one master and two slaves, two of the nodes are in the first availability zone.&amp;amp;quot;&amp;amp;quot;Note that the current availability zone that can be sold needs to be pulled through the DescribeDCDBSaleInfo interface.&amp;amp;quot;.
        /// </summary>
        public InputList<string> Zones
        {
            get => _zones ?? (_zones = new InputList<string>());
            set => _zones = value;
        }

        public DbInstanceState()
        {
        }
    }
}
