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

    [OutputType]
    public sealed class ProjectSecurityProperties
    {
        /// <summary>
        /// Whether to enable download permission check.
        /// </summary>
        public readonly bool? EnableDownloadPrivilege;
        /// <summary>
        /// Label authorization.
        /// </summary>
        public readonly bool? LabelSecurity;
        /// <summary>
        /// Project creator permissions.
        /// </summary>
        public readonly bool? ObjectCreatorHasAccessPermission;
        /// <summary>
        /// Does the project creator have authorization rights.
        /// </summary>
        public readonly bool? ObjectCreatorHasGrantPermission;
        /// <summary>
        /// Project protection.See the following `Block ProjectProtection`.
        /// </summary>
        public readonly Outputs.ProjectSecurityPropertiesProjectProtection? ProjectProtection;
        /// <summary>
        /// Whether to turn on ACL.
        /// </summary>
        public readonly bool? UsingAcl;
        /// <summary>
        /// Whether to enable Policy.
        /// </summary>
        public readonly bool? UsingPolicy;

        [OutputConstructor]
        private ProjectSecurityProperties(
            bool? enableDownloadPrivilege,

            bool? labelSecurity,

            bool? objectCreatorHasAccessPermission,

            bool? objectCreatorHasGrantPermission,

            Outputs.ProjectSecurityPropertiesProjectProtection? projectProtection,

            bool? usingAcl,

            bool? usingPolicy)
        {
            EnableDownloadPrivilege = enableDownloadPrivilege;
            LabelSecurity = labelSecurity;
            ObjectCreatorHasAccessPermission = objectCreatorHasAccessPermission;
            ObjectCreatorHasGrantPermission = objectCreatorHasGrantPermission;
            ProjectProtection = projectProtection;
            UsingAcl = usingAcl;
            UsingPolicy = usingPolicy;
        }
    }
}
