public async virtual Task <CdnEndpointCreateOperation> CreateOrUpdateAsync(string endpointName, CdnEndpointData endpointInput, bool waitForCompletion = true, CancellationToken cancellationToken = default) { if (endpointName == null) { throw new ArgumentNullException(nameof(endpointName)); } if (endpointInput == null) { throw new ArgumentNullException(nameof(endpointInput)); } using var scope = _clientDiagnostics.CreateScope("CdnEndpointCollection.CreateOrUpdate"); scope.Start(); try { var response = await _cdnEndpointsRestClient.CreateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, endpointName, endpointInput, cancellationToken).ConfigureAwait(false); var operation = new CdnEndpointCreateOperation(Parent, _clientDiagnostics, Pipeline, _cdnEndpointsRestClient.CreateCreateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, endpointName, endpointInput).Request, response); if (waitForCompletion) { await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }
public async Task CreateOriginGroups() { #region Snippet:Managing_OriginGroups_CreateAnOriginGroup // Create a new cdn profile string profileName = "myProfile"; var input1 = new ProfileData(AzureLocation.WestUS, new Models.Sku { Name = SkuName.StandardMicrosoft }); ProfileCreateOperation lro1 = await resourceGroup.GetProfiles().CreateOrUpdateAsync(profileName, input1); Profile profile = lro1.Value; // Get the cdn endpoint collection from the specific profile and create an endpoint string endpointName = "myEndpoint"; var input2 = new CdnEndpointData(AzureLocation.WestUS) { IsHttpAllowed = true, IsHttpsAllowed = true, OptimizationType = OptimizationType.GeneralWebDelivery }; DeepCreatedOrigin deepCreatedOrigin = new DeepCreatedOrigin("myOrigin") { HostName = "testsa4dotnetsdk.blob.core.windows.net", Priority = 3, Weight = 100 }; input2.Origins.Add(deepCreatedOrigin); CdnEndpointCreateOperation lro2 = await profile.GetCdnEndpoints().CreateOrUpdateAsync(endpointName, input2); CdnEndpoint endpoint = lro2.Value; // Get the cdn origin group collection from the specific endpoint and create an origin group string originGroupName = "myOriginGroup"; var input3 = new CdnOriginGroupData(); input3.Origins.Add(new WritableSubResource { Id = new ResourceIdentifier($"{endpoint.Id}/origins/myOrigin") }); CdnOriginGroupCreateOperation lro3 = await endpoint.GetCdnOriginGroups().CreateOrUpdateAsync(originGroupName, input3); CdnOriginGroup originGroup = lro3.Value; #endregion Snippet:Managing_OriginGroups_CreateAnOriginGroup }