public virtual CdnOriginGroupUpdateOperation Update(bool waitForCompletion, OriginGroupUpdateOptions originGroupUpdateProperties, CancellationToken cancellationToken = default) { if (originGroupUpdateProperties == null) { throw new ArgumentNullException(nameof(originGroupUpdateProperties)); } using var scope = _clientDiagnostics.CreateScope("CdnOriginGroup.Update"); scope.Start(); try { var response = _cdnOriginGroupsRestClient.Update(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, originGroupUpdateProperties, cancellationToken); var operation = new CdnOriginGroupUpdateOperation(this, _clientDiagnostics, Pipeline, _cdnOriginGroupsRestClient.CreateUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, originGroupUpdateProperties).Request, response); if (waitForCompletion) { operation.WaitForCompletion(cancellationToken); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }
public async Task Update() { Subscription subscription = await Client.GetDefaultSubscriptionAsync(); ResourceGroup rg = await CreateResourceGroup(subscription, "testRg-"); string cdnProfileName = Recording.GenerateAssetName("profile-"); Profile cdnProfile = await CreateCdnProfile(rg, cdnProfileName, SkuName.StandardMicrosoft); string cdnEndpointName = Recording.GenerateAssetName("endpoint-"); CdnEndpoint cdnEndpoint = await CreateCdnEndpoint(cdnProfile, cdnEndpointName); string cdnOriginGroupName = Recording.GenerateAssetName("origingroup-"); CdnOriginGroup cdnOriginGroup = await CreateCdnOriginGroup(cdnEndpoint, cdnOriginGroupName, cdnEndpoint.Data.Origins[0].Name); OriginGroupUpdateOptions updateOptions = new OriginGroupUpdateOptions() { HealthProbeSettings = new HealthProbeParameters { ProbePath = "/healthz", ProbeRequestType = HealthProbeRequestType.Head, ProbeProtocol = ProbeProtocol.Https, ProbeIntervalInSeconds = 60 } }; var lro = await cdnOriginGroup.UpdateAsync(updateOptions); CdnOriginGroup updatedCdnOriginGroup = lro.Value; ResourceDataHelper.AssertOriginGroupUpdate(updatedCdnOriginGroup, updateOptions); }
public async Task UpdateOriginGroups() { #region Snippet:Managing_OriginGroups_UpdateAnOriginGroup // First we need to get the cdn origin group collection from the specific endpoint Profile profile = await resourceGroup.GetProfiles().GetAsync("myProfile"); CdnEndpoint endpoint = await profile.GetCdnEndpoints().GetAsync("myEndpoint"); CdnOriginGroupCollection originGroupCollection = endpoint.GetCdnOriginGroups(); // Now we can get the origin group with GetAsync() CdnOriginGroup originGroup = await originGroupCollection.GetAsync("myOriginGroup"); // With UpdateAsync(), we can update the origin group OriginGroupUpdateOptions input = new OriginGroupUpdateOptions() { HealthProbeSettings = new HealthProbeParameters { ProbePath = "/healthz", ProbeRequestType = HealthProbeRequestType.Head, ProbeProtocol = ProbeProtocol.Https, ProbeIntervalInSeconds = 60 } }; CdnOriginGroupUpdateOperation lro = await originGroup.UpdateAsync(input); originGroup = lro.Value; #endregion Snippet:Managing_OriginGroups_UpdateAnOriginGroup }
public static void AssertOriginGroupUpdate(CdnOriginGroup updatedOriginGroup, OriginGroupUpdateOptions updateOptions) { Assert.AreEqual(updatedOriginGroup.Data.HealthProbeSettings.ProbePath, updateOptions.HealthProbeSettings.ProbePath); Assert.AreEqual(updatedOriginGroup.Data.HealthProbeSettings.ProbeRequestType, updateOptions.HealthProbeSettings.ProbeRequestType); Assert.AreEqual(updatedOriginGroup.Data.HealthProbeSettings.ProbeProtocol, updateOptions.HealthProbeSettings.ProbeProtocol); Assert.AreEqual(updatedOriginGroup.Data.HealthProbeSettings.ProbeIntervalInSeconds, updateOptions.HealthProbeSettings.ProbeIntervalInSeconds); }
public async virtual Task <ArmOperation <CdnOriginGroup> > UpdateAsync(bool waitForCompletion, OriginGroupUpdateOptions originGroupUpdateProperties, CancellationToken cancellationToken = default) { if (originGroupUpdateProperties == null) { throw new ArgumentNullException(nameof(originGroupUpdateProperties)); } using var scope = _cdnOriginGroupClientDiagnostics.CreateScope("CdnOriginGroup.Update"); scope.Start(); try { var response = await _cdnOriginGroupRestClient.UpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, originGroupUpdateProperties, cancellationToken).ConfigureAwait(false); var operation = new CdnArmOperation <CdnOriginGroup>(new CdnOriginGroupOperationSource(Client), _cdnOriginGroupClientDiagnostics, Pipeline, _cdnOriginGroupRestClient.CreateUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, originGroupUpdateProperties).Request, response, OperationFinalStateVia.OriginalUri); if (waitForCompletion) { await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }