public async Task <Response <DdosProtectionPlan> > GetAsync(string resourceGroupName, string ddosProtectionPlanName, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (ddosProtectionPlanName == null) { throw new ArgumentNullException(nameof(ddosProtectionPlanName)); } using var message = CreateGetRequest(resourceGroupName, ddosProtectionPlanName); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: { DdosProtectionPlan value = default; using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); if (document.RootElement.ValueKind == JsonValueKind.Null) { value = null; } else { value = DdosProtectionPlan.DeserializeDdosProtectionPlan(document.RootElement); } return(Response.FromValue(value, message.Response)); }
public async Task DdosProtectionPlanApiTest() { var container = GetCollection(); var name = Recording.GenerateAssetName(NamePrefix); // create DdosProtectionPlan ddosProtectionPlan = await(await container.CreateOrUpdateAsync(true, name, new DdosProtectionPlanData(TestEnvironment.Location))).WaitForCompletionAsync(); Assert.True(await container.ExistsAsync(name)); var ddosProtectionPlanData = ddosProtectionPlan.Data; ValidateCommon(ddosProtectionPlanData, name); Assert.IsEmpty(ddosProtectionPlanData.Tags); // update var data = new DdosProtectionPlanData(TestEnvironment.Location); data.Tags.Add("tag1", "value1"); data.Tags.Add("tag2", "value2"); ddosProtectionPlan = await(await container.CreateOrUpdateAsync(true, name, data)).WaitForCompletionAsync(); ddosProtectionPlanData = ddosProtectionPlan.Data; ValidateCommon(ddosProtectionPlanData, name); Assert.That(ddosProtectionPlanData.Tags, Has.Count.EqualTo(2)); Assert.That(ddosProtectionPlanData.Tags, Does.ContainKey("tag1").WithValue("value1")); Assert.That(ddosProtectionPlanData.Tags, Does.ContainKey("tag2").WithValue("value2")); // get ddosProtectionPlan = await container.GetAsync(name); ddosProtectionPlanData = ddosProtectionPlan.Data; ValidateCommon(ddosProtectionPlanData, name); Assert.That(ddosProtectionPlanData.Tags, Has.Count.EqualTo(2)); Assert.That(ddosProtectionPlanData.Tags, Does.ContainKey("tag1").WithValue("value1")); Assert.That(ddosProtectionPlanData.Tags, Does.ContainKey("tag2").WithValue("value2")); // patch var tags = new Dictionary <string, string>(); tags.Add("tag2", "value2"); ddosProtectionPlan = await ddosProtectionPlan.SetTagsAsync(tags); ddosProtectionPlanData = ddosProtectionPlan.Data; ValidateCommon(ddosProtectionPlanData, name); Assert.That(ddosProtectionPlanData.Tags, Has.Count.EqualTo(1)); Assert.That(ddosProtectionPlanData.Tags, Does.ContainKey("tag2").WithValue("value2")); // list var ddosProtectionPlans = await container.GetAllAsync().ToEnumerableAsync(); Assert.That(ddosProtectionPlans, Has.Count.EqualTo(1)); ddosProtectionPlan = ddosProtectionPlans[0]; ddosProtectionPlanData = ddosProtectionPlan.Data; ValidateCommon(ddosProtectionPlanData, name); Assert.That(ddosProtectionPlanData.Tags, Has.Count.EqualTo(1)); Assert.That(ddosProtectionPlanData.Tags, Does.ContainKey("tag2").WithValue("value2")); // delete await ddosProtectionPlan.DeleteAsync(true); Assert.False(await container.ExistsAsync(name)); ddosProtectionPlans = await container.GetAllAsync().ToEnumerableAsync(); Assert.IsEmpty(ddosProtectionPlans); // list all ddosProtectionPlans = await _subscription.GetDdosProtectionPlansAsync().ToEnumerableAsync(); Assert.IsEmpty(ddosProtectionPlans); }
public virtual DdosProtectionPlansCreateOrUpdateOperation StartCreateOrUpdate(string resourceGroupName, string ddosProtectionPlanName, DdosProtectionPlan parameters, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (ddosProtectionPlanName == null) { throw new ArgumentNullException(nameof(ddosProtectionPlanName)); } if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } using var scope = _clientDiagnostics.CreateScope("DdosProtectionPlansClient.StartCreateOrUpdate"); scope.Start(); try { var originalResponse = RestClient.CreateOrUpdate(resourceGroupName, ddosProtectionPlanName, parameters, cancellationToken); return(new DdosProtectionPlansCreateOrUpdateOperation(_clientDiagnostics, _pipeline, RestClient.CreateCreateOrUpdateRequest(resourceGroupName, ddosProtectionPlanName, parameters).Request, originalResponse)); } catch (Exception e) { scope.Failed(e); throw; } }
/// <summary> /// Creates or updates a DDoS protection plan. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='ddosProtectionPlanName'> /// The name of the DDoS protection plan. /// </param> /// <param name='parameters'> /// Parameters supplied to the create or update operation. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <DdosProtectionPlan> BeginCreateOrUpdateAsync(this IDdosProtectionPlansOperations operations, string resourceGroupName, string ddosProtectionPlanName, DdosProtectionPlan parameters, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, ddosProtectionPlanName, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Creates or updates a DDoS protection plan. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='ddosProtectionPlanName'> /// The name of the DDoS protection plan. /// </param> /// <param name='parameters'> /// Parameters supplied to the create or update operation. /// </param> public static DdosProtectionPlan BeginCreateOrUpdate(this IDdosProtectionPlansOperations operations, string resourceGroupName, string ddosProtectionPlanName, DdosProtectionPlan parameters) { return(operations.BeginCreateOrUpdateAsync(resourceGroupName, ddosProtectionPlanName, parameters).GetAwaiter().GetResult()); }