internal VirtualMachineExtensionVirtualMachine(ArmResource options, VirtualMachineExtensionData resource) : base(options, resource.Id) { HasData = true; _data = resource; _clientDiagnostics = new ClientDiagnostics(ClientOptions); _restClient = new VirtualMachineExtensionsRestOperations(_clientDiagnostics, Pipeline, ClientOptions, Id.SubscriptionId, BaseUri); }
public async Task <Response <VirtualMachineExtensionData> > GetAsync(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName, string expand = null, CancellationToken cancellationToken = default) { if (subscriptionId == null) { throw new ArgumentNullException(nameof(subscriptionId)); } if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (vmName == null) { throw new ArgumentNullException(nameof(vmName)); } if (vmExtensionName == null) { throw new ArgumentNullException(nameof(vmExtensionName)); } using var message = CreateGetRequest(subscriptionId, resourceGroupName, vmName, vmExtensionName, expand); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: { VirtualMachineExtensionData value = default; using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); value = VirtualMachineExtensionData.DeserializeVirtualMachineExtensionData(document.RootElement); return(Response.FromValue(value, message.Response)); }
VirtualMachineExtensionResource IOperationSource <VirtualMachineExtensionResource> .CreateResult(Response response, CancellationToken cancellationToken) { using var document = JsonDocument.Parse(response.ContentStream); var data = VirtualMachineExtensionData.DeserializeVirtualMachineExtensionData(document.RootElement); return(new VirtualMachineExtensionResource(_client, data)); }
internal VirtualMachineExtension(ArmResource options, VirtualMachineExtensionData data) : base(options, data.Id) { HasData = true; _data = data; _clientDiagnostics = new ClientDiagnostics(ClientOptions); _virtualMachineExtensionsRestClient = new VirtualMachineExtensionsRestOperations(_clientDiagnostics, Pipeline, ClientOptions, BaseUri); #if DEBUG ValidateResourceId(Id); #endif }
internal static VirtualMachineScaleSetVmData DeserializeVirtualMachineScaleSetVmData(JsonElement element) { Optional <string> instanceId = default; Optional <Models.Sku> sku = default; Optional <Models.Plan> plan = default; Optional <IReadOnlyList <VirtualMachineExtensionData> > resources = default; Optional <IReadOnlyList <string> > zones = default; IDictionary <string, string> tags = default; AzureLocation location = default; ResourceIdentifier id = default; string name = default; ResourceType type = default; SystemData systemData = default; Optional <bool> latestModelApplied = default; Optional <string> vmId = default; Optional <VirtualMachineScaleSetVmInstanceView> instanceView = default; Optional <HardwareProfile> hardwareProfile = default; Optional <StorageProfile> storageProfile = default; Optional <AdditionalCapabilities> additionalCapabilities = default; Optional <OSProfile> osProfile = default; Optional <SecurityProfile> securityProfile = default; Optional <NetworkProfile> networkProfile = default; Optional <VirtualMachineScaleSetVmNetworkProfileConfiguration> networkProfileConfiguration = default; Optional <DiagnosticsProfile> diagnosticsProfile = default; Optional <WritableSubResource> availabilitySet = default; Optional <string> provisioningState = default; Optional <string> licenseType = default; Optional <string> modelDefinitionApplied = default; Optional <VirtualMachineScaleSetVmProtectionPolicy> protectionPolicy = default; Optional <string> userData = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("instanceId")) { instanceId = property.Value.GetString(); continue; } if (property.NameEquals("sku")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } sku = Models.Sku.DeserializeSku(property.Value); continue; } if (property.NameEquals("plan")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } plan = Models.Plan.DeserializePlan(property.Value); continue; } if (property.NameEquals("resources")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <VirtualMachineExtensionData> array = new List <VirtualMachineExtensionData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(VirtualMachineExtensionData.DeserializeVirtualMachineExtensionData(item)); } resources = array; continue; } if (property.NameEquals("zones")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } zones = array; continue; } if (property.NameEquals("tags")) { Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetString()); } tags = dictionary; 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 = 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("latestModelApplied")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } latestModelApplied = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("vmId")) { vmId = property0.Value.GetString(); continue; } if (property0.NameEquals("instanceView")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } instanceView = VirtualMachineScaleSetVmInstanceView.DeserializeVirtualMachineScaleSetVmInstanceView(property0.Value); continue; } if (property0.NameEquals("hardwareProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } hardwareProfile = HardwareProfile.DeserializeHardwareProfile(property0.Value); continue; } if (property0.NameEquals("storageProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } storageProfile = StorageProfile.DeserializeStorageProfile(property0.Value); continue; } if (property0.NameEquals("additionalCapabilities")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } additionalCapabilities = AdditionalCapabilities.DeserializeAdditionalCapabilities(property0.Value); continue; } if (property0.NameEquals("osProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } osProfile = OSProfile.DeserializeOSProfile(property0.Value); continue; } if (property0.NameEquals("securityProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } securityProfile = SecurityProfile.DeserializeSecurityProfile(property0.Value); continue; } if (property0.NameEquals("networkProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } networkProfile = NetworkProfile.DeserializeNetworkProfile(property0.Value); continue; } if (property0.NameEquals("networkProfileConfiguration")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } networkProfileConfiguration = VirtualMachineScaleSetVmNetworkProfileConfiguration.DeserializeVirtualMachineScaleSetVmNetworkProfileConfiguration(property0.Value); continue; } if (property0.NameEquals("diagnosticsProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } diagnosticsProfile = DiagnosticsProfile.DeserializeDiagnosticsProfile(property0.Value); continue; } if (property0.NameEquals("availabilitySet")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } availabilitySet = JsonSerializer.Deserialize <WritableSubResource>(property0.Value.ToString()); continue; } if (property0.NameEquals("provisioningState")) { provisioningState = property0.Value.GetString(); continue; } if (property0.NameEquals("licenseType")) { licenseType = property0.Value.GetString(); continue; } if (property0.NameEquals("modelDefinitionApplied")) { modelDefinitionApplied = property0.Value.GetString(); continue; } if (property0.NameEquals("protectionPolicy")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } protectionPolicy = VirtualMachineScaleSetVmProtectionPolicy.DeserializeVirtualMachineScaleSetVmProtectionPolicy(property0.Value); continue; } if (property0.NameEquals("userData")) { userData = property0.Value.GetString(); continue; } } continue; } } return(new VirtualMachineScaleSetVmData(id, name, type, systemData, tags, location, instanceId.Value, sku.Value, plan.Value, Optional.ToList(resources), Optional.ToList(zones), Optional.ToNullable(latestModelApplied), vmId.Value, instanceView.Value, hardwareProfile.Value, storageProfile.Value, additionalCapabilities.Value, osProfile.Value, securityProfile.Value, networkProfile.Value, networkProfileConfiguration.Value, diagnosticsProfile.Value, availabilitySet, provisioningState.Value, licenseType.Value, modelDefinitionApplied.Value, protectionPolicy.Value, userData.Value)); }
internal VirtualMachineExtension(ArmClient client, VirtualMachineExtensionData data) : this(client, data.Id) { HasData = true; _data = data; }
public async Task <Response> CreateOrUpdateAsync(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtensionData data, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(vmName, nameof(vmName)); Argument.AssertNotNullOrEmpty(vmExtensionName, nameof(vmExtensionName)); Argument.AssertNotNull(data, nameof(data)); using var message = CreateCreateOrUpdateRequest(subscriptionId, resourceGroupName, vmName, vmExtensionName, data); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: case 201: return(message.Response); default: throw new RequestFailedException(message.Response); } }
internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtensionData data) { var message = _pipeline.CreateMessage(); var request = message.Request; request.Method = RequestMethod.Put; var uri = new RawRequestUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/subscriptions/", false); uri.AppendPath(subscriptionId, true); uri.AppendPath("/resourceGroups/", false); uri.AppendPath(resourceGroupName, true); uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); uri.AppendPath(vmName, true); uri.AppendPath("/extensions/", false); uri.AppendPath(vmExtensionName, true); uri.AppendQuery("api-version", _apiVersion, true); request.Uri = uri; request.Headers.Add("Accept", "application/json"); request.Headers.Add("Content-Type", "application/json"); var content = new Utf8JsonRequestContent(); content.JsonWriter.WriteObjectValue(data); request.Content = content; _userAgent.Apply(message); return(message); }
internal static VirtualMachineData DeserializeVirtualMachineData(JsonElement element) { Optional <Plan> plan = default; Optional <IReadOnlyList <VirtualMachineExtensionData> > resources = default; Optional <ResourceIdentity> identity = default; Optional <IList <string> > zones = default; Optional <ExtendedLocation> extendedLocation = default; IDictionary <string, string> tags = default; Location location = default; ResourceIdentifier id = default; string name = default; ResourceType type = default; Optional <HardwareProfile> hardwareProfile = default; Optional <StorageProfile> storageProfile = default; Optional <AdditionalCapabilities> additionalCapabilities = default; Optional <OSProfile> osProfile = default; Optional <NetworkProfile> networkProfile = default; Optional <SecurityProfile> securityProfile = default; Optional <DiagnosticsProfile> diagnosticsProfile = default; Optional <Models.SubResource> availabilitySet = default; Optional <Models.SubResource> virtualMachineScaleSet = default; Optional <Models.SubResource> proximityPlacementGroup = default; Optional <VirtualMachinePriorityTypes> priority = default; Optional <VirtualMachineEvictionPolicyTypes> evictionPolicy = default; Optional <BillingProfile> billingProfile = default; Optional <Models.SubResource> host = default; Optional <Models.SubResource> hostGroup = default; Optional <string> provisioningState = default; Optional <VirtualMachineInstanceView> instanceView = default; Optional <string> licenseType = default; Optional <string> vmId = default; Optional <string> extensionsTimeBudget = default; Optional <int> platformFaultDomain = default; Optional <ScheduledEventsProfile> scheduledEventsProfile = default; Optional <string> userData = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("plan")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } plan = Plan.DeserializePlan(property.Value); continue; } if (property.NameEquals("resources")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <VirtualMachineExtensionData> array = new List <VirtualMachineExtensionData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(VirtualMachineExtensionData.DeserializeVirtualMachineExtensionData(item)); } resources = array; continue; } if (property.NameEquals("identity")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } identity = JsonSerializer.Deserialize <ResourceIdentity>(property.Value.ToString()); continue; } if (property.NameEquals("zones")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } zones = array; continue; } if (property.NameEquals("extendedLocation")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } extendedLocation = ExtendedLocation.DeserializeExtendedLocation(property.Value); continue; } if (property.NameEquals("tags")) { Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetString()); } tags = dictionary; continue; } if (property.NameEquals("location")) { location = property.Value.GetString(); continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("hardwareProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } hardwareProfile = HardwareProfile.DeserializeHardwareProfile(property0.Value); continue; } if (property0.NameEquals("storageProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } storageProfile = StorageProfile.DeserializeStorageProfile(property0.Value); continue; } if (property0.NameEquals("additionalCapabilities")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } additionalCapabilities = AdditionalCapabilities.DeserializeAdditionalCapabilities(property0.Value); continue; } if (property0.NameEquals("osProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } osProfile = OSProfile.DeserializeOSProfile(property0.Value); continue; } if (property0.NameEquals("networkProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } networkProfile = NetworkProfile.DeserializeNetworkProfile(property0.Value); continue; } if (property0.NameEquals("securityProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } securityProfile = SecurityProfile.DeserializeSecurityProfile(property0.Value); continue; } if (property0.NameEquals("diagnosticsProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } diagnosticsProfile = DiagnosticsProfile.DeserializeDiagnosticsProfile(property0.Value); continue; } if (property0.NameEquals("availabilitySet")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } availabilitySet = Models.SubResource.DeserializeSubResource(property0.Value); continue; } if (property0.NameEquals("virtualMachineScaleSet")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } virtualMachineScaleSet = Models.SubResource.DeserializeSubResource(property0.Value); continue; } if (property0.NameEquals("proximityPlacementGroup")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } proximityPlacementGroup = Models.SubResource.DeserializeSubResource(property0.Value); continue; } if (property0.NameEquals("priority")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } priority = new VirtualMachinePriorityTypes(property0.Value.GetString()); continue; } if (property0.NameEquals("evictionPolicy")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } evictionPolicy = new VirtualMachineEvictionPolicyTypes(property0.Value.GetString()); continue; } if (property0.NameEquals("billingProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } billingProfile = BillingProfile.DeserializeBillingProfile(property0.Value); continue; } if (property0.NameEquals("host")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } host = Models.SubResource.DeserializeSubResource(property0.Value); continue; } if (property0.NameEquals("hostGroup")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } hostGroup = Models.SubResource.DeserializeSubResource(property0.Value); continue; } if (property0.NameEquals("provisioningState")) { provisioningState = property0.Value.GetString(); continue; } if (property0.NameEquals("instanceView")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } instanceView = VirtualMachineInstanceView.DeserializeVirtualMachineInstanceView(property0.Value); continue; } if (property0.NameEquals("licenseType")) { licenseType = property0.Value.GetString(); continue; } if (property0.NameEquals("vmId")) { vmId = property0.Value.GetString(); continue; } if (property0.NameEquals("extensionsTimeBudget")) { extensionsTimeBudget = property0.Value.GetString(); continue; } if (property0.NameEquals("platformFaultDomain")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } platformFaultDomain = property0.Value.GetInt32(); continue; } if (property0.NameEquals("scheduledEventsProfile")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } scheduledEventsProfile = ScheduledEventsProfile.DeserializeScheduledEventsProfile(property0.Value); continue; } if (property0.NameEquals("userData")) { userData = property0.Value.GetString(); continue; } } continue; } } return(new VirtualMachineData(id, name, type, tags, location, plan.Value, Optional.ToList(resources), identity, Optional.ToList(zones), extendedLocation.Value, hardwareProfile.Value, storageProfile.Value, additionalCapabilities.Value, osProfile.Value, networkProfile.Value, securityProfile.Value, diagnosticsProfile.Value, availabilitySet.Value, virtualMachineScaleSet.Value, proximityPlacementGroup.Value, Optional.ToNullable(priority), Optional.ToNullable(evictionPolicy), billingProfile.Value, host.Value, hostGroup.Value, provisioningState.Value, instanceView.Value, licenseType.Value, vmId.Value, extensionsTimeBudget.Value, Optional.ToNullable(platformFaultDomain), scheduledEventsProfile.Value, userData.Value)); }
public async Task <Response> CreateOrUpdateAsync(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtensionData extensionParameters, CancellationToken cancellationToken = default) { if (subscriptionId == null) { throw new ArgumentNullException(nameof(subscriptionId)); } if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (vmName == null) { throw new ArgumentNullException(nameof(vmName)); } if (vmExtensionName == null) { throw new ArgumentNullException(nameof(vmExtensionName)); } if (extensionParameters == null) { throw new ArgumentNullException(nameof(extensionParameters)); } using var message = CreateCreateOrUpdateRequest(subscriptionId, resourceGroupName, vmName, vmExtensionName, extensionParameters); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: case 201: return(message.Response); default: throw await ClientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); } }
public virtual async Task <ArmOperation <VirtualMachineExtension> > CreateOrUpdateAsync(WaitUntil waitUntil, string vmExtensionName, VirtualMachineExtensionData extensionParameters, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(vmExtensionName, nameof(vmExtensionName)); Argument.AssertNotNull(extensionParameters, nameof(extensionParameters)); using var scope = _virtualMachineExtensionClientDiagnostics.CreateScope("VirtualMachineExtensionCollection.CreateOrUpdate"); scope.Start(); try { var response = await _virtualMachineExtensionRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, vmExtensionName, extensionParameters, cancellationToken).ConfigureAwait(false); var operation = new ComputeArmOperation <VirtualMachineExtension>(new VirtualMachineExtensionOperationSource(Client), _virtualMachineExtensionClientDiagnostics, Pipeline, _virtualMachineExtensionRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, vmExtensionName, extensionParameters).Request, response, OperationFinalStateVia.Location); if (waitUntil == WaitUntil.Completed) { await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }
public async virtual Task <VirtualMachineExtensionCreateOrUpdateOperation> CreateOrUpdateAsync(string vmExtensionName, VirtualMachineExtensionData extensionParameters, bool waitForCompletion = true, CancellationToken cancellationToken = default) { if (vmExtensionName == null) { throw new ArgumentNullException(nameof(vmExtensionName)); } if (extensionParameters == null) { throw new ArgumentNullException(nameof(extensionParameters)); } using var scope = _clientDiagnostics.CreateScope("VirtualMachineVirtualMachineExtensionCollection.CreateOrUpdate"); scope.Start(); try { var response = await _restClient.CreateOrUpdateAsync(Id.ResourceGroupName, Id.Name, vmExtensionName, extensionParameters, cancellationToken).ConfigureAwait(false); var operation = new VirtualMachineExtensionCreateOrUpdateOperation(Parent, _clientDiagnostics, Pipeline, _restClient.CreateCreateOrUpdateRequest(Id.ResourceGroupName, Id.Name, vmExtensionName, extensionParameters).Request, response); if (waitForCompletion) { await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }
public virtual VirtualMachineExtensionCreateOrUpdateOperation CreateOrUpdate(bool waitForCompletion, string vmExtensionName, VirtualMachineExtensionData extensionParameters, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(vmExtensionName, nameof(vmExtensionName)); if (extensionParameters == null) { throw new ArgumentNullException(nameof(extensionParameters)); } using var scope = _virtualMachineExtensionClientDiagnostics.CreateScope("VirtualMachineExtensionCollection.CreateOrUpdate"); scope.Start(); try { var response = _virtualMachineExtensionRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, vmExtensionName, extensionParameters, cancellationToken); var operation = new VirtualMachineExtensionCreateOrUpdateOperation(ArmClient, _virtualMachineExtensionClientDiagnostics, Pipeline, _virtualMachineExtensionRestClient.CreateCreateOrUpdateRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, vmExtensionName, extensionParameters).Request, response); if (waitForCompletion) { operation.WaitForCompletion(cancellationToken); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }
public Response CreateOrUpdate(string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtensionData extensionParameters, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (vmName == null) { throw new ArgumentNullException(nameof(vmName)); } if (vmExtensionName == null) { throw new ArgumentNullException(nameof(vmExtensionName)); } if (extensionParameters == null) { throw new ArgumentNullException(nameof(extensionParameters)); } using var message = CreateCreateOrUpdateRequest(resourceGroupName, vmName, vmExtensionName, extensionParameters); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: case 201: return(message.Response); default: throw _clientDiagnostics.CreateRequestFailedException(message.Response); } }
public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtensionData extensionParameters, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(subscriptionId, nameof(subscriptionId)); Argument.AssertNotNullOrEmpty(resourceGroupName, nameof(resourceGroupName)); Argument.AssertNotNullOrEmpty(vmName, nameof(vmName)); Argument.AssertNotNullOrEmpty(vmExtensionName, nameof(vmExtensionName)); Argument.AssertNotNull(extensionParameters, nameof(extensionParameters)); using var message = CreateCreateOrUpdateRequest(subscriptionId, resourceGroupName, vmName, vmExtensionName, extensionParameters); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { case 200: case 201: return(message.Response); default: throw new RequestFailedException(message.Response); } }