<reponame>rhysmdnz/pulumi-alicloud-rhys-hacks<filename>sdk/dotnet/Ecs/Outputs/GetAutoSnapshotPoliciesPolicyResult.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.Ecs.Outputs
{

    [OutputType]
    public sealed class GetAutoSnapshotPoliciesPolicyResult
    {
        /// <summary>
        /// The ID of the Auto Snapshot Policy.
        /// </summary>
        public readonly string AutoSnapshotPolicyId;
        /// <summary>
        /// The retention period of the snapshot copied across regions.
        /// </summary>
        public readonly int CopiedSnapshotsRetentionDays;
        /// <summary>
        /// The number of disks to which the automatic snapshot policy is applied.
        /// </summary>
        public readonly int DiskNums;
        /// <summary>
        /// Specifies whether to enable the system to automatically copy snapshots across regions.
        /// </summary>
        public readonly bool EnableCrossRegionCopy;
        /// <summary>
        /// The ID of the Auto Snapshot Policy.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The snapshot policy name..
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// The automatic snapshot repetition dates.
        /// </summary>
        public readonly ImmutableArray<string> RepeatWeekdays;
        /// <summary>
        /// The snapshot retention time, and the unit of measurement is day.
        /// </summary>
        public readonly int RetentionDays;
        /// <summary>
        /// The status of Auto Snapshot Policy.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// A mapping of tags to assign to the resource.
        /// </summary>
        public readonly ImmutableDictionary<string, object> Tags;
        /// <summary>
        /// The destination region to which the snapshot is copied.
        /// </summary>
        public readonly ImmutableArray<string> TargetCopyRegions;
        /// <summary>
        /// The automatic snapshot creation schedule, and the unit of measurement is hour.
        /// </summary>
        public readonly ImmutableArray<string> TimePoints;
        /// <summary>
        /// The number of extended volumes on which this policy is enabled.
        /// </summary>
        public readonly int VolumeNums;

        [OutputConstructor]
        private GetAutoSnapshotPoliciesPolicyResult(
            string autoSnapshotPolicyId,

            int copiedSnapshotsRetentionDays,

            int diskNums,

            bool enableCrossRegionCopy,

            string id,

            string name,

            ImmutableArray<string> repeatWeekdays,

            int retentionDays,

            string status,

            ImmutableDictionary<string, object> tags,

            ImmutableArray<string> targetCopyRegions,

            ImmutableArray<string> timePoints,

            int volumeNums)
        {
            AutoSnapshotPolicyId = autoSnapshotPolicyId;
            CopiedSnapshotsRetentionDays = copiedSnapshotsRetentionDays;
            DiskNums = diskNums;
            EnableCrossRegionCopy = enableCrossRegionCopy;
            Id = id;
            Name = name;
            RepeatWeekdays = repeatWeekdays;
            RetentionDays = retentionDays;
            Status = status;
            Tags = tags;
            TargetCopyRegions = targetCopyRegions;
            TimePoints = timePoints;
            VolumeNums = volumeNums;
        }
    }
}
