Esempio n. 1
0
        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);
            }
        }
Esempio n. 3
0
 /// <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);
     }
 }
Esempio n. 4
0
 /// <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());
 }
Esempio n. 5
0
        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);
                }
            }
        }