{ "version":"2.0", "metadata":{ "apiVersion":"2018-04-02", "endpointPrefix":"ec2-instance-connect", "jsonVersion":"1.1", "protocol":"json", "serviceAbbreviation":"EC2 Instance Connect", "serviceFullName":"AWS EC2 Instance Connect", "serviceId":"EC2 Instance Connect", "signatureVersion":"v4", "targetPrefix":"AWSEC2InstanceConnectService", "uid":"ec2-instance-connect-2018-04-02" }, "operations":{ "SendSSHPublicKey":{ "name":"SendSSHPublicKey", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"SendSSHPublicKeyRequest"}, "output":{"shape":"SendSSHPublicKeyResponse"}, "errors":[ {"shape":"AuthException"}, {"shape":"InvalidArgsException"}, {"shape":"ServiceException"}, {"shape":"ThrottlingException"}, {"shape":"EC2InstanceNotFoundException"} ], "documentation":"

Pushes an SSH public key to a particular OS user on a given EC2 instance for 60 seconds.

" } }, "shapes":{ "AuthException":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, "documentation":"

Indicates that either your AWS credentials are invalid or you do not have access to the EC2 instance.

", "exception":true }, "AvailabilityZone":{ "type":"string", "max":32, "min":6, "pattern":"^(\\w+-){2,3}\\d+\\w+$" }, "EC2InstanceNotFoundException":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, "documentation":"

Indicates that the instance requested was not found in the given zone. Check that you have provided a valid instance ID and the correct zone.

", "exception":true }, "InstanceId":{ "type":"string", "max":32, "min":10, "pattern":"^i-[a-f0-9]+$" }, "InstanceOSUser":{ "type":"string", "max":32, "min":1, "pattern":"^[A-Za-z_][A-Za-z0-9\\@\\._-]{0,30}[A-Za-z0-9\\$_-]?$" }, "InvalidArgsException":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, "documentation":"

Indicates that you provided bad input. Ensure you have a valid instance ID, the correct zone, and a valid SSH public key.

", "exception":true }, "RequestId":{"type":"string"}, "SSHPublicKey":{ "type":"string", "max":4096, "min":256 }, "SendSSHPublicKeyRequest":{ "type":"structure", "required":[ "InstanceId", "InstanceOSUser", "SSHPublicKey", "AvailabilityZone" ], "members":{ "InstanceId":{ "shape":"InstanceId", "documentation":"

The EC2 instance you wish to publish the SSH key to.

" }, "InstanceOSUser":{ "shape":"InstanceOSUser", "documentation":"

The OS user on the EC2 instance whom the key may be used to authenticate as.

" }, "SSHPublicKey":{ "shape":"SSHPublicKey", "documentation":"

The public key to be published to the instance. To use it after publication you must have the matching private key.

" }, "AvailabilityZone":{ "shape":"AvailabilityZone", "documentation":"

The availability zone the EC2 instance was launched in.

" } } }, "SendSSHPublicKeyResponse":{ "type":"structure", "members":{ "RequestId":{ "shape":"RequestId", "documentation":"

The request ID as logged by EC2 Connect. Please provide this when contacting AWS Support.

" }, "Success":{ "shape":"Success", "documentation":"

Indicates request success.

" } } }, "ServiceException":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, "documentation":"

Indicates that the service encountered an error. Follow the message's instructions and try again.

", "exception":true, "fault":true }, "String":{"type":"string"}, "Success":{"type":"boolean"}, "ThrottlingException":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, "documentation":"

Indicates you have been making requests too frequently and have been throttled. Wait for a while and try again. If higher call volume is warranted contact AWS Support.

", "exception":true } }, "documentation":"

AWS EC2 Connect Service is a service that enables system administrators to publish temporary SSH keys to their EC2 instances in order to establish connections to their instances without leaving a permanent authentication option.

" }