AfdSecurityPolicy IOperationSource <AfdSecurityPolicy> .CreateResult(Response response, CancellationToken cancellationToken) { using var document = JsonDocument.Parse(response.ContentStream); var data = AfdSecurityPolicyData.DeserializeAfdSecurityPolicyData(document.RootElement); return(new AfdSecurityPolicy(_operationBase, data)); }
internal static SecurityPolicyListResult DeserializeSecurityPolicyListResult(JsonElement element) { Optional <IReadOnlyList <AfdSecurityPolicyData> > value = default; Optional <string> nextLink = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <AfdSecurityPolicyData> array = new List <AfdSecurityPolicyData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(AfdSecurityPolicyData.DeserializeAfdSecurityPolicyData(item)); } value = array; continue; } if (property.NameEquals("nextLink")) { nextLink = property.Value.GetString(); continue; } } return(new SecurityPolicyListResult(Optional.ToList(value), nextLink.Value)); }
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 <AfdSecurityPolicyResource> CreateAfdSecurityPolicy(ProfileResource profile, AfdEndpointResource endpoint, string securityPolicyName) { AfdSecurityPolicyData input = ResourceDataHelper.CreateAfdSecurityPolicyData(endpoint); SecurityPolicyWebApplicationFirewallAssociation securityPolicyWebApplicationFirewallAssociation = new SecurityPolicyWebApplicationFirewallAssociation(); securityPolicyWebApplicationFirewallAssociation.Domains.Add(new ActivatedResourceReference { Id = endpoint.Id }); securityPolicyWebApplicationFirewallAssociation.PatternsToMatch.Add("/*"); ((SecurityPolicyWebApplicationFirewallDefinition)input.Parameters).Associations.Add(securityPolicyWebApplicationFirewallAssociation); var lro = await profile.GetAfdSecurityPolicies().CreateOrUpdateAsync(WaitUntil.Completed, securityPolicyName, input); return(lro.Value); }