public async Task CreateAfdRules() { #region Snippet:Managing_AfdRules_CreateAnAzureFrontDoorRule // Create a new azure front door profile string AfdProfileName = "myAfdProfile"; var input1 = new ProfileData("Global", new CdnSku { Name = CdnSkuName.StandardAzureFrontDoor }); ArmOperation <ProfileResource> lro1 = await resourceGroup.GetProfiles().CreateOrUpdateAsync(WaitUntil.Completed, AfdProfileName, input1); ProfileResource AfdProfileResource = lro1.Value; // Get the rule set collection from the specific azure front door ProfileResource and create a rule set string ruleSetName = "myAfdRuleSet"; ArmOperation <FrontDoorRuleSetResource> lro2 = await AfdProfileResource.GetFrontDoorRuleSets().CreateOrUpdateAsync(WaitUntil.Completed, ruleSetName); FrontDoorRuleSetResource ruleSet = lro2.Value; // Get the rule collection from the specific rule set and create a rule string ruleName = "myAfdRule"; FrontDoorRuleData input3 = new FrontDoorRuleData { Order = 1 }; input3.Conditions.Add(new DeliveryRuleRequestUriCondition(new RequestUriMatchCondition(RequestUriMatchConditionType.RequestUriCondition, RequestUriOperator.Any))); input3.Actions.Add(new DeliveryRuleCacheExpirationAction(new CacheExpirationActionProperties(CacheExpirationActionType.CacheExpirationAction, CacheBehaviorSetting.Override, CacheLevel.All) { CacheDuration = new TimeSpan(0, 0, 20) })); ArmOperation <FrontDoorRuleResource> lro3 = await ruleSet.GetFrontDoorRules().CreateOrUpdateAsync(WaitUntil.Completed, ruleName, input3); FrontDoorRuleResource rule = lro3.Value; #endregion Snippet:Managing_AfdRules_CreateAnAzureFrontDoorRule }
internal static RuleListResult DeserializeRuleListResult(JsonElement element) { Optional <IReadOnlyList <FrontDoorRuleData> > 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 <FrontDoorRuleData> array = new List <FrontDoorRuleData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(FrontDoorRuleData.DeserializeFrontDoorRuleData(item)); } value = array; continue; } if (property.NameEquals("nextLink")) { nextLink = property.Value.GetString(); continue; } } return(new RuleListResult(Optional.ToList(value), nextLink.Value)); }
protected async Task <FrontDoorRuleResource> CreateAfdRule(FrontDoorRuleSetResource ruleSet, string ruleName) { FrontDoorRuleData input = ResourceDataHelper.CreateAfdRuleData(); DeliveryRuleCondition deliveryRuleCondition = ResourceDataHelper.CreateDeliveryRuleCondition(); DeliveryRuleAction deliveryRuleAction = ResourceDataHelper.CreateDeliveryRuleOperation(); input.Conditions.Add(deliveryRuleCondition); input.Actions.Add(deliveryRuleAction); var lro = await ruleSet.GetFrontDoorRules().CreateOrUpdateAsync(WaitUntil.Completed, ruleName, input); return(lro.Value); }