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); } }
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); }