public async Task List() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync(); string rgName = Recording.GenerateAssetName("testRg-"); ResourceGroupResource rg = await CreateResourceGroup(subscription, rgName); string policyAssignmentName = Recording.GenerateAssetName("polAssign-"); PolicyAssignmentResource policyAssignment = await CreatePolicyAssignment(rg, policyAssignmentName); string policyExemptionName1 = Recording.GenerateAssetName("polExemp-"); string policyExemptionName2 = Recording.GenerateAssetName("polExemp-"); _ = await CreatePolicyExemption(rg, policyAssignment, policyExemptionName1); _ = await CreatePolicyExemption(rg, policyAssignment, policyExemptionName2); int count = 0; string filter = $"policyAssignmentId eq '{policyAssignment.Id}'"; await foreach (var policyExemption in rg.GetPolicyExemptions().GetAllAsync(filter)) { count++; } Assert.AreEqual(count, 2); }
public async Task CreateOrUpdateAtSubscription() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync(); string policyAssignmentName = Recording.GenerateAssetName("polAssign-"); PolicyAssignmentResource policyAssignment = await CreatePolicyAssignment(subscription, policyAssignmentName); Assert.AreEqual(policyAssignmentName, policyAssignment.Data.Name); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await subscription.GetPolicyAssignments().CreateOrUpdateAsync(WaitUntil.Completed, null, policyAssignment.Data)); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await subscription.GetPolicyAssignments().CreateOrUpdateAsync(WaitUntil.Completed, policyAssignmentName, null)); }
public async Task CreateOrUpdateAtMgmtGroup() { //This test uses a pre-created management group. ManagementGroupResource mgmtGroup = await GetCreatedManagementGroup(); string policyAssignmentName = Recording.GenerateAssetName("polAssign-"); PolicyAssignmentResource policyAssignment = await CreatePolicyAssignment(mgmtGroup, policyAssignmentName); Assert.AreEqual(policyAssignmentName, policyAssignment.Data.Name); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await mgmtGroup.GetPolicyAssignments().CreateOrUpdateAsync(WaitUntil.Completed, null, policyAssignment.Data)); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await mgmtGroup.GetPolicyAssignments().CreateOrUpdateAsync(WaitUntil.Completed, policyAssignmentName, null)); }
public async Task Delete() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync(); string policyAssignmentName = Recording.GenerateAssetName("polAssign-"); PolicyAssignmentResource policyAssignment = await CreatePolicyAssignment(subscription, policyAssignmentName); await policyAssignment.DeleteAsync(WaitUntil.Completed); var ex = Assert.ThrowsAsync <RequestFailedException>(async() => await policyAssignment.GetAsync()); Assert.AreEqual(404, ex.Status); }
public async Task Get() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync(); string rgName = Recording.GenerateAssetName("testRg-"); ResourceGroupResource rg = await CreateResourceGroup(subscription, rgName); string policyAssignmentName = Recording.GenerateAssetName("polAssign-"); PolicyAssignmentResource policyAssignment = await CreatePolicyAssignment(rg, policyAssignmentName); PolicyAssignmentResource getPolicyAssignment = await rg.GetPolicyAssignments().GetAsync(policyAssignmentName); AssertValidPolicyAssignment(policyAssignment, getPolicyAssignment); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await rg.GetPolicyAssignments().GetAsync(null)); }
public async Task CreateOrUpdateAtResource() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync(); string rgName = Recording.GenerateAssetName("testRg-"); ResourceGroupResource rg = await CreateResourceGroup(subscription, rgName); string vnName = Recording.GenerateAssetName("testVn-"); GenericResource vn = await CreateGenericVirtualNetwork(subscription, rg, vnName); string policyAssignmentName = Recording.GenerateAssetName("polAssign-"); PolicyAssignmentResource policyAssignment = await CreatePolicyAssignment(vn, policyAssignmentName); Assert.AreEqual(policyAssignmentName, policyAssignment.Data.Name); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await vn.GetPolicyAssignments().CreateOrUpdateAsync(WaitUntil.Completed, null, policyAssignment.Data)); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await vn.GetPolicyAssignments().CreateOrUpdateAsync(WaitUntil.Completed, policyAssignmentName, null)); }
public async Task CreateOrUpdateAtResourceGroup() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync(); string rgName = Recording.GenerateAssetName("testRg-"); ResourceGroupResource rg = await CreateResourceGroup(subscription, rgName); string policyAssignmentName = Recording.GenerateAssetName("polAssign-"); PolicyAssignmentResource policyAssignment = await CreatePolicyAssignment(rg, policyAssignmentName); string policyExemptionName = Recording.GenerateAssetName("polExemp-"); PolicyExemptionResource policyExemption = await CreatePolicyExemption(rg, policyAssignment, policyExemptionName); Assert.AreEqual(policyExemptionName, policyExemption.Data.Name); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await rg.GetPolicyExemptions().CreateOrUpdateAsync(WaitUntil.Completed, null, policyExemption.Data)); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await rg.GetPolicyExemptions().CreateOrUpdateAsync(WaitUntil.Completed, policyExemptionName, null)); }
private void AssertValidPolicyAssignment(PolicyAssignmentResource model, PolicyAssignmentResource getResult) { Assert.AreEqual(model.Data.Name, getResult.Data.Name); Assert.AreEqual(model.Data.Id, getResult.Data.Id); Assert.AreEqual(model.Data.ResourceType, getResult.Data.ResourceType); Assert.AreEqual(model.Data.Location, getResult.Data.Location); Assert.AreEqual(model.Data.Identity, getResult.Data.Identity); Assert.AreEqual(model.Data.DisplayName, getResult.Data.DisplayName); Assert.AreEqual(model.Data.PolicyDefinitionId, getResult.Data.PolicyDefinitionId); Assert.AreEqual(model.Data.Scope, getResult.Data.Scope); Assert.AreEqual(model.Data.ExcludedScopes, getResult.Data.ExcludedScopes); if (model.Data.Parameters != null || getResult.Data.Parameters != null) { Assert.NotNull(model.Data.Parameters); Assert.NotNull(getResult.Data.Parameters); Assert.AreEqual(model.Data.Parameters.Count, getResult.Data.Parameters.Count); foreach (KeyValuePair <string, ArmPolicyParameterValue> kv in model.Data.Parameters) { Assert.True(getResult.Data.Parameters.ContainsKey(kv.Key)); Assert.AreEqual(kv.Value.Value, getResult.Data.Parameters[kv.Key]); } } Assert.AreEqual(model.Data.Description, getResult.Data.Description); Assert.AreEqual(model.Data.Metadata.ToArray(), getResult.Data.Metadata.ToArray()); Assert.AreEqual(model.Data.EnforcementMode, getResult.Data.EnforcementMode); if (model.Data.NonComplianceMessages != null || getResult.Data.NonComplianceMessages != null) { Assert.NotNull(model.Data.NonComplianceMessages); Assert.NotNull(getResult.Data.NonComplianceMessages); Assert.AreEqual(model.Data.NonComplianceMessages.Count, getResult.Data.NonComplianceMessages.Count); for (int i = 0; i < model.Data.NonComplianceMessages.Count; ++i) { Assert.AreEqual(model.Data.NonComplianceMessages[i].Message, getResult.Data.NonComplianceMessages[i].Message); Assert.AreEqual(model.Data.NonComplianceMessages[i].PolicyDefinitionReferenceId, getResult.Data.NonComplianceMessages[i].PolicyDefinitionReferenceId); } } }
public virtual PolicyAssignmentResource GetPolicyAssignmentResource(ResourceIdentifier id) { PolicyAssignmentResource.ValidateResourceId(id); return(new PolicyAssignmentResource(this, id)); }
protected async Task <PolicyExemptionResource> CreatePolicyExemption(ArmResource armResource, PolicyAssignmentResource policyAssignment, string policyExemptionName) { PolicyExemptionData input = new PolicyExemptionData(policyAssignment.Id, new ExemptionCategory("Waiver")); ArmOperation <PolicyExemptionResource> lro = await armResource.GetPolicyExemptions().CreateOrUpdateAsync(WaitUntil.Completed, policyExemptionName, input); return(lro.Value); }