private void UpdateAfdRoute() { try { PSAfdRoute currentPsAfdRoute = this.CdnManagementClient.Routes.Get(this.ResourceGroupName, this.ProfileName, this.EndpointName, this.RouteName).ToPSAfdRoute(); RouteUpdateParameters afdRouteUpdateParameters = new RouteUpdateParameters(); if (ParameterSetName == FieldsParameterSet) { afdRouteUpdateParameters = this.CreateAfdRouteUpdateByFields(currentPsAfdRoute); } PSAfdRoute updatedPsAfdRoute = this.CdnManagementClient.Routes.Update(this.ResourceGroupName, this.ProfileName, this.EndpointName, this.RouteName, afdRouteUpdateParameters).ToPSAfdRoute(); WriteObject(updatedPsAfdRoute); } catch (AfdErrorResponseException errorResponse) { throw new PSArgumentException(errorResponse.Response.Content); } }
private RouteUpdateParameters CreateAfdRouteUpdateByFields(PSAfdRoute currentPsAfdRoute) { bool isCustomDomainId = this.MyInvocation.BoundParameters.ContainsKey("CustomDomainId"); bool isSupportedProtocols = this.MyInvocation.BoundParameters.ContainsKey("SupportedProtocol"); bool isHttpsRedirect = this.MyInvocation.BoundParameters.ContainsKey("HttpsRedirect"); bool isOriginGroupId = this.MyInvocation.BoundParameters.ContainsKey("OriginGroupId"); bool isOriginPath = this.MyInvocation.BoundParameters.ContainsKey("OriginPath"); bool isForwardingProtocol = this.MyInvocation.BoundParameters.ContainsKey("ForwardingProtocol"); bool isQueryStringCachingBehavior = this.MyInvocation.BoundParameters.ContainsKey("QueryStringCachingBehavior"); bool isRuleSetIds = this.MyInvocation.BoundParameters.ContainsKey("RuleSetId"); RouteUpdateParameters afdRouteUpdateParameters = new RouteUpdateParameters { CustomDomains = currentPsAfdRoute.CustomDomainIds, SupportedProtocols = currentPsAfdRoute.SupportedProtocols, HttpsRedirect = currentPsAfdRoute.HttpsRedirect, OriginGroup = new ResourceReference(currentPsAfdRoute.OriginGroupId), OriginPath = currentPsAfdRoute.OriginPath, ForwardingProtocol = currentPsAfdRoute.ForwardingProtocol, RuleSets = currentPsAfdRoute.RuleSetIds, QueryStringCachingBehavior = AfdUtilities.CreateQueryStringCachingBehavior(currentPsAfdRoute.QueryStringCachingBehavior) }; if (isCustomDomainId) { foreach (string customDomainId in this.CustomDomainId) { afdRouteUpdateParameters.CustomDomains.Add(new ResourceReference(customDomainId)); } } if (isSupportedProtocols) { afdRouteUpdateParameters.SupportedProtocols = this.SupportedProtocol; } if (isHttpsRedirect) { afdRouteUpdateParameters.HttpsRedirect = AfdUtilities.CreateHttpsRedirect(this.HttpsRedirect); } if (isOriginGroupId) { afdRouteUpdateParameters.OriginGroup = new ResourceReference(this.OriginGroupId); } if (isOriginPath) { afdRouteUpdateParameters.OriginPath = this.OriginPath; } if (isForwardingProtocol) { afdRouteUpdateParameters.ForwardingProtocol = AfdUtilities.CreateForwardingProtocol(this.ForwardingProtocol); } if (isQueryStringCachingBehavior) { afdRouteUpdateParameters.QueryStringCachingBehavior = AfdUtilities.CreateQueryStringCachingBehavior(this.QueryStringCachingBehavior); } if (isRuleSetIds) { foreach (string ruleSetId in this.RuleSetId) { afdRouteUpdateParameters.RuleSets.Add(new ResourceReference(ruleSetId)); } } return(afdRouteUpdateParameters); }
/// <summary> /// Updates an existing route with the specified route name under the specified /// subscription, resource group, profile, and AzureFrontDoor endpoint. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// Name of the Resource group within the Azure subscription. /// </param> /// <param name='profileName'> /// Name of the CDN profile which is unique within the resource group. /// </param> /// <param name='endpointName'> /// Name of the endpoint under the profile which is unique globally. /// </param> /// <param name='routeName'> /// Name of the routing rule. /// </param> /// <param name='routeUpdateProperties'> /// Route update properties /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <Route> BeginUpdateAsync(this IRoutesOperations operations, string resourceGroupName, string profileName, string endpointName, string routeName, RouteUpdateParameters routeUpdateProperties, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BeginUpdateWithHttpMessagesAsync(resourceGroupName, profileName, endpointName, routeName, routeUpdateProperties, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Updates an existing route with the specified route name under the specified /// subscription, resource group, profile, and AzureFrontDoor endpoint. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// Name of the Resource group within the Azure subscription. /// </param> /// <param name='profileName'> /// Name of the CDN profile which is unique within the resource group. /// </param> /// <param name='endpointName'> /// Name of the endpoint under the profile which is unique globally. /// </param> /// <param name='routeName'> /// Name of the routing rule. /// </param> /// <param name='routeUpdateProperties'> /// Route update properties /// </param> public static Route BeginUpdate(this IRoutesOperations operations, string resourceGroupName, string profileName, string endpointName, string routeName, RouteUpdateParameters routeUpdateProperties) { return(operations.BeginUpdateAsync(resourceGroupName, profileName, endpointName, routeName, routeUpdateProperties).GetAwaiter().GetResult()); }