internal UpdateAutoScalingGroupResponse UpdateAutoScalingGroup(UpdateAutoScalingGroupRequest request) { var marshaller = new UpdateAutoScalingGroupRequestMarshaller(); var unmarshaller = UpdateAutoScalingGroupResponseUnmarshaller.Instance; return Invoke<UpdateAutoScalingGroupRequest,UpdateAutoScalingGroupResponse>(request, marshaller, unmarshaller); }
/// <summary> /// Initiates the asynchronous execution of the UpdateAutoScalingGroup operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the UpdateAutoScalingGroup operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<UpdateAutoScalingGroupResponse> UpdateAutoScalingGroupAsync(UpdateAutoScalingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new UpdateAutoScalingGroupRequestMarshaller(); var unmarshaller = UpdateAutoScalingGroupResponseUnmarshaller.Instance; return InvokeAsync<UpdateAutoScalingGroupRequest,UpdateAutoScalingGroupResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Initiates the asynchronous execution of the UpdateAutoScalingGroup operation. /// <seealso cref="Amazon.AutoScaling.IAmazonAutoScaling.UpdateAutoScalingGroup"/> /// </summary> /// /// <param name="updateAutoScalingGroupRequest">Container for the necessary parameters to execute the UpdateAutoScalingGroup operation on /// AmazonAutoScaling.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> public IAsyncResult BeginUpdateAutoScalingGroup(UpdateAutoScalingGroupRequest updateAutoScalingGroupRequest, AsyncCallback callback, object state) { return invokeUpdateAutoScalingGroup(updateAutoScalingGroupRequest, callback, state, false); }
IAsyncResult invokeUpdateAutoScalingGroup(UpdateAutoScalingGroupRequest updateAutoScalingGroupRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new UpdateAutoScalingGroupRequestMarshaller().Marshall(updateAutoScalingGroupRequest); var unmarshaller = UpdateAutoScalingGroupResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
/// <summary> /// Initiates the asynchronous execution of the UpdateAutoScalingGroup operation. /// <seealso cref="Amazon.AutoScaling.IAmazonAutoScaling.UpdateAutoScalingGroup"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the UpdateAutoScalingGroup operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<UpdateAutoScalingGroupResponse> UpdateAutoScalingGroupAsync(UpdateAutoScalingGroupRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new UpdateAutoScalingGroupRequestMarshaller(); var unmarshaller = UpdateAutoScalingGroupResponseUnmarshaller.GetInstance(); return Invoke<IRequest, UpdateAutoScalingGroupRequest, UpdateAutoScalingGroupResponse>(request, marshaller, unmarshaller, signer, cancellationToken); }
/// <summary> /// <para> Updates the configuration for the specified AutoScalingGroup. </para> <para><b>NOTE:</b> To update an Auto Scaling group with a /// launch configuration that has the InstanceMonitoring flag set to False, you must first ensure that collection of group metrics is disabled. /// Otherwise, calls to UpdateAutoScalingGroup will fail. If you have previously enabled group metrics collection, you can disable collection of /// all group metrics by calling DisableMetricsCollection. </para> <para> The new settings are registered upon the completion of this call. Any /// launch configuration settings take effect on any triggers after this call returns. Scaling activities that are currently in progress aren't /// affected. </para> <para><b>NOTE:</b> If a new value is specified for MinSize without specifying the value for DesiredCapacity, and if the /// new MinSize is larger than the current size of the Auto Scaling Group, there will be an implicit call to SetDesiredCapacity to set the group /// to the new MinSize. If a new value is specified for MaxSize without specifying the value for DesiredCapacity, and the new MaxSize is smaller /// than the current size of the Auto Scaling Group, there will be an implicit call to SetDesiredCapacity to set the group to the new MaxSize. /// All other optional parameters are left unchanged if not passed in the request. </para> /// </summary> /// /// <param name="updateAutoScalingGroupRequest">Container for the necessary parameters to execute the UpdateAutoScalingGroup service method on /// AmazonAutoScaling.</param> /// /// <exception cref="ScalingActivityInProgressException"/> public UpdateAutoScalingGroupResponse UpdateAutoScalingGroup(UpdateAutoScalingGroupRequest updateAutoScalingGroupRequest) { IAsyncResult asyncResult = invokeUpdateAutoScalingGroup(updateAutoScalingGroupRequest, null, null, true); return EndUpdateAutoScalingGroup(asyncResult); }
/// <summary> /// Initiates the asynchronous execution of the UpdateAutoScalingGroup operation. /// <seealso cref="Amazon.AutoScaling.IAmazonAutoScaling"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the UpdateAutoScalingGroup operation on AmazonAutoScalingClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateAutoScalingGroup /// operation.</returns> public IAsyncResult BeginUpdateAutoScalingGroup(UpdateAutoScalingGroupRequest request, AsyncCallback callback, object state) { var marshaller = new UpdateAutoScalingGroupRequestMarshaller(); var unmarshaller = UpdateAutoScalingGroupResponseUnmarshaller.Instance; return BeginInvoke<UpdateAutoScalingGroupRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// <para> Updates the configuration for the specified AutoScalingGroup. </para> <para><b>NOTE:</b> To update an Auto Scaling group with a /// launch configuration that has the InstanceMonitoring flag set to False, you must first ensure that collection of group metrics is disabled. /// Otherwise, calls to UpdateAutoScalingGroup will fail. If you have previously enabled group metrics collection, you can disable collection of /// all group metrics by calling DisableMetricsCollection. </para> <para> The new settings are registered upon the completion of this call. Any /// launch configuration settings take effect on any triggers after this call returns. Scaling activities that are currently in progress aren't /// affected. </para> <para><b>NOTE:</b> If a new value is specified for MinSize without specifying the value for DesiredCapacity, and if the /// new MinSize is larger than the current size of the Auto Scaling Group, there will be an implicit call to SetDesiredCapacity to set the group /// to the new MinSize. If a new value is specified for MaxSize without specifying the value for DesiredCapacity, and the new MaxSize is smaller /// than the current size of the Auto Scaling Group, there will be an implicit call to SetDesiredCapacity to set the group to the new MaxSize. /// All other optional parameters are left unchanged if not passed in the request. </para> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the UpdateAutoScalingGroup service method on /// AmazonAutoScaling.</param> /// /// <exception cref="T:Amazon.AutoScaling.Model.ScalingActivityInProgressException" /> public UpdateAutoScalingGroupResponse UpdateAutoScalingGroup(UpdateAutoScalingGroupRequest request) { var task = UpdateAutoScalingGroupAsync(request); try { return task.Result; } catch(AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return null; } }
public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.AutoScaling.Model.UpdateAutoScalingGroupRequest(); if (cmdletContext.AutoScalingGroupName != null) { request.AutoScalingGroupName = cmdletContext.AutoScalingGroupName; } if (cmdletContext.AvailabilityZone != null) { request.AvailabilityZones = cmdletContext.AvailabilityZone; } if (cmdletContext.CapacityRebalance != null) { request.CapacityRebalance = cmdletContext.CapacityRebalance.Value; } if (cmdletContext.Context != null) { request.Context = cmdletContext.Context; } if (cmdletContext.DefaultCooldown != null) { request.DefaultCooldown = cmdletContext.DefaultCooldown.Value; } if (cmdletContext.DesiredCapacity != null) { request.DesiredCapacity = cmdletContext.DesiredCapacity.Value; } if (cmdletContext.DesiredCapacityType != null) { request.DesiredCapacityType = cmdletContext.DesiredCapacityType; } if (cmdletContext.HealthCheckGracePeriod != null) { request.HealthCheckGracePeriod = cmdletContext.HealthCheckGracePeriod.Value; } if (cmdletContext.HealthCheckType != null) { request.HealthCheckType = cmdletContext.HealthCheckType; } if (cmdletContext.LaunchConfigurationName != null) { request.LaunchConfigurationName = cmdletContext.LaunchConfigurationName; } // populate LaunchTemplate var requestLaunchTemplateIsNull = true; request.LaunchTemplate = new Amazon.AutoScaling.Model.LaunchTemplateSpecification(); System.String requestLaunchTemplate_launchTemplate_LaunchTemplateId = null; if (cmdletContext.LaunchTemplate_LaunchTemplateId != null) { requestLaunchTemplate_launchTemplate_LaunchTemplateId = cmdletContext.LaunchTemplate_LaunchTemplateId; } if (requestLaunchTemplate_launchTemplate_LaunchTemplateId != null) { request.LaunchTemplate.LaunchTemplateId = requestLaunchTemplate_launchTemplate_LaunchTemplateId; requestLaunchTemplateIsNull = false; } System.String requestLaunchTemplate_launchTemplate_LaunchTemplateName = null; if (cmdletContext.LaunchTemplate_LaunchTemplateName != null) { requestLaunchTemplate_launchTemplate_LaunchTemplateName = cmdletContext.LaunchTemplate_LaunchTemplateName; } if (requestLaunchTemplate_launchTemplate_LaunchTemplateName != null) { request.LaunchTemplate.LaunchTemplateName = requestLaunchTemplate_launchTemplate_LaunchTemplateName; requestLaunchTemplateIsNull = false; } System.String requestLaunchTemplate_launchTemplate_Version = null; if (cmdletContext.LaunchTemplate_Version != null) { requestLaunchTemplate_launchTemplate_Version = cmdletContext.LaunchTemplate_Version; } if (requestLaunchTemplate_launchTemplate_Version != null) { request.LaunchTemplate.Version = requestLaunchTemplate_launchTemplate_Version; requestLaunchTemplateIsNull = false; } // determine if request.LaunchTemplate should be set to null if (requestLaunchTemplateIsNull) { request.LaunchTemplate = null; } if (cmdletContext.MaxInstanceLifetime != null) { request.MaxInstanceLifetime = cmdletContext.MaxInstanceLifetime.Value; } if (cmdletContext.MaxSize != null) { request.MaxSize = cmdletContext.MaxSize.Value; } if (cmdletContext.MinSize != null) { request.MinSize = cmdletContext.MinSize.Value; } if (cmdletContext.MixedInstancesPolicy != null) { request.MixedInstancesPolicy = cmdletContext.MixedInstancesPolicy; } if (cmdletContext.NewInstancesProtectedFromScaleIn != null) { request.NewInstancesProtectedFromScaleIn = cmdletContext.NewInstancesProtectedFromScaleIn.Value; } if (cmdletContext.PlacementGroup != null) { request.PlacementGroup = cmdletContext.PlacementGroup; } if (cmdletContext.ServiceLinkedRoleARN != null) { request.ServiceLinkedRoleARN = cmdletContext.ServiceLinkedRoleARN; } if (cmdletContext.TerminationPolicy != null) { request.TerminationPolicies = cmdletContext.TerminationPolicy; } if (cmdletContext.VPCZoneIdentifier != null) { request.VPCZoneIdentifier = cmdletContext.VPCZoneIdentifier; } CmdletOutput output; // issue call var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); try { var response = CallAWSServiceOperation(client, request); object pipelineOutput = null; pipelineOutput = cmdletContext.Select(response, this); output = new CmdletOutput { PipelineOutput = pipelineOutput, ServiceResponse = response }; } catch (Exception e) { output = new CmdletOutput { ErrorResponse = e }; } return(output); }
private Amazon.AutoScaling.Model.UpdateAutoScalingGroupResponse CallAWSServiceOperation(IAmazonAutoScaling client, Amazon.AutoScaling.Model.UpdateAutoScalingGroupRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Auto Scaling", "UpdateAutoScalingGroup"); try { #if DESKTOP return(client.UpdateAutoScalingGroup(request)); #elif CORECLR return(client.UpdateAutoScalingGroupAsync(request).GetAwaiter().GetResult()); #else #error "Unknown build edition" #endif } catch (AmazonServiceException exc) { var webException = exc.InnerException as System.Net.WebException; if (webException != null) { throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); } throw; } }
protected override void ProcessRecord() { AmazonAutoScaling client = base.GetClient(); Amazon.AutoScaling.Model.UpdateAutoScalingGroupRequest request = new Amazon.AutoScaling.Model.UpdateAutoScalingGroupRequest(); request.AutoScalingGroupName = this._AutoScalingGroupName; request.LaunchConfigurationName = this._LaunchConfigurationName; request.MinSize = this._MinSize; request.MaxSize = this._MaxSize; request.Cooldown = this._Cooldown; if (string.IsNullOrEmpty(this._AvailabilityZones)) { request.AvailabilityZones.Add(this._AvailabilityZones); } Amazon.AutoScaling.Model.UpdateAutoScalingGroupResponse response = client.UpdateAutoScalingGroup(request); }
/// <summary> /// Event handler for "Delete Auto Scaling Group" context menu click /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void mnuDeleteAsg(object sender, RoutedEventArgs e) { if (vm.SelectedAutoScalingGroup == null || vm.SelectedAutoScalingGroup.AutoScalingGroup.AutoScalingGroupName == null) { MessageBox.Show(Window.GetWindow(this), "Please select a Auto Scaling Group.", "Make Selection", MessageBoxButton.OK); return; } if (MessageBox.Show(Window.GetWindow(this), string.Concat("Do you want to delete the Auto Scaling Group: ", vm.SelectedAutoScalingGroup.AutoScalingGroup.AutoScalingGroupName, "?"), "Confirmation", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { vm.IsBusy = true; vm.BusyContent = "Shuting down group. Waiting for activities to complete."; AmazonAutoScalingClient client = GetAutoScaleClient(); UpdateAutoScalingGroupRequest req = new UpdateAutoScalingGroupRequest(); req.AutoScalingGroupName = vm.SelectedAutoScalingGroup.AutoScalingGroup.AutoScalingGroupName; req.MinSize = 0; req.MaxSize = 0; IAsyncResult result = client.BeginUpdateAutoScalingGroup(req, ShutdownAutoScaleGroupCallback, "Delete"); } }
/// <summary> /// <para> Updates the configuration for the specified AutoScalingGroup. </para> <para><b>NOTE:</b> To update an Auto Scaling group with a /// launch configuration that has the InstanceMonitoring flag set to False, you must first ensure that collection of group metrics is disabled. /// Otherwise, calls to UpdateAutoScalingGroup will fail. If you have previously enabled group metrics collection, you can disable collection of /// all group metrics by calling DisableMetricsCollection. </para> <para> The new settings are registered upon the completion of this call. Any /// launch configuration settings take effect on any triggers after this call returns. Triggers that are currently in progress aren't affected. /// </para> <para><b>NOTE:</b> If the new values are specified for the MinSize or MaxSize parameters, then there will be an implicit call to /// SetDesiredCapacity to set the group to the new MaxSize. All optional parameters are left unchanged if not passed in the request. </para> /// </summary> /// /// <param name="updateAutoScalingGroupRequest">Container for the necessary parameters to execute the UpdateAutoScalingGroup service method on /// AmazonAutoScaling.</param> /// /// <exception cref="ScalingActivityInProgressException"/> public UpdateAutoScalingGroupResponse UpdateAutoScalingGroup(UpdateAutoScalingGroupRequest updateAutoScalingGroupRequest) { IRequest<UpdateAutoScalingGroupRequest> request = new UpdateAutoScalingGroupRequestMarshaller().Marshall(updateAutoScalingGroupRequest); UpdateAutoScalingGroupResponse response = Invoke<UpdateAutoScalingGroupRequest, UpdateAutoScalingGroupResponse> (request, this.signer, UpdateAutoScalingGroupResponseUnmarshaller.GetInstance()); return response; }
internal UpdateAutoScalingGroupResponse UpdateAutoScalingGroup(UpdateAutoScalingGroupRequest request) { var task = UpdateAutoScalingGroupAsync(request); try { return task.Result; } catch(AggregateException e) { throw e.InnerException; } }
/// <summary> /// Initiates the asynchronous execution of the UpdateAutoScalingGroup operation. /// <seealso cref="Amazon.AutoScaling.IAmazonAutoScaling.UpdateAutoScalingGroup"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the UpdateAutoScalingGroup operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public async Task<UpdateAutoScalingGroupResponse> UpdateAutoScalingGroupAsync(UpdateAutoScalingGroupRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new UpdateAutoScalingGroupRequestMarshaller(); var unmarshaller = UpdateAutoScalingGroupResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, UpdateAutoScalingGroupRequest, UpdateAutoScalingGroupResponse>(request, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }