Пример #1
0
        public override void ExecuteCmdlet()
        {
            base.ExecuteCmdlet();
            if (ShouldProcess(this.StorageAccountName, "Set Storage Account Management Policy"))
            {
                if ((this.ParameterSetName == AccountObjectPolicyRuleParameterSet) ||
                    (this.ParameterSetName == AccountObjectPolicyObjectParameterSet))
                {
                    this.ResourceGroupName  = StorageAccount.ResourceGroupName;
                    this.StorageAccountName = StorageAccount.StorageAccountName;
                }
                else if ((this.ParameterSetName == AccountResourceIdPolicyRuleParameterSet) ||
                         (this.ParameterSetName == AccountResourceIdPolicyObjectParameterSet))
                {
                    ResourceIdentifier accountResource = new ResourceIdentifier(StorageAccountResourceId);
                    this.ResourceGroupName  = accountResource.ResourceGroupName;
                    this.StorageAccountName = accountResource.ResourceName;
                }
                ManagementPolicy managementPolicy;

                switch (this.ParameterSetName)
                {
                case AccountObjectPolicyRuleParameterSet:
                case AccountNamePolicyRuleParameterSet:
                case AccountResourceIdPolicyRuleParameterSet:
                    managementPolicy = this.StorageClient.ManagementPolicies.CreateOrUpdate(
                        this.ResourceGroupName,
                        this.StorageAccountName,
                        new ManagementPolicySchema(
                            //this.version,
                            PSManagementPolicyRule.ParseManagementPolicyRules(this.Rule)));
                    break;

                case AccountObjectPolicyObjectParameterSet:
                case AccountNamePolicyObjectParameterSet:
                case AccountResourceIdPolicyObjectParameterSet:
                    managementPolicy = this.StorageClient.ManagementPolicies.CreateOrUpdate(
                        this.ResourceGroupName,
                        this.StorageAccountName,
                        new ManagementPolicySchema(
                            //this.Policy.Version,
                            PSManagementPolicyRule.ParseManagementPolicyRules(this.Policy.Rules)));
                    break;

                default:
                    throw new PSArgumentException(string.Format(CultureInfo.InvariantCulture, "Invalid ParameterSet: {0}", this.ParameterSetName));
                }

                WriteObject(new PSManagementPolicy(managementPolicy, this.ResourceGroupName, this.StorageAccountName), true);
            }
        }
Пример #2
0
        public override void ExecuteCmdlet()
        {
            base.ExecuteCmdlet();

            PSManagementPolicyRule rule = new PSManagementPolicyRule()
            {
                Name       = this.Name,
                Enabled    = Disabled.IsPresent ? false : true,
                Definition = new PSManagementPolicyDefinition()
                {
                    Actions = this.Action,
                    Filters = this.Filter
                }
            };

            WriteObject(rule);
        }