// *** 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.Cos.Outputs
{

    [OutputType]
    public sealed class GetBucketsBucketListResult
    {
        /// <summary>
        /// Bucket access control configurations.
        /// </summary>
        public readonly string Acl;
        /// <summary>
        /// Bucket verbose acl configurations.
        /// </summary>
        public readonly string AclBody;
        /// <summary>
        /// Bucket name, the format likes `&lt;bucket&gt;-&lt;appid&gt;`.
        /// </summary>
        public readonly string Bucket;
        /// <summary>
        /// A list of CORS rule configurations.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetBucketsBucketListCorsRuleResult> CorsRules;
        /// <summary>
        /// The URL of this cos bucket.
        /// </summary>
        public readonly string CosBucketUrl;
        /// <summary>
        /// The lifecycle configuration of a bucket.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetBucketsBucketListLifecycleRuleResult> LifecycleRules;
        /// <summary>
        /// Bucket origin domain rules.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetBucketsBucketListOriginDomainRuleResult> OriginDomainRules;
        /// <summary>
        /// Bucket Origin-Pull rules.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetBucketsBucketListOriginPullRuleResult> OriginPullRules;
        /// <summary>
        /// Tags to filter bucket.
        /// </summary>
        public readonly ImmutableDictionary<string, object> Tags;
        /// <summary>
        /// A list of one element containing configuration parameters used when the bucket is used as a website.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetBucketsBucketListWebsiteResult> Websites;

        [OutputConstructor]
        private GetBucketsBucketListResult(
            string acl,

            string aclBody,

            string bucket,

            ImmutableArray<Outputs.GetBucketsBucketListCorsRuleResult> corsRules,

            string cosBucketUrl,

            ImmutableArray<Outputs.GetBucketsBucketListLifecycleRuleResult> lifecycleRules,

            ImmutableArray<Outputs.GetBucketsBucketListOriginDomainRuleResult> originDomainRules,

            ImmutableArray<Outputs.GetBucketsBucketListOriginPullRuleResult> originPullRules,

            ImmutableDictionary<string, object> tags,

            ImmutableArray<Outputs.GetBucketsBucketListWebsiteResult> websites)
        {
            Acl = acl;
            AclBody = aclBody;
            Bucket = bucket;
            CorsRules = corsRules;
            CosBucketUrl = cosBucketUrl;
            LifecycleRules = lifecycleRules;
            OriginDomainRules = originDomainRules;
            OriginPullRules = originPullRules;
            Tags = tags;
            Websites = websites;
        }
    }
}
