public void SendCommandMarshallTest() { var request = InstantiateClassGenerator.Execute <SendCommandRequest>(); var marshaller = new SendCommandRequestMarshaller(); var internalRequest = marshaller.Marshall(request); var jsonRequest = UTF8Encoding.UTF8.GetString(internalRequest.Content); Comparer.CompareObjectToJson <SendCommandRequest>(request, jsonRequest); var webResponse = new WebResponseData { Headers = { { "x-amzn-RequestId", Guid.NewGuid().ToString() }, { "x-amz-crc32", "0" } } }; var jsonResponse = new JsonSampleGenerator(service_model, service_model.FindOperation("SendCommand").ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(jsonResponse).Length.ToString()); UnmarshallerContext context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(jsonResponse), false, webResponse); var response = SendCommandResponseUnmarshaller.Instance.Unmarshall(context) as SendCommandResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
public void SendCommand_BadRequestExceptionMarshallTest() { var operation = service_model.FindOperation("SendCommand"); var request = InstantiateClassGenerator.Execute <SendCommandRequest>(); var marshaller = new SendCommandRequestMarshaller(); var internalRequest = marshaller.Marshall(request); var jsonRequest = UTF8Encoding.UTF8.GetString(internalRequest.Content); Comparer.CompareObjectToJson <SendCommandRequest>(request, jsonRequest); var exception = operation.Exceptions.First(e => e.Name.Equals("BadRequestException")); var jsonResponse = new JsonSampleGenerator(service_model, exception).Execute(); var webResponse = new WebResponseData { Headers = { { "x-amzn-RequestId", Guid.NewGuid().ToString() }, { "x-amz-crc32", "0" }, { "x-amzn-ErrorType", "BadRequestException" }, { "Content-Length", UTF8Encoding.UTF8.GetBytes(jsonResponse).Length.ToString() } } }; var context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(jsonResponse), true, webResponse, true); var response = SendCommandResponseUnmarshaller.Instance.UnmarshallException(context, null, System.Net.HttpStatusCode.OK); InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
public void SendCommandMarshallTest() { var request = InstantiateClassGenerator.Execute<SendCommandRequest>(); var marshaller = new SendCommandRequestMarshaller(); var internalRequest = marshaller.Marshall(request); var jsonRequest = UTF8Encoding.UTF8.GetString(internalRequest.Content); Comparer.CompareObjectToJson<SendCommandRequest>(request,jsonRequest); var webResponse = new WebResponseData { Headers = { {"x-amzn-RequestId", Guid.NewGuid().ToString()}, {"x-amz-crc32","0"} } }; var jsonResponse = new JsonSampleGenerator(service_model, service_model.FindOperation("SendCommand").ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(jsonResponse).Length.ToString()); UnmarshallerContext context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(jsonResponse), false, webResponse); var response = SendCommandResponseUnmarshaller.Instance.Unmarshall(context) as SendCommandResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
/// <summary> /// Initiates the asynchronous execution of the SendCommand operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the SendCommand operation on AmazonSimpleSystemsManagementClient.</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 EndSendCommand /// operation.</returns> public IAsyncResult BeginSendCommand(SendCommandRequest request, AsyncCallback callback, object state) { var marshaller = new SendCommandRequestMarshaller(); var unmarshaller = SendCommandResponseUnmarshaller.Instance; return BeginInvoke<SendCommandRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// Executes commands on one or more remote instances. /// </summary> /// <param name="request">Container for the necessary parameters to execute the SendCommand service method.</param> /// /// <returns>The response from the SendCommand service method, as returned by SimpleSystemsManagement.</returns> /// <exception cref="Amazon.SimpleSystemsManagement.Model.DuplicateInstanceIdException"> /// You cannot specify an instance ID in more than one association. /// </exception> /// <exception cref="Amazon.SimpleSystemsManagement.Model.InternalServerErrorException"> /// An error occurred on the server side. /// </exception> /// <exception cref="Amazon.SimpleSystemsManagement.Model.InvalidDocumentException"> /// The specified document does not exist. /// </exception> /// <exception cref="Amazon.SimpleSystemsManagement.Model.InvalidInstanceIdException"> /// The following problems can cause this exception: /// /// /// <para> /// You do not have permission to access the instance. /// </para> /// /// <para> /// The SSM agent is not running. On managed instances and Linux instances, verify that /// the SSM agent is running. On EC2 Windows instances, verify that the EC2Config service /// is running. /// </para> /// /// <para> /// The SSM agent or EC2Config service is not registered to the SSM endpoint. Try reinstalling /// the SSM agent or EC2Config service. /// </para> /// /// <para> /// The instance is not in valid state. Valid states are: Running, Pending, Stopped, Stopping. /// Invalid states are: Shutting-down and Terminated. /// </para> /// </exception> /// <exception cref="Amazon.SimpleSystemsManagement.Model.InvalidNotificationConfigException"> /// One or more configuration items is not valid. Verify that a valid Amazon Resource /// Name (ARN) was provided for an Amazon SNS topic. /// </exception> /// <exception cref="Amazon.SimpleSystemsManagement.Model.InvalidOutputFolderException"> /// The S3 bucket does not exist. /// </exception> /// <exception cref="Amazon.SimpleSystemsManagement.Model.InvalidParametersException"> /// You must specify values for all required parameters in the SSM document. You can only /// supply values to parameters defined in the SSM document. /// </exception> /// <exception cref="Amazon.SimpleSystemsManagement.Model.InvalidRoleException"> /// The role name can't contain invalid characters. Also verify that you specified an /// IAM role for notifications that includes the required trust policy. For information /// about configuring the IAM role for Run Command notifications, see <a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/rc-sns.html">Getting /// Amazon SNS Notifications When a Command Changes Status</a> in the <i>Amazon Elastic /// Compute Cloud User Guide </i>. /// </exception> /// <exception cref="Amazon.SimpleSystemsManagement.Model.MaxDocumentSizeExceededException"> /// The size limit of an SSM document is 64 KB. /// </exception> /// <exception cref="Amazon.SimpleSystemsManagement.Model.UnsupportedPlatformTypeException"> /// The document does not support the platform type of the given instance ID(s). For example, /// you sent an SSM document for a Windows instance to a Linux instance. /// </exception> public SendCommandResponse SendCommand(SendCommandRequest request) { var marshaller = new SendCommandRequestMarshaller(); var unmarshaller = SendCommandResponseUnmarshaller.Instance; return Invoke<SendCommandRequest,SendCommandResponse>(request, marshaller, unmarshaller); }
/// <summary> /// Initiates the asynchronous execution of the SendCommand operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the SendCommand 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<SendCommandResponse> SendCommandAsync(SendCommandRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new SendCommandRequestMarshaller(); var unmarshaller = SendCommandResponseUnmarshaller.Instance; return InvokeAsync<SendCommandRequest,SendCommandResponse>(request, marshaller, unmarshaller, cancellationToken); }