private void CreateAfdSecurityPolicy() { try { SecurityPolicyWebApplicationFirewallParameters securityPolicyParameters = new SecurityPolicyWebApplicationFirewallParameters(); securityPolicyParameters.WafPolicy = new ResourceReference(this.WafPolicyId); securityPolicyParameters.Associations = new List <SecurityPolicyWebApplicationFirewallAssociation>(); SecurityPolicyWebApplicationFirewallAssociation securityPolicyWebApplicationFirewallAssociation = new SecurityPolicyWebApplicationFirewallAssociation(); securityPolicyWebApplicationFirewallAssociation.Domains = new List <ResourceReference>(); securityPolicyWebApplicationFirewallAssociation.PatternsToMatch = new List <string> { "/*", }; foreach (string domainId in this.DomainId) { ResourceReference resourceReference = new ResourceReference(domainId); securityPolicyWebApplicationFirewallAssociation.Domains.Add(resourceReference); } securityPolicyParameters.Associations.Add(securityPolicyWebApplicationFirewallAssociation); PSAfdSecurityPolicy psAfdSecurityPolicy = this.CdnManagementClient.SecurityPolicies.Create(this.ResourceGroupName, this.ProfileName, this.SecurityPolicyName, securityPolicyParameters).ToPSAfdSecurityPolicy(); WriteObject(psAfdSecurityPolicy); } catch (AfdErrorResponseException errorResponse) { throw new PSArgumentException(errorResponse.Response.Content); } }
private SecurityPolicyWebApplicationFirewallParameters CreateSecurityPolicyWafParametersByFields(PSAfdSecurityPolicy currentSecurityPolicy) { bool isWafPolicy = this.MyInvocation.BoundParameters.ContainsKey("WafPolicyId"); bool isDomainIds = this.MyInvocation.BoundParameters.ContainsKey("DomainId"); SecurityPolicyWebApplicationFirewallParameters securityPolicyWafParameters = new SecurityPolicyWebApplicationFirewallParameters { WafPolicy = new ResourceReference(currentSecurityPolicy.WafPolicyId), Associations = new List <SecurityPolicyWebApplicationFirewallAssociation>() }; SecurityPolicyWebApplicationFirewallAssociation securityPolicyWafAssociation = new SecurityPolicyWebApplicationFirewallAssociation(); securityPolicyWafAssociation.Domains = currentSecurityPolicy.Domains; securityPolicyWafAssociation.PatternsToMatch = currentSecurityPolicy.PatternsToMatch; securityPolicyWafParameters.Associations.Add(securityPolicyWafAssociation); if (isWafPolicy) { securityPolicyWafParameters.WafPolicy = new ResourceReference(this.WafPolicyId); } return(securityPolicyWafParameters); }
protected async Task <AfdSecurityPolicy> CreateAfdSecurityPolicy(Profile profile, AfdEndpoint endpoint, string securityPolicyName) { AfdSecurityPolicyData input = ResourceDataHelper.CreateAfdSecurityPolicyData(endpoint); SecurityPolicyWebApplicationFirewallAssociation securityPolicyWebApplicationFirewallAssociation = new SecurityPolicyWebApplicationFirewallAssociation(); securityPolicyWebApplicationFirewallAssociation.Domains.Add(new WritableSubResource { Id = endpoint.Id }); securityPolicyWebApplicationFirewallAssociation.PatternsToMatch.Add("/*"); ((SecurityPolicyWebApplicationFirewallParameters)input.Parameters).Associations.Add(securityPolicyWebApplicationFirewallAssociation); var lro = await profile.GetAfdSecurityPolicies().CreateOrUpdateAsync(true, securityPolicyName, input); return(lro.Value); }
protected async Task <FrontDoorSecurityPolicyResource> CreateAfdSecurityPolicy(ProfileResource profile, FrontDoorEndpointResource endpoint, string securityPolicyName) { FrontDoorSecurityPolicyData input = ResourceDataHelper.CreateAfdSecurityPolicyData(endpoint); SecurityPolicyWebApplicationFirewallAssociation securityPolicyWebApplicationFirewallAssociation = new SecurityPolicyWebApplicationFirewallAssociation(); securityPolicyWebApplicationFirewallAssociation.Domains.Add(new FrontDoorActivatedResourceInfo { Id = endpoint.Id }); securityPolicyWebApplicationFirewallAssociation.PatternsToMatch.Add("/*"); ((SecurityPolicyWebApplicationFirewall)input.Properties).Associations.Add(securityPolicyWebApplicationFirewallAssociation); var lro = await profile.GetFrontDoorSecurityPolicies().CreateOrUpdateAsync(WaitUntil.Completed, securityPolicyName, input); return(lro.Value); }
public async Task Update() { Subscription subscription = await Client.GetDefaultSubscriptionAsync(); ResourceGroup rg = await CreateResourceGroup(subscription, "testRg-"); string afdProfileName = Recording.GenerateAssetName("AFDProfile-"); Profile afdProfile = await CreateAfdProfile(rg, afdProfileName, SkuName.StandardAzureFrontDoor); string afdEndpointName1 = Recording.GenerateAssetName("AFDEndpoint-"); AfdEndpoint afdEndpointInstance1 = await CreateAfdEndpoint(afdProfile, afdEndpointName1); string afdSecurityPolicyName = Recording.GenerateAssetName("AFDSecurityPolicy-"); AfdSecurityPolicy afdSecurityPolicy = await CreateAfdSecurityPolicy(afdProfile, afdEndpointInstance1, afdSecurityPolicyName); string afdEndpointName2 = Recording.GenerateAssetName("AFDEndpoint-"); AfdEndpoint afdEndpointInstance2 = await CreateAfdEndpoint(afdProfile, afdEndpointName2); SecurityPolicyProperties updateOptions = new SecurityPolicyProperties { Parameters = new SecurityPolicyWebApplicationFirewallParameters { WafPolicy = new WritableSubResource { Id = new ResourceIdentifier("/subscriptions/f3d94233-a9aa-4241-ac82-2dfb63ce637a/resourceGroups/CdnTest/providers/Microsoft.Network/frontdoorWebApplicationFirewallPolicies/testAFDWaf") } } }; SecurityPolicyWebApplicationFirewallAssociation securityPolicyWebApplicationFirewallAssociation = new SecurityPolicyWebApplicationFirewallAssociation(); securityPolicyWebApplicationFirewallAssociation.Domains.Add(new WritableSubResource { Id = afdEndpointInstance1.Id }); securityPolicyWebApplicationFirewallAssociation.Domains.Add(new WritableSubResource { Id = afdEndpointInstance2.Id }); securityPolicyWebApplicationFirewallAssociation.PatternsToMatch.Add("/*"); ((SecurityPolicyWebApplicationFirewallParameters)updateOptions.Parameters).Associations.Add(securityPolicyWebApplicationFirewallAssociation); var lro = await afdSecurityPolicy.UpdateAsync(updateOptions); AfdSecurityPolicy updatedSecurityPolicy = lro.Value; ResourceDataHelper.AssertAfdSecurityPolicyUpdate(updatedSecurityPolicy, updateOptions); }
private SecurityPolicyWebApplicationFirewallParameters CreateSecurityPolicyWafParametersByObject(PSAfdSecurityPolicy currentSecurityPolicy) { SecurityPolicyWebApplicationFirewallParameters securityPolicyWafParameters = new SecurityPolicyWebApplicationFirewallParameters { WafPolicy = new ResourceReference(currentSecurityPolicy.WafPolicyId), Associations = new List <SecurityPolicyWebApplicationFirewallAssociation>() }; SecurityPolicyWebApplicationFirewallAssociation securityPolicyWafAssociation = new SecurityPolicyWebApplicationFirewallAssociation(); securityPolicyWafAssociation.Domains = currentSecurityPolicy.Domains; securityPolicyWafAssociation.PatternsToMatch = currentSecurityPolicy.PatternsToMatch; securityPolicyWafParameters.Associations.Add(securityPolicyWafAssociation); if (currentSecurityPolicy.WafPolicyId != this.SecurityPolicy.WafPolicyId) { securityPolicyWafParameters.WafPolicy = new ResourceReference(this.SecurityPolicy.WafPolicyId); } return(securityPolicyWafParameters); }