protected override void ProcessRecord() { AmazonEC2 client = base.GetClient(); Amazon.EC2.Model.ModifyInstanceAttributeRequest request = new Amazon.EC2.Model.ModifyInstanceAttributeRequest(); request.InstanceId = this._InstanceId; request.Attribute = this._Attribute; request.Value = this._Value; Amazon.EC2.Model.ModifyInstanceAttributeResponse response = client.ModifyInstanceAttribute(request); }
/// <summary> /// Initiates the asynchronous execution of the ModifyInstanceAttribute operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ModifyInstanceAttribute 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<ModifyInstanceAttributeResponse> ModifyInstanceAttributeAsync(ModifyInstanceAttributeRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new ModifyInstanceAttributeRequestMarshaller(); var unmarshaller = ModifyInstanceAttributeResponseUnmarshaller.Instance; return InvokeAsync<ModifyInstanceAttributeRequest,ModifyInstanceAttributeResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Modifies the specified attribute of the specified instance. You can specify only one /// attribute at a time. /// /// /// <para> /// To modify some attributes, the instance must be stopped. For more information, see /// <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html">Modifying /// Attributes of a Stopped Instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the ModifyInstanceAttribute service method.</param> /// /// <returns>The response from the ModifyInstanceAttribute service method, as returned by EC2.</returns> public ModifyInstanceAttributeResponse ModifyInstanceAttribute(ModifyInstanceAttributeRequest request) { var marshaller = new ModifyInstanceAttributeRequestMarshaller(); var unmarshaller = ModifyInstanceAttributeResponseUnmarshaller.Instance; return Invoke<ModifyInstanceAttributeRequest,ModifyInstanceAttributeResponse>(request, marshaller, unmarshaller); }
public void ModifyInstanceType(Ec2Key ec2Key, string instanceId, string instanceType) { AmazonEC2 ec2 = CreateAmazonEc2Client(ec2Key); var request = new ModifyInstanceAttributeRequest { Attribute = "instanceType", InstanceId = instanceId, Value = instanceType }; ec2.ModifyInstanceAttribute(request); }
/// <summary> /// Initiates the asynchronous execution of the ModifyInstanceAttribute operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ModifyInstanceAttribute operation on AmazonEC2Client.</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 EndModifyInstanceAttribute /// operation.</returns> public IAsyncResult BeginModifyInstanceAttribute(ModifyInstanceAttributeRequest request, AsyncCallback callback, object state) { var marshaller = new ModifyInstanceAttributeRequestMarshaller(); var unmarshaller = ModifyInstanceAttributeResponseUnmarshaller.Instance; return BeginInvoke<ModifyInstanceAttributeRequest>(request, marshaller, unmarshaller, callback, state); }
private Amazon.EC2.Model.ModifyInstanceAttributeResponse CallAWSServiceOperation(IAmazonEC2 client, Amazon.EC2.Model.ModifyInstanceAttributeRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Elastic Compute Cloud (EC2)", "ModifyInstanceAttribute"); try { #if DESKTOP return(client.ModifyInstanceAttribute(request)); #elif CORECLR return(client.ModifyInstanceAttributeAsync(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; } }
public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.EC2.Model.ModifyInstanceAttributeRequest(); if (cmdletContext.Attribute != null) { request.Attribute = cmdletContext.Attribute; } if (cmdletContext.BlockDeviceMapping != null) { request.BlockDeviceMappings = cmdletContext.BlockDeviceMapping; } if (cmdletContext.DisableApiTermination != null) { request.DisableApiTermination = cmdletContext.DisableApiTermination.Value; } if (cmdletContext.EbsOptimized != null) { request.EbsOptimized = cmdletContext.EbsOptimized.Value; } if (cmdletContext.EnaSupport != null) { request.EnaSupport = cmdletContext.EnaSupport.Value; } if (cmdletContext.Group != null) { request.Groups = cmdletContext.Group; } if (cmdletContext.InstanceId != null) { request.InstanceId = cmdletContext.InstanceId; } if (cmdletContext.InstanceInitiatedShutdownBehavior != null) { request.InstanceInitiatedShutdownBehavior = cmdletContext.InstanceInitiatedShutdownBehavior; } if (cmdletContext.InstanceType != null) { request.InstanceType = cmdletContext.InstanceType; } if (cmdletContext.Kernel != null) { request.Kernel = cmdletContext.Kernel; } if (cmdletContext.Ramdisk != null) { request.Ramdisk = cmdletContext.Ramdisk; } if (cmdletContext.SourceDestCheck != null) { request.SourceDestCheck = cmdletContext.SourceDestCheck.Value; } if (cmdletContext.SriovNetSupport != null) { request.SriovNetSupport = cmdletContext.SriovNetSupport; } if (cmdletContext.UserData != null) { request.UserData = cmdletContext.UserData; } if (cmdletContext.Value != null) { request.Value = cmdletContext.Value; } 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); }
IAsyncResult invokeModifyInstanceAttribute(ModifyInstanceAttributeRequest modifyInstanceAttributeRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new ModifyInstanceAttributeRequestMarshaller().Marshall(modifyInstanceAttributeRequest); var unmarshaller = ModifyInstanceAttributeResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
/// <summary> /// Initiates the asynchronous execution of the ModifyInstanceAttribute operation. /// <seealso cref="Amazon.EC2.IAmazonEC2.ModifyInstanceAttribute"/> /// </summary> /// /// <param name="modifyInstanceAttributeRequest">Container for the necessary parameters to execute the ModifyInstanceAttribute operation on /// AmazonEC2.</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 BeginModifyInstanceAttribute(ModifyInstanceAttributeRequest modifyInstanceAttributeRequest, AsyncCallback callback, object state) { return invokeModifyInstanceAttribute(modifyInstanceAttributeRequest, callback, state, false); }
/// <summary> /// <para>Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.</para> <para>To modify some /// attributes, the instance must be stopped. For more information, see <a /// href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html" >Modifying Attributes of a /// Stopped Instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i> .</para> /// </summary> /// /// <param name="modifyInstanceAttributeRequest">Container for the necessary parameters to execute the ModifyInstanceAttribute service method on /// AmazonEC2.</param> /// public ModifyInstanceAttributeResponse ModifyInstanceAttribute(ModifyInstanceAttributeRequest modifyInstanceAttributeRequest) { IAsyncResult asyncResult = invokeModifyInstanceAttribute(modifyInstanceAttributeRequest, null, null, true); return EndModifyInstanceAttribute(asyncResult); }
/// <summary> /// <para>Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.</para> <para>To modify some /// attributes, the instance must be stopped. For more information, see <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html">Modifying Attributes of a /// Stopped Instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i> .</para> /// </summary> /// /// <param name="modifyInstanceAttributeRequest">Container for the necessary parameters to execute the ModifyInstanceAttribute service method on /// AmazonEC2.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public Task<ModifyInstanceAttributeResponse> ModifyInstanceAttributeAsync(ModifyInstanceAttributeRequest modifyInstanceAttributeRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new ModifyInstanceAttributeRequestMarshaller(); var unmarshaller = ModifyInstanceAttributeResponseUnmarshaller.GetInstance(); return Invoke<IRequest, ModifyInstanceAttributeRequest, ModifyInstanceAttributeResponse>(modifyInstanceAttributeRequest, marshaller, unmarshaller, signer, cancellationToken); }
internal ModifyInstanceAttributeResponse ModifyInstanceAttribute(ModifyInstanceAttributeRequest request) { var task = ModifyInstanceAttributeAsync(request); try { return task.Result; } catch(AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return null; } }
/// <summary> /// Initiates the asynchronous execution of the ModifyInstanceAttribute operation. /// <seealso cref="Amazon.EC2.IAmazonEC2.ModifyInstanceAttribute"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ModifyInstanceAttribute 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<ModifyInstanceAttributeResponse> ModifyInstanceAttributeAsync(ModifyInstanceAttributeRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new ModifyInstanceAttributeRequestMarshaller(); var unmarshaller = ModifyInstanceAttributeResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, ModifyInstanceAttributeRequest, ModifyInstanceAttributeResponse>(request, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }
/// <summary> /// <para> Modifies an attribute of an instance. </para> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ModifyInstanceAttribute service method on /// AmazonEC2.</param> public ModifyInstanceAttributeResponse ModifyInstanceAttribute(ModifyInstanceAttributeRequest request) { var task = ModifyInstanceAttributeAsync(request); try { return task.Result; } catch(AggregateException e) { throw e.InnerException; } }
/// <summary> /// This method will look up the current VPC NAT ami in the region and create an instance in the subnet specified. /// </summary> /// <param name="ec2Client">The ec2client used to create the NAT instance</param> /// <param name="request">The properties used to launch the NAT instance.</param> /// <returns></returns> public static RunningInstance LaunchNATInstance(AmazonEC2 ec2Client, LaunchNATInstanceRequest request) { if (ec2Client == null) throw new ArgumentNullException("ec2Client"); if (request == null) throw new ArgumentNullException("request"); if (string.IsNullOrEmpty(request.SubnetId)) throw new ArgumentNullException("request.SubnetId"); if (string.IsNullOrEmpty(request.InstanceType)) throw new ArgumentNullException("request.InstanceType"); List<Filter> filters = new List<Filter>() { new Filter(){Name = "architecture", Value = new List<string>(){"x86_64"}}, new Filter(){Name = "name", Value = new List<string>(){"ami-vpc-nat-*.x86_64-ebs"}} }; DescribeImagesResponse imageResponse = ec2Client.DescribeImages(new DescribeImagesRequest() { Filter = filters }); var image = ImageUtilities.FindImage(ec2Client, ImageUtilities.VPC_NAT); if (image == null) { throw new AmazonEC2Exception("No NAT image found in this region"); } RunInstancesRequest runRequest = new RunInstancesRequest() { InstanceType = request.InstanceType, KeyName = request.KeyName, ImageId = image.ImageId, MinCount = 1, MaxCount = 1, SubnetId = request.SubnetId }; RunInstancesResponse runResponse = ec2Client.RunInstances(runRequest); string instanceId = runResponse.RunInstancesResult.Reservation.RunningInstance[0].InstanceId; // Can't associated elastic IP address until the instance is available WaitForInstanceToStartUp(ec2Client, instanceId); ModifyInstanceAttributeRequest modifyRequest = new ModifyInstanceAttributeRequest() { InstanceId = instanceId, Attribute = "sourceDestCheck", Value = "false" }; ec2Client.ModifyInstanceAttribute(modifyRequest); ec2Client.CreateTags(new CreateTagsRequest() { ResourceId = new List<string>() { instanceId }, Tag = new List<Tag>() { new Tag() { Key = "Name", Value = "NAT" } } }); var allocationId = ec2Client.AllocateAddress(new AllocateAddressRequest() { Domain = "vpc" }).AllocateAddressResult.AllocationId; ec2Client.AssociateAddress(new AssociateAddressRequest() { InstanceId = instanceId, AllocationId = allocationId }); var instance = ec2Client.DescribeInstances(new DescribeInstancesRequest() { InstanceId = new List<string>() { instanceId } }).DescribeInstancesResult.Reservation[0].RunningInstance[0]; return instance; }