ec2instanceconnect

package
v1.37.29 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2021 License: Apache-2.0 Imports: 9 Imported by: 39

Documentation

Overview

Package ec2instanceconnect provides the client and types for making API requests to AWS EC2 Instance Connect.

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.

See https://docs.aws.amazon.com/goto/WebAPI/ec2-instance-connect-2018-04-02 for more information on this service.

See ec2instanceconnect package documentation for more information. https://docs.aws.amazon.com/sdk-for-go/api/service/ec2instanceconnect/

Using the Client

To contact AWS EC2 Instance Connect with the SDK use the New function to create a new service client. With that client you can make API requests to the service. These clients are safe to use concurrently.

See the SDK's documentation for more information on how to use the SDK. https://docs.aws.amazon.com/sdk-for-go/api/

See aws.Config documentation for more information on configuring SDK clients. https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config

See the AWS EC2 Instance Connect client EC2InstanceConnect for more information on creating client for this service. https://docs.aws.amazon.com/sdk-for-go/api/service/ec2instanceconnect/#New

Index

Examples

Constants

View Source
const (

	// ErrCodeAuthException for service response error code
	// "AuthException".
	//
	// Indicates that either your AWS credentials are invalid or you do not have
	// access to the EC2 instance.
	ErrCodeAuthException = "AuthException"

	// ErrCodeEC2InstanceNotFoundException for service response error code
	// "EC2InstanceNotFoundException".
	//
	// 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.
	ErrCodeEC2InstanceNotFoundException = "EC2InstanceNotFoundException"

	// ErrCodeInvalidArgsException for service response error code
	// "InvalidArgsException".
	//
	// Indicates that you provided bad input. Ensure you have a valid instance ID,
	// the correct zone, and a valid SSH public key.
	ErrCodeInvalidArgsException = "InvalidArgsException"

	// ErrCodeServiceException for service response error code
	// "ServiceException".
	//
	// Indicates that the service encountered an error. Follow the message's instructions
	// and try again.
	ErrCodeServiceException = "ServiceException"

	// ErrCodeThrottlingException for service response error code
	// "ThrottlingException".
	//
	// 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.
	ErrCodeThrottlingException = "ThrottlingException"
)
View Source
const (
	ServiceName = "EC2 Instance Connect" // Name of service.
	EndpointsID = "ec2-instance-connect" // ID to lookup a service endpoint with.
	ServiceID   = "EC2 Instance Connect" // ServiceID is a unique identifier of a specific service.
)

Service information constants

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthException added in v1.28.0

type AuthException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

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

func (*AuthException) Code added in v1.28.0

func (s *AuthException) Code() string

Code returns the exception type name.

func (*AuthException) Error added in v1.28.0

func (s *AuthException) Error() string

func (AuthException) GoString added in v1.28.0

func (s AuthException) GoString() string

GoString returns the string representation

func (*AuthException) Message added in v1.28.0

func (s *AuthException) Message() string

Message returns the exception's message.

func (*AuthException) OrigErr added in v1.28.0

func (s *AuthException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*AuthException) RequestID added in v1.28.0

func (s *AuthException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*AuthException) StatusCode added in v1.28.0

func (s *AuthException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (AuthException) String added in v1.28.0

func (s AuthException) String() string

String returns the string representation

type EC2InstanceConnect

type EC2InstanceConnect struct {
	*client.Client
}

EC2InstanceConnect provides the API operation methods for making requests to AWS EC2 Instance Connect. See this package's package overview docs for details on the service.

EC2InstanceConnect methods are safe to use concurrently. It is not safe to modify mutate any of the struct's properties though.

func New

New creates a new instance of the EC2InstanceConnect client with a session. If additional configuration is needed for the client instance use the optional aws.Config parameter to add your extra config.

Example:

mySession := session.Must(session.NewSession())

// Create a EC2InstanceConnect client from just a session.
svc := ec2instanceconnect.New(mySession)

// Create a EC2InstanceConnect client with additional configuration
svc := ec2instanceconnect.New(mySession, aws.NewConfig().WithRegion("us-west-2"))

func (*EC2InstanceConnect) SendSSHPublicKey

func (c *EC2InstanceConnect) SendSSHPublicKey(input *SendSSHPublicKeyInput) (*SendSSHPublicKeyOutput, error)

SendSSHPublicKey API operation for AWS EC2 Instance Connect.

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

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS EC2 Instance Connect's API operation SendSSHPublicKey for usage and error information.

Returned Error Types:

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

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

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

  • ThrottlingException 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.

  • EC2InstanceNotFoundException 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.

See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-instance-connect-2018-04-02/SendSSHPublicKey

Example (Shared00)

To push an SSH key to an EC2 instance

The following example pushes a sample SSH public key to the EC2 instance i-abcd1234 in AZ us-west-2b for use by the instance OS user ec2-user.

// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.

package main

import (
	"fmt"
	"strings"
	"time"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/ec2instanceconnect"
)

var _ time.Duration
var _ strings.Reader
var _ aws.Config

func parseTime(layout, value string) *time.Time {
	t, err := time.Parse(layout, value)
	if err != nil {
		panic(err)
	}
	return &t
}

// To push an SSH key to an EC2 instance
//
// The following example pushes a sample SSH public key to the EC2 instance i-abcd1234
// in AZ us-west-2b for use by the instance OS user ec2-user.
func main() {
	svc := ec2instanceconnect.New(session.New())
	input := &ec2instanceconnect.SendSSHPublicKeyInput{
		AvailabilityZone: aws.String("us-west-2a"),
		InstanceId:       aws.String("i-abcd1234"),
		InstanceOSUser:   aws.String("ec2-user"),
		SSHPublicKey:     aws.String("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3FlHqj2eqCdrGHuA6dRjfZXQ4HX5lXEIRHaNbxEwE5Te7xNF7StwhrDtiV7IdT5fDqbRyGw/szPj3xGkNTVoElCZ2dDFb2qYZ1WLIpZwj/UhO9l2mgfjR56UojjQut5Jvn2KZ1OcyrNO0J83kCaJCV7JoVbXY79FBMUccYNY45zmv9+1FMCfY6i2jdIhwR6+yLk8oubL8lIPyq7X+6b9S0yKCkB7Peml1DvghlybpAIUrC9vofHt6XP4V1i0bImw1IlljQS+DUmULRFSccATDscCX9ajnj7Crhm0HAZC0tBPXpFdHkPwL3yzYo546SCS9LKEwz62ymxxbL9k7h09t"),
	}

	result, err := svc.SendSSHPublicKey(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ec2instanceconnect.ErrCodeAuthException:
				fmt.Println(ec2instanceconnect.ErrCodeAuthException, aerr.Error())
			case ec2instanceconnect.ErrCodeInvalidArgsException:
				fmt.Println(ec2instanceconnect.ErrCodeInvalidArgsException, aerr.Error())
			case ec2instanceconnect.ErrCodeServiceException:
				fmt.Println(ec2instanceconnect.ErrCodeServiceException, aerr.Error())
			case ec2instanceconnect.ErrCodeThrottlingException:
				fmt.Println(ec2instanceconnect.ErrCodeThrottlingException, aerr.Error())
			case ec2instanceconnect.ErrCodeEC2InstanceNotFoundException:
				fmt.Println(ec2instanceconnect.ErrCodeEC2InstanceNotFoundException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*EC2InstanceConnect) SendSSHPublicKeyRequest

func (c *EC2InstanceConnect) SendSSHPublicKeyRequest(input *SendSSHPublicKeyInput) (req *request.Request, output *SendSSHPublicKeyOutput)

SendSSHPublicKeyRequest generates a "aws/request.Request" representing the client's request for the SendSSHPublicKey operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See SendSSHPublicKey for more information on using the SendSSHPublicKey API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the SendSSHPublicKeyRequest method.
req, resp := client.SendSSHPublicKeyRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-instance-connect-2018-04-02/SendSSHPublicKey

func (*EC2InstanceConnect) SendSSHPublicKeyWithContext

func (c *EC2InstanceConnect) SendSSHPublicKeyWithContext(ctx aws.Context, input *SendSSHPublicKeyInput, opts ...request.Option) (*SendSSHPublicKeyOutput, error)

SendSSHPublicKeyWithContext is the same as SendSSHPublicKey with the addition of the ability to pass a context and additional request options.

See SendSSHPublicKey for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

type EC2InstanceNotFoundException added in v1.28.0

type EC2InstanceNotFoundException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

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.

func (*EC2InstanceNotFoundException) Code added in v1.28.0

Code returns the exception type name.

func (*EC2InstanceNotFoundException) Error added in v1.28.0

func (EC2InstanceNotFoundException) GoString added in v1.28.0

func (s EC2InstanceNotFoundException) GoString() string

GoString returns the string representation

func (*EC2InstanceNotFoundException) Message added in v1.28.0

func (s *EC2InstanceNotFoundException) Message() string

Message returns the exception's message.

func (*EC2InstanceNotFoundException) OrigErr added in v1.28.0

func (s *EC2InstanceNotFoundException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*EC2InstanceNotFoundException) RequestID added in v1.28.0

func (s *EC2InstanceNotFoundException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*EC2InstanceNotFoundException) StatusCode added in v1.28.0

func (s *EC2InstanceNotFoundException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (EC2InstanceNotFoundException) String added in v1.28.0

String returns the string representation

type InvalidArgsException added in v1.28.0

type InvalidArgsException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

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

func (*InvalidArgsException) Code added in v1.28.0

func (s *InvalidArgsException) Code() string

Code returns the exception type name.

func (*InvalidArgsException) Error added in v1.28.0

func (s *InvalidArgsException) Error() string

func (InvalidArgsException) GoString added in v1.28.0

func (s InvalidArgsException) GoString() string

GoString returns the string representation

func (*InvalidArgsException) Message added in v1.28.0

func (s *InvalidArgsException) Message() string

Message returns the exception's message.

func (*InvalidArgsException) OrigErr added in v1.28.0

func (s *InvalidArgsException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*InvalidArgsException) RequestID added in v1.28.0

func (s *InvalidArgsException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*InvalidArgsException) StatusCode added in v1.28.0

func (s *InvalidArgsException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (InvalidArgsException) String added in v1.28.0

func (s InvalidArgsException) String() string

String returns the string representation

type SendSSHPublicKeyInput

type SendSSHPublicKeyInput struct {

	// The availability zone the EC2 instance was launched in.
	//
	// AvailabilityZone is a required field
	AvailabilityZone *string `min:"6" type:"string" required:"true"`

	// The EC2 instance you wish to publish the SSH key to.
	//
	// InstanceId is a required field
	InstanceId *string `min:"10" type:"string" required:"true"`

	// The OS user on the EC2 instance whom the key may be used to authenticate
	// as.
	//
	// InstanceOSUser is a required field
	InstanceOSUser *string `min:"1" type:"string" required:"true"`

	// The public key to be published to the instance. To use it after publication
	// you must have the matching private key.
	//
	// SSHPublicKey is a required field
	SSHPublicKey *string `min:"256" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (SendSSHPublicKeyInput) GoString

func (s SendSSHPublicKeyInput) GoString() string

GoString returns the string representation

func (*SendSSHPublicKeyInput) SetAvailabilityZone

func (s *SendSSHPublicKeyInput) SetAvailabilityZone(v string) *SendSSHPublicKeyInput

SetAvailabilityZone sets the AvailabilityZone field's value.

func (*SendSSHPublicKeyInput) SetInstanceId

func (s *SendSSHPublicKeyInput) SetInstanceId(v string) *SendSSHPublicKeyInput

SetInstanceId sets the InstanceId field's value.

func (*SendSSHPublicKeyInput) SetInstanceOSUser

func (s *SendSSHPublicKeyInput) SetInstanceOSUser(v string) *SendSSHPublicKeyInput

SetInstanceOSUser sets the InstanceOSUser field's value.

func (*SendSSHPublicKeyInput) SetSSHPublicKey

func (s *SendSSHPublicKeyInput) SetSSHPublicKey(v string) *SendSSHPublicKeyInput

SetSSHPublicKey sets the SSHPublicKey field's value.

func (SendSSHPublicKeyInput) String

func (s SendSSHPublicKeyInput) String() string

String returns the string representation

func (*SendSSHPublicKeyInput) Validate

func (s *SendSSHPublicKeyInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type SendSSHPublicKeyOutput

type SendSSHPublicKeyOutput struct {

	// The request ID as logged by EC2 Connect. Please provide this when contacting
	// AWS Support.
	RequestId *string `type:"string"`

	// Indicates request success.
	Success *bool `type:"boolean"`
	// contains filtered or unexported fields
}

func (SendSSHPublicKeyOutput) GoString

func (s SendSSHPublicKeyOutput) GoString() string

GoString returns the string representation

func (*SendSSHPublicKeyOutput) SetRequestId

SetRequestId sets the RequestId field's value.

func (*SendSSHPublicKeyOutput) SetSuccess

SetSuccess sets the Success field's value.

func (SendSSHPublicKeyOutput) String

func (s SendSSHPublicKeyOutput) String() string

String returns the string representation

type ServiceException added in v1.28.0

type ServiceException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

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

func (*ServiceException) Code added in v1.28.0

func (s *ServiceException) Code() string

Code returns the exception type name.

func (*ServiceException) Error added in v1.28.0

func (s *ServiceException) Error() string

func (ServiceException) GoString added in v1.28.0

func (s ServiceException) GoString() string

GoString returns the string representation

func (*ServiceException) Message added in v1.28.0

func (s *ServiceException) Message() string

Message returns the exception's message.

func (*ServiceException) OrigErr added in v1.28.0

func (s *ServiceException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*ServiceException) RequestID added in v1.28.0

func (s *ServiceException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*ServiceException) StatusCode added in v1.28.0

func (s *ServiceException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (ServiceException) String added in v1.28.0

func (s ServiceException) String() string

String returns the string representation

type ThrottlingException added in v1.28.0

type ThrottlingException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"Message" type:"string"`
	// contains filtered or unexported fields
}

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.

func (*ThrottlingException) Code added in v1.28.0

func (s *ThrottlingException) Code() string

Code returns the exception type name.

func (*ThrottlingException) Error added in v1.28.0

func (s *ThrottlingException) Error() string

func (ThrottlingException) GoString added in v1.28.0

func (s ThrottlingException) GoString() string

GoString returns the string representation

func (*ThrottlingException) Message added in v1.28.0

func (s *ThrottlingException) Message() string

Message returns the exception's message.

func (*ThrottlingException) OrigErr added in v1.28.0

func (s *ThrottlingException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*ThrottlingException) RequestID added in v1.28.0

func (s *ThrottlingException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*ThrottlingException) StatusCode added in v1.28.0

func (s *ThrottlingException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (ThrottlingException) String added in v1.28.0

func (s ThrottlingException) String() string

String returns the string representation

Directories

Path Synopsis
Package ec2instanceconnectiface provides an interface to enable mocking the AWS EC2 Instance Connect service client for testing your code.
Package ec2instanceconnectiface provides an interface to enable mocking the AWS EC2 Instance Connect service client for testing your code.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL