internal RecommendedAction(ArmResource options, RecommendedActionData resource) : base(options, resource.Id) { HasData = true; _data = resource; _clientDiagnostics = new ClientDiagnostics(ClientOptions); _databaseRecommendedActionsRestClient = new DatabaseRecommendedActionsRestOperations(_clientDiagnostics, Pipeline, ClientOptions, BaseUri); }
public async Task <Response <IReadOnlyList <RecommendedActionData> > > ListByDatabaseAdvisorAsync(string subscriptionId, string resourceGroupName, string serverName, string databaseName, string advisorName, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(serverName, nameof(serverName)); Argument.AssertNotNullOrEmpty(databaseName, nameof(databaseName)); Argument.AssertNotNullOrEmpty(advisorName, nameof(advisorName)); using var message = CreateListByDatabaseAdvisorRequest(subscriptionId, resourceGroupName, serverName, databaseName, advisorName); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: { IReadOnlyList <RecommendedActionData> value = default; using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); List <RecommendedActionData> array = new List <RecommendedActionData>(); foreach (var item in document.RootElement.EnumerateArray()) { array.Add(RecommendedActionData.DeserializeRecommendedActionData(item)); } value = array; return(Response.FromValue(value, message.Response)); }
public virtual Response <RecommendedAction> Update(RecommendedActionData parameters, CancellationToken cancellationToken = default) { Argument.AssertNotNull(parameters, nameof(parameters)); using var scope = _recommendedActionDatabaseRecommendedActionsClientDiagnostics.CreateScope("RecommendedAction.Update"); scope.Start(); try { var response = _recommendedActionDatabaseRecommendedActionsRestClient.Update(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Parent.Name, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, parameters, cancellationToken); return(Response.FromValue(new RecommendedAction(Client, response.Value), response.GetRawResponse())); } catch (Exception e) { scope.Failed(e); throw; } }
public async virtual Task <Response <RecommendedAction> > UpdateAsync(RecommendedActionData parameters, CancellationToken cancellationToken = default) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } using var scope = _clientDiagnostics.CreateScope("RecommendedAction.Update"); scope.Start(); try { var response = await _databaseRecommendedActionsRestClient.UpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Parent.Name, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, parameters, cancellationToken).ConfigureAwait(false); return(Response.FromValue(new RecommendedAction(this, response.Value), response.GetRawResponse())); } catch (Exception e) { scope.Failed(e); throw; } }
internal RecommendedAction(ArmClient client, RecommendedActionData data) : this(client, data.Id) { HasData = true; _data = data; }
internal static AdvisorData DeserializeAdvisorData(JsonElement element) { Optional <string> kind = default; Optional <string> location = default; ResourceIdentifier id = default; string name = default; ResourceType type = default; SystemData systemData = default; Optional <AdvisorStatus> advisorStatus = default; Optional <AutoExecuteStatus> autoExecuteStatus = default; Optional <AutoExecuteStatusInheritedFrom> autoExecuteStatusInheritedFrom = default; Optional <string> recommendationsStatus = default; Optional <DateTimeOffset> lastChecked = default; Optional <IReadOnlyList <RecommendedActionData> > recommendedActions = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("kind")) { kind = property.Value.GetString(); continue; } if (property.NameEquals("location")) { location = property.Value.GetString(); continue; } if (property.NameEquals("id")) { id = new ResourceIdentifier(property.Value.GetString()); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { type = new ResourceType(property.Value.GetString()); continue; } if (property.NameEquals("systemData")) { systemData = JsonSerializer.Deserialize <SystemData>(property.Value.ToString()); continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("advisorStatus")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } advisorStatus = property0.Value.GetString().ToAdvisorStatus(); continue; } if (property0.NameEquals("autoExecuteStatus")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } autoExecuteStatus = property0.Value.GetString().ToAutoExecuteStatus(); continue; } if (property0.NameEquals("autoExecuteStatusInheritedFrom")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } autoExecuteStatusInheritedFrom = property0.Value.GetString().ToAutoExecuteStatusInheritedFrom(); continue; } if (property0.NameEquals("recommendationsStatus")) { recommendationsStatus = property0.Value.GetString(); continue; } if (property0.NameEquals("lastChecked")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } lastChecked = property0.Value.GetDateTimeOffset("O"); continue; } if (property0.NameEquals("recommendedActions")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <RecommendedActionData> array = new List <RecommendedActionData>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(RecommendedActionData.DeserializeRecommendedActionData(item)); } recommendedActions = array; continue; } } continue; } } return(new AdvisorData(id, name, type, systemData, kind.Value, location.Value, Optional.ToNullable(advisorStatus), Optional.ToNullable(autoExecuteStatus), Optional.ToNullable(autoExecuteStatusInheritedFrom), recommendationsStatus.Value, Optional.ToNullable(lastChecked), Optional.ToList(recommendedActions))); }
public virtual async Task <Response <RecommendedActionResource> > UpdateAsync(RecommendedActionData data, CancellationToken cancellationToken = default) { Argument.AssertNotNull(data, nameof(data)); using var scope = _recommendedActionDatabaseRecommendedActionsClientDiagnostics.CreateScope("RecommendedActionResource.Update"); scope.Start(); try { var response = await _recommendedActionDatabaseRecommendedActionsRestClient.UpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Parent.Name, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); return(Response.FromValue(new RecommendedActionResource(Client, response.Value), response.GetRawResponse())); } catch (Exception e) { scope.Failed(e); throw; } }