<filename>sdk/dotnet/Hbr/Outputs/GetVaultsVaultResult.cs// *** 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.Hbr.Outputs
{

    [OutputType]
    public sealed class GetVaultsVaultResult
    {
        /// <summary>
        /// The name of the OSS bucket of the Vault.
        /// </summary>
        public readonly string BucketName;
        /// <summary>
        /// The amount of backup data. The unit is Byte.
        /// </summary>
        public readonly string BytesDone;
        /// <summary>
        /// The creation time of the Vault. UNIX time in seconds.
        /// </summary>
        public readonly string CreatedTime;
        /// <summary>
        /// Whether to enable the deduplication function for the database backup Vault.
        /// </summary>
        public readonly bool Dedup;
        /// <summary>
        /// The description of the vault.
        /// </summary>
        public readonly string Description;
        /// <summary>
        /// The ID of vault.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Index available.
        /// </summary>
        public readonly bool IndexAvailable;
        /// <summary>
        /// Index level.
        /// </summary>
        public readonly string IndexLevel;
        /// <summary>
        /// Index update time.
        /// </summary>
        public readonly string IndexUpdateTime;
        /// <summary>
        /// The time of the last remote backup synchronization.
        /// </summary>
        public readonly string LatestReplicationTime;
        /// <summary>
        /// Billing model, possible values:
        /// </summary>
        public readonly string PaymentType;
        /// <summary>
        /// Whether it is a remote backup warehouse. It's a boolean value.
        /// </summary>
        public readonly bool Replication;
        /// <summary>
        /// The region ID to which the remote backup Vault belongs.
        /// </summary>
        public readonly string ReplicationSourceRegionId;
        /// <summary>
        /// The source vault ID of the remote backup Vault.
        /// </summary>
        public readonly string ReplicationSourceVaultId;
        /// <summary>
        /// Warehouse-level data retention days, only valid for archive libraries.
        /// </summary>
        public readonly string Retention;
        /// <summary>
        /// Whether to enable the backup search function.
        /// </summary>
        public readonly bool SearchEnabled;
        public readonly ImmutableArray<string> SourceTypes;
        /// <summary>
        /// The status of Vault. Valid values: `CREATED`, `ERROR`, `UNKNOWN`.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// Backup vault storage usage. The unit is Byte.
        /// </summary>
        public readonly string StorageSize;
        /// <summary>
        /// The update time of the Vault. UNIX time in seconds.
        /// </summary>
        public readonly string UpdatedTime;
        /// <summary>
        /// The ID of vault, same as `id`.
        /// </summary>
        public readonly string VaultId;
        /// <summary>
        /// The name of vault.
        /// </summary>
        public readonly string VaultName;
        /// <summary>
        /// Error status information of Vault. Only valid for remote backup warehouses. Only the remote backup warehouse is valid.
        /// </summary>
        public readonly string VaultStatusMessage;
        /// <summary>
        /// The storage class of vault. Valid values: `STANDARD`.
        /// </summary>
        public readonly string VaultStorageClass;
        /// <summary>
        /// The type of Vault. Valid values: `STANDARD`,`OTS_BACKUP`.
        /// </summary>
        public readonly string VaultType;

        [OutputConstructor]
        private GetVaultsVaultResult(
            string bucketName,

            string bytesDone,

            string createdTime,

            bool dedup,

            string description,

            string id,

            bool indexAvailable,

            string indexLevel,

            string indexUpdateTime,

            string latestReplicationTime,

            string paymentType,

            bool replication,

            string replicationSourceRegionId,

            string replicationSourceVaultId,

            string retention,

            bool searchEnabled,

            ImmutableArray<string> sourceTypes,

            string status,

            string storageSize,

            string updatedTime,

            string vaultId,

            string vaultName,

            string vaultStatusMessage,

            string vaultStorageClass,

            string vaultType)
        {
            BucketName = bucketName;
            BytesDone = bytesDone;
            CreatedTime = createdTime;
            Dedup = dedup;
            Description = description;
            Id = id;
            IndexAvailable = indexAvailable;
            IndexLevel = indexLevel;
            IndexUpdateTime = indexUpdateTime;
            LatestReplicationTime = latestReplicationTime;
            PaymentType = paymentType;
            Replication = replication;
            ReplicationSourceRegionId = replicationSourceRegionId;
            ReplicationSourceVaultId = replicationSourceVaultId;
            Retention = retention;
            SearchEnabled = searchEnabled;
            SourceTypes = sourceTypes;
            Status = status;
            StorageSize = storageSize;
            UpdatedTime = updatedTime;
            VaultId = vaultId;
            VaultName = vaultName;
            VaultStatusMessage = vaultStatusMessage;
            VaultStorageClass = vaultStorageClass;
            VaultType = vaultType;
        }
    }
}
