コード例 #1
0
        public async Task Get()
        {
            SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync();

            string policyDefinitionName = Recording.GenerateAssetName("polDef-");
            SubscriptionPolicyDefinitionResource policyDefinition = await CreatePolicyDefinitionAtSubscription(subscription, policyDefinitionName);

            SubscriptionPolicyDefinitionResource getPolicyDefinition = await subscription.GetSubscriptionPolicyDefinitions().GetAsync(policyDefinitionName);

            AssertValidPolicyDefinition(policyDefinition, getPolicyDefinition);
        }
コード例 #2
0
        public async Task CreateOrUpdateAtSubscription()
        {
            SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync();

            string policyDefinitionName = Recording.GenerateAssetName("polDef-");
            SubscriptionPolicyDefinitionResource policyDefinition = await CreatePolicyDefinitionAtSubscription(subscription, policyDefinitionName);

            Assert.AreEqual(policyDefinitionName, policyDefinition.Data.Name);
            Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await subscription.GetSubscriptionPolicyDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, null, policyDefinition.Data));
            Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await subscription.GetSubscriptionPolicyDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, policyDefinitionName, null));
            await policyDefinition.DeleteAsync(WaitUntil.Completed);
        }
コード例 #3
0
        public async Task Delete()
        {
            SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync();

            string policyDefinitionName = Recording.GenerateAssetName("polDef-");
            SubscriptionPolicyDefinitionResource policyDefinition = await CreatePolicyDefinitionAtSubscription(subscription, policyDefinitionName);

            await policyDefinition.DeleteAsync(WaitUntil.Completed);

            var ex = Assert.ThrowsAsync <RequestFailedException>(async() => await policyDefinition.GetAsync());

            Assert.AreEqual(404, ex.Status);
        }
コード例 #4
0
        public async Task List()
        {
            SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync();

            string policyDefinitionName = Recording.GenerateAssetName("polDef-");
            SubscriptionPolicyDefinitionResource policyDefinition = await CreatePolicyDefinitionAtSubscription(subscription, policyDefinitionName);

            int count = 0;

            await foreach (var tempPolicyDefinition in subscription.GetSubscriptionPolicyDefinitions().GetAllAsync())
            {
                count++;
            }
            Assert.Greater(count, 0);
        }
コード例 #5
0
 private static void AssertValidPolicyDefinition(SubscriptionPolicyDefinitionResource model, SubscriptionPolicyDefinitionResource 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.PolicyType, getResult.Data.PolicyType);
     Assert.AreEqual(model.Data.Mode, getResult.Data.Mode);
     Assert.AreEqual(model.Data.DisplayName, getResult.Data.DisplayName);
     Assert.AreEqual(model.Data.Description, getResult.Data.Description);
     Assert.AreEqual(model.Data.PolicyRule.ToArray(), getResult.Data.PolicyRule.ToArray());
     Assert.AreEqual(model.Data.Metadata.ToArray(), getResult.Data.Metadata.ToArray());
     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, ArmPolicyParameter> kvp in model.Data.Parameters)
         {
             Assert.AreEqual(getResult.Data.Parameters.ContainsKey(kvp.Key), true);
             ArmPolicyParameter getParameterDefinitionsValue = getResult.Data.Parameters[kvp.Key];
             Assert.AreEqual(kvp.Value.ParameterType, getParameterDefinitionsValue.ParameterType);
             if (kvp.Value.AllowedValues != null || getParameterDefinitionsValue.AllowedValues != null)
             {
                 Assert.NotNull(kvp.Value.AllowedValues);
                 Assert.NotNull(getParameterDefinitionsValue.AllowedValues);
                 Assert.AreEqual(kvp.Value.AllowedValues.Count, getParameterDefinitionsValue.AllowedValues.Count);
                 for (int i = 0; i < kvp.Value.AllowedValues.Count; ++i)
                 {
                     Assert.AreEqual(kvp.Value.AllowedValues[i], getParameterDefinitionsValue.AllowedValues[i]);
                 }
             }
             Assert.AreEqual(kvp.Value.DefaultValue, getParameterDefinitionsValue.DefaultValue);
             if (kvp.Value.Metadata != null || getParameterDefinitionsValue.Metadata != null)
             {
                 Assert.NotNull(kvp.Value.Metadata);
                 Assert.NotNull(getParameterDefinitionsValue.Metadata);
                 Assert.AreEqual(kvp.Value.Metadata.DisplayName, getParameterDefinitionsValue.Metadata.DisplayName);
                 Assert.AreEqual(kvp.Value.Metadata.Description, getParameterDefinitionsValue.Metadata.Description);
                 Assert.AreEqual(kvp.Value.Metadata.StrongType, getParameterDefinitionsValue.Metadata.StrongType);
                 Assert.AreEqual(kvp.Value.Metadata.AssignPermissions, getParameterDefinitionsValue.Metadata.AssignPermissions);
                 Assert.AreEqual(kvp.Value.Metadata.AdditionalProperties, getParameterDefinitionsValue.Metadata.AdditionalProperties);
             }
         }
     }
 }
コード例 #6
0
        //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;
        //}

        protected async Task <SubscriptionPolicySetDefinitionResource> CreatePolicySetDefinitionAtSubscription(SubscriptionResource subscription, SubscriptionPolicyDefinitionResource policyDefinition, string policySetDefinitionName)
        {
            PolicySetDefinitionData input = new PolicySetDefinitionData
            {
                DisplayName       = $"Test ${policySetDefinitionName}",
                PolicyDefinitions = { new PolicyDefinitionReference(policyDefinition.Id) }
            };
            ArmOperation <SubscriptionPolicySetDefinitionResource> lro = await subscription.GetSubscriptionPolicySetDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, policySetDefinitionName, input);

            return(lro.Value);
        }
コード例 #7
0
 public virtual SubscriptionPolicyDefinitionResource GetSubscriptionPolicyDefinitionResource(ResourceIdentifier id)
 {
     SubscriptionPolicyDefinitionResource.ValidateResourceId(id);
     return(new SubscriptionPolicyDefinitionResource(this, id));
 }