Beispiel #1
0
        public override void ExecuteCmdlet()
        {
            string processMessage = string.Empty;
            string target         = string.Empty;

            switch (this.ParameterSetName)
            {
            case UserCatalogParameterSetName:
            case GroupCatalogParameterSetName:
                processMessage = string.Format(Resources.RemoveDataLakeAnalyticsCatalogAcl, Account);
                target         = Account;
                break;

            case UserCatalogItemParameterSetName:
            case GroupCatalogItemParameterSetName:
                processMessage = string.Format(Resources.RemoveDataLakeAnalyticsCatalogItemAcl, Path.FullCatalogItemPath);
                target         = Path.FullCatalogItemPath ?? Account;
                break;

            default: throw new ArgumentException($"Invalid parameter set: {this.ParameterSetName}");
            }

            string aceType = string.Empty;

            switch (this.ParameterSetName)
            {
            case UserCatalogParameterSetName:
            case UserCatalogItemParameterSetName: aceType = AclType.User; break;

            case GroupCatalogParameterSetName:
            case GroupCatalogItemParameterSetName: aceType = AclType.Group; break;

            default: throw new ArgumentException($"Invalid parameter set: {this.ParameterSetName}");
            }

            ConfirmAction(
                processMessage,
                target,
                () =>
            {
                DataLakeAnalyticsClient.RemoveCatalogItemAclEntry(Account, Path, ItemType, aceType, ObjectId);
                if (PassThru)
                {
                    WriteObject(true);
                }
            });
        }