private static void VerifyOriginGroupUpdated(AFDOriginGroupUpdateParameters parameters, AFDOriginGroup originGroup) { Assert.Equal(parameters.LoadBalancingSettings.SampleSize, originGroup.LoadBalancingSettings.SampleSize); Assert.Equal(parameters.LoadBalancingSettings.SuccessfulSamplesRequired, originGroup.LoadBalancingSettings.SuccessfulSamplesRequired); Assert.Equal(parameters.LoadBalancingSettings.AdditionalLatencyInMilliseconds, originGroup.LoadBalancingSettings.AdditionalLatencyInMilliseconds); Assert.Equal(parameters.HealthProbeSettings.ProbeIntervalInSeconds, originGroup.HealthProbeSettings.ProbeIntervalInSeconds); Assert.Equal(parameters.HealthProbeSettings.ProbePath, originGroup.HealthProbeSettings.ProbePath); Assert.Equal(parameters.HealthProbeSettings.ProbeProtocol, originGroup.HealthProbeSettings.ProbeProtocol); Assert.Equal(parameters.HealthProbeSettings.ProbeRequestType, originGroup.HealthProbeSettings.ProbeRequestType); }
private void UpdateAfdOriginGroup() { try { PSAfdOriginGroup currentPsAfdOriginGroup = this.CdnManagementClient.AFDOriginGroups.Get(this.ResourceGroupName, this.ProfileName, this.OriginGroupName).ToPSAfdOriginGroup(); AFDOriginGroupUpdateParameters afdOriginGroupParameters = new AFDOriginGroupUpdateParameters(); if (ParameterSetName == ObjectParameterSet) { afdOriginGroupParameters.LoadBalancingSettings = this.CreateLoadBalancingSettingsByObject(currentPsAfdOriginGroup, this.OriginGroup); afdOriginGroupParameters.HealthProbeSettings = this.CreateHealthProbeSettingsByObject(currentPsAfdOriginGroup, this.OriginGroup); } else { // availability of load balancing settings parameters bool isSampleSize = this.MyInvocation.BoundParameters.ContainsKey("SampleSize"); bool isSuccessfulSampleRequired = this.MyInvocation.BoundParameters.ContainsKey("SuccessfulSamplesRequired"); bool isAdditionalLatencyInMilliseconds = this.MyInvocation.BoundParameters.ContainsKey("AdditionalLatencyInMillisecond"); // availability of health probe settings parameters bool isProbePath = this.MyInvocation.BoundParameters.ContainsKey("ProbePath"); bool isProbeRequestType = this.MyInvocation.BoundParameters.ContainsKey("ProbeRequestType"); bool isProbeProtocol = this.MyInvocation.BoundParameters.ContainsKey("ProbeProtocol"); bool isProbeIntervalInSeconds = this.MyInvocation.BoundParameters.ContainsKey("ProbeIntervalInSeconds"); // availability of parameters on the origin group bool isTrafficRestorationTimeToHealedOrNewEndpointsInMinutes = this.MyInvocation.BoundParameters.ContainsKey("TrafficRestorationTimeToHealedOrNewEndpointsInMinutes"); afdOriginGroupParameters.LoadBalancingSettings = this.CreateLoadBalancingSettingsByFields(currentPsAfdOriginGroup, isSampleSize, isSuccessfulSampleRequired, isAdditionalLatencyInMilliseconds); afdOriginGroupParameters.HealthProbeSettings = this.CreateHealthProbeSettingsByFields(currentPsAfdOriginGroup, isProbePath, isProbeRequestType, isProbeProtocol, isProbeIntervalInSeconds); if (isTrafficRestorationTimeToHealedOrNewEndpointsInMinutes) { afdOriginGroupParameters.TrafficRestorationTimeToHealedOrNewEndpointsInMinutes = this.TrafficRestorationTimeToHealedOrNewEndpointsInMinutes; } } PSAfdOriginGroup updatedPsAfdOriginGroup = this.CdnManagementClient.AFDOriginGroups.Update(this.ResourceGroupName, this.ProfileName, this.OriginGroupName, afdOriginGroupParameters).ToPSAfdOriginGroup(); WriteObject(updatedPsAfdOriginGroup); } catch (AfdErrorResponseException errorResponse) { throw new PSArgumentException(errorResponse.Response.Content); } }
/// <summary> /// Updates an existing origin group within a profile. /// </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='originGroupName'> /// Name of the origin group which is unique within the profile. /// </param> /// <param name='originGroupUpdateProperties'> /// Origin group properties /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <AFDOriginGroup> BeginUpdateAsync(this IAFDOriginGroupsOperations operations, string resourceGroupName, string profileName, string originGroupName, AFDOriginGroupUpdateParameters originGroupUpdateProperties, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BeginUpdateWithHttpMessagesAsync(resourceGroupName, profileName, originGroupName, originGroupUpdateProperties, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Updates an existing origin group within a profile. /// </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='originGroupName'> /// Name of the origin group which is unique within the profile. /// </param> /// <param name='originGroupUpdateProperties'> /// Origin group properties /// </param> public static AFDOriginGroup BeginUpdate(this IAFDOriginGroupsOperations operations, string resourceGroupName, string profileName, string originGroupName, AFDOriginGroupUpdateParameters originGroupUpdateProperties) { return(operations.BeginUpdateAsync(resourceGroupName, profileName, originGroupName, originGroupUpdateProperties).GetAwaiter().GetResult()); }
public void AFDOriginGroupUpdateTest() { var handler1 = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; var handler2 = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (MockContext context = MockContext.Start(this.GetType())) { // Create clients var cdnMgmtClient = CdnTestUtilities.GetCdnManagementClient(context, handler1); var resourcesClient = CdnTestUtilities.GetResourceManagementClient(context, handler2); // Create resource group var resourceGroupName = CdnTestUtilities.CreateResourceGroup(resourcesClient); try { // Create a standard Azure frontdoor profile string profileName = TestUtilities.GenerateName("profile"); Profile createParameters = new Profile { Location = "WestUs", Sku = new Sku { Name = SkuName.StandardAzureFrontDoor }, Tags = new Dictionary <string, string> { { "key1", "value1" }, { "key2", "value2" } } }; var profile = cdnMgmtClient.Profiles.Create(resourceGroupName, profileName, createParameters); string originGroupName = TestUtilities.GenerateName("originGroupName"); var originGroupCreateParameters = new AFDOriginGroup(name: originGroupName) { }; var originGroup = cdnMgmtClient.AFDOriginGroups.Create(resourceGroupName, profileName, originGroupName, originGroupCreateParameters); Assert.NotNull(originGroup); var originGroupUpdateProperties = new AFDOriginGroupUpdateParameters { LoadBalancingSettings = new LoadBalancingSettingsParameters { SampleSize = 5, SuccessfulSamplesRequired = 4, AdditionalLatencyInMilliseconds = 200, }, HealthProbeSettings = new HealthProbeParameters { ProbeIntervalInSeconds = 1, ProbePath = "/", ProbeProtocol = ProbeProtocol.Https, ProbeRequestType = HealthProbeRequestType.GET }, }; var updateOriginGroup = cdnMgmtClient.AFDOriginGroups.Update(resourceGroupName, profileName, originGroupName, originGroupUpdateProperties); VerifyOriginGroupUpdated(originGroupUpdateProperties, updateOriginGroup); } finally { // Delete resource group _ = CdnTestUtilities.DeleteResourceGroupAsync(resourcesClient, resourceGroupName); } } }