diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json
index e9977b8ac7c..c3bb723f01a 100644
--- a/Godeps/Godeps.json
+++ b/Godeps/Godeps.json
@@ -28,6 +28,11 @@
"Comment": "v0.7.3",
"Rev": "bed164a424e75154a40550c04c313ef51a7bb275"
},
+ {
+ "ImportPath": "github.com/aws/aws-sdk-go/internal/protocol/ec2query",
+ "Comment": "v0.7.3",
+ "Rev": "bed164a424e75154a40550c04c313ef51a7bb275"
+ },
{
"ImportPath": "github.com/aws/aws-sdk-go/internal/protocol/query",
"Comment": "v0.7.3",
@@ -53,6 +58,11 @@
"Comment": "v0.7.3",
"Rev": "bed164a424e75154a40550c04c313ef51a7bb275"
},
+ {
+ "ImportPath": "github.com/aws/aws-sdk-go/service/ec2",
+ "Comment": "v0.7.3",
+ "Rev": "bed164a424e75154a40550c04c313ef51a7bb275"
+ },
{
"ImportPath": "github.com/davecgh/go-spew/spew",
"Rev": "2df174808ee097f90d259e432cc04442cf60be21"
diff --git a/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/build.go b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/build.go
new file mode 100644
index 00000000000..e3d4147ee33
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/build.go
@@ -0,0 +1,32 @@
+// Package ec2query provides serialisation of AWS EC2 requests and responses.
+package ec2query
+
+//go:generate go run ../../fixtures/protocol/generate.go ../../fixtures/protocol/input/ec2.json build_test.go
+
+import (
+ "net/url"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/internal/protocol/query/queryutil"
+)
+
+// Build builds a request for the EC2 protocol.
+func Build(r *aws.Request) {
+ body := url.Values{
+ "Action": {r.Operation.Name},
+ "Version": {r.Service.APIVersion},
+ }
+ if err := queryutil.Parse(body, r.Params, true); err != nil {
+ r.Error = awserr.New("SerializationError", "failed encoding EC2 Query request", err)
+ }
+
+ if r.ExpireTime == 0 {
+ r.HTTPRequest.Method = "POST"
+ r.HTTPRequest.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=utf-8")
+ r.SetBufferBody([]byte(body.Encode()))
+ } else { // This is a pre-signed request
+ r.HTTPRequest.Method = "GET"
+ r.HTTPRequest.URL.RawQuery = body.Encode()
+ }
+}
diff --git a/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/build_test.go b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/build_test.go
new file mode 100644
index 00000000000..7973dd3baec
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/build_test.go
@@ -0,0 +1,860 @@
+package ec2query_test
+
+import (
+ "bytes"
+ "encoding/json"
+ "encoding/xml"
+ "io"
+ "io/ioutil"
+ "net/http"
+ "net/url"
+ "testing"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/internal/protocol/ec2query"
+ "github.com/aws/aws-sdk-go/internal/protocol/xml/xmlutil"
+ "github.com/aws/aws-sdk-go/internal/signer/v4"
+ "github.com/aws/aws-sdk-go/internal/util"
+ "github.com/stretchr/testify/assert"
+)
+
+var _ bytes.Buffer // always import bytes
+var _ http.Request
+var _ json.Marshaler
+var _ time.Time
+var _ xmlutil.XMLNode
+var _ xml.Attr
+var _ = ioutil.Discard
+var _ = util.Trim("")
+var _ = url.Values{}
+var _ = io.EOF
+
+type InputService1ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new InputService1ProtocolTest client.
+func NewInputService1ProtocolTest(config *aws.Config) *InputService1ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "inputservice1protocoltest",
+ APIVersion: "2014-01-01",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &InputService1ProtocolTest{service}
+}
+
+// newRequest creates a new request for a InputService1ProtocolTest operation and runs any
+// custom request initialization.
+func (c *InputService1ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opInputService1TestCaseOperation1 = "OperationName"
+
+// InputService1TestCaseOperation1Request generates a request for the InputService1TestCaseOperation1 operation.
+func (c *InputService1ProtocolTest) InputService1TestCaseOperation1Request(input *InputService1TestShapeInputShape) (req *aws.Request, output *InputService1TestShapeInputService1TestCaseOperation1Output) {
+ op := &aws.Operation{
+ Name: opInputService1TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &InputService1TestShapeInputShape{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &InputService1TestShapeInputService1TestCaseOperation1Output{}
+ req.Data = output
+ return
+}
+
+func (c *InputService1ProtocolTest) InputService1TestCaseOperation1(input *InputService1TestShapeInputShape) (*InputService1TestShapeInputService1TestCaseOperation1Output, error) {
+ req, out := c.InputService1TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type InputService1TestShapeInputService1TestCaseOperation1Output struct {
+ metadataInputService1TestShapeInputService1TestCaseOperation1Output `json:"-" xml:"-"`
+}
+
+type metadataInputService1TestShapeInputService1TestCaseOperation1Output struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService1TestShapeInputShape struct {
+ Bar *string `type:"string"`
+
+ Foo *string `type:"string"`
+
+ metadataInputService1TestShapeInputShape `json:"-" xml:"-"`
+}
+
+type metadataInputService1TestShapeInputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService2ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new InputService2ProtocolTest client.
+func NewInputService2ProtocolTest(config *aws.Config) *InputService2ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "inputservice2protocoltest",
+ APIVersion: "2014-01-01",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &InputService2ProtocolTest{service}
+}
+
+// newRequest creates a new request for a InputService2ProtocolTest operation and runs any
+// custom request initialization.
+func (c *InputService2ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opInputService2TestCaseOperation1 = "OperationName"
+
+// InputService2TestCaseOperation1Request generates a request for the InputService2TestCaseOperation1 operation.
+func (c *InputService2ProtocolTest) InputService2TestCaseOperation1Request(input *InputService2TestShapeInputShape) (req *aws.Request, output *InputService2TestShapeInputService2TestCaseOperation1Output) {
+ op := &aws.Operation{
+ Name: opInputService2TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &InputService2TestShapeInputShape{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &InputService2TestShapeInputService2TestCaseOperation1Output{}
+ req.Data = output
+ return
+}
+
+func (c *InputService2ProtocolTest) InputService2TestCaseOperation1(input *InputService2TestShapeInputShape) (*InputService2TestShapeInputService2TestCaseOperation1Output, error) {
+ req, out := c.InputService2TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type InputService2TestShapeInputService2TestCaseOperation1Output struct {
+ metadataInputService2TestShapeInputService2TestCaseOperation1Output `json:"-" xml:"-"`
+}
+
+type metadataInputService2TestShapeInputService2TestCaseOperation1Output struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService2TestShapeInputShape struct {
+ Bar *string `locationName:"barLocationName" type:"string"`
+
+ Foo *string `type:"string"`
+
+ Yuck *string `locationName:"yuckLocationName" queryName:"yuckQueryName" type:"string"`
+
+ metadataInputService2TestShapeInputShape `json:"-" xml:"-"`
+}
+
+type metadataInputService2TestShapeInputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService3ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new InputService3ProtocolTest client.
+func NewInputService3ProtocolTest(config *aws.Config) *InputService3ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "inputservice3protocoltest",
+ APIVersion: "2014-01-01",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &InputService3ProtocolTest{service}
+}
+
+// newRequest creates a new request for a InputService3ProtocolTest operation and runs any
+// custom request initialization.
+func (c *InputService3ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opInputService3TestCaseOperation1 = "OperationName"
+
+// InputService3TestCaseOperation1Request generates a request for the InputService3TestCaseOperation1 operation.
+func (c *InputService3ProtocolTest) InputService3TestCaseOperation1Request(input *InputService3TestShapeInputShape) (req *aws.Request, output *InputService3TestShapeInputService3TestCaseOperation1Output) {
+ op := &aws.Operation{
+ Name: opInputService3TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &InputService3TestShapeInputShape{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &InputService3TestShapeInputService3TestCaseOperation1Output{}
+ req.Data = output
+ return
+}
+
+func (c *InputService3ProtocolTest) InputService3TestCaseOperation1(input *InputService3TestShapeInputShape) (*InputService3TestShapeInputService3TestCaseOperation1Output, error) {
+ req, out := c.InputService3TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type InputService3TestShapeInputService3TestCaseOperation1Output struct {
+ metadataInputService3TestShapeInputService3TestCaseOperation1Output `json:"-" xml:"-"`
+}
+
+type metadataInputService3TestShapeInputService3TestCaseOperation1Output struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService3TestShapeInputShape struct {
+ StructArg *InputService3TestShapeStructType `locationName:"Struct" type:"structure"`
+
+ metadataInputService3TestShapeInputShape `json:"-" xml:"-"`
+}
+
+type metadataInputService3TestShapeInputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService3TestShapeStructType struct {
+ ScalarArg *string `locationName:"Scalar" type:"string"`
+
+ metadataInputService3TestShapeStructType `json:"-" xml:"-"`
+}
+
+type metadataInputService3TestShapeStructType struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService4ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new InputService4ProtocolTest client.
+func NewInputService4ProtocolTest(config *aws.Config) *InputService4ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "inputservice4protocoltest",
+ APIVersion: "2014-01-01",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &InputService4ProtocolTest{service}
+}
+
+// newRequest creates a new request for a InputService4ProtocolTest operation and runs any
+// custom request initialization.
+func (c *InputService4ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opInputService4TestCaseOperation1 = "OperationName"
+
+// InputService4TestCaseOperation1Request generates a request for the InputService4TestCaseOperation1 operation.
+func (c *InputService4ProtocolTest) InputService4TestCaseOperation1Request(input *InputService4TestShapeInputShape) (req *aws.Request, output *InputService4TestShapeInputService4TestCaseOperation1Output) {
+ op := &aws.Operation{
+ Name: opInputService4TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &InputService4TestShapeInputShape{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &InputService4TestShapeInputService4TestCaseOperation1Output{}
+ req.Data = output
+ return
+}
+
+func (c *InputService4ProtocolTest) InputService4TestCaseOperation1(input *InputService4TestShapeInputShape) (*InputService4TestShapeInputService4TestCaseOperation1Output, error) {
+ req, out := c.InputService4TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type InputService4TestShapeInputService4TestCaseOperation1Output struct {
+ metadataInputService4TestShapeInputService4TestCaseOperation1Output `json:"-" xml:"-"`
+}
+
+type metadataInputService4TestShapeInputService4TestCaseOperation1Output struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService4TestShapeInputShape struct {
+ ListArg []*string `type:"list"`
+
+ metadataInputService4TestShapeInputShape `json:"-" xml:"-"`
+}
+
+type metadataInputService4TestShapeInputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService5ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new InputService5ProtocolTest client.
+func NewInputService5ProtocolTest(config *aws.Config) *InputService5ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "inputservice5protocoltest",
+ APIVersion: "2014-01-01",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &InputService5ProtocolTest{service}
+}
+
+// newRequest creates a new request for a InputService5ProtocolTest operation and runs any
+// custom request initialization.
+func (c *InputService5ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opInputService5TestCaseOperation1 = "OperationName"
+
+// InputService5TestCaseOperation1Request generates a request for the InputService5TestCaseOperation1 operation.
+func (c *InputService5ProtocolTest) InputService5TestCaseOperation1Request(input *InputService5TestShapeInputShape) (req *aws.Request, output *InputService5TestShapeInputService5TestCaseOperation1Output) {
+ op := &aws.Operation{
+ Name: opInputService5TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &InputService5TestShapeInputShape{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &InputService5TestShapeInputService5TestCaseOperation1Output{}
+ req.Data = output
+ return
+}
+
+func (c *InputService5ProtocolTest) InputService5TestCaseOperation1(input *InputService5TestShapeInputShape) (*InputService5TestShapeInputService5TestCaseOperation1Output, error) {
+ req, out := c.InputService5TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type InputService5TestShapeInputService5TestCaseOperation1Output struct {
+ metadataInputService5TestShapeInputService5TestCaseOperation1Output `json:"-" xml:"-"`
+}
+
+type metadataInputService5TestShapeInputService5TestCaseOperation1Output struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService5TestShapeInputShape struct {
+ ListArg []*string `locationName:"ListMemberName" locationNameList:"item" type:"list"`
+
+ metadataInputService5TestShapeInputShape `json:"-" xml:"-"`
+}
+
+type metadataInputService5TestShapeInputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService6ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new InputService6ProtocolTest client.
+func NewInputService6ProtocolTest(config *aws.Config) *InputService6ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "inputservice6protocoltest",
+ APIVersion: "2014-01-01",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &InputService6ProtocolTest{service}
+}
+
+// newRequest creates a new request for a InputService6ProtocolTest operation and runs any
+// custom request initialization.
+func (c *InputService6ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opInputService6TestCaseOperation1 = "OperationName"
+
+// InputService6TestCaseOperation1Request generates a request for the InputService6TestCaseOperation1 operation.
+func (c *InputService6ProtocolTest) InputService6TestCaseOperation1Request(input *InputService6TestShapeInputShape) (req *aws.Request, output *InputService6TestShapeInputService6TestCaseOperation1Output) {
+ op := &aws.Operation{
+ Name: opInputService6TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &InputService6TestShapeInputShape{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &InputService6TestShapeInputService6TestCaseOperation1Output{}
+ req.Data = output
+ return
+}
+
+func (c *InputService6ProtocolTest) InputService6TestCaseOperation1(input *InputService6TestShapeInputShape) (*InputService6TestShapeInputService6TestCaseOperation1Output, error) {
+ req, out := c.InputService6TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type InputService6TestShapeInputService6TestCaseOperation1Output struct {
+ metadataInputService6TestShapeInputService6TestCaseOperation1Output `json:"-" xml:"-"`
+}
+
+type metadataInputService6TestShapeInputService6TestCaseOperation1Output struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService6TestShapeInputShape struct {
+ ListArg []*string `locationName:"ListMemberName" queryName:"ListQueryName" locationNameList:"item" type:"list"`
+
+ metadataInputService6TestShapeInputShape `json:"-" xml:"-"`
+}
+
+type metadataInputService6TestShapeInputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService7ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new InputService7ProtocolTest client.
+func NewInputService7ProtocolTest(config *aws.Config) *InputService7ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "inputservice7protocoltest",
+ APIVersion: "2014-01-01",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &InputService7ProtocolTest{service}
+}
+
+// newRequest creates a new request for a InputService7ProtocolTest operation and runs any
+// custom request initialization.
+func (c *InputService7ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opInputService7TestCaseOperation1 = "OperationName"
+
+// InputService7TestCaseOperation1Request generates a request for the InputService7TestCaseOperation1 operation.
+func (c *InputService7ProtocolTest) InputService7TestCaseOperation1Request(input *InputService7TestShapeInputShape) (req *aws.Request, output *InputService7TestShapeInputService7TestCaseOperation1Output) {
+ op := &aws.Operation{
+ Name: opInputService7TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &InputService7TestShapeInputShape{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &InputService7TestShapeInputService7TestCaseOperation1Output{}
+ req.Data = output
+ return
+}
+
+func (c *InputService7ProtocolTest) InputService7TestCaseOperation1(input *InputService7TestShapeInputShape) (*InputService7TestShapeInputService7TestCaseOperation1Output, error) {
+ req, out := c.InputService7TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type InputService7TestShapeInputService7TestCaseOperation1Output struct {
+ metadataInputService7TestShapeInputService7TestCaseOperation1Output `json:"-" xml:"-"`
+}
+
+type metadataInputService7TestShapeInputService7TestCaseOperation1Output struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService7TestShapeInputShape struct {
+ BlobArg []byte `type:"blob"`
+
+ metadataInputService7TestShapeInputShape `json:"-" xml:"-"`
+}
+
+type metadataInputService7TestShapeInputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService8ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new InputService8ProtocolTest client.
+func NewInputService8ProtocolTest(config *aws.Config) *InputService8ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "inputservice8protocoltest",
+ APIVersion: "2014-01-01",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &InputService8ProtocolTest{service}
+}
+
+// newRequest creates a new request for a InputService8ProtocolTest operation and runs any
+// custom request initialization.
+func (c *InputService8ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opInputService8TestCaseOperation1 = "OperationName"
+
+// InputService8TestCaseOperation1Request generates a request for the InputService8TestCaseOperation1 operation.
+func (c *InputService8ProtocolTest) InputService8TestCaseOperation1Request(input *InputService8TestShapeInputShape) (req *aws.Request, output *InputService8TestShapeInputService8TestCaseOperation1Output) {
+ op := &aws.Operation{
+ Name: opInputService8TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &InputService8TestShapeInputShape{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &InputService8TestShapeInputService8TestCaseOperation1Output{}
+ req.Data = output
+ return
+}
+
+func (c *InputService8ProtocolTest) InputService8TestCaseOperation1(input *InputService8TestShapeInputShape) (*InputService8TestShapeInputService8TestCaseOperation1Output, error) {
+ req, out := c.InputService8TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type InputService8TestShapeInputService8TestCaseOperation1Output struct {
+ metadataInputService8TestShapeInputService8TestCaseOperation1Output `json:"-" xml:"-"`
+}
+
+type metadataInputService8TestShapeInputService8TestCaseOperation1Output struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type InputService8TestShapeInputShape struct {
+ TimeArg *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataInputService8TestShapeInputShape `json:"-" xml:"-"`
+}
+
+type metadataInputService8TestShapeInputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+//
+// Tests begin here
+//
+
+func TestInputService1ProtocolTestScalarMembersCase1(t *testing.T) {
+ svc := NewInputService1ProtocolTest(nil)
+ svc.Endpoint = "https://test"
+
+ input := &InputService1TestShapeInputShape{
+ Bar: aws.String("val2"),
+ Foo: aws.String("val1"),
+ }
+ req, _ := svc.InputService1TestCaseOperation1Request(input)
+ r := req.HTTPRequest
+
+ // build request
+ ec2query.Build(req)
+ assert.NoError(t, req.Error)
+
+ // assert body
+ assert.NotNil(t, r.Body)
+ body, _ := ioutil.ReadAll(r.Body)
+ assert.Equal(t, util.Trim(`Action=OperationName&Bar=val2&Foo=val1&Version=2014-01-01`), util.Trim(string(body)))
+
+ // assert URL
+ assert.Equal(t, "https://test/", r.URL.String())
+
+ // assert headers
+
+}
+
+func TestInputService2ProtocolTestStructureWithLocationNameAndQueryNameAppliedToMembersCase1(t *testing.T) {
+ svc := NewInputService2ProtocolTest(nil)
+ svc.Endpoint = "https://test"
+
+ input := &InputService2TestShapeInputShape{
+ Bar: aws.String("val2"),
+ Foo: aws.String("val1"),
+ Yuck: aws.String("val3"),
+ }
+ req, _ := svc.InputService2TestCaseOperation1Request(input)
+ r := req.HTTPRequest
+
+ // build request
+ ec2query.Build(req)
+ assert.NoError(t, req.Error)
+
+ // assert body
+ assert.NotNil(t, r.Body)
+ body, _ := ioutil.ReadAll(r.Body)
+ assert.Equal(t, util.Trim(`Action=OperationName&BarLocationName=val2&Foo=val1&Version=2014-01-01&yuckQueryName=val3`), util.Trim(string(body)))
+
+ // assert URL
+ assert.Equal(t, "https://test/", r.URL.String())
+
+ // assert headers
+
+}
+
+func TestInputService3ProtocolTestNestedStructureMembersCase1(t *testing.T) {
+ svc := NewInputService3ProtocolTest(nil)
+ svc.Endpoint = "https://test"
+
+ input := &InputService3TestShapeInputShape{
+ StructArg: &InputService3TestShapeStructType{
+ ScalarArg: aws.String("foo"),
+ },
+ }
+ req, _ := svc.InputService3TestCaseOperation1Request(input)
+ r := req.HTTPRequest
+
+ // build request
+ ec2query.Build(req)
+ assert.NoError(t, req.Error)
+
+ // assert body
+ assert.NotNil(t, r.Body)
+ body, _ := ioutil.ReadAll(r.Body)
+ assert.Equal(t, util.Trim(`Action=OperationName&Struct.Scalar=foo&Version=2014-01-01`), util.Trim(string(body)))
+
+ // assert URL
+ assert.Equal(t, "https://test/", r.URL.String())
+
+ // assert headers
+
+}
+
+func TestInputService4ProtocolTestListTypesCase1(t *testing.T) {
+ svc := NewInputService4ProtocolTest(nil)
+ svc.Endpoint = "https://test"
+
+ input := &InputService4TestShapeInputShape{
+ ListArg: []*string{
+ aws.String("foo"),
+ aws.String("bar"),
+ aws.String("baz"),
+ },
+ }
+ req, _ := svc.InputService4TestCaseOperation1Request(input)
+ r := req.HTTPRequest
+
+ // build request
+ ec2query.Build(req)
+ assert.NoError(t, req.Error)
+
+ // assert body
+ assert.NotNil(t, r.Body)
+ body, _ := ioutil.ReadAll(r.Body)
+ assert.Equal(t, util.Trim(`Action=OperationName&ListArg.1=foo&ListArg.2=bar&ListArg.3=baz&Version=2014-01-01`), util.Trim(string(body)))
+
+ // assert URL
+ assert.Equal(t, "https://test/", r.URL.String())
+
+ // assert headers
+
+}
+
+func TestInputService5ProtocolTestListWithLocationNameAppliedToMemberCase1(t *testing.T) {
+ svc := NewInputService5ProtocolTest(nil)
+ svc.Endpoint = "https://test"
+
+ input := &InputService5TestShapeInputShape{
+ ListArg: []*string{
+ aws.String("a"),
+ aws.String("b"),
+ aws.String("c"),
+ },
+ }
+ req, _ := svc.InputService5TestCaseOperation1Request(input)
+ r := req.HTTPRequest
+
+ // build request
+ ec2query.Build(req)
+ assert.NoError(t, req.Error)
+
+ // assert body
+ assert.NotNil(t, r.Body)
+ body, _ := ioutil.ReadAll(r.Body)
+ assert.Equal(t, util.Trim(`Action=OperationName&ListMemberName.1=a&ListMemberName.2=b&ListMemberName.3=c&Version=2014-01-01`), util.Trim(string(body)))
+
+ // assert URL
+ assert.Equal(t, "https://test/", r.URL.String())
+
+ // assert headers
+
+}
+
+func TestInputService6ProtocolTestListWithLocationNameAndQueryNameCase1(t *testing.T) {
+ svc := NewInputService6ProtocolTest(nil)
+ svc.Endpoint = "https://test"
+
+ input := &InputService6TestShapeInputShape{
+ ListArg: []*string{
+ aws.String("a"),
+ aws.String("b"),
+ aws.String("c"),
+ },
+ }
+ req, _ := svc.InputService6TestCaseOperation1Request(input)
+ r := req.HTTPRequest
+
+ // build request
+ ec2query.Build(req)
+ assert.NoError(t, req.Error)
+
+ // assert body
+ assert.NotNil(t, r.Body)
+ body, _ := ioutil.ReadAll(r.Body)
+ assert.Equal(t, util.Trim(`Action=OperationName&ListQueryName.1=a&ListQueryName.2=b&ListQueryName.3=c&Version=2014-01-01`), util.Trim(string(body)))
+
+ // assert URL
+ assert.Equal(t, "https://test/", r.URL.String())
+
+ // assert headers
+
+}
+
+func TestInputService7ProtocolTestBase64EncodedBlobsCase1(t *testing.T) {
+ svc := NewInputService7ProtocolTest(nil)
+ svc.Endpoint = "https://test"
+
+ input := &InputService7TestShapeInputShape{
+ BlobArg: []byte("foo"),
+ }
+ req, _ := svc.InputService7TestCaseOperation1Request(input)
+ r := req.HTTPRequest
+
+ // build request
+ ec2query.Build(req)
+ assert.NoError(t, req.Error)
+
+ // assert body
+ assert.NotNil(t, r.Body)
+ body, _ := ioutil.ReadAll(r.Body)
+ assert.Equal(t, util.Trim(`Action=OperationName&BlobArg=Zm9v&Version=2014-01-01`), util.Trim(string(body)))
+
+ // assert URL
+ assert.Equal(t, "https://test/", r.URL.String())
+
+ // assert headers
+
+}
+
+func TestInputService8ProtocolTestTimestampValuesCase1(t *testing.T) {
+ svc := NewInputService8ProtocolTest(nil)
+ svc.Endpoint = "https://test"
+
+ input := &InputService8TestShapeInputShape{
+ TimeArg: aws.Time(time.Unix(1422172800, 0)),
+ }
+ req, _ := svc.InputService8TestCaseOperation1Request(input)
+ r := req.HTTPRequest
+
+ // build request
+ ec2query.Build(req)
+ assert.NoError(t, req.Error)
+
+ // assert body
+ assert.NotNil(t, r.Body)
+ body, _ := ioutil.ReadAll(r.Body)
+ assert.Equal(t, util.Trim(`Action=OperationName&TimeArg=2015-01-25T08%3A00%3A00Z&Version=2014-01-01`), util.Trim(string(body)))
+
+ // assert URL
+ assert.Equal(t, "https://test/", r.URL.String())
+
+ // assert headers
+
+}
diff --git a/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/unmarshal.go b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/unmarshal.go
new file mode 100644
index 00000000000..e59b2bbac3e
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/unmarshal.go
@@ -0,0 +1,54 @@
+package ec2query
+
+//go:generate go run ../../fixtures/protocol/generate.go ../../fixtures/protocol/output/ec2.json unmarshal_test.go
+
+import (
+ "encoding/xml"
+ "io"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/internal/protocol/xml/xmlutil"
+)
+
+// Unmarshal unmarshals a response body for the EC2 protocol.
+func Unmarshal(r *aws.Request) {
+ defer r.HTTPResponse.Body.Close()
+ if r.DataFilled() {
+ decoder := xml.NewDecoder(r.HTTPResponse.Body)
+ err := xmlutil.UnmarshalXML(r.Data, decoder, "")
+ if err != nil {
+ r.Error = awserr.New("SerializationError", "failed decoding EC2 Query response", err)
+ return
+ }
+ }
+}
+
+// UnmarshalMeta unmarshals response headers for the EC2 protocol.
+func UnmarshalMeta(r *aws.Request) {
+ // TODO implement unmarshaling of request IDs
+}
+
+type xmlErrorResponse struct {
+ XMLName xml.Name `xml:"Response"`
+ Code string `xml:"Errors>Error>Code"`
+ Message string `xml:"Errors>Error>Message"`
+ RequestID string `xml:"RequestId"`
+}
+
+// UnmarshalError unmarshals a response error for the EC2 protocol.
+func UnmarshalError(r *aws.Request) {
+ defer r.HTTPResponse.Body.Close()
+
+ resp := &xmlErrorResponse{}
+ err := xml.NewDecoder(r.HTTPResponse.Body).Decode(resp)
+ if err != nil && err != io.EOF {
+ r.Error = awserr.New("SerializationError", "failed decoding EC2 Query error response", err)
+ } else {
+ r.Error = awserr.NewRequestFailure(
+ awserr.New(resp.Code, resp.Message, nil),
+ r.HTTPResponse.StatusCode,
+ resp.RequestID,
+ )
+ }
+}
diff --git a/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/unmarshal_test.go b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/unmarshal_test.go
new file mode 100644
index 00000000000..a4527c14e7e
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/internal/protocol/ec2query/unmarshal_test.go
@@ -0,0 +1,816 @@
+package ec2query_test
+
+import (
+ "bytes"
+ "encoding/json"
+ "encoding/xml"
+ "io"
+ "io/ioutil"
+ "net/http"
+ "net/url"
+ "testing"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/internal/protocol/ec2query"
+ "github.com/aws/aws-sdk-go/internal/protocol/xml/xmlutil"
+ "github.com/aws/aws-sdk-go/internal/signer/v4"
+ "github.com/aws/aws-sdk-go/internal/util"
+ "github.com/stretchr/testify/assert"
+)
+
+var _ bytes.Buffer // always import bytes
+var _ http.Request
+var _ json.Marshaler
+var _ time.Time
+var _ xmlutil.XMLNode
+var _ xml.Attr
+var _ = ioutil.Discard
+var _ = util.Trim("")
+var _ = url.Values{}
+var _ = io.EOF
+
+type OutputService1ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new OutputService1ProtocolTest client.
+func NewOutputService1ProtocolTest(config *aws.Config) *OutputService1ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "outputservice1protocoltest",
+ APIVersion: "",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &OutputService1ProtocolTest{service}
+}
+
+// newRequest creates a new request for a OutputService1ProtocolTest operation and runs any
+// custom request initialization.
+func (c *OutputService1ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opOutputService1TestCaseOperation1 = "OperationName"
+
+// OutputService1TestCaseOperation1Request generates a request for the OutputService1TestCaseOperation1 operation.
+func (c *OutputService1ProtocolTest) OutputService1TestCaseOperation1Request(input *OutputService1TestShapeOutputService1TestCaseOperation1Input) (req *aws.Request, output *OutputService1TestShapeOutputShape) {
+ op := &aws.Operation{
+ Name: opOutputService1TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &OutputService1TestShapeOutputService1TestCaseOperation1Input{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &OutputService1TestShapeOutputShape{}
+ req.Data = output
+ return
+}
+
+func (c *OutputService1ProtocolTest) OutputService1TestCaseOperation1(input *OutputService1TestShapeOutputService1TestCaseOperation1Input) (*OutputService1TestShapeOutputShape, error) {
+ req, out := c.OutputService1TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type OutputService1TestShapeOutputService1TestCaseOperation1Input struct {
+ metadataOutputService1TestShapeOutputService1TestCaseOperation1Input `json:"-" xml:"-"`
+}
+
+type metadataOutputService1TestShapeOutputService1TestCaseOperation1Input struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService1TestShapeOutputShape struct {
+ Char *string `type:"character"`
+
+ Double *float64 `type:"double"`
+
+ FalseBool *bool `type:"boolean"`
+
+ Float *float64 `type:"float"`
+
+ Long *int64 `type:"long"`
+
+ Num *int64 `locationName:"FooNum" type:"integer"`
+
+ Str *string `type:"string"`
+
+ TrueBool *bool `type:"boolean"`
+
+ metadataOutputService1TestShapeOutputShape `json:"-" xml:"-"`
+}
+
+type metadataOutputService1TestShapeOutputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService2ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new OutputService2ProtocolTest client.
+func NewOutputService2ProtocolTest(config *aws.Config) *OutputService2ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "outputservice2protocoltest",
+ APIVersion: "",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &OutputService2ProtocolTest{service}
+}
+
+// newRequest creates a new request for a OutputService2ProtocolTest operation and runs any
+// custom request initialization.
+func (c *OutputService2ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opOutputService2TestCaseOperation1 = "OperationName"
+
+// OutputService2TestCaseOperation1Request generates a request for the OutputService2TestCaseOperation1 operation.
+func (c *OutputService2ProtocolTest) OutputService2TestCaseOperation1Request(input *OutputService2TestShapeOutputService2TestCaseOperation1Input) (req *aws.Request, output *OutputService2TestShapeOutputShape) {
+ op := &aws.Operation{
+ Name: opOutputService2TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &OutputService2TestShapeOutputService2TestCaseOperation1Input{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &OutputService2TestShapeOutputShape{}
+ req.Data = output
+ return
+}
+
+func (c *OutputService2ProtocolTest) OutputService2TestCaseOperation1(input *OutputService2TestShapeOutputService2TestCaseOperation1Input) (*OutputService2TestShapeOutputShape, error) {
+ req, out := c.OutputService2TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type OutputService2TestShapeOutputService2TestCaseOperation1Input struct {
+ metadataOutputService2TestShapeOutputService2TestCaseOperation1Input `json:"-" xml:"-"`
+}
+
+type metadataOutputService2TestShapeOutputService2TestCaseOperation1Input struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService2TestShapeOutputShape struct {
+ Blob []byte `type:"blob"`
+
+ metadataOutputService2TestShapeOutputShape `json:"-" xml:"-"`
+}
+
+type metadataOutputService2TestShapeOutputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService3ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new OutputService3ProtocolTest client.
+func NewOutputService3ProtocolTest(config *aws.Config) *OutputService3ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "outputservice3protocoltest",
+ APIVersion: "",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &OutputService3ProtocolTest{service}
+}
+
+// newRequest creates a new request for a OutputService3ProtocolTest operation and runs any
+// custom request initialization.
+func (c *OutputService3ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opOutputService3TestCaseOperation1 = "OperationName"
+
+// OutputService3TestCaseOperation1Request generates a request for the OutputService3TestCaseOperation1 operation.
+func (c *OutputService3ProtocolTest) OutputService3TestCaseOperation1Request(input *OutputService3TestShapeOutputService3TestCaseOperation1Input) (req *aws.Request, output *OutputService3TestShapeOutputShape) {
+ op := &aws.Operation{
+ Name: opOutputService3TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &OutputService3TestShapeOutputService3TestCaseOperation1Input{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &OutputService3TestShapeOutputShape{}
+ req.Data = output
+ return
+}
+
+func (c *OutputService3ProtocolTest) OutputService3TestCaseOperation1(input *OutputService3TestShapeOutputService3TestCaseOperation1Input) (*OutputService3TestShapeOutputShape, error) {
+ req, out := c.OutputService3TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type OutputService3TestShapeOutputService3TestCaseOperation1Input struct {
+ metadataOutputService3TestShapeOutputService3TestCaseOperation1Input `json:"-" xml:"-"`
+}
+
+type metadataOutputService3TestShapeOutputService3TestCaseOperation1Input struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService3TestShapeOutputShape struct {
+ ListMember []*string `type:"list"`
+
+ metadataOutputService3TestShapeOutputShape `json:"-" xml:"-"`
+}
+
+type metadataOutputService3TestShapeOutputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService4ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new OutputService4ProtocolTest client.
+func NewOutputService4ProtocolTest(config *aws.Config) *OutputService4ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "outputservice4protocoltest",
+ APIVersion: "",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &OutputService4ProtocolTest{service}
+}
+
+// newRequest creates a new request for a OutputService4ProtocolTest operation and runs any
+// custom request initialization.
+func (c *OutputService4ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opOutputService4TestCaseOperation1 = "OperationName"
+
+// OutputService4TestCaseOperation1Request generates a request for the OutputService4TestCaseOperation1 operation.
+func (c *OutputService4ProtocolTest) OutputService4TestCaseOperation1Request(input *OutputService4TestShapeOutputService4TestCaseOperation1Input) (req *aws.Request, output *OutputService4TestShapeOutputShape) {
+ op := &aws.Operation{
+ Name: opOutputService4TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &OutputService4TestShapeOutputService4TestCaseOperation1Input{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &OutputService4TestShapeOutputShape{}
+ req.Data = output
+ return
+}
+
+func (c *OutputService4ProtocolTest) OutputService4TestCaseOperation1(input *OutputService4TestShapeOutputService4TestCaseOperation1Input) (*OutputService4TestShapeOutputShape, error) {
+ req, out := c.OutputService4TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type OutputService4TestShapeOutputService4TestCaseOperation1Input struct {
+ metadataOutputService4TestShapeOutputService4TestCaseOperation1Input `json:"-" xml:"-"`
+}
+
+type metadataOutputService4TestShapeOutputService4TestCaseOperation1Input struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService4TestShapeOutputShape struct {
+ ListMember []*string `locationNameList:"item" type:"list"`
+
+ metadataOutputService4TestShapeOutputShape `json:"-" xml:"-"`
+}
+
+type metadataOutputService4TestShapeOutputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService5ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new OutputService5ProtocolTest client.
+func NewOutputService5ProtocolTest(config *aws.Config) *OutputService5ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "outputservice5protocoltest",
+ APIVersion: "",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &OutputService5ProtocolTest{service}
+}
+
+// newRequest creates a new request for a OutputService5ProtocolTest operation and runs any
+// custom request initialization.
+func (c *OutputService5ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opOutputService5TestCaseOperation1 = "OperationName"
+
+// OutputService5TestCaseOperation1Request generates a request for the OutputService5TestCaseOperation1 operation.
+func (c *OutputService5ProtocolTest) OutputService5TestCaseOperation1Request(input *OutputService5TestShapeOutputService5TestCaseOperation1Input) (req *aws.Request, output *OutputService5TestShapeOutputShape) {
+ op := &aws.Operation{
+ Name: opOutputService5TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &OutputService5TestShapeOutputService5TestCaseOperation1Input{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &OutputService5TestShapeOutputShape{}
+ req.Data = output
+ return
+}
+
+func (c *OutputService5ProtocolTest) OutputService5TestCaseOperation1(input *OutputService5TestShapeOutputService5TestCaseOperation1Input) (*OutputService5TestShapeOutputShape, error) {
+ req, out := c.OutputService5TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type OutputService5TestShapeOutputService5TestCaseOperation1Input struct {
+ metadataOutputService5TestShapeOutputService5TestCaseOperation1Input `json:"-" xml:"-"`
+}
+
+type metadataOutputService5TestShapeOutputService5TestCaseOperation1Input struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService5TestShapeOutputShape struct {
+ ListMember []*string `type:"list" flattened:"true"`
+
+ metadataOutputService5TestShapeOutputShape `json:"-" xml:"-"`
+}
+
+type metadataOutputService5TestShapeOutputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService6ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new OutputService6ProtocolTest client.
+func NewOutputService6ProtocolTest(config *aws.Config) *OutputService6ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "outputservice6protocoltest",
+ APIVersion: "",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &OutputService6ProtocolTest{service}
+}
+
+// newRequest creates a new request for a OutputService6ProtocolTest operation and runs any
+// custom request initialization.
+func (c *OutputService6ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opOutputService6TestCaseOperation1 = "OperationName"
+
+// OutputService6TestCaseOperation1Request generates a request for the OutputService6TestCaseOperation1 operation.
+func (c *OutputService6ProtocolTest) OutputService6TestCaseOperation1Request(input *OutputService6TestShapeOutputService6TestCaseOperation1Input) (req *aws.Request, output *OutputService6TestShapeOutputShape) {
+ op := &aws.Operation{
+ Name: opOutputService6TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &OutputService6TestShapeOutputService6TestCaseOperation1Input{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &OutputService6TestShapeOutputShape{}
+ req.Data = output
+ return
+}
+
+func (c *OutputService6ProtocolTest) OutputService6TestCaseOperation1(input *OutputService6TestShapeOutputService6TestCaseOperation1Input) (*OutputService6TestShapeOutputShape, error) {
+ req, out := c.OutputService6TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type OutputService6TestShapeOutputService6TestCaseOperation1Input struct {
+ metadataOutputService6TestShapeOutputService6TestCaseOperation1Input `json:"-" xml:"-"`
+}
+
+type metadataOutputService6TestShapeOutputService6TestCaseOperation1Input struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService6TestShapeOutputShape struct {
+ Map map[string]*OutputService6TestShapeStructureType `type:"map"`
+
+ metadataOutputService6TestShapeOutputShape `json:"-" xml:"-"`
+}
+
+type metadataOutputService6TestShapeOutputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService6TestShapeStructureType struct {
+ Foo *string `locationName:"foo" type:"string"`
+
+ metadataOutputService6TestShapeStructureType `json:"-" xml:"-"`
+}
+
+type metadataOutputService6TestShapeStructureType struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService7ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new OutputService7ProtocolTest client.
+func NewOutputService7ProtocolTest(config *aws.Config) *OutputService7ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "outputservice7protocoltest",
+ APIVersion: "",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &OutputService7ProtocolTest{service}
+}
+
+// newRequest creates a new request for a OutputService7ProtocolTest operation and runs any
+// custom request initialization.
+func (c *OutputService7ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opOutputService7TestCaseOperation1 = "OperationName"
+
+// OutputService7TestCaseOperation1Request generates a request for the OutputService7TestCaseOperation1 operation.
+func (c *OutputService7ProtocolTest) OutputService7TestCaseOperation1Request(input *OutputService7TestShapeOutputService7TestCaseOperation1Input) (req *aws.Request, output *OutputService7TestShapeOutputShape) {
+ op := &aws.Operation{
+ Name: opOutputService7TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &OutputService7TestShapeOutputService7TestCaseOperation1Input{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &OutputService7TestShapeOutputShape{}
+ req.Data = output
+ return
+}
+
+func (c *OutputService7ProtocolTest) OutputService7TestCaseOperation1(input *OutputService7TestShapeOutputService7TestCaseOperation1Input) (*OutputService7TestShapeOutputShape, error) {
+ req, out := c.OutputService7TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type OutputService7TestShapeOutputService7TestCaseOperation1Input struct {
+ metadataOutputService7TestShapeOutputService7TestCaseOperation1Input `json:"-" xml:"-"`
+}
+
+type metadataOutputService7TestShapeOutputService7TestCaseOperation1Input struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService7TestShapeOutputShape struct {
+ Map map[string]*string `type:"map" flattened:"true"`
+
+ metadataOutputService7TestShapeOutputShape `json:"-" xml:"-"`
+}
+
+type metadataOutputService7TestShapeOutputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService8ProtocolTest struct {
+ *aws.Service
+}
+
+// New returns a new OutputService8ProtocolTest client.
+func NewOutputService8ProtocolTest(config *aws.Config) *OutputService8ProtocolTest {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "outputservice8protocoltest",
+ APIVersion: "",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ return &OutputService8ProtocolTest{service}
+}
+
+// newRequest creates a new request for a OutputService8ProtocolTest operation and runs any
+// custom request initialization.
+func (c *OutputService8ProtocolTest) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ return req
+}
+
+const opOutputService8TestCaseOperation1 = "OperationName"
+
+// OutputService8TestCaseOperation1Request generates a request for the OutputService8TestCaseOperation1 operation.
+func (c *OutputService8ProtocolTest) OutputService8TestCaseOperation1Request(input *OutputService8TestShapeOutputService8TestCaseOperation1Input) (req *aws.Request, output *OutputService8TestShapeOutputShape) {
+ op := &aws.Operation{
+ Name: opOutputService8TestCaseOperation1,
+ }
+
+ if input == nil {
+ input = &OutputService8TestShapeOutputService8TestCaseOperation1Input{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &OutputService8TestShapeOutputShape{}
+ req.Data = output
+ return
+}
+
+func (c *OutputService8ProtocolTest) OutputService8TestCaseOperation1(input *OutputService8TestShapeOutputService8TestCaseOperation1Input) (*OutputService8TestShapeOutputShape, error) {
+ req, out := c.OutputService8TestCaseOperation1Request(input)
+ err := req.Send()
+ return out, err
+}
+
+type OutputService8TestShapeOutputService8TestCaseOperation1Input struct {
+ metadataOutputService8TestShapeOutputService8TestCaseOperation1Input `json:"-" xml:"-"`
+}
+
+type metadataOutputService8TestShapeOutputService8TestCaseOperation1Input struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+type OutputService8TestShapeOutputShape struct {
+ Map map[string]*string `locationNameKey:"foo" locationNameValue:"bar" type:"map" flattened:"true"`
+
+ metadataOutputService8TestShapeOutputShape `json:"-" xml:"-"`
+}
+
+type metadataOutputService8TestShapeOutputShape struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+//
+// Tests begin here
+//
+
+func TestOutputService1ProtocolTestScalarMembersCase1(t *testing.T) {
+ svc := NewOutputService1ProtocolTest(nil)
+
+ buf := bytes.NewReader([]byte("myname123falsetrue1.21.3200arequest-id"))
+ req, out := svc.OutputService1TestCaseOperation1Request(nil)
+ req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
+
+ // set headers
+
+ // unmarshal response
+ ec2query.UnmarshalMeta(req)
+ ec2query.Unmarshal(req)
+ assert.NoError(t, req.Error)
+
+ // assert response
+ assert.NotNil(t, out) // ensure out variable is used
+ assert.Equal(t, "a", *out.Char)
+ assert.Equal(t, 1.3, *out.Double)
+ assert.Equal(t, false, *out.FalseBool)
+ assert.Equal(t, 1.2, *out.Float)
+ assert.Equal(t, int64(200), *out.Long)
+ assert.Equal(t, int64(123), *out.Num)
+ assert.Equal(t, "myname", *out.Str)
+ assert.Equal(t, true, *out.TrueBool)
+
+}
+
+func TestOutputService2ProtocolTestBlobCase1(t *testing.T) {
+ svc := NewOutputService2ProtocolTest(nil)
+
+ buf := bytes.NewReader([]byte("dmFsdWU=requestid"))
+ req, out := svc.OutputService2TestCaseOperation1Request(nil)
+ req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
+
+ // set headers
+
+ // unmarshal response
+ ec2query.UnmarshalMeta(req)
+ ec2query.Unmarshal(req)
+ assert.NoError(t, req.Error)
+
+ // assert response
+ assert.NotNil(t, out) // ensure out variable is used
+ assert.Equal(t, "value", string(out.Blob))
+
+}
+
+func TestOutputService3ProtocolTestListsCase1(t *testing.T) {
+ svc := NewOutputService3ProtocolTest(nil)
+
+ buf := bytes.NewReader([]byte("abc123requestid"))
+ req, out := svc.OutputService3TestCaseOperation1Request(nil)
+ req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
+
+ // set headers
+
+ // unmarshal response
+ ec2query.UnmarshalMeta(req)
+ ec2query.Unmarshal(req)
+ assert.NoError(t, req.Error)
+
+ // assert response
+ assert.NotNil(t, out) // ensure out variable is used
+ assert.Equal(t, "abc", *out.ListMember[0])
+ assert.Equal(t, "123", *out.ListMember[1])
+
+}
+
+func TestOutputService4ProtocolTestListWithCustomMemberNameCase1(t *testing.T) {
+ svc := NewOutputService4ProtocolTest(nil)
+
+ buf := bytes.NewReader([]byte("- abc
- 123
requestid"))
+ req, out := svc.OutputService4TestCaseOperation1Request(nil)
+ req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
+
+ // set headers
+
+ // unmarshal response
+ ec2query.UnmarshalMeta(req)
+ ec2query.Unmarshal(req)
+ assert.NoError(t, req.Error)
+
+ // assert response
+ assert.NotNil(t, out) // ensure out variable is used
+ assert.Equal(t, "abc", *out.ListMember[0])
+ assert.Equal(t, "123", *out.ListMember[1])
+
+}
+
+func TestOutputService5ProtocolTestFlattenedListCase1(t *testing.T) {
+ svc := NewOutputService5ProtocolTest(nil)
+
+ buf := bytes.NewReader([]byte("abc123requestid"))
+ req, out := svc.OutputService5TestCaseOperation1Request(nil)
+ req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
+
+ // set headers
+
+ // unmarshal response
+ ec2query.UnmarshalMeta(req)
+ ec2query.Unmarshal(req)
+ assert.NoError(t, req.Error)
+
+ // assert response
+ assert.NotNil(t, out) // ensure out variable is used
+ assert.Equal(t, "abc", *out.ListMember[0])
+ assert.Equal(t, "123", *out.ListMember[1])
+
+}
+
+func TestOutputService6ProtocolTestNormalMapCase1(t *testing.T) {
+ svc := NewOutputService6ProtocolTest(nil)
+
+ buf := bytes.NewReader([]byte("requestid"))
+ req, out := svc.OutputService6TestCaseOperation1Request(nil)
+ req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
+
+ // set headers
+
+ // unmarshal response
+ ec2query.UnmarshalMeta(req)
+ ec2query.Unmarshal(req)
+ assert.NoError(t, req.Error)
+
+ // assert response
+ assert.NotNil(t, out) // ensure out variable is used
+ assert.Equal(t, "bam", *out.Map["baz"].Foo)
+ assert.Equal(t, "bar", *out.Map["qux"].Foo)
+
+}
+
+func TestOutputService7ProtocolTestFlattenedMapCase1(t *testing.T) {
+ svc := NewOutputService7ProtocolTest(nil)
+
+ buf := bytes.NewReader([]byte("requestid"))
+ req, out := svc.OutputService7TestCaseOperation1Request(nil)
+ req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
+
+ // set headers
+
+ // unmarshal response
+ ec2query.UnmarshalMeta(req)
+ ec2query.Unmarshal(req)
+ assert.NoError(t, req.Error)
+
+ // assert response
+ assert.NotNil(t, out) // ensure out variable is used
+ assert.Equal(t, "bam", *out.Map["baz"])
+ assert.Equal(t, "bar", *out.Map["qux"])
+
+}
+
+func TestOutputService8ProtocolTestNamedMapCase1(t *testing.T) {
+ svc := NewOutputService8ProtocolTest(nil)
+
+ buf := bytes.NewReader([]byte("requestid"))
+ req, out := svc.OutputService8TestCaseOperation1Request(nil)
+ req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
+
+ // set headers
+
+ // unmarshal response
+ ec2query.UnmarshalMeta(req)
+ ec2query.Unmarshal(req)
+ assert.NoError(t, req.Error)
+
+ // assert response
+ assert.NotNil(t, out) // ensure out variable is used
+ assert.Equal(t, "bam", *out.Map["baz"])
+ assert.Equal(t, "bar", *out.Map["qux"])
+
+}
diff --git a/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/api.go b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/api.go
new file mode 100644
index 00000000000..b6e84b4b43d
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/api.go
@@ -0,0 +1,24490 @@
+// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+
+// Package ec2 provides a client for Amazon Elastic Compute Cloud.
+package ec2
+
+import (
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awsutil"
+)
+
+const opAcceptVPCPeeringConnection = "AcceptVpcPeeringConnection"
+
+// AcceptVPCPeeringConnectionRequest generates a request for the AcceptVPCPeeringConnection operation.
+func (c *EC2) AcceptVPCPeeringConnectionRequest(input *AcceptVPCPeeringConnectionInput) (req *aws.Request, output *AcceptVPCPeeringConnectionOutput) {
+ op := &aws.Operation{
+ Name: opAcceptVPCPeeringConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AcceptVPCPeeringConnectionInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AcceptVPCPeeringConnectionOutput{}
+ req.Data = output
+ return
+}
+
+// Accept a VPC peering connection request. To accept a request, the VPC peering
+// connection must be in the pending-acceptance state, and you must be the owner
+// of the peer VPC. Use the DescribeVpcPeeringConnections request to view your
+// outstanding VPC peering connection requests.
+func (c *EC2) AcceptVPCPeeringConnection(input *AcceptVPCPeeringConnectionInput) (*AcceptVPCPeeringConnectionOutput, error) {
+ req, out := c.AcceptVPCPeeringConnectionRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAllocateAddress = "AllocateAddress"
+
+// AllocateAddressRequest generates a request for the AllocateAddress operation.
+func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *aws.Request, output *AllocateAddressOutput) {
+ op := &aws.Operation{
+ Name: opAllocateAddress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AllocateAddressInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AllocateAddressOutput{}
+ req.Data = output
+ return
+}
+
+// Acquires an Elastic IP address.
+//
+// An Elastic IP address is for use either in the EC2-Classic platform or in
+// a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
+ req, out := c.AllocateAddressRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAssignPrivateIPAddresses = "AssignPrivateIpAddresses"
+
+// AssignPrivateIPAddressesRequest generates a request for the AssignPrivateIPAddresses operation.
+func (c *EC2) AssignPrivateIPAddressesRequest(input *AssignPrivateIPAddressesInput) (req *aws.Request, output *AssignPrivateIPAddressesOutput) {
+ op := &aws.Operation{
+ Name: opAssignPrivateIPAddresses,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssignPrivateIPAddressesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AssignPrivateIPAddressesOutput{}
+ req.Data = output
+ return
+}
+
+// Assigns one or more secondary private IP addresses to the specified network
+// interface. You can specify one or more specific secondary IP addresses, or
+// you can specify the number of secondary IP addresses to be automatically
+// assigned within the subnet's CIDR block range. The number of secondary IP
+// addresses that you can assign to an instance varies by instance type. For
+// information about instance types, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
+// in the Amazon Elastic Compute Cloud User Guide. For more information about
+// Elastic IP addresses, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// AssignPrivateIpAddresses is available only in EC2-VPC.
+func (c *EC2) AssignPrivateIPAddresses(input *AssignPrivateIPAddressesInput) (*AssignPrivateIPAddressesOutput, error) {
+ req, out := c.AssignPrivateIPAddressesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAssociateAddress = "AssociateAddress"
+
+// AssociateAddressRequest generates a request for the AssociateAddress operation.
+func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *aws.Request, output *AssociateAddressOutput) {
+ op := &aws.Operation{
+ Name: opAssociateAddress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssociateAddressInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AssociateAddressOutput{}
+ req.Data = output
+ return
+}
+
+// Associates an Elastic IP address with an instance or a network interface.
+//
+// An Elastic IP address is for use in either the EC2-Classic platform or in
+// a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address
+// is already associated with a different instance, it is disassociated from
+// that instance and associated with the specified instance.
+//
+// [VPC in an EC2-Classic account] If you don't specify a private IP address,
+// the Elastic IP address is associated with the primary IP address. If the
+// Elastic IP address is already associated with a different instance or a network
+// interface, you get an error unless you allow reassociation.
+//
+// This is an idempotent operation. If you perform the operation more than
+// once, Amazon EC2 doesn't return an error.
+func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
+ req, out := c.AssociateAddressRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAssociateDHCPOptions = "AssociateDhcpOptions"
+
+// AssociateDHCPOptionsRequest generates a request for the AssociateDHCPOptions operation.
+func (c *EC2) AssociateDHCPOptionsRequest(input *AssociateDHCPOptionsInput) (req *aws.Request, output *AssociateDHCPOptionsOutput) {
+ op := &aws.Operation{
+ Name: opAssociateDHCPOptions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssociateDHCPOptionsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AssociateDHCPOptionsOutput{}
+ req.Data = output
+ return
+}
+
+// Associates a set of DHCP options (that you've previously created) with the
+// specified VPC, or associates no DHCP options with the VPC.
+//
+// After you associate the options with the VPC, any existing instances and
+// all new instances that you launch in that VPC use the options. You don't
+// need to restart or relaunch the instances. They automatically pick up the
+// changes within a few hours, depending on how frequently the instance renews
+// its DHCP lease. You can explicitly renew the lease using the operating system
+// on the instance.
+//
+// For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) AssociateDHCPOptions(input *AssociateDHCPOptionsInput) (*AssociateDHCPOptionsOutput, error) {
+ req, out := c.AssociateDHCPOptionsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAssociateRouteTable = "AssociateRouteTable"
+
+// AssociateRouteTableRequest generates a request for the AssociateRouteTable operation.
+func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *aws.Request, output *AssociateRouteTableOutput) {
+ op := &aws.Operation{
+ Name: opAssociateRouteTable,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AssociateRouteTableInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AssociateRouteTableOutput{}
+ req.Data = output
+ return
+}
+
+// Associates a subnet with a route table. The subnet and route table must be
+// in the same VPC. This association causes traffic originating from the subnet
+// to be routed according to the routes in the route table. The action returns
+// an association ID, which you need in order to disassociate the route table
+// from the subnet later. A route table can be associated with multiple subnets.
+//
+// For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
+ req, out := c.AssociateRouteTableRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAttachClassicLinkVPC = "AttachClassicLinkVpc"
+
+// AttachClassicLinkVPCRequest generates a request for the AttachClassicLinkVPC operation.
+func (c *EC2) AttachClassicLinkVPCRequest(input *AttachClassicLinkVPCInput) (req *aws.Request, output *AttachClassicLinkVPCOutput) {
+ op := &aws.Operation{
+ Name: opAttachClassicLinkVPC,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AttachClassicLinkVPCInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AttachClassicLinkVPCOutput{}
+ req.Data = output
+ return
+}
+
+// Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
+// more of the VPC's security groups. You cannot link an EC2-Classic instance
+// to more than one VPC at a time. You can only link an instance that's in the
+// running state. An instance is automatically unlinked from a VPC when it's
+// stopped - you can link it to the VPC again when you restart it.
+//
+// After you've linked an instance, you cannot change the VPC security groups
+// that are associated with it. To change the security groups, you must first
+// unlink the instance, and then link it again.
+//
+// Linking your instance to a VPC is sometimes referred to as attaching your
+// instance.
+func (c *EC2) AttachClassicLinkVPC(input *AttachClassicLinkVPCInput) (*AttachClassicLinkVPCOutput, error) {
+ req, out := c.AttachClassicLinkVPCRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAttachInternetGateway = "AttachInternetGateway"
+
+// AttachInternetGatewayRequest generates a request for the AttachInternetGateway operation.
+func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *aws.Request, output *AttachInternetGatewayOutput) {
+ op := &aws.Operation{
+ Name: opAttachInternetGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AttachInternetGatewayInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AttachInternetGatewayOutput{}
+ req.Data = output
+ return
+}
+
+// Attaches an Internet gateway to a VPC, enabling connectivity between the
+// Internet and the VPC. For more information about your VPC and Internet gateway,
+// see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
+func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
+ req, out := c.AttachInternetGatewayRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAttachNetworkInterface = "AttachNetworkInterface"
+
+// AttachNetworkInterfaceRequest generates a request for the AttachNetworkInterface operation.
+func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *aws.Request, output *AttachNetworkInterfaceOutput) {
+ op := &aws.Operation{
+ Name: opAttachNetworkInterface,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AttachNetworkInterfaceInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AttachNetworkInterfaceOutput{}
+ req.Data = output
+ return
+}
+
+// Attaches a network interface to an instance.
+func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
+ req, out := c.AttachNetworkInterfaceRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAttachVPNGateway = "AttachVpnGateway"
+
+// AttachVPNGatewayRequest generates a request for the AttachVPNGateway operation.
+func (c *EC2) AttachVPNGatewayRequest(input *AttachVPNGatewayInput) (req *aws.Request, output *AttachVPNGatewayOutput) {
+ op := &aws.Operation{
+ Name: opAttachVPNGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AttachVPNGatewayInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AttachVPNGatewayOutput{}
+ req.Data = output
+ return
+}
+
+// Attaches a virtual private gateway to a VPC. For more information, see Adding
+// a Hardware Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) AttachVPNGateway(input *AttachVPNGatewayInput) (*AttachVPNGatewayOutput, error) {
+ req, out := c.AttachVPNGatewayRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAttachVolume = "AttachVolume"
+
+// AttachVolumeRequest generates a request for the AttachVolume operation.
+func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *aws.Request, output *VolumeAttachment) {
+ op := &aws.Operation{
+ Name: opAttachVolume,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AttachVolumeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &VolumeAttachment{}
+ req.Data = output
+ return
+}
+
+// Attaches an EBS volume to a running or stopped instance and exposes it to
+// the instance with the specified device name.
+//
+// Encrypted EBS volumes may only be attached to instances that support Amazon
+// EBS encryption. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// For a list of supported device names, see Attaching an EBS Volume to an
+// Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html).
+// Any device names that aren't reserved for instance store volumes can be used
+// for EBS volumes. For more information, see Amazon EC2 Instance Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// If a volume has an AWS Marketplace product code:
+//
+// The volume can be attached only to a stopped instance. AWS Marketplace
+// product codes are copied from the volume to the instance. You must be subscribed
+// to the product. The instance type and operating system of the instance must
+// support the product. For example, you can't detach a volume from a Windows
+// instance and attach it to a Linux instance. For an overview of the AWS Marketplace,
+// see Introducing AWS Marketplace (https://aws.amazon.com/marketplace/help/200900000).
+//
+// For more information about EBS volumes, see Attaching Amazon EBS Volumes
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
+ req, out := c.AttachVolumeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
+
+// AuthorizeSecurityGroupEgressRequest generates a request for the AuthorizeSecurityGroupEgress operation.
+func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *aws.Request, output *AuthorizeSecurityGroupEgressOutput) {
+ op := &aws.Operation{
+ Name: opAuthorizeSecurityGroupEgress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AuthorizeSecurityGroupEgressInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AuthorizeSecurityGroupEgressOutput{}
+ req.Data = output
+ return
+}
+
+// Adds one or more egress rules to a security group for use with a VPC. Specifically,
+// this action permits instances to send traffic to one or more destination
+// CIDR IP address ranges, or to one or more destination security groups for
+// the same VPC.
+//
+// You can have up to 50 rules per security group (covering both ingress and
+// egress rules).
+//
+// A security group is for use with instances either in the EC2-Classic platform
+// or in a specific VPC. This action doesn't apply to security groups for use
+// in EC2-Classic. For more information, see Security Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// Each rule consists of the protocol (for example, TCP), plus either a CIDR
+// range or a source group. For the TCP and UDP protocols, you must also specify
+// the destination port or port range. For the ICMP protocol, you must also
+// specify the ICMP type and code. You can use -1 for the type or code to mean
+// all types or all codes.
+//
+// Rule changes are propagated to affected instances as quickly as possible.
+// However, a small delay might occur.
+func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
+ req, out := c.AuthorizeSecurityGroupEgressRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
+
+// AuthorizeSecurityGroupIngressRequest generates a request for the AuthorizeSecurityGroupIngress operation.
+func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *aws.Request, output *AuthorizeSecurityGroupIngressOutput) {
+ op := &aws.Operation{
+ Name: opAuthorizeSecurityGroupIngress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &AuthorizeSecurityGroupIngressInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &AuthorizeSecurityGroupIngressOutput{}
+ req.Data = output
+ return
+}
+
+// Adds one or more ingress rules to a security group.
+//
+// EC2-Classic: You can have up to 100 rules per group.
+//
+// EC2-VPC: You can have up to 50 rules per group (covering both ingress and
+// egress rules).
+//
+// Rule changes are propagated to instances within the security group as quickly
+// as possible. However, a small delay might occur.
+//
+// [EC2-Classic] This action gives one or more CIDR IP address ranges permission
+// to access a security group in your account, or gives one or more security
+// groups (called the source groups) permission to access a security group for
+// your account. A source group can be for your own AWS account, or another.
+//
+// [EC2-VPC] This action gives one or more CIDR IP address ranges permission
+// to access a security group in your VPC, or gives one or more other security
+// groups (called the source groups) permission to access a security group for
+// your VPC. The security groups must all be for the same VPC.
+func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
+ req, out := c.AuthorizeSecurityGroupIngressRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opBundleInstance = "BundleInstance"
+
+// BundleInstanceRequest generates a request for the BundleInstance operation.
+func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *aws.Request, output *BundleInstanceOutput) {
+ op := &aws.Operation{
+ Name: opBundleInstance,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &BundleInstanceInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &BundleInstanceOutput{}
+ req.Data = output
+ return
+}
+
+// Bundles an Amazon instance store-backed Windows instance.
+//
+// During bundling, only the root device volume (C:\) is bundled. Data on other
+// instance store volumes is not preserved.
+//
+// This action is not applicable for Linux/Unix instances or Windows instances
+// that are backed by Amazon EBS.
+//
+// For more information, see Creating an Instance Store-Backed Windows AMI
+// (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html).
+func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
+ req, out := c.BundleInstanceRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCancelBundleTask = "CancelBundleTask"
+
+// CancelBundleTaskRequest generates a request for the CancelBundleTask operation.
+func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *aws.Request, output *CancelBundleTaskOutput) {
+ op := &aws.Operation{
+ Name: opCancelBundleTask,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelBundleTaskInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CancelBundleTaskOutput{}
+ req.Data = output
+ return
+}
+
+// Cancels a bundling operation for an instance store-backed Windows instance.
+func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
+ req, out := c.CancelBundleTaskRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCancelConversionTask = "CancelConversionTask"
+
+// CancelConversionTaskRequest generates a request for the CancelConversionTask operation.
+func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *aws.Request, output *CancelConversionTaskOutput) {
+ op := &aws.Operation{
+ Name: opCancelConversionTask,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelConversionTaskInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CancelConversionTaskOutput{}
+ req.Data = output
+ return
+}
+
+// Cancels an active conversion task. The task can be the import of an instance
+// or volume. The action removes all artifacts of the conversion, including
+// a partially uploaded volume or instance. If the conversion is complete or
+// is in the process of transferring the final disk image, the command fails
+// and returns an exception.
+//
+// For more information, see Using the Command Line Tools to Import Your Virtual
+// Machine to Amazon EC2 (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
+ req, out := c.CancelConversionTaskRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCancelExportTask = "CancelExportTask"
+
+// CancelExportTaskRequest generates a request for the CancelExportTask operation.
+func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *aws.Request, output *CancelExportTaskOutput) {
+ op := &aws.Operation{
+ Name: opCancelExportTask,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelExportTaskInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CancelExportTaskOutput{}
+ req.Data = output
+ return
+}
+
+// Cancels an active export task. The request removes all artifacts of the export,
+// including any partially-created Amazon S3 objects. If the export task is
+// complete or is in the process of transferring the final disk image, the command
+// fails and returns an error.
+func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
+ req, out := c.CancelExportTaskRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCancelImportTask = "CancelImportTask"
+
+// CancelImportTaskRequest generates a request for the CancelImportTask operation.
+func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *aws.Request, output *CancelImportTaskOutput) {
+ op := &aws.Operation{
+ Name: opCancelImportTask,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelImportTaskInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CancelImportTaskOutput{}
+ req.Data = output
+ return
+}
+
+// Cancels an in-process import virtual machine or import snapshot task.
+func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
+ req, out := c.CancelImportTaskRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
+
+// CancelReservedInstancesListingRequest generates a request for the CancelReservedInstancesListing operation.
+func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *aws.Request, output *CancelReservedInstancesListingOutput) {
+ op := &aws.Operation{
+ Name: opCancelReservedInstancesListing,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelReservedInstancesListingInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CancelReservedInstancesListingOutput{}
+ req.Data = output
+ return
+}
+
+// Cancels the specified Reserved Instance listing in the Reserved Instance
+// Marketplace.
+//
+// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
+ req, out := c.CancelReservedInstancesListingRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
+
+// CancelSpotFleetRequestsRequest generates a request for the CancelSpotFleetRequests operation.
+func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *aws.Request, output *CancelSpotFleetRequestsOutput) {
+ op := &aws.Operation{
+ Name: opCancelSpotFleetRequests,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelSpotFleetRequestsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CancelSpotFleetRequestsOutput{}
+ req.Data = output
+ return
+}
+
+// Cancels the specified Spot fleet requests.
+func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
+ req, out := c.CancelSpotFleetRequestsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
+
+// CancelSpotInstanceRequestsRequest generates a request for the CancelSpotInstanceRequests operation.
+func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *aws.Request, output *CancelSpotInstanceRequestsOutput) {
+ op := &aws.Operation{
+ Name: opCancelSpotInstanceRequests,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CancelSpotInstanceRequestsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CancelSpotInstanceRequestsOutput{}
+ req.Data = output
+ return
+}
+
+// Cancels one or more Spot Instance requests. Spot Instances are instances
+// that Amazon EC2 starts on your behalf when the bid price that you specify
+// exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price
+// based on available Spot Instance capacity and current Spot Instance requests.
+// For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Canceling a Spot Instance request does not terminate running Spot Instances
+// associated with the request.
+func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
+ req, out := c.CancelSpotInstanceRequestsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opConfirmProductInstance = "ConfirmProductInstance"
+
+// ConfirmProductInstanceRequest generates a request for the ConfirmProductInstance operation.
+func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *aws.Request, output *ConfirmProductInstanceOutput) {
+ op := &aws.Operation{
+ Name: opConfirmProductInstance,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ConfirmProductInstanceInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ConfirmProductInstanceOutput{}
+ req.Data = output
+ return
+}
+
+// Determines whether a product code is associated with an instance. This action
+// can only be used by the owner of the product code. It is useful when a product
+// code owner needs to verify whether another user's instance is eligible for
+// support.
+func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
+ req, out := c.ConfirmProductInstanceRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCopyImage = "CopyImage"
+
+// CopyImageRequest generates a request for the CopyImage operation.
+func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *aws.Request, output *CopyImageOutput) {
+ op := &aws.Operation{
+ Name: opCopyImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CopyImageInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CopyImageOutput{}
+ req.Data = output
+ return
+}
+
+// Initiates the copy of an AMI from the specified source region to the current
+// region. You specify the destination region by using its endpoint when making
+// the request. AMIs that use encrypted EBS snapshots cannot be copied with
+// this method.
+//
+// For more information, see Copying AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
+ req, out := c.CopyImageRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCopySnapshot = "CopySnapshot"
+
+// CopySnapshotRequest generates a request for the CopySnapshot operation.
+func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *aws.Request, output *CopySnapshotOutput) {
+ op := &aws.Operation{
+ Name: opCopySnapshot,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CopySnapshotInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CopySnapshotOutput{}
+ req.Data = output
+ return
+}
+
+// Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
+// S3. You can copy the snapshot within the same region or from one region to
+// another. You can use the snapshot to create EBS volumes or Amazon Machine
+// Images (AMIs). The snapshot is copied to the regional endpoint that you send
+// the HTTP request to.
+//
+// Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
+// snapshots remain unencrypted, unless the Encrypted flag is specified during
+// the snapshot copy operation. By default, encrypted snapshot copies use the
+// default AWS Key Management Service (AWS KMS) customer master key (CMK); however,
+// you can specify a non-default CMK with the KmsKeyId parameter.
+//
+// For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
+ req, out := c.CopySnapshotRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateCustomerGateway = "CreateCustomerGateway"
+
+// CreateCustomerGatewayRequest generates a request for the CreateCustomerGateway operation.
+func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *aws.Request, output *CreateCustomerGatewayOutput) {
+ op := &aws.Operation{
+ Name: opCreateCustomerGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateCustomerGatewayInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateCustomerGatewayOutput{}
+ req.Data = output
+ return
+}
+
+// Provides information to AWS about your VPN customer gateway device. The customer
+// gateway is the appliance at your end of the VPN connection. (The device on
+// the AWS side of the VPN connection is the virtual private gateway.) You must
+// provide the Internet-routable IP address of the customer gateway's external
+// interface. The IP address must be static and can't be behind a device performing
+// network address translation (NAT).
+//
+// For devices that use Border Gateway Protocol (BGP), you can also provide
+// the device's BGP Autonomous System Number (ASN). You can use an existing
+// ASN assigned to your network. If you don't have an ASN already, you can use
+// a private ASN (in the 64512 - 65534 range).
+//
+// Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
+// the exception of 7224, which is reserved in the us-east-1 region, and 9059,
+// which is reserved in the eu-west-1 region.
+//
+// For more information about VPN customer gateways, see Adding a Hardware
+// Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// You cannot create more than one customer gateway with the same VPN type,
+// IP address, and BGP ASN parameter values. If you run an identical request
+// more than one time, the first request creates the customer gateway, and subsequent
+// requests return information about the existing customer gateway. The subsequent
+// requests do not create new customer gateway resources.
+func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
+ req, out := c.CreateCustomerGatewayRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateDHCPOptions = "CreateDhcpOptions"
+
+// CreateDHCPOptionsRequest generates a request for the CreateDHCPOptions operation.
+func (c *EC2) CreateDHCPOptionsRequest(input *CreateDHCPOptionsInput) (req *aws.Request, output *CreateDHCPOptionsOutput) {
+ op := &aws.Operation{
+ Name: opCreateDHCPOptions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateDHCPOptionsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateDHCPOptionsOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a set of DHCP options for your VPC. After creating the set, you must
+// associate it with the VPC, causing all existing and new instances that you
+// launch in the VPC to use this set of DHCP options. The following are the
+// individual DHCP options you can specify. For more information about the options,
+// see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
+//
+// domain-name-servers - The IP addresses of up to four domain name servers,
+// or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
+// If specifying more than one domain name server, specify the IP addresses
+// in a single parameter, separated by commas. domain-name - If you're using
+// AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS
+// in another region, specify region.compute.internal (for example, ap-northeast-1.compute.internal).
+// Otherwise, specify a domain name (for example, MyCompany.com). Important:
+// Some Linux operating systems accept multiple domain names separated by spaces.
+// However, Windows and other Linux operating systems treat the value as a single
+// domain, which results in unexpected behavior. If your DHCP options set is
+// associated with a VPC that has instances with multiple operating systems,
+// specify only one domain name. ntp-servers - The IP addresses of up to four
+// Network Time Protocol (NTP) servers. netbios-name-servers - The IP addresses
+// of up to four NetBIOS name servers. netbios-node-type - The NetBIOS node
+// type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast
+// are not currently supported). For more information about these node types,
+// see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt). Your VPC automatically
+// starts out with a set of DHCP options that includes only a DNS server that
+// we provide (AmazonProvidedDNS). If you create a set of options, and if your
+// VPC has an Internet gateway, make sure to set the domain-name-servers option
+// either to AmazonProvidedDNS or to a domain name server of your choice. For
+// more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) CreateDHCPOptions(input *CreateDHCPOptionsInput) (*CreateDHCPOptionsOutput, error) {
+ req, out := c.CreateDHCPOptionsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateFlowLogs = "CreateFlowLogs"
+
+// CreateFlowLogsRequest generates a request for the CreateFlowLogs operation.
+func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *aws.Request, output *CreateFlowLogsOutput) {
+ op := &aws.Operation{
+ Name: opCreateFlowLogs,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateFlowLogsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateFlowLogsOutput{}
+ req.Data = output
+ return
+}
+
+// Creates one or more flow logs to capture IP traffic for a specific network
+// interface, subnet, or VPC. Flow logs are delivered to a specified log group
+// in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request,
+// a log stream is created in CloudWatch Logs for each network interface in
+// the subnet or VPC. Log streams can include information about accepted and
+// rejected traffic to a network interface. You can view the data in your log
+// streams using Amazon CloudWatch Logs.
+//
+// In your request, you must also specify an IAM role that has permission to
+// publish logs to CloudWatch Logs.
+func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
+ req, out := c.CreateFlowLogsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateImage = "CreateImage"
+
+// CreateImageRequest generates a request for the CreateImage operation.
+func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *aws.Request, output *CreateImageOutput) {
+ op := &aws.Operation{
+ Name: opCreateImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateImageInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateImageOutput{}
+ req.Data = output
+ return
+}
+
+// Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
+// is either running or stopped.
+//
+// If you customized your instance with instance store volumes or EBS volumes
+// in addition to the root device volume, the new AMI contains block device
+// mapping information for those volumes. When you launch an instance from this
+// new AMI, the instance automatically launches with those additional volumes.
+//
+// For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
+ req, out := c.CreateImageRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateInstanceExportTask = "CreateInstanceExportTask"
+
+// CreateInstanceExportTaskRequest generates a request for the CreateInstanceExportTask operation.
+func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *aws.Request, output *CreateInstanceExportTaskOutput) {
+ op := &aws.Operation{
+ Name: opCreateInstanceExportTask,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateInstanceExportTaskInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateInstanceExportTaskOutput{}
+ req.Data = output
+ return
+}
+
+// Exports a running or stopped instance to an S3 bucket.
+//
+// For information about the supported operating systems, image formats, and
+// known limitations for the types of instances you can export, see Exporting
+// EC2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExportingEC2Instances.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
+ req, out := c.CreateInstanceExportTaskRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateInternetGateway = "CreateInternetGateway"
+
+// CreateInternetGatewayRequest generates a request for the CreateInternetGateway operation.
+func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *aws.Request, output *CreateInternetGatewayOutput) {
+ op := &aws.Operation{
+ Name: opCreateInternetGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateInternetGatewayInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateInternetGatewayOutput{}
+ req.Data = output
+ return
+}
+
+// Creates an Internet gateway for use with a VPC. After creating the Internet
+// gateway, you attach it to a VPC using AttachInternetGateway.
+//
+// For more information about your VPC and Internet gateway, see the Amazon
+// Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
+func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
+ req, out := c.CreateInternetGatewayRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateKeyPair = "CreateKeyPair"
+
+// CreateKeyPairRequest generates a request for the CreateKeyPair operation.
+func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *aws.Request, output *CreateKeyPairOutput) {
+ op := &aws.Operation{
+ Name: opCreateKeyPair,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateKeyPairInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateKeyPairOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
+// the public key and displays the private key for you to save to a file. The
+// private key is returned as an unencrypted PEM encoded PKCS#8 private key.
+// If a key with the specified name already exists, Amazon EC2 returns an error.
+//
+// You can have up to five thousand key pairs per region.
+//
+// The key pair returned to you is available only in the region in which you
+// create it. To create a key pair that is available in all regions, use ImportKeyPair.
+//
+// For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
+ req, out := c.CreateKeyPairRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateNetworkACL = "CreateNetworkAcl"
+
+// CreateNetworkACLRequest generates a request for the CreateNetworkACL operation.
+func (c *EC2) CreateNetworkACLRequest(input *CreateNetworkACLInput) (req *aws.Request, output *CreateNetworkACLOutput) {
+ op := &aws.Operation{
+ Name: opCreateNetworkACL,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateNetworkACLInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateNetworkACLOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a network ACL in a VPC. Network ACLs provide an optional layer of
+// security (in addition to security groups) for the instances in your VPC.
+//
+// For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) CreateNetworkACL(input *CreateNetworkACLInput) (*CreateNetworkACLOutput, error) {
+ req, out := c.CreateNetworkACLRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateNetworkACLEntry = "CreateNetworkAclEntry"
+
+// CreateNetworkACLEntryRequest generates a request for the CreateNetworkACLEntry operation.
+func (c *EC2) CreateNetworkACLEntryRequest(input *CreateNetworkACLEntryInput) (req *aws.Request, output *CreateNetworkACLEntryOutput) {
+ op := &aws.Operation{
+ Name: opCreateNetworkACLEntry,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateNetworkACLEntryInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateNetworkACLEntryOutput{}
+ req.Data = output
+ return
+}
+
+// Creates an entry (a rule) in a network ACL with the specified rule number.
+// Each network ACL has a set of numbered ingress rules and a separate set of
+// numbered egress rules. When determining whether a packet should be allowed
+// in or out of a subnet associated with the ACL, we process the entries in
+// the ACL according to the rule numbers, in ascending order. Each network ACL
+// has a set of ingress rules and a separate set of egress rules.
+//
+// We recommend that you leave room between the rule numbers (for example,
+// 100, 110, 120, ...), and not number them one right after the other (for example,
+// 101, 102, 103, ...). This makes it easier to add a rule between existing
+// ones without having to renumber the rules.
+//
+// After you add an entry, you can't modify it; you must either replace it,
+// or create an entry and delete the old one.
+//
+// For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) CreateNetworkACLEntry(input *CreateNetworkACLEntryInput) (*CreateNetworkACLEntryOutput, error) {
+ req, out := c.CreateNetworkACLEntryRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateNetworkInterface = "CreateNetworkInterface"
+
+// CreateNetworkInterfaceRequest generates a request for the CreateNetworkInterface operation.
+func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *aws.Request, output *CreateNetworkInterfaceOutput) {
+ op := &aws.Operation{
+ Name: opCreateNetworkInterface,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateNetworkInterfaceInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateNetworkInterfaceOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a network interface in the specified subnet.
+//
+// For more information about network interfaces, see Elastic Network Interfaces
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
+// Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
+ req, out := c.CreateNetworkInterfaceRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreatePlacementGroup = "CreatePlacementGroup"
+
+// CreatePlacementGroupRequest generates a request for the CreatePlacementGroup operation.
+func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *aws.Request, output *CreatePlacementGroupOutput) {
+ op := &aws.Operation{
+ Name: opCreatePlacementGroup,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreatePlacementGroupInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreatePlacementGroupOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a placement group that you launch cluster instances into. You must
+// give the group a name that's unique within the scope of your account.
+//
+// For more information about placement groups and cluster instances, see Cluster
+// Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
+ req, out := c.CreatePlacementGroupRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
+
+// CreateReservedInstancesListingRequest generates a request for the CreateReservedInstancesListing operation.
+func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *aws.Request, output *CreateReservedInstancesListingOutput) {
+ op := &aws.Operation{
+ Name: opCreateReservedInstancesListing,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateReservedInstancesListingInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateReservedInstancesListingOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a listing for Amazon EC2 Reserved Instances to be sold in the Reserved
+// Instance Marketplace. You can submit one Reserved Instance listing at a time.
+// To get a list of your Reserved Instances, you can use the DescribeReservedInstances
+// operation.
+//
+// The Reserved Instance Marketplace matches sellers who want to resell Reserved
+// Instance capacity that they no longer need with buyers who want to purchase
+// additional capacity. Reserved Instances bought and sold through the Reserved
+// Instance Marketplace work like any other Reserved Instances.
+//
+// To sell your Reserved Instances, you must first register as a seller in
+// the Reserved Instance Marketplace. After completing the registration process,
+// you can create a Reserved Instance Marketplace listing of some or all of
+// your Reserved Instances, and specify the upfront price to receive for them.
+// Your Reserved Instance listings then become available for purchase. To view
+// the details of your Reserved Instance listing, you can use the DescribeReservedInstancesListings
+// operation.
+//
+// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
+ req, out := c.CreateReservedInstancesListingRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateRoute = "CreateRoute"
+
+// CreateRouteRequest generates a request for the CreateRoute operation.
+func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *aws.Request, output *CreateRouteOutput) {
+ op := &aws.Operation{
+ Name: opCreateRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateRouteInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateRouteOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a route in a route table within a VPC.
+//
+// You must specify one of the following targets: Internet gateway or virtual
+// private gateway, NAT instance, VPC peering connection, or network interface.
+//
+// When determining how to route traffic, we use the route with the most specific
+// match. For example, let's say the traffic is destined for 192.0.2.3, and
+// the route table includes the following two routes:
+//
+// 192.0.2.0/24 (goes to some target A)
+//
+// 192.0.2.0/28 (goes to some target B)
+//
+// Both routes apply to the traffic destined for 192.0.2.3. However, the
+// second route in the list covers a smaller number of IP addresses and is therefore
+// more specific, so we use that route to determine where to target the traffic.
+//
+// For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
+ req, out := c.CreateRouteRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateRouteTable = "CreateRouteTable"
+
+// CreateRouteTableRequest generates a request for the CreateRouteTable operation.
+func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *aws.Request, output *CreateRouteTableOutput) {
+ op := &aws.Operation{
+ Name: opCreateRouteTable,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateRouteTableInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateRouteTableOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a route table for the specified VPC. After you create a route table,
+// you can add routes and associate the table with a subnet.
+//
+// For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
+ req, out := c.CreateRouteTableRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateSecurityGroup = "CreateSecurityGroup"
+
+// CreateSecurityGroupRequest generates a request for the CreateSecurityGroup operation.
+func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *aws.Request, output *CreateSecurityGroupOutput) {
+ op := &aws.Operation{
+ Name: opCreateSecurityGroup,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateSecurityGroupInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateSecurityGroupOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a security group.
+//
+// A security group is for use with instances either in the EC2-Classic platform
+// or in a specific VPC. For more information, see Amazon EC2 Security Groups
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
+// in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
+// VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// EC2-Classic: You can have up to 500 security groups.
+//
+// EC2-VPC: You can create up to 100 security groups per VPC.
+//
+// When you create a security group, you specify a friendly name of your choice.
+// You can have a security group for use in EC2-Classic with the same name as
+// a security group for use in a VPC. However, you can't have two security groups
+// for use in EC2-Classic with the same name or two security groups for use
+// in a VPC with the same name.
+//
+// You have a default security group for use in EC2-Classic and a default security
+// group for use in your VPC. If you don't specify a security group when you
+// launch an instance, the instance is launched into the appropriate default
+// security group. A default security group includes a default rule that grants
+// instances unrestricted network access to each other.
+//
+// You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
+// AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
+func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
+ req, out := c.CreateSecurityGroupRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateSnapshot = "CreateSnapshot"
+
+// CreateSnapshotRequest generates a request for the CreateSnapshot operation.
+func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *aws.Request, output *Snapshot) {
+ op := &aws.Operation{
+ Name: opCreateSnapshot,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateSnapshotInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &Snapshot{}
+ req.Data = output
+ return
+}
+
+// Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
+// snapshots for backups, to make copies of EBS volumes, and to save data before
+// shutting down an instance.
+//
+// When a snapshot is created, any AWS Marketplace product codes that are associated
+// with the source volume are propagated to the snapshot.
+//
+// You can take a snapshot of an attached volume that is in use. However, snapshots
+// only capture data that has been written to your EBS volume at the time the
+// snapshot command is issued; this may exclude any data that has been cached
+// by any applications or the operating system. If you can pause any file systems
+// on the volume long enough to take a snapshot, your snapshot should be complete.
+// However, if you cannot pause all file writes to the volume, you should unmount
+// the volume from within the instance, issue the snapshot command, and then
+// remount the volume to ensure a consistent and complete snapshot. You may
+// remount and use your volume while the snapshot status is pending.
+//
+// To create a snapshot for EBS volumes that serve as root devices, you should
+// stop the instance before taking the snapshot.
+//
+// Snapshots that are taken from encrypted volumes are automatically encrypted.
+// Volumes that are created from encrypted snapshots are also automatically
+// encrypted. Your encrypted volumes and any associated snapshots always remain
+// protected.
+//
+// For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
+// and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
+ req, out := c.CreateSnapshotRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
+
+// CreateSpotDatafeedSubscriptionRequest generates a request for the CreateSpotDatafeedSubscription operation.
+func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *aws.Request, output *CreateSpotDatafeedSubscriptionOutput) {
+ op := &aws.Operation{
+ Name: opCreateSpotDatafeedSubscription,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateSpotDatafeedSubscriptionInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateSpotDatafeedSubscriptionOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a data feed for Spot Instances, enabling you to view Spot Instance
+// usage logs. You can create one data feed per AWS account. For more information,
+// see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateSubnet = "CreateSubnet"
+
+// CreateSubnetRequest generates a request for the CreateSubnet operation.
+func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *aws.Request, output *CreateSubnetOutput) {
+ op := &aws.Operation{
+ Name: opCreateSubnet,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateSubnetInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateSubnetOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a subnet in an existing VPC.
+//
+// When you create each subnet, you provide the VPC ID and the CIDR block you
+// want for the subnet. After you create a subnet, you can't change its CIDR
+// block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming
+// you want only a single subnet in the VPC), or a subset of the VPC's CIDR
+// block. If you create more than one subnet in a VPC, the subnets' CIDR blocks
+// must not overlap. The smallest subnet (and VPC) you can create uses a /28
+// netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP
+// addresses).
+//
+// AWS reserves both the first four and the last IP address in each subnet's
+// CIDR block. They're not available for use.
+//
+// If you add more than one subnet to a VPC, they're set up in a star topology
+// with a logical router in the middle.
+//
+// If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
+// address doesn't change if you stop and restart the instance (unlike a similar
+// instance launched outside a VPC, which gets a new IP address when restarted).
+// It's therefore possible to have a subnet with no running instances (they're
+// all stopped), but no remaining IP addresses available.
+//
+// For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
+ req, out := c.CreateSubnetRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateTags = "CreateTags"
+
+// CreateTagsRequest generates a request for the CreateTags operation.
+func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *aws.Request, output *CreateTagsOutput) {
+ op := &aws.Operation{
+ Name: opCreateTags,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateTagsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateTagsOutput{}
+ req.Data = output
+ return
+}
+
+// Adds or overwrites one or more tags for the specified Amazon EC2 resource
+// or resources. Each resource can have a maximum of 10 tags. Each tag consists
+// of a key and optional value. Tag keys must be unique per resource.
+//
+// For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
+ req, out := c.CreateTagsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateVPC = "CreateVpc"
+
+// CreateVPCRequest generates a request for the CreateVPC operation.
+func (c *EC2) CreateVPCRequest(input *CreateVPCInput) (req *aws.Request, output *CreateVPCOutput) {
+ op := &aws.Operation{
+ Name: opCreateVPC,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVPCInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateVPCOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a VPC with the specified CIDR block.
+//
+// The smallest VPC you can create uses a /28 netmask (16 IP addresses), and
+// the largest uses a /16 netmask (65,536 IP addresses). To help you decide
+// how big to make your VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// By default, each instance you launch in the VPC has the default DHCP options,
+// which includes only a default DNS server that we provide (AmazonProvidedDNS).
+// For more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) CreateVPC(input *CreateVPCInput) (*CreateVPCOutput, error) {
+ req, out := c.CreateVPCRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateVPCEndpoint = "CreateVpcEndpoint"
+
+// CreateVPCEndpointRequest generates a request for the CreateVPCEndpoint operation.
+func (c *EC2) CreateVPCEndpointRequest(input *CreateVPCEndpointInput) (req *aws.Request, output *CreateVPCEndpointOutput) {
+ op := &aws.Operation{
+ Name: opCreateVPCEndpoint,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVPCEndpointInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateVPCEndpointOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a VPC endpoint for a specified AWS service. An endpoint enables you
+// to create a private connection between your VPC and another AWS service in
+// your account. You can specify an endpoint policy to attach to the endpoint
+// that will control access to the service from your VPC. You can also specify
+// the VPC route tables that use the endpoint.
+//
+// Currently, only endpoints to Amazon S3 are supported.
+func (c *EC2) CreateVPCEndpoint(input *CreateVPCEndpointInput) (*CreateVPCEndpointOutput, error) {
+ req, out := c.CreateVPCEndpointRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateVPCPeeringConnection = "CreateVpcPeeringConnection"
+
+// CreateVPCPeeringConnectionRequest generates a request for the CreateVPCPeeringConnection operation.
+func (c *EC2) CreateVPCPeeringConnectionRequest(input *CreateVPCPeeringConnectionInput) (req *aws.Request, output *CreateVPCPeeringConnectionOutput) {
+ op := &aws.Operation{
+ Name: opCreateVPCPeeringConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVPCPeeringConnectionInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateVPCPeeringConnectionOutput{}
+ req.Data = output
+ return
+}
+
+// Requests a VPC peering connection between two VPCs: a requester VPC that
+// you own and a peer VPC with which to create the connection. The peer VPC
+// can belong to another AWS account. The requester VPC and peer VPC cannot
+// have overlapping CIDR blocks.
+//
+// The owner of the peer VPC must accept the peering request to activate the
+// peering connection. The VPC peering connection request expires after 7 days,
+// after which it cannot be accepted or rejected.
+//
+// A CreateVpcPeeringConnection request between VPCs with overlapping CIDR
+// blocks results in the VPC peering connection having a status of failed.
+func (c *EC2) CreateVPCPeeringConnection(input *CreateVPCPeeringConnectionInput) (*CreateVPCPeeringConnectionOutput, error) {
+ req, out := c.CreateVPCPeeringConnectionRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateVPNConnection = "CreateVpnConnection"
+
+// CreateVPNConnectionRequest generates a request for the CreateVPNConnection operation.
+func (c *EC2) CreateVPNConnectionRequest(input *CreateVPNConnectionInput) (req *aws.Request, output *CreateVPNConnectionOutput) {
+ op := &aws.Operation{
+ Name: opCreateVPNConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVPNConnectionInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateVPNConnectionOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a VPN connection between an existing virtual private gateway and
+// a VPN customer gateway. The only supported connection type is ipsec.1.
+//
+// The response includes information that you need to give to your network
+// administrator to configure your customer gateway.
+//
+// We strongly recommend that you use HTTPS when calling this operation because
+// the response contains sensitive cryptographic information for configuring
+// your customer gateway.
+//
+// If you decide to shut down your VPN connection for any reason and later
+// create a new VPN connection, you must reconfigure your customer gateway with
+// the new information returned from this call.
+//
+// For more information about VPN connections, see Adding a Hardware Virtual
+// Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) CreateVPNConnection(input *CreateVPNConnectionInput) (*CreateVPNConnectionOutput, error) {
+ req, out := c.CreateVPNConnectionRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateVPNConnectionRoute = "CreateVpnConnectionRoute"
+
+// CreateVPNConnectionRouteRequest generates a request for the CreateVPNConnectionRoute operation.
+func (c *EC2) CreateVPNConnectionRouteRequest(input *CreateVPNConnectionRouteInput) (req *aws.Request, output *CreateVPNConnectionRouteOutput) {
+ op := &aws.Operation{
+ Name: opCreateVPNConnectionRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVPNConnectionRouteInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateVPNConnectionRouteOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a static route associated with a VPN connection between an existing
+// virtual private gateway and a VPN customer gateway. The static route allows
+// traffic to be routed from the virtual private gateway to the VPN customer
+// gateway.
+//
+// For more information about VPN connections, see Adding a Hardware Virtual
+// Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) CreateVPNConnectionRoute(input *CreateVPNConnectionRouteInput) (*CreateVPNConnectionRouteOutput, error) {
+ req, out := c.CreateVPNConnectionRouteRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateVPNGateway = "CreateVpnGateway"
+
+// CreateVPNGatewayRequest generates a request for the CreateVPNGateway operation.
+func (c *EC2) CreateVPNGatewayRequest(input *CreateVPNGatewayInput) (req *aws.Request, output *CreateVPNGatewayOutput) {
+ op := &aws.Operation{
+ Name: opCreateVPNGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVPNGatewayInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &CreateVPNGatewayOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a virtual private gateway. A virtual private gateway is the endpoint
+// on the VPC side of your VPN connection. You can create a virtual private
+// gateway before creating the VPC itself.
+//
+// For more information about virtual private gateways, see Adding a Hardware
+// Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) CreateVPNGateway(input *CreateVPNGatewayInput) (*CreateVPNGatewayOutput, error) {
+ req, out := c.CreateVPNGatewayRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opCreateVolume = "CreateVolume"
+
+// CreateVolumeRequest generates a request for the CreateVolume operation.
+func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *aws.Request, output *Volume) {
+ op := &aws.Operation{
+ Name: opCreateVolume,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateVolumeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &Volume{}
+ req.Data = output
+ return
+}
+
+// Creates an EBS volume that can be attached to an instance in the same Availability
+// Zone. The volume is created in the regional endpoint that you send the HTTP
+// request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html).
+//
+// You can create a new empty volume or restore a volume from an EBS snapshot.
+// Any AWS Marketplace product codes from the snapshot are propagated to the
+// volume.
+//
+// You can create encrypted volumes with the Encrypted parameter. Encrypted
+// volumes may only be attached to instances that support Amazon EBS encryption.
+// Volumes that are created from encrypted snapshots are also automatically
+// encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// For more information, see Creating or Restoring an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
+ req, out := c.CreateVolumeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteCustomerGateway = "DeleteCustomerGateway"
+
+// DeleteCustomerGatewayRequest generates a request for the DeleteCustomerGateway operation.
+func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *aws.Request, output *DeleteCustomerGatewayOutput) {
+ op := &aws.Operation{
+ Name: opDeleteCustomerGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteCustomerGatewayInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteCustomerGatewayOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified customer gateway. You must delete the VPN connection
+// before you can delete the customer gateway.
+func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
+ req, out := c.DeleteCustomerGatewayRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteDHCPOptions = "DeleteDhcpOptions"
+
+// DeleteDHCPOptionsRequest generates a request for the DeleteDHCPOptions operation.
+func (c *EC2) DeleteDHCPOptionsRequest(input *DeleteDHCPOptionsInput) (req *aws.Request, output *DeleteDHCPOptionsOutput) {
+ op := &aws.Operation{
+ Name: opDeleteDHCPOptions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteDHCPOptionsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteDHCPOptionsOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified set of DHCP options. You must disassociate the set
+// of DHCP options before you can delete it. You can disassociate the set of
+// DHCP options by associating either a new set of options or the default set
+// of options with the VPC.
+func (c *EC2) DeleteDHCPOptions(input *DeleteDHCPOptionsInput) (*DeleteDHCPOptionsOutput, error) {
+ req, out := c.DeleteDHCPOptionsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteFlowLogs = "DeleteFlowLogs"
+
+// DeleteFlowLogsRequest generates a request for the DeleteFlowLogs operation.
+func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *aws.Request, output *DeleteFlowLogsOutput) {
+ op := &aws.Operation{
+ Name: opDeleteFlowLogs,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteFlowLogsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteFlowLogsOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes one or more flow logs.
+func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
+ req, out := c.DeleteFlowLogsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteInternetGateway = "DeleteInternetGateway"
+
+// DeleteInternetGatewayRequest generates a request for the DeleteInternetGateway operation.
+func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *aws.Request, output *DeleteInternetGatewayOutput) {
+ op := &aws.Operation{
+ Name: opDeleteInternetGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteInternetGatewayInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteInternetGatewayOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified Internet gateway. You must detach the Internet gateway
+// from the VPC before you can delete it.
+func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
+ req, out := c.DeleteInternetGatewayRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteKeyPair = "DeleteKeyPair"
+
+// DeleteKeyPairRequest generates a request for the DeleteKeyPair operation.
+func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *aws.Request, output *DeleteKeyPairOutput) {
+ op := &aws.Operation{
+ Name: opDeleteKeyPair,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteKeyPairInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteKeyPairOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified key pair, by removing the public key from Amazon EC2.
+func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
+ req, out := c.DeleteKeyPairRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteNetworkACL = "DeleteNetworkAcl"
+
+// DeleteNetworkACLRequest generates a request for the DeleteNetworkACL operation.
+func (c *EC2) DeleteNetworkACLRequest(input *DeleteNetworkACLInput) (req *aws.Request, output *DeleteNetworkACLOutput) {
+ op := &aws.Operation{
+ Name: opDeleteNetworkACL,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteNetworkACLInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteNetworkACLOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified network ACL. You can't delete the ACL if it's associated
+// with any subnets. You can't delete the default network ACL.
+func (c *EC2) DeleteNetworkACL(input *DeleteNetworkACLInput) (*DeleteNetworkACLOutput, error) {
+ req, out := c.DeleteNetworkACLRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteNetworkACLEntry = "DeleteNetworkAclEntry"
+
+// DeleteNetworkACLEntryRequest generates a request for the DeleteNetworkACLEntry operation.
+func (c *EC2) DeleteNetworkACLEntryRequest(input *DeleteNetworkACLEntryInput) (req *aws.Request, output *DeleteNetworkACLEntryOutput) {
+ op := &aws.Operation{
+ Name: opDeleteNetworkACLEntry,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteNetworkACLEntryInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteNetworkACLEntryOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified ingress or egress entry (rule) from the specified network
+// ACL.
+func (c *EC2) DeleteNetworkACLEntry(input *DeleteNetworkACLEntryInput) (*DeleteNetworkACLEntryOutput, error) {
+ req, out := c.DeleteNetworkACLEntryRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteNetworkInterface = "DeleteNetworkInterface"
+
+// DeleteNetworkInterfaceRequest generates a request for the DeleteNetworkInterface operation.
+func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *aws.Request, output *DeleteNetworkInterfaceOutput) {
+ op := &aws.Operation{
+ Name: opDeleteNetworkInterface,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteNetworkInterfaceInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteNetworkInterfaceOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified network interface. You must detach the network interface
+// before you can delete it.
+func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
+ req, out := c.DeleteNetworkInterfaceRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeletePlacementGroup = "DeletePlacementGroup"
+
+// DeletePlacementGroupRequest generates a request for the DeletePlacementGroup operation.
+func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *aws.Request, output *DeletePlacementGroupOutput) {
+ op := &aws.Operation{
+ Name: opDeletePlacementGroup,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeletePlacementGroupInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeletePlacementGroupOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified placement group. You must terminate all instances in
+// the placement group before you can delete the placement group. For more information
+// about placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
+ req, out := c.DeletePlacementGroupRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteRoute = "DeleteRoute"
+
+// DeleteRouteRequest generates a request for the DeleteRoute operation.
+func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *aws.Request, output *DeleteRouteOutput) {
+ op := &aws.Operation{
+ Name: opDeleteRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteRouteInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteRouteOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified route from the specified route table.
+func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
+ req, out := c.DeleteRouteRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteRouteTable = "DeleteRouteTable"
+
+// DeleteRouteTableRequest generates a request for the DeleteRouteTable operation.
+func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *aws.Request, output *DeleteRouteTableOutput) {
+ op := &aws.Operation{
+ Name: opDeleteRouteTable,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteRouteTableInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteRouteTableOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified route table. You must disassociate the route table
+// from any subnets before you can delete it. You can't delete the main route
+// table.
+func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
+ req, out := c.DeleteRouteTableRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteSecurityGroup = "DeleteSecurityGroup"
+
+// DeleteSecurityGroupRequest generates a request for the DeleteSecurityGroup operation.
+func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *aws.Request, output *DeleteSecurityGroupOutput) {
+ op := &aws.Operation{
+ Name: opDeleteSecurityGroup,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteSecurityGroupInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteSecurityGroupOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes a security group.
+//
+// If you attempt to delete a security group that is associated with an instance,
+// or is referenced by another security group, the operation fails with InvalidGroup.InUse
+// in EC2-Classic or DependencyViolation in EC2-VPC.
+func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
+ req, out := c.DeleteSecurityGroupRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteSnapshot = "DeleteSnapshot"
+
+// DeleteSnapshotRequest generates a request for the DeleteSnapshot operation.
+func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *aws.Request, output *DeleteSnapshotOutput) {
+ op := &aws.Operation{
+ Name: opDeleteSnapshot,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteSnapshotInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteSnapshotOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified snapshot.
+//
+// When you make periodic snapshots of a volume, the snapshots are incremental,
+// and only the blocks on the device that have changed since your last snapshot
+// are saved in the new snapshot. When you delete a snapshot, only the data
+// not needed for any other snapshot is removed. So regardless of which prior
+// snapshots have been deleted, all active snapshots will have access to all
+// the information needed to restore the volume.
+//
+// You cannot delete a snapshot of the root device of an EBS volume used by
+// a registered AMI. You must first de-register the AMI before you can delete
+// the snapshot.
+//
+// For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
+ req, out := c.DeleteSnapshotRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
+
+// DeleteSpotDatafeedSubscriptionRequest generates a request for the DeleteSpotDatafeedSubscription operation.
+func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *aws.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
+ op := &aws.Operation{
+ Name: opDeleteSpotDatafeedSubscription,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteSpotDatafeedSubscriptionInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteSpotDatafeedSubscriptionOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the data feed for Spot Instances. For more information, see Spot
+// Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteSubnet = "DeleteSubnet"
+
+// DeleteSubnetRequest generates a request for the DeleteSubnet operation.
+func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *aws.Request, output *DeleteSubnetOutput) {
+ op := &aws.Operation{
+ Name: opDeleteSubnet,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteSubnetInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteSubnetOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified subnet. You must terminate all running instances in
+// the subnet before you can delete the subnet.
+func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
+ req, out := c.DeleteSubnetRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteTags = "DeleteTags"
+
+// DeleteTagsRequest generates a request for the DeleteTags operation.
+func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *aws.Request, output *DeleteTagsOutput) {
+ op := &aws.Operation{
+ Name: opDeleteTags,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteTagsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteTagsOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified set of tags from the specified set of resources. This
+// call is designed to follow a DescribeTags request.
+//
+// For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
+ req, out := c.DeleteTagsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteVPC = "DeleteVpc"
+
+// DeleteVPCRequest generates a request for the DeleteVPC operation.
+func (c *EC2) DeleteVPCRequest(input *DeleteVPCInput) (req *aws.Request, output *DeleteVPCOutput) {
+ op := &aws.Operation{
+ Name: opDeleteVPC,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVPCInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteVPCOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified VPC. You must detach or delete all gateways and resources
+// that are associated with the VPC before you can delete it. For example, you
+// must terminate all instances running in the VPC, delete all security groups
+// associated with the VPC (except the default one), delete all route tables
+// associated with the VPC (except the default one), and so on.
+func (c *EC2) DeleteVPC(input *DeleteVPCInput) (*DeleteVPCOutput, error) {
+ req, out := c.DeleteVPCRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteVPCEndpoints = "DeleteVpcEndpoints"
+
+// DeleteVPCEndpointsRequest generates a request for the DeleteVPCEndpoints operation.
+func (c *EC2) DeleteVPCEndpointsRequest(input *DeleteVPCEndpointsInput) (req *aws.Request, output *DeleteVPCEndpointsOutput) {
+ op := &aws.Operation{
+ Name: opDeleteVPCEndpoints,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVPCEndpointsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteVPCEndpointsOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes
+// the endpoint routes in the route tables that were associated with the endpoint.
+func (c *EC2) DeleteVPCEndpoints(input *DeleteVPCEndpointsInput) (*DeleteVPCEndpointsOutput, error) {
+ req, out := c.DeleteVPCEndpointsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteVPCPeeringConnection = "DeleteVpcPeeringConnection"
+
+// DeleteVPCPeeringConnectionRequest generates a request for the DeleteVPCPeeringConnection operation.
+func (c *EC2) DeleteVPCPeeringConnectionRequest(input *DeleteVPCPeeringConnectionInput) (req *aws.Request, output *DeleteVPCPeeringConnectionOutput) {
+ op := &aws.Operation{
+ Name: opDeleteVPCPeeringConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVPCPeeringConnectionInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteVPCPeeringConnectionOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes a VPC peering connection. Either the owner of the requester VPC or
+// the owner of the peer VPC can delete the VPC peering connection if it's in
+// the active state. The owner of the requester VPC can delete a VPC peering
+// connection in the pending-acceptance state.
+func (c *EC2) DeleteVPCPeeringConnection(input *DeleteVPCPeeringConnectionInput) (*DeleteVPCPeeringConnectionOutput, error) {
+ req, out := c.DeleteVPCPeeringConnectionRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteVPNConnection = "DeleteVpnConnection"
+
+// DeleteVPNConnectionRequest generates a request for the DeleteVPNConnection operation.
+func (c *EC2) DeleteVPNConnectionRequest(input *DeleteVPNConnectionInput) (req *aws.Request, output *DeleteVPNConnectionOutput) {
+ op := &aws.Operation{
+ Name: opDeleteVPNConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVPNConnectionInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteVPNConnectionOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified VPN connection.
+//
+// If you're deleting the VPC and its associated components, we recommend that
+// you detach the virtual private gateway from the VPC and delete the VPC before
+// deleting the VPN connection. If you believe that the tunnel credentials for
+// your VPN connection have been compromised, you can delete the VPN connection
+// and create a new one that has new keys, without needing to delete the VPC
+// or virtual private gateway. If you create a new VPN connection, you must
+// reconfigure the customer gateway using the new configuration information
+// returned with the new VPN connection ID.
+func (c *EC2) DeleteVPNConnection(input *DeleteVPNConnectionInput) (*DeleteVPNConnectionOutput, error) {
+ req, out := c.DeleteVPNConnectionRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteVPNConnectionRoute = "DeleteVpnConnectionRoute"
+
+// DeleteVPNConnectionRouteRequest generates a request for the DeleteVPNConnectionRoute operation.
+func (c *EC2) DeleteVPNConnectionRouteRequest(input *DeleteVPNConnectionRouteInput) (req *aws.Request, output *DeleteVPNConnectionRouteOutput) {
+ op := &aws.Operation{
+ Name: opDeleteVPNConnectionRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVPNConnectionRouteInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteVPNConnectionRouteOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified static route associated with a VPN connection between
+// an existing virtual private gateway and a VPN customer gateway. The static
+// route allows traffic to be routed from the virtual private gateway to the
+// VPN customer gateway.
+func (c *EC2) DeleteVPNConnectionRoute(input *DeleteVPNConnectionRouteInput) (*DeleteVPNConnectionRouteOutput, error) {
+ req, out := c.DeleteVPNConnectionRouteRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteVPNGateway = "DeleteVpnGateway"
+
+// DeleteVPNGatewayRequest generates a request for the DeleteVPNGateway operation.
+func (c *EC2) DeleteVPNGatewayRequest(input *DeleteVPNGatewayInput) (req *aws.Request, output *DeleteVPNGatewayOutput) {
+ op := &aws.Operation{
+ Name: opDeleteVPNGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVPNGatewayInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteVPNGatewayOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified virtual private gateway. We recommend that before you
+// delete a virtual private gateway, you detach it from the VPC and delete the
+// VPN connection. Note that you don't need to delete the virtual private gateway
+// if you plan to delete and recreate the VPN connection between your VPC and
+// your network.
+func (c *EC2) DeleteVPNGateway(input *DeleteVPNGatewayInput) (*DeleteVPNGatewayOutput, error) {
+ req, out := c.DeleteVPNGatewayRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeleteVolume = "DeleteVolume"
+
+// DeleteVolumeRequest generates a request for the DeleteVolume operation.
+func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *aws.Request, output *DeleteVolumeOutput) {
+ op := &aws.Operation{
+ Name: opDeleteVolume,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteVolumeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeleteVolumeOutput{}
+ req.Data = output
+ return
+}
+
+// Deletes the specified EBS volume. The volume must be in the available state
+// (not attached to an instance).
+//
+// The volume may remain in the deleting state for several minutes.
+//
+// For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
+ req, out := c.DeleteVolumeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDeregisterImage = "DeregisterImage"
+
+// DeregisterImageRequest generates a request for the DeregisterImage operation.
+func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *aws.Request, output *DeregisterImageOutput) {
+ op := &aws.Operation{
+ Name: opDeregisterImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeregisterImageInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DeregisterImageOutput{}
+ req.Data = output
+ return
+}
+
+// Deregisters the specified AMI. After you deregister an AMI, it can't be used
+// to launch new instances.
+//
+// This command does not delete the AMI.
+func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
+ req, out := c.DeregisterImageRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeAccountAttributes = "DescribeAccountAttributes"
+
+// DescribeAccountAttributesRequest generates a request for the DescribeAccountAttributes operation.
+func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *aws.Request, output *DescribeAccountAttributesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeAccountAttributes,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeAccountAttributesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeAccountAttributesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes attributes of your AWS account. The following are the supported
+// account attributes:
+//
+// supported-platforms: Indicates whether your account can launch instances
+// into EC2-Classic and EC2-VPC, or only into EC2-VPC.
+//
+// default-vpc: The ID of the default VPC for your account, or none.
+//
+// max-instances: The maximum number of On-Demand instances that you can
+// run.
+//
+// vpc-max-security-groups-per-interface: The maximum number of security
+// groups that you can assign to a network interface.
+//
+// max-elastic-ips: The maximum number of Elastic IP addresses that you can
+// allocate for use with EC2-Classic.
+//
+// vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you
+// can allocate for use with EC2-VPC.
+func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
+ req, out := c.DescribeAccountAttributesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeAddresses = "DescribeAddresses"
+
+// DescribeAddressesRequest generates a request for the DescribeAddresses operation.
+func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *aws.Request, output *DescribeAddressesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeAddresses,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeAddressesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeAddressesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your Elastic IP addresses.
+//
+// An Elastic IP address is for use in either the EC2-Classic platform or in
+// a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
+ req, out := c.DescribeAddressesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
+
+// DescribeAvailabilityZonesRequest generates a request for the DescribeAvailabilityZones operation.
+func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *aws.Request, output *DescribeAvailabilityZonesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeAvailabilityZones,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeAvailabilityZonesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeAvailabilityZonesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of the Availability Zones that are available to you.
+// The results include zones only for the region you're currently using. If
+// there is an event impacting an Availability Zone, you can use this request
+// to view the state and any provided message for that Availability Zone.
+//
+// For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
+ req, out := c.DescribeAvailabilityZonesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeBundleTasks = "DescribeBundleTasks"
+
+// DescribeBundleTasksRequest generates a request for the DescribeBundleTasks operation.
+func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *aws.Request, output *DescribeBundleTasksOutput) {
+ op := &aws.Operation{
+ Name: opDescribeBundleTasks,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeBundleTasksInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeBundleTasksOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your bundling tasks.
+//
+// Completed bundle tasks are listed for only a limited time. If your bundle
+// task is no longer in the list, you can still register an AMI from it. Just
+// use RegisterImage with the Amazon S3 bucket name and image manifest name
+// you provided to the bundle task.
+func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
+ req, out := c.DescribeBundleTasksRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
+
+// DescribeClassicLinkInstancesRequest generates a request for the DescribeClassicLinkInstances operation.
+func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *aws.Request, output *DescribeClassicLinkInstancesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeClassicLinkInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeClassicLinkInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeClassicLinkInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your linked EC2-Classic instances. This request
+// only returns information about EC2-Classic instances linked to a VPC through
+// ClassicLink; you cannot use this request to return information about other
+// instances.
+func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
+ req, out := c.DescribeClassicLinkInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeConversionTasks = "DescribeConversionTasks"
+
+// DescribeConversionTasksRequest generates a request for the DescribeConversionTasks operation.
+func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *aws.Request, output *DescribeConversionTasksOutput) {
+ op := &aws.Operation{
+ Name: opDescribeConversionTasks,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeConversionTasksInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeConversionTasksOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your conversion tasks. For more information, see
+// Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
+ req, out := c.DescribeConversionTasksRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeCustomerGateways = "DescribeCustomerGateways"
+
+// DescribeCustomerGatewaysRequest generates a request for the DescribeCustomerGateways operation.
+func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *aws.Request, output *DescribeCustomerGatewaysOutput) {
+ op := &aws.Operation{
+ Name: opDescribeCustomerGateways,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeCustomerGatewaysInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeCustomerGatewaysOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your VPN customer gateways.
+//
+// For more information about VPN customer gateways, see Adding a Hardware
+// Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
+ req, out := c.DescribeCustomerGatewaysRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeDHCPOptions = "DescribeDhcpOptions"
+
+// DescribeDHCPOptionsRequest generates a request for the DescribeDHCPOptions operation.
+func (c *EC2) DescribeDHCPOptionsRequest(input *DescribeDHCPOptionsInput) (req *aws.Request, output *DescribeDHCPOptionsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeDHCPOptions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeDHCPOptionsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeDHCPOptionsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your DHCP options sets.
+//
+// For more information about DHCP options sets, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) DescribeDHCPOptions(input *DescribeDHCPOptionsInput) (*DescribeDHCPOptionsOutput, error) {
+ req, out := c.DescribeDHCPOptionsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeExportTasks = "DescribeExportTasks"
+
+// DescribeExportTasksRequest generates a request for the DescribeExportTasks operation.
+func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *aws.Request, output *DescribeExportTasksOutput) {
+ op := &aws.Operation{
+ Name: opDescribeExportTasks,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeExportTasksInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeExportTasksOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your export tasks.
+func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
+ req, out := c.DescribeExportTasksRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeFlowLogs = "DescribeFlowLogs"
+
+// DescribeFlowLogsRequest generates a request for the DescribeFlowLogs operation.
+func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *aws.Request, output *DescribeFlowLogsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeFlowLogs,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeFlowLogsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeFlowLogsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more flow logs. To view the information in your flow logs
+// (the log streams for the network interfaces), you must use the CloudWatch
+// Logs console or the CloudWatch Logs API.
+func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
+ req, out := c.DescribeFlowLogsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeImageAttribute = "DescribeImageAttribute"
+
+// DescribeImageAttributeRequest generates a request for the DescribeImageAttribute operation.
+func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *aws.Request, output *DescribeImageAttributeOutput) {
+ op := &aws.Operation{
+ Name: opDescribeImageAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeImageAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeImageAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the specified attribute of the specified AMI. You can specify only
+// one attribute at a time.
+func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
+ req, out := c.DescribeImageAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeImages = "DescribeImages"
+
+// DescribeImagesRequest generates a request for the DescribeImages operation.
+func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *aws.Request, output *DescribeImagesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeImages,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeImagesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeImagesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.
+// Images available to you include public images, private images that you own,
+// and private images owned by other AWS accounts but for which you have explicit
+// launch permissions.
+//
+// Deregistered images are included in the returned results for an unspecified
+// interval after deregistration.
+func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
+ req, out := c.DescribeImagesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeImportImageTasks = "DescribeImportImageTasks"
+
+// DescribeImportImageTasksRequest generates a request for the DescribeImportImageTasks operation.
+func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *aws.Request, output *DescribeImportImageTasksOutput) {
+ op := &aws.Operation{
+ Name: opDescribeImportImageTasks,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeImportImageTasksInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeImportImageTasksOutput{}
+ req.Data = output
+ return
+}
+
+// Displays details about an import virtual machine or import snapshot tasks
+// that are already created.
+func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
+ req, out := c.DescribeImportImageTasksRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
+
+// DescribeImportSnapshotTasksRequest generates a request for the DescribeImportSnapshotTasks operation.
+func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *aws.Request, output *DescribeImportSnapshotTasksOutput) {
+ op := &aws.Operation{
+ Name: opDescribeImportSnapshotTasks,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeImportSnapshotTasksInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeImportSnapshotTasksOutput{}
+ req.Data = output
+ return
+}
+
+// Describes your import snapshot tasks.
+func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
+ req, out := c.DescribeImportSnapshotTasksRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
+
+// DescribeInstanceAttributeRequest generates a request for the DescribeInstanceAttribute operation.
+func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *aws.Request, output *DescribeInstanceAttributeOutput) {
+ op := &aws.Operation{
+ Name: opDescribeInstanceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeInstanceAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeInstanceAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the specified attribute of the specified instance. You can specify
+// only one attribute at a time. Valid attribute values are: instanceType |
+// kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
+// | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
+// groupSet | ebsOptimized | sriovNetSupport
+func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
+ req, out := c.DescribeInstanceAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeInstanceStatus = "DescribeInstanceStatus"
+
+// DescribeInstanceStatusRequest generates a request for the DescribeInstanceStatus operation.
+func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *aws.Request, output *DescribeInstanceStatusOutput) {
+ op := &aws.Operation{
+ Name: opDescribeInstanceStatus,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &aws.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeInstanceStatusInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeInstanceStatusOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the status of one or more instances.
+//
+// Instance status includes the following components:
+//
+// Status checks - Amazon EC2 performs status checks on running EC2 instances
+// to identify hardware and software issues. For more information, see Status
+// Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
+// and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
+// or terminate) for your instances related to hardware issues, software updates,
+// or system maintenance. For more information, see Scheduled Events for Your
+// Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Instance state - You can manage your instances from the moment you launch
+// them through their termination. For more information, see Instance Lifecycle
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
+ req, out := c.DescribeInstanceStatusRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(p *DescribeInstanceStatusOutput, lastPage bool) (shouldContinue bool)) error {
+ page, _ := c.DescribeInstanceStatusRequest(input)
+ return page.EachPage(func(p interface{}, lastPage bool) bool {
+ return fn(p.(*DescribeInstanceStatusOutput), lastPage)
+ })
+}
+
+const opDescribeInstances = "DescribeInstances"
+
+// DescribeInstancesRequest generates a request for the DescribeInstances operation.
+func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *aws.Request, output *DescribeInstancesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &aws.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your instances.
+//
+// If you specify one or more instance IDs, Amazon EC2 returns information
+// for those instances. If you do not specify instance IDs, Amazon EC2 returns
+// information for all relevant instances. If you specify an instance ID that
+// is not valid, an error is returned. If you specify an instance that you do
+// not own, it is not included in the returned results.
+//
+// Recently terminated instances might appear in the returned results. This
+// interval is usually less than one hour.
+func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
+ req, out := c.DescribeInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(p *DescribeInstancesOutput, lastPage bool) (shouldContinue bool)) error {
+ page, _ := c.DescribeInstancesRequest(input)
+ return page.EachPage(func(p interface{}, lastPage bool) bool {
+ return fn(p.(*DescribeInstancesOutput), lastPage)
+ })
+}
+
+const opDescribeInternetGateways = "DescribeInternetGateways"
+
+// DescribeInternetGatewaysRequest generates a request for the DescribeInternetGateways operation.
+func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *aws.Request, output *DescribeInternetGatewaysOutput) {
+ op := &aws.Operation{
+ Name: opDescribeInternetGateways,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeInternetGatewaysInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeInternetGatewaysOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your Internet gateways.
+func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
+ req, out := c.DescribeInternetGatewaysRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeKeyPairs = "DescribeKeyPairs"
+
+// DescribeKeyPairsRequest generates a request for the DescribeKeyPairs operation.
+func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *aws.Request, output *DescribeKeyPairsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeKeyPairs,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeKeyPairsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeKeyPairsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your key pairs.
+//
+// For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
+ req, out := c.DescribeKeyPairsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeMovingAddresses = "DescribeMovingAddresses"
+
+// DescribeMovingAddressesRequest generates a request for the DescribeMovingAddresses operation.
+func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *aws.Request, output *DescribeMovingAddressesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeMovingAddresses,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeMovingAddressesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeMovingAddressesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
+// or that are being restored to the EC2-Classic platform. This request does
+// not return information about any other Elastic IP addresses in your account.
+func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
+ req, out := c.DescribeMovingAddressesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeNetworkACLs = "DescribeNetworkAcls"
+
+// DescribeNetworkACLsRequest generates a request for the DescribeNetworkACLs operation.
+func (c *EC2) DescribeNetworkACLsRequest(input *DescribeNetworkACLsInput) (req *aws.Request, output *DescribeNetworkACLsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeNetworkACLs,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeNetworkACLsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeNetworkACLsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your network ACLs.
+//
+// For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) DescribeNetworkACLs(input *DescribeNetworkACLsInput) (*DescribeNetworkACLsOutput, error) {
+ req, out := c.DescribeNetworkACLsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
+
+// DescribeNetworkInterfaceAttributeRequest generates a request for the DescribeNetworkInterfaceAttribute operation.
+func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *aws.Request, output *DescribeNetworkInterfaceAttributeOutput) {
+ op := &aws.Operation{
+ Name: opDescribeNetworkInterfaceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeNetworkInterfaceAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeNetworkInterfaceAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Describes a network interface attribute. You can specify only one attribute
+// at a time.
+func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
+ req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
+
+// DescribeNetworkInterfacesRequest generates a request for the DescribeNetworkInterfaces operation.
+func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *aws.Request, output *DescribeNetworkInterfacesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeNetworkInterfaces,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeNetworkInterfacesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeNetworkInterfacesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your network interfaces.
+func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
+ req, out := c.DescribeNetworkInterfacesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribePlacementGroups = "DescribePlacementGroups"
+
+// DescribePlacementGroupsRequest generates a request for the DescribePlacementGroups operation.
+func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *aws.Request, output *DescribePlacementGroupsOutput) {
+ op := &aws.Operation{
+ Name: opDescribePlacementGroups,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribePlacementGroupsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribePlacementGroupsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your placement groups. For more information about
+// placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
+ req, out := c.DescribePlacementGroupsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribePrefixLists = "DescribePrefixLists"
+
+// DescribePrefixListsRequest generates a request for the DescribePrefixLists operation.
+func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *aws.Request, output *DescribePrefixListsOutput) {
+ op := &aws.Operation{
+ Name: opDescribePrefixLists,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribePrefixListsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribePrefixListsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes available AWS services in a prefix list format, which includes
+// the prefix list name and prefix list ID of the service and the IP address
+// range for the service. A prefix list ID is required for creating an outbound
+// security group rule that allows traffic from a VPC to access an AWS service
+// through a VPC endpoint.
+func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
+ req, out := c.DescribePrefixListsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeRegions = "DescribeRegions"
+
+// DescribeRegionsRequest generates a request for the DescribeRegions operation.
+func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *aws.Request, output *DescribeRegionsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeRegions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeRegionsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeRegionsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more regions that are currently available to you.
+//
+// For a list of the regions supported by Amazon EC2, see Regions and Endpoints
+// (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
+func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
+ req, out := c.DescribeRegionsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeReservedInstances = "DescribeReservedInstances"
+
+// DescribeReservedInstancesRequest generates a request for the DescribeReservedInstances operation.
+func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *aws.Request, output *DescribeReservedInstancesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeReservedInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeReservedInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeReservedInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of the Reserved Instances that you purchased.
+//
+// For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
+ req, out := c.DescribeReservedInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
+
+// DescribeReservedInstancesListingsRequest generates a request for the DescribeReservedInstancesListings operation.
+func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *aws.Request, output *DescribeReservedInstancesListingsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeReservedInstancesListings,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeReservedInstancesListingsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeReservedInstancesListingsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes your account's Reserved Instance listings in the Reserved Instance
+// Marketplace.
+//
+// The Reserved Instance Marketplace matches sellers who want to resell Reserved
+// Instance capacity that they no longer need with buyers who want to purchase
+// additional capacity. Reserved Instances bought and sold through the Reserved
+// Instance Marketplace work like any other Reserved Instances.
+//
+// As a seller, you choose to list some or all of your Reserved Instances,
+// and you specify the upfront price to receive for them. Your Reserved Instances
+// are then listed in the Reserved Instance Marketplace and are available for
+// purchase.
+//
+// As a buyer, you specify the configuration of the Reserved Instance to purchase,
+// and the Marketplace matches what you're searching for with what's available.
+// The Marketplace first sells the lowest priced Reserved Instances to you,
+// and continues to sell available Reserved Instance listings to you until your
+// demand is met. You are charged based on the total price of all of the listings
+// that you purchase.
+//
+// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
+ req, out := c.DescribeReservedInstancesListingsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
+
+// DescribeReservedInstancesModificationsRequest generates a request for the DescribeReservedInstancesModifications operation.
+func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *aws.Request, output *DescribeReservedInstancesModificationsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeReservedInstancesModifications,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &aws.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeReservedInstancesModificationsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeReservedInstancesModificationsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the modifications made to your Reserved Instances. If no parameter
+// is specified, information about all your Reserved Instances modification
+// requests is returned. If a modification ID is specified, only information
+// about the specific modification is returned.
+//
+// For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
+ req, out := c.DescribeReservedInstancesModificationsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(p *DescribeReservedInstancesModificationsOutput, lastPage bool) (shouldContinue bool)) error {
+ page, _ := c.DescribeReservedInstancesModificationsRequest(input)
+ return page.EachPage(func(p interface{}, lastPage bool) bool {
+ return fn(p.(*DescribeReservedInstancesModificationsOutput), lastPage)
+ })
+}
+
+const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
+
+// DescribeReservedInstancesOfferingsRequest generates a request for the DescribeReservedInstancesOfferings operation.
+func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *aws.Request, output *DescribeReservedInstancesOfferingsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeReservedInstancesOfferings,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &aws.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeReservedInstancesOfferingsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeReservedInstancesOfferingsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes Reserved Instance offerings that are available for purchase. With
+// Reserved Instances, you purchase the right to launch instances for a period
+// of time. During that time period, you do not receive insufficient capacity
+// errors, and you pay a lower usage rate than the rate charged for On-Demand
+// instances for the actual time used.
+//
+// For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
+ req, out := c.DescribeReservedInstancesOfferingsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(p *DescribeReservedInstancesOfferingsOutput, lastPage bool) (shouldContinue bool)) error {
+ page, _ := c.DescribeReservedInstancesOfferingsRequest(input)
+ return page.EachPage(func(p interface{}, lastPage bool) bool {
+ return fn(p.(*DescribeReservedInstancesOfferingsOutput), lastPage)
+ })
+}
+
+const opDescribeRouteTables = "DescribeRouteTables"
+
+// DescribeRouteTablesRequest generates a request for the DescribeRouteTables operation.
+func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *aws.Request, output *DescribeRouteTablesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeRouteTables,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeRouteTablesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeRouteTablesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your route tables.
+//
+// Each subnet in your VPC must be associated with a route table. If a subnet
+// is not explicitly associated with any route table, it is implicitly associated
+// with the main route table. This command does not return the subnet ID for
+// implicit associations.
+//
+// For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
+ req, out := c.DescribeRouteTablesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeSecurityGroups = "DescribeSecurityGroups"
+
+// DescribeSecurityGroupsRequest generates a request for the DescribeSecurityGroups operation.
+func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *aws.Request, output *DescribeSecurityGroupsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeSecurityGroups,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSecurityGroupsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeSecurityGroupsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your security groups.
+//
+// A security group is for use with instances either in the EC2-Classic platform
+// or in a specific VPC. For more information, see Amazon EC2 Security Groups
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
+// in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
+// VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
+ req, out := c.DescribeSecurityGroupsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
+
+// DescribeSnapshotAttributeRequest generates a request for the DescribeSnapshotAttribute operation.
+func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *aws.Request, output *DescribeSnapshotAttributeOutput) {
+ op := &aws.Operation{
+ Name: opDescribeSnapshotAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSnapshotAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeSnapshotAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the specified attribute of the specified snapshot. You can specify
+// only one attribute at a time.
+//
+// For more information about EBS snapshots, see Amazon EBS Snapshots in the
+// Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
+ req, out := c.DescribeSnapshotAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeSnapshots = "DescribeSnapshots"
+
+// DescribeSnapshotsRequest generates a request for the DescribeSnapshots operation.
+func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *aws.Request, output *DescribeSnapshotsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeSnapshots,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &aws.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeSnapshotsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeSnapshotsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of the EBS snapshots available to you. Available snapshots
+// include public snapshots available for any AWS account to launch, private
+// snapshots that you own, and private snapshots owned by another AWS account
+// but for which you've been given explicit create volume permissions.
+//
+// The create volume permissions fall into the following categories:
+//
+// public: The owner of the snapshot granted create volume permissions for
+// the snapshot to the all group. All AWS accounts have create volume permissions
+// for these snapshots. explicit: The owner of the snapshot granted create
+// volume permissions to a specific AWS account. implicit: An AWS account has
+// implicit create volume permissions for all snapshots it owns. The list of
+// snapshots returned can be modified by specifying snapshot IDs, snapshot owners,
+// or AWS accounts with create volume permissions. If no options are specified,
+// Amazon EC2 returns all snapshots for which you have create volume permissions.
+//
+// If you specify one or more snapshot IDs, only snapshots that have the specified
+// IDs are returned. If you specify an invalid snapshot ID, an error is returned.
+// If you specify a snapshot ID for which you do not have access, it is not
+// included in the returned results.
+//
+// If you specify one or more snapshot owners, only snapshots from the specified
+// owners and for which you have access are returned. The results can include
+// the AWS account IDs of the specified owners, amazon for snapshots owned by
+// Amazon, or self for snapshots that you own.
+//
+// If you specify a list of restorable users, only snapshots with create snapshot
+// permissions for those users are returned. You can specify AWS account IDs
+// (if you own the snapshots), self for snapshots for which you own or have
+// explicit permissions, or all for public snapshots.
+//
+// If you are describing a long list of snapshots, you can paginate the output
+// to make the list more manageable. The MaxResults parameter sets the maximum
+// number of results returned in a single page. If the list of results exceeds
+// your MaxResults value, then that number of results is returned along with
+// a NextToken value that can be passed to a subsequent DescribeSnapshots request
+// to retrieve the remaining results.
+//
+// For more information about EBS snapshots, see Amazon EBS Snapshots in the
+// Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
+ req, out := c.DescribeSnapshotsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *DescribeSnapshotsOutput, lastPage bool) (shouldContinue bool)) error {
+ page, _ := c.DescribeSnapshotsRequest(input)
+ return page.EachPage(func(p interface{}, lastPage bool) bool {
+ return fn(p.(*DescribeSnapshotsOutput), lastPage)
+ })
+}
+
+const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
+
+// DescribeSpotDatafeedSubscriptionRequest generates a request for the DescribeSpotDatafeedSubscription operation.
+func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *aws.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
+ op := &aws.Operation{
+ Name: opDescribeSpotDatafeedSubscription,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSpotDatafeedSubscriptionInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeSpotDatafeedSubscriptionOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the data feed for Spot Instances. For more information, see Spot
+// Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
+
+// DescribeSpotFleetInstancesRequest generates a request for the DescribeSpotFleetInstances operation.
+func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *aws.Request, output *DescribeSpotFleetInstancesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeSpotFleetInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSpotFleetInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeSpotFleetInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the running instances for the specified Spot fleet.
+func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
+ req, out := c.DescribeSpotFleetInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
+
+// DescribeSpotFleetRequestHistoryRequest generates a request for the DescribeSpotFleetRequestHistory operation.
+func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *aws.Request, output *DescribeSpotFleetRequestHistoryOutput) {
+ op := &aws.Operation{
+ Name: opDescribeSpotFleetRequestHistory,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSpotFleetRequestHistoryInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeSpotFleetRequestHistoryOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the events for the specified Spot fleet request during the specified
+// time.
+//
+// Spot fleet events are delayed by up to 30 seconds before they can be described.
+// This ensures that you can query by the last evaluated time and not miss a
+// recorded event.
+func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
+ req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
+
+// DescribeSpotFleetRequestsRequest generates a request for the DescribeSpotFleetRequests operation.
+func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *aws.Request, output *DescribeSpotFleetRequestsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeSpotFleetRequests,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSpotFleetRequestsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeSpotFleetRequestsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes your Spot fleet requests.
+func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
+ req, out := c.DescribeSpotFleetRequestsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
+
+// DescribeSpotInstanceRequestsRequest generates a request for the DescribeSpotInstanceRequests operation.
+func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *aws.Request, output *DescribeSpotInstanceRequestsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeSpotInstanceRequests,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSpotInstanceRequestsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeSpotInstanceRequestsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the Spot Instance requests that belong to your account. Spot Instances
+// are instances that Amazon EC2 launches when the bid price that you specify
+// exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price
+// based on available Spot Instance capacity and current Spot Instance requests.
+// For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// You can use DescribeSpotInstanceRequests to find a running Spot Instance
+// by examining the response. If the status of the Spot Instance is fulfilled,
+// the instance ID appears in the response and contains the identifier of the
+// instance. Alternatively, you can use DescribeInstances with a filter to look
+// for instances where the instance lifecycle is spot.
+func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
+ req, out := c.DescribeSpotInstanceRequestsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
+
+// DescribeSpotPriceHistoryRequest generates a request for the DescribeSpotPriceHistory operation.
+func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *aws.Request, output *DescribeSpotPriceHistoryOutput) {
+ op := &aws.Operation{
+ Name: opDescribeSpotPriceHistory,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &aws.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeSpotPriceHistoryInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeSpotPriceHistoryOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the Spot Price history. The prices returned are listed in chronological
+// order, from the oldest to the most recent, for up to the past 90 days. For
+// more information, see Spot Instance Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// When you specify a start and end time, this operation returns the prices
+// of the instance types within the time range that you specified and the time
+// when the price changed. The price is valid within the time period that you
+// specified; the response merely indicates the last time that the price changed.
+func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
+ req, out := c.DescribeSpotPriceHistoryRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(p *DescribeSpotPriceHistoryOutput, lastPage bool) (shouldContinue bool)) error {
+ page, _ := c.DescribeSpotPriceHistoryRequest(input)
+ return page.EachPage(func(p interface{}, lastPage bool) bool {
+ return fn(p.(*DescribeSpotPriceHistoryOutput), lastPage)
+ })
+}
+
+const opDescribeSubnets = "DescribeSubnets"
+
+// DescribeSubnetsRequest generates a request for the DescribeSubnets operation.
+func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *aws.Request, output *DescribeSubnetsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeSubnets,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeSubnetsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeSubnetsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your subnets.
+//
+// For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
+ req, out := c.DescribeSubnetsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeTags = "DescribeTags"
+
+// DescribeTagsRequest generates a request for the DescribeTags operation.
+func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *aws.Request, output *DescribeTagsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeTags,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeTagsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeTagsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of the tags for your EC2 resources.
+//
+// For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
+ req, out := c.DescribeTagsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeVPCAttribute = "DescribeVpcAttribute"
+
+// DescribeVPCAttributeRequest generates a request for the DescribeVPCAttribute operation.
+func (c *EC2) DescribeVPCAttributeRequest(input *DescribeVPCAttributeInput) (req *aws.Request, output *DescribeVPCAttributeOutput) {
+ op := &aws.Operation{
+ Name: opDescribeVPCAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVPCAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeVPCAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the specified attribute of the specified VPC. You can specify only
+// one attribute at a time.
+func (c *EC2) DescribeVPCAttribute(input *DescribeVPCAttributeInput) (*DescribeVPCAttributeOutput, error) {
+ req, out := c.DescribeVPCAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeVPCClassicLink = "DescribeVpcClassicLink"
+
+// DescribeVPCClassicLinkRequest generates a request for the DescribeVPCClassicLink operation.
+func (c *EC2) DescribeVPCClassicLinkRequest(input *DescribeVPCClassicLinkInput) (req *aws.Request, output *DescribeVPCClassicLinkOutput) {
+ op := &aws.Operation{
+ Name: opDescribeVPCClassicLink,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVPCClassicLinkInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeVPCClassicLinkOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the ClassicLink status of one or more VPCs.
+func (c *EC2) DescribeVPCClassicLink(input *DescribeVPCClassicLinkInput) (*DescribeVPCClassicLinkOutput, error) {
+ req, out := c.DescribeVPCClassicLinkRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeVPCEndpointServices = "DescribeVpcEndpointServices"
+
+// DescribeVPCEndpointServicesRequest generates a request for the DescribeVPCEndpointServices operation.
+func (c *EC2) DescribeVPCEndpointServicesRequest(input *DescribeVPCEndpointServicesInput) (req *aws.Request, output *DescribeVPCEndpointServicesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeVPCEndpointServices,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVPCEndpointServicesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeVPCEndpointServicesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes all supported AWS services that can be specified when creating
+// a VPC endpoint.
+func (c *EC2) DescribeVPCEndpointServices(input *DescribeVPCEndpointServicesInput) (*DescribeVPCEndpointServicesOutput, error) {
+ req, out := c.DescribeVPCEndpointServicesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeVPCEndpoints = "DescribeVpcEndpoints"
+
+// DescribeVPCEndpointsRequest generates a request for the DescribeVPCEndpoints operation.
+func (c *EC2) DescribeVPCEndpointsRequest(input *DescribeVPCEndpointsInput) (req *aws.Request, output *DescribeVPCEndpointsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeVPCEndpoints,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVPCEndpointsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeVPCEndpointsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your VPC endpoints.
+func (c *EC2) DescribeVPCEndpoints(input *DescribeVPCEndpointsInput) (*DescribeVPCEndpointsOutput, error) {
+ req, out := c.DescribeVPCEndpointsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeVPCPeeringConnections = "DescribeVpcPeeringConnections"
+
+// DescribeVPCPeeringConnectionsRequest generates a request for the DescribeVPCPeeringConnections operation.
+func (c *EC2) DescribeVPCPeeringConnectionsRequest(input *DescribeVPCPeeringConnectionsInput) (req *aws.Request, output *DescribeVPCPeeringConnectionsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeVPCPeeringConnections,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVPCPeeringConnectionsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeVPCPeeringConnectionsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your VPC peering connections.
+func (c *EC2) DescribeVPCPeeringConnections(input *DescribeVPCPeeringConnectionsInput) (*DescribeVPCPeeringConnectionsOutput, error) {
+ req, out := c.DescribeVPCPeeringConnectionsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeVPCs = "DescribeVpcs"
+
+// DescribeVPCsRequest generates a request for the DescribeVPCs operation.
+func (c *EC2) DescribeVPCsRequest(input *DescribeVPCsInput) (req *aws.Request, output *DescribeVPCsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeVPCs,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVPCsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeVPCsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your VPCs.
+func (c *EC2) DescribeVPCs(input *DescribeVPCsInput) (*DescribeVPCsOutput, error) {
+ req, out := c.DescribeVPCsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeVPNConnections = "DescribeVpnConnections"
+
+// DescribeVPNConnectionsRequest generates a request for the DescribeVPNConnections operation.
+func (c *EC2) DescribeVPNConnectionsRequest(input *DescribeVPNConnectionsInput) (req *aws.Request, output *DescribeVPNConnectionsOutput) {
+ op := &aws.Operation{
+ Name: opDescribeVPNConnections,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVPNConnectionsInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeVPNConnectionsOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your VPN connections.
+//
+// For more information about VPN connections, see Adding a Hardware Virtual
+// Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) DescribeVPNConnections(input *DescribeVPNConnectionsInput) (*DescribeVPNConnectionsOutput, error) {
+ req, out := c.DescribeVPNConnectionsRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeVPNGateways = "DescribeVpnGateways"
+
+// DescribeVPNGatewaysRequest generates a request for the DescribeVPNGateways operation.
+func (c *EC2) DescribeVPNGatewaysRequest(input *DescribeVPNGatewaysInput) (req *aws.Request, output *DescribeVPNGatewaysOutput) {
+ op := &aws.Operation{
+ Name: opDescribeVPNGateways,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVPNGatewaysInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeVPNGatewaysOutput{}
+ req.Data = output
+ return
+}
+
+// Describes one or more of your virtual private gateways.
+//
+// For more information about virtual private gateways, see Adding an IPsec
+// Hardware VPN to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) DescribeVPNGateways(input *DescribeVPNGatewaysInput) (*DescribeVPNGatewaysOutput, error) {
+ req, out := c.DescribeVPNGatewaysRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
+
+// DescribeVolumeAttributeRequest generates a request for the DescribeVolumeAttribute operation.
+func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *aws.Request, output *DescribeVolumeAttributeOutput) {
+ op := &aws.Operation{
+ Name: opDescribeVolumeAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeVolumeAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeVolumeAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the specified attribute of the specified volume. You can specify
+// only one attribute at a time.
+//
+// For more information about EBS volumes, see Amazon EBS Volumes in the Amazon
+// Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
+ req, out := c.DescribeVolumeAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDescribeVolumeStatus = "DescribeVolumeStatus"
+
+// DescribeVolumeStatusRequest generates a request for the DescribeVolumeStatus operation.
+func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *aws.Request, output *DescribeVolumeStatusOutput) {
+ op := &aws.Operation{
+ Name: opDescribeVolumeStatus,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &aws.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeVolumeStatusInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeVolumeStatusOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the status of the specified volumes. Volume status provides the
+// result of the checks performed on your volumes to determine events that can
+// impair the performance of your volumes. The performance of a volume can be
+// affected if an issue occurs on the volume's underlying host. If the volume's
+// underlying host experiences a power outage or system issue, after the system
+// is restored, there could be data inconsistencies on the volume. Volume events
+// notify you if this occurs. Volume actions notify you if any action needs
+// to be taken in response to the event.
+//
+// The DescribeVolumeStatus operation provides the following information about
+// the specified volumes:
+//
+// Status: Reflects the current status of the volume. The possible values are
+// ok, impaired , warning, or insufficient-data. If all checks pass, the overall
+// status of the volume is ok. If the check fails, the overall status is impaired.
+// If the status is insufficient-data, then the checks may still be taking place
+// on your volume at the time. We recommend that you retry the request. For
+// more information on volume status, see Monitoring the Status of Your Volumes
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html).
+//
+// Events: Reflect the cause of a volume status and may require you to take
+// action. For example, if your volume returns an impaired status, then the
+// volume event might be potential-data-inconsistency. This means that your
+// volume has been affected by an issue with the underlying host, has all I/O
+// operations disabled, and may have inconsistent data.
+//
+// Actions: Reflect the actions you may have to take in response to an event.
+// For example, if the status of the volume is impaired and the volume event
+// shows potential-data-inconsistency, then the action shows enable-volume-io.
+// This means that you may want to enable the I/O operations for the volume
+// by calling the EnableVolumeIO action and then check the volume for data consistency.
+//
+// Volume status is based on the volume status checks, and does not reflect
+// the volume state. Therefore, volume status does not indicate volumes in the
+// error state (for example, when a volume is incapable of accepting I/O.)
+func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
+ req, out := c.DescribeVolumeStatusRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(p *DescribeVolumeStatusOutput, lastPage bool) (shouldContinue bool)) error {
+ page, _ := c.DescribeVolumeStatusRequest(input)
+ return page.EachPage(func(p interface{}, lastPage bool) bool {
+ return fn(p.(*DescribeVolumeStatusOutput), lastPage)
+ })
+}
+
+const opDescribeVolumes = "DescribeVolumes"
+
+// DescribeVolumesRequest generates a request for the DescribeVolumes operation.
+func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *aws.Request, output *DescribeVolumesOutput) {
+ op := &aws.Operation{
+ Name: opDescribeVolumes,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ Paginator: &aws.Paginator{
+ InputTokens: []string{"NextToken"},
+ OutputTokens: []string{"NextToken"},
+ LimitToken: "MaxResults",
+ TruncationToken: "",
+ },
+ }
+
+ if input == nil {
+ input = &DescribeVolumesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DescribeVolumesOutput{}
+ req.Data = output
+ return
+}
+
+// Describes the specified EBS volumes.
+//
+// If you are describing a long list of volumes, you can paginate the output
+// to make the list more manageable. The MaxResults parameter sets the maximum
+// number of results returned in a single page. If the list of results exceeds
+// your MaxResults value, then that number of results is returned along with
+// a NextToken value that can be passed to a subsequent DescribeVolumes request
+// to retrieve the remaining results.
+//
+// For more information about EBS volumes, see Amazon EBS Volumes in the Amazon
+// Elastic Compute Cloud User Guide.
+func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
+ req, out := c.DescribeVolumesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(p *DescribeVolumesOutput, lastPage bool) (shouldContinue bool)) error {
+ page, _ := c.DescribeVolumesRequest(input)
+ return page.EachPage(func(p interface{}, lastPage bool) bool {
+ return fn(p.(*DescribeVolumesOutput), lastPage)
+ })
+}
+
+const opDetachClassicLinkVPC = "DetachClassicLinkVpc"
+
+// DetachClassicLinkVPCRequest generates a request for the DetachClassicLinkVPC operation.
+func (c *EC2) DetachClassicLinkVPCRequest(input *DetachClassicLinkVPCInput) (req *aws.Request, output *DetachClassicLinkVPCOutput) {
+ op := &aws.Operation{
+ Name: opDetachClassicLinkVPC,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DetachClassicLinkVPCInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DetachClassicLinkVPCOutput{}
+ req.Data = output
+ return
+}
+
+// Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
+// has been unlinked, the VPC security groups are no longer associated with
+// it. An instance is automatically unlinked from a VPC when it's stopped.
+func (c *EC2) DetachClassicLinkVPC(input *DetachClassicLinkVPCInput) (*DetachClassicLinkVPCOutput, error) {
+ req, out := c.DetachClassicLinkVPCRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDetachInternetGateway = "DetachInternetGateway"
+
+// DetachInternetGatewayRequest generates a request for the DetachInternetGateway operation.
+func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *aws.Request, output *DetachInternetGatewayOutput) {
+ op := &aws.Operation{
+ Name: opDetachInternetGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DetachInternetGatewayInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DetachInternetGatewayOutput{}
+ req.Data = output
+ return
+}
+
+// Detaches an Internet gateway from a VPC, disabling connectivity between the
+// Internet and the VPC. The VPC must not contain any running instances with
+// Elastic IP addresses.
+func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
+ req, out := c.DetachInternetGatewayRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDetachNetworkInterface = "DetachNetworkInterface"
+
+// DetachNetworkInterfaceRequest generates a request for the DetachNetworkInterface operation.
+func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *aws.Request, output *DetachNetworkInterfaceOutput) {
+ op := &aws.Operation{
+ Name: opDetachNetworkInterface,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DetachNetworkInterfaceInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DetachNetworkInterfaceOutput{}
+ req.Data = output
+ return
+}
+
+// Detaches a network interface from an instance.
+func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
+ req, out := c.DetachNetworkInterfaceRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDetachVPNGateway = "DetachVpnGateway"
+
+// DetachVPNGatewayRequest generates a request for the DetachVPNGateway operation.
+func (c *EC2) DetachVPNGatewayRequest(input *DetachVPNGatewayInput) (req *aws.Request, output *DetachVPNGatewayOutput) {
+ op := &aws.Operation{
+ Name: opDetachVPNGateway,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DetachVPNGatewayInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DetachVPNGatewayOutput{}
+ req.Data = output
+ return
+}
+
+// Detaches a virtual private gateway from a VPC. You do this if you're planning
+// to turn off the VPC and not use it anymore. You can confirm a virtual private
+// gateway has been completely detached from a VPC by describing the virtual
+// private gateway (any attachments to the virtual private gateway are also
+// described).
+//
+// You must wait for the attachment's state to switch to detached before you
+// can delete the VPC or attach a different VPC to the virtual private gateway.
+func (c *EC2) DetachVPNGateway(input *DetachVPNGatewayInput) (*DetachVPNGatewayOutput, error) {
+ req, out := c.DetachVPNGatewayRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDetachVolume = "DetachVolume"
+
+// DetachVolumeRequest generates a request for the DetachVolume operation.
+func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *aws.Request, output *VolumeAttachment) {
+ op := &aws.Operation{
+ Name: opDetachVolume,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DetachVolumeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &VolumeAttachment{}
+ req.Data = output
+ return
+}
+
+// Detaches an EBS volume from an instance. Make sure to unmount any file systems
+// on the device within your operating system before detaching the volume. Failure
+// to do so results in the volume being stuck in a busy state while detaching.
+//
+// If an Amazon EBS volume is the root device of an instance, it can't be detached
+// while the instance is running. To detach the root volume, stop the instance
+// first.
+//
+// When a volume with an AWS Marketplace product code is detached from an instance,
+// the product code is no longer associated with the instance.
+//
+// For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
+ req, out := c.DetachVolumeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDisableVGWRoutePropagation = "DisableVgwRoutePropagation"
+
+// DisableVGWRoutePropagationRequest generates a request for the DisableVGWRoutePropagation operation.
+func (c *EC2) DisableVGWRoutePropagationRequest(input *DisableVGWRoutePropagationInput) (req *aws.Request, output *DisableVGWRoutePropagationOutput) {
+ op := &aws.Operation{
+ Name: opDisableVGWRoutePropagation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisableVGWRoutePropagationInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DisableVGWRoutePropagationOutput{}
+ req.Data = output
+ return
+}
+
+// Disables a virtual private gateway (VGW) from propagating routes to a specified
+// route table of a VPC.
+func (c *EC2) DisableVGWRoutePropagation(input *DisableVGWRoutePropagationInput) (*DisableVGWRoutePropagationOutput, error) {
+ req, out := c.DisableVGWRoutePropagationRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDisableVPCClassicLink = "DisableVpcClassicLink"
+
+// DisableVPCClassicLinkRequest generates a request for the DisableVPCClassicLink operation.
+func (c *EC2) DisableVPCClassicLinkRequest(input *DisableVPCClassicLinkInput) (req *aws.Request, output *DisableVPCClassicLinkOutput) {
+ op := &aws.Operation{
+ Name: opDisableVPCClassicLink,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisableVPCClassicLinkInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DisableVPCClassicLinkOutput{}
+ req.Data = output
+ return
+}
+
+// Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
+// that has EC2-Classic instances linked to it.
+func (c *EC2) DisableVPCClassicLink(input *DisableVPCClassicLinkInput) (*DisableVPCClassicLinkOutput, error) {
+ req, out := c.DisableVPCClassicLinkRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDisassociateAddress = "DisassociateAddress"
+
+// DisassociateAddressRequest generates a request for the DisassociateAddress operation.
+func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *aws.Request, output *DisassociateAddressOutput) {
+ op := &aws.Operation{
+ Name: opDisassociateAddress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisassociateAddressInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DisassociateAddressOutput{}
+ req.Data = output
+ return
+}
+
+// Disassociates an Elastic IP address from the instance or network interface
+// it's associated with.
+//
+// An Elastic IP address is for use in either the EC2-Classic platform or in
+// a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// This is an idempotent operation. If you perform the operation more than
+// once, Amazon EC2 doesn't return an error.
+func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
+ req, out := c.DisassociateAddressRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opDisassociateRouteTable = "DisassociateRouteTable"
+
+// DisassociateRouteTableRequest generates a request for the DisassociateRouteTable operation.
+func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *aws.Request, output *DisassociateRouteTableOutput) {
+ op := &aws.Operation{
+ Name: opDisassociateRouteTable,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DisassociateRouteTableInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &DisassociateRouteTableOutput{}
+ req.Data = output
+ return
+}
+
+// Disassociates a subnet from a route table.
+//
+// After you perform this action, the subnet no longer uses the routes in the
+// route table. Instead, it uses the routes in the VPC's main route table. For
+// more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
+ req, out := c.DisassociateRouteTableRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opEnableVGWRoutePropagation = "EnableVgwRoutePropagation"
+
+// EnableVGWRoutePropagationRequest generates a request for the EnableVGWRoutePropagation operation.
+func (c *EC2) EnableVGWRoutePropagationRequest(input *EnableVGWRoutePropagationInput) (req *aws.Request, output *EnableVGWRoutePropagationOutput) {
+ op := &aws.Operation{
+ Name: opEnableVGWRoutePropagation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &EnableVGWRoutePropagationInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &EnableVGWRoutePropagationOutput{}
+ req.Data = output
+ return
+}
+
+// Enables a virtual private gateway (VGW) to propagate routes to the specified
+// route table of a VPC.
+func (c *EC2) EnableVGWRoutePropagation(input *EnableVGWRoutePropagationInput) (*EnableVGWRoutePropagationOutput, error) {
+ req, out := c.EnableVGWRoutePropagationRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opEnableVPCClassicLink = "EnableVpcClassicLink"
+
+// EnableVPCClassicLinkRequest generates a request for the EnableVPCClassicLink operation.
+func (c *EC2) EnableVPCClassicLinkRequest(input *EnableVPCClassicLinkInput) (req *aws.Request, output *EnableVPCClassicLinkOutput) {
+ op := &aws.Operation{
+ Name: opEnableVPCClassicLink,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &EnableVPCClassicLinkInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &EnableVPCClassicLinkOutput{}
+ req.Data = output
+ return
+}
+
+// Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
+// your ClassicLink-enabled VPC to allow communication over private IP addresses.
+// You cannot enable your VPC for ClassicLink if any of your VPC's route tables
+// have existing routes for address ranges within the 10.0.0.0/8 IP address
+// range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
+// IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) EnableVPCClassicLink(input *EnableVPCClassicLinkInput) (*EnableVPCClassicLinkOutput, error) {
+ req, out := c.EnableVPCClassicLinkRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opEnableVolumeIO = "EnableVolumeIO"
+
+// EnableVolumeIORequest generates a request for the EnableVolumeIO operation.
+func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *aws.Request, output *EnableVolumeIOOutput) {
+ op := &aws.Operation{
+ Name: opEnableVolumeIO,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &EnableVolumeIOInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &EnableVolumeIOOutput{}
+ req.Data = output
+ return
+}
+
+// Enables I/O operations for a volume that had I/O operations disabled because
+// the data on the volume was potentially inconsistent.
+func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
+ req, out := c.EnableVolumeIORequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opGetConsoleOutput = "GetConsoleOutput"
+
+// GetConsoleOutputRequest generates a request for the GetConsoleOutput operation.
+func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *aws.Request, output *GetConsoleOutputOutput) {
+ op := &aws.Operation{
+ Name: opGetConsoleOutput,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetConsoleOutputInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &GetConsoleOutputOutput{}
+ req.Data = output
+ return
+}
+
+// Gets the console output for the specified instance.
+//
+// Instances do not have a physical monitor through which you can view their
+// console output. They also lack physical controls that allow you to power
+// up, reboot, or shut them down. To allow these actions, we provide them through
+// the Amazon EC2 API and command line interface.
+//
+// Instance console output is buffered and posted shortly after instance boot,
+// reboot, and termination. Amazon EC2 preserves the most recent 64 KB output
+// which is available for at least one hour after the most recent post.
+//
+// For Linux instances, the instance console output displays the exact console
+// output that would normally be displayed on a physical monitor attached to
+// a computer. This output is buffered because the instance produces it and
+// then posts it to a store where the instance's owner can retrieve it.
+//
+// For Windows instances, the instance console output includes output from
+// the EC2Config service.
+func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
+ req, out := c.GetConsoleOutputRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opGetPasswordData = "GetPasswordData"
+
+// GetPasswordDataRequest generates a request for the GetPasswordData operation.
+func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *aws.Request, output *GetPasswordDataOutput) {
+ op := &aws.Operation{
+ Name: opGetPasswordData,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &GetPasswordDataInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &GetPasswordDataOutput{}
+ req.Data = output
+ return
+}
+
+// Retrieves the encrypted administrator password for an instance running Windows.
+//
+// The Windows password is generated at boot if the EC2Config service plugin,
+// Ec2SetPassword, is enabled. This usually only happens the first time an AMI
+// is launched, and then Ec2SetPassword is automatically disabled. The password
+// is not generated for rebundled AMIs unless Ec2SetPassword is enabled before
+// bundling.
+//
+// The password is encrypted using the key pair that you specified when you
+// launched the instance. You must provide the corresponding key pair file.
+//
+// Password generation and encryption takes a few moments. We recommend that
+// you wait up to 15 minutes after launching an instance before trying to retrieve
+// the generated password.
+func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
+ req, out := c.GetPasswordDataRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opImportImage = "ImportImage"
+
+// ImportImageRequest generates a request for the ImportImage operation.
+func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *aws.Request, output *ImportImageOutput) {
+ op := &aws.Operation{
+ Name: opImportImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ImportImageInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ImportImageOutput{}
+ req.Data = output
+ return
+}
+
+// Import single or multi-volume disk images or EBS snapshots into an Amazon
+// Machine Image (AMI).
+func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
+ req, out := c.ImportImageRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opImportInstance = "ImportInstance"
+
+// ImportInstanceRequest generates a request for the ImportInstance operation.
+func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *aws.Request, output *ImportInstanceOutput) {
+ op := &aws.Operation{
+ Name: opImportInstance,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ImportInstanceInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ImportInstanceOutput{}
+ req.Data = output
+ return
+}
+
+// Creates an import instance task using metadata from the specified disk image.
+// ImportInstance only supports single-volume VMs. To import multi-volume VMs,
+// use ImportImage. After importing the image, you then upload it using the
+// ec2-import-volume command in the EC2 command line tools. For more information,
+// see Using the Command Line Tools to Import Your Virtual Machine to Amazon
+// EC2 (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
+ req, out := c.ImportInstanceRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opImportKeyPair = "ImportKeyPair"
+
+// ImportKeyPairRequest generates a request for the ImportKeyPair operation.
+func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *aws.Request, output *ImportKeyPairOutput) {
+ op := &aws.Operation{
+ Name: opImportKeyPair,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ImportKeyPairInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ImportKeyPairOutput{}
+ req.Data = output
+ return
+}
+
+// Imports the public key from an RSA key pair that you created with a third-party
+// tool. Compare this with CreateKeyPair, in which AWS creates the key pair
+// and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
+// you create the key pair and give AWS just the public key. The private key
+// is never transferred between you and AWS.
+//
+// For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
+ req, out := c.ImportKeyPairRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opImportSnapshot = "ImportSnapshot"
+
+// ImportSnapshotRequest generates a request for the ImportSnapshot operation.
+func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *aws.Request, output *ImportSnapshotOutput) {
+ op := &aws.Operation{
+ Name: opImportSnapshot,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ImportSnapshotInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ImportSnapshotOutput{}
+ req.Data = output
+ return
+}
+
+// Imports a disk into an EBS snapshot.
+func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
+ req, out := c.ImportSnapshotRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opImportVolume = "ImportVolume"
+
+// ImportVolumeRequest generates a request for the ImportVolume operation.
+func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *aws.Request, output *ImportVolumeOutput) {
+ op := &aws.Operation{
+ Name: opImportVolume,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ImportVolumeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ImportVolumeOutput{}
+ req.Data = output
+ return
+}
+
+// Creates an import volume task using metadata from the specified disk image.
+// After importing the image, you then upload it using the ec2-import-volume
+// command in the Amazon EC2 command-line interface (CLI) tools. For more information,
+// see Using the Command Line Tools to Import Your Virtual Machine to Amazon
+// EC2 (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
+ req, out := c.ImportVolumeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opModifyImageAttribute = "ModifyImageAttribute"
+
+// ModifyImageAttributeRequest generates a request for the ModifyImageAttribute operation.
+func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *aws.Request, output *ModifyImageAttributeOutput) {
+ op := &aws.Operation{
+ Name: opModifyImageAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyImageAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ModifyImageAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Modifies the specified attribute of the specified AMI. You can specify only
+// one attribute at a time.
+//
+// AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
+// product code cannot be made public.
+func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
+ req, out := c.ModifyImageAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opModifyInstanceAttribute = "ModifyInstanceAttribute"
+
+// ModifyInstanceAttributeRequest generates a request for the ModifyInstanceAttribute operation.
+func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *aws.Request, output *ModifyInstanceAttributeOutput) {
+ op := &aws.Operation{
+ Name: opModifyInstanceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyInstanceAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ModifyInstanceAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Modifies the specified attribute of the specified instance. You can specify
+// only one attribute at a time.
+//
+// To modify some attributes, the instance must be stopped. For more information,
+// see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
+ req, out := c.ModifyInstanceAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
+
+// ModifyNetworkInterfaceAttributeRequest generates a request for the ModifyNetworkInterfaceAttribute operation.
+func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *aws.Request, output *ModifyNetworkInterfaceAttributeOutput) {
+ op := &aws.Operation{
+ Name: opModifyNetworkInterfaceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyNetworkInterfaceAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ModifyNetworkInterfaceAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Modifies the specified network interface attribute. You can specify only
+// one attribute at a time.
+func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
+ req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opModifyReservedInstances = "ModifyReservedInstances"
+
+// ModifyReservedInstancesRequest generates a request for the ModifyReservedInstances operation.
+func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *aws.Request, output *ModifyReservedInstancesOutput) {
+ op := &aws.Operation{
+ Name: opModifyReservedInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyReservedInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ModifyReservedInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Modifies the Availability Zone, instance count, instance type, or network
+// platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
+// Instances to be modified must be identical, except for Availability Zone,
+// network platform, and instance type.
+//
+// For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
+ req, out := c.ModifyReservedInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opModifySnapshotAttribute = "ModifySnapshotAttribute"
+
+// ModifySnapshotAttributeRequest generates a request for the ModifySnapshotAttribute operation.
+func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *aws.Request, output *ModifySnapshotAttributeOutput) {
+ op := &aws.Operation{
+ Name: opModifySnapshotAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifySnapshotAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ModifySnapshotAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Adds or removes permission settings for the specified snapshot. You may add
+// or remove specified AWS account IDs from a snapshot's list of create volume
+// permissions, but you cannot do both in a single API call. If you need to
+// both add and remove account IDs for a snapshot, you must use multiple API
+// calls.
+//
+// For more information on modifying snapshot permissions, see Sharing Snapshots
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Snapshots with AWS Marketplace product codes cannot be made public.
+func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
+ req, out := c.ModifySnapshotAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opModifySubnetAttribute = "ModifySubnetAttribute"
+
+// ModifySubnetAttributeRequest generates a request for the ModifySubnetAttribute operation.
+func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *aws.Request, output *ModifySubnetAttributeOutput) {
+ op := &aws.Operation{
+ Name: opModifySubnetAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifySubnetAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ModifySubnetAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Modifies a subnet attribute.
+func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
+ req, out := c.ModifySubnetAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opModifyVPCAttribute = "ModifyVpcAttribute"
+
+// ModifyVPCAttributeRequest generates a request for the ModifyVPCAttribute operation.
+func (c *EC2) ModifyVPCAttributeRequest(input *ModifyVPCAttributeInput) (req *aws.Request, output *ModifyVPCAttributeOutput) {
+ op := &aws.Operation{
+ Name: opModifyVPCAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVPCAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ModifyVPCAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Modifies the specified attribute of the specified VPC.
+func (c *EC2) ModifyVPCAttribute(input *ModifyVPCAttributeInput) (*ModifyVPCAttributeOutput, error) {
+ req, out := c.ModifyVPCAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opModifyVPCEndpoint = "ModifyVpcEndpoint"
+
+// ModifyVPCEndpointRequest generates a request for the ModifyVPCEndpoint operation.
+func (c *EC2) ModifyVPCEndpointRequest(input *ModifyVPCEndpointInput) (req *aws.Request, output *ModifyVPCEndpointOutput) {
+ op := &aws.Operation{
+ Name: opModifyVPCEndpoint,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVPCEndpointInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ModifyVPCEndpointOutput{}
+ req.Data = output
+ return
+}
+
+// Modifies attributes of a specified VPC endpoint. You can modify the policy
+// associated with the endpoint, and you can add and remove route tables associated
+// with the endpoint.
+func (c *EC2) ModifyVPCEndpoint(input *ModifyVPCEndpointInput) (*ModifyVPCEndpointOutput, error) {
+ req, out := c.ModifyVPCEndpointRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opModifyVolumeAttribute = "ModifyVolumeAttribute"
+
+// ModifyVolumeAttributeRequest generates a request for the ModifyVolumeAttribute operation.
+func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *aws.Request, output *ModifyVolumeAttributeOutput) {
+ op := &aws.Operation{
+ Name: opModifyVolumeAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ModifyVolumeAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ModifyVolumeAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Modifies a volume attribute.
+//
+// By default, all I/O operations for the volume are suspended when the data
+// on the volume is determined to be potentially inconsistent, to prevent undetectable,
+// latent data corruption. The I/O access to the volume can be resumed by first
+// enabling I/O access and then checking the data consistency on your volume.
+//
+// You can change the default behavior to resume I/O operations. We recommend
+// that you change this only for boot volumes or for volumes that are stateless
+// or disposable.
+func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
+ req, out := c.ModifyVolumeAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opMonitorInstances = "MonitorInstances"
+
+// MonitorInstancesRequest generates a request for the MonitorInstances operation.
+func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *aws.Request, output *MonitorInstancesOutput) {
+ op := &aws.Operation{
+ Name: opMonitorInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &MonitorInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &MonitorInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Enables monitoring for a running instance. For more information about monitoring
+// instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
+ req, out := c.MonitorInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opMoveAddressToVPC = "MoveAddressToVpc"
+
+// MoveAddressToVPCRequest generates a request for the MoveAddressToVPC operation.
+func (c *EC2) MoveAddressToVPCRequest(input *MoveAddressToVPCInput) (req *aws.Request, output *MoveAddressToVPCOutput) {
+ op := &aws.Operation{
+ Name: opMoveAddressToVPC,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &MoveAddressToVPCInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &MoveAddressToVPCOutput{}
+ req.Data = output
+ return
+}
+
+// Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
+// platform. The Elastic IP address must be allocated to your account, and it
+// must not be associated with an instance. After the Elastic IP address is
+// moved, it is no longer available for use in the EC2-Classic platform, unless
+// you move it back using the RestoreAddressToClassic request. You cannot move
+// an Elastic IP address that's allocated for use in the EC2-VPC platform to
+// the EC2-Classic platform.
+func (c *EC2) MoveAddressToVPC(input *MoveAddressToVPCInput) (*MoveAddressToVPCOutput, error) {
+ req, out := c.MoveAddressToVPCRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
+
+// PurchaseReservedInstancesOfferingRequest generates a request for the PurchaseReservedInstancesOffering operation.
+func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *aws.Request, output *PurchaseReservedInstancesOfferingOutput) {
+ op := &aws.Operation{
+ Name: opPurchaseReservedInstancesOffering,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &PurchaseReservedInstancesOfferingInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &PurchaseReservedInstancesOfferingOutput{}
+ req.Data = output
+ return
+}
+
+// Purchases a Reserved Instance for use with your account. With Amazon EC2
+// Reserved Instances, you obtain a capacity reservation for a certain instance
+// configuration over a specified period of time and pay a lower hourly rate
+// compared to on-Demand Instance pricing.
+//
+// Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
+// offerings that match your specifications. After you've purchased a Reserved
+// Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
+//
+// For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
+// and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
+ req, out := c.PurchaseReservedInstancesOfferingRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opRebootInstances = "RebootInstances"
+
+// RebootInstancesRequest generates a request for the RebootInstances operation.
+func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *aws.Request, output *RebootInstancesOutput) {
+ op := &aws.Operation{
+ Name: opRebootInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RebootInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &RebootInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Requests a reboot of one or more instances. This operation is asynchronous;
+// it only queues a request to reboot the specified instances. The operation
+// succeeds if the instances are valid and belong to you. Requests to reboot
+// terminated instances are ignored.
+//
+// If a Linux/Unix instance does not cleanly shut down within four minutes,
+// Amazon EC2 performs a hard reboot.
+//
+// For more information about troubleshooting, see Getting Console Output and
+// Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
+ req, out := c.RebootInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opRegisterImage = "RegisterImage"
+
+// RegisterImageRequest generates a request for the RegisterImage operation.
+func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *aws.Request, output *RegisterImageOutput) {
+ op := &aws.Operation{
+ Name: opRegisterImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RegisterImageInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &RegisterImageOutput{}
+ req.Data = output
+ return
+}
+
+// Registers an AMI. When you're creating an AMI, this is the final step you
+// must complete before you can launch an instance from the AMI. This step is
+// required if you're creating an instance store-backed Linux or Windows AMI.
+// For more information, see Creating an Instance Store-Backed Linux AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-instance-store.html)
+// and Creating an Instance Store-Backed Windows AMI (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// For Amazon EBS-backed instances, CreateImage creates and registers the AMI
+// in a single request, so you don't have to register the AMI yourself.
+//
+// You can also use RegisterImage to create an Amazon EBS-backed AMI from a
+// snapshot of a root device volume. For more information, see Launching an
+// Instance from a Backup (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
+// in the Amazon Elastic Compute Cloud User Guide. Note that although you can
+// create a Windows AMI from a snapshot, you can't launch an instance from the
+// AMI - use the CreateImage command instead.
+//
+// If needed, you can deregister an AMI at any time. Any modifications you
+// make to an AMI backed by an instance store volume invalidates its registration.
+// If you make changes to an image, deregister the previous image and register
+// the new image.
+//
+// You can't register an image where a secondary (non-root) snapshot has AWS
+// Marketplace product codes.
+func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
+ req, out := c.RegisterImageRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opRejectVPCPeeringConnection = "RejectVpcPeeringConnection"
+
+// RejectVPCPeeringConnectionRequest generates a request for the RejectVPCPeeringConnection operation.
+func (c *EC2) RejectVPCPeeringConnectionRequest(input *RejectVPCPeeringConnectionInput) (req *aws.Request, output *RejectVPCPeeringConnectionOutput) {
+ op := &aws.Operation{
+ Name: opRejectVPCPeeringConnection,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RejectVPCPeeringConnectionInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &RejectVPCPeeringConnectionOutput{}
+ req.Data = output
+ return
+}
+
+// Rejects a VPC peering connection request. The VPC peering connection must
+// be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
+// request to view your outstanding VPC peering connection requests. To delete
+// an active VPC peering connection, or to delete a VPC peering connection request
+// that you initiated, use DeleteVpcPeeringConnection.
+func (c *EC2) RejectVPCPeeringConnection(input *RejectVPCPeeringConnectionInput) (*RejectVPCPeeringConnectionOutput, error) {
+ req, out := c.RejectVPCPeeringConnectionRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opReleaseAddress = "ReleaseAddress"
+
+// ReleaseAddressRequest generates a request for the ReleaseAddress operation.
+func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *aws.Request, output *ReleaseAddressOutput) {
+ op := &aws.Operation{
+ Name: opReleaseAddress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReleaseAddressInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ReleaseAddressOutput{}
+ req.Data = output
+ return
+}
+
+// Releases the specified Elastic IP address.
+//
+// After releasing an Elastic IP address, it is released to the IP address
+// pool and might be unavailable to you. Be sure to update your DNS records
+// and any servers or devices that communicate with the address. If you attempt
+// to release an Elastic IP address that you already released, you'll get an
+// AuthFailure error if the address is already allocated to another AWS account.
+//
+// [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
+// disassociates it from any instance that it's associated with. To disassociate
+// an Elastic IP address without releasing it, use DisassociateAddress.
+//
+// [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
+// IP address before you try to release it. Otherwise, Amazon EC2 returns an
+// error (InvalidIPAddress.InUse).
+func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
+ req, out := c.ReleaseAddressRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opReplaceNetworkACLAssociation = "ReplaceNetworkAclAssociation"
+
+// ReplaceNetworkACLAssociationRequest generates a request for the ReplaceNetworkACLAssociation operation.
+func (c *EC2) ReplaceNetworkACLAssociationRequest(input *ReplaceNetworkACLAssociationInput) (req *aws.Request, output *ReplaceNetworkACLAssociationOutput) {
+ op := &aws.Operation{
+ Name: opReplaceNetworkACLAssociation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReplaceNetworkACLAssociationInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ReplaceNetworkACLAssociationOutput{}
+ req.Data = output
+ return
+}
+
+// Changes which network ACL a subnet is associated with. By default when you
+// create a subnet, it's automatically associated with the default network ACL.
+// For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) ReplaceNetworkACLAssociation(input *ReplaceNetworkACLAssociationInput) (*ReplaceNetworkACLAssociationOutput, error) {
+ req, out := c.ReplaceNetworkACLAssociationRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opReplaceNetworkACLEntry = "ReplaceNetworkAclEntry"
+
+// ReplaceNetworkACLEntryRequest generates a request for the ReplaceNetworkACLEntry operation.
+func (c *EC2) ReplaceNetworkACLEntryRequest(input *ReplaceNetworkACLEntryInput) (req *aws.Request, output *ReplaceNetworkACLEntryOutput) {
+ op := &aws.Operation{
+ Name: opReplaceNetworkACLEntry,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReplaceNetworkACLEntryInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ReplaceNetworkACLEntryOutput{}
+ req.Data = output
+ return
+}
+
+// Replaces an entry (rule) in a network ACL. For more information about network
+// ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) ReplaceNetworkACLEntry(input *ReplaceNetworkACLEntryInput) (*ReplaceNetworkACLEntryOutput, error) {
+ req, out := c.ReplaceNetworkACLEntryRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opReplaceRoute = "ReplaceRoute"
+
+// ReplaceRouteRequest generates a request for the ReplaceRoute operation.
+func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *aws.Request, output *ReplaceRouteOutput) {
+ op := &aws.Operation{
+ Name: opReplaceRoute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReplaceRouteInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ReplaceRouteOutput{}
+ req.Data = output
+ return
+}
+
+// Replaces an existing route within a route table in a VPC. You must provide
+// only one of the following: Internet gateway or virtual private gateway, NAT
+// instance, VPC peering connection, or network interface.
+//
+// For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
+ req, out := c.ReplaceRouteRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
+
+// ReplaceRouteTableAssociationRequest generates a request for the ReplaceRouteTableAssociation operation.
+func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *aws.Request, output *ReplaceRouteTableAssociationOutput) {
+ op := &aws.Operation{
+ Name: opReplaceRouteTableAssociation,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReplaceRouteTableAssociationInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ReplaceRouteTableAssociationOutput{}
+ req.Data = output
+ return
+}
+
+// Changes the route table associated with a given subnet in a VPC. After the
+// operation completes, the subnet uses the routes in the new route table it's
+// associated with. For more information about route tables, see Route Tables
+// (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
+// in the Amazon Virtual Private Cloud User Guide.
+//
+// You can also use ReplaceRouteTableAssociation to change which table is the
+// main route table in the VPC. You just specify the main route table's association
+// ID and the route table to be the new main route table.
+func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
+ req, out := c.ReplaceRouteTableAssociationRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opReportInstanceStatus = "ReportInstanceStatus"
+
+// ReportInstanceStatusRequest generates a request for the ReportInstanceStatus operation.
+func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *aws.Request, output *ReportInstanceStatusOutput) {
+ op := &aws.Operation{
+ Name: opReportInstanceStatus,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ReportInstanceStatusInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ReportInstanceStatusOutput{}
+ req.Data = output
+ return
+}
+
+// Submits feedback about the status of an instance. The instance must be in
+// the running state. If your experience with the instance differs from the
+// instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
+// to report your experience with the instance. Amazon EC2 collects this information
+// to improve the accuracy of status checks.
+//
+// Use of this action does not change the value returned by DescribeInstanceStatus.
+func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
+ req, out := c.ReportInstanceStatusRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opRequestSpotFleet = "RequestSpotFleet"
+
+// RequestSpotFleetRequest generates a request for the RequestSpotFleet operation.
+func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *aws.Request, output *RequestSpotFleetOutput) {
+ op := &aws.Operation{
+ Name: opRequestSpotFleet,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RequestSpotFleetInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &RequestSpotFleetOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a Spot fleet request.
+//
+// For more information, see Spot Fleets (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
+ req, out := c.RequestSpotFleetRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opRequestSpotInstances = "RequestSpotInstances"
+
+// RequestSpotInstancesRequest generates a request for the RequestSpotInstances operation.
+func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *aws.Request, output *RequestSpotInstancesOutput) {
+ op := &aws.Operation{
+ Name: opRequestSpotInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RequestSpotInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &RequestSpotInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Creates a Spot Instance request. Spot Instances are instances that Amazon
+// EC2 launches when the bid price that you specify exceeds the current Spot
+// Price. Amazon EC2 periodically sets the Spot Price based on available Spot
+// Instance capacity and current Spot Instance requests. For more information,
+// see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
+ req, out := c.RequestSpotInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opResetImageAttribute = "ResetImageAttribute"
+
+// ResetImageAttributeRequest generates a request for the ResetImageAttribute operation.
+func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *aws.Request, output *ResetImageAttributeOutput) {
+ op := &aws.Operation{
+ Name: opResetImageAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ResetImageAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ResetImageAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Resets an attribute of an AMI to its default value.
+//
+// The productCodes attribute can't be reset.
+func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
+ req, out := c.ResetImageAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opResetInstanceAttribute = "ResetInstanceAttribute"
+
+// ResetInstanceAttributeRequest generates a request for the ResetInstanceAttribute operation.
+func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *aws.Request, output *ResetInstanceAttributeOutput) {
+ op := &aws.Operation{
+ Name: opResetInstanceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ResetInstanceAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ResetInstanceAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Resets an attribute of an instance to its default value. To reset the kernel
+// or ramdisk, the instance must be in a stopped state. To reset the SourceDestCheck,
+// the instance can be either running or stopped.
+//
+// The SourceDestCheck attribute controls whether source/destination checking
+// is enabled. The default value is true, which means checking is enabled. This
+// value must be false for a NAT instance to perform NAT. For more information,
+// see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
+// in the Amazon Virtual Private Cloud User Guide.
+func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
+ req, out := c.ResetInstanceAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
+
+// ResetNetworkInterfaceAttributeRequest generates a request for the ResetNetworkInterfaceAttribute operation.
+func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *aws.Request, output *ResetNetworkInterfaceAttributeOutput) {
+ op := &aws.Operation{
+ Name: opResetNetworkInterfaceAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ResetNetworkInterfaceAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ResetNetworkInterfaceAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Resets a network interface attribute. You can specify only one attribute
+// at a time.
+func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
+ req, out := c.ResetNetworkInterfaceAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opResetSnapshotAttribute = "ResetSnapshotAttribute"
+
+// ResetSnapshotAttributeRequest generates a request for the ResetSnapshotAttribute operation.
+func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *aws.Request, output *ResetSnapshotAttributeOutput) {
+ op := &aws.Operation{
+ Name: opResetSnapshotAttribute,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &ResetSnapshotAttributeInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &ResetSnapshotAttributeOutput{}
+ req.Data = output
+ return
+}
+
+// Resets permission settings for the specified snapshot.
+//
+// For more information on modifying snapshot permissions, see Sharing Snapshots
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
+ req, out := c.ResetSnapshotAttributeRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opRestoreAddressToClassic = "RestoreAddressToClassic"
+
+// RestoreAddressToClassicRequest generates a request for the RestoreAddressToClassic operation.
+func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *aws.Request, output *RestoreAddressToClassicOutput) {
+ op := &aws.Operation{
+ Name: opRestoreAddressToClassic,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RestoreAddressToClassicInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &RestoreAddressToClassicOutput{}
+ req.Data = output
+ return
+}
+
+// Restores an Elastic IP address that was previously moved to the EC2-VPC platform
+// back to the EC2-Classic platform. You cannot move an Elastic IP address that
+// was originally allocated for use in EC2-VPC. The Elastic IP address must
+// not be associated with an instance or network interface.
+func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
+ req, out := c.RestoreAddressToClassicRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
+
+// RevokeSecurityGroupEgressRequest generates a request for the RevokeSecurityGroupEgress operation.
+func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *aws.Request, output *RevokeSecurityGroupEgressOutput) {
+ op := &aws.Operation{
+ Name: opRevokeSecurityGroupEgress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RevokeSecurityGroupEgressInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &RevokeSecurityGroupEgressOutput{}
+ req.Data = output
+ return
+}
+
+// Removes one or more egress rules from a security group for EC2-VPC. The values
+// that you specify in the revoke request (for example, ports) must match the
+// existing rule's values for the rule to be revoked.
+//
+// Each rule consists of the protocol and the CIDR range or source security
+// group. For the TCP and UDP protocols, you must also specify the destination
+// port or range of ports. For the ICMP protocol, you must also specify the
+// ICMP type and code.
+//
+// Rule changes are propagated to instances within the security group as quickly
+// as possible. However, a small delay might occur.
+func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
+ req, out := c.RevokeSecurityGroupEgressRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
+
+// RevokeSecurityGroupIngressRequest generates a request for the RevokeSecurityGroupIngress operation.
+func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *aws.Request, output *RevokeSecurityGroupIngressOutput) {
+ op := &aws.Operation{
+ Name: opRevokeSecurityGroupIngress,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RevokeSecurityGroupIngressInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &RevokeSecurityGroupIngressOutput{}
+ req.Data = output
+ return
+}
+
+// Removes one or more ingress rules from a security group. The values that
+// you specify in the revoke request (for example, ports) must match the existing
+// rule's values for the rule to be removed.
+//
+// Each rule consists of the protocol and the CIDR range or source security
+// group. For the TCP and UDP protocols, you must also specify the destination
+// port or range of ports. For the ICMP protocol, you must also specify the
+// ICMP type and code.
+//
+// Rule changes are propagated to instances within the security group as quickly
+// as possible. However, a small delay might occur.
+func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
+ req, out := c.RevokeSecurityGroupIngressRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opRunInstances = "RunInstances"
+
+// RunInstancesRequest generates a request for the RunInstances operation.
+func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *aws.Request, output *Reservation) {
+ op := &aws.Operation{
+ Name: opRunInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &RunInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &Reservation{}
+ req.Data = output
+ return
+}
+
+// Launches the specified number of instances using an AMI for which you have
+// permissions.
+//
+// When you launch an instance, it enters the pending state. After the instance
+// is ready for you, it enters the running state. To check the state of your
+// instance, call DescribeInstances.
+//
+// If you don't specify a security group when launching an instance, Amazon
+// EC2 uses the default security group. For more information, see Security Groups
+// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// Linux instances have access to the public key of the key pair at boot. You
+// can use this key to provide secure access to the instance. Amazon EC2 public
+// images use this feature to provide secure access without passwords. For more
+// information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// You can provide optional user data when launching an instance. For more
+// information, see Instance Metadata (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// If any of the AMIs have a product code attached for which the user has not
+// subscribed, RunInstances fails.
+//
+// T2 instance types can only be launched into a VPC. If you do not have a
+// default VPC, or if you do not specify a subnet ID in the request, RunInstances
+// fails.
+//
+// For more information about troubleshooting, see What To Do If An Instance
+// Immediately Terminates (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
+// and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
+ req, out := c.RunInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opStartInstances = "StartInstances"
+
+// StartInstancesRequest generates a request for the StartInstances operation.
+func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *aws.Request, output *StartInstancesOutput) {
+ op := &aws.Operation{
+ Name: opStartInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &StartInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &StartInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Starts an Amazon EBS-backed AMI that you've previously stopped.
+//
+// Instances that use Amazon EBS volumes as their root devices can be quickly
+// stopped and started. When an instance is stopped, the compute resources are
+// released and you are not billed for hourly instance usage. However, your
+// root partition Amazon EBS volume remains, continues to persist your data,
+// and you are charged for Amazon EBS volume usage. You can restart your instance
+// at any time. Each time you transition an instance from stopped to started,
+// Amazon EC2 charges a full instance hour, even if transitions happen multiple
+// times within a single hour.
+//
+// Before stopping an instance, make sure it is in a state from which it can
+// be restarted. Stopping an instance does not preserve data stored in RAM.
+//
+// Performing this operation on an instance that uses an instance store as
+// its root device returns an error.
+//
+// For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
+ req, out := c.StartInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opStopInstances = "StopInstances"
+
+// StopInstancesRequest generates a request for the StopInstances operation.
+func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *aws.Request, output *StopInstancesOutput) {
+ op := &aws.Operation{
+ Name: opStopInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &StopInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &StopInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Stops an Amazon EBS-backed instance. Each time you transition an instance
+// from stopped to started, Amazon EC2 charges a full instance hour, even if
+// transitions happen multiple times within a single hour.
+//
+// You can't start or stop Spot Instances.
+//
+// Instances that use Amazon EBS volumes as their root devices can be quickly
+// stopped and started. When an instance is stopped, the compute resources are
+// released and you are not billed for hourly instance usage. However, your
+// root partition Amazon EBS volume remains, continues to persist your data,
+// and you are charged for Amazon EBS volume usage. You can restart your instance
+// at any time.
+//
+// Before stopping an instance, make sure it is in a state from which it can
+// be restarted. Stopping an instance does not preserve data stored in RAM.
+//
+// Performing this operation on an instance that uses an instance store as
+// its root device returns an error.
+//
+// You can stop, start, and terminate EBS-backed instances. You can only terminate
+// instance store-backed instances. What happens to an instance differs if you
+// stop it or terminate it. For example, when you stop an instance, the root
+// device and any other devices attached to the instance persist. When you terminate
+// an instance, the root device and any other devices attached during the instance
+// launch are automatically deleted. For more information about the differences
+// between stopping and terminating instances, see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// For more information about troubleshooting, see Troubleshooting Stopping
+// Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
+ req, out := c.StopInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opTerminateInstances = "TerminateInstances"
+
+// TerminateInstancesRequest generates a request for the TerminateInstances operation.
+func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *aws.Request, output *TerminateInstancesOutput) {
+ op := &aws.Operation{
+ Name: opTerminateInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &TerminateInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &TerminateInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Shuts down one or more instances. This operation is idempotent; if you terminate
+// an instance more than once, each call succeeds.
+//
+// Terminated instances remain visible after termination (for approximately
+// one hour).
+//
+// By default, Amazon EC2 deletes all EBS volumes that were attached when the
+// instance launched. Volumes attached after instance launch continue running.
+//
+// You can stop, start, and terminate EBS-backed instances. You can only terminate
+// instance store-backed instances. What happens to an instance differs if you
+// stop it or terminate it. For example, when you stop an instance, the root
+// device and any other devices attached to the instance persist. When you terminate
+// an instance, the root device and any other devices attached during the instance
+// launch are automatically deleted. For more information about the differences
+// between stopping and terminating instances, see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+//
+// For more information about troubleshooting, see Troubleshooting Terminating
+// Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
+ req, out := c.TerminateInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opUnassignPrivateIPAddresses = "UnassignPrivateIpAddresses"
+
+// UnassignPrivateIPAddressesRequest generates a request for the UnassignPrivateIPAddresses operation.
+func (c *EC2) UnassignPrivateIPAddressesRequest(input *UnassignPrivateIPAddressesInput) (req *aws.Request, output *UnassignPrivateIPAddressesOutput) {
+ op := &aws.Operation{
+ Name: opUnassignPrivateIPAddresses,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &UnassignPrivateIPAddressesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &UnassignPrivateIPAddressesOutput{}
+ req.Data = output
+ return
+}
+
+// Unassigns one or more secondary private IP addresses from a network interface.
+func (c *EC2) UnassignPrivateIPAddresses(input *UnassignPrivateIPAddressesInput) (*UnassignPrivateIPAddressesOutput, error) {
+ req, out := c.UnassignPrivateIPAddressesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+const opUnmonitorInstances = "UnmonitorInstances"
+
+// UnmonitorInstancesRequest generates a request for the UnmonitorInstances operation.
+func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *aws.Request, output *UnmonitorInstancesOutput) {
+ op := &aws.Operation{
+ Name: opUnmonitorInstances,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &UnmonitorInstancesInput{}
+ }
+
+ req = c.newRequest(op, input, output)
+ output = &UnmonitorInstancesOutput{}
+ req.Data = output
+ return
+}
+
+// Disables monitoring for a running instance. For more information about monitoring
+// instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
+// in the Amazon Elastic Compute Cloud User Guide.
+func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
+ req, out := c.UnmonitorInstancesRequest(input)
+ err := req.Send()
+ return out, err
+}
+
+type AcceptVPCPeeringConnectionInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC peering connection.
+ VPCPeeringConnectionID *string `locationName:"vpcPeeringConnectionId" type:"string"`
+
+ metadataAcceptVPCPeeringConnectionInput `json:"-" xml:"-"`
+}
+
+type metadataAcceptVPCPeeringConnectionInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AcceptVPCPeeringConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AcceptVPCPeeringConnectionInput) GoString() string {
+ return s.String()
+}
+
+type AcceptVPCPeeringConnectionOutput struct {
+ // Information about the VPC peering connection.
+ VPCPeeringConnection *VPCPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
+
+ metadataAcceptVPCPeeringConnectionOutput `json:"-" xml:"-"`
+}
+
+type metadataAcceptVPCPeeringConnectionOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AcceptVPCPeeringConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AcceptVPCPeeringConnectionOutput) GoString() string {
+ return s.String()
+}
+
+// Describes an account attribute.
+type AccountAttribute struct {
+ // The name of the account attribute.
+ AttributeName *string `locationName:"attributeName" type:"string"`
+
+ // One or more values for the account attribute.
+ AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
+
+ metadataAccountAttribute `json:"-" xml:"-"`
+}
+
+type metadataAccountAttribute struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AccountAttribute) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AccountAttribute) GoString() string {
+ return s.String()
+}
+
+// Describes a value of an account attribute.
+type AccountAttributeValue struct {
+ // The value of the attribute.
+ AttributeValue *string `locationName:"attributeValue" type:"string"`
+
+ metadataAccountAttributeValue `json:"-" xml:"-"`
+}
+
+type metadataAccountAttributeValue struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AccountAttributeValue) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AccountAttributeValue) GoString() string {
+ return s.String()
+}
+
+// Describes a running instance in a Spot fleet.
+type ActiveInstance struct {
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string"`
+
+ // The ID of the Spot Instance request.
+ SpotInstanceRequestID *string `locationName:"spotInstanceRequestId" type:"string"`
+
+ metadataActiveInstance `json:"-" xml:"-"`
+}
+
+type metadataActiveInstance struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ActiveInstance) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ActiveInstance) GoString() string {
+ return s.String()
+}
+
+// Describes an Elastic IP address.
+type Address struct {
+ // The ID representing the allocation of the address for use with EC2-VPC.
+ AllocationID *string `locationName:"allocationId" type:"string"`
+
+ // The ID representing the association of the address with an instance in a
+ // VPC.
+ AssociationID *string `locationName:"associationId" type:"string"`
+
+ // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
+ // (standard) or instances in a VPC (vpc).
+ Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
+
+ // The ID of the instance that the address is associated with (if any).
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The ID of the AWS account that owns the network interface.
+ NetworkInterfaceOwnerID *string `locationName:"networkInterfaceOwnerId" type:"string"`
+
+ // The private IP address associated with the Elastic IP address.
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // The Elastic IP address.
+ PublicIP *string `locationName:"publicIp" type:"string"`
+
+ metadataAddress `json:"-" xml:"-"`
+}
+
+type metadataAddress struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Address) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Address) GoString() string {
+ return s.String()
+}
+
+type AllocateAddressInput struct {
+ // Set to vpc to allocate the address for use with instances in a VPC.
+ //
+ // Default: The address is for use with instances in EC2-Classic.
+ Domain *string `type:"string" enum:"DomainType"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ metadataAllocateAddressInput `json:"-" xml:"-"`
+}
+
+type metadataAllocateAddressInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AllocateAddressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AllocateAddressInput) GoString() string {
+ return s.String()
+}
+
+type AllocateAddressOutput struct {
+ // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
+ // IP address for use with instances in a VPC.
+ AllocationID *string `locationName:"allocationId" type:"string"`
+
+ // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
+ // (standard) or instances in a VPC (vpc).
+ Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
+
+ // The Elastic IP address.
+ PublicIP *string `locationName:"publicIp" type:"string"`
+
+ metadataAllocateAddressOutput `json:"-" xml:"-"`
+}
+
+type metadataAllocateAddressOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AllocateAddressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AllocateAddressOutput) GoString() string {
+ return s.String()
+}
+
+type AssignPrivateIPAddressesInput struct {
+ // Indicates whether to allow an IP address that is already assigned to another
+ // network interface or instance to be reassigned to the specified network interface.
+ AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+
+ // One or more IP addresses to be assigned as a secondary private IP address
+ // to the network interface. You can't specify this parameter when also specifying
+ // a number of secondary IP addresses.
+ //
+ // If you don't specify an IP address, Amazon EC2 automatically selects an
+ // IP address within the subnet range.
+ PrivateIPAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
+
+ // The number of secondary IP addresses to assign to the network interface.
+ // You can't specify this parameter when also specifying private IP addresses.
+ SecondaryPrivateIPAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
+
+ metadataAssignPrivateIPAddressesInput `json:"-" xml:"-"`
+}
+
+type metadataAssignPrivateIPAddressesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AssignPrivateIPAddressesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssignPrivateIPAddressesInput) GoString() string {
+ return s.String()
+}
+
+type AssignPrivateIPAddressesOutput struct {
+ metadataAssignPrivateIPAddressesOutput `json:"-" xml:"-"`
+}
+
+type metadataAssignPrivateIPAddressesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AssignPrivateIPAddressesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssignPrivateIPAddressesOutput) GoString() string {
+ return s.String()
+}
+
+type AssociateAddressInput struct {
+ // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
+ AllocationID *string `locationName:"AllocationId" type:"string"`
+
+ // [EC2-VPC] Allows an Elastic IP address that is already associated with an
+ // instance or network interface to be re-associated with the specified instance
+ // or network interface. Otherwise, the operation fails.
+ //
+ // Default: false
+ AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
+ // can specify either the instance ID or the network interface ID, but not both.
+ // The operation fails if you specify an instance ID unless exactly one network
+ // interface is attached.
+ InstanceID *string `locationName:"InstanceId" type:"string"`
+
+ // [EC2-VPC] The ID of the network interface. If the instance has more than
+ // one network interface, you must specify a network interface ID.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string"`
+
+ // [EC2-VPC] The primary or secondary private IP address to associate with the
+ // Elastic IP address. If no private IP address is specified, the Elastic IP
+ // address is associated with the primary private IP address.
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // The Elastic IP address. This is required for EC2-Classic.
+ PublicIP *string `locationName:"PublicIp" type:"string"`
+
+ metadataAssociateAddressInput `json:"-" xml:"-"`
+}
+
+type metadataAssociateAddressInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AssociateAddressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateAddressInput) GoString() string {
+ return s.String()
+}
+
+type AssociateAddressOutput struct {
+ // [EC2-VPC] The ID that represents the association of the Elastic IP address
+ // with an instance.
+ AssociationID *string `locationName:"associationId" type:"string"`
+
+ metadataAssociateAddressOutput `json:"-" xml:"-"`
+}
+
+type metadataAssociateAddressOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AssociateAddressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateAddressOutput) GoString() string {
+ return s.String()
+}
+
+type AssociateDHCPOptionsInput struct {
+ // The ID of the DHCP options set, or default to associate no DHCP options with
+ // the VPC.
+ DHCPOptionsID *string `locationName:"DhcpOptionsId" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"VpcId" type:"string" required:"true"`
+
+ metadataAssociateDHCPOptionsInput `json:"-" xml:"-"`
+}
+
+type metadataAssociateDHCPOptionsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AssociateDHCPOptionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateDHCPOptionsInput) GoString() string {
+ return s.String()
+}
+
+type AssociateDHCPOptionsOutput struct {
+ metadataAssociateDHCPOptionsOutput `json:"-" xml:"-"`
+}
+
+type metadataAssociateDHCPOptionsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AssociateDHCPOptionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateDHCPOptionsOutput) GoString() string {
+ return s.String()
+}
+
+type AssociateRouteTableInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the route table.
+ RouteTableID *string `locationName:"routeTableId" type:"string" required:"true"`
+
+ // The ID of the subnet.
+ SubnetID *string `locationName:"subnetId" type:"string" required:"true"`
+
+ metadataAssociateRouteTableInput `json:"-" xml:"-"`
+}
+
+type metadataAssociateRouteTableInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AssociateRouteTableInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateRouteTableInput) GoString() string {
+ return s.String()
+}
+
+type AssociateRouteTableOutput struct {
+ // The route table association ID (needed to disassociate the route table).
+ AssociationID *string `locationName:"associationId" type:"string"`
+
+ metadataAssociateRouteTableOutput `json:"-" xml:"-"`
+}
+
+type metadataAssociateRouteTableOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AssociateRouteTableOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AssociateRouteTableOutput) GoString() string {
+ return s.String()
+}
+
+type AttachClassicLinkVPCInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of one or more of the VPC's security groups. You cannot specify security
+ // groups from a different VPC.
+ Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
+
+ // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
+ InstanceID *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // The ID of a ClassicLink-enabled VPC.
+ VPCID *string `locationName:"vpcId" type:"string" required:"true"`
+
+ metadataAttachClassicLinkVPCInput `json:"-" xml:"-"`
+}
+
+type metadataAttachClassicLinkVPCInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttachClassicLinkVPCInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachClassicLinkVPCInput) GoString() string {
+ return s.String()
+}
+
+type AttachClassicLinkVPCOutput struct {
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+
+ metadataAttachClassicLinkVPCOutput `json:"-" xml:"-"`
+}
+
+type metadataAttachClassicLinkVPCOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttachClassicLinkVPCOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachClassicLinkVPCOutput) GoString() string {
+ return s.String()
+}
+
+type AttachInternetGatewayInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the Internet gateway.
+ InternetGatewayID *string `locationName:"internetGatewayId" type:"string" required:"true"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string" required:"true"`
+
+ metadataAttachInternetGatewayInput `json:"-" xml:"-"`
+}
+
+type metadataAttachInternetGatewayInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttachInternetGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachInternetGatewayInput) GoString() string {
+ return s.String()
+}
+
+type AttachInternetGatewayOutput struct {
+ metadataAttachInternetGatewayOutput `json:"-" xml:"-"`
+}
+
+type metadataAttachInternetGatewayOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttachInternetGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachInternetGatewayOutput) GoString() string {
+ return s.String()
+}
+
+type AttachNetworkInterfaceInput struct {
+ // The index of the device for the network interface attachment.
+ DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+
+ metadataAttachNetworkInterfaceInput `json:"-" xml:"-"`
+}
+
+type metadataAttachNetworkInterfaceInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttachNetworkInterfaceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachNetworkInterfaceInput) GoString() string {
+ return s.String()
+}
+
+type AttachNetworkInterfaceOutput struct {
+ // The ID of the network interface attachment.
+ AttachmentID *string `locationName:"attachmentId" type:"string"`
+
+ metadataAttachNetworkInterfaceOutput `json:"-" xml:"-"`
+}
+
+type metadataAttachNetworkInterfaceOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttachNetworkInterfaceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachNetworkInterfaceOutput) GoString() string {
+ return s.String()
+}
+
+type AttachVPNGatewayInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"VpcId" type:"string" required:"true"`
+
+ // The ID of the virtual private gateway.
+ VPNGatewayID *string `locationName:"VpnGatewayId" type:"string" required:"true"`
+
+ metadataAttachVPNGatewayInput `json:"-" xml:"-"`
+}
+
+type metadataAttachVPNGatewayInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttachVPNGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachVPNGatewayInput) GoString() string {
+ return s.String()
+}
+
+type AttachVPNGatewayOutput struct {
+ // Information about the attachment.
+ VPCAttachment *VPCAttachment `locationName:"attachment" type:"structure"`
+
+ metadataAttachVPNGatewayOutput `json:"-" xml:"-"`
+}
+
+type metadataAttachVPNGatewayOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttachVPNGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachVPNGatewayOutput) GoString() string {
+ return s.String()
+}
+
+type AttachVolumeInput struct {
+ // The device name to expose to the instance (for example, /dev/sdh or xvdh).
+ Device *string `type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"InstanceId" type:"string" required:"true"`
+
+ // The ID of the EBS volume. The volume and instance must be within the same
+ // Availability Zone.
+ VolumeID *string `locationName:"VolumeId" type:"string" required:"true"`
+
+ metadataAttachVolumeInput `json:"-" xml:"-"`
+}
+
+type metadataAttachVolumeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttachVolumeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttachVolumeInput) GoString() string {
+ return s.String()
+}
+
+// The value to use when a resource attribute accepts a Boolean value.
+type AttributeBooleanValue struct {
+ // Valid values are true or false.
+ Value *bool `locationName:"value" type:"boolean"`
+
+ metadataAttributeBooleanValue `json:"-" xml:"-"`
+}
+
+type metadataAttributeBooleanValue struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttributeBooleanValue) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttributeBooleanValue) GoString() string {
+ return s.String()
+}
+
+// The value to use for a resource attribute.
+type AttributeValue struct {
+ // Valid values are case-sensitive and vary by action.
+ Value *string `locationName:"value" type:"string"`
+
+ metadataAttributeValue `json:"-" xml:"-"`
+}
+
+type metadataAttributeValue struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AttributeValue) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AttributeValue) GoString() string {
+ return s.String()
+}
+
+type AuthorizeSecurityGroupEgressInput struct {
+ // The CIDR IP address range. You can't specify this parameter when specifying
+ // a source security group.
+ CIDRIP *string `locationName:"cidrIp" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The start of port range for the TCP and UDP protocols, or an ICMP type number.
+ // For the ICMP type number, use -1 to specify all ICMP types.
+ FromPort *int64 `locationName:"fromPort" type:"integer"`
+
+ // The ID of the security group.
+ GroupID *string `locationName:"groupId" type:"string" required:"true"`
+
+ // A set of IP permissions. You can't specify a destination security group and
+ // a CIDR IP address range.
+ IPPermissions []*IPPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
+
+ // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
+ // Use -1 to specify all.
+ IPProtocol *string `locationName:"ipProtocol" type:"string"`
+
+ // The name of a destination security group. To authorize outbound access to
+ // a destination security group, we recommend that you use a set of IP permissions
+ // instead.
+ SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
+
+ // The AWS account number for a destination security group. To authorize outbound
+ // access to a destination security group, we recommend that you use a set of
+ // IP permissions instead.
+ SourceSecurityGroupOwnerID *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
+
+ // The end of port range for the TCP and UDP protocols, or an ICMP code number.
+ // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
+ ToPort *int64 `locationName:"toPort" type:"integer"`
+
+ metadataAuthorizeSecurityGroupEgressInput `json:"-" xml:"-"`
+}
+
+type metadataAuthorizeSecurityGroupEgressInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AuthorizeSecurityGroupEgressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AuthorizeSecurityGroupEgressInput) GoString() string {
+ return s.String()
+}
+
+type AuthorizeSecurityGroupEgressOutput struct {
+ metadataAuthorizeSecurityGroupEgressOutput `json:"-" xml:"-"`
+}
+
+type metadataAuthorizeSecurityGroupEgressOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AuthorizeSecurityGroupEgressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
+ return s.String()
+}
+
+type AuthorizeSecurityGroupIngressInput struct {
+ // The CIDR IP address range. You can't specify this parameter when specifying
+ // a source security group.
+ CIDRIP *string `locationName:"CidrIp" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The start of port range for the TCP and UDP protocols, or an ICMP type number.
+ // For the ICMP type number, use -1 to specify all ICMP types.
+ FromPort *int64 `type:"integer"`
+
+ // The ID of the security group. Required for a nondefault VPC.
+ GroupID *string `locationName:"GroupId" type:"string"`
+
+ // [EC2-Classic, default VPC] The name of the security group.
+ GroupName *string `type:"string"`
+
+ // A set of IP permissions. Can be used to specify multiple rules in a single
+ // command.
+ IPPermissions []*IPPermission `locationName:"IpPermissions" locationNameList:"item" type:"list"`
+
+ // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
+ // (VPC only) Use -1 to specify all.
+ IPProtocol *string `locationName:"IpProtocol" type:"string"`
+
+ // [EC2-Classic, default VPC] The name of the source security group. You can't
+ // specify this parameter in combination with the following parameters: the
+ // CIDR IP address range, the start of the port range, the IP protocol, and
+ // the end of the port range. For EC2-VPC, the source security group must be
+ // in the same VPC.
+ SourceSecurityGroupName *string `type:"string"`
+
+ // [EC2-Classic, default VPC] The AWS account number for the source security
+ // group. For EC2-VPC, the source security group must be in the same VPC. You
+ // can't specify this parameter in combination with the following parameters:
+ // the CIDR IP address range, the IP protocol, the start of the port range,
+ // and the end of the port range. Creates rules that grant full ICMP, UDP, and
+ // TCP access. To create a rule with a specific IP protocol and port range,
+ // use a set of IP permissions instead.
+ SourceSecurityGroupOwnerID *string `locationName:"SourceSecurityGroupOwnerId" type:"string"`
+
+ // The end of port range for the TCP and UDP protocols, or an ICMP code number.
+ // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
+ ToPort *int64 `type:"integer"`
+
+ metadataAuthorizeSecurityGroupIngressInput `json:"-" xml:"-"`
+}
+
+type metadataAuthorizeSecurityGroupIngressInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AuthorizeSecurityGroupIngressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AuthorizeSecurityGroupIngressInput) GoString() string {
+ return s.String()
+}
+
+type AuthorizeSecurityGroupIngressOutput struct {
+ metadataAuthorizeSecurityGroupIngressOutput `json:"-" xml:"-"`
+}
+
+type metadataAuthorizeSecurityGroupIngressOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AuthorizeSecurityGroupIngressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
+ return s.String()
+}
+
+// Describes an Availability Zone.
+type AvailabilityZone struct {
+ // Any messages about the Availability Zone.
+ Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
+
+ // The name of the region.
+ RegionName *string `locationName:"regionName" type:"string"`
+
+ // The state of the Availability Zone (available | impaired | unavailable).
+ State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
+
+ // The name of the Availability Zone.
+ ZoneName *string `locationName:"zoneName" type:"string"`
+
+ metadataAvailabilityZone `json:"-" xml:"-"`
+}
+
+type metadataAvailabilityZone struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AvailabilityZone) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AvailabilityZone) GoString() string {
+ return s.String()
+}
+
+// Describes a message about an Availability Zone.
+type AvailabilityZoneMessage struct {
+ // The message about the Availability Zone.
+ Message *string `locationName:"message" type:"string"`
+
+ metadataAvailabilityZoneMessage `json:"-" xml:"-"`
+}
+
+type metadataAvailabilityZoneMessage struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s AvailabilityZoneMessage) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s AvailabilityZoneMessage) GoString() string {
+ return s.String()
+}
+
+type BlobAttributeValue struct {
+ Value []byte `locationName:"value" type:"blob"`
+
+ metadataBlobAttributeValue `json:"-" xml:"-"`
+}
+
+type metadataBlobAttributeValue struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s BlobAttributeValue) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BlobAttributeValue) GoString() string {
+ return s.String()
+}
+
+// Describes a block device mapping.
+type BlockDeviceMapping struct {
+ // The device name exposed to the instance (for example, /dev/sdh or xvdh).
+ DeviceName *string `locationName:"deviceName" type:"string"`
+
+ // Parameters used to automatically set up EBS volumes when the instance is
+ // launched.
+ EBS *EBSBlockDevice `locationName:"ebs" type:"structure"`
+
+ // Suppresses the specified device included in the block device mapping of the
+ // AMI.
+ NoDevice *string `locationName:"noDevice" type:"string"`
+
+ // The virtual device name (ephemeralN). Instance store volumes are numbered
+ // starting from 0. An instance type with 2 available instance store volumes
+ // can specify mappings for ephemeral0 and ephemeral1.The number of available
+ // instance store volumes depends on the instance type. After you connect to
+ // the instance, you must mount the volume.
+ //
+ // Constraints: For M3 instances, you must specify instance store volumes in
+ // the block device mapping for the instance. When you launch an M3 instance,
+ // we ignore any instance store volumes specified in the block device mapping
+ // for the AMI.
+ VirtualName *string `locationName:"virtualName" type:"string"`
+
+ metadataBlockDeviceMapping `json:"-" xml:"-"`
+}
+
+type metadataBlockDeviceMapping struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s BlockDeviceMapping) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BlockDeviceMapping) GoString() string {
+ return s.String()
+}
+
+type BundleInstanceInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the instance to bundle.
+ //
+ // Type: String
+ //
+ // Default: None
+ //
+ // Required: Yes
+ InstanceID *string `locationName:"InstanceId" type:"string" required:"true"`
+
+ // The bucket in which to store the AMI. You can specify a bucket that you already
+ // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
+ // a bucket that belongs to someone else, Amazon EC2 returns an error.
+ Storage *Storage `type:"structure" required:"true"`
+
+ metadataBundleInstanceInput `json:"-" xml:"-"`
+}
+
+type metadataBundleInstanceInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s BundleInstanceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BundleInstanceInput) GoString() string {
+ return s.String()
+}
+
+type BundleInstanceOutput struct {
+ // Information about the bundle task.
+ BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
+
+ metadataBundleInstanceOutput `json:"-" xml:"-"`
+}
+
+type metadataBundleInstanceOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s BundleInstanceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BundleInstanceOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a bundle task.
+type BundleTask struct {
+ // The ID of the bundle task.
+ BundleID *string `locationName:"bundleId" type:"string"`
+
+ // If the task fails, a description of the error.
+ BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
+
+ // The ID of the instance associated with this bundle task.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The level of task completion, as a percent (for example, 20%).
+ Progress *string `locationName:"progress" type:"string"`
+
+ // The time this task started.
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The state of the task.
+ State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
+
+ // The Amazon S3 storage locations.
+ Storage *Storage `locationName:"storage" type:"structure"`
+
+ // The time of the most recent update for the task.
+ UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataBundleTask `json:"-" xml:"-"`
+}
+
+type metadataBundleTask struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s BundleTask) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BundleTask) GoString() string {
+ return s.String()
+}
+
+// Describes an error for BundleInstance.
+type BundleTaskError struct {
+ // The error code.
+ Code *string `locationName:"code" type:"string"`
+
+ // The error message.
+ Message *string `locationName:"message" type:"string"`
+
+ metadataBundleTaskError `json:"-" xml:"-"`
+}
+
+type metadataBundleTaskError struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s BundleTaskError) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s BundleTaskError) GoString() string {
+ return s.String()
+}
+
+type CancelBundleTaskInput struct {
+ // The ID of the bundle task.
+ BundleID *string `locationName:"BundleId" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ metadataCancelBundleTaskInput `json:"-" xml:"-"`
+}
+
+type metadataCancelBundleTaskInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelBundleTaskInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelBundleTaskInput) GoString() string {
+ return s.String()
+}
+
+type CancelBundleTaskOutput struct {
+ // Information about the bundle task.
+ BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
+
+ metadataCancelBundleTaskOutput `json:"-" xml:"-"`
+}
+
+type metadataCancelBundleTaskOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelBundleTaskOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelBundleTaskOutput) GoString() string {
+ return s.String()
+}
+
+type CancelConversionTaskInput struct {
+ // The ID of the conversion task.
+ ConversionTaskID *string `locationName:"conversionTaskId" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The reason for canceling the conversion task.
+ ReasonMessage *string `locationName:"reasonMessage" type:"string"`
+
+ metadataCancelConversionTaskInput `json:"-" xml:"-"`
+}
+
+type metadataCancelConversionTaskInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelConversionTaskInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelConversionTaskInput) GoString() string {
+ return s.String()
+}
+
+type CancelConversionTaskOutput struct {
+ metadataCancelConversionTaskOutput `json:"-" xml:"-"`
+}
+
+type metadataCancelConversionTaskOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelConversionTaskOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelConversionTaskOutput) GoString() string {
+ return s.String()
+}
+
+type CancelExportTaskInput struct {
+ // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
+ ExportTaskID *string `locationName:"exportTaskId" type:"string" required:"true"`
+
+ metadataCancelExportTaskInput `json:"-" xml:"-"`
+}
+
+type metadataCancelExportTaskInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelExportTaskInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelExportTaskInput) GoString() string {
+ return s.String()
+}
+
+type CancelExportTaskOutput struct {
+ metadataCancelExportTaskOutput `json:"-" xml:"-"`
+}
+
+type metadataCancelExportTaskOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelExportTaskOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelExportTaskOutput) GoString() string {
+ return s.String()
+}
+
+type CancelImportTaskInput struct {
+ // The reason for canceling the task.
+ CancelReason *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the import image or import snapshot task to be canceled.
+ ImportTaskID *string `locationName:"ImportTaskId" type:"string"`
+
+ metadataCancelImportTaskInput `json:"-" xml:"-"`
+}
+
+type metadataCancelImportTaskInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelImportTaskInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelImportTaskInput) GoString() string {
+ return s.String()
+}
+
+type CancelImportTaskOutput struct {
+ // The ID of the task being canceled.
+ ImportTaskID *string `locationName:"importTaskId" type:"string"`
+
+ // The current state of the task being canceled.
+ PreviousState *string `locationName:"previousState" type:"string"`
+
+ // The current state of the task being canceled.
+ State *string `locationName:"state" type:"string"`
+
+ metadataCancelImportTaskOutput `json:"-" xml:"-"`
+}
+
+type metadataCancelImportTaskOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelImportTaskOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelImportTaskOutput) GoString() string {
+ return s.String()
+}
+
+type CancelReservedInstancesListingInput struct {
+ // The ID of the Reserved Instance listing.
+ ReservedInstancesListingID *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
+
+ metadataCancelReservedInstancesListingInput `json:"-" xml:"-"`
+}
+
+type metadataCancelReservedInstancesListingInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelReservedInstancesListingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelReservedInstancesListingInput) GoString() string {
+ return s.String()
+}
+
+type CancelReservedInstancesListingOutput struct {
+ // The Reserved Instance listing.
+ ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
+
+ metadataCancelReservedInstancesListingOutput `json:"-" xml:"-"`
+}
+
+type metadataCancelReservedInstancesListingOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelReservedInstancesListingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelReservedInstancesListingOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a Spot fleet error.
+type CancelSpotFleetRequestsError struct {
+ // The error code.
+ Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"`
+
+ // The description for the error code.
+ Message *string `locationName:"message" type:"string" required:"true"`
+
+ metadataCancelSpotFleetRequestsError `json:"-" xml:"-"`
+}
+
+type metadataCancelSpotFleetRequestsError struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelSpotFleetRequestsError) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotFleetRequestsError) GoString() string {
+ return s.String()
+}
+
+// Describes a Spot fleet request that was not successfully canceled.
+type CancelSpotFleetRequestsErrorItem struct {
+ // The error.
+ Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"`
+
+ // The ID of the Spot fleet request.
+ SpotFleetRequestID *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+
+ metadataCancelSpotFleetRequestsErrorItem `json:"-" xml:"-"`
+}
+
+type metadataCancelSpotFleetRequestsErrorItem struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelSpotFleetRequestsErrorItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotFleetRequestsErrorItem) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for CancelSpotFleetRequests.
+type CancelSpotFleetRequestsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The IDs of the Spot fleet requests.
+ SpotFleetRequestIDs []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
+
+ // Indicates whether to terminate instances for a Spot fleet request if it is
+ // canceled successfully.
+ TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
+
+ metadataCancelSpotFleetRequestsInput `json:"-" xml:"-"`
+}
+
+type metadataCancelSpotFleetRequestsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelSpotFleetRequestsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotFleetRequestsInput) GoString() string {
+ return s.String()
+}
+
+// Contains the output of CancelSpotFleetRequests.
+type CancelSpotFleetRequestsOutput struct {
+ // Information about the Spot fleet requests that are successfully canceled.
+ SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
+
+ // Information about the Spot fleet requests that are not successfully canceled.
+ UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
+
+ metadataCancelSpotFleetRequestsOutput `json:"-" xml:"-"`
+}
+
+type metadataCancelSpotFleetRequestsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelSpotFleetRequestsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotFleetRequestsOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a Spot fleet request that was successfully canceled.
+type CancelSpotFleetRequestsSuccessItem struct {
+ // The current state of the Spot fleet request.
+ CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
+
+ // The previous state of the Spot fleet request.
+ PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
+
+ // The ID of the Spot fleet request.
+ SpotFleetRequestID *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+
+ metadataCancelSpotFleetRequestsSuccessItem `json:"-" xml:"-"`
+}
+
+type metadataCancelSpotFleetRequestsSuccessItem struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelSpotFleetRequestsSuccessItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for CancelSpotInstanceRequests.
+type CancelSpotInstanceRequestsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more Spot Instance request IDs.
+ SpotInstanceRequestIDs []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
+
+ metadataCancelSpotInstanceRequestsInput `json:"-" xml:"-"`
+}
+
+type metadataCancelSpotInstanceRequestsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelSpotInstanceRequestsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotInstanceRequestsInput) GoString() string {
+ return s.String()
+}
+
+// Contains the output of CancelSpotInstanceRequests.
+type CancelSpotInstanceRequestsOutput struct {
+ // One or more Spot Instance requests.
+ CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
+
+ metadataCancelSpotInstanceRequestsOutput `json:"-" xml:"-"`
+}
+
+type metadataCancelSpotInstanceRequestsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelSpotInstanceRequestsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelSpotInstanceRequestsOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a request to cancel a Spot Instance.
+type CancelledSpotInstanceRequest struct {
+ // The ID of the Spot Instance request.
+ SpotInstanceRequestID *string `locationName:"spotInstanceRequestId" type:"string"`
+
+ // The state of the Spot Instance request.
+ State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
+
+ metadataCancelledSpotInstanceRequest `json:"-" xml:"-"`
+}
+
+type metadataCancelledSpotInstanceRequest struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CancelledSpotInstanceRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CancelledSpotInstanceRequest) GoString() string {
+ return s.String()
+}
+
+// Describes a linked EC2-Classic instance.
+type ClassicLinkInstance struct {
+ // A list of security groups.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // Any tags assigned to the instance.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataClassicLinkInstance `json:"-" xml:"-"`
+}
+
+type metadataClassicLinkInstance struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ClassicLinkInstance) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ClassicLinkInstance) GoString() string {
+ return s.String()
+}
+
+// Describes the client-specific data.
+type ClientData struct {
+ // A user-defined comment about the disk upload.
+ Comment *string `type:"string"`
+
+ // The time that the disk upload ends.
+ UploadEnd *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ // The size of the uploaded disk image, in GiB.
+ UploadSize *float64 `type:"double"`
+
+ // The time that the disk upload starts.
+ UploadStart *time.Time `type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataClientData `json:"-" xml:"-"`
+}
+
+type metadataClientData struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ClientData) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ClientData) GoString() string {
+ return s.String()
+}
+
+type ConfirmProductInstanceInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"InstanceId" type:"string" required:"true"`
+
+ // The product code. This must be a product code that you own.
+ ProductCode *string `type:"string" required:"true"`
+
+ metadataConfirmProductInstanceInput `json:"-" xml:"-"`
+}
+
+type metadataConfirmProductInstanceInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ConfirmProductInstanceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ConfirmProductInstanceInput) GoString() string {
+ return s.String()
+}
+
+type ConfirmProductInstanceOutput struct {
+ // The AWS account ID of the instance owner. This is only present if the product
+ // code is attached to the instance.
+ OwnerID *string `locationName:"ownerId" type:"string"`
+
+ // The return value of the request. Returns true if the specified product code
+ // is owned by the requester and associated with the specified instance.
+ Return *bool `locationName:"return" type:"boolean"`
+
+ metadataConfirmProductInstanceOutput `json:"-" xml:"-"`
+}
+
+type metadataConfirmProductInstanceOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ConfirmProductInstanceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ConfirmProductInstanceOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a conversion task.
+type ConversionTask struct {
+ // The ID of the conversion task.
+ ConversionTaskID *string `locationName:"conversionTaskId" type:"string" required:"true"`
+
+ // The time when the task expires. If the upload isn't complete before the expiration
+ // time, we automatically cancel the task.
+ ExpirationTime *string `locationName:"expirationTime" type:"string"`
+
+ // If the task is for importing an instance, this contains information about
+ // the import instance task.
+ ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
+
+ // If the task is for importing a volume, this contains information about the
+ // import volume task.
+ ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
+
+ // The state of the conversion task.
+ State *string `locationName:"state" type:"string" required:"true" enum:"ConversionTaskState"`
+
+ // The status message related to the conversion task.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // Any tags assigned to the task.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ metadataConversionTask `json:"-" xml:"-"`
+}
+
+type metadataConversionTask struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ConversionTask) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ConversionTask) GoString() string {
+ return s.String()
+}
+
+type CopyImageInput struct {
+ // Unique, case-sensitive identifier you provide to ensure idempotency of the
+ // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ ClientToken *string `type:"string"`
+
+ // A description for the new AMI in the destination region.
+ Description *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The name of the new AMI in the destination region.
+ Name *string `type:"string" required:"true"`
+
+ // The ID of the AMI to copy.
+ SourceImageID *string `locationName:"SourceImageId" type:"string" required:"true"`
+
+ // The name of the region that contains the AMI to copy.
+ SourceRegion *string `type:"string" required:"true"`
+
+ metadataCopyImageInput `json:"-" xml:"-"`
+}
+
+type metadataCopyImageInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CopyImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopyImageInput) GoString() string {
+ return s.String()
+}
+
+type CopyImageOutput struct {
+ // The ID of the new AMI.
+ ImageID *string `locationName:"imageId" type:"string"`
+
+ metadataCopyImageOutput `json:"-" xml:"-"`
+}
+
+type metadataCopyImageOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CopyImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopyImageOutput) GoString() string {
+ return s.String()
+}
+
+type CopySnapshotInput struct {
+ // A description for the EBS snapshot.
+ Description *string `type:"string"`
+
+ // The destination region to use in the PresignedUrl parameter of a snapshot
+ // copy operation. This parameter is only valid for specifying the destination
+ // region in a PresignedUrl parameter, where it is required.
+ //
+ // CopySnapshot sends the snapshot copy to the regional endpoint that you
+ // send the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS
+ // CLI, this is specified with the --region parameter or the default region
+ // in your AWS configuration file).
+ DestinationRegion *string `locationName:"destinationRegion" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Specifies whether the destination snapshot should be encrypted. There is
+ // no way to create an unencrypted snapshot copy from an encrypted snapshot;
+ // however, you can encrypt a copy of an unencrypted snapshot with this flag.
+ // The default CMK for EBS is used unless a non-default AWS Key Management Service
+ // (AWS KMS) CMK is specified with KmsKeyId. For more information, see Amazon
+ // EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ Encrypted *bool `locationName:"encrypted" type:"boolean"`
+
+ // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
+ // creating the snapshot copy. This parameter is only required if you want to
+ // use a non-default CMK; if this parameter is not specified, the default CMK
+ // for EBS is used. The ARN contains the arn:aws:kms namespace, followed by
+ // the region of the CMK, the AWS account ID of the CMK owner, the key namespace,
+ // and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
+ // The specified CMK must exist in the region that the snapshot is being copied
+ // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
+ KMSKeyID *string `locationName:"kmsKeyId" type:"string"`
+
+ // The pre-signed URL that facilitates copying an encrypted snapshot. This parameter
+ // is only required when copying an encrypted snapshot with the Amazon EC2 Query
+ // API; it is available as an optional parameter in all other cases. The PresignedUrl
+ // should use the snapshot source endpoint, the CopySnapshot action, and include
+ // the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The
+ // PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots
+ // are stored in Amazon S3, the signing algorithm for this parameter uses the
+ // same logic that is described in Authenticating Requests by Using Query Parameters
+ // (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
+ // in the Amazon Simple Storage Service API Reference. An invalid or improperly
+ // signed PresignedUrl will cause the copy operation to fail asynchronously,
+ // and the snapshot will move to an error state.
+ PresignedURL *string `locationName:"presignedUrl" type:"string"`
+
+ // The ID of the region that contains the snapshot to be copied.
+ SourceRegion *string `type:"string" required:"true"`
+
+ // The ID of the EBS snapshot to copy.
+ SourceSnapshotID *string `locationName:"SourceSnapshotId" type:"string" required:"true"`
+
+ metadataCopySnapshotInput `json:"-" xml:"-"`
+}
+
+type metadataCopySnapshotInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CopySnapshotInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopySnapshotInput) GoString() string {
+ return s.String()
+}
+
+type CopySnapshotOutput struct {
+ // The ID of the new snapshot.
+ SnapshotID *string `locationName:"snapshotId" type:"string"`
+
+ metadataCopySnapshotOutput `json:"-" xml:"-"`
+}
+
+type metadataCopySnapshotOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CopySnapshotOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CopySnapshotOutput) GoString() string {
+ return s.String()
+}
+
+type CreateCustomerGatewayInput struct {
+ // For devices that support BGP, the customer gateway's BGP ASN.
+ //
+ // Default: 65000
+ BGPASN *int64 `locationName:"BgpAsn" type:"integer" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The Internet-routable IP address for the customer gateway's outside interface.
+ // The address must be static.
+ PublicIP *string `locationName:"IpAddress" type:"string" required:"true"`
+
+ // The type of VPN connection that this customer gateway supports (ipsec.1).
+ Type *string `type:"string" required:"true" enum:"GatewayType"`
+
+ metadataCreateCustomerGatewayInput `json:"-" xml:"-"`
+}
+
+type metadataCreateCustomerGatewayInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateCustomerGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateCustomerGatewayInput) GoString() string {
+ return s.String()
+}
+
+type CreateCustomerGatewayOutput struct {
+ // Information about the customer gateway.
+ CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
+
+ metadataCreateCustomerGatewayOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateCustomerGatewayOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateCustomerGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateCustomerGatewayOutput) GoString() string {
+ return s.String()
+}
+
+type CreateDHCPOptionsInput struct {
+ // A DHCP configuration option.
+ DHCPConfigurations []*NewDHCPConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ metadataCreateDHCPOptionsInput `json:"-" xml:"-"`
+}
+
+type metadataCreateDHCPOptionsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateDHCPOptionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateDHCPOptionsInput) GoString() string {
+ return s.String()
+}
+
+type CreateDHCPOptionsOutput struct {
+ // A set of DHCP options.
+ DHCPOptions *DHCPOptions `locationName:"dhcpOptions" type:"structure"`
+
+ metadataCreateDHCPOptionsOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateDHCPOptionsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateDHCPOptionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateDHCPOptionsOutput) GoString() string {
+ return s.String()
+}
+
+type CreateFlowLogsInput struct {
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
+ ClientToken *string `type:"string"`
+
+ // The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs
+ // log group.
+ DeliverLogsPermissionARN *string `locationName:"DeliverLogsPermissionArn" type:"string" required:"true"`
+
+ // The name of the CloudWatch log group.
+ LogGroupName *string `type:"string" required:"true"`
+
+ // One or more subnet, network interface, or VPC IDs.
+ ResourceIDs []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
+
+ // The type of resource on which to create the flow log.
+ ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
+
+ // The type of traffic to log.
+ TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
+
+ metadataCreateFlowLogsInput `json:"-" xml:"-"`
+}
+
+type metadataCreateFlowLogsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateFlowLogsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateFlowLogsInput) GoString() string {
+ return s.String()
+}
+
+type CreateFlowLogsOutput struct {
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The IDs of the flow logs.
+ FlowLogIDs []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
+
+ // Information about the flow logs that could not be created successfully.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+
+ metadataCreateFlowLogsOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateFlowLogsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateFlowLogsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateFlowLogsOutput) GoString() string {
+ return s.String()
+}
+
+type CreateImageInput struct {
+ // Information about one or more block device mappings.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
+
+ // A description for the new image.
+ Description *string `locationName:"description" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // A name for the new image.
+ //
+ // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
+ // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
+ // at-signs (@), or underscores(_)
+ Name *string `locationName:"name" type:"string" required:"true"`
+
+ // By default, this parameter is set to false, which means Amazon EC2 attempts
+ // to shut down the instance cleanly before image creation and then reboots
+ // the instance. When the parameter is set to true, Amazon EC2 doesn't shut
+ // down the instance before creating the image. When this option is used, file
+ // system integrity on the created image can't be guaranteed.
+ NoReboot *bool `locationName:"noReboot" type:"boolean"`
+
+ metadataCreateImageInput `json:"-" xml:"-"`
+}
+
+type metadataCreateImageInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateImageInput) GoString() string {
+ return s.String()
+}
+
+type CreateImageOutput struct {
+ // The ID of the new AMI.
+ ImageID *string `locationName:"imageId" type:"string"`
+
+ metadataCreateImageOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateImageOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateImageOutput) GoString() string {
+ return s.String()
+}
+
+type CreateInstanceExportTaskInput struct {
+ // A description for the conversion task or the resource being exported. The
+ // maximum length is 255 bytes.
+ Description *string `locationName:"description" type:"string"`
+
+ // The format and location for an instance export task.
+ ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // The target virtualization environment.
+ TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
+
+ metadataCreateInstanceExportTaskInput `json:"-" xml:"-"`
+}
+
+type metadataCreateInstanceExportTaskInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateInstanceExportTaskInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateInstanceExportTaskInput) GoString() string {
+ return s.String()
+}
+
+type CreateInstanceExportTaskOutput struct {
+ // Information about the instance export task.
+ ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
+
+ metadataCreateInstanceExportTaskOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateInstanceExportTaskOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateInstanceExportTaskOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateInstanceExportTaskOutput) GoString() string {
+ return s.String()
+}
+
+type CreateInternetGatewayInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ metadataCreateInternetGatewayInput `json:"-" xml:"-"`
+}
+
+type metadataCreateInternetGatewayInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateInternetGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateInternetGatewayInput) GoString() string {
+ return s.String()
+}
+
+type CreateInternetGatewayOutput struct {
+ // Information about the Internet gateway.
+ InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
+
+ metadataCreateInternetGatewayOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateInternetGatewayOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateInternetGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateInternetGatewayOutput) GoString() string {
+ return s.String()
+}
+
+type CreateKeyPairInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // A unique name for the key pair.
+ //
+ // Constraints: Up to 255 ASCII characters
+ KeyName *string `type:"string" required:"true"`
+
+ metadataCreateKeyPairInput `json:"-" xml:"-"`
+}
+
+type metadataCreateKeyPairInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateKeyPairInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateKeyPairInput) GoString() string {
+ return s.String()
+}
+
+// Describes a key pair.
+type CreateKeyPairOutput struct {
+ // The SHA-1 digest of the DER encoded private key.
+ KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
+
+ // An unencrypted PEM encoded RSA private key.
+ KeyMaterial *string `locationName:"keyMaterial" type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ metadataCreateKeyPairOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateKeyPairOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateKeyPairOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateKeyPairOutput) GoString() string {
+ return s.String()
+}
+
+type CreateNetworkACLEntryInput struct {
+ // The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
+ CIDRBlock *string `locationName:"cidrBlock" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Indicates whether this is an egress rule (rule is applied to traffic leaving
+ // the subnet).
+ Egress *bool `locationName:"egress" type:"boolean" required:"true"`
+
+ // ICMP protocol: The ICMP type and code. Required if specifying ICMP for the
+ // protocol.
+ ICMPTypeCode *ICMPTypeCode `locationName:"Icmp" type:"structure"`
+
+ // The ID of the network ACL.
+ NetworkACLID *string `locationName:"networkAclId" type:"string" required:"true"`
+
+ // TCP or UDP protocols: The range of ports the rule applies to.
+ PortRange *PortRange `locationName:"portRange" type:"structure"`
+
+ // The protocol. A value of -1 means all protocols.
+ Protocol *string `locationName:"protocol" type:"string" required:"true"`
+
+ // Indicates whether to allow or deny the traffic that matches the rule.
+ RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
+
+ // The rule number for the entry (for example, 100). ACL entries are processed
+ // in ascending order by rule number.
+ //
+ // Constraints: Positive integer from 1 to 32766
+ RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
+
+ metadataCreateNetworkACLEntryInput `json:"-" xml:"-"`
+}
+
+type metadataCreateNetworkACLEntryInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNetworkACLEntryInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkACLEntryInput) GoString() string {
+ return s.String()
+}
+
+type CreateNetworkACLEntryOutput struct {
+ metadataCreateNetworkACLEntryOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateNetworkACLEntryOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNetworkACLEntryOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkACLEntryOutput) GoString() string {
+ return s.String()
+}
+
+type CreateNetworkACLInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string" required:"true"`
+
+ metadataCreateNetworkACLInput `json:"-" xml:"-"`
+}
+
+type metadataCreateNetworkACLInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNetworkACLInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkACLInput) GoString() string {
+ return s.String()
+}
+
+type CreateNetworkACLOutput struct {
+ // Information about the network ACL.
+ NetworkACL *NetworkACL `locationName:"networkAcl" type:"structure"`
+
+ metadataCreateNetworkACLOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateNetworkACLOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNetworkACLOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkACLOutput) GoString() string {
+ return s.String()
+}
+
+type CreateNetworkInterfaceInput struct {
+ // A description for the network interface.
+ Description *string `locationName:"description" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The IDs of one or more security groups.
+ Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
+
+ // The primary private IP address of the network interface. If you don't specify
+ // an IP address, Amazon EC2 selects one for you from the subnet range. If you
+ // specify an IP address, you cannot indicate any IP addresses specified in
+ // privateIpAddresses as primary (only one IP address can be designated as primary).
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // One or more private IP addresses.
+ PrivateIPAddresses []*PrivateIPAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
+
+ // The number of secondary private IP addresses to assign to a network interface.
+ // When you specify a number of secondary IP addresses, Amazon EC2 selects these
+ // IP addresses within the subnet range. You can't specify this option and specify
+ // more than one private IP address using privateIpAddresses.
+ //
+ // The number of IP addresses you can assign to a network interface varies
+ // by instance type. For more information, see Private IP Addresses Per ENI
+ // Per Instance Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ SecondaryPrivateIPAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
+
+ // The ID of the subnet to associate with the network interface.
+ SubnetID *string `locationName:"subnetId" type:"string" required:"true"`
+
+ metadataCreateNetworkInterfaceInput `json:"-" xml:"-"`
+}
+
+type metadataCreateNetworkInterfaceInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNetworkInterfaceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkInterfaceInput) GoString() string {
+ return s.String()
+}
+
+type CreateNetworkInterfaceOutput struct {
+ // Information about the network interface.
+ NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
+
+ metadataCreateNetworkInterfaceOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateNetworkInterfaceOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNetworkInterfaceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkInterfaceOutput) GoString() string {
+ return s.String()
+}
+
+type CreatePlacementGroupInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // A name for the placement group.
+ //
+ // Constraints: Up to 255 ASCII characters
+ GroupName *string `locationName:"groupName" type:"string" required:"true"`
+
+ // The placement strategy.
+ Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"`
+
+ metadataCreatePlacementGroupInput `json:"-" xml:"-"`
+}
+
+type metadataCreatePlacementGroupInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreatePlacementGroupInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreatePlacementGroupInput) GoString() string {
+ return s.String()
+}
+
+type CreatePlacementGroupOutput struct {
+ metadataCreatePlacementGroupOutput `json:"-" xml:"-"`
+}
+
+type metadataCreatePlacementGroupOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreatePlacementGroupOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreatePlacementGroupOutput) GoString() string {
+ return s.String()
+}
+
+type CreateReservedInstancesListingInput struct {
+ // Unique, case-sensitive identifier you provide to ensure idempotency of your
+ // listings. This helps avoid duplicate listings. For more information, see
+ // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
+ ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
+
+ // The number of instances that are a part of a Reserved Instance account to
+ // be listed in the Reserved Instance Marketplace. This number should be less
+ // than or equal to the instance count associated with the Reserved Instance
+ // ID specified in this call.
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
+
+ // A list specifying the price of the Reserved Instance for each month remaining
+ // in the Reserved Instance term.
+ PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
+
+ // The ID of the active Reserved Instance.
+ ReservedInstancesID *string `locationName:"reservedInstancesId" type:"string" required:"true"`
+
+ metadataCreateReservedInstancesListingInput `json:"-" xml:"-"`
+}
+
+type metadataCreateReservedInstancesListingInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateReservedInstancesListingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateReservedInstancesListingInput) GoString() string {
+ return s.String()
+}
+
+type CreateReservedInstancesListingOutput struct {
+ // Information about the Reserved Instances listing.
+ ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
+
+ metadataCreateReservedInstancesListingOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateReservedInstancesListingOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateReservedInstancesListingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateReservedInstancesListingOutput) GoString() string {
+ return s.String()
+}
+
+type CreateRouteInput struct {
+ // The CIDR address block used for the destination match. Routing decisions
+ // are based on the most specific match.
+ DestinationCIDRBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of an Internet gateway or virtual private gateway attached to your
+ // VPC.
+ GatewayID *string `locationName:"gatewayId" type:"string"`
+
+ // The ID of a NAT instance in your VPC. The operation fails if you specify
+ // an instance ID unless exactly one network interface is attached.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The ID of a network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The ID of the route table for the route.
+ RouteTableID *string `locationName:"routeTableId" type:"string" required:"true"`
+
+ // The ID of a VPC peering connection.
+ VPCPeeringConnectionID *string `locationName:"vpcPeeringConnectionId" type:"string"`
+
+ metadataCreateRouteInput `json:"-" xml:"-"`
+}
+
+type metadataCreateRouteInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateRouteInput) GoString() string {
+ return s.String()
+}
+
+type CreateRouteOutput struct {
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+
+ metadataCreateRouteOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateRouteOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateRouteOutput) GoString() string {
+ return s.String()
+}
+
+type CreateRouteTableInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string" required:"true"`
+
+ metadataCreateRouteTableInput `json:"-" xml:"-"`
+}
+
+type metadataCreateRouteTableInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateRouteTableInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateRouteTableInput) GoString() string {
+ return s.String()
+}
+
+type CreateRouteTableOutput struct {
+ // Information about the route table.
+ RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
+
+ metadataCreateRouteTableOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateRouteTableOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateRouteTableOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateRouteTableOutput) GoString() string {
+ return s.String()
+}
+
+type CreateSecurityGroupInput struct {
+ // A description for the security group. This is informational only.
+ //
+ // Constraints: Up to 255 characters in length
+ //
+ // Constraints for EC2-Classic: ASCII characters
+ //
+ // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
+ Description *string `locationName:"GroupDescription" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The name of the security group.
+ //
+ // Constraints: Up to 255 characters in length
+ //
+ // Constraints for EC2-Classic: ASCII characters
+ //
+ // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
+ GroupName *string `type:"string" required:"true"`
+
+ // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
+ VPCID *string `locationName:"VpcId" type:"string"`
+
+ metadataCreateSecurityGroupInput `json:"-" xml:"-"`
+}
+
+type metadataCreateSecurityGroupInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateSecurityGroupInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSecurityGroupInput) GoString() string {
+ return s.String()
+}
+
+type CreateSecurityGroupOutput struct {
+ // The ID of the security group.
+ GroupID *string `locationName:"groupId" type:"string"`
+
+ metadataCreateSecurityGroupOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateSecurityGroupOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateSecurityGroupOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSecurityGroupOutput) GoString() string {
+ return s.String()
+}
+
+type CreateSnapshotInput struct {
+ // A description for the snapshot.
+ Description *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the EBS volume.
+ VolumeID *string `locationName:"VolumeId" type:"string" required:"true"`
+
+ metadataCreateSnapshotInput `json:"-" xml:"-"`
+}
+
+type metadataCreateSnapshotInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateSnapshotInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSnapshotInput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for CreateSpotDatafeedSubscription.
+type CreateSpotDatafeedSubscriptionInput struct {
+ // The Amazon S3 bucket in which to store the Spot Instance data feed.
+ Bucket *string `locationName:"bucket" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // A prefix for the data feed file names.
+ Prefix *string `locationName:"prefix" type:"string"`
+
+ metadataCreateSpotDatafeedSubscriptionInput `json:"-" xml:"-"`
+}
+
+type metadataCreateSpotDatafeedSubscriptionInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateSpotDatafeedSubscriptionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
+ return s.String()
+}
+
+// Contains the output of CreateSpotDatafeedSubscription.
+type CreateSpotDatafeedSubscriptionOutput struct {
+ // The Spot Instance data feed subscription.
+ SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
+
+ metadataCreateSpotDatafeedSubscriptionOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateSpotDatafeedSubscriptionOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateSpotDatafeedSubscriptionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
+ return s.String()
+}
+
+type CreateSubnetInput struct {
+ // The Availability Zone for the subnet.
+ //
+ // Default: Amazon EC2 selects one for you (recommended).
+ AvailabilityZone *string `type:"string"`
+
+ // The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
+ CIDRBlock *string `locationName:"CidrBlock" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"VpcId" type:"string" required:"true"`
+
+ metadataCreateSubnetInput `json:"-" xml:"-"`
+}
+
+type metadataCreateSubnetInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateSubnetInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSubnetInput) GoString() string {
+ return s.String()
+}
+
+type CreateSubnetOutput struct {
+ // Information about the subnet.
+ Subnet *Subnet `locationName:"subnet" type:"structure"`
+
+ metadataCreateSubnetOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateSubnetOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateSubnetOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateSubnetOutput) GoString() string {
+ return s.String()
+}
+
+type CreateTagsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
+ Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
+
+ // One or more tags. The value parameter is required, but if you don't want
+ // the tag to have a value, specify the parameter with no value, and we set
+ // the value to an empty string.
+ Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
+
+ metadataCreateTagsInput `json:"-" xml:"-"`
+}
+
+type metadataCreateTagsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateTagsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateTagsInput) GoString() string {
+ return s.String()
+}
+
+type CreateTagsOutput struct {
+ metadataCreateTagsOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateTagsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateTagsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateTagsOutput) GoString() string {
+ return s.String()
+}
+
+type CreateVPCEndpointInput struct {
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
+ ClientToken *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // A policy to attach to the endpoint that controls access to the service. The
+ // policy must be in valid JSON format. If this parameter is not specified,
+ // we attach a default policy that allows full access to the service.
+ PolicyDocument *string `type:"string"`
+
+ // One or more route table IDs.
+ RouteTableIDs []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
+
+ // The AWS service name, in the form com.amazonaws.region.service. To get a
+ // list of available services, use the DescribeVpcEndpointServices request.
+ ServiceName *string `type:"string" required:"true"`
+
+ // The ID of the VPC in which the endpoint will be used.
+ VPCID *string `locationName:"VpcId" type:"string" required:"true"`
+
+ metadataCreateVPCEndpointInput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPCEndpointInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPCEndpointInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPCEndpointInput) GoString() string {
+ return s.String()
+}
+
+type CreateVPCEndpointOutput struct {
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // Information about the endpoint.
+ VPCEndpoint *VPCEndpoint `locationName:"vpcEndpoint" type:"structure"`
+
+ metadataCreateVPCEndpointOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPCEndpointOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPCEndpointOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPCEndpointOutput) GoString() string {
+ return s.String()
+}
+
+type CreateVPCInput struct {
+ // The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
+ CIDRBlock *string `locationName:"CidrBlock" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The supported tenancy options for instances launched into the VPC. A value
+ // of default means that instances can be launched with any tenancy; a value
+ // of dedicated means all instances launched into the VPC are launched as dedicated
+ // tenancy instances regardless of the tenancy assigned to the instance at launch.
+ // Dedicated tenancy instances run on single-tenant hardware.
+ //
+ // Default: default
+ InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
+
+ metadataCreateVPCInput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPCInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPCInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPCInput) GoString() string {
+ return s.String()
+}
+
+type CreateVPCOutput struct {
+ // Information about the VPC.
+ VPC *VPC `locationName:"vpc" type:"structure"`
+
+ metadataCreateVPCOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPCOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPCOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPCOutput) GoString() string {
+ return s.String()
+}
+
+type CreateVPCPeeringConnectionInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The AWS account ID of the owner of the peer VPC.
+ //
+ // Default: Your AWS account ID
+ PeerOwnerID *string `locationName:"peerOwnerId" type:"string"`
+
+ // The ID of the VPC with which you are creating the VPC peering connection.
+ PeerVPCID *string `locationName:"peerVpcId" type:"string"`
+
+ // The ID of the requester VPC.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataCreateVPCPeeringConnectionInput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPCPeeringConnectionInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPCPeeringConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPCPeeringConnectionInput) GoString() string {
+ return s.String()
+}
+
+type CreateVPCPeeringConnectionOutput struct {
+ // Information about the VPC peering connection.
+ VPCPeeringConnection *VPCPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
+
+ metadataCreateVPCPeeringConnectionOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPCPeeringConnectionOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPCPeeringConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPCPeeringConnectionOutput) GoString() string {
+ return s.String()
+}
+
+type CreateVPNConnectionInput struct {
+ // The ID of the customer gateway.
+ CustomerGatewayID *string `locationName:"CustomerGatewayId" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Indicates whether the VPN connection requires static routes. If you are creating
+ // a VPN connection for a device that does not support BGP, you must specify
+ // true.
+ //
+ // Default: false
+ Options *VPNConnectionOptionsSpecification `locationName:"options" type:"structure"`
+
+ // The type of VPN connection (ipsec.1).
+ Type *string `type:"string" required:"true"`
+
+ // The ID of the virtual private gateway.
+ VPNGatewayID *string `locationName:"VpnGatewayId" type:"string" required:"true"`
+
+ metadataCreateVPNConnectionInput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPNConnectionInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPNConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPNConnectionInput) GoString() string {
+ return s.String()
+}
+
+type CreateVPNConnectionOutput struct {
+ // Information about the VPN connection.
+ VPNConnection *VPNConnection `locationName:"vpnConnection" type:"structure"`
+
+ metadataCreateVPNConnectionOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPNConnectionOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPNConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPNConnectionOutput) GoString() string {
+ return s.String()
+}
+
+type CreateVPNConnectionRouteInput struct {
+ // The CIDR block associated with the local subnet of the customer network.
+ DestinationCIDRBlock *string `locationName:"DestinationCidrBlock" type:"string" required:"true"`
+
+ // The ID of the VPN connection.
+ VPNConnectionID *string `locationName:"VpnConnectionId" type:"string" required:"true"`
+
+ metadataCreateVPNConnectionRouteInput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPNConnectionRouteInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPNConnectionRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPNConnectionRouteInput) GoString() string {
+ return s.String()
+}
+
+type CreateVPNConnectionRouteOutput struct {
+ metadataCreateVPNConnectionRouteOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPNConnectionRouteOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPNConnectionRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPNConnectionRouteOutput) GoString() string {
+ return s.String()
+}
+
+type CreateVPNGatewayInput struct {
+ // The Availability Zone for the virtual private gateway.
+ AvailabilityZone *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The type of VPN connection this virtual private gateway supports.
+ Type *string `type:"string" required:"true" enum:"GatewayType"`
+
+ metadataCreateVPNGatewayInput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPNGatewayInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPNGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPNGatewayInput) GoString() string {
+ return s.String()
+}
+
+type CreateVPNGatewayOutput struct {
+ // Information about the virtual private gateway.
+ VPNGateway *VPNGateway `locationName:"vpnGateway" type:"structure"`
+
+ metadataCreateVPNGatewayOutput `json:"-" xml:"-"`
+}
+
+type metadataCreateVPNGatewayOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVPNGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVPNGatewayOutput) GoString() string {
+ return s.String()
+}
+
+type CreateVolumeInput struct {
+ // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones
+ // to list the Availability Zones that are currently available to you.
+ AvailabilityZone *string `type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes
+ // may only be attached to instances that support Amazon EBS encryption. Volumes
+ // that are created from encrypted snapshots are automatically encrypted. There
+ // is no way to create an encrypted volume from an unencrypted snapshot or vice
+ // versa. If your AMI uses encrypted volumes, you can only launch it on supported
+ // instance types. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ Encrypted *bool `locationName:"encrypted" type:"boolean"`
+
+ // Only valid for Provisioned IOPS (SSD) volumes. The number of I/O operations
+ // per second (IOPS) to provision for the volume, with a maximum ratio of 30
+ // IOPS/GiB.
+ //
+ // Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes
+ IOPS *int64 `locationName:"Iops" type:"integer"`
+
+ // The full ARN of the AWS Key Management Service (AWS KMS) customer master
+ // key (CMK) to use when creating the encrypted volume. This parameter is only
+ // required if you want to use a non-default CMK; if this parameter is not specified,
+ // the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace,
+ // followed by the region of the CMK, the AWS account ID of the CMK owner, the
+ // key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
+ // If a KmsKeyId is specified, the Encrypted flag must also be set.
+ KMSKeyID *string `locationName:"KmsKeyId" type:"string"`
+
+ // The size of the volume, in GiBs.
+ //
+ // Constraints: 1-1024 for standard volumes, 1-16384 for gp2 volumes, and 4-16384
+ // for io1 volumes. If you specify a snapshot, the volume size must be equal
+ // to or larger than the snapshot size.
+ //
+ // Default: If you're creating the volume from a snapshot and don't specify
+ // a volume size, the default is the snapshot size.
+ Size *int64 `type:"integer"`
+
+ // The snapshot from which to create the volume.
+ SnapshotID *string `locationName:"SnapshotId" type:"string"`
+
+ // The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for
+ // Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.
+ //
+ // Default: standard
+ VolumeType *string `type:"string" enum:"VolumeType"`
+
+ metadataCreateVolumeInput `json:"-" xml:"-"`
+}
+
+type metadataCreateVolumeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVolumeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVolumeInput) GoString() string {
+ return s.String()
+}
+
+// Describes the user or group to be added or removed from the permissions for
+// a volume.
+type CreateVolumePermission struct {
+ // The specific group that is to be added or removed from a volume's list of
+ // create volume permissions.
+ Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
+
+ // The specific AWS account ID that is to be added or removed from a volume's
+ // list of create volume permissions.
+ UserID *string `locationName:"userId" type:"string"`
+
+ metadataCreateVolumePermission `json:"-" xml:"-"`
+}
+
+type metadataCreateVolumePermission struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVolumePermission) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVolumePermission) GoString() string {
+ return s.String()
+}
+
+// Describes modifications to the permissions for a volume.
+type CreateVolumePermissionModifications struct {
+ // Adds a specific AWS account ID or group to a volume's list of create volume
+ // permissions.
+ Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
+
+ // Removes a specific AWS account ID or group from a volume's list of create
+ // volume permissions.
+ Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
+
+ metadataCreateVolumePermissionModifications `json:"-" xml:"-"`
+}
+
+type metadataCreateVolumePermissionModifications struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateVolumePermissionModifications) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateVolumePermissionModifications) GoString() string {
+ return s.String()
+}
+
+// Describes a customer gateway.
+type CustomerGateway struct {
+ // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
+ // (ASN).
+ BGPASN *string `locationName:"bgpAsn" type:"string"`
+
+ // The ID of the customer gateway.
+ CustomerGatewayID *string `locationName:"customerGatewayId" type:"string"`
+
+ // The Internet-routable IP address of the customer gateway's outside interface.
+ IPAddress *string `locationName:"ipAddress" type:"string"`
+
+ // The current state of the customer gateway (pending | available | deleting
+ // | deleted).
+ State *string `locationName:"state" type:"string"`
+
+ // Any tags assigned to the customer gateway.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The type of VPN connection the customer gateway supports (ipsec.1).
+ Type *string `locationName:"type" type:"string"`
+
+ metadataCustomerGateway `json:"-" xml:"-"`
+}
+
+type metadataCustomerGateway struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s CustomerGateway) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CustomerGateway) GoString() string {
+ return s.String()
+}
+
+// Describes a DHCP configuration option.
+type DHCPConfiguration struct {
+ // The name of a DHCP option.
+ Key *string `locationName:"key" type:"string"`
+
+ // One or more values for the DHCP option.
+ Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
+
+ metadataDHCPConfiguration `json:"-" xml:"-"`
+}
+
+type metadataDHCPConfiguration struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DHCPConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DHCPConfiguration) GoString() string {
+ return s.String()
+}
+
+// Describes a set of DHCP options.
+type DHCPOptions struct {
+ // One or more DHCP options in the set.
+ DHCPConfigurations []*DHCPConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
+
+ // The ID of the set of DHCP options.
+ DHCPOptionsID *string `locationName:"dhcpOptionsId" type:"string"`
+
+ // Any tags assigned to the DHCP options set.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ metadataDHCPOptions `json:"-" xml:"-"`
+}
+
+type metadataDHCPOptions struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DHCPOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DHCPOptions) GoString() string {
+ return s.String()
+}
+
+type DeleteCustomerGatewayInput struct {
+ // The ID of the customer gateway.
+ CustomerGatewayID *string `locationName:"CustomerGatewayId" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ metadataDeleteCustomerGatewayInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteCustomerGatewayInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteCustomerGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteCustomerGatewayInput) GoString() string {
+ return s.String()
+}
+
+type DeleteCustomerGatewayOutput struct {
+ metadataDeleteCustomerGatewayOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteCustomerGatewayOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteCustomerGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteCustomerGatewayOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteDHCPOptionsInput struct {
+ // The ID of the DHCP options set.
+ DHCPOptionsID *string `locationName:"DhcpOptionsId" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ metadataDeleteDHCPOptionsInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteDHCPOptionsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteDHCPOptionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteDHCPOptionsInput) GoString() string {
+ return s.String()
+}
+
+type DeleteDHCPOptionsOutput struct {
+ metadataDeleteDHCPOptionsOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteDHCPOptionsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteDHCPOptionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteDHCPOptionsOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteFlowLogsInput struct {
+ // One or more flow log IDs.
+ FlowLogIDs []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
+
+ metadataDeleteFlowLogsInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteFlowLogsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteFlowLogsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteFlowLogsInput) GoString() string {
+ return s.String()
+}
+
+type DeleteFlowLogsOutput struct {
+ // Information about the flow logs that could not be deleted successfully.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+
+ metadataDeleteFlowLogsOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteFlowLogsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteFlowLogsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteFlowLogsOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteInternetGatewayInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the Internet gateway.
+ InternetGatewayID *string `locationName:"internetGatewayId" type:"string" required:"true"`
+
+ metadataDeleteInternetGatewayInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteInternetGatewayInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteInternetGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteInternetGatewayInput) GoString() string {
+ return s.String()
+}
+
+type DeleteInternetGatewayOutput struct {
+ metadataDeleteInternetGatewayOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteInternetGatewayOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteInternetGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteInternetGatewayOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteKeyPairInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The name of the key pair.
+ KeyName *string `type:"string" required:"true"`
+
+ metadataDeleteKeyPairInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteKeyPairInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteKeyPairInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteKeyPairInput) GoString() string {
+ return s.String()
+}
+
+type DeleteKeyPairOutput struct {
+ metadataDeleteKeyPairOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteKeyPairOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteKeyPairOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteKeyPairOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteNetworkACLEntryInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Indicates whether the rule is an egress rule.
+ Egress *bool `locationName:"egress" type:"boolean" required:"true"`
+
+ // The ID of the network ACL.
+ NetworkACLID *string `locationName:"networkAclId" type:"string" required:"true"`
+
+ // The rule number of the entry to delete.
+ RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
+
+ metadataDeleteNetworkACLEntryInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteNetworkACLEntryInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkACLEntryInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkACLEntryInput) GoString() string {
+ return s.String()
+}
+
+type DeleteNetworkACLEntryOutput struct {
+ metadataDeleteNetworkACLEntryOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteNetworkACLEntryOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkACLEntryOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkACLEntryOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteNetworkACLInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the network ACL.
+ NetworkACLID *string `locationName:"networkAclId" type:"string" required:"true"`
+
+ metadataDeleteNetworkACLInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteNetworkACLInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkACLInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkACLInput) GoString() string {
+ return s.String()
+}
+
+type DeleteNetworkACLOutput struct {
+ metadataDeleteNetworkACLOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteNetworkACLOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkACLOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkACLOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteNetworkInterfaceInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+
+ metadataDeleteNetworkInterfaceInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteNetworkInterfaceInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkInterfaceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkInterfaceInput) GoString() string {
+ return s.String()
+}
+
+type DeleteNetworkInterfaceOutput struct {
+ metadataDeleteNetworkInterfaceOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteNetworkInterfaceOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkInterfaceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkInterfaceOutput) GoString() string {
+ return s.String()
+}
+
+type DeletePlacementGroupInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The name of the placement group.
+ GroupName *string `locationName:"groupName" type:"string" required:"true"`
+
+ metadataDeletePlacementGroupInput `json:"-" xml:"-"`
+}
+
+type metadataDeletePlacementGroupInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeletePlacementGroupInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeletePlacementGroupInput) GoString() string {
+ return s.String()
+}
+
+type DeletePlacementGroupOutput struct {
+ metadataDeletePlacementGroupOutput `json:"-" xml:"-"`
+}
+
+type metadataDeletePlacementGroupOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeletePlacementGroupOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeletePlacementGroupOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteRouteInput struct {
+ // The CIDR range for the route. The value you specify must match the CIDR for
+ // the route exactly.
+ DestinationCIDRBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the route table.
+ RouteTableID *string `locationName:"routeTableId" type:"string" required:"true"`
+
+ metadataDeleteRouteInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteRouteInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteRouteInput) GoString() string {
+ return s.String()
+}
+
+type DeleteRouteOutput struct {
+ metadataDeleteRouteOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteRouteOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteRouteOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteRouteTableInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the route table.
+ RouteTableID *string `locationName:"routeTableId" type:"string" required:"true"`
+
+ metadataDeleteRouteTableInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteRouteTableInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteRouteTableInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteRouteTableInput) GoString() string {
+ return s.String()
+}
+
+type DeleteRouteTableOutput struct {
+ metadataDeleteRouteTableOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteRouteTableOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteRouteTableOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteRouteTableOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteSecurityGroupInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the security group. Required for a nondefault VPC.
+ GroupID *string `locationName:"GroupId" type:"string"`
+
+ // [EC2-Classic, default VPC] The name of the security group. You can specify
+ // either the security group name or the security group ID.
+ GroupName *string `type:"string"`
+
+ metadataDeleteSecurityGroupInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteSecurityGroupInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSecurityGroupInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSecurityGroupInput) GoString() string {
+ return s.String()
+}
+
+type DeleteSecurityGroupOutput struct {
+ metadataDeleteSecurityGroupOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteSecurityGroupOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSecurityGroupOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSecurityGroupOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteSnapshotInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the EBS snapshot.
+ SnapshotID *string `locationName:"SnapshotId" type:"string" required:"true"`
+
+ metadataDeleteSnapshotInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteSnapshotInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSnapshotInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSnapshotInput) GoString() string {
+ return s.String()
+}
+
+type DeleteSnapshotOutput struct {
+ metadataDeleteSnapshotOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteSnapshotOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSnapshotOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSnapshotOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DeleteSpotDatafeedSubscription.
+type DeleteSpotDatafeedSubscriptionInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ metadataDeleteSpotDatafeedSubscriptionInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteSpotDatafeedSubscriptionInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSpotDatafeedSubscriptionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
+ return s.String()
+}
+
+type DeleteSpotDatafeedSubscriptionOutput struct {
+ metadataDeleteSpotDatafeedSubscriptionOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteSpotDatafeedSubscriptionOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteSubnetInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the subnet.
+ SubnetID *string `locationName:"SubnetId" type:"string" required:"true"`
+
+ metadataDeleteSubnetInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteSubnetInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSubnetInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSubnetInput) GoString() string {
+ return s.String()
+}
+
+type DeleteSubnetOutput struct {
+ metadataDeleteSubnetOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteSubnetOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteSubnetOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteSubnetOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteTagsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the resource. For example, ami-1a2b3c4d. You can specify more than
+ // one resource ID.
+ Resources []*string `locationName:"resourceId" type:"list" required:"true"`
+
+ // One or more tags to delete. If you omit the value parameter, we delete the
+ // tag regardless of its value. If you specify this parameter with an empty
+ // string as the value, we delete the key only if its value is an empty string.
+ Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
+
+ metadataDeleteTagsInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteTagsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteTagsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteTagsInput) GoString() string {
+ return s.String()
+}
+
+type DeleteTagsOutput struct {
+ metadataDeleteTagsOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteTagsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteTagsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteTagsOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPCEndpointsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more endpoint IDs.
+ VPCEndpointIDs []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
+
+ metadataDeleteVPCEndpointsInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPCEndpointsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPCEndpointsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPCEndpointsInput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPCEndpointsOutput struct {
+ // Information about the endpoints that were not successfully deleted.
+ Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
+
+ metadataDeleteVPCEndpointsOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPCEndpointsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPCEndpointsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPCEndpointsOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPCInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"VpcId" type:"string" required:"true"`
+
+ metadataDeleteVPCInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPCInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPCInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPCInput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPCOutput struct {
+ metadataDeleteVPCOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPCOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPCOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPCOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPCPeeringConnectionInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC peering connection.
+ VPCPeeringConnectionID *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
+
+ metadataDeleteVPCPeeringConnectionInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPCPeeringConnectionInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPCPeeringConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPCPeeringConnectionInput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPCPeeringConnectionOutput struct {
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+
+ metadataDeleteVPCPeeringConnectionOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPCPeeringConnectionOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPCPeeringConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPCPeeringConnectionOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPNConnectionInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPN connection.
+ VPNConnectionID *string `locationName:"VpnConnectionId" type:"string" required:"true"`
+
+ metadataDeleteVPNConnectionInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPNConnectionInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPNConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPNConnectionInput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPNConnectionOutput struct {
+ metadataDeleteVPNConnectionOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPNConnectionOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPNConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPNConnectionOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPNConnectionRouteInput struct {
+ // The CIDR block associated with the local subnet of the customer network.
+ DestinationCIDRBlock *string `locationName:"DestinationCidrBlock" type:"string" required:"true"`
+
+ // The ID of the VPN connection.
+ VPNConnectionID *string `locationName:"VpnConnectionId" type:"string" required:"true"`
+
+ metadataDeleteVPNConnectionRouteInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPNConnectionRouteInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPNConnectionRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPNConnectionRouteInput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPNConnectionRouteOutput struct {
+ metadataDeleteVPNConnectionRouteOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPNConnectionRouteOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPNConnectionRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPNConnectionRouteOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPNGatewayInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the virtual private gateway.
+ VPNGatewayID *string `locationName:"VpnGatewayId" type:"string" required:"true"`
+
+ metadataDeleteVPNGatewayInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPNGatewayInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPNGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPNGatewayInput) GoString() string {
+ return s.String()
+}
+
+type DeleteVPNGatewayOutput struct {
+ metadataDeleteVPNGatewayOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVPNGatewayOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVPNGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVPNGatewayOutput) GoString() string {
+ return s.String()
+}
+
+type DeleteVolumeInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the volume.
+ VolumeID *string `locationName:"VolumeId" type:"string" required:"true"`
+
+ metadataDeleteVolumeInput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVolumeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVolumeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVolumeInput) GoString() string {
+ return s.String()
+}
+
+type DeleteVolumeOutput struct {
+ metadataDeleteVolumeOutput `json:"-" xml:"-"`
+}
+
+type metadataDeleteVolumeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeleteVolumeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteVolumeOutput) GoString() string {
+ return s.String()
+}
+
+type DeregisterImageInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the AMI.
+ ImageID *string `locationName:"ImageId" type:"string" required:"true"`
+
+ metadataDeregisterImageInput `json:"-" xml:"-"`
+}
+
+type metadataDeregisterImageInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeregisterImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeregisterImageInput) GoString() string {
+ return s.String()
+}
+
+type DeregisterImageOutput struct {
+ metadataDeregisterImageOutput `json:"-" xml:"-"`
+}
+
+type metadataDeregisterImageOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DeregisterImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeregisterImageOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeAccountAttributesInput struct {
+ // One or more account attribute names.
+ AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ metadataDescribeAccountAttributesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeAccountAttributesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeAccountAttributesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeAccountAttributesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeAccountAttributesOutput struct {
+ // Information about one or more account attributes.
+ AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeAccountAttributesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeAccountAttributesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeAccountAttributesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeAccountAttributesOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeAddressesInput struct {
+ // [EC2-VPC] One or more allocation IDs.
+ //
+ // Default: Describes all your Elastic IP addresses.
+ AllocationIDs []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters. Filter names and values are case-sensitive.
+ //
+ // allocation-id - [EC2-VPC] The allocation ID for the address.
+ //
+ // association-id - [EC2-VPC] The association ID for the address.
+ //
+ // domain - Indicates whether the address is for use in EC2-Classic (standard)
+ // or in a VPC (vpc).
+ //
+ // instance-id - The ID of the instance the address is associated with, if
+ // any.
+ //
+ // network-interface-id - [EC2-VPC] The ID of the network interface that
+ // the address is associated with, if any.
+ //
+ // network-interface-owner-id - The AWS account ID of the owner.
+ //
+ // private-ip-address - [EC2-VPC] The private IP address associated with
+ // the Elastic IP address.
+ //
+ // public-ip - The Elastic IP address.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // [EC2-Classic] One or more Elastic IP addresses.
+ //
+ // Default: Describes all your Elastic IP addresses.
+ PublicIPs []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
+
+ metadataDescribeAddressesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeAddressesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeAddressesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeAddressesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeAddressesOutput struct {
+ // Information about one or more Elastic IP addresses.
+ Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeAddressesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeAddressesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeAddressesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeAddressesOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeAvailabilityZonesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // message - Information about the Availability Zone.
+ //
+ // region-name - The name of the region for the Availability Zone (for example,
+ // us-east-1).
+ //
+ // state - The state of the Availability Zone (available | impaired | unavailable).
+ //
+ // zone-name - The name of the Availability Zone (for example, us-east-1a).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The names of one or more Availability Zones.
+ ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
+
+ metadataDescribeAvailabilityZonesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeAvailabilityZonesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeAvailabilityZonesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeAvailabilityZonesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeAvailabilityZonesOutput struct {
+ // Information about one or more Availability Zones.
+ AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
+
+ metadataDescribeAvailabilityZonesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeAvailabilityZonesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeAvailabilityZonesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeAvailabilityZonesOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeBundleTasksInput struct {
+ // One or more bundle task IDs.
+ //
+ // Default: Describes all your bundle tasks.
+ BundleIDs []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // bundle-id - The ID of the bundle task.
+ //
+ // error-code - If the task failed, the error code returned.
+ //
+ // error-message - If the task failed, the error message returned.
+ //
+ // instance-id - The ID of the instance.
+ //
+ // progress - The level of task completion, as a percentage (for example,
+ // 20%).
+ //
+ // s3-bucket - The Amazon S3 bucket to store the AMI.
+ //
+ // s3-prefix - The beginning of the AMI name.
+ //
+ // start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
+ //
+ // state - The state of the task (pending | waiting-for-shutdown | bundling
+ // | storing | cancelling | complete | failed).
+ //
+ // update-time - The time of the most recent update for the task.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ metadataDescribeBundleTasksInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeBundleTasksInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeBundleTasksInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeBundleTasksInput) GoString() string {
+ return s.String()
+}
+
+type DescribeBundleTasksOutput struct {
+ // Information about one or more bundle tasks.
+ BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeBundleTasksOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeBundleTasksOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeBundleTasksOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeBundleTasksOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeClassicLinkInstancesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // group-id - The ID of a VPC security group that's associated with the instance.
+ //
+ // instance-id - The ID of the instance.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // vpc-id - The ID of the VPC that the instance is linked to.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
+ InstanceIDs []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results of the initial request can be seen by sending another
+ // request with the returned NextToken value. This value can be between 5 and
+ // 1000; if MaxResults is given a value larger than 1000, only 1000 results
+ // are returned. You cannot specify this parameter and the instance IDs parameter
+ // in the same request.
+ //
+ // Constraint: If the value is greater than 1000, we return only 1000 items.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ metadataDescribeClassicLinkInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeClassicLinkInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeClassicLinkInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeClassicLinkInstancesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeClassicLinkInstancesOutput struct {
+ // Information about one or more linked EC2-Classic instances.
+ Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ metadataDescribeClassicLinkInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeClassicLinkInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeClassicLinkInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeClassicLinkInstancesOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeConversionTasksInput struct {
+ // One or more conversion task IDs.
+ ConversionTaskIDs []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
+
+ metadataDescribeConversionTasksInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeConversionTasksInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeConversionTasksInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeConversionTasksInput) GoString() string {
+ return s.String()
+}
+
+type DescribeConversionTasksOutput struct {
+ // Information about the conversion tasks.
+ ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
+
+ metadataDescribeConversionTasksOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeConversionTasksOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeConversionTasksOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeConversionTasksOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeCustomerGatewaysInput struct {
+ // One or more customer gateway IDs.
+ //
+ // Default: Describes all your customer gateways.
+ CustomerGatewayIDs []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
+ // System Number (ASN).
+ //
+ // customer-gateway-id - The ID of the customer gateway.
+ //
+ // ip-address - The IP address of the customer gateway's Internet-routable
+ // external interface.
+ //
+ // state - The state of the customer gateway (pending | available | deleting
+ // | deleted).
+ //
+ // type - The type of customer gateway. Currently, the only supported type
+ // is ipsec.1.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ metadataDescribeCustomerGatewaysInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeCustomerGatewaysInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeCustomerGatewaysInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeCustomerGatewaysInput) GoString() string {
+ return s.String()
+}
+
+type DescribeCustomerGatewaysOutput struct {
+ // Information about one or more customer gateways.
+ CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
+
+ metadataDescribeCustomerGatewaysOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeCustomerGatewaysOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeCustomerGatewaysOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeCustomerGatewaysOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeDHCPOptionsInput struct {
+ // The IDs of one or more DHCP options sets.
+ //
+ // Default: Describes all your DHCP options sets.
+ DHCPOptionsIDs []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // dhcp-options-id - The ID of a set of DHCP options.
+ //
+ // key - The key for one of the options (for example, domain-name).
+ //
+ // value - The value for one of the options.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ metadataDescribeDHCPOptionsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeDHCPOptionsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeDHCPOptionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeDHCPOptionsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeDHCPOptionsOutput struct {
+ // Information about one or more DHCP options sets.
+ DHCPOptions []*DHCPOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeDHCPOptionsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeDHCPOptionsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeDHCPOptionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeDHCPOptionsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeExportTasksInput struct {
+ // One or more export task IDs.
+ ExportTaskIDs []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
+
+ metadataDescribeExportTasksInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeExportTasksInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeExportTasksInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeExportTasksInput) GoString() string {
+ return s.String()
+}
+
+type DescribeExportTasksOutput struct {
+ // Information about the export tasks.
+ ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeExportTasksOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeExportTasksOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeExportTasksOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeExportTasksOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeFlowLogsInput struct {
+ // One or more filters.
+ //
+ // deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
+ //
+ // flow-log-id - The ID of the flow log.
+ //
+ // log-group-name - The name of the log group.
+ //
+ // resource-id - The ID of the VPC, subnet, or network interface.
+ //
+ // traffic-type - The type of traffic (ACCEPT | REJECT | ALL)
+ Filter []*Filter `locationNameList:"Filter" type:"list"`
+
+ // One or more flow log IDs.
+ FlowLogIDs []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results can be seen by sending another request with the returned
+ // NextToken value. This value can be between 5 and 1000; if MaxResults is given
+ // a value larger than 1000, only 1000 results are returned. You cannot specify
+ // this parameter and the flow log IDs parameter in the same request.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `type:"string"`
+
+ metadataDescribeFlowLogsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeFlowLogsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeFlowLogsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFlowLogsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeFlowLogsOutput struct {
+ // Information about the flow logs.
+ FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ metadataDescribeFlowLogsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeFlowLogsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeFlowLogsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFlowLogsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeImageAttributeInput struct {
+ // The AMI attribute.
+ //
+ // Note: Depending on your account privileges, the blockDeviceMapping attribute
+ // may return a Client.AuthFailure error. If this happens, use DescribeImages
+ // to get information about the block device mapping for the AMI.
+ Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the AMI.
+ ImageID *string `locationName:"ImageId" type:"string" required:"true"`
+
+ metadataDescribeImageAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeImageAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeImageAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImageAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Describes an image attribute.
+type DescribeImageAttributeOutput struct {
+ // One or more block device mapping entries.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // A description for the AMI.
+ Description *AttributeValue `locationName:"description" type:"structure"`
+
+ // The ID of the AMI.
+ ImageID *string `locationName:"imageId" type:"string"`
+
+ // The kernel ID.
+ KernelID *AttributeValue `locationName:"kernel" type:"structure"`
+
+ // One or more launch permissions.
+ LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
+
+ // One or more product codes.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // The RAM disk ID.
+ RAMDiskID *AttributeValue `locationName:"ramdisk" type:"structure"`
+
+ // The value to use for a resource attribute.
+ SRIOVNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
+
+ metadataDescribeImageAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeImageAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeImageAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImageAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeImagesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Scopes the images by users with explicit launch permissions. Specify an AWS
+ // account ID, self (the sender of the request), or all (public AMIs).
+ ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
+
+ // One or more filters.
+ //
+ // architecture - The image architecture (i386 | x86_64).
+ //
+ // block-device-mapping.delete-on-termination - A Boolean value that indicates
+ // whether the Amazon EBS volume is deleted on instance termination.
+ //
+ // block-device-mapping.device-name - The device name for the EBS volume
+ // (for example, /dev/sdh).
+ //
+ // block-device-mapping.snapshot-id - The ID of the snapshot used for the
+ // EBS volume.
+ //
+ // block-device-mapping.volume-size - The volume size of the EBS volume,
+ // in GiB.
+ //
+ // block-device-mapping.volume-type - The volume type of the EBS volume (gp2
+ // | standard | io1).
+ //
+ // description - The description of the image (provided during image creation).
+ //
+ // hypervisor - The hypervisor type (ovm | xen).
+ //
+ // image-id - The ID of the image.
+ //
+ // image-type - The image type (machine | kernel | ramdisk).
+ //
+ // is-public - A Boolean that indicates whether the image is public.
+ //
+ // kernel-id - The kernel ID.
+ //
+ // manifest-location - The location of the image manifest.
+ //
+ // name - The name of the AMI (provided during image creation).
+ //
+ // owner-alias - The AWS account alias (for example, amazon).
+ //
+ // owner-id - The AWS account ID of the image owner.
+ //
+ // platform - The platform. To only list Windows-based AMIs, use windows.
+ //
+ // product-code - The product code.
+ //
+ // product-code.type - The type of the product code (devpay | marketplace).
+ //
+ // ramdisk-id - The RAM disk ID.
+ //
+ // root-device-name - The name of the root device volume (for example, /dev/sda1).
+ //
+ // root-device-type - The type of the root device volume (ebs | instance-store).
+ //
+ // state - The state of the image (available | pending | failed).
+ //
+ // state-reason-code - The reason code for the state change.
+ //
+ // state-reason-message - The message for the state change.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // virtualization-type - The virtualization type (paravirtual | hvm).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more image IDs.
+ //
+ // Default: Describes all images available to you.
+ ImageIDs []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
+
+ // Filters the images by the owner. Specify an AWS account ID, amazon (owner
+ // is Amazon), aws-marketplace (owner is AWS Marketplace), self (owner is the
+ // sender of the request). Omitting this option returns all images for which
+ // you have launch permissions, regardless of ownership.
+ Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
+
+ metadataDescribeImagesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeImagesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeImagesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImagesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeImagesOutput struct {
+ // Information about one or more images.
+ Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeImagesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeImagesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeImagesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImagesOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeImportImageTasksInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ Filters []*Filter `locationNameList:"Filter" type:"list"`
+
+ // A list of import image task IDs.
+ ImportTaskIDs []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
+
+ // The maximum number of results to return in a single request.
+ MaxResults *int64 `type:"integer"`
+
+ // A token that indicates the next page of results.
+ NextToken *string `type:"string"`
+
+ metadataDescribeImportImageTasksInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeImportImageTasksInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeImportImageTasksInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImportImageTasksInput) GoString() string {
+ return s.String()
+}
+
+type DescribeImportImageTasksOutput struct {
+ // A list of zero or more import image tasks that are currently active or were
+ // completed or canceled in the previous 7 days.
+ ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
+
+ // The token to use to get the next page of results. This value is null when
+ // there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ metadataDescribeImportImageTasksOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeImportImageTasksOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeImportImageTasksOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImportImageTasksOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeImportSnapshotTasksInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ Filters []*Filter `locationNameList:"Filter" type:"list"`
+
+ // A list of import snapshot task IDs.
+ ImportTaskIDs []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
+
+ // The maximum number of results to return in a single request.
+ MaxResults *int64 `type:"integer"`
+
+ // A token that indicates the next page of results.
+ NextToken *string `type:"string"`
+
+ metadataDescribeImportSnapshotTasksInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeImportSnapshotTasksInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeImportSnapshotTasksInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImportSnapshotTasksInput) GoString() string {
+ return s.String()
+}
+
+type DescribeImportSnapshotTasksOutput struct {
+ // A list of zero or more import snapshot tasks that are currently active or
+ // were completed or canceled in the previous 7 days.
+ ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
+
+ // The token to use to get the next page of results. This value is null when
+ // there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ metadataDescribeImportSnapshotTasksOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeImportSnapshotTasksOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeImportSnapshotTasksOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeImportSnapshotTasksOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeInstanceAttributeInput struct {
+ // The instance attribute.
+ Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string" required:"true"`
+
+ metadataDescribeInstanceAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeInstanceAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeInstanceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstanceAttributeInput) GoString() string {
+ return s.String()
+}
+
+// Describes an instance attribute.
+type DescribeInstanceAttributeOutput struct {
+ // The block device mapping of the instance.
+ BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // If the value is true, you can't terminate the instance through the Amazon
+ // EC2 console, CLI, or API; otherwise, you can.
+ DisableAPITermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
+
+ // Indicates whether the instance is optimized for EBS I/O.
+ EBSOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
+
+ // The security groups associated with the instance.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // Indicates whether an instance stops or terminates when you initiate shutdown
+ // from the instance (using the operating system command for system shutdown).
+ InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
+
+ // The instance type.
+ InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
+
+ // The kernel ID.
+ KernelID *AttributeValue `locationName:"kernel" type:"structure"`
+
+ // A list of product codes.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // The RAM disk ID.
+ RAMDiskID *AttributeValue `locationName:"ramdisk" type:"structure"`
+
+ // The name of the root device (for example, /dev/sda1 or /dev/xvda).
+ RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
+
+ // The value to use for a resource attribute.
+ SRIOVNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
+
+ // Indicates whether source/destination checking is enabled. A value of true
+ // means checking is enabled, and false means checking is disabled. This value
+ // must be false for a NAT instance to perform NAT.
+ SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
+
+ // The Base64-encoded MIME user data.
+ UserData *AttributeValue `locationName:"userData" type:"structure"`
+
+ metadataDescribeInstanceAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeInstanceAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeInstanceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstanceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeInstanceStatusInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // availability-zone - The Availability Zone of the instance.
+ //
+ // event.code - The code for the scheduled event (instance-reboot | system-reboot
+ // | system-maintenance | instance-retirement | instance-stop).
+ //
+ // event.description - A description of the event.
+ //
+ // event.not-after - The latest end time for the scheduled event (for example,
+ // 2014-09-15T17:15:20.000Z).
+ //
+ // event.not-before - The earliest start time for the scheduled event (for
+ // example, 2014-09-15T17:15:20.000Z).
+ //
+ // instance-state-code - The code for the instance state, as a 16-bit unsigned
+ // integer. The high byte is an opaque internal value and should be ignored.
+ // The low byte is set based on the state represented. The valid values are
+ // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
+ // and 80 (stopped).
+ //
+ // instance-state-name - The state of the instance (pending | running | shutting-down
+ // | terminated | stopping | stopped).
+ //
+ // instance-status.reachability - Filters on instance status where the name
+ // is reachability (passed | failed | initializing | insufficient-data).
+ //
+ // instance-status.status - The status of the instance (ok | impaired | initializing
+ // | insufficient-data | not-applicable).
+ //
+ // system-status.reachability - Filters on system status where the name is
+ // reachability (passed | failed | initializing | insufficient-data).
+ //
+ // system-status.status - The system status of the instance (ok | impaired
+ // | initializing | insufficient-data | not-applicable).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // When true, includes the health status for all instances. When false, includes
+ // the health status for running instances only.
+ //
+ // Default: false
+ IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
+
+ // One or more instance IDs.
+ //
+ // Default: Describes all your instances.
+ //
+ // Constraints: Maximum 100 explicitly specified instance IDs.
+ InstanceIDs []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results of the initial request can be seen by sending another
+ // request with the returned NextToken value. This value can be between 5 and
+ // 1000; if MaxResults is given a value larger than 1000, only 1000 results
+ // are returned. You cannot specify this parameter and the instance IDs parameter
+ // in the same request.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `type:"string"`
+
+ metadataDescribeInstanceStatusInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeInstanceStatusInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeInstanceStatusInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstanceStatusInput) GoString() string {
+ return s.String()
+}
+
+type DescribeInstanceStatusOutput struct {
+ // One or more instance status descriptions.
+ InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ metadataDescribeInstanceStatusOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeInstanceStatusOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeInstanceStatusOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstanceStatusOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeInstancesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // architecture - The instance architecture (i386 | x86_64).
+ //
+ // availability-zone - The Availability Zone of the instance.
+ //
+ // block-device-mapping.attach-time - The attach time for an EBS volume mapped
+ // to the instance, for example, 2010-09-15T17:15:20.000Z.
+ //
+ // block-device-mapping.delete-on-termination - A Boolean that indicates
+ // whether the EBS volume is deleted on instance termination.
+ //
+ // block-device-mapping.device-name - The device name for the EBS volume
+ // (for example, /dev/sdh or xvdh).
+ //
+ // block-device-mapping.status - The status for the EBS volume (attaching
+ // | attached | detaching | detached).
+ //
+ // block-device-mapping.volume-id - The volume ID of the EBS volume.
+ //
+ // client-token - The idempotency token you provided when you launched the
+ // instance.
+ //
+ // dns-name - The public DNS name of the instance.
+ //
+ // group-id - The ID of the security group for the instance. EC2-Classic
+ // only.
+ //
+ // group-name - The name of the security group for the instance. EC2-Classic
+ // only.
+ //
+ // hypervisor - The hypervisor type of the instance (ovm | xen).
+ //
+ // iam-instance-profile.arn - The instance profile associated with the instance.
+ // Specified as an ARN.
+ //
+ // image-id - The ID of the image used to launch the instance.
+ //
+ // instance-id - The ID of the instance.
+ //
+ // instance-lifecycle - Indicates whether this is a Spot Instance (spot).
+ //
+ // instance-state-code - The state of the instance, as a 16-bit unsigned
+ // integer. The high byte is an opaque internal value and should be ignored.
+ // The low byte is set based on the state represented. The valid values are:
+ // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
+ // and 80 (stopped).
+ //
+ // instance-state-name - The state of the instance (pending | running | shutting-down
+ // | terminated | stopping | stopped).
+ //
+ // instance-type - The type of instance (for example, t2.micro).
+ //
+ // instance.group-id - The ID of the security group for the instance.
+ //
+ // instance.group-name - The name of the security group for the instance.
+ //
+ // ip-address - The public IP address of the instance.
+ //
+ // kernel-id - The kernel ID.
+ //
+ // key-name - The name of the key pair used when the instance was launched.
+ //
+ // launch-index - When launching multiple instances, this is the index for
+ // the instance in the launch group (for example, 0, 1, 2, and so on).
+ //
+ // launch-time - The time when the instance was launched.
+ //
+ // monitoring-state - Indicates whether monitoring is enabled for the instance
+ // (disabled | enabled).
+ //
+ // owner-id - The AWS account ID of the instance owner.
+ //
+ // placement-group-name - The name of the placement group for the instance.
+ //
+ // platform - The platform. Use windows if you have Windows instances; otherwise,
+ // leave blank.
+ //
+ // private-dns-name - The private DNS name of the instance.
+ //
+ // private-ip-address - The private IP address of the instance.
+ //
+ // product-code - The product code associated with the AMI used to launch
+ // the instance.
+ //
+ // product-code.type - The type of product code (devpay | marketplace).
+ //
+ // ramdisk-id - The RAM disk ID.
+ //
+ // reason - The reason for the current state of the instance (for example,
+ // shows "User Initiated [date]" when you stop or terminate the instance). Similar
+ // to the state-reason-code filter.
+ //
+ // requester-id - The ID of the entity that launched the instance on your
+ // behalf (for example, AWS Management Console, Auto Scaling, and so on).
+ //
+ // reservation-id - The ID of the instance's reservation. A reservation ID
+ // is created any time you launch an instance. A reservation ID has a one-to-one
+ // relationship with an instance launch request, but can be associated with
+ // more than one instance if you launch multiple instances using the same launch
+ // request. For example, if you launch one instance, you'll get one reservation
+ // ID. If you launch ten instances using the same launch request, you'll also
+ // get one reservation ID.
+ //
+ // root-device-name - The name of the root device for the instance (for example,
+ // /dev/sda1 or /dev/xvda).
+ //
+ // root-device-type - The type of root device that the instance uses (ebs
+ // | instance-store).
+ //
+ // source-dest-check - Indicates whether the instance performs source/destination
+ // checking. A value of true means that checking is enabled, and false means
+ // checking is disabled. The value must be false for the instance to perform
+ // network address translation (NAT) in your VPC.
+ //
+ // spot-instance-request-id - The ID of the Spot Instance request.
+ //
+ // state-reason-code - The reason code for the state change.
+ //
+ // state-reason-message - A message that describes the state change.
+ //
+ // subnet-id - The ID of the subnet for the instance.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource,
+ // where tag:key is the tag's key.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // tenancy - The tenancy of an instance (dedicated | default).
+ //
+ // virtualization-type - The virtualization type of the instance (paravirtual
+ // | hvm).
+ //
+ // vpc-id - The ID of the VPC that the instance is running in.
+ //
+ // network-interface.description - The description of the network interface.
+ //
+ // network-interface.subnet-id - The ID of the subnet for the network interface.
+ //
+ // network-interface.vpc-id - The ID of the VPC for the network interface.
+ //
+ // network-interface.network-interface.id - The ID of the network interface.
+ //
+ // network-interface.owner-id - The ID of the owner of the network interface.
+ //
+ // network-interface.availability-zone - The Availability Zone for the network
+ // interface.
+ //
+ // network-interface.requester-id - The requester ID for the network interface.
+ //
+ // network-interface.requester-managed - Indicates whether the network interface
+ // is being managed by AWS.
+ //
+ // network-interface.status - The status of the network interface (available)
+ // | in-use).
+ //
+ // network-interface.mac-address - The MAC address of the network interface.
+ //
+ // network-interface-private-dns-name - The private DNS name of the network
+ // interface.
+ //
+ // network-interface.source-dest-check - Whether the network interface performs
+ // source/destination checking. A value of true means checking is enabled, and
+ // false means checking is disabled. The value must be false for the network
+ // interface to perform network address translation (NAT) in your VPC.
+ //
+ // network-interface.group-id - The ID of a security group associated with
+ // the network interface.
+ //
+ // network-interface.group-name - The name of a security group associated
+ // with the network interface.
+ //
+ // network-interface.attachment.attachment-id - The ID of the interface attachment.
+ //
+ // network-interface.attachment.instance-id - The ID of the instance to which
+ // the network interface is attached.
+ //
+ // network-interface.attachment.instance-owner-id - The owner ID of the instance
+ // to which the network interface is attached.
+ //
+ // network-interface.addresses.private-ip-address - The private IP address
+ // associated with the network interface.
+ //
+ // network-interface.attachment.device-index - The device index to which
+ // the network interface is attached.
+ //
+ // network-interface.attachment.status - The status of the attachment (attaching
+ // | attached | detaching | detached).
+ //
+ // network-interface.attachment.attach-time - The time that the network interface
+ // was attached to an instance.
+ //
+ // network-interface.attachment.delete-on-termination - Specifies whether
+ // the attachment is deleted when an instance is terminated.
+ //
+ // network-interface.addresses.primary - Specifies whether the IP address
+ // of the network interface is the primary private IP address.
+ //
+ // network-interface.addresses.association.public-ip - The ID of the association
+ // of an Elastic IP address with a network interface.
+ //
+ // network-interface.addresses.association.ip-owner-id - The owner ID of
+ // the private IP address associated with the network interface.
+ //
+ // association.public-ip - The address of the Elastic IP address bound to
+ // the network interface.
+ //
+ // association.ip-owner-id - The owner of the Elastic IP address associated
+ // with the network interface.
+ //
+ // association.allocation-id - The allocation ID returned when you allocated
+ // the Elastic IP address for your network interface.
+ //
+ // association.association-id - The association ID returned when the network
+ // interface was associated with an IP address.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more instance IDs.
+ //
+ // Default: Describes all your instances.
+ InstanceIDs []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results of the initial request can be seen by sending another
+ // request with the returned NextToken value. This value can be between 5 and
+ // 1000; if MaxResults is given a value larger than 1000, only 1000 results
+ // are returned. You cannot specify this parameter and the instance IDs parameter
+ // in the same request.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token to request the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ metadataDescribeInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstancesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeInstancesOutput struct {
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // One or more reservations.
+ Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInstancesOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeInternetGatewaysInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // attachment.state - The current state of the attachment between the gateway
+ // and the VPC (available). Present only if a VPC is attached.
+ //
+ // attachment.vpc-id - The ID of an attached VPC.
+ //
+ // internet-gateway-id - The ID of the Internet gateway.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more Internet gateway IDs.
+ //
+ // Default: Describes all your Internet gateways.
+ InternetGatewayIDs []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
+
+ metadataDescribeInternetGatewaysInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeInternetGatewaysInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeInternetGatewaysInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInternetGatewaysInput) GoString() string {
+ return s.String()
+}
+
+type DescribeInternetGatewaysOutput struct {
+ // Information about one or more Internet gateways.
+ InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
+
+ metadataDescribeInternetGatewaysOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeInternetGatewaysOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeInternetGatewaysOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeInternetGatewaysOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeKeyPairsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // fingerprint - The fingerprint of the key pair.
+ //
+ // key-name - The name of the key pair.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more key pair names.
+ //
+ // Default: Describes all your key pairs.
+ KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
+
+ metadataDescribeKeyPairsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeKeyPairsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeKeyPairsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeKeyPairsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeKeyPairsOutput struct {
+ // Information about one or more key pairs.
+ KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
+
+ metadataDescribeKeyPairsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeKeyPairsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeKeyPairsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeKeyPairsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeMovingAddressesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // moving-status - The status of the Elastic IP address (MovingToVpc | RestoringToClassic).
+ Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results of the initial request can be seen by sending another
+ // request with the returned NextToken value. This value can be between 5 and
+ // 1000; if MaxResults is given a value outside of this range, an error is returned.
+ //
+ // Default: If no value is provided, the default is 1000.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token to use to retrieve the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // One or more Elastic IP addresses.
+ PublicIPs []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
+
+ metadataDescribeMovingAddressesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeMovingAddressesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeMovingAddressesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeMovingAddressesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeMovingAddressesOutput struct {
+ // The status for each Elastic IP address.
+ MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ metadataDescribeMovingAddressesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeMovingAddressesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeMovingAddressesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeMovingAddressesOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeNetworkACLsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // association.association-id - The ID of an association ID for the ACL.
+ //
+ // association.network-acl-id - The ID of the network ACL involved in the
+ // association.
+ //
+ // association.subnet-id - The ID of the subnet involved in the association.
+ //
+ // default - Indicates whether the ACL is the default network ACL for the
+ // VPC.
+ //
+ // entry.cidr - The CIDR range specified in the entry.
+ //
+ // entry.egress - Indicates whether the entry applies to egress traffic.
+ //
+ // entry.icmp.code - The ICMP code specified in the entry, if any.
+ //
+ // entry.icmp.type - The ICMP type specified in the entry, if any.
+ //
+ // entry.port-range.from - The start of the port range specified in the entry.
+ //
+ // entry.port-range.to - The end of the port range specified in the entry.
+ //
+ // entry.protocol - The protocol specified in the entry (tcp | udp | icmp
+ // or a protocol number).
+ //
+ // entry.rule-action - Allows or denies the matching traffic (allow | deny).
+ //
+ // entry.rule-number - The number of an entry (in other words, rule) in the
+ // ACL's set of entries.
+ //
+ // network-acl-id - The ID of the network ACL.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // vpc-id - The ID of the VPC for the network ACL.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more network ACL IDs.
+ //
+ // Default: Describes all your network ACLs.
+ NetworkACLIDs []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
+
+ metadataDescribeNetworkACLsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeNetworkACLsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkACLsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkACLsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeNetworkACLsOutput struct {
+ // Information about one or more network ACLs.
+ NetworkACLs []*NetworkACL `locationName:"networkAclSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeNetworkACLsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeNetworkACLsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkACLsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkACLsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeNetworkInterfaceAttributeInput struct {
+ // The attribute of the network interface.
+ Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+
+ metadataDescribeNetworkInterfaceAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeNetworkInterfaceAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfaceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
+ return s.String()
+}
+
+type DescribeNetworkInterfaceAttributeOutput struct {
+ // The attachment (if any) of the network interface.
+ Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
+
+ // The description of the network interface.
+ Description *AttributeValue `locationName:"description" type:"structure"`
+
+ // The security groups associated with the network interface.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string"`
+
+ // Indicates whether source/destination checking is enabled.
+ SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
+
+ metadataDescribeNetworkInterfaceAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeNetworkInterfaceAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfaceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeNetworkInterfacesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // addresses.private-ip-address - The private IP addresses associated with
+ // the network interface.
+ //
+ // addresses.primary - Whether the private IP address is the primary IP address
+ // associated with the network interface.
+ //
+ // addresses.association.public-ip - The association ID returned when the
+ // network interface was associated with the Elastic IP address.
+ //
+ // addresses.association.owner-id - The owner ID of the addresses associated
+ // with the network interface.
+ //
+ // association.association-id - The association ID returned when the network
+ // interface was associated with an IP address.
+ //
+ // association.allocation-id - The allocation ID returned when you allocated
+ // the Elastic IP address for your network interface.
+ //
+ // association.ip-owner-id - The owner of the Elastic IP address associated
+ // with the network interface.
+ //
+ // association.public-ip - The address of the Elastic IP address bound to
+ // the network interface.
+ //
+ // association.public-dns-name - The public DNS name for the network interface.
+ //
+ // attachment.attachment-id - The ID of the interface attachment.
+ //
+ // attachment.instance-id - The ID of the instance to which the network interface
+ // is attached.
+ //
+ // attachment.instance-owner-id - The owner ID of the instance to which the
+ // network interface is attached.
+ //
+ // attachment.device-index - The device index to which the network interface
+ // is attached.
+ //
+ // attachment.status - The status of the attachment (attaching | attached
+ // | detaching | detached).
+ //
+ // attachment.attach.time - The time that the network interface was attached
+ // to an instance.
+ //
+ // attachment.delete-on-termination - Indicates whether the attachment is
+ // deleted when an instance is terminated.
+ //
+ // availability-zone - The Availability Zone of the network interface.
+ //
+ // description - The description of the network interface.
+ //
+ // group-id - The ID of a security group associated with the network interface.
+ //
+ // group-name - The name of a security group associated with the network
+ // interface.
+ //
+ // mac-address - The MAC address of the network interface.
+ //
+ // network-interface-id - The ID of the network interface.
+ //
+ // owner-id - The AWS account ID of the network interface owner.
+ //
+ // private-ip-address - The private IP address or addresses of the network
+ // interface.
+ //
+ // private-dns-name - The private DNS name of the network interface.
+ //
+ // requester-id - The ID of the entity that launched the instance on your
+ // behalf (for example, AWS Management Console, Auto Scaling, and so on).
+ //
+ // requester-managed - Indicates whether the network interface is being managed
+ // by an AWS service (for example, AWS Management Console, Auto Scaling, and
+ // so on).
+ //
+ // source-desk-check - Indicates whether the network interface performs source/destination
+ // checking. A value of true means checking is enabled, and false means checking
+ // is disabled. The value must be false for the network interface to perform
+ // Network Address Translation (NAT) in your VPC.
+ //
+ // status - The status of the network interface. If the network interface
+ // is not attached to an instance, the status is available; if a network interface
+ // is attached to an instance the status is in-use.
+ //
+ // subnet-id - The ID of the subnet for the network interface.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // vpc-id - The ID of the VPC for the network interface.
+ Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
+
+ // One or more network interface IDs.
+ //
+ // Default: Describes all your network interfaces.
+ NetworkInterfaceIDs []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
+
+ metadataDescribeNetworkInterfacesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeNetworkInterfacesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfacesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfacesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeNetworkInterfacesOutput struct {
+ // Information about one or more network interfaces.
+ NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeNetworkInterfacesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeNetworkInterfacesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfacesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfacesOutput) GoString() string {
+ return s.String()
+}
+
+type DescribePlacementGroupsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // group-name - The name of the placement group.
+ //
+ // state - The state of the placement group (pending | available | deleting
+ // | deleted).
+ //
+ // strategy - The strategy of the placement group (cluster).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more placement group names.
+ //
+ // Default: Describes all your placement groups, or only those otherwise specified.
+ GroupNames []*string `locationName:"groupName" type:"list"`
+
+ metadataDescribePlacementGroupsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribePlacementGroupsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribePlacementGroupsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribePlacementGroupsInput) GoString() string {
+ return s.String()
+}
+
+type DescribePlacementGroupsOutput struct {
+ // One or more placement groups.
+ PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
+
+ metadataDescribePlacementGroupsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribePlacementGroupsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribePlacementGroupsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribePlacementGroupsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribePrefixListsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // prefix-list-id: The ID of a prefix list.
+ //
+ // prefix-list-name: The name of a prefix list.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of items to return for this request. The request returns
+ // a token that you can specify in a subsequent call to get the next set of
+ // results.
+ //
+ // Constraint: If the value specified is greater than 1000, we return only
+ // 1000 items.
+ MaxResults *int64 `type:"integer"`
+
+ // The token for the next set of items to return. (You received this token from
+ // a prior call.)
+ NextToken *string `type:"string"`
+
+ // One or more prefix list IDs.
+ PrefixListIDs []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
+
+ metadataDescribePrefixListsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribePrefixListsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribePrefixListsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribePrefixListsInput) GoString() string {
+ return s.String()
+}
+
+type DescribePrefixListsOutput struct {
+ // The token to use when requesting the next set of items. If there are no additional
+ // items to return, the string is empty.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // All available prefix lists.
+ PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
+
+ metadataDescribePrefixListsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribePrefixListsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribePrefixListsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribePrefixListsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeRegionsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).
+ //
+ // region-name - The name of the region (for example, us-east-1).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The names of one or more regions.
+ RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
+
+ metadataDescribeRegionsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeRegionsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeRegionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeRegionsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeRegionsOutput struct {
+ // Information about one or more regions.
+ Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
+
+ metadataDescribeRegionsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeRegionsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeRegionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeRegionsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeReservedInstancesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // availability-zone - The Availability Zone where the Reserved Instance
+ // can be used.
+ //
+ // duration - The duration of the Reserved Instance (one year or three years),
+ // in seconds (31536000 | 94608000).
+ //
+ // end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
+ //
+ // fixed-price - The purchase price of the Reserved Instance (for example,
+ // 9800.0).
+ //
+ // instance-type - The instance type on which the Reserved Instance can be
+ // used.
+ //
+ // product-description - The Reserved Instance product platform description.
+ // Instances that include (Amazon VPC) in the product platform description will
+ // only be displayed to EC2-Classic account holders and are for use with Amazon
+ // VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon
+ // VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) |
+ // Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows
+ // with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows
+ // with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows
+ // with SQL Server Enterprise (Amazon VPC)).
+ //
+ // reserved-instances-id - The ID of the Reserved Instance.
+ //
+ // start - The time at which the Reserved Instance purchase request was placed
+ // (for example, 2014-08-07T11:54:42.000Z).
+ //
+ // state - The state of the Reserved Instance (payment-pending | active |
+ // payment-failed | retired).
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // usage-price - The usage price of the Reserved Instance, per hour (for
+ // example, 0.84).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The Reserved Instance offering type. If you are using tools that predate
+ // the 2011-11-01 API version, you only have access to the Medium Utilization
+ // Reserved Instance offering type.
+ OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
+
+ // One or more Reserved Instance IDs.
+ //
+ // Default: Describes all your Reserved Instances, or only those otherwise
+ // specified.
+ ReservedInstancesIDs []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
+
+ metadataDescribeReservedInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeReservedInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeReservedInstancesListingsInput struct {
+ // One or more filters.
+ //
+ // reserved-instances-id - The ID of the Reserved Instances.
+ //
+ // reserved-instances-listing-id - The ID of the Reserved Instances listing.
+ //
+ // status - The status of the Reserved Instance listing (pending | active
+ // | cancelled | closed).
+ //
+ // status-message - The reason for the status.
+ Filters []*Filter `locationName:"filters" locationNameList:"Filter" type:"list"`
+
+ // One or more Reserved Instance IDs.
+ ReservedInstancesID *string `locationName:"reservedInstancesId" type:"string"`
+
+ // One or more Reserved Instance Listing IDs.
+ ReservedInstancesListingID *string `locationName:"reservedInstancesListingId" type:"string"`
+
+ metadataDescribeReservedInstancesListingsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeReservedInstancesListingsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesListingsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesListingsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeReservedInstancesListingsOutput struct {
+ // Information about the Reserved Instance listing.
+ ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeReservedInstancesListingsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeReservedInstancesListingsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesListingsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesListingsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeReservedInstancesModificationsInput struct {
+ // One or more filters.
+ //
+ // client-token - The idempotency token for the modification request.
+ //
+ // create-date - The time when the modification request was created.
+ //
+ // effective-date - The time when the modification becomes effective.
+ //
+ // modification-result.reserved-instances-id - The ID for the Reserved Instances
+ // created as part of the modification request. This ID is only available when
+ // the status of the modification is fulfilled.
+ //
+ // modification-result.target-configuration.availability-zone - The Availability
+ // Zone for the new Reserved Instances.
+ //
+ // modification-result.target-configuration.instance-count - The number
+ // of new Reserved Instances.
+ //
+ // modification-result.target-configuration.instance-type - The instance
+ // type of the new Reserved Instances.
+ //
+ // modification-result.target-configuration.platform - The network platform
+ // of the new Reserved Instances (EC2-Classic | EC2-VPC).
+ //
+ // reserved-instances-id - The ID of the Reserved Instances modified.
+ //
+ // reserved-instances-modification-id - The ID of the modification request.
+ //
+ // status - The status of the Reserved Instances modification request (processing
+ // | fulfilled | failed).
+ //
+ // status-message - The reason for the status.
+ //
+ // update-date - The time when the modification request was last updated.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // IDs for the submitted modification request.
+ ReservedInstancesModificationIDs []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
+
+ metadataDescribeReservedInstancesModificationsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeReservedInstancesModificationsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesModificationsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesModificationsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeReservedInstancesModificationsOutput struct {
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The Reserved Instance modification information.
+ ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeReservedInstancesModificationsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeReservedInstancesModificationsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesModificationsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesModificationsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeReservedInstancesOfferingsInput struct {
+ // The Availability Zone in which the Reserved Instance can be used.
+ AvailabilityZone *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // availability-zone - The Availability Zone where the Reserved Instance
+ // can be used.
+ //
+ // duration - The duration of the Reserved Instance (for example, one year
+ // or three years), in seconds (31536000 | 94608000).
+ //
+ // fixed-price - The purchase price of the Reserved Instance (for example,
+ // 9800.0).
+ //
+ // instance-type - The instance type on which the Reserved Instance can be
+ // used.
+ //
+ // marketplace - Set to true to show only Reserved Instance Marketplace offerings.
+ // When this filter is not used, which is the default behavior, all offerings
+ // from AWS and Reserved Instance Marketplace are listed.
+ //
+ // product-description - The Reserved Instance product platform description.
+ // Instances that include (Amazon VPC) in the product platform description will
+ // only be displayed to EC2-Classic account holders and are for use with Amazon
+ // VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon
+ // VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) |
+ // Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows
+ // with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows
+ // with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows
+ // with SQL Server Enterprise (Amazon VPC))
+ //
+ // reserved-instances-offering-id - The Reserved Instances offering ID.
+ //
+ // usage-price - The usage price of the Reserved Instance, per hour (for
+ // example, 0.84).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // Include Marketplace offerings in the response.
+ IncludeMarketplace *bool `type:"boolean"`
+
+ // The tenancy of the Reserved Instance offering. A Reserved Instance with dedicated
+ // tenancy runs on single-tenant hardware and can only be launched within a
+ // VPC.
+ //
+ // Default: default
+ InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
+
+ // The instance type on which the Reserved Instance can be used. For more information,
+ // see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ InstanceType *string `type:"string" enum:"InstanceType"`
+
+ // The maximum duration (in seconds) to filter when searching for offerings.
+ //
+ // Default: 94608000 (3 years)
+ MaxDuration *int64 `type:"long"`
+
+ // The maximum number of instances to filter when searching for offerings.
+ //
+ // Default: 20
+ MaxInstanceCount *int64 `type:"integer"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results of the initial request can be seen by sending another
+ // request with the returned NextToken value. The maximum is 100.
+ //
+ // Default: 100
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The minimum duration (in seconds) to filter when searching for offerings.
+ //
+ // Default: 2592000 (1 month)
+ MinDuration *int64 `type:"long"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The Reserved Instance offering type. If you are using tools that predate
+ // the 2011-11-01 API version, you only have access to the Medium Utilization
+ // Reserved Instance offering type.
+ OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
+
+ // The Reserved Instance product platform description. Instances that include
+ // (Amazon VPC) in the description are for use with Amazon VPC.
+ ProductDescription *string `type:"string" enum:"RIProductDescription"`
+
+ // One or more Reserved Instances offering IDs.
+ ReservedInstancesOfferingIDs []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
+
+ metadataDescribeReservedInstancesOfferingsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeReservedInstancesOfferingsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesOfferingsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesOfferingsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeReservedInstancesOfferingsOutput struct {
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // A list of Reserved Instances offerings.
+ ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeReservedInstancesOfferingsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeReservedInstancesOfferingsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesOfferingsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeReservedInstancesOutput struct {
+ // A list of Reserved Instances.
+ ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeReservedInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeReservedInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeReservedInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeReservedInstancesOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeRouteTablesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // association.route-table-association-id - The ID of an association ID for
+ // the route table.
+ //
+ // association.route-table-id - The ID of the route table involved in the
+ // association.
+ //
+ // association.subnet-id - The ID of the subnet involved in the association.
+ //
+ // association.main - Indicates whether the route table is the main route
+ // table for the VPC.
+ //
+ // route-table-id - The ID of the route table.
+ //
+ // route.destination-cidr-block - The CIDR range specified in a route in
+ // the table.
+ //
+ // route.destination-prefix-list-id - The ID (prefix) of the AWS service
+ // specified in a route in the table.
+ //
+ // route.gateway-id - The ID of a gateway specified in a route in the table.
+ //
+ // route.instance-id - The ID of an instance specified in a route in the
+ // table.
+ //
+ // route.origin - Describes how the route was created. CreateRouteTable indicates
+ // that the route was automatically created when the route table was created;
+ // CreateRoute indicates that the route was manually added to the route table;
+ // EnableVgwRoutePropagation indicates that the route was propagated by route
+ // propagation.
+ //
+ // route.state - The state of a route in the route table (active | blackhole).
+ // The blackhole state indicates that the route's target isn't available (for
+ // example, the specified gateway isn't attached to the VPC, the specified NAT
+ // instance has been terminated, and so on).
+ //
+ // route.vpc-peering-connection-id - The ID of a VPC peering connection specified
+ // in a route in the table.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // vpc-id - The ID of the VPC for the route table.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more route table IDs.
+ //
+ // Default: Describes all your route tables.
+ RouteTableIDs []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
+
+ metadataDescribeRouteTablesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeRouteTablesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeRouteTablesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeRouteTablesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeRouteTablesOutput struct {
+ // Information about one or more route tables.
+ RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeRouteTablesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeRouteTablesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeRouteTablesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeRouteTablesOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeSecurityGroupsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // description - The description of the security group.
+ //
+ // egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
+ // to which the security group allows access.
+ //
+ // group-id - The ID of the security group.
+ //
+ // group-name - The name of the security group.
+ //
+ // ip-permission.cidr - A CIDR range that has been granted permission.
+ //
+ // ip-permission.from-port - The start of port range for the TCP and UDP
+ // protocols, or an ICMP type number.
+ //
+ // ip-permission.group-id - The ID of a security group that has been granted
+ // permission.
+ //
+ // ip-permission.group-name - The name of a security group that has been
+ // granted permission.
+ //
+ // ip-permission.protocol - The IP protocol for the permission (tcp | udp
+ // | icmp or a protocol number).
+ //
+ // ip-permission.to-port - The end of port range for the TCP and UDP protocols,
+ // or an ICMP code.
+ //
+ // ip-permission.user-id - The ID of an AWS account that has been granted
+ // permission.
+ //
+ // owner-id - The AWS account ID of the owner of the security group.
+ //
+ // tag-key - The key of a tag assigned to the security group.
+ //
+ // tag-value - The value of a tag assigned to the security group.
+ //
+ // vpc-id - The ID of the VPC specified when the security group was created.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more security group IDs. Required for security groups in a nondefault
+ // VPC.
+ //
+ // Default: Describes all your security groups.
+ GroupIDs []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
+
+ // [EC2-Classic and default VPC only] One or more security group names. You
+ // can specify either the security group name or the security group ID. For
+ // security groups in a nondefault VPC, use the group-name filter to describe
+ // security groups by name.
+ //
+ // Default: Describes all your security groups.
+ GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
+
+ metadataDescribeSecurityGroupsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSecurityGroupsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSecurityGroupsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSecurityGroupsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeSecurityGroupsOutput struct {
+ // Information about one or more security groups.
+ SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
+
+ metadataDescribeSecurityGroupsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSecurityGroupsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSecurityGroupsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSecurityGroupsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeSnapshotAttributeInput struct {
+ // The snapshot attribute you would like to view.
+ Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the EBS snapshot.
+ SnapshotID *string `locationName:"SnapshotId" type:"string" required:"true"`
+
+ metadataDescribeSnapshotAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSnapshotAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSnapshotAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSnapshotAttributeInput) GoString() string {
+ return s.String()
+}
+
+type DescribeSnapshotAttributeOutput struct {
+ // A list of permissions for creating volumes from the snapshot.
+ CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
+
+ // A list of product codes.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // The ID of the EBS snapshot.
+ SnapshotID *string `locationName:"snapshotId" type:"string"`
+
+ metadataDescribeSnapshotAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSnapshotAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSnapshotAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSnapshotAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeSnapshotsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // description - A description of the snapshot.
+ //
+ // owner-alias - The AWS account alias (for example, amazon) that owns the
+ // snapshot.
+ //
+ // owner-id - The ID of the AWS account that owns the snapshot.
+ //
+ // progress - The progress of the snapshot, as a percentage (for example,
+ // 80%).
+ //
+ // snapshot-id - The snapshot ID.
+ //
+ // start-time - The time stamp when the snapshot was initiated.
+ //
+ // status - The status of the snapshot (pending | completed | error).
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // volume-id - The ID of the volume the snapshot is for.
+ //
+ // volume-size - The size of the volume, in GiB.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of snapshot results returned by DescribeSnapshots in paginated
+ // output. When this parameter is used, DescribeSnapshots only returns MaxResults
+ // results in a single page along with a NextToken response element. The remaining
+ // results of the initial request can be seen by sending another DescribeSnapshots
+ // request with the returned NextToken value. This value can be between 5 and
+ // 1000; if MaxResults is given a value larger than 1000, only 1000 results
+ // are returned. If this parameter is not used, then DescribeSnapshots returns
+ // all results. You cannot specify this parameter and the snapshot IDs parameter
+ // in the same request.
+ MaxResults *int64 `type:"integer"`
+
+ // The NextToken value returned from a previous paginated DescribeSnapshots
+ // request where MaxResults was used and the results exceeded the value of that
+ // parameter. Pagination continues from the end of the previous results that
+ // returned the NextToken value. This value is null when there are no more results
+ // to return.
+ NextToken *string `type:"string"`
+
+ // Returns the snapshots owned by the specified owner. Multiple owners can be
+ // specified.
+ OwnerIDs []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
+
+ // One or more AWS accounts IDs that can create volumes from the snapshot.
+ RestorableByUserIDs []*string `locationName:"RestorableBy" type:"list"`
+
+ // One or more snapshot IDs.
+ //
+ // Default: Describes snapshots for which you have launch permissions.
+ SnapshotIDs []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
+
+ metadataDescribeSnapshotsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSnapshotsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSnapshotsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSnapshotsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeSnapshotsOutput struct {
+ // The NextToken value to include in a future DescribeSnapshots request. When
+ // the results of a DescribeSnapshots request exceed MaxResults, this value
+ // can be used to retrieve the next page of results. This value is null when
+ // there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Information about the snapshots.
+ Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeSnapshotsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSnapshotsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSnapshotsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSnapshotsOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DescribeSpotDatafeedSubscription.
+type DescribeSpotDatafeedSubscriptionInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ metadataDescribeSpotDatafeedSubscriptionInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotDatafeedSubscriptionInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotDatafeedSubscriptionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
+ return s.String()
+}
+
+// Contains the output of DescribeSpotDatafeedSubscription.
+type DescribeSpotDatafeedSubscriptionOutput struct {
+ // The Spot Instance data feed subscription.
+ SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
+
+ metadataDescribeSpotDatafeedSubscriptionOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotDatafeedSubscriptionOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DescribeSpotFleetInstances.
+type DescribeSpotFleetInstancesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The maximum number of results to return in a single call. Specify a value
+ // between 1 and 1000. The default value is 1000. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token for the next set of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The ID of the Spot fleet request.
+ SpotFleetRequestID *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+
+ metadataDescribeSpotFleetInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotFleetInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Contains the output of DescribeSpotFleetInstances.
+type DescribeSpotFleetInstancesOutput struct {
+ // The running instances. Note that this list is refreshed periodically and
+ // might be out of date.
+ ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"`
+
+ // The token required to retrieve the next set of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The ID of the Spot fleet request.
+ SpotFleetRequestID *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+
+ metadataDescribeSpotFleetInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotFleetInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DescribeSpotFleetRequestHistory.
+type DescribeSpotFleetRequestHistoryInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The type of events to describe. By default, all events are described.
+ EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
+
+ // The maximum number of results to return in a single call. Specify a value
+ // between 1 and 1000. The default value is 1000. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token for the next set of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The ID of the Spot fleet request.
+ SpotFleetRequestID *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+
+ // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
+
+ metadataDescribeSpotFleetRequestHistoryInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotFleetRequestHistoryInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetRequestHistoryInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
+ return s.String()
+}
+
+// Contains the output of DescribeSpotFleetRequestHistory.
+type DescribeSpotFleetRequestHistoryOutput struct {
+ // Information about the events in the history of the Spot fleet request.
+ HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"`
+
+ // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ // All records up to this time were retrieved.
+ //
+ // If nextToken indicates that there are more results, this value is not present.
+ LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
+
+ // The token required to retrieve the next set of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The ID of the Spot fleet request.
+ SpotFleetRequestID *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+
+ // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
+
+ metadataDescribeSpotFleetRequestHistoryOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotFleetRequestHistoryOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetRequestHistoryOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DescribeSpotFleetRequests.
+type DescribeSpotFleetRequestsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The maximum number of results to return in a single call. Specify a value
+ // between 1 and 1000. The default value is 1000. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token for the next set of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The IDs of the Spot fleet requests.
+ SpotFleetRequestIDs []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
+
+ metadataDescribeSpotFleetRequestsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotFleetRequestsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetRequestsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetRequestsInput) GoString() string {
+ return s.String()
+}
+
+// Contains the output of DescribeSpotFleetRequests.
+type DescribeSpotFleetRequestsOutput struct {
+ // The token required to retrieve the next set of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Information about the configuration of your Spot fleet.
+ SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"`
+
+ metadataDescribeSpotFleetRequestsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotFleetRequestsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotFleetRequestsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotFleetRequestsOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DescribeSpotInstanceRequests.
+type DescribeSpotInstanceRequestsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // availability-zone-group - The Availability Zone group.
+ //
+ // create-time - The time stamp when the Spot Instance request was created.
+ //
+ // fault-code - The fault code related to the request.
+ //
+ // fault-message - The fault message related to the request.
+ //
+ // instance-id - The ID of the instance that fulfilled the request.
+ //
+ // launch-group - The Spot Instance launch group.
+ //
+ // launch.block-device-mapping.delete-on-termination - Indicates whether
+ // the Amazon EBS volume is deleted on instance termination.
+ //
+ // launch.block-device-mapping.device-name - The device name for the Amazon
+ // EBS volume (for example, /dev/sdh).
+ //
+ // launch.block-device-mapping.snapshot-id - The ID of the snapshot used
+ // for the Amazon EBS volume.
+ //
+ // launch.block-device-mapping.volume-size - The size of the Amazon EBS volume,
+ // in GiB.
+ //
+ // launch.block-device-mapping.volume-type - The type of the Amazon EBS volume
+ // (gp2 | standard | io1).
+ //
+ // launch.group-id - The security group for the instance.
+ //
+ // launch.image-id - The ID of the AMI.
+ //
+ // launch.instance-type - The type of instance (for example, m1.small).
+ //
+ // launch.kernel-id - The kernel ID.
+ //
+ // launch.key-name - The name of the key pair the instance launched with.
+ //
+ // launch.monitoring-enabled - Whether monitoring is enabled for the Spot
+ // Instance.
+ //
+ // launch.ramdisk-id - The RAM disk ID.
+ //
+ // network-interface.network-interface-id - The ID of the network interface.
+ //
+ // network-interface.device-index - The index of the device for the network
+ // interface attachment on the instance.
+ //
+ // network-interface.subnet-id - The ID of the subnet for the instance.
+ //
+ // network-interface.description - A description of the network interface.
+ //
+ // network-interface.private-ip-address - The primary private IP address
+ // of the network interface.
+ //
+ // network-interface.delete-on-termination - Indicates whether the network
+ // interface is deleted when the instance is terminated.
+ //
+ // network-interface.group-id - The ID of the security group associated with
+ // the network interface.
+ //
+ // network-interface.group-name - The name of the security group associated
+ // with the network interface.
+ //
+ // network-interface.addresses.primary - Indicates whether the IP address
+ // is the primary private IP address.
+ //
+ // product-description - The product description associated with the instance
+ // (Linux/UNIX | Windows).
+ //
+ // spot-instance-request-id - The Spot Instance request ID.
+ //
+ // spot-price - The maximum hourly price for any Spot Instance launched to
+ // fulfill the request.
+ //
+ // state - The state of the Spot Instance request (open | active | closed
+ // | cancelled | failed). Spot bid status information can help you track your
+ // Amazon EC2 Spot Instance requests. For more information, see Spot Bid Status
+ // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ //
+ // status-code - The short code describing the most recent evaluation of
+ // your Spot Instance request.
+ //
+ // status-message - The message explaining the status of the Spot Instance
+ // request.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // type - The type of Spot Instance request (one-time | persistent).
+ //
+ // launched-availability-zone - The Availability Zone in which the bid is
+ // launched.
+ //
+ // valid-from - The start date of the request.
+ //
+ // valid-until - The end date of the request.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more Spot Instance request IDs.
+ SpotInstanceRequestIDs []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
+
+ metadataDescribeSpotInstanceRequestsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotInstanceRequestsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotInstanceRequestsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotInstanceRequestsInput) GoString() string {
+ return s.String()
+}
+
+// Contains the output of DescribeSpotInstanceRequests.
+type DescribeSpotInstanceRequestsOutput struct {
+ // One or more Spot Instance requests.
+ SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeSpotInstanceRequestsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotInstanceRequestsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotInstanceRequestsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotInstanceRequestsOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for DescribeSpotPriceHistory.
+type DescribeSpotPriceHistoryInput struct {
+ // Filters the results by the specified Availability Zone.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The date and time, up to the current date, from which to stop retrieving
+ // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // One or more filters.
+ //
+ // availability-zone - The Availability Zone for which prices should be returned.
+ //
+ // instance-type - The type of instance (for example, m1.small).
+ //
+ // product-description - The product description for the Spot Price (Linux/UNIX
+ // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon VPC)
+ // | Windows (Amazon VPC)).
+ //
+ // spot-price - The Spot Price. The value must match exactly (or use wildcards;
+ // greater than or less than comparison is not supported).
+ //
+ // timestamp - The timestamp of the Spot Price history, in UTC format (for
+ // example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
+ // than or less than comparison is not supported.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // Filters the results by the specified instance types.
+ InstanceTypes []*string `locationName:"InstanceType" type:"list"`
+
+ // The maximum number of results to return in a single call. Specify a value
+ // between 1 and 1000. The default value is 1000. To retrieve the remaining
+ // results, make another call with the returned NextToken value.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token for the next set of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Filters the results by the specified basic product descriptions.
+ ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
+
+ // The date and time, up to the past 90 days, from which to start retrieving
+ // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataDescribeSpotPriceHistoryInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotPriceHistoryInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotPriceHistoryInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotPriceHistoryInput) GoString() string {
+ return s.String()
+}
+
+// Contains the output of DescribeSpotPriceHistory.
+type DescribeSpotPriceHistoryOutput struct {
+ // The token required to retrieve the next set of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // The historical Spot Prices.
+ SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
+
+ metadataDescribeSpotPriceHistoryOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSpotPriceHistoryOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSpotPriceHistoryOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSpotPriceHistoryOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeSubnetsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // availabilityZone - The Availability Zone for the subnet. You can also
+ // use availability-zone as the filter name.
+ //
+ // available-ip-address-count - The number of IP addresses in the subnet
+ // that are available.
+ //
+ // cidrBlock - The CIDR block of the subnet. The CIDR block you specify must
+ // exactly match the subnet's CIDR block for information to be returned for
+ // the subnet. You can also use cidr or cidr-block as the filter names.
+ //
+ // defaultForAz - Indicates whether this is the default subnet for the Availability
+ // Zone. You can also use default-for-az as the filter name.
+ //
+ // state - The state of the subnet (pending | available).
+ //
+ // subnet-id - The ID of the subnet.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // vpc-id - The ID of the VPC for the subnet.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more subnet IDs.
+ //
+ // Default: Describes all your subnets.
+ SubnetIDs []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
+
+ metadataDescribeSubnetsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSubnetsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSubnetsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSubnetsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeSubnetsOutput struct {
+ // Information about one or more subnets.
+ Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeSubnetsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeSubnetsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeSubnetsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeSubnetsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeTagsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // key - The tag key.
+ //
+ // resource-id - The resource ID.
+ //
+ // resource-type - The resource type (customer-gateway | dhcp-options | image
+ // | instance | internet-gateway | network-acl | network-interface | reserved-instances
+ // | route-table | security-group | snapshot | spot-instances-request | subnet
+ // | volume | vpc | vpn-connection | vpn-gateway).
+ //
+ // value - The tag value.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return for the request in a single page.
+ // The remaining results of the initial request can be seen by sending another
+ // request with the returned NextToken value. This value can be between 5 and
+ // 1000; if MaxResults is given a value larger than 1000, only 1000 results
+ // are returned.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ metadataDescribeTagsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeTagsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeTagsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeTagsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeTagsOutput struct {
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return..
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // A list of tags.
+ Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeTagsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeTagsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeTagsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeTagsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCAttributeInput struct {
+ // The VPC attribute.
+ Attribute *string `type:"string" enum:"VpcAttributeName"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"VpcId" type:"string" required:"true"`
+
+ metadataDescribeVPCAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCAttributeInput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCAttributeOutput struct {
+ // Indicates whether the instances launched in the VPC get DNS hostnames. If
+ // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
+ // they do not.
+ EnableDNSHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
+
+ // Indicates whether DNS resolution is enabled for the VPC. If this attribute
+ // is true, the Amazon DNS server resolves DNS hostnames for your instances
+ // to their corresponding IP addresses; otherwise, it does not.
+ EnableDNSSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataDescribeVPCAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCClassicLinkInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // is-classic-link-enabled - Whether the VPC is enabled for ClassicLink (true
+ // | false).
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more VPCs for which you want to describe the ClassicLink status.
+ VPCIDs []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
+
+ metadataDescribeVPCClassicLinkInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCClassicLinkInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCClassicLinkInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCClassicLinkInput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCClassicLinkOutput struct {
+ // The ClassicLink status of one or more VPCs.
+ VPCs []*VPCClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeVPCClassicLinkOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCClassicLinkOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCClassicLinkOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCClassicLinkOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCEndpointServicesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The maximum number of items to return for this request. The request returns
+ // a token that you can specify in a subsequent call to get the next set of
+ // results.
+ //
+ // Constraint: If the value is greater than 1000, we return only 1000 items.
+ MaxResults *int64 `type:"integer"`
+
+ // The token for the next set of items to return. (You received this token from
+ // a prior call.)
+ NextToken *string `type:"string"`
+
+ metadataDescribeVPCEndpointServicesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCEndpointServicesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCEndpointServicesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCEndpointServicesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCEndpointServicesOutput struct {
+ // The token to use when requesting the next set of items. If there are no additional
+ // items to return, the string is empty.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // A list of supported AWS services.
+ ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeVPCEndpointServicesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCEndpointServicesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCEndpointServicesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCEndpointServicesOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCEndpointsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // service-name: The name of the AWS service.
+ //
+ // vpc-id: The ID of the VPC in which the endpoint resides.
+ //
+ // vpc-endpoint-id: The ID of the endpoint.
+ //
+ // vpc-endpoint-state: The state of the endpoint. (pending | available |
+ // deleting | deleted)
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of items to return for this request. The request returns
+ // a token that you can specify in a subsequent call to get the next set of
+ // results.
+ //
+ // Constraint: If the value is greater than 1000, we return only 1000 items.
+ MaxResults *int64 `type:"integer"`
+
+ // The token for the next set of items to return. (You received this token from
+ // a prior call.)
+ NextToken *string `type:"string"`
+
+ // One or more endpoint IDs.
+ VPCEndpointIDs []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
+
+ metadataDescribeVPCEndpointsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCEndpointsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCEndpointsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCEndpointsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCEndpointsOutput struct {
+ // The token to use when requesting the next set of items. If there are no additional
+ // items to return, the string is empty.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Information about the endpoints.
+ VPCEndpoints []*VPCEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeVPCEndpointsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCEndpointsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCEndpointsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCEndpointsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCPeeringConnectionsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // accepter-vpc-info.cidr-block - The CIDR block of the peer VPC.
+ //
+ // accepter-vpc-info.owner-id - The AWS account ID of the owner of the peer
+ // VPC.
+ //
+ // accepter-vpc-info.vpc-id - The ID of the peer VPC.
+ //
+ // expiration-time - The expiration date and time for the VPC peering connection.
+ //
+ // requester-vpc-info.cidr-block - The CIDR block of the requester's VPC.
+ //
+ // requester-vpc-info.owner-id - The AWS account ID of the owner of the requester
+ // VPC.
+ //
+ // requester-vpc-info.vpc-id - The ID of the requester VPC.
+ //
+ // status-code - The status of the VPC peering connection (pending-acceptance
+ // | failed | expired | provisioning | active | deleted | rejected).
+ //
+ // status-message - A message that provides more information about the status
+ // of the VPC peering connection, if applicable.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // vpc-peering-connection-id - The ID of the VPC peering connection.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more VPC peering connection IDs.
+ //
+ // Default: Describes all your VPC peering connections.
+ VPCPeeringConnectionIDs []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
+
+ metadataDescribeVPCPeeringConnectionsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCPeeringConnectionsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCPeeringConnectionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCPeeringConnectionsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCPeeringConnectionsOutput struct {
+ // Information about the VPC peering connections.
+ VPCPeeringConnections []*VPCPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeVPCPeeringConnectionsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCPeeringConnectionsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCPeeringConnectionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCPeeringConnectionsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // cidr - The CIDR block of the VPC. The CIDR block you specify must exactly
+ // match the VPC's CIDR block for information to be returned for the VPC. Must
+ // contain the slash followed by one or two digits (for example, /28).
+ //
+ // dhcp-options-id - The ID of a set of DHCP options.
+ //
+ // isDefault - Indicates whether the VPC is the default VPC.
+ //
+ // state - The state of the VPC (pending | available).
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // vpc-id - The ID of the VPC.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more VPC IDs.
+ //
+ // Default: Describes all your VPCs.
+ VPCIDs []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
+
+ metadataDescribeVPCsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPCsOutput struct {
+ // Information about one or more VPCs.
+ VPCs []*VPC `locationName:"vpcSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeVPCsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPCsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPCsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPCsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPNConnectionsInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // customer-gateway-configuration - The configuration information for the
+ // customer gateway.
+ //
+ // customer-gateway-id - The ID of a customer gateway associated with the
+ // VPN connection.
+ //
+ // state - The state of the VPN connection (pending | available | deleting
+ // | deleted).
+ //
+ // option.static-routes-only - Indicates whether the connection has static
+ // routes only. Used for devices that do not support Border Gateway Protocol
+ // (BGP).
+ //
+ // route.destination-cidr-block - The destination CIDR block. This corresponds
+ // to the subnet used in a customer data center.
+ //
+ // bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
+ // device.
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // type - The type of VPN connection. Currently the only supported type is
+ // ipsec.1.
+ //
+ // vpn-connection-id - The ID of the VPN connection.
+ //
+ // vpn-gateway-id - The ID of a virtual private gateway associated with the
+ // VPN connection.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more VPN connection IDs.
+ //
+ // Default: Describes your VPN connections.
+ VPNConnectionIDs []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
+
+ metadataDescribeVPNConnectionsInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPNConnectionsInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPNConnectionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPNConnectionsInput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPNConnectionsOutput struct {
+ // Information about one or more VPN connections.
+ VPNConnections []*VPNConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeVPNConnectionsOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPNConnectionsOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPNConnectionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPNConnectionsOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPNGatewaysInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // attachment.state - The current state of the attachment between the gateway
+ // and the VPC (attaching | attached | detaching | detached).
+ //
+ // attachment.vpc-id - The ID of an attached VPC.
+ //
+ // availability-zone - The Availability Zone for the virtual private gateway.
+ //
+ // state - The state of the virtual private gateway (pending | available
+ // | deleting | deleted).
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // type - The type of virtual private gateway. Currently the only supported
+ // type is ipsec.1.
+ //
+ // vpn-gateway-id - The ID of the virtual private gateway.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more virtual private gateway IDs.
+ //
+ // Default: Describes all your virtual private gateways.
+ VPNGatewayIDs []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
+
+ metadataDescribeVPNGatewaysInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPNGatewaysInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPNGatewaysInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPNGatewaysInput) GoString() string {
+ return s.String()
+}
+
+type DescribeVPNGatewaysOutput struct {
+ // Information about one or more virtual private gateways.
+ VPNGateways []*VPNGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
+
+ metadataDescribeVPNGatewaysOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVPNGatewaysOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVPNGatewaysOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVPNGatewaysOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeVolumeAttributeInput struct {
+ // The instance attribute.
+ Attribute *string `type:"string" enum:"VolumeAttributeName"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the volume.
+ VolumeID *string `locationName:"VolumeId" type:"string" required:"true"`
+
+ metadataDescribeVolumeAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVolumeAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVolumeAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumeAttributeInput) GoString() string {
+ return s.String()
+}
+
+type DescribeVolumeAttributeOutput struct {
+ // The state of autoEnableIO attribute.
+ AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
+
+ // A list of product codes.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // The ID of the volume.
+ VolumeID *string `locationName:"volumeId" type:"string"`
+
+ metadataDescribeVolumeAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVolumeAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVolumeAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumeAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeVolumeStatusInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // action.code - The action code for the event (for example, enable-volume-io).
+ //
+ // action.description - A description of the action.
+ //
+ // action.event-id - The event ID associated with the action.
+ //
+ // availability-zone - The Availability Zone of the instance.
+ //
+ // event.description - A description of the event.
+ //
+ // event.event-id - The event ID.
+ //
+ // event.event-type - The event type (for io-enabled: passed | failed; for
+ // io-performance: io-performance:degraded | io-performance:severely-degraded
+ // | io-performance:stalled).
+ //
+ // event.not-after - The latest end time for the event.
+ //
+ // event.not-before - The earliest start time for the event.
+ //
+ // volume-status.details-name - The cause for volume-status.status (io-enabled
+ // | io-performance).
+ //
+ // volume-status.details-status - The status of volume-status.details-name
+ // (for io-enabled: passed | failed; for io-performance: normal | degraded |
+ // severely-degraded | stalled).
+ //
+ // volume-status.status - The status of the volume (ok | impaired | warning
+ // | insufficient-data).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of volume results returned by DescribeVolumeStatus in
+ // paginated output. When this parameter is used, the request only returns MaxResults
+ // results in a single page along with a NextToken response element. The remaining
+ // results of the initial request can be seen by sending another request with
+ // the returned NextToken value. This value can be between 5 and 1000; if MaxResults
+ // is given a value larger than 1000, only 1000 results are returned. If this
+ // parameter is not used, then DescribeVolumeStatus returns all results. You
+ // cannot specify this parameter and the volume IDs parameter in the same request.
+ MaxResults *int64 `type:"integer"`
+
+ // The NextToken value to include in a future DescribeVolumeStatus request.
+ // When the results of the request exceed MaxResults, this value can be used
+ // to retrieve the next page of results. This value is null when there are no
+ // more results to return.
+ NextToken *string `type:"string"`
+
+ // One or more volume IDs.
+ //
+ // Default: Describes all your volumes.
+ VolumeIDs []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
+
+ metadataDescribeVolumeStatusInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVolumeStatusInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVolumeStatusInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumeStatusInput) GoString() string {
+ return s.String()
+}
+
+type DescribeVolumeStatusOutput struct {
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // A list of volumes.
+ VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeVolumeStatusOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVolumeStatusOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVolumeStatusOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumeStatusOutput) GoString() string {
+ return s.String()
+}
+
+type DescribeVolumesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more filters.
+ //
+ // attachment.attach-time - The time stamp when the attachment initiated.
+ //
+ // attachment.delete-on-termination - Whether the volume is deleted on instance
+ // termination.
+ //
+ // attachment.device - The device name that is exposed to the instance (for
+ // example, /dev/sda1).
+ //
+ // attachment.instance-id - The ID of the instance the volume is attached
+ // to.
+ //
+ // attachment.status - The attachment state (attaching | attached | detaching
+ // | detached).
+ //
+ // availability-zone - The Availability Zone in which the volume was created.
+ //
+ // create-time - The time stamp when the volume was created.
+ //
+ // encrypted - The encryption status of the volume.
+ //
+ // size - The size of the volume, in GiB.
+ //
+ // snapshot-id - The snapshot from which the volume was created.
+ //
+ // status - The status of the volume (creating | available | in-use | deleting
+ // | deleted | error).
+ //
+ // tag:key=value - The key/value combination of a tag assigned to the resource.
+ //
+ // tag-key - The key of a tag assigned to the resource. This filter is independent
+ // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
+ // and the filter "tag-value=X", you get any resources assigned both the tag
+ // key Purpose (regardless of what the tag's value is), and the tag value X
+ // (regardless of what the tag's key is). If you want to list only resources
+ // where Purpose is X, see the tag:key=value filter.
+ //
+ // tag-value - The value of a tag assigned to the resource. This filter is
+ // independent of the tag-key filter.
+ //
+ // volume-id - The volume ID.
+ //
+ // volume-type - The Amazon EBS volume type. This can be gp2 for General
+ // Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, or standard
+ // for Magnetic volumes.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of volume results returned by DescribeVolumes in paginated
+ // output. When this parameter is used, DescribeVolumes only returns MaxResults
+ // results in a single page along with a NextToken response element. The remaining
+ // results of the initial request can be seen by sending another DescribeVolumes
+ // request with the returned NextToken value. This value can be between 5 and
+ // 1000; if MaxResults is given a value larger than 1000, only 1000 results
+ // are returned. If this parameter is not used, then DescribeVolumes returns
+ // all results. You cannot specify this parameter and the volume IDs parameter
+ // in the same request.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The NextToken value returned from a previous paginated DescribeVolumes request
+ // where MaxResults was used and the results exceeded the value of that parameter.
+ // Pagination continues from the end of the previous results that returned the
+ // NextToken value. This value is null when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // One or more volume IDs.
+ VolumeIDs []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
+
+ metadataDescribeVolumesInput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVolumesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVolumesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumesInput) GoString() string {
+ return s.String()
+}
+
+type DescribeVolumesOutput struct {
+ // The NextToken value to include in a future DescribeVolumes request. When
+ // the results of a DescribeVolumes request exceed MaxResults, this value can
+ // be used to retrieve the next page of results. This value is null when there
+ // are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+
+ // Information about the volumes.
+ Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
+
+ metadataDescribeVolumesOutput `json:"-" xml:"-"`
+}
+
+type metadataDescribeVolumesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DescribeVolumesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeVolumesOutput) GoString() string {
+ return s.String()
+}
+
+type DetachClassicLinkVPCInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the instance to unlink from the VPC.
+ InstanceID *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // The ID of the VPC to which the instance is linked.
+ VPCID *string `locationName:"vpcId" type:"string" required:"true"`
+
+ metadataDetachClassicLinkVPCInput `json:"-" xml:"-"`
+}
+
+type metadataDetachClassicLinkVPCInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachClassicLinkVPCInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachClassicLinkVPCInput) GoString() string {
+ return s.String()
+}
+
+type DetachClassicLinkVPCOutput struct {
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+
+ metadataDetachClassicLinkVPCOutput `json:"-" xml:"-"`
+}
+
+type metadataDetachClassicLinkVPCOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachClassicLinkVPCOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachClassicLinkVPCOutput) GoString() string {
+ return s.String()
+}
+
+type DetachInternetGatewayInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the Internet gateway.
+ InternetGatewayID *string `locationName:"internetGatewayId" type:"string" required:"true"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string" required:"true"`
+
+ metadataDetachInternetGatewayInput `json:"-" xml:"-"`
+}
+
+type metadataDetachInternetGatewayInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachInternetGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachInternetGatewayInput) GoString() string {
+ return s.String()
+}
+
+type DetachInternetGatewayOutput struct {
+ metadataDetachInternetGatewayOutput `json:"-" xml:"-"`
+}
+
+type metadataDetachInternetGatewayOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachInternetGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachInternetGatewayOutput) GoString() string {
+ return s.String()
+}
+
+type DetachNetworkInterfaceInput struct {
+ // The ID of the attachment.
+ AttachmentID *string `locationName:"attachmentId" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Specifies whether to force a detachment.
+ Force *bool `locationName:"force" type:"boolean"`
+
+ metadataDetachNetworkInterfaceInput `json:"-" xml:"-"`
+}
+
+type metadataDetachNetworkInterfaceInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachNetworkInterfaceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachNetworkInterfaceInput) GoString() string {
+ return s.String()
+}
+
+type DetachNetworkInterfaceOutput struct {
+ metadataDetachNetworkInterfaceOutput `json:"-" xml:"-"`
+}
+
+type metadataDetachNetworkInterfaceOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachNetworkInterfaceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachNetworkInterfaceOutput) GoString() string {
+ return s.String()
+}
+
+type DetachVPNGatewayInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"VpcId" type:"string" required:"true"`
+
+ // The ID of the virtual private gateway.
+ VPNGatewayID *string `locationName:"VpnGatewayId" type:"string" required:"true"`
+
+ metadataDetachVPNGatewayInput `json:"-" xml:"-"`
+}
+
+type metadataDetachVPNGatewayInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachVPNGatewayInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachVPNGatewayInput) GoString() string {
+ return s.String()
+}
+
+type DetachVPNGatewayOutput struct {
+ metadataDetachVPNGatewayOutput `json:"-" xml:"-"`
+}
+
+type metadataDetachVPNGatewayOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachVPNGatewayOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachVPNGatewayOutput) GoString() string {
+ return s.String()
+}
+
+type DetachVolumeInput struct {
+ // The device name.
+ Device *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Forces detachment if the previous detachment attempt did not occur cleanly
+ // (for example, logging into an instance, unmounting the volume, and detaching
+ // normally). This option can lead to data loss or a corrupted file system.
+ // Use this option only as a last resort to detach a volume from a failed instance.
+ // The instance won't have an opportunity to flush file system caches or file
+ // system metadata. If you use this option, you must perform file system check
+ // and repair procedures.
+ Force *bool `type:"boolean"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"InstanceId" type:"string"`
+
+ // The ID of the volume.
+ VolumeID *string `locationName:"VolumeId" type:"string" required:"true"`
+
+ metadataDetachVolumeInput `json:"-" xml:"-"`
+}
+
+type metadataDetachVolumeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DetachVolumeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DetachVolumeInput) GoString() string {
+ return s.String()
+}
+
+type DisableVGWRoutePropagationInput struct {
+ // The ID of the virtual private gateway.
+ GatewayID *string `locationName:"GatewayId" type:"string" required:"true"`
+
+ // The ID of the route table.
+ RouteTableID *string `locationName:"RouteTableId" type:"string" required:"true"`
+
+ metadataDisableVGWRoutePropagationInput `json:"-" xml:"-"`
+}
+
+type metadataDisableVGWRoutePropagationInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DisableVGWRoutePropagationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisableVGWRoutePropagationInput) GoString() string {
+ return s.String()
+}
+
+type DisableVGWRoutePropagationOutput struct {
+ metadataDisableVGWRoutePropagationOutput `json:"-" xml:"-"`
+}
+
+type metadataDisableVGWRoutePropagationOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DisableVGWRoutePropagationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisableVGWRoutePropagationOutput) GoString() string {
+ return s.String()
+}
+
+type DisableVPCClassicLinkInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string" required:"true"`
+
+ metadataDisableVPCClassicLinkInput `json:"-" xml:"-"`
+}
+
+type metadataDisableVPCClassicLinkInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DisableVPCClassicLinkInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisableVPCClassicLinkInput) GoString() string {
+ return s.String()
+}
+
+type DisableVPCClassicLinkOutput struct {
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+
+ metadataDisableVPCClassicLinkOutput `json:"-" xml:"-"`
+}
+
+type metadataDisableVPCClassicLinkOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DisableVPCClassicLinkOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisableVPCClassicLinkOutput) GoString() string {
+ return s.String()
+}
+
+type DisassociateAddressInput struct {
+ // [EC2-VPC] The association ID. Required for EC2-VPC.
+ AssociationID *string `locationName:"AssociationId" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
+ PublicIP *string `locationName:"PublicIp" type:"string"`
+
+ metadataDisassociateAddressInput `json:"-" xml:"-"`
+}
+
+type metadataDisassociateAddressInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DisassociateAddressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateAddressInput) GoString() string {
+ return s.String()
+}
+
+type DisassociateAddressOutput struct {
+ metadataDisassociateAddressOutput `json:"-" xml:"-"`
+}
+
+type metadataDisassociateAddressOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DisassociateAddressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateAddressOutput) GoString() string {
+ return s.String()
+}
+
+type DisassociateRouteTableInput struct {
+ // The association ID representing the current association between the route
+ // table and subnet.
+ AssociationID *string `locationName:"associationId" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ metadataDisassociateRouteTableInput `json:"-" xml:"-"`
+}
+
+type metadataDisassociateRouteTableInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DisassociateRouteTableInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateRouteTableInput) GoString() string {
+ return s.String()
+}
+
+type DisassociateRouteTableOutput struct {
+ metadataDisassociateRouteTableOutput `json:"-" xml:"-"`
+}
+
+type metadataDisassociateRouteTableOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DisassociateRouteTableOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DisassociateRouteTableOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a disk image.
+type DiskImage struct {
+ // A description of the disk image.
+ Description *string `type:"string"`
+
+ // Information about the disk image.
+ Image *DiskImageDetail `type:"structure"`
+
+ // Information about the volume.
+ Volume *VolumeDetail `type:"structure"`
+
+ metadataDiskImage `json:"-" xml:"-"`
+}
+
+type metadataDiskImage struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DiskImage) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DiskImage) GoString() string {
+ return s.String()
+}
+
+// Describes a disk image.
+type DiskImageDescription struct {
+ // The checksum computed for the disk image.
+ Checksum *string `locationName:"checksum" type:"string"`
+
+ // The disk image format.
+ Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
+
+ // A presigned URL for the import manifest stored in Amazon S3. For information
+ // about creating a presigned URL for an Amazon S3 object, read the "Query String
+ // Request Authentication Alternative" section of the Authenticating REST Requests
+ // (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
+ // topic in the Amazon Simple Storage Service Developer Guide.
+ ImportManifestURL *string `locationName:"importManifestUrl" type:"string" required:"true"`
+
+ // The size of the disk image, in GiB.
+ Size *int64 `locationName:"size" type:"long" required:"true"`
+
+ metadataDiskImageDescription `json:"-" xml:"-"`
+}
+
+type metadataDiskImageDescription struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DiskImageDescription) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DiskImageDescription) GoString() string {
+ return s.String()
+}
+
+// Describes a disk image.
+type DiskImageDetail struct {
+ // The size of the disk image, in GiB.
+ Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
+
+ // The disk image format.
+ Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
+
+ // A presigned URL for the import manifest stored in Amazon S3 and presented
+ // here as an Amazon S3 presigned URL. For information about creating a presigned
+ // URL for an Amazon S3 object, read the "Query String Request Authentication
+ // Alternative" section of the Authenticating REST Requests (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
+ // topic in the Amazon Simple Storage Service Developer Guide.
+ ImportManifestURL *string `locationName:"importManifestUrl" type:"string" required:"true"`
+
+ metadataDiskImageDetail `json:"-" xml:"-"`
+}
+
+type metadataDiskImageDetail struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DiskImageDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DiskImageDetail) GoString() string {
+ return s.String()
+}
+
+// Describes a disk image volume.
+type DiskImageVolumeDescription struct {
+ // The volume identifier.
+ ID *string `locationName:"id" type:"string" required:"true"`
+
+ // The size of the volume, in GiB.
+ Size *int64 `locationName:"size" type:"long"`
+
+ metadataDiskImageVolumeDescription `json:"-" xml:"-"`
+}
+
+type metadataDiskImageVolumeDescription struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s DiskImageVolumeDescription) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DiskImageVolumeDescription) GoString() string {
+ return s.String()
+}
+
+// Describes a block device for an EBS volume.
+type EBSBlockDevice struct {
+ // Indicates whether the EBS volume is deleted on instance termination.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes
+ // may only be attached to instances that support Amazon EBS encryption.
+ Encrypted *bool `locationName:"encrypted" type:"boolean"`
+
+ // The number of I/O operations per second (IOPS) that the volume supports.
+ // For Provisioned IOPS (SSD) volumes, this represents the number of IOPS that
+ // are provisioned for the volume. For General Purpose (SSD) volumes, this represents
+ // the baseline performance of the volume and the rate at which the volume accumulates
+ // I/O credits for bursting. For more information on General Purpose (SSD) baseline
+ // performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ //
+ // Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and
+ // 3 to 10000 for General Purpose (SSD) volumes.
+ //
+ // Condition: This parameter is required for requests to create io1 volumes;
+ // it is not used in requests to create standard or gp2 volumes.
+ IOPS *int64 `locationName:"iops" type:"integer"`
+
+ // The ID of the snapshot.
+ SnapshotID *string `locationName:"snapshotId" type:"string"`
+
+ // The size of the volume, in GiB.
+ //
+ // Constraints: 1-1024 for standard volumes, 1-16384 for gp2 volumes, and 4-16384
+ // for io1 volumes. If you specify a snapshot, the volume size must be equal
+ // to or larger than the snapshot size.
+ //
+ // Default: If you're creating the volume from a snapshot and don't specify
+ // a volume size, the default is the snapshot size.
+ VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
+
+ // The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned
+ // IOPS (SSD) volumes, and standard for Magnetic volumes.
+ //
+ // Default: standard
+ VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
+
+ metadataEBSBlockDevice `json:"-" xml:"-"`
+}
+
+type metadataEBSBlockDevice struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s EBSBlockDevice) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EBSBlockDevice) GoString() string {
+ return s.String()
+}
+
+// Describes a parameter used to set up an EBS volume in a block device mapping.
+type EBSInstanceBlockDevice struct {
+ // The time stamp when the attachment initiated.
+ AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Indicates whether the volume is deleted on instance termination.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The attachment state.
+ Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
+
+ // The ID of the EBS volume.
+ VolumeID *string `locationName:"volumeId" type:"string"`
+
+ metadataEBSInstanceBlockDevice `json:"-" xml:"-"`
+}
+
+type metadataEBSInstanceBlockDevice struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s EBSInstanceBlockDevice) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EBSInstanceBlockDevice) GoString() string {
+ return s.String()
+}
+
+type EBSInstanceBlockDeviceSpecification struct {
+ // Indicates whether the volume is deleted on instance termination.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The ID of the EBS volume.
+ VolumeID *string `locationName:"volumeId" type:"string"`
+
+ metadataEBSInstanceBlockDeviceSpecification `json:"-" xml:"-"`
+}
+
+type metadataEBSInstanceBlockDeviceSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s EBSInstanceBlockDeviceSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EBSInstanceBlockDeviceSpecification) GoString() string {
+ return s.String()
+}
+
+type EnableVGWRoutePropagationInput struct {
+ // The ID of the virtual private gateway.
+ GatewayID *string `locationName:"GatewayId" type:"string" required:"true"`
+
+ // The ID of the route table.
+ RouteTableID *string `locationName:"RouteTableId" type:"string" required:"true"`
+
+ metadataEnableVGWRoutePropagationInput `json:"-" xml:"-"`
+}
+
+type metadataEnableVGWRoutePropagationInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s EnableVGWRoutePropagationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVGWRoutePropagationInput) GoString() string {
+ return s.String()
+}
+
+type EnableVGWRoutePropagationOutput struct {
+ metadataEnableVGWRoutePropagationOutput `json:"-" xml:"-"`
+}
+
+type metadataEnableVGWRoutePropagationOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s EnableVGWRoutePropagationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVGWRoutePropagationOutput) GoString() string {
+ return s.String()
+}
+
+type EnableVPCClassicLinkInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string" required:"true"`
+
+ metadataEnableVPCClassicLinkInput `json:"-" xml:"-"`
+}
+
+type metadataEnableVPCClassicLinkInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s EnableVPCClassicLinkInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVPCClassicLinkInput) GoString() string {
+ return s.String()
+}
+
+type EnableVPCClassicLinkOutput struct {
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+
+ metadataEnableVPCClassicLinkOutput `json:"-" xml:"-"`
+}
+
+type metadataEnableVPCClassicLinkOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s EnableVPCClassicLinkOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVPCClassicLinkOutput) GoString() string {
+ return s.String()
+}
+
+type EnableVolumeIOInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the volume.
+ VolumeID *string `locationName:"volumeId" type:"string" required:"true"`
+
+ metadataEnableVolumeIOInput `json:"-" xml:"-"`
+}
+
+type metadataEnableVolumeIOInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s EnableVolumeIOInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVolumeIOInput) GoString() string {
+ return s.String()
+}
+
+type EnableVolumeIOOutput struct {
+ metadataEnableVolumeIOOutput `json:"-" xml:"-"`
+}
+
+type metadataEnableVolumeIOOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s EnableVolumeIOOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EnableVolumeIOOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a Spot fleet event.
+type EventInformation struct {
+ // The description of the event.
+ EventDescription *string `locationName:"eventDescription" type:"string"`
+
+ // The event.
+ //
+ // The following are the error events.
+ //
+ // iamFleetRoleInvalid - Spot fleet did not have the required permissions
+ // either to launch or terminate an instance.
+ //
+ // spotFleetRequestConfigurationInvalid - The configuration is not valid.
+ // For more information, see the description.
+ //
+ // spotInstanceCountLimitExceeded - You've reached the limit on the number
+ // of Spot Instances that you can launch.
+ //
+ // The following are the fleetRequestChange events.
+ //
+ // active - The Spot fleet has been validated and Amazon EC2 is attempting
+ // to maintain the target number of running Spot Instances.
+ //
+ // cancelled - The Spot fleet is canceled and has no running Spot Instances.
+ // The Spot fleet will be deleted two days after its instances were terminated.
+ //
+ // cancelled_running - The Spot fleet is canceled and will not launch additional
+ // Spot Instances, but its existing Spot Instances will continue to run until
+ // they are interrupted or terminated.
+ //
+ // cancelled_terminating - The Spot fleet is canceled and its Spot Instances
+ // are terminating.
+ //
+ // expired - The Spot fleet request has expired. A subsequent event indicates
+ // that the instances were terminated, if the request was created with terminateInstancesWithExpiration
+ // set.
+ //
+ // price_update - The bid price for a launch configuration was adjusted because
+ // it was too high. This change is permanent.
+ //
+ // submitted - The Spot fleet request is being evaluated and Amazon EC2 is
+ // preparing to launch the target number of Spot Instances.
+ //
+ // The following are the instanceChange events.
+ //
+ // launched - A bid was fulfilled and a new instance was launched.
+ //
+ // terminated - An instance was terminated by the user.
+ EventSubType *string `locationName:"eventSubType" type:"string"`
+
+ // The ID of the instance. This information is available only for instanceChange
+ // events.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ metadataEventInformation `json:"-" xml:"-"`
+}
+
+type metadataEventInformation struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s EventInformation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s EventInformation) GoString() string {
+ return s.String()
+}
+
+// Describes an instance export task.
+type ExportTask struct {
+ // A description of the resource being exported.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the export task.
+ ExportTaskID *string `locationName:"exportTaskId" type:"string"`
+
+ // Information about the export task.
+ ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
+
+ // Information about the instance to export.
+ InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
+
+ // The state of the export task.
+ State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
+
+ // The status message related to the export task.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ metadataExportTask `json:"-" xml:"-"`
+}
+
+type metadataExportTask struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ExportTask) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ExportTask) GoString() string {
+ return s.String()
+}
+
+// Describes the format and location for an instance export task.
+type ExportToS3Task struct {
+ // The container format used to combine disk images with metadata (such as OVF).
+ // If absent, only the disk image is exported.
+ ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
+
+ // The format for the exported image.
+ DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
+
+ // The S3 bucket for the destination image. The destination bucket must exist
+ // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
+ S3Bucket *string `locationName:"s3Bucket" type:"string"`
+
+ // The encryption key for your S3 bucket.
+ S3Key *string `locationName:"s3Key" type:"string"`
+
+ metadataExportToS3Task `json:"-" xml:"-"`
+}
+
+type metadataExportToS3Task struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ExportToS3Task) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ExportToS3Task) GoString() string {
+ return s.String()
+}
+
+// Describes an instance export task.
+type ExportToS3TaskSpecification struct {
+ // The container format used to combine disk images with metadata (such as OVF).
+ // If absent, only the disk image is exported.
+ ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
+
+ // The format for the exported image.
+ DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
+
+ // The S3 bucket for the destination image. The destination bucket must exist
+ // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
+ S3Bucket *string `locationName:"s3Bucket" type:"string"`
+
+ // The image is written to a single object in the S3 bucket at the S3 key s3prefix
+ // + exportTaskId + '.' + diskImageFormat.
+ S3Prefix *string `locationName:"s3Prefix" type:"string"`
+
+ metadataExportToS3TaskSpecification `json:"-" xml:"-"`
+}
+
+type metadataExportToS3TaskSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ExportToS3TaskSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ExportToS3TaskSpecification) GoString() string {
+ return s.String()
+}
+
+// A filter name and value pair that is used to return a more specific list
+// of results. Filters can be used to match a set of resources by various criteria,
+// such as tags, attributes, or IDs.
+type Filter struct {
+ // The name of the filter. Filter names are case-sensitive.
+ Name *string `type:"string"`
+
+ // One or more filter values. Filter values are case-sensitive.
+ Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
+
+ metadataFilter `json:"-" xml:"-"`
+}
+
+type metadataFilter struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Filter) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Filter) GoString() string {
+ return s.String()
+}
+
+// Describes a flow log.
+type FlowLog struct {
+ // The date and time the flow log was created.
+ CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Information about the error that occurred. Rate limited indicates that CloudWatch
+ // logs throttling has been applied for one or more network interfaces. Access
+ // error indicates that the IAM role associated with the flow log does not have
+ // sufficient permissions to publish to CloudWatch Logs. Unknown error indicates
+ // an internal error.
+ DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
+
+ // The ARN of the IAM role that posts logs to CloudWatch Logs.
+ DeliverLogsPermissionARN *string `locationName:"deliverLogsPermissionArn" type:"string"`
+
+ // The status of the logs delivery (SUCCESS | FAILED).
+ DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
+
+ // The flow log ID.
+ FlowLogID *string `locationName:"flowLogId" type:"string"`
+
+ // The status of the flow log (ACTIVE).
+ FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
+
+ // The name of the flow log group.
+ LogGroupName *string `locationName:"logGroupName" type:"string"`
+
+ // The ID of the resource on which the flow log was created.
+ ResourceID *string `locationName:"resourceId" type:"string"`
+
+ // The type of traffic captured for the flow log.
+ TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
+
+ metadataFlowLog `json:"-" xml:"-"`
+}
+
+type metadataFlowLog struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s FlowLog) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FlowLog) GoString() string {
+ return s.String()
+}
+
+type GetConsoleOutputInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"InstanceId" type:"string" required:"true"`
+
+ metadataGetConsoleOutputInput `json:"-" xml:"-"`
+}
+
+type metadataGetConsoleOutputInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetConsoleOutputInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetConsoleOutputInput) GoString() string {
+ return s.String()
+}
+
+type GetConsoleOutputOutput struct {
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The console output, Base64 encoded.
+ Output *string `locationName:"output" type:"string"`
+
+ // The time the output was last updated.
+ Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataGetConsoleOutputOutput `json:"-" xml:"-"`
+}
+
+type metadataGetConsoleOutputOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetConsoleOutputOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetConsoleOutputOutput) GoString() string {
+ return s.String()
+}
+
+type GetPasswordDataInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the Windows instance.
+ InstanceID *string `locationName:"InstanceId" type:"string" required:"true"`
+
+ metadataGetPasswordDataInput `json:"-" xml:"-"`
+}
+
+type metadataGetPasswordDataInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetPasswordDataInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetPasswordDataInput) GoString() string {
+ return s.String()
+}
+
+type GetPasswordDataOutput struct {
+ // The ID of the Windows instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The password of the instance.
+ PasswordData *string `locationName:"passwordData" type:"string"`
+
+ // The time the data was last updated.
+ Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataGetPasswordDataOutput `json:"-" xml:"-"`
+}
+
+type metadataGetPasswordDataOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s GetPasswordDataOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GetPasswordDataOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a security group.
+type GroupIdentifier struct {
+ // The ID of the security group.
+ GroupID *string `locationName:"groupId" type:"string"`
+
+ // The name of the security group.
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ metadataGroupIdentifier `json:"-" xml:"-"`
+}
+
+type metadataGroupIdentifier struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s GroupIdentifier) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s GroupIdentifier) GoString() string {
+ return s.String()
+}
+
+// Describes an event in the history of the Spot fleet request.
+type HistoryRecord struct {
+ // Information about the event.
+ EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"`
+
+ // The event type.
+ //
+ // error - Indicates an error with the Spot fleet request.
+ //
+ // fleetRequestChange - Indicates a change in the status or configuration
+ // of the Spot fleet request.
+ //
+ // instanceChange - Indicates that an instance was launched or terminated.
+ EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"`
+
+ // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601" required:"true"`
+
+ metadataHistoryRecord `json:"-" xml:"-"`
+}
+
+type metadataHistoryRecord struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s HistoryRecord) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s HistoryRecord) GoString() string {
+ return s.String()
+}
+
+// Describes an IAM instance profile.
+type IAMInstanceProfile struct {
+ // The Amazon Resource Name (ARN) of the instance profile.
+ ARN *string `locationName:"arn" type:"string"`
+
+ // The ID of the instance profile.
+ ID *string `locationName:"id" type:"string"`
+
+ metadataIAMInstanceProfile `json:"-" xml:"-"`
+}
+
+type metadataIAMInstanceProfile struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s IAMInstanceProfile) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IAMInstanceProfile) GoString() string {
+ return s.String()
+}
+
+// Describes an IAM instance profile.
+type IAMInstanceProfileSpecification struct {
+ // The Amazon Resource Name (ARN) of the instance profile.
+ ARN *string `locationName:"arn" type:"string"`
+
+ // The name of the instance profile.
+ Name *string `locationName:"name" type:"string"`
+
+ metadataIAMInstanceProfileSpecification `json:"-" xml:"-"`
+}
+
+type metadataIAMInstanceProfileSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s IAMInstanceProfileSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IAMInstanceProfileSpecification) GoString() string {
+ return s.String()
+}
+
+// Describes the ICMP type and code.
+type ICMPTypeCode struct {
+ // The ICMP type. A value of -1 means all types.
+ Code *int64 `locationName:"code" type:"integer"`
+
+ // The ICMP code. A value of -1 means all codes for the specified ICMP type.
+ Type *int64 `locationName:"type" type:"integer"`
+
+ metadataICMPTypeCode `json:"-" xml:"-"`
+}
+
+type metadataICMPTypeCode struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ICMPTypeCode) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ICMPTypeCode) GoString() string {
+ return s.String()
+}
+
+// Describes a security group rule.
+type IPPermission struct {
+ // The start of port range for the TCP and UDP protocols, or an ICMP type number.
+ // A value of -1 indicates all ICMP types.
+ FromPort *int64 `locationName:"fromPort" type:"integer"`
+
+ // The protocol.
+ //
+ // When you call DescribeSecurityGroups, the protocol value returned is the
+ // number. Exception: For TCP, UDP, and ICMP, the value returned is the name
+ // (for example, tcp, udp, or icmp). For a list of protocol numbers, see Protocol
+ // Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
+ // (VPC only) When you call AuthorizeSecurityGroupIngress, you can use -1 to
+ // specify all.
+ IPProtocol *string `locationName:"ipProtocol" type:"string"`
+
+ // One or more IP ranges.
+ IPRanges []*IPRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
+
+ // (Valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress and DescribeSecurityGroups
+ // only) One or more prefix list IDs for an AWS service. In an AuthorizeSecurityGroupEgress
+ // request, this is the AWS service that you want to access through a VPC endpoint
+ // from instances associated with the security group.
+ PrefixListIDs []*PrefixListID `locationName:"prefixListIds" locationNameList:"item" type:"list"`
+
+ // The end of port range for the TCP and UDP protocols, or an ICMP code. A value
+ // of -1 indicates all ICMP codes for the specified ICMP type.
+ ToPort *int64 `locationName:"toPort" type:"integer"`
+
+ // One or more security group and AWS account ID pairs.
+ UserIDGroupPairs []*UserIDGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
+
+ metadataIPPermission `json:"-" xml:"-"`
+}
+
+type metadataIPPermission struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s IPPermission) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IPPermission) GoString() string {
+ return s.String()
+}
+
+// Describes an IP range.
+type IPRange struct {
+ // The CIDR range. You can either specify a CIDR range or a source security
+ // group, not both.
+ CIDRIP *string `locationName:"cidrIp" type:"string"`
+
+ metadataIPRange `json:"-" xml:"-"`
+}
+
+type metadataIPRange struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s IPRange) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s IPRange) GoString() string {
+ return s.String()
+}
+
+// Describes an image.
+type Image struct {
+ // The architecture of the image.
+ Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
+
+ // Any block device mapping entries.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // The date and time the image was created.
+ CreationDate *string `locationName:"creationDate" type:"string"`
+
+ // The description of the AMI that was provided during image creation.
+ Description *string `locationName:"description" type:"string"`
+
+ // The hypervisor type of the image.
+ Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
+
+ // The ID of the AMI.
+ ImageID *string `locationName:"imageId" type:"string"`
+
+ // The location of the AMI.
+ ImageLocation *string `locationName:"imageLocation" type:"string"`
+
+ // The AWS account alias (for example, amazon, self) or the AWS account ID of
+ // the AMI owner.
+ ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
+
+ // The type of image.
+ ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
+
+ // The kernel associated with the image, if any. Only applicable for machine
+ // images.
+ KernelID *string `locationName:"kernelId" type:"string"`
+
+ // The name of the AMI that was provided during image creation.
+ Name *string `locationName:"name" type:"string"`
+
+ // The AWS account ID of the image owner.
+ OwnerID *string `locationName:"imageOwnerId" type:"string"`
+
+ // The value is Windows for Windows AMIs; otherwise blank.
+ Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
+
+ // Any product codes associated with the AMI.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // Indicates whether the image has public launch permissions. The value is true
+ // if this image has public launch permissions or false if it has only implicit
+ // and explicit launch permissions.
+ Public *bool `locationName:"isPublic" type:"boolean"`
+
+ // The RAM disk associated with the image, if any. Only applicable for machine
+ // images.
+ RAMDiskID *string `locationName:"ramdiskId" type:"string"`
+
+ // The device name of the root device (for example, /dev/sda1 or /dev/xvda).
+ RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
+
+ // The type of root device used by the AMI. The AMI can use an EBS volume or
+ // an instance store volume.
+ RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
+
+ // Specifies whether enhanced networking is enabled.
+ SRIOVNetSupport *string `locationName:"sriovNetSupport" type:"string"`
+
+ // The current state of the AMI. If the state is available, the image is successfully
+ // registered and can be used to launch an instance.
+ State *string `locationName:"imageState" type:"string" enum:"ImageState"`
+
+ // The reason for the state change.
+ StateReason *StateReason `locationName:"stateReason" type:"structure"`
+
+ // Any tags assigned to the image.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The type of virtualization of the AMI.
+ VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
+
+ metadataImage `json:"-" xml:"-"`
+}
+
+type metadataImage struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Image) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Image) GoString() string {
+ return s.String()
+}
+
+// Describes the disk container object for an import image task.
+type ImageDiskContainer struct {
+ // The description of the disk image.
+ Description *string `type:"string"`
+
+ // The block device mapping for the disk.
+ DeviceName *string `type:"string"`
+
+ // The format of the disk image being imported.
+ //
+ // Valid values: RAW | VHD | VMDK | OVA
+ Format *string `type:"string"`
+
+ // The ID of the EBS snapshot to be used for importing the snapshot.
+ SnapshotID *string `locationName:"SnapshotId" type:"string"`
+
+ // The URL to the Amazon S3-based disk image being imported. The URL can either
+ // be a https URL (https://..) or an Amazon S3 URL (s3://..)
+ URL *string `locationName:"Url" type:"string"`
+
+ // The S3 bucket for the disk image.
+ UserBucket *UserBucket `type:"structure"`
+
+ metadataImageDiskContainer `json:"-" xml:"-"`
+}
+
+type metadataImageDiskContainer struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImageDiskContainer) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImageDiskContainer) GoString() string {
+ return s.String()
+}
+
+type ImportImageInput struct {
+ // The architecture of the virtual machine.
+ //
+ // Valid values: i386 | x86_64
+ Architecture *string `type:"string"`
+
+ // The client-specific data.
+ ClientData *ClientData `type:"structure"`
+
+ // The token to enable idempotency for VM import requests.
+ ClientToken *string `type:"string"`
+
+ // A description string for the import image task.
+ Description *string `type:"string"`
+
+ // Information about the disk containers.
+ DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The target hypervisor platform.
+ //
+ // Valid values: xen
+ Hypervisor *string `type:"string"`
+
+ // The license type to be used for the Amazon Machine Image (AMI) after importing.
+ //
+ // Note: You may only use BYOL if you have existing licenses with rights to
+ // use these licenses in a third party cloud like AWS. For more information,
+ // see VM Import/Export Prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/VMImportPrerequisites.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ //
+ // Valid values: AWS | BYOL
+ LicenseType *string `type:"string"`
+
+ // The operating system of the virtual machine.
+ //
+ // Valid values: Windows | Linux
+ Platform *string `type:"string"`
+
+ // The name of the role to use when not using the default role, 'vmimport'.
+ RoleName *string `type:"string"`
+
+ metadataImportImageInput `json:"-" xml:"-"`
+}
+
+type metadataImportImageInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportImageInput) GoString() string {
+ return s.String()
+}
+
+type ImportImageOutput struct {
+ // The architecture of the virtual machine.
+ Architecture *string `locationName:"architecture" type:"string"`
+
+ // A description of the import task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The target hypervisor of the import task.
+ Hypervisor *string `locationName:"hypervisor" type:"string"`
+
+ // The ID of the Amazon Machine Image (AMI) created by the import task.
+ ImageID *string `locationName:"imageId" type:"string"`
+
+ // The task ID of the import image task.
+ ImportTaskID *string `locationName:"importTaskId" type:"string"`
+
+ // The license type of the virtual machine.
+ LicenseType *string `locationName:"licenseType" type:"string"`
+
+ // The operating system of the virtual machine.
+ Platform *string `locationName:"platform" type:"string"`
+
+ // The progress of the task.
+ Progress *string `locationName:"progress" type:"string"`
+
+ // Information about the snapshots.
+ SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
+
+ // A brief status of the task.
+ Status *string `locationName:"status" type:"string"`
+
+ // A detailed status message of the import task.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ metadataImportImageOutput `json:"-" xml:"-"`
+}
+
+type metadataImportImageOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportImageOutput) GoString() string {
+ return s.String()
+}
+
+// Describes an import image task.
+type ImportImageTask struct {
+ // The architecture of the virtual machine.
+ //
+ // Valid values: i386 | x86_64
+ Architecture *string `locationName:"architecture" type:"string"`
+
+ // A description of the import task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The target hypervisor for the import task.
+ //
+ // Valid values: xen
+ Hypervisor *string `locationName:"hypervisor" type:"string"`
+
+ // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
+ ImageID *string `locationName:"imageId" type:"string"`
+
+ // The ID of the import image task.
+ ImportTaskID *string `locationName:"importTaskId" type:"string"`
+
+ // The license type of the virtual machine.
+ LicenseType *string `locationName:"licenseType" type:"string"`
+
+ // The description string for the import image task.
+ Platform *string `locationName:"platform" type:"string"`
+
+ // The percentage of progress of the import image task.
+ Progress *string `locationName:"progress" type:"string"`
+
+ // Information about the snapshots.
+ SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
+
+ // A brief status for the import image task.
+ Status *string `locationName:"status" type:"string"`
+
+ // A descriptive status message for the import image task.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ metadataImportImageTask `json:"-" xml:"-"`
+}
+
+type metadataImportImageTask struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportImageTask) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportImageTask) GoString() string {
+ return s.String()
+}
+
+type ImportInstanceInput struct {
+ // A description for the instance being imported.
+ Description *string `locationName:"description" type:"string"`
+
+ // The disk image.
+ DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The launch specification.
+ LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
+
+ // The instance operating system.
+ Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
+
+ metadataImportInstanceInput `json:"-" xml:"-"`
+}
+
+type metadataImportInstanceInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportInstanceInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportInstanceInput) GoString() string {
+ return s.String()
+}
+
+// Describes the launch specification for VM import.
+type ImportInstanceLaunchSpecification struct {
+ // Reserved.
+ AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
+
+ // The architecture of the instance.
+ Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
+
+ // One or more security group IDs.
+ GroupIDs []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
+
+ // One or more security group names.
+ GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
+
+ // Indicates whether an instance stops or terminates when you initiate shutdown
+ // from the instance (using the operating system command for system shutdown).
+ InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
+
+ // The instance type. For more information about the instance types that you
+ // can import, see Before You Get Started (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/VMImportPrerequisites.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // Indicates whether monitoring is enabled.
+ Monitoring *bool `locationName:"monitoring" type:"boolean"`
+
+ // The placement information for the instance.
+ Placement *Placement `locationName:"placement" type:"structure"`
+
+ // [EC2-VPC] An available IP address from the IP address range of the subnet.
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // [EC2-VPC] The ID of the subnet in which to launch the instance.
+ SubnetID *string `locationName:"subnetId" type:"string"`
+
+ // The Base64-encoded MIME user data to be made available to the instance.
+ UserData *UserData `locationName:"userData" type:"structure"`
+
+ metadataImportInstanceLaunchSpecification `json:"-" xml:"-"`
+}
+
+type metadataImportInstanceLaunchSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportInstanceLaunchSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportInstanceLaunchSpecification) GoString() string {
+ return s.String()
+}
+
+type ImportInstanceOutput struct {
+ // Information about the conversion task.
+ ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
+
+ metadataImportInstanceOutput `json:"-" xml:"-"`
+}
+
+type metadataImportInstanceOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportInstanceOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportInstanceOutput) GoString() string {
+ return s.String()
+}
+
+// Describes an import instance task.
+type ImportInstanceTaskDetails struct {
+ // A description of the task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The instance operating system.
+ Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
+
+ // One or more volumes.
+ Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list" required:"true"`
+
+ metadataImportInstanceTaskDetails `json:"-" xml:"-"`
+}
+
+type metadataImportInstanceTaskDetails struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportInstanceTaskDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportInstanceTaskDetails) GoString() string {
+ return s.String()
+}
+
+// Describes an import volume task.
+type ImportInstanceVolumeDetailItem struct {
+ // The Availability Zone where the resulting instance will reside.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
+
+ // The number of bytes converted so far.
+ BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
+
+ // A description of the task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The image.
+ Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
+
+ // The status of the import of this particular disk image.
+ Status *string `locationName:"status" type:"string" required:"true"`
+
+ // The status information or errors related to the disk image.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // The volume.
+ Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
+
+ metadataImportInstanceVolumeDetailItem `json:"-" xml:"-"`
+}
+
+type metadataImportInstanceVolumeDetailItem struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportInstanceVolumeDetailItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportInstanceVolumeDetailItem) GoString() string {
+ return s.String()
+}
+
+type ImportKeyPairInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // A unique name for the key pair.
+ KeyName *string `locationName:"keyName" type:"string" required:"true"`
+
+ // The public key. You must base64 encode the public key material before sending
+ // it to AWS.
+ PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
+
+ metadataImportKeyPairInput `json:"-" xml:"-"`
+}
+
+type metadataImportKeyPairInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportKeyPairInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportKeyPairInput) GoString() string {
+ return s.String()
+}
+
+type ImportKeyPairOutput struct {
+ // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
+ KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
+
+ // The key pair name you provided.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ metadataImportKeyPairOutput `json:"-" xml:"-"`
+}
+
+type metadataImportKeyPairOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportKeyPairOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportKeyPairOutput) GoString() string {
+ return s.String()
+}
+
+type ImportSnapshotInput struct {
+ // The client-specific data.
+ ClientData *ClientData `type:"structure"`
+
+ // Token to enable idempotency for VM import requests.
+ ClientToken *string `type:"string"`
+
+ // The description string for the import snapshot task.
+ Description *string `type:"string"`
+
+ // Information about the disk container.
+ DiskContainer *SnapshotDiskContainer `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The name of the role to use when not using the default role, 'vmimport'.
+ RoleName *string `type:"string"`
+
+ metadataImportSnapshotInput `json:"-" xml:"-"`
+}
+
+type metadataImportSnapshotInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportSnapshotInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportSnapshotInput) GoString() string {
+ return s.String()
+}
+
+type ImportSnapshotOutput struct {
+ // A description of the import snapshot task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the import snapshot task.
+ ImportTaskID *string `locationName:"importTaskId" type:"string"`
+
+ // Information about the import snapshot task.
+ SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
+
+ metadataImportSnapshotOutput `json:"-" xml:"-"`
+}
+
+type metadataImportSnapshotOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportSnapshotOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportSnapshotOutput) GoString() string {
+ return s.String()
+}
+
+// Describes an import snapshot task.
+type ImportSnapshotTask struct {
+ // A description of the import snapshot task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the import snapshot task.
+ ImportTaskID *string `locationName:"importTaskId" type:"string"`
+
+ // Describes an import snapshot task.
+ SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
+
+ metadataImportSnapshotTask `json:"-" xml:"-"`
+}
+
+type metadataImportSnapshotTask struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportSnapshotTask) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportSnapshotTask) GoString() string {
+ return s.String()
+}
+
+type ImportVolumeInput struct {
+ // The Availability Zone for the resulting EBS volume.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
+
+ // A description of the volume.
+ Description *string `locationName:"description" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The disk image.
+ Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
+
+ // The volume size.
+ Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
+
+ metadataImportVolumeInput `json:"-" xml:"-"`
+}
+
+type metadataImportVolumeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportVolumeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportVolumeInput) GoString() string {
+ return s.String()
+}
+
+type ImportVolumeOutput struct {
+ // Information about the conversion task.
+ ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
+
+ metadataImportVolumeOutput `json:"-" xml:"-"`
+}
+
+type metadataImportVolumeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportVolumeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportVolumeOutput) GoString() string {
+ return s.String()
+}
+
+// Describes an import volume task.
+type ImportVolumeTaskDetails struct {
+ // The Availability Zone where the resulting volume will reside.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
+
+ // The number of bytes converted so far.
+ BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
+
+ // The description you provided when starting the import volume task.
+ Description *string `locationName:"description" type:"string"`
+
+ // The image.
+ Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
+
+ // The volume.
+ Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
+
+ metadataImportVolumeTaskDetails `json:"-" xml:"-"`
+}
+
+type metadataImportVolumeTaskDetails struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ImportVolumeTaskDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ImportVolumeTaskDetails) GoString() string {
+ return s.String()
+}
+
+// Describes an instance.
+type Instance struct {
+ // The AMI launch index, which can be used to find this instance in the launch
+ // group.
+ AMILaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
+
+ // The architecture of the image.
+ Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
+
+ // Any block device mapping entries for the instance.
+ BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // The idempotency token you provided when you launched the instance.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // Indicates whether the instance is optimized for EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS
+ // Optimized instance.
+ EBSOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+
+ // The hypervisor type of the instance.
+ Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
+
+ // The IAM instance profile associated with the instance.
+ IAMInstanceProfile *IAMInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the AMI used to launch the instance.
+ ImageID *string `locationName:"imageId" type:"string"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // Indicates whether this is a Spot Instance.
+ InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The kernel associated with this instance.
+ KernelID *string `locationName:"kernelId" type:"string"`
+
+ // The name of the key pair, if this instance was launched with an associated
+ // key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ // The time the instance was launched.
+ LaunchTime *time.Time `locationName:"launchTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The monitoring information for the instance.
+ Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
+
+ // [EC2-VPC] One or more network interfaces for the instance.
+ NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
+
+ // The location where the instance launched.
+ Placement *Placement `locationName:"placement" type:"structure"`
+
+ // The value is Windows for Windows instances; otherwise blank.
+ Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
+
+ // The private DNS name assigned to the instance. This DNS name can only be
+ // used inside the Amazon EC2 network. This name is not available until the
+ // instance enters the running state.
+ PrivateDNSName *string `locationName:"privateDnsName" type:"string"`
+
+ // The private IP address assigned to the instance.
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // The product codes attached to this instance.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // The public DNS name assigned to the instance. This name is not available
+ // until the instance enters the running state.
+ PublicDNSName *string `locationName:"dnsName" type:"string"`
+
+ // The public IP address assigned to the instance.
+ PublicIPAddress *string `locationName:"ipAddress" type:"string"`
+
+ // The RAM disk associated with this instance.
+ RAMDiskID *string `locationName:"ramdiskId" type:"string"`
+
+ // The root device name (for example, /dev/sda1 or /dev/xvda).
+ RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
+
+ // The root device type used by the AMI. The AMI can use an EBS volume or an
+ // instance store volume.
+ RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
+
+ // Specifies whether enhanced networking is enabled.
+ SRIOVNetSupport *string `locationName:"sriovNetSupport" type:"string"`
+
+ // One or more security groups for the instance.
+ SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // Specifies whether to enable an instance launched in a VPC to perform NAT.
+ // This controls whether source/destination checking is enabled on the instance.
+ // A value of true means checking is enabled, and false means checking is disabled.
+ // The value must be false for the instance to perform NAT. For more information,
+ // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
+ // in the Amazon Virtual Private Cloud User Guide.
+ SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
+
+ // The ID of the Spot Instance request.
+ SpotInstanceRequestID *string `locationName:"spotInstanceRequestId" type:"string"`
+
+ // The current state of the instance.
+ State *InstanceState `locationName:"instanceState" type:"structure"`
+
+ // The reason for the most recent state transition.
+ StateReason *StateReason `locationName:"stateReason" type:"structure"`
+
+ // The reason for the most recent state transition. This might be an empty string.
+ StateTransitionReason *string `locationName:"reason" type:"string"`
+
+ // The ID of the subnet in which the instance is running.
+ SubnetID *string `locationName:"subnetId" type:"string"`
+
+ // Any tags assigned to the instance.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC in which the instance is running.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ // The virtualization type of the instance.
+ VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
+
+ metadataInstance `json:"-" xml:"-"`
+}
+
+type metadataInstance struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Instance) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Instance) GoString() string {
+ return s.String()
+}
+
+// Describes a block device mapping.
+type InstanceBlockDeviceMapping struct {
+ // The device name exposed to the instance (for example, /dev/sdh or xvdh).
+ DeviceName *string `locationName:"deviceName" type:"string"`
+
+ // Parameters used to automatically set up EBS volumes when the instance is
+ // launched.
+ EBS *EBSInstanceBlockDevice `locationName:"ebs" type:"structure"`
+
+ metadataInstanceBlockDeviceMapping `json:"-" xml:"-"`
+}
+
+type metadataInstanceBlockDeviceMapping struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceBlockDeviceMapping) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceBlockDeviceMapping) GoString() string {
+ return s.String()
+}
+
+// Describes a block device mapping entry.
+type InstanceBlockDeviceMappingSpecification struct {
+ // The device name exposed to the instance (for example, /dev/sdh or xvdh).
+ DeviceName *string `locationName:"deviceName" type:"string"`
+
+ // Parameters used to automatically set up EBS volumes when the instance is
+ // launched.
+ EBS *EBSInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
+
+ // suppress the specified device included in the block device mapping.
+ NoDevice *string `locationName:"noDevice" type:"string"`
+
+ // The virtual device name.
+ VirtualName *string `locationName:"virtualName" type:"string"`
+
+ metadataInstanceBlockDeviceMappingSpecification `json:"-" xml:"-"`
+}
+
+type metadataInstanceBlockDeviceMappingSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceBlockDeviceMappingSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceBlockDeviceMappingSpecification) GoString() string {
+ return s.String()
+}
+
+// Describes a Reserved Instance listing state.
+type InstanceCount struct {
+ // The number of listed Reserved Instances in the state specified by the state.
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
+
+ // The states of the listed Reserved Instances.
+ State *string `locationName:"state" type:"string" enum:"ListingState"`
+
+ metadataInstanceCount `json:"-" xml:"-"`
+}
+
+type metadataInstanceCount struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceCount) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceCount) GoString() string {
+ return s.String()
+}
+
+// Describes an instance to export.
+type InstanceExportDetails struct {
+ // The ID of the resource being exported.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The target virtualization environment.
+ TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
+
+ metadataInstanceExportDetails `json:"-" xml:"-"`
+}
+
+type metadataInstanceExportDetails struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceExportDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceExportDetails) GoString() string {
+ return s.String()
+}
+
+// Describes the monitoring information of the instance.
+type InstanceMonitoring struct {
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The monitoring information.
+ Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
+
+ metadataInstanceMonitoring `json:"-" xml:"-"`
+}
+
+type metadataInstanceMonitoring struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceMonitoring) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceMonitoring) GoString() string {
+ return s.String()
+}
+
+// Describes a network interface.
+type InstanceNetworkInterface struct {
+ // The association information for an Elastic IP associated with the network
+ // interface.
+ Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
+
+ // The network interface attachment.
+ Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
+
+ // The description.
+ Description *string `locationName:"description" type:"string"`
+
+ // One or more security groups.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The MAC address.
+ MACAddress *string `locationName:"macAddress" type:"string"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The ID of the AWS account that created the network interface.
+ OwnerID *string `locationName:"ownerId" type:"string"`
+
+ // The private DNS name.
+ PrivateDNSName *string `locationName:"privateDnsName" type:"string"`
+
+ // The IP address of the network interface within the subnet.
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // The private IP addresses associated with the network interface.
+ PrivateIPAddresses []*InstancePrivateIPAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
+
+ // Indicates whether to validate network traffic to or from this network interface.
+ SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
+
+ // The status of the network interface.
+ Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
+
+ // The ID of the subnet.
+ SubnetID *string `locationName:"subnetId" type:"string"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataInstanceNetworkInterface `json:"-" xml:"-"`
+}
+
+type metadataInstanceNetworkInterface struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceNetworkInterface) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceNetworkInterface) GoString() string {
+ return s.String()
+}
+
+// Describes association information for an Elastic IP address.
+type InstanceNetworkInterfaceAssociation struct {
+ // The ID of the owner of the Elastic IP address.
+ IPOwnerID *string `locationName:"ipOwnerId" type:"string"`
+
+ // The public DNS name.
+ PublicDNSName *string `locationName:"publicDnsName" type:"string"`
+
+ // The public IP address or Elastic IP address bound to the network interface.
+ PublicIP *string `locationName:"publicIp" type:"string"`
+
+ metadataInstanceNetworkInterfaceAssociation `json:"-" xml:"-"`
+}
+
+type metadataInstanceNetworkInterfaceAssociation struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceNetworkInterfaceAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceNetworkInterfaceAssociation) GoString() string {
+ return s.String()
+}
+
+// Describes a network interface attachment.
+type InstanceNetworkInterfaceAttachment struct {
+ // The time stamp when the attachment initiated.
+ AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The ID of the network interface attachment.
+ AttachmentID *string `locationName:"attachmentId" type:"string"`
+
+ // Indicates whether the network interface is deleted when the instance is terminated.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The index of the device on the instance for the network interface attachment.
+ DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
+
+ // The attachment state.
+ Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
+
+ metadataInstanceNetworkInterfaceAttachment `json:"-" xml:"-"`
+}
+
+type metadataInstanceNetworkInterfaceAttachment struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceNetworkInterfaceAttachment) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceNetworkInterfaceAttachment) GoString() string {
+ return s.String()
+}
+
+// Describes a network interface.
+type InstanceNetworkInterfaceSpecification struct {
+ // Indicates whether to assign a public IP address to an instance you launch
+ // in a VPC. The public IP address can only be assigned to a network interface
+ // for eth0, and can only be assigned to a new network interface, not an existing
+ // one. You cannot specify more than one network interface in the request. If
+ // launching into a default subnet, the default value is true.
+ AssociatePublicIPAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
+
+ // If set to true, the interface is deleted when the instance is terminated.
+ // You can specify true only if creating a new network interface when launching
+ // an instance.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The description of the network interface. Applies only if creating a network
+ // interface when launching an instance.
+ Description *string `locationName:"description" type:"string"`
+
+ // The index of the device on the instance for the network interface attachment.
+ // If you are specifying a network interface in a RunInstances request, you
+ // must provide the device index.
+ DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
+
+ // The IDs of the security groups for the network interface. Applies only if
+ // creating a network interface when launching an instance.
+ Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The private IP address of the network interface. Applies only if creating
+ // a network interface when launching an instance.
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // One or more private IP addresses to assign to the network interface. Only
+ // one private IP address can be designated as primary.
+ PrivateIPAddresses []*PrivateIPAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
+
+ // The number of secondary private IP addresses. You can't specify this option
+ // and specify more than one private IP address using the private IP addresses
+ // option.
+ SecondaryPrivateIPAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
+
+ // The ID of the subnet associated with the network string. Applies only if
+ // creating a network interface when launching an instance.
+ SubnetID *string `locationName:"subnetId" type:"string"`
+
+ metadataInstanceNetworkInterfaceSpecification `json:"-" xml:"-"`
+}
+
+type metadataInstanceNetworkInterfaceSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceNetworkInterfaceSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceNetworkInterfaceSpecification) GoString() string {
+ return s.String()
+}
+
+// Describes a private IP address.
+type InstancePrivateIPAddress struct {
+ // The association information for an Elastic IP address for the network interface.
+ Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
+
+ // Indicates whether this IP address is the primary private IP address of the
+ // network interface.
+ Primary *bool `locationName:"primary" type:"boolean"`
+
+ // The private DNS name.
+ PrivateDNSName *string `locationName:"privateDnsName" type:"string"`
+
+ // The private IP address of the network interface.
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ metadataInstancePrivateIPAddress `json:"-" xml:"-"`
+}
+
+type metadataInstancePrivateIPAddress struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstancePrivateIPAddress) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstancePrivateIPAddress) GoString() string {
+ return s.String()
+}
+
+// Describes the current state of the instance.
+type InstanceState struct {
+ // The low byte represents the state. The high byte is an opaque internal value
+ // and should be ignored.
+ //
+ // 0 : pending
+ //
+ // 16 : running
+ //
+ // 32 : shutting-down
+ //
+ // 48 : terminated
+ //
+ // 64 : stopping
+ //
+ // 80 : stopped
+ Code *int64 `locationName:"code" type:"integer"`
+
+ // The current state of the instance.
+ Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
+
+ metadataInstanceState `json:"-" xml:"-"`
+}
+
+type metadataInstanceState struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceState) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceState) GoString() string {
+ return s.String()
+}
+
+// Describes an instance state change.
+type InstanceStateChange struct {
+ // The current state of the instance.
+ CurrentState *InstanceState `locationName:"currentState" type:"structure"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The previous state of the instance.
+ PreviousState *InstanceState `locationName:"previousState" type:"structure"`
+
+ metadataInstanceStateChange `json:"-" xml:"-"`
+}
+
+type metadataInstanceStateChange struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceStateChange) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceStateChange) GoString() string {
+ return s.String()
+}
+
+// Describes the status of an instance.
+type InstanceStatus struct {
+ // The Availability Zone of the instance.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // Any scheduled events associated with the instance.
+ Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The intended state of the instance. DescribeInstanceStatus requires that
+ // an instance be in the running state.
+ InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
+
+ // Reports impaired functionality that stems from issues internal to the instance,
+ // such as impaired reachability.
+ InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
+
+ // Reports impaired functionality that stems from issues related to the systems
+ // that support an instance, such as hardware failures and network connectivity
+ // problems.
+ SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
+
+ metadataInstanceStatus `json:"-" xml:"-"`
+}
+
+type metadataInstanceStatus struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceStatus) GoString() string {
+ return s.String()
+}
+
+// Describes the instance status.
+type InstanceStatusDetails struct {
+ // The time when a status check failed. For an instance that was launched and
+ // impaired, this is the time when the instance was launched.
+ ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The type of instance status.
+ Name *string `locationName:"name" type:"string" enum:"StatusName"`
+
+ // The status.
+ Status *string `locationName:"status" type:"string" enum:"StatusType"`
+
+ metadataInstanceStatusDetails `json:"-" xml:"-"`
+}
+
+type metadataInstanceStatusDetails struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceStatusDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceStatusDetails) GoString() string {
+ return s.String()
+}
+
+// Describes a scheduled event for an instance.
+type InstanceStatusEvent struct {
+ // The event code.
+ Code *string `locationName:"code" type:"string" enum:"EventCode"`
+
+ // A description of the event.
+ //
+ // After a scheduled event is completed, it can still be described for up to
+ // a week. If the event has been completed, this description starts with the
+ // following text: [Completed].
+ Description *string `locationName:"description" type:"string"`
+
+ // The latest scheduled end time for the event.
+ NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The earliest scheduled start time for the event.
+ NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataInstanceStatusEvent `json:"-" xml:"-"`
+}
+
+type metadataInstanceStatusEvent struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceStatusEvent) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceStatusEvent) GoString() string {
+ return s.String()
+}
+
+// Describes the status of an instance.
+type InstanceStatusSummary struct {
+ // The system instance health or application instance health.
+ Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
+
+ // The status.
+ Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
+
+ metadataInstanceStatusSummary `json:"-" xml:"-"`
+}
+
+type metadataInstanceStatusSummary struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InstanceStatusSummary) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InstanceStatusSummary) GoString() string {
+ return s.String()
+}
+
+// Describes an Internet gateway.
+type InternetGateway struct {
+ // Any VPCs attached to the Internet gateway.
+ Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
+
+ // The ID of the Internet gateway.
+ InternetGatewayID *string `locationName:"internetGatewayId" type:"string"`
+
+ // Any tags assigned to the Internet gateway.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ metadataInternetGateway `json:"-" xml:"-"`
+}
+
+type metadataInternetGateway struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InternetGateway) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InternetGateway) GoString() string {
+ return s.String()
+}
+
+// Describes the attachment of a VPC to an Internet gateway.
+type InternetGatewayAttachment struct {
+ // The current state of the attachment.
+ State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataInternetGatewayAttachment `json:"-" xml:"-"`
+}
+
+type metadataInternetGatewayAttachment struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s InternetGatewayAttachment) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s InternetGatewayAttachment) GoString() string {
+ return s.String()
+}
+
+// Describes a key pair.
+type KeyPairInfo struct {
+ // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
+ // of the DER encoded private key. If you used ImportKeyPair to provide AWS
+ // the public key, this is the MD5 public key fingerprint as specified in section
+ // 4 of RFC4716.
+ KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ metadataKeyPairInfo `json:"-" xml:"-"`
+}
+
+type metadataKeyPairInfo struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s KeyPairInfo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s KeyPairInfo) GoString() string {
+ return s.String()
+}
+
+// Describes a launch permission.
+type LaunchPermission struct {
+ // The name of the group.
+ Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
+
+ // The AWS account ID.
+ UserID *string `locationName:"userId" type:"string"`
+
+ metadataLaunchPermission `json:"-" xml:"-"`
+}
+
+type metadataLaunchPermission struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s LaunchPermission) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchPermission) GoString() string {
+ return s.String()
+}
+
+// Describes a launch permission modification.
+type LaunchPermissionModifications struct {
+ // The AWS account ID to add to the list of launch permissions for the AMI.
+ Add []*LaunchPermission `locationNameList:"item" type:"list"`
+
+ // The AWS account ID to remove from the list of launch permissions for the
+ // AMI.
+ Remove []*LaunchPermission `locationNameList:"item" type:"list"`
+
+ metadataLaunchPermissionModifications `json:"-" xml:"-"`
+}
+
+type metadataLaunchPermissionModifications struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s LaunchPermissionModifications) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchPermissionModifications) GoString() string {
+ return s.String()
+}
+
+// Describes the launch specification for an instance.
+type LaunchSpecification struct {
+ // Deprecated.
+ AddressingType *string `locationName:"addressingType" type:"string"`
+
+ // One or more block device mapping entries.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // Indicates whether the instance is optimized for EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal EBS I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS
+ // Optimized instance.
+ //
+ // Default: false
+ EBSOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+
+ // The IAM instance profile.
+ IAMInstanceProfile *IAMInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the AMI.
+ ImageID *string `locationName:"imageId" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The ID of the kernel.
+ KernelID *string `locationName:"kernelId" type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ // Describes the monitoring for the instance.
+ Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
+
+ // One or more network interfaces.
+ NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
+
+ // The placement information for the instance.
+ Placement *SpotPlacement `locationName:"placement" type:"structure"`
+
+ // The ID of the RAM disk.
+ RAMDiskID *string `locationName:"ramdiskId" type:"string"`
+
+ // One or more security groups. To request an instance in a nondefault VPC,
+ // you must specify the ID of the security group. To request an instance in
+ // EC2-Classic or a default VPC, you can specify the name or the ID of the security
+ // group.
+ SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The ID of the subnet in which to launch the instance.
+ SubnetID *string `locationName:"subnetId" type:"string"`
+
+ // The Base64-encoded MIME user data to make available to the instances.
+ UserData *string `locationName:"userData" type:"string"`
+
+ metadataLaunchSpecification `json:"-" xml:"-"`
+}
+
+type metadataLaunchSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s LaunchSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s LaunchSpecification) GoString() string {
+ return s.String()
+}
+
+type ModifyImageAttributeInput struct {
+ // The name of the attribute to modify.
+ Attribute *string `type:"string"`
+
+ // A description for the AMI.
+ Description *AttributeValue `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the AMI.
+ ImageID *string `locationName:"ImageId" type:"string" required:"true"`
+
+ // A launch permission modification.
+ LaunchPermission *LaunchPermissionModifications `type:"structure"`
+
+ // The operation type.
+ OperationType *string `type:"string"`
+
+ // One or more product codes. After you add a product code to an AMI, it can't
+ // be removed. This is only valid when modifying the productCodes attribute.
+ ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
+
+ // One or more user groups. This is only valid when modifying the launchPermission
+ // attribute.
+ UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
+
+ // One or more AWS account IDs. This is only valid when modifying the launchPermission
+ // attribute.
+ UserIDs []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
+
+ // The value of the attribute being modified. This is only valid when modifying
+ // the description attribute.
+ Value *string `type:"string"`
+
+ metadataModifyImageAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataModifyImageAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyImageAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyImageAttributeInput) GoString() string {
+ return s.String()
+}
+
+type ModifyImageAttributeOutput struct {
+ metadataModifyImageAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataModifyImageAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyImageAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyImageAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ModifyInstanceAttributeInput struct {
+ // The name of the attribute.
+ Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
+
+ // Modifies the DeleteOnTermination attribute for volumes that are currently
+ // attached. The volume must be owned by the caller. If no value is specified
+ // for DeleteOnTermination, the default is true and the volume is deleted when
+ // the instance is terminated.
+ //
+ // To add instance store volumes to an Amazon EBS-backed instance, you must
+ // add them when you launch the instance. For more information, see Updating
+ // the Block Device Mapping when Launching an Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // If the value is true, you can't terminate the instance using the Amazon EC2
+ // console, CLI, or API; otherwise, you can.
+ DisableAPITermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Specifies whether the instance is optimized for EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal EBS I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS
+ // Optimized instance.
+ EBSOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
+
+ // [EC2-VPC] Changes the security groups of the instance. You must specify at
+ // least one security group, even if it's just the default security group for
+ // the VPC. You must specify the security group ID, not the security group name.
+ Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string" required:"true"`
+
+ // Specifies whether an instance stops or terminates when you initiate shutdown
+ // from the instance (using the operating system command for system shutdown).
+ InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
+
+ // Changes the instance type to the specified value. For more information, see
+ // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
+ // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
+ InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
+
+ // Changes the instance's kernel to the specified value. We recommend that you
+ // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
+ // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
+ Kernel *AttributeValue `locationName:"kernel" type:"structure"`
+
+ // Changes the instance's RAM disk to the specified value. We recommend that
+ // you use PV-GRUB instead of kernels and RAM disks. For more information, see
+ // PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
+ RAMDisk *AttributeValue `locationName:"ramdisk" type:"structure"`
+
+ // Set to simple to enable enhanced networking for the instance.
+ //
+ // There is no way to disable enhanced networking at this time.
+ //
+ // This option is supported only for HVM instances. Specifying this option
+ // with a PV instance can make it unreachable.
+ SRIOVNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
+
+ // Specifies whether source/destination checking is enabled. A value of true
+ // means that checking is enabled, and false means checking is disabled. This
+ // value must be false for a NAT instance to perform NAT.
+ SourceDestCheck *AttributeBooleanValue `type:"structure"`
+
+ // Changes the instance's user data to the specified value.
+ UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
+
+ // A new value for the attribute. Use only with the kernel, ramdisk, userData,
+ // disableApiTermination, or intanceInitiateShutdownBehavior attribute.
+ Value *string `locationName:"value" type:"string"`
+
+ metadataModifyInstanceAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataModifyInstanceAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyInstanceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyInstanceAttributeInput) GoString() string {
+ return s.String()
+}
+
+type ModifyInstanceAttributeOutput struct {
+ metadataModifyInstanceAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataModifyInstanceAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyInstanceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyInstanceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ModifyNetworkInterfaceAttributeInput struct {
+ // Information about the interface attachment. If modifying the 'delete on termination'
+ // attribute, you must specify the ID of the interface attachment.
+ Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
+
+ // A description for the network interface.
+ Description *AttributeValue `locationName:"description" type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Changes the security groups for the network interface. The new set of groups
+ // you specify replaces the current set. You must specify at least one group,
+ // even if it's just the default security group in the VPC. You must specify
+ // the ID of the security group, not the name.
+ Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+
+ // Indicates whether source/destination checking is enabled. A value of true
+ // means checking is enabled, and false means checking is disabled. This value
+ // must be false for a NAT instance to perform NAT. For more information, see
+ // NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
+ // in the Amazon Virtual Private Cloud User Guide.
+ SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
+
+ metadataModifyNetworkInterfaceAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataModifyNetworkInterfaceAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyNetworkInterfaceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
+ return s.String()
+}
+
+type ModifyNetworkInterfaceAttributeOutput struct {
+ metadataModifyNetworkInterfaceAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataModifyNetworkInterfaceAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyNetworkInterfaceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ModifyReservedInstancesInput struct {
+ // A unique, case-sensitive token you provide to ensure idempotency of your
+ // modification request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The IDs of the Reserved Instances to modify.
+ ReservedInstancesIDs []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
+
+ // The configuration settings for the Reserved Instances to modify.
+ TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
+
+ metadataModifyReservedInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataModifyReservedInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyReservedInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyReservedInstancesInput) GoString() string {
+ return s.String()
+}
+
+type ModifyReservedInstancesOutput struct {
+ // The ID for the modification.
+ ReservedInstancesModificationID *string `locationName:"reservedInstancesModificationId" type:"string"`
+
+ metadataModifyReservedInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataModifyReservedInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyReservedInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyReservedInstancesOutput) GoString() string {
+ return s.String()
+}
+
+type ModifySnapshotAttributeInput struct {
+ // The snapshot attribute to modify.
+ //
+ // Only volume creation permissions may be modified at the customer level.
+ Attribute *string `type:"string" enum:"SnapshotAttributeName"`
+
+ // A JSON representation of the snapshot attribute modification.
+ CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The group to modify for the snapshot.
+ GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
+
+ // The type of operation to perform to the attribute.
+ OperationType *string `type:"string"`
+
+ // The ID of the snapshot.
+ SnapshotID *string `locationName:"SnapshotId" type:"string" required:"true"`
+
+ // The account ID to modify for the snapshot.
+ UserIDs []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
+
+ metadataModifySnapshotAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataModifySnapshotAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifySnapshotAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifySnapshotAttributeInput) GoString() string {
+ return s.String()
+}
+
+type ModifySnapshotAttributeOutput struct {
+ metadataModifySnapshotAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataModifySnapshotAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifySnapshotAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifySnapshotAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ModifySubnetAttributeInput struct {
+ // Specify true to indicate that instances launched into the specified subnet
+ // should be assigned public IP address.
+ MapPublicIPOnLaunch *AttributeBooleanValue `locationName:"MapPublicIpOnLaunch" type:"structure"`
+
+ // The ID of the subnet.
+ SubnetID *string `locationName:"subnetId" type:"string" required:"true"`
+
+ metadataModifySubnetAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataModifySubnetAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifySubnetAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifySubnetAttributeInput) GoString() string {
+ return s.String()
+}
+
+type ModifySubnetAttributeOutput struct {
+ metadataModifySubnetAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataModifySubnetAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifySubnetAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifySubnetAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ModifyVPCAttributeInput struct {
+ // Indicates whether the instances launched in the VPC get DNS hostnames. If
+ // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
+ //
+ // You can only enable DNS hostnames if you also enable DNS support.
+ EnableDNSHostnames *AttributeBooleanValue `locationName:"EnableDnsHostnames" type:"structure"`
+
+ // Indicates whether the DNS resolution is supported for the VPC. If enabled,
+ // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
+ // or the reserved IP address at the base of the VPC network range "plus two"
+ // will succeed. If disabled, the Amazon provided DNS service in the VPC that
+ // resolves public DNS hostnames to IP addresses is not enabled.
+ EnableDNSSupport *AttributeBooleanValue `locationName:"EnableDnsSupport" type:"structure"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string" required:"true"`
+
+ metadataModifyVPCAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataModifyVPCAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyVPCAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVPCAttributeInput) GoString() string {
+ return s.String()
+}
+
+type ModifyVPCAttributeOutput struct {
+ metadataModifyVPCAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataModifyVPCAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyVPCAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVPCAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ModifyVPCEndpointInput struct {
+ // One or more route tables IDs to associate with the endpoint.
+ AddRouteTableIDs []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // A policy document to attach to the endpoint. The policy must be in valid
+ // JSON format.
+ PolicyDocument *string `type:"string"`
+
+ // One or more route table IDs to disassociate from the endpoint.
+ RemoveRouteTableIDs []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
+
+ // Specify true to reset the policy document to the default policy. The default
+ // policy allows access to the service.
+ ResetPolicy *bool `type:"boolean"`
+
+ // The ID of the endpoint.
+ VPCEndpointID *string `locationName:"VpcEndpointId" type:"string" required:"true"`
+
+ metadataModifyVPCEndpointInput `json:"-" xml:"-"`
+}
+
+type metadataModifyVPCEndpointInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyVPCEndpointInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVPCEndpointInput) GoString() string {
+ return s.String()
+}
+
+type ModifyVPCEndpointOutput struct {
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+
+ metadataModifyVPCEndpointOutput `json:"-" xml:"-"`
+}
+
+type metadataModifyVPCEndpointOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyVPCEndpointOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVPCEndpointOutput) GoString() string {
+ return s.String()
+}
+
+type ModifyVolumeAttributeInput struct {
+ // Indicates whether the volume should be auto-enabled for I/O operations.
+ AutoEnableIO *AttributeBooleanValue `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the volume.
+ VolumeID *string `locationName:"VolumeId" type:"string" required:"true"`
+
+ metadataModifyVolumeAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataModifyVolumeAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyVolumeAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVolumeAttributeInput) GoString() string {
+ return s.String()
+}
+
+type ModifyVolumeAttributeOutput struct {
+ metadataModifyVolumeAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataModifyVolumeAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ModifyVolumeAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ModifyVolumeAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type MonitorInstancesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more instance IDs.
+ InstanceIDs []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+
+ metadataMonitorInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataMonitorInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s MonitorInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MonitorInstancesInput) GoString() string {
+ return s.String()
+}
+
+type MonitorInstancesOutput struct {
+ // Monitoring information for one or more instances.
+ InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
+
+ metadataMonitorInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataMonitorInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s MonitorInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MonitorInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// Describes the monitoring for the instance.
+type Monitoring struct {
+ // Indicates whether monitoring is enabled for the instance.
+ State *string `locationName:"state" type:"string" enum:"MonitoringState"`
+
+ metadataMonitoring `json:"-" xml:"-"`
+}
+
+type metadataMonitoring struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Monitoring) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Monitoring) GoString() string {
+ return s.String()
+}
+
+type MoveAddressToVPCInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The Elastic IP address.
+ PublicIP *string `locationName:"publicIp" type:"string" required:"true"`
+
+ metadataMoveAddressToVPCInput `json:"-" xml:"-"`
+}
+
+type metadataMoveAddressToVPCInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s MoveAddressToVPCInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MoveAddressToVPCInput) GoString() string {
+ return s.String()
+}
+
+type MoveAddressToVPCOutput struct {
+ // The allocation ID for the Elastic IP address.
+ AllocationID *string `locationName:"allocationId" type:"string"`
+
+ // The status of the move of the IP address.
+ Status *string `locationName:"status" type:"string" enum:"Status"`
+
+ metadataMoveAddressToVPCOutput `json:"-" xml:"-"`
+}
+
+type metadataMoveAddressToVPCOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s MoveAddressToVPCOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MoveAddressToVPCOutput) GoString() string {
+ return s.String()
+}
+
+// Describes the status of a moving Elastic IP address.
+type MovingAddressStatus struct {
+ // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
+ // or restored to the EC2-Classic platform.
+ MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
+
+ // The Elastic IP address.
+ PublicIP *string `locationName:"publicIp" type:"string"`
+
+ metadataMovingAddressStatus `json:"-" xml:"-"`
+}
+
+type metadataMovingAddressStatus struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s MovingAddressStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s MovingAddressStatus) GoString() string {
+ return s.String()
+}
+
+// Describes a network ACL.
+type NetworkACL struct {
+ // Any associations between the network ACL and one or more subnets
+ Associations []*NetworkACLAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
+
+ // One or more entries (rules) in the network ACL.
+ Entries []*NetworkACLEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
+
+ // Indicates whether this is the default network ACL for the VPC.
+ IsDefault *bool `locationName:"default" type:"boolean"`
+
+ // The ID of the network ACL.
+ NetworkACLID *string `locationName:"networkAclId" type:"string"`
+
+ // Any tags assigned to the network ACL.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC for the network ACL.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataNetworkACL `json:"-" xml:"-"`
+}
+
+type metadataNetworkACL struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s NetworkACL) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkACL) GoString() string {
+ return s.String()
+}
+
+// Describes an association between a network ACL and a subnet.
+type NetworkACLAssociation struct {
+ // The ID of the association between a network ACL and a subnet.
+ NetworkACLAssociationID *string `locationName:"networkAclAssociationId" type:"string"`
+
+ // The ID of the network ACL.
+ NetworkACLID *string `locationName:"networkAclId" type:"string"`
+
+ // The ID of the subnet.
+ SubnetID *string `locationName:"subnetId" type:"string"`
+
+ metadataNetworkACLAssociation `json:"-" xml:"-"`
+}
+
+type metadataNetworkACLAssociation struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s NetworkACLAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkACLAssociation) GoString() string {
+ return s.String()
+}
+
+// Describes an entry in a network ACL.
+type NetworkACLEntry struct {
+ // The network range to allow or deny, in CIDR notation.
+ CIDRBlock *string `locationName:"cidrBlock" type:"string"`
+
+ // Indicates whether the rule is an egress rule (applied to traffic leaving
+ // the subnet).
+ Egress *bool `locationName:"egress" type:"boolean"`
+
+ // ICMP protocol: The ICMP type and code.
+ ICMPTypeCode *ICMPTypeCode `locationName:"icmpTypeCode" type:"structure"`
+
+ // TCP or UDP protocols: The range of ports the rule applies to.
+ PortRange *PortRange `locationName:"portRange" type:"structure"`
+
+ // The protocol. A value of -1 means all protocols.
+ Protocol *string `locationName:"protocol" type:"string"`
+
+ // Indicates whether to allow or deny the traffic that matches the rule.
+ RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
+
+ // The rule number for the entry. ACL entries are processed in ascending order
+ // by rule number.
+ RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
+
+ metadataNetworkACLEntry `json:"-" xml:"-"`
+}
+
+type metadataNetworkACLEntry struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s NetworkACLEntry) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkACLEntry) GoString() string {
+ return s.String()
+}
+
+// Describes a network interface.
+type NetworkInterface struct {
+ // The association information for an Elastic IP associated with the network
+ // interface.
+ Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
+
+ // The network interface attachment.
+ Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
+
+ // The Availability Zone.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // A description.
+ Description *string `locationName:"description" type:"string"`
+
+ // Any security groups for the network interface.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The MAC address.
+ MACAddress *string `locationName:"macAddress" type:"string"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The AWS account ID of the owner of the network interface.
+ OwnerID *string `locationName:"ownerId" type:"string"`
+
+ // The private DNS name.
+ PrivateDNSName *string `locationName:"privateDnsName" type:"string"`
+
+ // The IP address of the network interface within the subnet.
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // The private IP addresses associated with the network interface.
+ PrivateIPAddresses []*NetworkInterfacePrivateIPAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
+
+ // The ID of the entity that launched the instance on your behalf (for example,
+ // AWS Management Console or Auto Scaling).
+ RequesterID *string `locationName:"requesterId" type:"string"`
+
+ // Indicates whether the network interface is being managed by AWS.
+ RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
+
+ // Indicates whether traffic to or from the instance is validated.
+ SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
+
+ // The status of the network interface.
+ Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
+
+ // The ID of the subnet.
+ SubnetID *string `locationName:"subnetId" type:"string"`
+
+ // Any tags assigned to the network interface.
+ TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataNetworkInterface `json:"-" xml:"-"`
+}
+
+type metadataNetworkInterface struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s NetworkInterface) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterface) GoString() string {
+ return s.String()
+}
+
+// Describes association information for an Elastic IP address.
+type NetworkInterfaceAssociation struct {
+ // The allocation ID.
+ AllocationID *string `locationName:"allocationId" type:"string"`
+
+ // The association ID.
+ AssociationID *string `locationName:"associationId" type:"string"`
+
+ // The ID of the Elastic IP address owner.
+ IPOwnerID *string `locationName:"ipOwnerId" type:"string"`
+
+ // The public DNS name.
+ PublicDNSName *string `locationName:"publicDnsName" type:"string"`
+
+ // The address of the Elastic IP address bound to the network interface.
+ PublicIP *string `locationName:"publicIp" type:"string"`
+
+ metadataNetworkInterfaceAssociation `json:"-" xml:"-"`
+}
+
+type metadataNetworkInterfaceAssociation struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s NetworkInterfaceAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfaceAssociation) GoString() string {
+ return s.String()
+}
+
+// Describes a network interface attachment.
+type NetworkInterfaceAttachment struct {
+ // The timestamp indicating when the attachment initiated.
+ AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The ID of the network interface attachment.
+ AttachmentID *string `locationName:"attachmentId" type:"string"`
+
+ // Indicates whether the network interface is deleted when the instance is terminated.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The device index of the network interface attachment on the instance.
+ DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The AWS account ID of the owner of the instance.
+ InstanceOwnerID *string `locationName:"instanceOwnerId" type:"string"`
+
+ // The attachment state.
+ Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
+
+ metadataNetworkInterfaceAttachment `json:"-" xml:"-"`
+}
+
+type metadataNetworkInterfaceAttachment struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s NetworkInterfaceAttachment) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfaceAttachment) GoString() string {
+ return s.String()
+}
+
+// Describes an attachment change.
+type NetworkInterfaceAttachmentChanges struct {
+ // The ID of the network interface attachment.
+ AttachmentID *string `locationName:"attachmentId" type:"string"`
+
+ // Indicates whether the network interface is deleted when the instance is terminated.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ metadataNetworkInterfaceAttachmentChanges `json:"-" xml:"-"`
+}
+
+type metadataNetworkInterfaceAttachmentChanges struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s NetworkInterfaceAttachmentChanges) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfaceAttachmentChanges) GoString() string {
+ return s.String()
+}
+
+// Describes the private IP address of a network interface.
+type NetworkInterfacePrivateIPAddress struct {
+ // The association information for an Elastic IP address associated with the
+ // network interface.
+ Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
+
+ // Indicates whether this IP address is the primary private IP address of the
+ // network interface.
+ Primary *bool `locationName:"primary" type:"boolean"`
+
+ // The private DNS name.
+ PrivateDNSName *string `locationName:"privateDnsName" type:"string"`
+
+ // The private IP address.
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ metadataNetworkInterfacePrivateIPAddress `json:"-" xml:"-"`
+}
+
+type metadataNetworkInterfacePrivateIPAddress struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s NetworkInterfacePrivateIPAddress) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfacePrivateIPAddress) GoString() string {
+ return s.String()
+}
+
+type NewDHCPConfiguration struct {
+ Key *string `locationName:"key" type:"string"`
+
+ Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
+
+ metadataNewDHCPConfiguration `json:"-" xml:"-"`
+}
+
+type metadataNewDHCPConfiguration struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s NewDHCPConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NewDHCPConfiguration) GoString() string {
+ return s.String()
+}
+
+// Describes the placement for the instance.
+type Placement struct {
+ // The Availability Zone of the instance.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The name of the placement group the instance is in (for cluster compute instances).
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // The tenancy of the instance (if the instance is running in a VPC). An instance
+ // with a tenancy of dedicated runs on single-tenant hardware.
+ Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
+
+ metadataPlacement `json:"-" xml:"-"`
+}
+
+type metadataPlacement struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Placement) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Placement) GoString() string {
+ return s.String()
+}
+
+// Describes a placement group.
+type PlacementGroup struct {
+ // The name of the placement group.
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // The state of the placement group.
+ State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
+
+ // The placement strategy.
+ Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
+
+ metadataPlacementGroup `json:"-" xml:"-"`
+}
+
+type metadataPlacementGroup struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s PlacementGroup) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PlacementGroup) GoString() string {
+ return s.String()
+}
+
+// Describes a range of ports.
+type PortRange struct {
+ // The first port in the range.
+ From *int64 `locationName:"from" type:"integer"`
+
+ // The last port in the range.
+ To *int64 `locationName:"to" type:"integer"`
+
+ metadataPortRange `json:"-" xml:"-"`
+}
+
+type metadataPortRange struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s PortRange) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PortRange) GoString() string {
+ return s.String()
+}
+
+// Describes prefixes for AWS services.
+type PrefixList struct {
+ // The IP address range of the AWS service.
+ CIDRs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
+
+ // The ID of the prefix.
+ PrefixListID *string `locationName:"prefixListId" type:"string"`
+
+ // The name of the prefix.
+ PrefixListName *string `locationName:"prefixListName" type:"string"`
+
+ metadataPrefixList `json:"-" xml:"-"`
+}
+
+type metadataPrefixList struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s PrefixList) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PrefixList) GoString() string {
+ return s.String()
+}
+
+// The ID of the prefix.
+type PrefixListID struct {
+ // The ID of the prefix.
+ PrefixListID *string `locationName:"prefixListId" type:"string"`
+
+ metadataPrefixListID `json:"-" xml:"-"`
+}
+
+type metadataPrefixListID struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s PrefixListID) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PrefixListID) GoString() string {
+ return s.String()
+}
+
+// Describes the price for a Reserved Instance.
+type PriceSchedule struct {
+ // The current price schedule, as determined by the term remaining for the Reserved
+ // Instance in the listing.
+ //
+ // A specific price schedule is always in effect, but only one price schedule
+ // can be active at any time. Take, for example, a Reserved Instance listing
+ // that has five months remaining in its term. When you specify price schedules
+ // for five months and two months, this means that schedule 1, covering the
+ // first three months of the remaining term, will be active during months 5,
+ // 4, and 3. Then schedule 2, covering the last two months of the term, will
+ // be active for months 2 and 1.
+ Active *bool `locationName:"active" type:"boolean"`
+
+ // The currency for transacting the Reserved Instance resale. At this time,
+ // the only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The fixed price for the term.
+ Price *float64 `locationName:"price" type:"double"`
+
+ // The number of months remaining in the reservation. For example, 2 is the
+ // second to the last month before the capacity reservation expires.
+ Term *int64 `locationName:"term" type:"long"`
+
+ metadataPriceSchedule `json:"-" xml:"-"`
+}
+
+type metadataPriceSchedule struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s PriceSchedule) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PriceSchedule) GoString() string {
+ return s.String()
+}
+
+// Describes the price for a Reserved Instance.
+type PriceScheduleSpecification struct {
+ // The currency for transacting the Reserved Instance resale. At this time,
+ // the only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The fixed price for the term.
+ Price *float64 `locationName:"price" type:"double"`
+
+ // The number of months remaining in the reservation. For example, 2 is the
+ // second to the last month before the capacity reservation expires.
+ Term *int64 `locationName:"term" type:"long"`
+
+ metadataPriceScheduleSpecification `json:"-" xml:"-"`
+}
+
+type metadataPriceScheduleSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s PriceScheduleSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PriceScheduleSpecification) GoString() string {
+ return s.String()
+}
+
+// Describes a Reserved Instance offering.
+type PricingDetail struct {
+ // The number of instances available for the price.
+ Count *int64 `locationName:"count" type:"integer"`
+
+ // The price per instance.
+ Price *float64 `locationName:"price" type:"double"`
+
+ metadataPricingDetail `json:"-" xml:"-"`
+}
+
+type metadataPricingDetail struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s PricingDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PricingDetail) GoString() string {
+ return s.String()
+}
+
+// Describes a secondary private IP address for a network interface.
+type PrivateIPAddressSpecification struct {
+ // Indicates whether the private IP address is the primary private IP address.
+ // Only one IP address can be designated as primary.
+ Primary *bool `locationName:"primary" type:"boolean"`
+
+ // The private IP addresses.
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string" required:"true"`
+
+ metadataPrivateIPAddressSpecification `json:"-" xml:"-"`
+}
+
+type metadataPrivateIPAddressSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s PrivateIPAddressSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PrivateIPAddressSpecification) GoString() string {
+ return s.String()
+}
+
+// Describes a product code.
+type ProductCode struct {
+ // The product code.
+ ProductCodeID *string `locationName:"productCode" type:"string"`
+
+ // The type of product code.
+ ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
+
+ metadataProductCode `json:"-" xml:"-"`
+}
+
+type metadataProductCode struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ProductCode) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ProductCode) GoString() string {
+ return s.String()
+}
+
+// Describes a virtual private gateway propagating route.
+type PropagatingVGW struct {
+ // The ID of the virtual private gateway (VGW).
+ GatewayID *string `locationName:"gatewayId" type:"string"`
+
+ metadataPropagatingVGW `json:"-" xml:"-"`
+}
+
+type metadataPropagatingVGW struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s PropagatingVGW) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PropagatingVGW) GoString() string {
+ return s.String()
+}
+
+type PurchaseReservedInstancesOfferingInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The number of Reserved Instances to purchase.
+ InstanceCount *int64 `type:"integer" required:"true"`
+
+ // Specified for Reserved Instance Marketplace offerings to limit the total
+ // order and ensure that the Reserved Instances are not purchased at unexpected
+ // prices.
+ LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
+
+ // The ID of the Reserved Instance offering to purchase.
+ ReservedInstancesOfferingID *string `locationName:"ReservedInstancesOfferingId" type:"string" required:"true"`
+
+ metadataPurchaseReservedInstancesOfferingInput `json:"-" xml:"-"`
+}
+
+type metadataPurchaseReservedInstancesOfferingInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s PurchaseReservedInstancesOfferingInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PurchaseReservedInstancesOfferingInput) GoString() string {
+ return s.String()
+}
+
+type PurchaseReservedInstancesOfferingOutput struct {
+ // The IDs of the purchased Reserved Instances.
+ ReservedInstancesID *string `locationName:"reservedInstancesId" type:"string"`
+
+ metadataPurchaseReservedInstancesOfferingOutput `json:"-" xml:"-"`
+}
+
+type metadataPurchaseReservedInstancesOfferingOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s PurchaseReservedInstancesOfferingOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
+ return s.String()
+}
+
+type RebootInstancesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more instance IDs.
+ InstanceIDs []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+
+ metadataRebootInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataRebootInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RebootInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RebootInstancesInput) GoString() string {
+ return s.String()
+}
+
+type RebootInstancesOutput struct {
+ metadataRebootInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataRebootInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RebootInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RebootInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a recurring charge.
+type RecurringCharge struct {
+ // The amount of the recurring charge.
+ Amount *float64 `locationName:"amount" type:"double"`
+
+ // The frequency of the recurring charge.
+ Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
+
+ metadataRecurringCharge `json:"-" xml:"-"`
+}
+
+type metadataRecurringCharge struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RecurringCharge) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RecurringCharge) GoString() string {
+ return s.String()
+}
+
+// Describes a region.
+type Region struct {
+ // The region service endpoint.
+ Endpoint *string `locationName:"regionEndpoint" type:"string"`
+
+ // The name of the region.
+ RegionName *string `locationName:"regionName" type:"string"`
+
+ metadataRegion `json:"-" xml:"-"`
+}
+
+type metadataRegion struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Region) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Region) GoString() string {
+ return s.String()
+}
+
+type RegisterImageInput struct {
+ // The architecture of the AMI.
+ //
+ // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
+ // the architecture specified in the manifest file.
+ Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
+
+ // One or more block device mapping entries.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
+
+ // A description for your AMI.
+ Description *string `locationName:"description" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The full path to your AMI manifest in Amazon S3 storage.
+ ImageLocation *string `type:"string"`
+
+ // The ID of the kernel.
+ KernelID *string `locationName:"kernelId" type:"string"`
+
+ // A name for your AMI.
+ //
+ // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
+ // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
+ // at-signs (@), or underscores(_)
+ Name *string `locationName:"name" type:"string" required:"true"`
+
+ // The ID of the RAM disk.
+ RAMDiskID *string `locationName:"ramdiskId" type:"string"`
+
+ // The name of the root device (for example, /dev/sda1, or /dev/xvda).
+ RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
+
+ // Set to simple to enable enhanced networking for the AMI and any instances
+ // that you launch from the AMI.
+ //
+ // There is no way to disable enhanced networking at this time.
+ //
+ // This option is supported only for HVM AMIs. Specifying this option with
+ // a PV AMI can make instances launched from the AMI unreachable.
+ SRIOVNetSupport *string `locationName:"sriovNetSupport" type:"string"`
+
+ // The type of virtualization.
+ //
+ // Default: paravirtual
+ VirtualizationType *string `locationName:"virtualizationType" type:"string"`
+
+ metadataRegisterImageInput `json:"-" xml:"-"`
+}
+
+type metadataRegisterImageInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RegisterImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RegisterImageInput) GoString() string {
+ return s.String()
+}
+
+type RegisterImageOutput struct {
+ // The ID of the newly registered AMI.
+ ImageID *string `locationName:"imageId" type:"string"`
+
+ metadataRegisterImageOutput `json:"-" xml:"-"`
+}
+
+type metadataRegisterImageOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RegisterImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RegisterImageOutput) GoString() string {
+ return s.String()
+}
+
+type RejectVPCPeeringConnectionInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the VPC peering connection.
+ VPCPeeringConnectionID *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
+
+ metadataRejectVPCPeeringConnectionInput `json:"-" xml:"-"`
+}
+
+type metadataRejectVPCPeeringConnectionInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RejectVPCPeeringConnectionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RejectVPCPeeringConnectionInput) GoString() string {
+ return s.String()
+}
+
+type RejectVPCPeeringConnectionOutput struct {
+ // Returns true if the request succeeds; otherwise, it returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+
+ metadataRejectVPCPeeringConnectionOutput `json:"-" xml:"-"`
+}
+
+type metadataRejectVPCPeeringConnectionOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RejectVPCPeeringConnectionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RejectVPCPeeringConnectionOutput) GoString() string {
+ return s.String()
+}
+
+type ReleaseAddressInput struct {
+ // [EC2-VPC] The allocation ID. Required for EC2-VPC.
+ AllocationID *string `locationName:"AllocationId" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
+ PublicIP *string `locationName:"PublicIp" type:"string"`
+
+ metadataReleaseAddressInput `json:"-" xml:"-"`
+}
+
+type metadataReleaseAddressInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReleaseAddressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReleaseAddressInput) GoString() string {
+ return s.String()
+}
+
+type ReleaseAddressOutput struct {
+ metadataReleaseAddressOutput `json:"-" xml:"-"`
+}
+
+type metadataReleaseAddressOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReleaseAddressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReleaseAddressOutput) GoString() string {
+ return s.String()
+}
+
+type ReplaceNetworkACLAssociationInput struct {
+ // The ID of the current association between the original network ACL and the
+ // subnet.
+ AssociationID *string `locationName:"associationId" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the new network ACL to associate with the subnet.
+ NetworkACLID *string `locationName:"networkAclId" type:"string" required:"true"`
+
+ metadataReplaceNetworkACLAssociationInput `json:"-" xml:"-"`
+}
+
+type metadataReplaceNetworkACLAssociationInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReplaceNetworkACLAssociationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceNetworkACLAssociationInput) GoString() string {
+ return s.String()
+}
+
+type ReplaceNetworkACLAssociationOutput struct {
+ // The ID of the new association.
+ NewAssociationID *string `locationName:"newAssociationId" type:"string"`
+
+ metadataReplaceNetworkACLAssociationOutput `json:"-" xml:"-"`
+}
+
+type metadataReplaceNetworkACLAssociationOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReplaceNetworkACLAssociationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceNetworkACLAssociationOutput) GoString() string {
+ return s.String()
+}
+
+type ReplaceNetworkACLEntryInput struct {
+ // The network range to allow or deny, in CIDR notation.
+ CIDRBlock *string `locationName:"cidrBlock" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Indicates whether to replace the egress rule.
+ //
+ // Default: If no value is specified, we replace the ingress rule.
+ Egress *bool `locationName:"egress" type:"boolean" required:"true"`
+
+ // ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for
+ // the protocol.
+ ICMPTypeCode *ICMPTypeCode `locationName:"Icmp" type:"structure"`
+
+ // The ID of the ACL.
+ NetworkACLID *string `locationName:"networkAclId" type:"string" required:"true"`
+
+ // TCP or UDP protocols: The range of ports the rule applies to. Required if
+ // specifying 6 (TCP) or 17 (UDP) for the protocol.
+ PortRange *PortRange `locationName:"portRange" type:"structure"`
+
+ // The IP protocol. You can specify all or -1 to mean all protocols.
+ Protocol *string `locationName:"protocol" type:"string" required:"true"`
+
+ // Indicates whether to allow or deny the traffic that matches the rule.
+ RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
+
+ // The rule number of the entry to replace.
+ RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
+
+ metadataReplaceNetworkACLEntryInput `json:"-" xml:"-"`
+}
+
+type metadataReplaceNetworkACLEntryInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReplaceNetworkACLEntryInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceNetworkACLEntryInput) GoString() string {
+ return s.String()
+}
+
+type ReplaceNetworkACLEntryOutput struct {
+ metadataReplaceNetworkACLEntryOutput `json:"-" xml:"-"`
+}
+
+type metadataReplaceNetworkACLEntryOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReplaceNetworkACLEntryOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceNetworkACLEntryOutput) GoString() string {
+ return s.String()
+}
+
+type ReplaceRouteInput struct {
+ // The CIDR address block used for the destination match. The value you provide
+ // must match the CIDR of an existing route in the table.
+ DestinationCIDRBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of an Internet gateway or virtual private gateway.
+ GatewayID *string `locationName:"gatewayId" type:"string"`
+
+ // The ID of a NAT instance in your VPC.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The ID of a network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The ID of the route table.
+ RouteTableID *string `locationName:"routeTableId" type:"string" required:"true"`
+
+ // The ID of a VPC peering connection.
+ VPCPeeringConnectionID *string `locationName:"vpcPeeringConnectionId" type:"string"`
+
+ metadataReplaceRouteInput `json:"-" xml:"-"`
+}
+
+type metadataReplaceRouteInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReplaceRouteInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceRouteInput) GoString() string {
+ return s.String()
+}
+
+type ReplaceRouteOutput struct {
+ metadataReplaceRouteOutput `json:"-" xml:"-"`
+}
+
+type metadataReplaceRouteOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReplaceRouteOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceRouteOutput) GoString() string {
+ return s.String()
+}
+
+type ReplaceRouteTableAssociationInput struct {
+ // The association ID.
+ AssociationID *string `locationName:"associationId" type:"string" required:"true"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the new route table to associate with the subnet.
+ RouteTableID *string `locationName:"routeTableId" type:"string" required:"true"`
+
+ metadataReplaceRouteTableAssociationInput `json:"-" xml:"-"`
+}
+
+type metadataReplaceRouteTableAssociationInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReplaceRouteTableAssociationInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceRouteTableAssociationInput) GoString() string {
+ return s.String()
+}
+
+type ReplaceRouteTableAssociationOutput struct {
+ // The ID of the new association.
+ NewAssociationID *string `locationName:"newAssociationId" type:"string"`
+
+ metadataReplaceRouteTableAssociationOutput `json:"-" xml:"-"`
+}
+
+type metadataReplaceRouteTableAssociationOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReplaceRouteTableAssociationOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReplaceRouteTableAssociationOutput) GoString() string {
+ return s.String()
+}
+
+type ReportInstanceStatusInput struct {
+ // Descriptive text about the health state of your instance.
+ Description *string `locationName:"description" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The time at which the reported instance health state ended.
+ EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // One or more instances.
+ Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+
+ // One or more reason codes that describes the health state of your instance.
+ //
+ // instance-stuck-in-state: My instance is stuck in a state.
+ //
+ // unresponsive: My instance is unresponsive.
+ //
+ // not-accepting-credentials: My instance is not accepting my credentials.
+ //
+ // password-not-available: A password is not available for my instance.
+ //
+ // performance-network: My instance is experiencing performance problems which
+ // I believe are network related.
+ //
+ // performance-instance-store: My instance is experiencing performance problems
+ // which I believe are related to the instance stores.
+ //
+ // performance-ebs-volume: My instance is experiencing performance problems
+ // which I believe are related to an EBS volume.
+ //
+ // performance-other: My instance is experiencing performance problems.
+ //
+ // other: [explain using the description parameter]
+ ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
+
+ // The time at which the reported instance health state began.
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The status of all instances listed.
+ Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
+
+ metadataReportInstanceStatusInput `json:"-" xml:"-"`
+}
+
+type metadataReportInstanceStatusInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReportInstanceStatusInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReportInstanceStatusInput) GoString() string {
+ return s.String()
+}
+
+type ReportInstanceStatusOutput struct {
+ metadataReportInstanceStatusOutput `json:"-" xml:"-"`
+}
+
+type metadataReportInstanceStatusOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReportInstanceStatusOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReportInstanceStatusOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for RequestSpotFleet.
+type RequestSpotFleetInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The configuration for the Spot fleet request.
+ SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
+
+ metadataRequestSpotFleetInput `json:"-" xml:"-"`
+}
+
+type metadataRequestSpotFleetInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RequestSpotFleetInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestSpotFleetInput) GoString() string {
+ return s.String()
+}
+
+// Contains the output of RequestSpotFleet.
+type RequestSpotFleetOutput struct {
+ // The ID of the Spot fleet request.
+ SpotFleetRequestID *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+
+ metadataRequestSpotFleetOutput `json:"-" xml:"-"`
+}
+
+type metadataRequestSpotFleetOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RequestSpotFleetOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestSpotFleetOutput) GoString() string {
+ return s.String()
+}
+
+// Contains the parameters for RequestSpotInstances.
+type RequestSpotInstancesInput struct {
+ // The user-specified name for a logical grouping of bids.
+ //
+ // When you specify an Availability Zone group in a Spot Instance request,
+ // all Spot Instances in the request are launched in the same Availability Zone.
+ // Instance proximity is maintained with this parameter, but the choice of Availability
+ // Zone is not. The group applies only to bids for Spot Instances of the same
+ // instance type. Any additional Spot Instance requests that are specified with
+ // the same Availability Zone group name are launched in that same Availability
+ // Zone, as long as at least one instance from the group is still active.
+ //
+ // If there is no active instance running in the Availability Zone group that
+ // you specify for a new Spot Instance request (all instances are terminated,
+ // the bid is expired, or the bid falls below current market), then Amazon EC2
+ // launches the instance in any Availability Zone where the constraint can be
+ // met. Consequently, the subsequent set of Spot Instances could be placed in
+ // a different zone from the original request, even if you specified the same
+ // Availability Zone group.
+ //
+ // Default: Instances are launched in any available Availability Zone.
+ AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
+
+ // Unique, case-sensitive identifier that you provide to ensure the idempotency
+ // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The maximum number of Spot Instances to launch.
+ //
+ // Default: 1
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
+
+ // The instance launch group. Launch groups are Spot Instances that launch together
+ // and terminate together.
+ //
+ // Default: Instances are launched and terminated individually
+ LaunchGroup *string `locationName:"launchGroup" type:"string"`
+
+ // Describes the launch specification for an instance.
+ LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
+
+ // The maximum hourly price (bid) for any Spot Instance launched to fulfill
+ // the request.
+ SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
+
+ // The Spot Instance request type.
+ //
+ // Default: one-time
+ Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
+
+ // The start date of the request. If this is a one-time request, the request
+ // becomes active at this date and time and remains active until all instances
+ // launch, the request expires, or the request is canceled. If the request is
+ // persistent, the request becomes active at this date and time and remains
+ // active until it expires or is canceled.
+ //
+ // Default: The request is effective indefinitely.
+ ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The end date of the request. If this is a one-time request, the request remains
+ // active until all instances launch, the request is canceled, or this date
+ // is reached. If the request is persistent, it remains active until it is canceled
+ // or this date and time is reached.
+ //
+ // Default: The request is effective indefinitely.
+ ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataRequestSpotInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataRequestSpotInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RequestSpotInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestSpotInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Contains the output of RequestSpotInstances.
+type RequestSpotInstancesOutput struct {
+ // One or more Spot Instance requests.
+ SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
+
+ metadataRequestSpotInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataRequestSpotInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RequestSpotInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestSpotInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// Describes the launch specification for an instance.
+type RequestSpotLaunchSpecification struct {
+ // Deprecated.
+ AddressingType *string `locationName:"addressingType" type:"string"`
+
+ // One or more block device mapping entries.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // Indicates whether the instance is optimized for EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal EBS I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS
+ // Optimized instance.
+ //
+ // Default: false
+ EBSOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+
+ // The IAM instance profile.
+ IAMInstanceProfile *IAMInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the AMI.
+ ImageID *string `locationName:"imageId" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The ID of the kernel.
+ KernelID *string `locationName:"kernelId" type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ // Describes the monitoring for the instance.
+ Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
+
+ // One or more network interfaces.
+ NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
+
+ // The placement information for the instance.
+ Placement *SpotPlacement `locationName:"placement" type:"structure"`
+
+ // The ID of the RAM disk.
+ RAMDiskID *string `locationName:"ramdiskId" type:"string"`
+
+ SecurityGroupIDs []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
+
+ SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
+
+ // The ID of the subnet in which to launch the instance.
+ SubnetID *string `locationName:"subnetId" type:"string"`
+
+ // The Base64-encoded MIME user data to make available to the instances.
+ UserData *string `locationName:"userData" type:"string"`
+
+ metadataRequestSpotLaunchSpecification `json:"-" xml:"-"`
+}
+
+type metadataRequestSpotLaunchSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RequestSpotLaunchSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RequestSpotLaunchSpecification) GoString() string {
+ return s.String()
+}
+
+// Describes a reservation.
+type Reservation struct {
+ // One or more security groups.
+ Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // One or more instances.
+ Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
+
+ // The ID of the AWS account that owns the reservation.
+ OwnerID *string `locationName:"ownerId" type:"string"`
+
+ // The ID of the requester that launched the instances on your behalf (for example,
+ // AWS Management Console or Auto Scaling).
+ RequesterID *string `locationName:"requesterId" type:"string"`
+
+ // The ID of the reservation.
+ ReservationID *string `locationName:"reservationId" type:"string"`
+
+ metadataReservation `json:"-" xml:"-"`
+}
+
+type metadataReservation struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Reservation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Reservation) GoString() string {
+ return s.String()
+}
+
+// Describes the limit price of a Reserved Instance offering.
+type ReservedInstanceLimitPrice struct {
+ // Used for Reserved Instance Marketplace offerings. Specifies the limit price
+ // on the total order (instanceCount * price).
+ Amount *float64 `locationName:"amount" type:"double"`
+
+ // The currency in which the limitPrice amount is specified. At this time, the
+ // only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ metadataReservedInstanceLimitPrice `json:"-" xml:"-"`
+}
+
+type metadataReservedInstanceLimitPrice struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReservedInstanceLimitPrice) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstanceLimitPrice) GoString() string {
+ return s.String()
+}
+
+// Describes a Reserved Instance.
+type ReservedInstances struct {
+ // The Availability Zone in which the Reserved Instance can be used.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The currency of the Reserved Instance. It's specified using ISO 4217 standard
+ // currency codes. At this time, the only supported currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The duration of the Reserved Instance, in seconds.
+ Duration *int64 `locationName:"duration" type:"long"`
+
+ // The time when the Reserved Instance expires.
+ End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The purchase price of the Reserved Instance.
+ FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
+
+ // The number of Reserved Instances purchased.
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
+
+ // The tenancy of the reserved instance.
+ InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
+
+ // The instance type on which the Reserved Instance can be used.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The Reserved Instance offering type.
+ OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
+
+ // The Reserved Instance product platform description.
+ ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
+
+ // The recurring charge tag assigned to the resource.
+ RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
+
+ // The ID of the Reserved Instance.
+ ReservedInstancesID *string `locationName:"reservedInstancesId" type:"string"`
+
+ // The date and time the Reserved Instance started.
+ Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The state of the Reserved Instance purchase.
+ State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
+
+ // Any tags assigned to the resource.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The usage price of the Reserved Instance, per hour.
+ UsagePrice *float64 `locationName:"usagePrice" type:"float"`
+
+ metadataReservedInstances `json:"-" xml:"-"`
+}
+
+type metadataReservedInstances struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReservedInstances) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstances) GoString() string {
+ return s.String()
+}
+
+// Describes the configuration settings for the modified Reserved Instances.
+type ReservedInstancesConfiguration struct {
+ // The Availability Zone for the modified Reserved Instances.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The number of modified Reserved Instances.
+ InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
+
+ // The instance type for the modified Reserved Instances.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The network platform of the modified Reserved Instances, which is either
+ // EC2-Classic or EC2-VPC.
+ Platform *string `locationName:"platform" type:"string"`
+
+ metadataReservedInstancesConfiguration `json:"-" xml:"-"`
+}
+
+type metadataReservedInstancesConfiguration struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesConfiguration) GoString() string {
+ return s.String()
+}
+
+// Describes the ID of a Reserved Instance.
+type ReservedInstancesID struct {
+ // The ID of the Reserved Instance.
+ ReservedInstancesID *string `locationName:"reservedInstancesId" type:"string"`
+
+ metadataReservedInstancesID `json:"-" xml:"-"`
+}
+
+type metadataReservedInstancesID struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesID) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesID) GoString() string {
+ return s.String()
+}
+
+// Describes a Reserved Instance listing.
+type ReservedInstancesListing struct {
+ // A unique, case-sensitive key supplied by the client to ensure that the request
+ // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The time the listing was created.
+ CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The number of instances in this state.
+ InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
+
+ // The price of the Reserved Instance listing.
+ PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
+
+ // The ID of the Reserved Instance.
+ ReservedInstancesID *string `locationName:"reservedInstancesId" type:"string"`
+
+ // The ID of the Reserved Instance listing.
+ ReservedInstancesListingID *string `locationName:"reservedInstancesListingId" type:"string"`
+
+ // The status of the Reserved Instance listing.
+ Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
+
+ // The reason for the current status of the Reserved Instance listing. The response
+ // can be blank.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // Any tags assigned to the resource.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The last modified timestamp of the listing.
+ UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataReservedInstancesListing `json:"-" xml:"-"`
+}
+
+type metadataReservedInstancesListing struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesListing) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesListing) GoString() string {
+ return s.String()
+}
+
+// Describes a Reserved Instance modification.
+type ReservedInstancesModification struct {
+ // A unique, case-sensitive key supplied by the client to ensure that the request
+ // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // The time when the modification request was created.
+ CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The time for the modification to become effective.
+ EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Contains target configurations along with their corresponding new Reserved
+ // Instance IDs.
+ ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
+
+ // The IDs of one or more Reserved Instances.
+ ReservedInstancesIDs []*ReservedInstancesID `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
+
+ // A unique ID for the Reserved Instance modification.
+ ReservedInstancesModificationID *string `locationName:"reservedInstancesModificationId" type:"string"`
+
+ // The status of the Reserved Instances modification request.
+ Status *string `locationName:"status" type:"string"`
+
+ // The reason for the status.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // The time when the modification request was last updated.
+ UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataReservedInstancesModification `json:"-" xml:"-"`
+}
+
+type metadataReservedInstancesModification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesModification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesModification) GoString() string {
+ return s.String()
+}
+
+type ReservedInstancesModificationResult struct {
+ // The ID for the Reserved Instances that were created as part of the modification
+ // request. This field is only available when the modification is fulfilled.
+ ReservedInstancesID *string `locationName:"reservedInstancesId" type:"string"`
+
+ // The target Reserved Instances configurations supplied as part of the modification
+ // request.
+ TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
+
+ metadataReservedInstancesModificationResult `json:"-" xml:"-"`
+}
+
+type metadataReservedInstancesModificationResult struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesModificationResult) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesModificationResult) GoString() string {
+ return s.String()
+}
+
+// Describes a Reserved Instance offering.
+type ReservedInstancesOffering struct {
+ // The Availability Zone in which the Reserved Instance can be used.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The currency of the Reserved Instance offering you are purchasing. It's specified
+ // using ISO 4217 standard currency codes. At this time, the only supported
+ // currency is USD.
+ CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
+
+ // The duration of the Reserved Instance, in seconds.
+ Duration *int64 `locationName:"duration" type:"long"`
+
+ // The purchase price of the Reserved Instance.
+ FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
+
+ // The tenancy of the reserved instance.
+ InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
+
+ // The instance type on which the Reserved Instance can be used.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // Indicates whether the offering is available through the Reserved Instance
+ // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
+ // this is true.
+ Marketplace *bool `locationName:"marketplace" type:"boolean"`
+
+ // The Reserved Instance offering type.
+ OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
+
+ // The pricing details of the Reserved Instance offering.
+ PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
+
+ // The Reserved Instance product platform description.
+ ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
+
+ // The recurring charge tag assigned to the resource.
+ RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
+
+ // The ID of the Reserved Instance offering.
+ ReservedInstancesOfferingID *string `locationName:"reservedInstancesOfferingId" type:"string"`
+
+ // The usage price of the Reserved Instance, per hour.
+ UsagePrice *float64 `locationName:"usagePrice" type:"float"`
+
+ metadataReservedInstancesOffering `json:"-" xml:"-"`
+}
+
+type metadataReservedInstancesOffering struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ReservedInstancesOffering) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ReservedInstancesOffering) GoString() string {
+ return s.String()
+}
+
+type ResetImageAttributeInput struct {
+ // The attribute to reset (currently you can only reset the launch permission
+ // attribute).
+ Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the AMI.
+ ImageID *string `locationName:"ImageId" type:"string" required:"true"`
+
+ metadataResetImageAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataResetImageAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetImageAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetImageAttributeInput) GoString() string {
+ return s.String()
+}
+
+type ResetImageAttributeOutput struct {
+ metadataResetImageAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataResetImageAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetImageAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetImageAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ResetInstanceAttributeInput struct {
+ // The attribute to reset.
+ Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string" required:"true"`
+
+ metadataResetInstanceAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataResetInstanceAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetInstanceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetInstanceAttributeInput) GoString() string {
+ return s.String()
+}
+
+type ResetInstanceAttributeOutput struct {
+ metadataResetInstanceAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataResetInstanceAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetInstanceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetInstanceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ResetNetworkInterfaceAttributeInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+
+ // The source/destination checking attribute. Resets the value to true.
+ SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
+
+ metadataResetNetworkInterfaceAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataResetNetworkInterfaceAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetNetworkInterfaceAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetNetworkInterfaceAttributeInput) GoString() string {
+ return s.String()
+}
+
+type ResetNetworkInterfaceAttributeOutput struct {
+ metadataResetNetworkInterfaceAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataResetNetworkInterfaceAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetNetworkInterfaceAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type ResetSnapshotAttributeInput struct {
+ // The attribute to reset. Currently, only the attribute for permission to create
+ // volumes can be reset.
+ Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The ID of the snapshot.
+ SnapshotID *string `locationName:"SnapshotId" type:"string" required:"true"`
+
+ metadataResetSnapshotAttributeInput `json:"-" xml:"-"`
+}
+
+type metadataResetSnapshotAttributeInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetSnapshotAttributeInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetSnapshotAttributeInput) GoString() string {
+ return s.String()
+}
+
+type ResetSnapshotAttributeOutput struct {
+ metadataResetSnapshotAttributeOutput `json:"-" xml:"-"`
+}
+
+type metadataResetSnapshotAttributeOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s ResetSnapshotAttributeOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ResetSnapshotAttributeOutput) GoString() string {
+ return s.String()
+}
+
+type RestoreAddressToClassicInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The Elastic IP address.
+ PublicIP *string `locationName:"publicIp" type:"string" required:"true"`
+
+ metadataRestoreAddressToClassicInput `json:"-" xml:"-"`
+}
+
+type metadataRestoreAddressToClassicInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RestoreAddressToClassicInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RestoreAddressToClassicInput) GoString() string {
+ return s.String()
+}
+
+type RestoreAddressToClassicOutput struct {
+ // The Elastic IP address.
+ PublicIP *string `locationName:"publicIp" type:"string"`
+
+ // The move status for the IP address.
+ Status *string `locationName:"status" type:"string" enum:"Status"`
+
+ metadataRestoreAddressToClassicOutput `json:"-" xml:"-"`
+}
+
+type metadataRestoreAddressToClassicOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RestoreAddressToClassicOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RestoreAddressToClassicOutput) GoString() string {
+ return s.String()
+}
+
+type RevokeSecurityGroupEgressInput struct {
+ // The CIDR IP address range. You can't specify this parameter when specifying
+ // a source security group.
+ CIDRIP *string `locationName:"cidrIp" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The start of port range for the TCP and UDP protocols, or an ICMP type number.
+ // For the ICMP type number, use -1 to specify all ICMP types.
+ FromPort *int64 `locationName:"fromPort" type:"integer"`
+
+ // The ID of the security group.
+ GroupID *string `locationName:"groupId" type:"string" required:"true"`
+
+ // A set of IP permissions. You can't specify a destination security group and
+ // a CIDR IP address range.
+ IPPermissions []*IPPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
+
+ // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
+ // Use -1 to specify all.
+ IPProtocol *string `locationName:"ipProtocol" type:"string"`
+
+ // The name of a destination security group. To revoke outbound access to a
+ // destination security group, we recommend that you use a set of IP permissions
+ // instead.
+ SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
+
+ // The AWS account number for a destination security group. To revoke outbound
+ // access to a destination security group, we recommend that you use a set of
+ // IP permissions instead.
+ SourceSecurityGroupOwnerID *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
+
+ // The end of port range for the TCP and UDP protocols, or an ICMP code number.
+ // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
+ ToPort *int64 `locationName:"toPort" type:"integer"`
+
+ metadataRevokeSecurityGroupEgressInput `json:"-" xml:"-"`
+}
+
+type metadataRevokeSecurityGroupEgressInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RevokeSecurityGroupEgressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RevokeSecurityGroupEgressInput) GoString() string {
+ return s.String()
+}
+
+type RevokeSecurityGroupEgressOutput struct {
+ metadataRevokeSecurityGroupEgressOutput `json:"-" xml:"-"`
+}
+
+type metadataRevokeSecurityGroupEgressOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RevokeSecurityGroupEgressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RevokeSecurityGroupEgressOutput) GoString() string {
+ return s.String()
+}
+
+type RevokeSecurityGroupIngressInput struct {
+ // The CIDR IP address range. You can't specify this parameter when specifying
+ // a source security group.
+ CIDRIP *string `locationName:"CidrIp" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // The start of port range for the TCP and UDP protocols, or an ICMP type number.
+ // For the ICMP type number, use -1 to specify all ICMP types.
+ FromPort *int64 `type:"integer"`
+
+ // The ID of the security group. Required for a security group in a nondefault
+ // VPC.
+ GroupID *string `locationName:"GroupId" type:"string"`
+
+ // [EC2-Classic, default VPC] The name of the security group.
+ GroupName *string `type:"string"`
+
+ // A set of IP permissions. You can't specify a source security group and a
+ // CIDR IP address range.
+ IPPermissions []*IPPermission `locationName:"IpPermissions" locationNameList:"item" type:"list"`
+
+ // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
+ // Use -1 to specify all.
+ IPProtocol *string `locationName:"IpProtocol" type:"string"`
+
+ // [EC2-Classic, default VPC] The name of the source security group. You can't
+ // specify this parameter in combination with the following parameters: the
+ // CIDR IP address range, the start of the port range, the IP protocol, and
+ // the end of the port range. For EC2-VPC, the source security group must be
+ // in the same VPC.
+ SourceSecurityGroupName *string `type:"string"`
+
+ // [EC2-Classic, default VPC] The AWS account ID of the source security group.
+ // For EC2-VPC, the source security group must be in the same VPC. You can't
+ // specify this parameter in combination with the following parameters: the
+ // CIDR IP address range, the IP protocol, the start of the port range, and
+ // the end of the port range. To revoke a specific rule for an IP protocol and
+ // port range, use a set of IP permissions instead.
+ SourceSecurityGroupOwnerID *string `locationName:"SourceSecurityGroupOwnerId" type:"string"`
+
+ // The end of port range for the TCP and UDP protocols, or an ICMP code number.
+ // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
+ ToPort *int64 `type:"integer"`
+
+ metadataRevokeSecurityGroupIngressInput `json:"-" xml:"-"`
+}
+
+type metadataRevokeSecurityGroupIngressInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RevokeSecurityGroupIngressInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RevokeSecurityGroupIngressInput) GoString() string {
+ return s.String()
+}
+
+type RevokeSecurityGroupIngressOutput struct {
+ metadataRevokeSecurityGroupIngressOutput `json:"-" xml:"-"`
+}
+
+type metadataRevokeSecurityGroupIngressOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RevokeSecurityGroupIngressOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RevokeSecurityGroupIngressOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a route in a route table.
+type Route struct {
+ // The CIDR block used for the destination match.
+ DestinationCIDRBlock *string `locationName:"destinationCidrBlock" type:"string"`
+
+ // The prefix of the AWS service.
+ DestinationPrefixListID *string `locationName:"destinationPrefixListId" type:"string"`
+
+ // The ID of a gateway attached to your VPC.
+ GatewayID *string `locationName:"gatewayId" type:"string"`
+
+ // The ID of a NAT instance in your VPC.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The AWS account ID of the owner of the instance.
+ InstanceOwnerID *string `locationName:"instanceOwnerId" type:"string"`
+
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string"`
+
+ // Describes how the route was created.
+ //
+ // CreateRouteTable indicates that route was automatically created when the
+ // route table was created. CreateRoute indicates that the route was manually
+ // added to the route table. EnableVgwRoutePropagation indicates that the route
+ // was propagated by route propagation.
+ Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
+
+ // The state of the route. The blackhole state indicates that the route's target
+ // isn't available (for example, the specified gateway isn't attached to the
+ // VPC, or the specified NAT instance has been terminated).
+ State *string `locationName:"state" type:"string" enum:"RouteState"`
+
+ // The ID of the VPC peering connection.
+ VPCPeeringConnectionID *string `locationName:"vpcPeeringConnectionId" type:"string"`
+
+ metadataRoute `json:"-" xml:"-"`
+}
+
+type metadataRoute struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Route) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Route) GoString() string {
+ return s.String()
+}
+
+// Describes a route table.
+type RouteTable struct {
+ // The associations between the route table and one or more subnets.
+ Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
+
+ // Any virtual private gateway (VGW) propagating routes.
+ PropagatingVGWs []*PropagatingVGW `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
+
+ // The ID of the route table.
+ RouteTableID *string `locationName:"routeTableId" type:"string"`
+
+ // The routes in the route table.
+ Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
+
+ // Any tags assigned to the route table.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataRouteTable `json:"-" xml:"-"`
+}
+
+type metadataRouteTable struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RouteTable) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RouteTable) GoString() string {
+ return s.String()
+}
+
+// Describes an association between a route table and a subnet.
+type RouteTableAssociation struct {
+ // Indicates whether this is the main route table.
+ Main *bool `locationName:"main" type:"boolean"`
+
+ // The ID of the association between a route table and a subnet.
+ RouteTableAssociationID *string `locationName:"routeTableAssociationId" type:"string"`
+
+ // The ID of the route table.
+ RouteTableID *string `locationName:"routeTableId" type:"string"`
+
+ // The ID of the subnet. A subnet ID is not returned for an implicit association.
+ SubnetID *string `locationName:"subnetId" type:"string"`
+
+ metadataRouteTableAssociation `json:"-" xml:"-"`
+}
+
+type metadataRouteTableAssociation struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RouteTableAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RouteTableAssociation) GoString() string {
+ return s.String()
+}
+
+type RunInstancesInput struct {
+ // Reserved.
+ AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
+
+ // The block device mapping.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
+
+ // Unique, case-sensitive identifier you provide to ensure the idempotency of
+ // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
+ //
+ // Constraints: Maximum 64 ASCII characters
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // If you set this parameter to true, you can't terminate the instance using
+ // the Amazon EC2 console, CLI, or API; otherwise, you can. If you set this
+ // parameter to true and then later want to be able to terminate the instance,
+ // you must first change the value of the disableApiTermination attribute to
+ // false using ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior
+ // to terminate, you can terminate the instance by running the shutdown command
+ // from the instance.
+ //
+ // Default: false
+ DisableAPITermination *bool `locationName:"disableApiTermination" type:"boolean"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Indicates whether the instance is optimized for EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal EBS I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS-optimized
+ // instance.
+ //
+ // Default: false
+ EBSOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+
+ // The IAM instance profile.
+ IAMInstanceProfile *IAMInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the AMI, which you can get by calling DescribeImages.
+ ImageID *string `locationName:"ImageId" type:"string" required:"true"`
+
+ // Indicates whether an instance stops or terminates when you initiate shutdown
+ // from the instance (using the operating system command for system shutdown).
+ //
+ // Default: stop
+ InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
+
+ // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ //
+ // Default: m1.small
+ InstanceType *string `type:"string" enum:"InstanceType"`
+
+ // The ID of the kernel.
+ //
+ // We recommend that you use PV-GRUB instead of kernels and RAM disks. For
+ // more information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ KernelID *string `locationName:"KernelId" type:"string"`
+
+ // The name of the key pair. You can create a key pair using CreateKeyPair or
+ // ImportKeyPair.
+ //
+ // If you do not specify a key pair, you can't connect to the instance unless
+ // you choose an AMI that is configured to allow users another way to log in.
+ KeyName *string `type:"string"`
+
+ // The maximum number of instances to launch. If you specify more instances
+ // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
+ // the largest possible number of instances above MinCount.
+ //
+ // Constraints: Between 1 and the maximum number you're allowed for the specified
+ // instance type. For more information about the default limits, and how to
+ // request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2)
+ // in the Amazon EC2 General FAQ.
+ MaxCount *int64 `type:"integer" required:"true"`
+
+ // The minimum number of instances to launch. If you specify a minimum that
+ // is more instances than Amazon EC2 can launch in the target Availability Zone,
+ // Amazon EC2 launches no instances.
+ //
+ // Constraints: Between 1 and the maximum number you're allowed for the specified
+ // instance type. For more information about the default limits, and how to
+ // request an increase, see How many instances can I run in Amazon EC2 (http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2)
+ // in the Amazon EC2 General FAQ.
+ MinCount *int64 `type:"integer" required:"true"`
+
+ // The monitoring for the instance.
+ Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
+
+ // One or more network interfaces.
+ NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
+
+ // The placement for the instance.
+ Placement *Placement `type:"structure"`
+
+ // [EC2-VPC] The primary IP address. You must specify a value from the IP address
+ // range of the subnet.
+ //
+ // Only one private IP address can be designated as primary. Therefore, you
+ // can't specify this parameter if PrivateIpAddresses.n.Primary is set to true
+ // and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address.
+ //
+ // Default: We select an IP address from the IP address range of the subnet.
+ PrivateIPAddress *string `locationName:"privateIpAddress" type:"string"`
+
+ // The ID of the RAM disk.
+ //
+ // We recommend that you use PV-GRUB instead of kernels and RAM disks. For
+ // more information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ RAMDiskID *string `locationName:"RamdiskId" type:"string"`
+
+ // One or more security group IDs. You can create a security group using CreateSecurityGroup.
+ //
+ // Default: Amazon EC2 uses the default security group.
+ SecurityGroupIDs []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
+
+ // [EC2-Classic, default VPC] One or more security group names. For a nondefault
+ // VPC, you must use security group IDs instead.
+ //
+ // Default: Amazon EC2 uses the default security group.
+ SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
+
+ // [EC2-VPC] The ID of the subnet to launch the instance into.
+ SubnetID *string `locationName:"SubnetId" type:"string"`
+
+ // The Base64-encoded MIME user data for the instances.
+ UserData *string `type:"string"`
+
+ metadataRunInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataRunInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RunInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RunInstancesInput) GoString() string {
+ return s.String()
+}
+
+// Describes the monitoring for the instance.
+type RunInstancesMonitoringEnabled struct {
+ // Indicates whether monitoring is enabled for the instance.
+ Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
+
+ metadataRunInstancesMonitoringEnabled `json:"-" xml:"-"`
+}
+
+type metadataRunInstancesMonitoringEnabled struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s RunInstancesMonitoringEnabled) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s RunInstancesMonitoringEnabled) GoString() string {
+ return s.String()
+}
+
+// Describes the storage parameters for S3 and S3 buckets for an instance store-backed
+// AMI.
+type S3Storage struct {
+ // The access key ID of the owner of the bucket. Before you specify a value
+ // for your access key ID, review and follow the guidance in Best Practices
+ // for Managing AWS Access Keys (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
+ AWSAccessKeyID *string `locationName:"AWSAccessKeyId" type:"string"`
+
+ // The bucket in which to store the AMI. You can specify a bucket that you already
+ // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
+ // a bucket that belongs to someone else, Amazon EC2 returns an error.
+ Bucket *string `locationName:"bucket" type:"string"`
+
+ // The beginning of the file name of the AMI.
+ Prefix *string `locationName:"prefix" type:"string"`
+
+ // A Base64-encoded Amazon S3 upload policy that gives Amazon EC2 permission
+ // to upload items into Amazon S3 on your behalf.
+ UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
+
+ // The signature of the Base64 encoded JSON document.
+ UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
+
+ metadataS3Storage `json:"-" xml:"-"`
+}
+
+type metadataS3Storage struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s S3Storage) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s S3Storage) GoString() string {
+ return s.String()
+}
+
+// Describes a security group
+type SecurityGroup struct {
+ // A description of the security group.
+ Description *string `locationName:"groupDescription" type:"string"`
+
+ // The ID of the security group.
+ GroupID *string `locationName:"groupId" type:"string"`
+
+ // The name of the security group.
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // One or more inbound rules associated with the security group.
+ IPPermissions []*IPPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
+
+ // [EC2-VPC] One or more outbound rules associated with the security group.
+ IPPermissionsEgress []*IPPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
+
+ // The AWS account ID of the owner of the security group.
+ OwnerID *string `locationName:"ownerId" type:"string"`
+
+ // Any tags assigned to the security group.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // [EC2-VPC] The ID of the VPC for the security group.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataSecurityGroup `json:"-" xml:"-"`
+}
+
+type metadataSecurityGroup struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SecurityGroup) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SecurityGroup) GoString() string {
+ return s.String()
+}
+
+// Describes a snapshot.
+type Snapshot struct {
+ // The description for the snapshot.
+ Description *string `locationName:"description" type:"string"`
+
+ // Indicates whether the snapshot is encrypted.
+ Encrypted *bool `locationName:"encrypted" type:"boolean"`
+
+ // The full ARN of the AWS Key Management Service (AWS KMS) customer master
+ // key (CMK) that was used to protect the volume encryption key for the parent
+ // volume.
+ KMSKeyID *string `locationName:"kmsKeyId" type:"string"`
+
+ // The AWS account alias (for example, amazon, self) or AWS account ID that
+ // owns the snapshot.
+ OwnerAlias *string `locationName:"ownerAlias" type:"string"`
+
+ // The AWS account ID of the EBS snapshot owner.
+ OwnerID *string `locationName:"ownerId" type:"string"`
+
+ // The progress of the snapshot, as a percentage.
+ Progress *string `locationName:"progress" type:"string"`
+
+ // The ID of the snapshot.
+ SnapshotID *string `locationName:"snapshotId" type:"string"`
+
+ // The time stamp when the snapshot was initiated.
+ StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The snapshot state.
+ State *string `locationName:"status" type:"string" enum:"SnapshotState"`
+
+ // Any tags assigned to the snapshot.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the volume.
+ VolumeID *string `locationName:"volumeId" type:"string"`
+
+ // The size of the volume, in GiB.
+ VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
+
+ metadataSnapshot `json:"-" xml:"-"`
+}
+
+type metadataSnapshot struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Snapshot) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Snapshot) GoString() string {
+ return s.String()
+}
+
+// Describes the snapshot created from the imported disk.
+type SnapshotDetail struct {
+ // A description for the snapshot.
+ Description *string `locationName:"description" type:"string"`
+
+ // The block device mapping for the snapshot.
+ DeviceName *string `locationName:"deviceName" type:"string"`
+
+ // The size of the disk in the snapshot, in GiB.
+ DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
+
+ // The format of the disk image from which the snapshot is created.
+ Format *string `locationName:"format" type:"string"`
+
+ // The percentage of progress for the task.
+ Progress *string `locationName:"progress" type:"string"`
+
+ // The snapshot ID of the disk being imported.
+ SnapshotID *string `locationName:"snapshotId" type:"string"`
+
+ // A brief status of the snapshot creation.
+ Status *string `locationName:"status" type:"string"`
+
+ // A detailed status message for the snapshot creation.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // The URL used to access the disk image.
+ URL *string `locationName:"url" type:"string"`
+
+ // Describes the S3 bucket for the disk image.
+ UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
+
+ metadataSnapshotDetail `json:"-" xml:"-"`
+}
+
+type metadataSnapshotDetail struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SnapshotDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SnapshotDetail) GoString() string {
+ return s.String()
+}
+
+// The disk container object for the import snapshot request.
+type SnapshotDiskContainer struct {
+ // The description of the disk image being imported.
+ Description *string `type:"string"`
+
+ // The format of the disk image being imported.
+ //
+ // Valid values: RAW | VHD | VMDK | OVA
+ Format *string `type:"string"`
+
+ // The URL to the Amazon S3-based disk image being imported. It can either be
+ // a https URL (https://..) or an Amazon S3 URL (s3://..).
+ URL *string `locationName:"Url" type:"string"`
+
+ // Describes the S3 bucket for the disk image.
+ UserBucket *UserBucket `type:"structure"`
+
+ metadataSnapshotDiskContainer `json:"-" xml:"-"`
+}
+
+type metadataSnapshotDiskContainer struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SnapshotDiskContainer) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SnapshotDiskContainer) GoString() string {
+ return s.String()
+}
+
+// Details about the import snapshot task.
+type SnapshotTaskDetail struct {
+ // The description of the snapshot.
+ Description *string `locationName:"description" type:"string"`
+
+ // The size of the disk in the snapshot, in GiB.
+ DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
+
+ // The format of the disk image from which the snapshot is created.
+ Format *string `locationName:"format" type:"string"`
+
+ // The percentage of completion for the import snapshot task.
+ Progress *string `locationName:"progress" type:"string"`
+
+ // The snapshot ID of the disk being imported.
+ SnapshotID *string `locationName:"snapshotId" type:"string"`
+
+ // A brief status for the import snapshot task.
+ Status *string `locationName:"status" type:"string"`
+
+ // A detailed status message for the import snapshot task.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ // The URL of the disk image from which the snapshot is created.
+ URL *string `locationName:"url" type:"string"`
+
+ // The S3 bucket for the disk image.
+ UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
+
+ metadataSnapshotTaskDetail `json:"-" xml:"-"`
+}
+
+type metadataSnapshotTaskDetail struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SnapshotTaskDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SnapshotTaskDetail) GoString() string {
+ return s.String()
+}
+
+// Describes the data feed for a Spot Instance.
+type SpotDatafeedSubscription struct {
+ // The Amazon S3 bucket where the Spot Instance data feed is located.
+ Bucket *string `locationName:"bucket" type:"string"`
+
+ // The fault codes for the Spot Instance request, if any.
+ Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
+
+ // The AWS account ID of the account.
+ OwnerID *string `locationName:"ownerId" type:"string"`
+
+ // The prefix that is prepended to data feed files.
+ Prefix *string `locationName:"prefix" type:"string"`
+
+ // The state of the Spot Instance data feed subscription.
+ State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
+
+ metadataSpotDatafeedSubscription `json:"-" xml:"-"`
+}
+
+type metadataSpotDatafeedSubscription struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SpotDatafeedSubscription) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotDatafeedSubscription) GoString() string {
+ return s.String()
+}
+
+// Describes the launch specification for an instance.
+type SpotFleetLaunchSpecification struct {
+ // Deprecated.
+ AddressingType *string `locationName:"addressingType" type:"string"`
+
+ // One or more block device mapping entries.
+ BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
+
+ // Indicates whether the instance is optimized for EBS I/O. This optimization
+ // provides dedicated throughput to Amazon EBS and an optimized configuration
+ // stack to provide optimal EBS I/O performance. This optimization isn't available
+ // with all instance types. Additional usage charges apply when using an EBS
+ // Optimized instance.
+ //
+ // Default: false
+ EBSOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+
+ // Describes an IAM instance profile.
+ IAMInstanceProfile *IAMInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
+
+ // The ID of the AMI.
+ ImageID *string `locationName:"imageId" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // The ID of the kernel.
+ KernelID *string `locationName:"kernelId" type:"string"`
+
+ // The name of the key pair.
+ KeyName *string `locationName:"keyName" type:"string"`
+
+ // Enable or disable monitoring for the instance.
+ Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
+
+ // One or more network interfaces.
+ NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
+
+ // Describes Spot Instance placement.
+ Placement *SpotPlacement `locationName:"placement" type:"structure"`
+
+ // The ID of the RAM disk.
+ RAMDiskID *string `locationName:"ramdiskId" type:"string"`
+
+ // One or more security groups. To request an instance in a nondefault VPC,
+ // you must specify the ID of the security group. To request an instance in
+ // EC2-Classic or a default VPC, you can specify the name or the ID of the security
+ // group.
+ SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
+
+ // The ID of the subnet in which to launch the instance.
+ SubnetID *string `locationName:"subnetId" type:"string"`
+
+ // The Base64-encoded MIME user data to make available to the instances.
+ UserData *string `locationName:"userData" type:"string"`
+
+ metadataSpotFleetLaunchSpecification `json:"-" xml:"-"`
+}
+
+type metadataSpotFleetLaunchSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SpotFleetLaunchSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotFleetLaunchSpecification) GoString() string {
+ return s.String()
+}
+
+// Describes whether monitoring is enabled.
+type SpotFleetMonitoring struct {
+ // Enables monitoring for the instance.
+ //
+ // Default: false
+ Enabled *bool `locationName:"enabled" type:"boolean"`
+
+ metadataSpotFleetMonitoring `json:"-" xml:"-"`
+}
+
+type metadataSpotFleetMonitoring struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SpotFleetMonitoring) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotFleetMonitoring) GoString() string {
+ return s.String()
+}
+
+// Describes a Spot fleet request.
+type SpotFleetRequestConfig struct {
+ // Information about the configuration of the Spot fleet request.
+ SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
+
+ // The ID of the Spot fleet request.
+ SpotFleetRequestID *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
+
+ // The state of the Spot fleet request.
+ SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
+
+ metadataSpotFleetRequestConfig `json:"-" xml:"-"`
+}
+
+type metadataSpotFleetRequestConfig struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SpotFleetRequestConfig) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotFleetRequestConfig) GoString() string {
+ return s.String()
+}
+
+// Describes the configuration of a Spot fleet request.
+type SpotFleetRequestConfigData struct {
+ // A unique, case-sensitive identifier you provide to ensure idempotency of
+ // your listings. This helps avoid duplicate listings. For more information,
+ // see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
+ ClientToken *string `locationName:"clientToken" type:"string"`
+
+ // Grants the Spot fleet service permission to terminate instances on your behalf
+ // when you cancel a Spot fleet request using CancelSpotFleetRequests or when
+ // the Spot fleet request expires, if you set terminateInstancesWithExpiration.
+ IAMFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
+
+ // Information about the launch specifications for the instances.
+ LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list" required:"true"`
+
+ // The maximum hourly price (bid) for any Spot Instance launched to fulfill
+ // the request.
+ SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
+
+ // The maximum number of Spot Instances to launch.
+ TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
+
+ // Indicates whether running instances should be terminated when the Spot fleet
+ // request expires.
+ TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
+
+ // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ // The default is to start fulfilling the request immediately.
+ ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ // At this point, no new Spot Instance requests are placed or enabled to fulfill
+ // the request.
+ ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataSpotFleetRequestConfigData `json:"-" xml:"-"`
+}
+
+type metadataSpotFleetRequestConfigData struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SpotFleetRequestConfigData) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotFleetRequestConfigData) GoString() string {
+ return s.String()
+}
+
+// Describe a Spot Instance request.
+type SpotInstanceRequest struct {
+ // The Availability Zone group. If you specify the same Availability Zone group
+ // for all Spot Instance requests, all Spot Instances are launched in the same
+ // Availability Zone.
+ AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
+
+ // The date and time when the Spot Instance request was created, in UTC format
+ // (for example, YYYY-MM-DDTHH:MM:SSZ).
+ CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The fault codes for the Spot Instance request, if any.
+ Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
+
+ // The instance ID, if an instance has been launched to fulfill the Spot Instance
+ // request.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The instance launch group. Launch groups are Spot Instances that launch together
+ // and terminate together.
+ LaunchGroup *string `locationName:"launchGroup" type:"string"`
+
+ // Additional information for launching instances.
+ LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
+
+ // The Availability Zone in which the bid is launched.
+ LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
+
+ // The product description associated with the Spot Instance.
+ ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
+
+ // The ID of the Spot Instance request.
+ SpotInstanceRequestID *string `locationName:"spotInstanceRequestId" type:"string"`
+
+ // The maximum hourly price (bid) for any Spot Instance launched to fulfill
+ // the request.
+ SpotPrice *string `locationName:"spotPrice" type:"string"`
+
+ // The state of the Spot Instance request. Spot bid status information can help
+ // you track your Spot Instance requests. For more information, see Spot Bid
+ // Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
+
+ // The status code and status message describing the Spot Instance request.
+ Status *SpotInstanceStatus `locationName:"status" type:"structure"`
+
+ // Any tags assigned to the resource.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The Spot Instance request type.
+ Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
+
+ // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ // If this is a one-time request, the request becomes active at this date and
+ // time and remains active until all instances launch, the request expires,
+ // or the request is canceled. If the request is persistent, the request becomes
+ // active at this date and time and remains active until it expires or is canceled.
+ ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ // If this is a one-time request, the request remains active until all instances
+ // launch, the request is canceled, or this date is reached. If the request
+ // is persistent, it remains active until it is canceled or this date is reached.
+ ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataSpotInstanceRequest `json:"-" xml:"-"`
+}
+
+type metadataSpotInstanceRequest struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SpotInstanceRequest) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotInstanceRequest) GoString() string {
+ return s.String()
+}
+
+// Describes a Spot Instance state change.
+type SpotInstanceStateFault struct {
+ // The reason code for the Spot Instance state change.
+ Code *string `locationName:"code" type:"string"`
+
+ // The message for the Spot Instance state change.
+ Message *string `locationName:"message" type:"string"`
+
+ metadataSpotInstanceStateFault `json:"-" xml:"-"`
+}
+
+type metadataSpotInstanceStateFault struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SpotInstanceStateFault) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotInstanceStateFault) GoString() string {
+ return s.String()
+}
+
+// Describes the status of a Spot Instance request.
+type SpotInstanceStatus struct {
+ // The status code.
+ Code *string `locationName:"code" type:"string"`
+
+ // The description for the status code.
+ Message *string `locationName:"message" type:"string"`
+
+ // The date and time of the most recent status update, in UTC format (for example,
+ // YYYY-MM-DDTHH:MM:SSZ).
+ UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataSpotInstanceStatus `json:"-" xml:"-"`
+}
+
+type metadataSpotInstanceStatus struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SpotInstanceStatus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotInstanceStatus) GoString() string {
+ return s.String()
+}
+
+// Describes Spot Instance placement.
+type SpotPlacement struct {
+ // The Availability Zone.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The name of the placement group (for cluster instances).
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ metadataSpotPlacement `json:"-" xml:"-"`
+}
+
+type metadataSpotPlacement struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SpotPlacement) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotPlacement) GoString() string {
+ return s.String()
+}
+
+// Describes the maximum hourly price (bid) for any Spot Instance launched to
+// fulfill the request.
+type SpotPrice struct {
+ // The Availability Zone.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The instance type.
+ InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
+
+ // A general description of the AMI.
+ ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
+
+ // The maximum price (bid) that you are willing to pay for a Spot Instance.
+ SpotPrice *string `locationName:"spotPrice" type:"string"`
+
+ // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
+ Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataSpotPrice `json:"-" xml:"-"`
+}
+
+type metadataSpotPrice struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s SpotPrice) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotPrice) GoString() string {
+ return s.String()
+}
+
+type StartInstancesInput struct {
+ // Reserved.
+ AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more instance IDs.
+ InstanceIDs []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+
+ metadataStartInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataStartInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s StartInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StartInstancesInput) GoString() string {
+ return s.String()
+}
+
+type StartInstancesOutput struct {
+ // Information about one or more started instances.
+ StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
+
+ metadataStartInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataStartInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s StartInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StartInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// Describes a state change.
+type StateReason struct {
+ // The reason code for the state change.
+ Code *string `locationName:"code" type:"string"`
+
+ // The message for the state change.
+ //
+ // Server.SpotInstanceTermination: A Spot Instance was terminated due to an
+ // increase in the market price.
+ //
+ // Server.InternalError: An internal error occurred during instance launch,
+ // resulting in termination.
+ //
+ // Server.InsufficientInstanceCapacity: There was insufficient instance capacity
+ // to satisfy the launch request.
+ //
+ // Client.InternalError: A client error caused the instance to terminate on
+ // launch.
+ //
+ // Client.InstanceInitiatedShutdown: The instance was shut down using the shutdown
+ // -h command from the instance.
+ //
+ // Client.UserInitiatedShutdown: The instance was shut down using the Amazon
+ // EC2 API.
+ //
+ // Client.VolumeLimitExceeded: The volume limit was exceeded.
+ //
+ // Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
+ Message *string `locationName:"message" type:"string"`
+
+ metadataStateReason `json:"-" xml:"-"`
+}
+
+type metadataStateReason struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s StateReason) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StateReason) GoString() string {
+ return s.String()
+}
+
+type StopInstancesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // Forces the instances to stop. The instances do not have an opportunity to
+ // flush file system caches or file system metadata. If you use this option,
+ // you must perform file system check and repair procedures. This option is
+ // not recommended for Windows instances.
+ //
+ // Default: false
+ Force *bool `locationName:"force" type:"boolean"`
+
+ // One or more instance IDs.
+ InstanceIDs []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+
+ metadataStopInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataStopInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s StopInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StopInstancesInput) GoString() string {
+ return s.String()
+}
+
+type StopInstancesOutput struct {
+ // Information about one or more stopped instances.
+ StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
+
+ metadataStopInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataStopInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s StopInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StopInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// Describes the storage location for an instance store-backed AMI.
+type Storage struct {
+ // An Amazon S3 storage location.
+ S3 *S3Storage `type:"structure"`
+
+ metadataStorage `json:"-" xml:"-"`
+}
+
+type metadataStorage struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Storage) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Storage) GoString() string {
+ return s.String()
+}
+
+// Describes a subnet.
+type Subnet struct {
+ // The Availability Zone of the subnet.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The number of unused IP addresses in the subnet. Note that the IP addresses
+ // for any stopped instances are considered unavailable.
+ AvailableIPAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
+
+ // The CIDR block assigned to the subnet.
+ CIDRBlock *string `locationName:"cidrBlock" type:"string"`
+
+ // Indicates whether this is the default subnet for the Availability Zone.
+ DefaultForAZ *bool `locationName:"defaultForAz" type:"boolean"`
+
+ // Indicates whether instances launched in this subnet receive a public IP address.
+ MapPublicIPOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
+
+ // The current state of the subnet.
+ State *string `locationName:"state" type:"string" enum:"SubnetState"`
+
+ // The ID of the subnet.
+ SubnetID *string `locationName:"subnetId" type:"string"`
+
+ // Any tags assigned to the subnet.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC the subnet is in.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataSubnet `json:"-" xml:"-"`
+}
+
+type metadataSubnet struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Subnet) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Subnet) GoString() string {
+ return s.String()
+}
+
+// Describes a tag.
+type Tag struct {
+ // The key of the tag.
+ //
+ // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
+ // characters. May not begin with aws:
+ Key *string `locationName:"key" type:"string"`
+
+ // The value of the tag.
+ //
+ // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
+ // characters.
+ Value *string `locationName:"value" type:"string"`
+
+ metadataTag `json:"-" xml:"-"`
+}
+
+type metadataTag struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Tag) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Tag) GoString() string {
+ return s.String()
+}
+
+// Describes a tag.
+type TagDescription struct {
+ // The tag key.
+ Key *string `locationName:"key" type:"string"`
+
+ // The ID of the resource. For example, ami-1a2b3c4d.
+ ResourceID *string `locationName:"resourceId" type:"string"`
+
+ // The resource type.
+ ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
+
+ // The tag value.
+ Value *string `locationName:"value" type:"string"`
+
+ metadataTagDescription `json:"-" xml:"-"`
+}
+
+type metadataTagDescription struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s TagDescription) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TagDescription) GoString() string {
+ return s.String()
+}
+
+type TerminateInstancesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more instance IDs.
+ InstanceIDs []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+
+ metadataTerminateInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataTerminateInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s TerminateInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TerminateInstancesInput) GoString() string {
+ return s.String()
+}
+
+type TerminateInstancesOutput struct {
+ // Information about one or more terminated instances.
+ TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
+
+ metadataTerminateInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataTerminateInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s TerminateInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TerminateInstancesOutput) GoString() string {
+ return s.String()
+}
+
+type UnassignPrivateIPAddressesInput struct {
+ // The ID of the network interface.
+ NetworkInterfaceID *string `locationName:"networkInterfaceId" type:"string" required:"true"`
+
+ // The secondary private IP addresses to unassign from the network interface.
+ // You can specify this option multiple times to unassign more than one IP address.
+ PrivateIPAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
+
+ metadataUnassignPrivateIPAddressesInput `json:"-" xml:"-"`
+}
+
+type metadataUnassignPrivateIPAddressesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s UnassignPrivateIPAddressesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnassignPrivateIPAddressesInput) GoString() string {
+ return s.String()
+}
+
+type UnassignPrivateIPAddressesOutput struct {
+ metadataUnassignPrivateIPAddressesOutput `json:"-" xml:"-"`
+}
+
+type metadataUnassignPrivateIPAddressesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s UnassignPrivateIPAddressesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnassignPrivateIPAddressesOutput) GoString() string {
+ return s.String()
+}
+
+type UnmonitorInstancesInput struct {
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `locationName:"dryRun" type:"boolean"`
+
+ // One or more instance IDs.
+ InstanceIDs []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
+
+ metadataUnmonitorInstancesInput `json:"-" xml:"-"`
+}
+
+type metadataUnmonitorInstancesInput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s UnmonitorInstancesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnmonitorInstancesInput) GoString() string {
+ return s.String()
+}
+
+type UnmonitorInstancesOutput struct {
+ // Monitoring information for one or more instances.
+ InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
+
+ metadataUnmonitorInstancesOutput `json:"-" xml:"-"`
+}
+
+type metadataUnmonitorInstancesOutput struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s UnmonitorInstancesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnmonitorInstancesOutput) GoString() string {
+ return s.String()
+}
+
+// Information about items that were not successfully processed in a batch call.
+type UnsuccessfulItem struct {
+ // Information about the error.
+ Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"`
+
+ // The ID of the resource.
+ ResourceID *string `locationName:"resourceId" type:"string"`
+
+ metadataUnsuccessfulItem `json:"-" xml:"-"`
+}
+
+type metadataUnsuccessfulItem struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s UnsuccessfulItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnsuccessfulItem) GoString() string {
+ return s.String()
+}
+
+// Information about the error that occured. For more information about errors,
+// see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
+type UnsuccessfulItemError struct {
+ // The error code.
+ Code *string `locationName:"code" type:"string" required:"true"`
+
+ // The error message accompanying the error code.
+ Message *string `locationName:"message" type:"string" required:"true"`
+
+ metadataUnsuccessfulItemError `json:"-" xml:"-"`
+}
+
+type metadataUnsuccessfulItemError struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s UnsuccessfulItemError) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UnsuccessfulItemError) GoString() string {
+ return s.String()
+}
+
+// Describes the S3 bucket for the disk image.
+type UserBucket struct {
+ // The name of the S3 bucket where the disk image is located.
+ S3Bucket *string `type:"string"`
+
+ // The key for the disk image.
+ S3Key *string `type:"string"`
+
+ metadataUserBucket `json:"-" xml:"-"`
+}
+
+type metadataUserBucket struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s UserBucket) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UserBucket) GoString() string {
+ return s.String()
+}
+
+// Describes the S3 bucket for the disk image.
+type UserBucketDetails struct {
+ // The S3 bucket from which the disk image was created.
+ S3Bucket *string `locationName:"s3Bucket" type:"string"`
+
+ // The key from which the disk image was created.
+ S3Key *string `locationName:"s3Key" type:"string"`
+
+ metadataUserBucketDetails `json:"-" xml:"-"`
+}
+
+type metadataUserBucketDetails struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s UserBucketDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UserBucketDetails) GoString() string {
+ return s.String()
+}
+
+// Describes the user data to be made available to an instance.
+type UserData struct {
+ // The Base64-encoded MIME user data for the instance.
+ Data *string `locationName:"data" type:"string"`
+
+ metadataUserData `json:"-" xml:"-"`
+}
+
+type metadataUserData struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s UserData) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UserData) GoString() string {
+ return s.String()
+}
+
+// Describes a security group and AWS account ID pair.
+type UserIDGroupPair struct {
+ // The ID of the security group.
+ GroupID *string `locationName:"groupId" type:"string"`
+
+ // The name of the security group. In a request, use this parameter for a security
+ // group in EC2-Classic or a default VPC only. For a security group in a nondefault
+ // VPC, use GroupId.
+ GroupName *string `locationName:"groupName" type:"string"`
+
+ // The ID of an AWS account. EC2-Classic only.
+ UserID *string `locationName:"userId" type:"string"`
+
+ metadataUserIDGroupPair `json:"-" xml:"-"`
+}
+
+type metadataUserIDGroupPair struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s UserIDGroupPair) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s UserIDGroupPair) GoString() string {
+ return s.String()
+}
+
+// Describes telemetry for a VPN tunnel.
+type VGWTelemetry struct {
+ // The number of accepted routes.
+ AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
+
+ // The date and time of the last change in status.
+ LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The Internet-routable IP address of the virtual private gateway's outside
+ // interface.
+ OutsideIPAddress *string `locationName:"outsideIpAddress" type:"string"`
+
+ // The status of the VPN tunnel.
+ Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
+
+ // If an error occurs, a description of the error.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+
+ metadataVGWTelemetry `json:"-" xml:"-"`
+}
+
+type metadataVGWTelemetry struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VGWTelemetry) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VGWTelemetry) GoString() string {
+ return s.String()
+}
+
+// Describes a VPC.
+type VPC struct {
+ // The CIDR block for the VPC.
+ CIDRBlock *string `locationName:"cidrBlock" type:"string"`
+
+ // The ID of the set of DHCP options you've associated with the VPC (or default
+ // if the default options are associated with the VPC).
+ DHCPOptionsID *string `locationName:"dhcpOptionsId" type:"string"`
+
+ // The allowed tenancy of instances launched into the VPC.
+ InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
+
+ // Indicates whether the VPC is the default VPC.
+ IsDefault *bool `locationName:"isDefault" type:"boolean"`
+
+ // The current state of the VPC.
+ State *string `locationName:"state" type:"string" enum:"VpcState"`
+
+ // Any tags assigned to the VPC.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataVPC `json:"-" xml:"-"`
+}
+
+type metadataVPC struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPC) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPC) GoString() string {
+ return s.String()
+}
+
+// Describes an attachment between a virtual private gateway and a VPC.
+type VPCAttachment struct {
+ // The current state of the attachment.
+ State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataVPCAttachment `json:"-" xml:"-"`
+}
+
+type metadataVPCAttachment struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPCAttachment) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPCAttachment) GoString() string {
+ return s.String()
+}
+
+// Describes whether a VPC is enabled for ClassicLink.
+type VPCClassicLink struct {
+ // Indicates whether the VPC is enabled for ClassicLink.
+ ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
+
+ // Any tags assigned to the VPC.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataVPCClassicLink `json:"-" xml:"-"`
+}
+
+type metadataVPCClassicLink struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPCClassicLink) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPCClassicLink) GoString() string {
+ return s.String()
+}
+
+// Describes a VPC endpoint.
+type VPCEndpoint struct {
+ // The date and time the VPC endpoint was created.
+ CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The policy document associated with the endpoint.
+ PolicyDocument *string `locationName:"policyDocument" type:"string"`
+
+ // One or more route tables associated with the endpoint.
+ RouteTableIDs []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
+
+ // The name of the AWS service to which the endpoint is associated.
+ ServiceName *string `locationName:"serviceName" type:"string"`
+
+ // The state of the VPC endpoint.
+ State *string `locationName:"state" type:"string" enum:"State"`
+
+ // The ID of the VPC endpoint.
+ VPCEndpointID *string `locationName:"vpcEndpointId" type:"string"`
+
+ // The ID of the VPC to which the endpoint is associated.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataVPCEndpoint `json:"-" xml:"-"`
+}
+
+type metadataVPCEndpoint struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPCEndpoint) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPCEndpoint) GoString() string {
+ return s.String()
+}
+
+// Describes a VPC peering connection.
+type VPCPeeringConnection struct {
+ // The information of the peer VPC.
+ AccepterVPCInfo *VPCPeeringConnectionVPCInfo `locationName:"accepterVpcInfo" type:"structure"`
+
+ // The time that an unaccepted VPC peering connection will expire.
+ ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The information of the requester VPC.
+ RequesterVPCInfo *VPCPeeringConnectionVPCInfo `locationName:"requesterVpcInfo" type:"structure"`
+
+ // The status of the VPC peering connection.
+ Status *VPCPeeringConnectionStateReason `locationName:"status" type:"structure"`
+
+ // Any tags assigned to the resource.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the VPC peering connection.
+ VPCPeeringConnectionID *string `locationName:"vpcPeeringConnectionId" type:"string"`
+
+ metadataVPCPeeringConnection `json:"-" xml:"-"`
+}
+
+type metadataVPCPeeringConnection struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPCPeeringConnection) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPCPeeringConnection) GoString() string {
+ return s.String()
+}
+
+// Describes the status of a VPC peering connection.
+type VPCPeeringConnectionStateReason struct {
+ // The status of the VPC peering connection.
+ Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
+
+ // A message that provides more information about the status, if applicable.
+ Message *string `locationName:"message" type:"string"`
+
+ metadataVPCPeeringConnectionStateReason `json:"-" xml:"-"`
+}
+
+type metadataVPCPeeringConnectionStateReason struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPCPeeringConnectionStateReason) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPCPeeringConnectionStateReason) GoString() string {
+ return s.String()
+}
+
+// Describes a VPC in a VPC peering connection.
+type VPCPeeringConnectionVPCInfo struct {
+ // The CIDR block for the VPC.
+ CIDRBlock *string `locationName:"cidrBlock" type:"string"`
+
+ // The AWS account ID of the VPC owner.
+ OwnerID *string `locationName:"ownerId" type:"string"`
+
+ // The ID of the VPC.
+ VPCID *string `locationName:"vpcId" type:"string"`
+
+ metadataVPCPeeringConnectionVPCInfo `json:"-" xml:"-"`
+}
+
+type metadataVPCPeeringConnectionVPCInfo struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPCPeeringConnectionVPCInfo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPCPeeringConnectionVPCInfo) GoString() string {
+ return s.String()
+}
+
+// Describes a VPN connection.
+type VPNConnection struct {
+ // The configuration information for the VPN connection's customer gateway (in
+ // the native XML format). This element is always present in the CreateVpnConnection
+ // response; however, it's present in the DescribeVpnConnections response only
+ // if the VPN connection is in the pending or available state.
+ CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
+
+ // The ID of the customer gateway at your end of the VPN connection.
+ CustomerGatewayID *string `locationName:"customerGatewayId" type:"string"`
+
+ // The VPN connection options.
+ Options *VPNConnectionOptions `locationName:"options" type:"structure"`
+
+ // The static routes associated with the VPN connection.
+ Routes []*VPNStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
+
+ // The current state of the VPN connection.
+ State *string `locationName:"state" type:"string" enum:"VpnState"`
+
+ // Any tags assigned to the VPN connection.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The type of VPN connection.
+ Type *string `locationName:"type" type:"string" enum:"GatewayType"`
+
+ // Information about the VPN tunnel.
+ VGWTelemetry []*VGWTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
+
+ // The ID of the VPN connection.
+ VPNConnectionID *string `locationName:"vpnConnectionId" type:"string"`
+
+ // The ID of the virtual private gateway at the AWS side of the VPN connection.
+ VPNGatewayID *string `locationName:"vpnGatewayId" type:"string"`
+
+ metadataVPNConnection `json:"-" xml:"-"`
+}
+
+type metadataVPNConnection struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPNConnection) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPNConnection) GoString() string {
+ return s.String()
+}
+
+// Describes VPN connection options.
+type VPNConnectionOptions struct {
+ // Indicates whether the VPN connection uses static routes only. Static routes
+ // must be used for devices that don't support BGP.
+ StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
+
+ metadataVPNConnectionOptions `json:"-" xml:"-"`
+}
+
+type metadataVPNConnectionOptions struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPNConnectionOptions) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPNConnectionOptions) GoString() string {
+ return s.String()
+}
+
+// Describes VPN connection options.
+type VPNConnectionOptionsSpecification struct {
+ // Indicates whether the VPN connection uses static routes only. Static routes
+ // must be used for devices that don't support BGP.
+ StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
+
+ metadataVPNConnectionOptionsSpecification `json:"-" xml:"-"`
+}
+
+type metadataVPNConnectionOptionsSpecification struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPNConnectionOptionsSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPNConnectionOptionsSpecification) GoString() string {
+ return s.String()
+}
+
+// Describes a virtual private gateway.
+type VPNGateway struct {
+ // The Availability Zone where the virtual private gateway was created.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The current state of the virtual private gateway.
+ State *string `locationName:"state" type:"string" enum:"VpnState"`
+
+ // Any tags assigned to the virtual private gateway.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The type of VPN connection the virtual private gateway supports.
+ Type *string `locationName:"type" type:"string" enum:"GatewayType"`
+
+ // Any VPCs attached to the virtual private gateway.
+ VPCAttachments []*VPCAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
+
+ // The ID of the virtual private gateway.
+ VPNGatewayID *string `locationName:"vpnGatewayId" type:"string"`
+
+ metadataVPNGateway `json:"-" xml:"-"`
+}
+
+type metadataVPNGateway struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPNGateway) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPNGateway) GoString() string {
+ return s.String()
+}
+
+// Describes a static route for a VPN connection.
+type VPNStaticRoute struct {
+ // The CIDR block associated with the local subnet of the customer data center.
+ DestinationCIDRBlock *string `locationName:"destinationCidrBlock" type:"string"`
+
+ // Indicates how the routes were provided.
+ Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
+
+ // The current state of the static route.
+ State *string `locationName:"state" type:"string" enum:"VpnState"`
+
+ metadataVPNStaticRoute `json:"-" xml:"-"`
+}
+
+type metadataVPNStaticRoute struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VPNStaticRoute) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VPNStaticRoute) GoString() string {
+ return s.String()
+}
+
+// Describes a volume.
+type Volume struct {
+ // Information about the volume attachments.
+ Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
+
+ // The Availability Zone for the volume.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The time stamp when volume creation was initiated.
+ CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Indicates whether the volume will be encrypted.
+ Encrypted *bool `locationName:"encrypted" type:"boolean"`
+
+ // The number of I/O operations per second (IOPS) that the volume supports.
+ // For Provisioned IOPS (SSD) volumes, this represents the number of IOPS that
+ // are provisioned for the volume. For General Purpose (SSD) volumes, this represents
+ // the baseline performance of the volume and the rate at which the volume accumulates
+ // I/O credits for bursting. For more information on General Purpose (SSD) baseline
+ // performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
+ // in the Amazon Elastic Compute Cloud User Guide.
+ //
+ // Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and
+ // 3 to 10000 for General Purpose (SSD) volumes.
+ //
+ // Condition: This parameter is required for requests to create io1 volumes;
+ // it is not used in requests to create standard or gp2 volumes.
+ IOPS *int64 `locationName:"iops" type:"integer"`
+
+ // The full ARN of the AWS Key Management Service (AWS KMS) customer master
+ // key (CMK) that was used to protect the volume encryption key for the volume.
+ KMSKeyID *string `locationName:"kmsKeyId" type:"string"`
+
+ // The size of the volume, in GiBs.
+ Size *int64 `locationName:"size" type:"integer"`
+
+ // The snapshot from which the volume was created, if applicable.
+ SnapshotID *string `locationName:"snapshotId" type:"string"`
+
+ // The volume state.
+ State *string `locationName:"status" type:"string" enum:"VolumeState"`
+
+ // Any tags assigned to the volume.
+ Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
+
+ // The ID of the volume.
+ VolumeID *string `locationName:"volumeId" type:"string"`
+
+ // The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for
+ // Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.
+ VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
+
+ metadataVolume `json:"-" xml:"-"`
+}
+
+type metadataVolume struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s Volume) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s Volume) GoString() string {
+ return s.String()
+}
+
+// Describes volume attachment details.
+type VolumeAttachment struct {
+ // The time stamp when the attachment initiated.
+ AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // Indicates whether the EBS volume is deleted on instance termination.
+ DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
+
+ // The device name.
+ Device *string `locationName:"device" type:"string"`
+
+ // The ID of the instance.
+ InstanceID *string `locationName:"instanceId" type:"string"`
+
+ // The attachment state of the volume.
+ State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
+
+ // The ID of the volume.
+ VolumeID *string `locationName:"volumeId" type:"string"`
+
+ metadataVolumeAttachment `json:"-" xml:"-"`
+}
+
+type metadataVolumeAttachment struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VolumeAttachment) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeAttachment) GoString() string {
+ return s.String()
+}
+
+// Describes an EBS volume.
+type VolumeDetail struct {
+ // The size of the volume, in GiB.
+ Size *int64 `locationName:"size" type:"long" required:"true"`
+
+ metadataVolumeDetail `json:"-" xml:"-"`
+}
+
+type metadataVolumeDetail struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VolumeDetail) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeDetail) GoString() string {
+ return s.String()
+}
+
+// Describes a volume status operation code.
+type VolumeStatusAction struct {
+ // The code identifying the operation, for example, enable-volume-io.
+ Code *string `locationName:"code" type:"string"`
+
+ // A description of the operation.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of the event associated with this operation.
+ EventID *string `locationName:"eventId" type:"string"`
+
+ // The event type associated with this operation.
+ EventType *string `locationName:"eventType" type:"string"`
+
+ metadataVolumeStatusAction `json:"-" xml:"-"`
+}
+
+type metadataVolumeStatusAction struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VolumeStatusAction) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeStatusAction) GoString() string {
+ return s.String()
+}
+
+// Describes a volume status.
+type VolumeStatusDetails struct {
+ // The name of the volume status.
+ Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
+
+ // The intended status of the volume status.
+ Status *string `locationName:"status" type:"string"`
+
+ metadataVolumeStatusDetails `json:"-" xml:"-"`
+}
+
+type metadataVolumeStatusDetails struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VolumeStatusDetails) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeStatusDetails) GoString() string {
+ return s.String()
+}
+
+// Describes a volume status event.
+type VolumeStatusEvent struct {
+ // A description of the event.
+ Description *string `locationName:"description" type:"string"`
+
+ // The ID of this event.
+ EventID *string `locationName:"eventId" type:"string"`
+
+ // The type of this event.
+ EventType *string `locationName:"eventType" type:"string"`
+
+ // The latest end time of the event.
+ NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The earliest start time of the event.
+ NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
+
+ metadataVolumeStatusEvent `json:"-" xml:"-"`
+}
+
+type metadataVolumeStatusEvent struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VolumeStatusEvent) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeStatusEvent) GoString() string {
+ return s.String()
+}
+
+// Describes the status of a volume.
+type VolumeStatusInfo struct {
+ // The details of the volume status.
+ Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
+
+ // The status of the volume.
+ Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
+
+ metadataVolumeStatusInfo `json:"-" xml:"-"`
+}
+
+type metadataVolumeStatusInfo struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VolumeStatusInfo) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeStatusInfo) GoString() string {
+ return s.String()
+}
+
+// Describes the volume status.
+type VolumeStatusItem struct {
+ // The details of the operation.
+ Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
+
+ // The Availability Zone of the volume.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // A list of events associated with the volume.
+ Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
+
+ // The volume ID.
+ VolumeID *string `locationName:"volumeId" type:"string"`
+
+ // The volume status.
+ VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
+
+ metadataVolumeStatusItem `json:"-" xml:"-"`
+}
+
+type metadataVolumeStatusItem struct {
+ SDKShapeTraits bool `type:"structure"`
+}
+
+// String returns the string representation
+func (s VolumeStatusItem) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s VolumeStatusItem) GoString() string {
+ return s.String()
+}
+
+const (
+ // @enum AccountAttributeName
+ AccountAttributeNameSupportedPlatforms = "supported-platforms"
+ // @enum AccountAttributeName
+ AccountAttributeNameDefaultVpc = "default-vpc"
+)
+
+const (
+ // @enum ArchitectureValues
+ ArchitectureValuesI386 = "i386"
+ // @enum ArchitectureValues
+ ArchitectureValuesX8664 = "x86_64"
+)
+
+const (
+ // @enum AttachmentStatus
+ AttachmentStatusAttaching = "attaching"
+ // @enum AttachmentStatus
+ AttachmentStatusAttached = "attached"
+ // @enum AttachmentStatus
+ AttachmentStatusDetaching = "detaching"
+ // @enum AttachmentStatus
+ AttachmentStatusDetached = "detached"
+)
+
+const (
+ // @enum AvailabilityZoneState
+ AvailabilityZoneStateAvailable = "available"
+)
+
+const (
+ // @enum BatchState
+ BatchStateSubmitted = "submitted"
+ // @enum BatchState
+ BatchStateActive = "active"
+ // @enum BatchState
+ BatchStateCancelled = "cancelled"
+ // @enum BatchState
+ BatchStateFailed = "failed"
+ // @enum BatchState
+ BatchStateCancelledRunning = "cancelled_running"
+ // @enum BatchState
+ BatchStateCancelledTerminating = "cancelled_terminating"
+)
+
+const (
+ // @enum BundleTaskState
+ BundleTaskStatePending = "pending"
+ // @enum BundleTaskState
+ BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
+ // @enum BundleTaskState
+ BundleTaskStateBundling = "bundling"
+ // @enum BundleTaskState
+ BundleTaskStateStoring = "storing"
+ // @enum BundleTaskState
+ BundleTaskStateCancelling = "cancelling"
+ // @enum BundleTaskState
+ BundleTaskStateComplete = "complete"
+ // @enum BundleTaskState
+ BundleTaskStateFailed = "failed"
+)
+
+const (
+ // @enum CancelBatchErrorCode
+ CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
+ // @enum CancelBatchErrorCode
+ CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
+ // @enum CancelBatchErrorCode
+ CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
+ // @enum CancelBatchErrorCode
+ CancelBatchErrorCodeUnexpectedError = "unexpectedError"
+)
+
+const (
+ // @enum CancelSpotInstanceRequestState
+ CancelSpotInstanceRequestStateActive = "active"
+ // @enum CancelSpotInstanceRequestState
+ CancelSpotInstanceRequestStateOpen = "open"
+ // @enum CancelSpotInstanceRequestState
+ CancelSpotInstanceRequestStateClosed = "closed"
+ // @enum CancelSpotInstanceRequestState
+ CancelSpotInstanceRequestStateCancelled = "cancelled"
+ // @enum CancelSpotInstanceRequestState
+ CancelSpotInstanceRequestStateCompleted = "completed"
+)
+
+const (
+ // @enum ContainerFormat
+ ContainerFormatOva = "ova"
+)
+
+const (
+ // @enum ConversionTaskState
+ ConversionTaskStateActive = "active"
+ // @enum ConversionTaskState
+ ConversionTaskStateCancelling = "cancelling"
+ // @enum ConversionTaskState
+ ConversionTaskStateCancelled = "cancelled"
+ // @enum ConversionTaskState
+ ConversionTaskStateCompleted = "completed"
+)
+
+const (
+ // @enum CurrencyCodeValues
+ CurrencyCodeValuesUsd = "USD"
+)
+
+const (
+ // @enum DatafeedSubscriptionState
+ DatafeedSubscriptionStateActive = "Active"
+ // @enum DatafeedSubscriptionState
+ DatafeedSubscriptionStateInactive = "Inactive"
+)
+
+const (
+ // @enum DeviceType
+ DeviceTypeEbs = "ebs"
+ // @enum DeviceType
+ DeviceTypeInstanceStore = "instance-store"
+)
+
+const (
+ // @enum DiskImageFormat
+ DiskImageFormatVmdk = "VMDK"
+ // @enum DiskImageFormat
+ DiskImageFormatRaw = "RAW"
+ // @enum DiskImageFormat
+ DiskImageFormatVhd = "VHD"
+)
+
+const (
+ // @enum DomainType
+ DomainTypeVpc = "vpc"
+ // @enum DomainType
+ DomainTypeStandard = "standard"
+)
+
+const (
+ // @enum EventCode
+ EventCodeInstanceReboot = "instance-reboot"
+ // @enum EventCode
+ EventCodeSystemReboot = "system-reboot"
+ // @enum EventCode
+ EventCodeSystemMaintenance = "system-maintenance"
+ // @enum EventCode
+ EventCodeInstanceRetirement = "instance-retirement"
+ // @enum EventCode
+ EventCodeInstanceStop = "instance-stop"
+)
+
+const (
+ // @enum EventType
+ EventTypeInstanceChange = "instanceChange"
+ // @enum EventType
+ EventTypeFleetRequestChange = "fleetRequestChange"
+ // @enum EventType
+ EventTypeError = "error"
+)
+
+const (
+ // @enum ExportEnvironment
+ ExportEnvironmentCitrix = "citrix"
+ // @enum ExportEnvironment
+ ExportEnvironmentVmware = "vmware"
+ // @enum ExportEnvironment
+ ExportEnvironmentMicrosoft = "microsoft"
+)
+
+const (
+ // @enum ExportTaskState
+ ExportTaskStateActive = "active"
+ // @enum ExportTaskState
+ ExportTaskStateCancelling = "cancelling"
+ // @enum ExportTaskState
+ ExportTaskStateCancelled = "cancelled"
+ // @enum ExportTaskState
+ ExportTaskStateCompleted = "completed"
+)
+
+const (
+ // @enum FlowLogsResourceType
+ FlowLogsResourceTypeVpc = "VPC"
+ // @enum FlowLogsResourceType
+ FlowLogsResourceTypeSubnet = "Subnet"
+ // @enum FlowLogsResourceType
+ FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
+)
+
+const (
+ // @enum GatewayType
+ GatewayTypeIpsec1 = "ipsec.1"
+)
+
+const (
+ // @enum HypervisorType
+ HypervisorTypeOvm = "ovm"
+ // @enum HypervisorType
+ HypervisorTypeXen = "xen"
+)
+
+const (
+ // @enum ImageAttributeName
+ ImageAttributeNameDescription = "description"
+ // @enum ImageAttributeName
+ ImageAttributeNameKernel = "kernel"
+ // @enum ImageAttributeName
+ ImageAttributeNameRamdisk = "ramdisk"
+ // @enum ImageAttributeName
+ ImageAttributeNameLaunchPermission = "launchPermission"
+ // @enum ImageAttributeName
+ ImageAttributeNameProductCodes = "productCodes"
+ // @enum ImageAttributeName
+ ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
+ // @enum ImageAttributeName
+ ImageAttributeNameSriovNetSupport = "sriovNetSupport"
+)
+
+const (
+ // @enum ImageState
+ ImageStatePending = "pending"
+ // @enum ImageState
+ ImageStateAvailable = "available"
+ // @enum ImageState
+ ImageStateInvalid = "invalid"
+ // @enum ImageState
+ ImageStateDeregistered = "deregistered"
+ // @enum ImageState
+ ImageStateTransient = "transient"
+ // @enum ImageState
+ ImageStateFailed = "failed"
+ // @enum ImageState
+ ImageStateError = "error"
+)
+
+const (
+ // @enum ImageTypeValues
+ ImageTypeValuesMachine = "machine"
+ // @enum ImageTypeValues
+ ImageTypeValuesKernel = "kernel"
+ // @enum ImageTypeValues
+ ImageTypeValuesRamdisk = "ramdisk"
+)
+
+const (
+ // @enum InstanceAttributeName
+ InstanceAttributeNameInstanceType = "instanceType"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameKernel = "kernel"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameRamdisk = "ramdisk"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameUserData = "userData"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameDisableApiTermination = "disableApiTermination"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameRootDeviceName = "rootDeviceName"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameProductCodes = "productCodes"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameGroupSet = "groupSet"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameEbsOptimized = "ebsOptimized"
+ // @enum InstanceAttributeName
+ InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
+)
+
+const (
+ // @enum InstanceLifecycleType
+ InstanceLifecycleTypeSpot = "spot"
+)
+
+const (
+ // @enum InstanceStateName
+ InstanceStateNamePending = "pending"
+ // @enum InstanceStateName
+ InstanceStateNameRunning = "running"
+ // @enum InstanceStateName
+ InstanceStateNameShuttingDown = "shutting-down"
+ // @enum InstanceStateName
+ InstanceStateNameTerminated = "terminated"
+ // @enum InstanceStateName
+ InstanceStateNameStopping = "stopping"
+ // @enum InstanceStateName
+ InstanceStateNameStopped = "stopped"
+)
+
+const (
+ // @enum InstanceType
+ InstanceTypeT1Micro = "t1.micro"
+ // @enum InstanceType
+ InstanceTypeM1Small = "m1.small"
+ // @enum InstanceType
+ InstanceTypeM1Medium = "m1.medium"
+ // @enum InstanceType
+ InstanceTypeM1Large = "m1.large"
+ // @enum InstanceType
+ InstanceTypeM1Xlarge = "m1.xlarge"
+ // @enum InstanceType
+ InstanceTypeM3Medium = "m3.medium"
+ // @enum InstanceType
+ InstanceTypeM3Large = "m3.large"
+ // @enum InstanceType
+ InstanceTypeM3Xlarge = "m3.xlarge"
+ // @enum InstanceType
+ InstanceTypeM32xlarge = "m3.2xlarge"
+ // @enum InstanceType
+ InstanceTypeM4Large = "m4.large"
+ // @enum InstanceType
+ InstanceTypeM4Xlarge = "m4.xlarge"
+ // @enum InstanceType
+ InstanceTypeM42xlarge = "m4.2xlarge"
+ // @enum InstanceType
+ InstanceTypeM44xlarge = "m4.4xlarge"
+ // @enum InstanceType
+ InstanceTypeM410xlarge = "m4.10xlarge"
+ // @enum InstanceType
+ InstanceTypeT2Micro = "t2.micro"
+ // @enum InstanceType
+ InstanceTypeT2Small = "t2.small"
+ // @enum InstanceType
+ InstanceTypeT2Medium = "t2.medium"
+ // @enum InstanceType
+ InstanceTypeT2Large = "t2.large"
+ // @enum InstanceType
+ InstanceTypeM2Xlarge = "m2.xlarge"
+ // @enum InstanceType
+ InstanceTypeM22xlarge = "m2.2xlarge"
+ // @enum InstanceType
+ InstanceTypeM24xlarge = "m2.4xlarge"
+ // @enum InstanceType
+ InstanceTypeCr18xlarge = "cr1.8xlarge"
+ // @enum InstanceType
+ InstanceTypeI2Xlarge = "i2.xlarge"
+ // @enum InstanceType
+ InstanceTypeI22xlarge = "i2.2xlarge"
+ // @enum InstanceType
+ InstanceTypeI24xlarge = "i2.4xlarge"
+ // @enum InstanceType
+ InstanceTypeI28xlarge = "i2.8xlarge"
+ // @enum InstanceType
+ InstanceTypeHi14xlarge = "hi1.4xlarge"
+ // @enum InstanceType
+ InstanceTypeHs18xlarge = "hs1.8xlarge"
+ // @enum InstanceType
+ InstanceTypeC1Medium = "c1.medium"
+ // @enum InstanceType
+ InstanceTypeC1Xlarge = "c1.xlarge"
+ // @enum InstanceType
+ InstanceTypeC3Large = "c3.large"
+ // @enum InstanceType
+ InstanceTypeC3Xlarge = "c3.xlarge"
+ // @enum InstanceType
+ InstanceTypeC32xlarge = "c3.2xlarge"
+ // @enum InstanceType
+ InstanceTypeC34xlarge = "c3.4xlarge"
+ // @enum InstanceType
+ InstanceTypeC38xlarge = "c3.8xlarge"
+ // @enum InstanceType
+ InstanceTypeC4Large = "c4.large"
+ // @enum InstanceType
+ InstanceTypeC4Xlarge = "c4.xlarge"
+ // @enum InstanceType
+ InstanceTypeC42xlarge = "c4.2xlarge"
+ // @enum InstanceType
+ InstanceTypeC44xlarge = "c4.4xlarge"
+ // @enum InstanceType
+ InstanceTypeC48xlarge = "c4.8xlarge"
+ // @enum InstanceType
+ InstanceTypeCc14xlarge = "cc1.4xlarge"
+ // @enum InstanceType
+ InstanceTypeCc28xlarge = "cc2.8xlarge"
+ // @enum InstanceType
+ InstanceTypeG22xlarge = "g2.2xlarge"
+ // @enum InstanceType
+ InstanceTypeCg14xlarge = "cg1.4xlarge"
+ // @enum InstanceType
+ InstanceTypeR3Large = "r3.large"
+ // @enum InstanceType
+ InstanceTypeR3Xlarge = "r3.xlarge"
+ // @enum InstanceType
+ InstanceTypeR32xlarge = "r3.2xlarge"
+ // @enum InstanceType
+ InstanceTypeR34xlarge = "r3.4xlarge"
+ // @enum InstanceType
+ InstanceTypeR38xlarge = "r3.8xlarge"
+ // @enum InstanceType
+ InstanceTypeD2Xlarge = "d2.xlarge"
+ // @enum InstanceType
+ InstanceTypeD22xlarge = "d2.2xlarge"
+ // @enum InstanceType
+ InstanceTypeD24xlarge = "d2.4xlarge"
+ // @enum InstanceType
+ InstanceTypeD28xlarge = "d2.8xlarge"
+)
+
+const (
+ // @enum ListingState
+ ListingStateAvailable = "available"
+ // @enum ListingState
+ ListingStateSold = "sold"
+ // @enum ListingState
+ ListingStateCancelled = "cancelled"
+ // @enum ListingState
+ ListingStatePending = "pending"
+)
+
+const (
+ // @enum ListingStatus
+ ListingStatusActive = "active"
+ // @enum ListingStatus
+ ListingStatusPending = "pending"
+ // @enum ListingStatus
+ ListingStatusCancelled = "cancelled"
+ // @enum ListingStatus
+ ListingStatusClosed = "closed"
+)
+
+const (
+ // @enum MonitoringState
+ MonitoringStateDisabled = "disabled"
+ // @enum MonitoringState
+ MonitoringStateDisabling = "disabling"
+ // @enum MonitoringState
+ MonitoringStateEnabled = "enabled"
+ // @enum MonitoringState
+ MonitoringStatePending = "pending"
+)
+
+const (
+ // @enum MoveStatus
+ MoveStatusMovingToVpc = "movingToVpc"
+ // @enum MoveStatus
+ MoveStatusRestoringToClassic = "restoringToClassic"
+)
+
+const (
+ // @enum NetworkInterfaceAttribute
+ NetworkInterfaceAttributeDescription = "description"
+ // @enum NetworkInterfaceAttribute
+ NetworkInterfaceAttributeGroupSet = "groupSet"
+ // @enum NetworkInterfaceAttribute
+ NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
+ // @enum NetworkInterfaceAttribute
+ NetworkInterfaceAttributeAttachment = "attachment"
+)
+
+const (
+ // @enum NetworkInterfaceStatus
+ NetworkInterfaceStatusAvailable = "available"
+ // @enum NetworkInterfaceStatus
+ NetworkInterfaceStatusAttaching = "attaching"
+ // @enum NetworkInterfaceStatus
+ NetworkInterfaceStatusInUse = "in-use"
+ // @enum NetworkInterfaceStatus
+ NetworkInterfaceStatusDetaching = "detaching"
+)
+
+const (
+ // @enum OfferingTypeValues
+ OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
+ // @enum OfferingTypeValues
+ OfferingTypeValuesMediumUtilization = "Medium Utilization"
+ // @enum OfferingTypeValues
+ OfferingTypeValuesLightUtilization = "Light Utilization"
+ // @enum OfferingTypeValues
+ OfferingTypeValuesNoUpfront = "No Upfront"
+ // @enum OfferingTypeValues
+ OfferingTypeValuesPartialUpfront = "Partial Upfront"
+ // @enum OfferingTypeValues
+ OfferingTypeValuesAllUpfront = "All Upfront"
+)
+
+const (
+ // @enum PermissionGroup
+ PermissionGroupAll = "all"
+)
+
+const (
+ // @enum PlacementGroupState
+ PlacementGroupStatePending = "pending"
+ // @enum PlacementGroupState
+ PlacementGroupStateAvailable = "available"
+ // @enum PlacementGroupState
+ PlacementGroupStateDeleting = "deleting"
+ // @enum PlacementGroupState
+ PlacementGroupStateDeleted = "deleted"
+)
+
+const (
+ // @enum PlacementStrategy
+ PlacementStrategyCluster = "cluster"
+)
+
+const (
+ // @enum PlatformValues
+ PlatformValuesWindows = "Windows"
+)
+
+const (
+ // @enum ProductCodeValues
+ ProductCodeValuesDevpay = "devpay"
+ // @enum ProductCodeValues
+ ProductCodeValuesMarketplace = "marketplace"
+)
+
+const (
+ // @enum RIProductDescription
+ RIProductDescriptionLinuxUnix = "Linux/UNIX"
+ // @enum RIProductDescription
+ RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
+ // @enum RIProductDescription
+ RIProductDescriptionWindows = "Windows"
+ // @enum RIProductDescription
+ RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
+)
+
+const (
+ // @enum RecurringChargeFrequency
+ RecurringChargeFrequencyHourly = "Hourly"
+)
+
+const (
+ // @enum ReportInstanceReasonCodes
+ ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
+ // @enum ReportInstanceReasonCodes
+ ReportInstanceReasonCodesUnresponsive = "unresponsive"
+ // @enum ReportInstanceReasonCodes
+ ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
+ // @enum ReportInstanceReasonCodes
+ ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
+ // @enum ReportInstanceReasonCodes
+ ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
+ // @enum ReportInstanceReasonCodes
+ ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
+ // @enum ReportInstanceReasonCodes
+ ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
+ // @enum ReportInstanceReasonCodes
+ ReportInstanceReasonCodesPerformanceOther = "performance-other"
+ // @enum ReportInstanceReasonCodes
+ ReportInstanceReasonCodesOther = "other"
+)
+
+const (
+ // @enum ReportStatusType
+ ReportStatusTypeOk = "ok"
+ // @enum ReportStatusType
+ ReportStatusTypeImpaired = "impaired"
+)
+
+const (
+ // @enum ReservedInstanceState
+ ReservedInstanceStatePaymentPending = "payment-pending"
+ // @enum ReservedInstanceState
+ ReservedInstanceStateActive = "active"
+ // @enum ReservedInstanceState
+ ReservedInstanceStatePaymentFailed = "payment-failed"
+ // @enum ReservedInstanceState
+ ReservedInstanceStateRetired = "retired"
+)
+
+const (
+ // @enum ResetImageAttributeName
+ ResetImageAttributeNameLaunchPermission = "launchPermission"
+)
+
+const (
+ // @enum ResourceType
+ ResourceTypeCustomerGateway = "customer-gateway"
+ // @enum ResourceType
+ ResourceTypeDhcpOptions = "dhcp-options"
+ // @enum ResourceType
+ ResourceTypeImage = "image"
+ // @enum ResourceType
+ ResourceTypeInstance = "instance"
+ // @enum ResourceType
+ ResourceTypeInternetGateway = "internet-gateway"
+ // @enum ResourceType
+ ResourceTypeNetworkAcl = "network-acl"
+ // @enum ResourceType
+ ResourceTypeNetworkInterface = "network-interface"
+ // @enum ResourceType
+ ResourceTypeReservedInstances = "reserved-instances"
+ // @enum ResourceType
+ ResourceTypeRouteTable = "route-table"
+ // @enum ResourceType
+ ResourceTypeSnapshot = "snapshot"
+ // @enum ResourceType
+ ResourceTypeSpotInstancesRequest = "spot-instances-request"
+ // @enum ResourceType
+ ResourceTypeSubnet = "subnet"
+ // @enum ResourceType
+ ResourceTypeSecurityGroup = "security-group"
+ // @enum ResourceType
+ ResourceTypeVolume = "volume"
+ // @enum ResourceType
+ ResourceTypeVpc = "vpc"
+ // @enum ResourceType
+ ResourceTypeVpnConnection = "vpn-connection"
+ // @enum ResourceType
+ ResourceTypeVpnGateway = "vpn-gateway"
+)
+
+const (
+ // @enum RouteOrigin
+ RouteOriginCreateRouteTable = "CreateRouteTable"
+ // @enum RouteOrigin
+ RouteOriginCreateRoute = "CreateRoute"
+ // @enum RouteOrigin
+ RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
+)
+
+const (
+ // @enum RouteState
+ RouteStateActive = "active"
+ // @enum RouteState
+ RouteStateBlackhole = "blackhole"
+)
+
+const (
+ // @enum RuleAction
+ RuleActionAllow = "allow"
+ // @enum RuleAction
+ RuleActionDeny = "deny"
+)
+
+const (
+ // @enum ShutdownBehavior
+ ShutdownBehaviorStop = "stop"
+ // @enum ShutdownBehavior
+ ShutdownBehaviorTerminate = "terminate"
+)
+
+const (
+ // @enum SnapshotAttributeName
+ SnapshotAttributeNameProductCodes = "productCodes"
+ // @enum SnapshotAttributeName
+ SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
+)
+
+const (
+ // @enum SnapshotState
+ SnapshotStatePending = "pending"
+ // @enum SnapshotState
+ SnapshotStateCompleted = "completed"
+ // @enum SnapshotState
+ SnapshotStateError = "error"
+)
+
+const (
+ // @enum SpotInstanceState
+ SpotInstanceStateOpen = "open"
+ // @enum SpotInstanceState
+ SpotInstanceStateActive = "active"
+ // @enum SpotInstanceState
+ SpotInstanceStateClosed = "closed"
+ // @enum SpotInstanceState
+ SpotInstanceStateCancelled = "cancelled"
+ // @enum SpotInstanceState
+ SpotInstanceStateFailed = "failed"
+)
+
+const (
+ // @enum SpotInstanceType
+ SpotInstanceTypeOneTime = "one-time"
+ // @enum SpotInstanceType
+ SpotInstanceTypePersistent = "persistent"
+)
+
+const (
+ // @enum State
+ StatePending = "Pending"
+ // @enum State
+ StateAvailable = "Available"
+ // @enum State
+ StateDeleting = "Deleting"
+ // @enum State
+ StateDeleted = "Deleted"
+)
+
+const (
+ // @enum Status
+ StatusMoveInProgress = "MoveInProgress"
+ // @enum Status
+ StatusInVpc = "InVpc"
+ // @enum Status
+ StatusInClassic = "InClassic"
+)
+
+const (
+ // @enum StatusName
+ StatusNameReachability = "reachability"
+)
+
+const (
+ // @enum StatusType
+ StatusTypePassed = "passed"
+ // @enum StatusType
+ StatusTypeFailed = "failed"
+ // @enum StatusType
+ StatusTypeInsufficientData = "insufficient-data"
+ // @enum StatusType
+ StatusTypeInitializing = "initializing"
+)
+
+const (
+ // @enum SubnetState
+ SubnetStatePending = "pending"
+ // @enum SubnetState
+ SubnetStateAvailable = "available"
+)
+
+const (
+ // @enum SummaryStatus
+ SummaryStatusOk = "ok"
+ // @enum SummaryStatus
+ SummaryStatusImpaired = "impaired"
+ // @enum SummaryStatus
+ SummaryStatusInsufficientData = "insufficient-data"
+ // @enum SummaryStatus
+ SummaryStatusNotApplicable = "not-applicable"
+ // @enum SummaryStatus
+ SummaryStatusInitializing = "initializing"
+)
+
+const (
+ // @enum TelemetryStatus
+ TelemetryStatusUp = "UP"
+ // @enum TelemetryStatus
+ TelemetryStatusDown = "DOWN"
+)
+
+const (
+ // @enum Tenancy
+ TenancyDefault = "default"
+ // @enum Tenancy
+ TenancyDedicated = "dedicated"
+)
+
+const (
+ // @enum TrafficType
+ TrafficTypeAccept = "ACCEPT"
+ // @enum TrafficType
+ TrafficTypeReject = "REJECT"
+ // @enum TrafficType
+ TrafficTypeAll = "ALL"
+)
+
+const (
+ // @enum VirtualizationType
+ VirtualizationTypeHvm = "hvm"
+ // @enum VirtualizationType
+ VirtualizationTypeParavirtual = "paravirtual"
+)
+
+const (
+ // @enum VolumeAttachmentState
+ VolumeAttachmentStateAttaching = "attaching"
+ // @enum VolumeAttachmentState
+ VolumeAttachmentStateAttached = "attached"
+ // @enum VolumeAttachmentState
+ VolumeAttachmentStateDetaching = "detaching"
+ // @enum VolumeAttachmentState
+ VolumeAttachmentStateDetached = "detached"
+)
+
+const (
+ // @enum VolumeAttributeName
+ VolumeAttributeNameAutoEnableIo = "autoEnableIO"
+ // @enum VolumeAttributeName
+ VolumeAttributeNameProductCodes = "productCodes"
+)
+
+const (
+ // @enum VolumeState
+ VolumeStateCreating = "creating"
+ // @enum VolumeState
+ VolumeStateAvailable = "available"
+ // @enum VolumeState
+ VolumeStateInUse = "in-use"
+ // @enum VolumeState
+ VolumeStateDeleting = "deleting"
+ // @enum VolumeState
+ VolumeStateDeleted = "deleted"
+ // @enum VolumeState
+ VolumeStateError = "error"
+)
+
+const (
+ // @enum VolumeStatusInfoStatus
+ VolumeStatusInfoStatusOk = "ok"
+ // @enum VolumeStatusInfoStatus
+ VolumeStatusInfoStatusImpaired = "impaired"
+ // @enum VolumeStatusInfoStatus
+ VolumeStatusInfoStatusInsufficientData = "insufficient-data"
+)
+
+const (
+ // @enum VolumeStatusName
+ VolumeStatusNameIoEnabled = "io-enabled"
+ // @enum VolumeStatusName
+ VolumeStatusNameIoPerformance = "io-performance"
+)
+
+const (
+ // @enum VolumeType
+ VolumeTypeStandard = "standard"
+ // @enum VolumeType
+ VolumeTypeIo1 = "io1"
+ // @enum VolumeType
+ VolumeTypeGp2 = "gp2"
+)
+
+const (
+ // @enum VpcAttributeName
+ VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
+ // @enum VpcAttributeName
+ VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
+)
+
+const (
+ // @enum VpcPeeringConnectionStateReasonCode
+ VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
+ // @enum VpcPeeringConnectionStateReasonCode
+ VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
+ // @enum VpcPeeringConnectionStateReasonCode
+ VpcPeeringConnectionStateReasonCodeActive = "active"
+ // @enum VpcPeeringConnectionStateReasonCode
+ VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
+ // @enum VpcPeeringConnectionStateReasonCode
+ VpcPeeringConnectionStateReasonCodeRejected = "rejected"
+ // @enum VpcPeeringConnectionStateReasonCode
+ VpcPeeringConnectionStateReasonCodeFailed = "failed"
+ // @enum VpcPeeringConnectionStateReasonCode
+ VpcPeeringConnectionStateReasonCodeExpired = "expired"
+ // @enum VpcPeeringConnectionStateReasonCode
+ VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
+ // @enum VpcPeeringConnectionStateReasonCode
+ VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
+)
+
+const (
+ // @enum VpcState
+ VpcStatePending = "pending"
+ // @enum VpcState
+ VpcStateAvailable = "available"
+)
+
+const (
+ // @enum VpnState
+ VpnStatePending = "pending"
+ // @enum VpnState
+ VpnStateAvailable = "available"
+ // @enum VpnState
+ VpnStateDeleting = "deleting"
+ // @enum VpnState
+ VpnStateDeleted = "deleted"
+)
+
+const (
+ // @enum VpnStaticRouteSource
+ VpnStaticRouteSourceStatic = "Static"
+)
diff --git a/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/customizations.go b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/customizations.go
new file mode 100644
index 00000000000..f3233e42e27
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/customizations.go
@@ -0,0 +1,57 @@
+package ec2
+
+import (
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awsutil"
+)
+
+func init() {
+ initRequest = func(r *aws.Request) {
+ if r.Operation.Name == opCopySnapshot { // fill the PresignedURL parameter
+ r.Handlers.Build.PushFront(fillPresignedURL)
+ }
+ }
+}
+
+func fillPresignedURL(r *aws.Request) {
+ if !r.ParamsFilled() {
+ return
+ }
+
+ params := r.Params.(*CopySnapshotInput)
+
+ // Stop if PresignedURL/DestinationRegion is set
+ if params.PresignedURL != nil || params.DestinationRegion != nil {
+ return
+ }
+
+ // First generate a copy of parameters
+ r.Params = awsutil.CopyOf(r.Params)
+ params = r.Params.(*CopySnapshotInput)
+
+ // Set destination region. Avoids infinite handler loop.
+ // Also needed to sign sub-request.
+ params.DestinationRegion = r.Service.Config.Region
+
+ // Create a new client pointing at source region.
+ // We will use this to presign the CopySnapshot request against
+ // the source region
+ config := r.Service.Config.Copy().
+ WithEndpoint("").
+ WithRegion(*params.SourceRegion)
+
+ client := New(config)
+
+ // Presign a CopySnapshot request with modified params
+ req, _ := client.CopySnapshotRequest(params)
+ url, err := req.Presign(300 * time.Second) // 5 minutes should be enough.
+
+ if err != nil { // bubble error back up to original request
+ r.Error = err
+ }
+
+ // We have our URL, set it on params
+ params.PresignedURL = &url
+}
diff --git a/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/customizations_test.go b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/customizations_test.go
new file mode 100644
index 00000000000..2233ba7a295
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/customizations_test.go
@@ -0,0 +1,36 @@
+package ec2_test
+
+import (
+ "io/ioutil"
+ "net/url"
+ "testing"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/internal/test/unit"
+ "github.com/aws/aws-sdk-go/service/ec2"
+ "github.com/stretchr/testify/assert"
+)
+
+var _ = unit.Imported
+
+func TestCopySnapshotPresignedURL(t *testing.T) {
+ svc := ec2.New(&aws.Config{Region: aws.String("us-west-2")})
+
+ assert.NotPanics(t, func() {
+ // Doesn't panic on nil input
+ req, _ := svc.CopySnapshotRequest(nil)
+ req.Sign()
+ })
+
+ req, _ := svc.CopySnapshotRequest(&ec2.CopySnapshotInput{
+ SourceRegion: aws.String("us-west-1"),
+ SourceSnapshotID: aws.String("snap-id"),
+ })
+ req.Sign()
+
+ b, _ := ioutil.ReadAll(req.HTTPRequest.Body)
+ q, _ := url.ParseQuery(string(b))
+ url, _ := url.QueryUnescape(q.Get("PresignedUrl"))
+ assert.Equal(t, "us-west-2", q.Get("DestinationRegion"))
+ assert.Regexp(t, `^https://ec2\.us-west-1\.amazon.+&DestinationRegion=us-west-2`, url)
+}
diff --git a/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go
new file mode 100644
index 00000000000..cf5ed743131
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface.go
@@ -0,0 +1,756 @@
+// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+
+// Package ec2iface provides an interface for the Amazon Elastic Compute Cloud.
+package ec2iface
+
+import (
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/service/ec2"
+)
+
+// EC2API is the interface type for ec2.EC2.
+type EC2API interface {
+ AcceptVPCPeeringConnectionRequest(*ec2.AcceptVPCPeeringConnectionInput) (*aws.Request, *ec2.AcceptVPCPeeringConnectionOutput)
+
+ AcceptVPCPeeringConnection(*ec2.AcceptVPCPeeringConnectionInput) (*ec2.AcceptVPCPeeringConnectionOutput, error)
+
+ AllocateAddressRequest(*ec2.AllocateAddressInput) (*aws.Request, *ec2.AllocateAddressOutput)
+
+ AllocateAddress(*ec2.AllocateAddressInput) (*ec2.AllocateAddressOutput, error)
+
+ AssignPrivateIPAddressesRequest(*ec2.AssignPrivateIPAddressesInput) (*aws.Request, *ec2.AssignPrivateIPAddressesOutput)
+
+ AssignPrivateIPAddresses(*ec2.AssignPrivateIPAddressesInput) (*ec2.AssignPrivateIPAddressesOutput, error)
+
+ AssociateAddressRequest(*ec2.AssociateAddressInput) (*aws.Request, *ec2.AssociateAddressOutput)
+
+ AssociateAddress(*ec2.AssociateAddressInput) (*ec2.AssociateAddressOutput, error)
+
+ AssociateDHCPOptionsRequest(*ec2.AssociateDHCPOptionsInput) (*aws.Request, *ec2.AssociateDHCPOptionsOutput)
+
+ AssociateDHCPOptions(*ec2.AssociateDHCPOptionsInput) (*ec2.AssociateDHCPOptionsOutput, error)
+
+ AssociateRouteTableRequest(*ec2.AssociateRouteTableInput) (*aws.Request, *ec2.AssociateRouteTableOutput)
+
+ AssociateRouteTable(*ec2.AssociateRouteTableInput) (*ec2.AssociateRouteTableOutput, error)
+
+ AttachClassicLinkVPCRequest(*ec2.AttachClassicLinkVPCInput) (*aws.Request, *ec2.AttachClassicLinkVPCOutput)
+
+ AttachClassicLinkVPC(*ec2.AttachClassicLinkVPCInput) (*ec2.AttachClassicLinkVPCOutput, error)
+
+ AttachInternetGatewayRequest(*ec2.AttachInternetGatewayInput) (*aws.Request, *ec2.AttachInternetGatewayOutput)
+
+ AttachInternetGateway(*ec2.AttachInternetGatewayInput) (*ec2.AttachInternetGatewayOutput, error)
+
+ AttachNetworkInterfaceRequest(*ec2.AttachNetworkInterfaceInput) (*aws.Request, *ec2.AttachNetworkInterfaceOutput)
+
+ AttachNetworkInterface(*ec2.AttachNetworkInterfaceInput) (*ec2.AttachNetworkInterfaceOutput, error)
+
+ AttachVPNGatewayRequest(*ec2.AttachVPNGatewayInput) (*aws.Request, *ec2.AttachVPNGatewayOutput)
+
+ AttachVPNGateway(*ec2.AttachVPNGatewayInput) (*ec2.AttachVPNGatewayOutput, error)
+
+ AttachVolumeRequest(*ec2.AttachVolumeInput) (*aws.Request, *ec2.VolumeAttachment)
+
+ AttachVolume(*ec2.AttachVolumeInput) (*ec2.VolumeAttachment, error)
+
+ AuthorizeSecurityGroupEgressRequest(*ec2.AuthorizeSecurityGroupEgressInput) (*aws.Request, *ec2.AuthorizeSecurityGroupEgressOutput)
+
+ AuthorizeSecurityGroupEgress(*ec2.AuthorizeSecurityGroupEgressInput) (*ec2.AuthorizeSecurityGroupEgressOutput, error)
+
+ AuthorizeSecurityGroupIngressRequest(*ec2.AuthorizeSecurityGroupIngressInput) (*aws.Request, *ec2.AuthorizeSecurityGroupIngressOutput)
+
+ AuthorizeSecurityGroupIngress(*ec2.AuthorizeSecurityGroupIngressInput) (*ec2.AuthorizeSecurityGroupIngressOutput, error)
+
+ BundleInstanceRequest(*ec2.BundleInstanceInput) (*aws.Request, *ec2.BundleInstanceOutput)
+
+ BundleInstance(*ec2.BundleInstanceInput) (*ec2.BundleInstanceOutput, error)
+
+ CancelBundleTaskRequest(*ec2.CancelBundleTaskInput) (*aws.Request, *ec2.CancelBundleTaskOutput)
+
+ CancelBundleTask(*ec2.CancelBundleTaskInput) (*ec2.CancelBundleTaskOutput, error)
+
+ CancelConversionTaskRequest(*ec2.CancelConversionTaskInput) (*aws.Request, *ec2.CancelConversionTaskOutput)
+
+ CancelConversionTask(*ec2.CancelConversionTaskInput) (*ec2.CancelConversionTaskOutput, error)
+
+ CancelExportTaskRequest(*ec2.CancelExportTaskInput) (*aws.Request, *ec2.CancelExportTaskOutput)
+
+ CancelExportTask(*ec2.CancelExportTaskInput) (*ec2.CancelExportTaskOutput, error)
+
+ CancelImportTaskRequest(*ec2.CancelImportTaskInput) (*aws.Request, *ec2.CancelImportTaskOutput)
+
+ CancelImportTask(*ec2.CancelImportTaskInput) (*ec2.CancelImportTaskOutput, error)
+
+ CancelReservedInstancesListingRequest(*ec2.CancelReservedInstancesListingInput) (*aws.Request, *ec2.CancelReservedInstancesListingOutput)
+
+ CancelReservedInstancesListing(*ec2.CancelReservedInstancesListingInput) (*ec2.CancelReservedInstancesListingOutput, error)
+
+ CancelSpotFleetRequestsRequest(*ec2.CancelSpotFleetRequestsInput) (*aws.Request, *ec2.CancelSpotFleetRequestsOutput)
+
+ CancelSpotFleetRequests(*ec2.CancelSpotFleetRequestsInput) (*ec2.CancelSpotFleetRequestsOutput, error)
+
+ CancelSpotInstanceRequestsRequest(*ec2.CancelSpotInstanceRequestsInput) (*aws.Request, *ec2.CancelSpotInstanceRequestsOutput)
+
+ CancelSpotInstanceRequests(*ec2.CancelSpotInstanceRequestsInput) (*ec2.CancelSpotInstanceRequestsOutput, error)
+
+ ConfirmProductInstanceRequest(*ec2.ConfirmProductInstanceInput) (*aws.Request, *ec2.ConfirmProductInstanceOutput)
+
+ ConfirmProductInstance(*ec2.ConfirmProductInstanceInput) (*ec2.ConfirmProductInstanceOutput, error)
+
+ CopyImageRequest(*ec2.CopyImageInput) (*aws.Request, *ec2.CopyImageOutput)
+
+ CopyImage(*ec2.CopyImageInput) (*ec2.CopyImageOutput, error)
+
+ CopySnapshotRequest(*ec2.CopySnapshotInput) (*aws.Request, *ec2.CopySnapshotOutput)
+
+ CopySnapshot(*ec2.CopySnapshotInput) (*ec2.CopySnapshotOutput, error)
+
+ CreateCustomerGatewayRequest(*ec2.CreateCustomerGatewayInput) (*aws.Request, *ec2.CreateCustomerGatewayOutput)
+
+ CreateCustomerGateway(*ec2.CreateCustomerGatewayInput) (*ec2.CreateCustomerGatewayOutput, error)
+
+ CreateDHCPOptionsRequest(*ec2.CreateDHCPOptionsInput) (*aws.Request, *ec2.CreateDHCPOptionsOutput)
+
+ CreateDHCPOptions(*ec2.CreateDHCPOptionsInput) (*ec2.CreateDHCPOptionsOutput, error)
+
+ CreateFlowLogsRequest(*ec2.CreateFlowLogsInput) (*aws.Request, *ec2.CreateFlowLogsOutput)
+
+ CreateFlowLogs(*ec2.CreateFlowLogsInput) (*ec2.CreateFlowLogsOutput, error)
+
+ CreateImageRequest(*ec2.CreateImageInput) (*aws.Request, *ec2.CreateImageOutput)
+
+ CreateImage(*ec2.CreateImageInput) (*ec2.CreateImageOutput, error)
+
+ CreateInstanceExportTaskRequest(*ec2.CreateInstanceExportTaskInput) (*aws.Request, *ec2.CreateInstanceExportTaskOutput)
+
+ CreateInstanceExportTask(*ec2.CreateInstanceExportTaskInput) (*ec2.CreateInstanceExportTaskOutput, error)
+
+ CreateInternetGatewayRequest(*ec2.CreateInternetGatewayInput) (*aws.Request, *ec2.CreateInternetGatewayOutput)
+
+ CreateInternetGateway(*ec2.CreateInternetGatewayInput) (*ec2.CreateInternetGatewayOutput, error)
+
+ CreateKeyPairRequest(*ec2.CreateKeyPairInput) (*aws.Request, *ec2.CreateKeyPairOutput)
+
+ CreateKeyPair(*ec2.CreateKeyPairInput) (*ec2.CreateKeyPairOutput, error)
+
+ CreateNetworkACLRequest(*ec2.CreateNetworkACLInput) (*aws.Request, *ec2.CreateNetworkACLOutput)
+
+ CreateNetworkACL(*ec2.CreateNetworkACLInput) (*ec2.CreateNetworkACLOutput, error)
+
+ CreateNetworkACLEntryRequest(*ec2.CreateNetworkACLEntryInput) (*aws.Request, *ec2.CreateNetworkACLEntryOutput)
+
+ CreateNetworkACLEntry(*ec2.CreateNetworkACLEntryInput) (*ec2.CreateNetworkACLEntryOutput, error)
+
+ CreateNetworkInterfaceRequest(*ec2.CreateNetworkInterfaceInput) (*aws.Request, *ec2.CreateNetworkInterfaceOutput)
+
+ CreateNetworkInterface(*ec2.CreateNetworkInterfaceInput) (*ec2.CreateNetworkInterfaceOutput, error)
+
+ CreatePlacementGroupRequest(*ec2.CreatePlacementGroupInput) (*aws.Request, *ec2.CreatePlacementGroupOutput)
+
+ CreatePlacementGroup(*ec2.CreatePlacementGroupInput) (*ec2.CreatePlacementGroupOutput, error)
+
+ CreateReservedInstancesListingRequest(*ec2.CreateReservedInstancesListingInput) (*aws.Request, *ec2.CreateReservedInstancesListingOutput)
+
+ CreateReservedInstancesListing(*ec2.CreateReservedInstancesListingInput) (*ec2.CreateReservedInstancesListingOutput, error)
+
+ CreateRouteRequest(*ec2.CreateRouteInput) (*aws.Request, *ec2.CreateRouteOutput)
+
+ CreateRoute(*ec2.CreateRouteInput) (*ec2.CreateRouteOutput, error)
+
+ CreateRouteTableRequest(*ec2.CreateRouteTableInput) (*aws.Request, *ec2.CreateRouteTableOutput)
+
+ CreateRouteTable(*ec2.CreateRouteTableInput) (*ec2.CreateRouteTableOutput, error)
+
+ CreateSecurityGroupRequest(*ec2.CreateSecurityGroupInput) (*aws.Request, *ec2.CreateSecurityGroupOutput)
+
+ CreateSecurityGroup(*ec2.CreateSecurityGroupInput) (*ec2.CreateSecurityGroupOutput, error)
+
+ CreateSnapshotRequest(*ec2.CreateSnapshotInput) (*aws.Request, *ec2.Snapshot)
+
+ CreateSnapshot(*ec2.CreateSnapshotInput) (*ec2.Snapshot, error)
+
+ CreateSpotDatafeedSubscriptionRequest(*ec2.CreateSpotDatafeedSubscriptionInput) (*aws.Request, *ec2.CreateSpotDatafeedSubscriptionOutput)
+
+ CreateSpotDatafeedSubscription(*ec2.CreateSpotDatafeedSubscriptionInput) (*ec2.CreateSpotDatafeedSubscriptionOutput, error)
+
+ CreateSubnetRequest(*ec2.CreateSubnetInput) (*aws.Request, *ec2.CreateSubnetOutput)
+
+ CreateSubnet(*ec2.CreateSubnetInput) (*ec2.CreateSubnetOutput, error)
+
+ CreateTagsRequest(*ec2.CreateTagsInput) (*aws.Request, *ec2.CreateTagsOutput)
+
+ CreateTags(*ec2.CreateTagsInput) (*ec2.CreateTagsOutput, error)
+
+ CreateVPCRequest(*ec2.CreateVPCInput) (*aws.Request, *ec2.CreateVPCOutput)
+
+ CreateVPC(*ec2.CreateVPCInput) (*ec2.CreateVPCOutput, error)
+
+ CreateVPCEndpointRequest(*ec2.CreateVPCEndpointInput) (*aws.Request, *ec2.CreateVPCEndpointOutput)
+
+ CreateVPCEndpoint(*ec2.CreateVPCEndpointInput) (*ec2.CreateVPCEndpointOutput, error)
+
+ CreateVPCPeeringConnectionRequest(*ec2.CreateVPCPeeringConnectionInput) (*aws.Request, *ec2.CreateVPCPeeringConnectionOutput)
+
+ CreateVPCPeeringConnection(*ec2.CreateVPCPeeringConnectionInput) (*ec2.CreateVPCPeeringConnectionOutput, error)
+
+ CreateVPNConnectionRequest(*ec2.CreateVPNConnectionInput) (*aws.Request, *ec2.CreateVPNConnectionOutput)
+
+ CreateVPNConnection(*ec2.CreateVPNConnectionInput) (*ec2.CreateVPNConnectionOutput, error)
+
+ CreateVPNConnectionRouteRequest(*ec2.CreateVPNConnectionRouteInput) (*aws.Request, *ec2.CreateVPNConnectionRouteOutput)
+
+ CreateVPNConnectionRoute(*ec2.CreateVPNConnectionRouteInput) (*ec2.CreateVPNConnectionRouteOutput, error)
+
+ CreateVPNGatewayRequest(*ec2.CreateVPNGatewayInput) (*aws.Request, *ec2.CreateVPNGatewayOutput)
+
+ CreateVPNGateway(*ec2.CreateVPNGatewayInput) (*ec2.CreateVPNGatewayOutput, error)
+
+ CreateVolumeRequest(*ec2.CreateVolumeInput) (*aws.Request, *ec2.Volume)
+
+ CreateVolume(*ec2.CreateVolumeInput) (*ec2.Volume, error)
+
+ DeleteCustomerGatewayRequest(*ec2.DeleteCustomerGatewayInput) (*aws.Request, *ec2.DeleteCustomerGatewayOutput)
+
+ DeleteCustomerGateway(*ec2.DeleteCustomerGatewayInput) (*ec2.DeleteCustomerGatewayOutput, error)
+
+ DeleteDHCPOptionsRequest(*ec2.DeleteDHCPOptionsInput) (*aws.Request, *ec2.DeleteDHCPOptionsOutput)
+
+ DeleteDHCPOptions(*ec2.DeleteDHCPOptionsInput) (*ec2.DeleteDHCPOptionsOutput, error)
+
+ DeleteFlowLogsRequest(*ec2.DeleteFlowLogsInput) (*aws.Request, *ec2.DeleteFlowLogsOutput)
+
+ DeleteFlowLogs(*ec2.DeleteFlowLogsInput) (*ec2.DeleteFlowLogsOutput, error)
+
+ DeleteInternetGatewayRequest(*ec2.DeleteInternetGatewayInput) (*aws.Request, *ec2.DeleteInternetGatewayOutput)
+
+ DeleteInternetGateway(*ec2.DeleteInternetGatewayInput) (*ec2.DeleteInternetGatewayOutput, error)
+
+ DeleteKeyPairRequest(*ec2.DeleteKeyPairInput) (*aws.Request, *ec2.DeleteKeyPairOutput)
+
+ DeleteKeyPair(*ec2.DeleteKeyPairInput) (*ec2.DeleteKeyPairOutput, error)
+
+ DeleteNetworkACLRequest(*ec2.DeleteNetworkACLInput) (*aws.Request, *ec2.DeleteNetworkACLOutput)
+
+ DeleteNetworkACL(*ec2.DeleteNetworkACLInput) (*ec2.DeleteNetworkACLOutput, error)
+
+ DeleteNetworkACLEntryRequest(*ec2.DeleteNetworkACLEntryInput) (*aws.Request, *ec2.DeleteNetworkACLEntryOutput)
+
+ DeleteNetworkACLEntry(*ec2.DeleteNetworkACLEntryInput) (*ec2.DeleteNetworkACLEntryOutput, error)
+
+ DeleteNetworkInterfaceRequest(*ec2.DeleteNetworkInterfaceInput) (*aws.Request, *ec2.DeleteNetworkInterfaceOutput)
+
+ DeleteNetworkInterface(*ec2.DeleteNetworkInterfaceInput) (*ec2.DeleteNetworkInterfaceOutput, error)
+
+ DeletePlacementGroupRequest(*ec2.DeletePlacementGroupInput) (*aws.Request, *ec2.DeletePlacementGroupOutput)
+
+ DeletePlacementGroup(*ec2.DeletePlacementGroupInput) (*ec2.DeletePlacementGroupOutput, error)
+
+ DeleteRouteRequest(*ec2.DeleteRouteInput) (*aws.Request, *ec2.DeleteRouteOutput)
+
+ DeleteRoute(*ec2.DeleteRouteInput) (*ec2.DeleteRouteOutput, error)
+
+ DeleteRouteTableRequest(*ec2.DeleteRouteTableInput) (*aws.Request, *ec2.DeleteRouteTableOutput)
+
+ DeleteRouteTable(*ec2.DeleteRouteTableInput) (*ec2.DeleteRouteTableOutput, error)
+
+ DeleteSecurityGroupRequest(*ec2.DeleteSecurityGroupInput) (*aws.Request, *ec2.DeleteSecurityGroupOutput)
+
+ DeleteSecurityGroup(*ec2.DeleteSecurityGroupInput) (*ec2.DeleteSecurityGroupOutput, error)
+
+ DeleteSnapshotRequest(*ec2.DeleteSnapshotInput) (*aws.Request, *ec2.DeleteSnapshotOutput)
+
+ DeleteSnapshot(*ec2.DeleteSnapshotInput) (*ec2.DeleteSnapshotOutput, error)
+
+ DeleteSpotDatafeedSubscriptionRequest(*ec2.DeleteSpotDatafeedSubscriptionInput) (*aws.Request, *ec2.DeleteSpotDatafeedSubscriptionOutput)
+
+ DeleteSpotDatafeedSubscription(*ec2.DeleteSpotDatafeedSubscriptionInput) (*ec2.DeleteSpotDatafeedSubscriptionOutput, error)
+
+ DeleteSubnetRequest(*ec2.DeleteSubnetInput) (*aws.Request, *ec2.DeleteSubnetOutput)
+
+ DeleteSubnet(*ec2.DeleteSubnetInput) (*ec2.DeleteSubnetOutput, error)
+
+ DeleteTagsRequest(*ec2.DeleteTagsInput) (*aws.Request, *ec2.DeleteTagsOutput)
+
+ DeleteTags(*ec2.DeleteTagsInput) (*ec2.DeleteTagsOutput, error)
+
+ DeleteVPCRequest(*ec2.DeleteVPCInput) (*aws.Request, *ec2.DeleteVPCOutput)
+
+ DeleteVPC(*ec2.DeleteVPCInput) (*ec2.DeleteVPCOutput, error)
+
+ DeleteVPCEndpointsRequest(*ec2.DeleteVPCEndpointsInput) (*aws.Request, *ec2.DeleteVPCEndpointsOutput)
+
+ DeleteVPCEndpoints(*ec2.DeleteVPCEndpointsInput) (*ec2.DeleteVPCEndpointsOutput, error)
+
+ DeleteVPCPeeringConnectionRequest(*ec2.DeleteVPCPeeringConnectionInput) (*aws.Request, *ec2.DeleteVPCPeeringConnectionOutput)
+
+ DeleteVPCPeeringConnection(*ec2.DeleteVPCPeeringConnectionInput) (*ec2.DeleteVPCPeeringConnectionOutput, error)
+
+ DeleteVPNConnectionRequest(*ec2.DeleteVPNConnectionInput) (*aws.Request, *ec2.DeleteVPNConnectionOutput)
+
+ DeleteVPNConnection(*ec2.DeleteVPNConnectionInput) (*ec2.DeleteVPNConnectionOutput, error)
+
+ DeleteVPNConnectionRouteRequest(*ec2.DeleteVPNConnectionRouteInput) (*aws.Request, *ec2.DeleteVPNConnectionRouteOutput)
+
+ DeleteVPNConnectionRoute(*ec2.DeleteVPNConnectionRouteInput) (*ec2.DeleteVPNConnectionRouteOutput, error)
+
+ DeleteVPNGatewayRequest(*ec2.DeleteVPNGatewayInput) (*aws.Request, *ec2.DeleteVPNGatewayOutput)
+
+ DeleteVPNGateway(*ec2.DeleteVPNGatewayInput) (*ec2.DeleteVPNGatewayOutput, error)
+
+ DeleteVolumeRequest(*ec2.DeleteVolumeInput) (*aws.Request, *ec2.DeleteVolumeOutput)
+
+ DeleteVolume(*ec2.DeleteVolumeInput) (*ec2.DeleteVolumeOutput, error)
+
+ DeregisterImageRequest(*ec2.DeregisterImageInput) (*aws.Request, *ec2.DeregisterImageOutput)
+
+ DeregisterImage(*ec2.DeregisterImageInput) (*ec2.DeregisterImageOutput, error)
+
+ DescribeAccountAttributesRequest(*ec2.DescribeAccountAttributesInput) (*aws.Request, *ec2.DescribeAccountAttributesOutput)
+
+ DescribeAccountAttributes(*ec2.DescribeAccountAttributesInput) (*ec2.DescribeAccountAttributesOutput, error)
+
+ DescribeAddressesRequest(*ec2.DescribeAddressesInput) (*aws.Request, *ec2.DescribeAddressesOutput)
+
+ DescribeAddresses(*ec2.DescribeAddressesInput) (*ec2.DescribeAddressesOutput, error)
+
+ DescribeAvailabilityZonesRequest(*ec2.DescribeAvailabilityZonesInput) (*aws.Request, *ec2.DescribeAvailabilityZonesOutput)
+
+ DescribeAvailabilityZones(*ec2.DescribeAvailabilityZonesInput) (*ec2.DescribeAvailabilityZonesOutput, error)
+
+ DescribeBundleTasksRequest(*ec2.DescribeBundleTasksInput) (*aws.Request, *ec2.DescribeBundleTasksOutput)
+
+ DescribeBundleTasks(*ec2.DescribeBundleTasksInput) (*ec2.DescribeBundleTasksOutput, error)
+
+ DescribeClassicLinkInstancesRequest(*ec2.DescribeClassicLinkInstancesInput) (*aws.Request, *ec2.DescribeClassicLinkInstancesOutput)
+
+ DescribeClassicLinkInstances(*ec2.DescribeClassicLinkInstancesInput) (*ec2.DescribeClassicLinkInstancesOutput, error)
+
+ DescribeConversionTasksRequest(*ec2.DescribeConversionTasksInput) (*aws.Request, *ec2.DescribeConversionTasksOutput)
+
+ DescribeConversionTasks(*ec2.DescribeConversionTasksInput) (*ec2.DescribeConversionTasksOutput, error)
+
+ DescribeCustomerGatewaysRequest(*ec2.DescribeCustomerGatewaysInput) (*aws.Request, *ec2.DescribeCustomerGatewaysOutput)
+
+ DescribeCustomerGateways(*ec2.DescribeCustomerGatewaysInput) (*ec2.DescribeCustomerGatewaysOutput, error)
+
+ DescribeDHCPOptionsRequest(*ec2.DescribeDHCPOptionsInput) (*aws.Request, *ec2.DescribeDHCPOptionsOutput)
+
+ DescribeDHCPOptions(*ec2.DescribeDHCPOptionsInput) (*ec2.DescribeDHCPOptionsOutput, error)
+
+ DescribeExportTasksRequest(*ec2.DescribeExportTasksInput) (*aws.Request, *ec2.DescribeExportTasksOutput)
+
+ DescribeExportTasks(*ec2.DescribeExportTasksInput) (*ec2.DescribeExportTasksOutput, error)
+
+ DescribeFlowLogsRequest(*ec2.DescribeFlowLogsInput) (*aws.Request, *ec2.DescribeFlowLogsOutput)
+
+ DescribeFlowLogs(*ec2.DescribeFlowLogsInput) (*ec2.DescribeFlowLogsOutput, error)
+
+ DescribeImageAttributeRequest(*ec2.DescribeImageAttributeInput) (*aws.Request, *ec2.DescribeImageAttributeOutput)
+
+ DescribeImageAttribute(*ec2.DescribeImageAttributeInput) (*ec2.DescribeImageAttributeOutput, error)
+
+ DescribeImagesRequest(*ec2.DescribeImagesInput) (*aws.Request, *ec2.DescribeImagesOutput)
+
+ DescribeImages(*ec2.DescribeImagesInput) (*ec2.DescribeImagesOutput, error)
+
+ DescribeImportImageTasksRequest(*ec2.DescribeImportImageTasksInput) (*aws.Request, *ec2.DescribeImportImageTasksOutput)
+
+ DescribeImportImageTasks(*ec2.DescribeImportImageTasksInput) (*ec2.DescribeImportImageTasksOutput, error)
+
+ DescribeImportSnapshotTasksRequest(*ec2.DescribeImportSnapshotTasksInput) (*aws.Request, *ec2.DescribeImportSnapshotTasksOutput)
+
+ DescribeImportSnapshotTasks(*ec2.DescribeImportSnapshotTasksInput) (*ec2.DescribeImportSnapshotTasksOutput, error)
+
+ DescribeInstanceAttributeRequest(*ec2.DescribeInstanceAttributeInput) (*aws.Request, *ec2.DescribeInstanceAttributeOutput)
+
+ DescribeInstanceAttribute(*ec2.DescribeInstanceAttributeInput) (*ec2.DescribeInstanceAttributeOutput, error)
+
+ DescribeInstanceStatusRequest(*ec2.DescribeInstanceStatusInput) (*aws.Request, *ec2.DescribeInstanceStatusOutput)
+
+ DescribeInstanceStatus(*ec2.DescribeInstanceStatusInput) (*ec2.DescribeInstanceStatusOutput, error)
+
+ DescribeInstanceStatusPages(*ec2.DescribeInstanceStatusInput, func(*ec2.DescribeInstanceStatusOutput, bool) bool) error
+
+ DescribeInstancesRequest(*ec2.DescribeInstancesInput) (*aws.Request, *ec2.DescribeInstancesOutput)
+
+ DescribeInstances(*ec2.DescribeInstancesInput) (*ec2.DescribeInstancesOutput, error)
+
+ DescribeInstancesPages(*ec2.DescribeInstancesInput, func(*ec2.DescribeInstancesOutput, bool) bool) error
+
+ DescribeInternetGatewaysRequest(*ec2.DescribeInternetGatewaysInput) (*aws.Request, *ec2.DescribeInternetGatewaysOutput)
+
+ DescribeInternetGateways(*ec2.DescribeInternetGatewaysInput) (*ec2.DescribeInternetGatewaysOutput, error)
+
+ DescribeKeyPairsRequest(*ec2.DescribeKeyPairsInput) (*aws.Request, *ec2.DescribeKeyPairsOutput)
+
+ DescribeKeyPairs(*ec2.DescribeKeyPairsInput) (*ec2.DescribeKeyPairsOutput, error)
+
+ DescribeMovingAddressesRequest(*ec2.DescribeMovingAddressesInput) (*aws.Request, *ec2.DescribeMovingAddressesOutput)
+
+ DescribeMovingAddresses(*ec2.DescribeMovingAddressesInput) (*ec2.DescribeMovingAddressesOutput, error)
+
+ DescribeNetworkACLsRequest(*ec2.DescribeNetworkACLsInput) (*aws.Request, *ec2.DescribeNetworkACLsOutput)
+
+ DescribeNetworkACLs(*ec2.DescribeNetworkACLsInput) (*ec2.DescribeNetworkACLsOutput, error)
+
+ DescribeNetworkInterfaceAttributeRequest(*ec2.DescribeNetworkInterfaceAttributeInput) (*aws.Request, *ec2.DescribeNetworkInterfaceAttributeOutput)
+
+ DescribeNetworkInterfaceAttribute(*ec2.DescribeNetworkInterfaceAttributeInput) (*ec2.DescribeNetworkInterfaceAttributeOutput, error)
+
+ DescribeNetworkInterfacesRequest(*ec2.DescribeNetworkInterfacesInput) (*aws.Request, *ec2.DescribeNetworkInterfacesOutput)
+
+ DescribeNetworkInterfaces(*ec2.DescribeNetworkInterfacesInput) (*ec2.DescribeNetworkInterfacesOutput, error)
+
+ DescribePlacementGroupsRequest(*ec2.DescribePlacementGroupsInput) (*aws.Request, *ec2.DescribePlacementGroupsOutput)
+
+ DescribePlacementGroups(*ec2.DescribePlacementGroupsInput) (*ec2.DescribePlacementGroupsOutput, error)
+
+ DescribePrefixListsRequest(*ec2.DescribePrefixListsInput) (*aws.Request, *ec2.DescribePrefixListsOutput)
+
+ DescribePrefixLists(*ec2.DescribePrefixListsInput) (*ec2.DescribePrefixListsOutput, error)
+
+ DescribeRegionsRequest(*ec2.DescribeRegionsInput) (*aws.Request, *ec2.DescribeRegionsOutput)
+
+ DescribeRegions(*ec2.DescribeRegionsInput) (*ec2.DescribeRegionsOutput, error)
+
+ DescribeReservedInstancesRequest(*ec2.DescribeReservedInstancesInput) (*aws.Request, *ec2.DescribeReservedInstancesOutput)
+
+ DescribeReservedInstances(*ec2.DescribeReservedInstancesInput) (*ec2.DescribeReservedInstancesOutput, error)
+
+ DescribeReservedInstancesListingsRequest(*ec2.DescribeReservedInstancesListingsInput) (*aws.Request, *ec2.DescribeReservedInstancesListingsOutput)
+
+ DescribeReservedInstancesListings(*ec2.DescribeReservedInstancesListingsInput) (*ec2.DescribeReservedInstancesListingsOutput, error)
+
+ DescribeReservedInstancesModificationsRequest(*ec2.DescribeReservedInstancesModificationsInput) (*aws.Request, *ec2.DescribeReservedInstancesModificationsOutput)
+
+ DescribeReservedInstancesModifications(*ec2.DescribeReservedInstancesModificationsInput) (*ec2.DescribeReservedInstancesModificationsOutput, error)
+
+ DescribeReservedInstancesModificationsPages(*ec2.DescribeReservedInstancesModificationsInput, func(*ec2.DescribeReservedInstancesModificationsOutput, bool) bool) error
+
+ DescribeReservedInstancesOfferingsRequest(*ec2.DescribeReservedInstancesOfferingsInput) (*aws.Request, *ec2.DescribeReservedInstancesOfferingsOutput)
+
+ DescribeReservedInstancesOfferings(*ec2.DescribeReservedInstancesOfferingsInput) (*ec2.DescribeReservedInstancesOfferingsOutput, error)
+
+ DescribeReservedInstancesOfferingsPages(*ec2.DescribeReservedInstancesOfferingsInput, func(*ec2.DescribeReservedInstancesOfferingsOutput, bool) bool) error
+
+ DescribeRouteTablesRequest(*ec2.DescribeRouteTablesInput) (*aws.Request, *ec2.DescribeRouteTablesOutput)
+
+ DescribeRouteTables(*ec2.DescribeRouteTablesInput) (*ec2.DescribeRouteTablesOutput, error)
+
+ DescribeSecurityGroupsRequest(*ec2.DescribeSecurityGroupsInput) (*aws.Request, *ec2.DescribeSecurityGroupsOutput)
+
+ DescribeSecurityGroups(*ec2.DescribeSecurityGroupsInput) (*ec2.DescribeSecurityGroupsOutput, error)
+
+ DescribeSnapshotAttributeRequest(*ec2.DescribeSnapshotAttributeInput) (*aws.Request, *ec2.DescribeSnapshotAttributeOutput)
+
+ DescribeSnapshotAttribute(*ec2.DescribeSnapshotAttributeInput) (*ec2.DescribeSnapshotAttributeOutput, error)
+
+ DescribeSnapshotsRequest(*ec2.DescribeSnapshotsInput) (*aws.Request, *ec2.DescribeSnapshotsOutput)
+
+ DescribeSnapshots(*ec2.DescribeSnapshotsInput) (*ec2.DescribeSnapshotsOutput, error)
+
+ DescribeSnapshotsPages(*ec2.DescribeSnapshotsInput, func(*ec2.DescribeSnapshotsOutput, bool) bool) error
+
+ DescribeSpotDatafeedSubscriptionRequest(*ec2.DescribeSpotDatafeedSubscriptionInput) (*aws.Request, *ec2.DescribeSpotDatafeedSubscriptionOutput)
+
+ DescribeSpotDatafeedSubscription(*ec2.DescribeSpotDatafeedSubscriptionInput) (*ec2.DescribeSpotDatafeedSubscriptionOutput, error)
+
+ DescribeSpotFleetInstancesRequest(*ec2.DescribeSpotFleetInstancesInput) (*aws.Request, *ec2.DescribeSpotFleetInstancesOutput)
+
+ DescribeSpotFleetInstances(*ec2.DescribeSpotFleetInstancesInput) (*ec2.DescribeSpotFleetInstancesOutput, error)
+
+ DescribeSpotFleetRequestHistoryRequest(*ec2.DescribeSpotFleetRequestHistoryInput) (*aws.Request, *ec2.DescribeSpotFleetRequestHistoryOutput)
+
+ DescribeSpotFleetRequestHistory(*ec2.DescribeSpotFleetRequestHistoryInput) (*ec2.DescribeSpotFleetRequestHistoryOutput, error)
+
+ DescribeSpotFleetRequestsRequest(*ec2.DescribeSpotFleetRequestsInput) (*aws.Request, *ec2.DescribeSpotFleetRequestsOutput)
+
+ DescribeSpotFleetRequests(*ec2.DescribeSpotFleetRequestsInput) (*ec2.DescribeSpotFleetRequestsOutput, error)
+
+ DescribeSpotInstanceRequestsRequest(*ec2.DescribeSpotInstanceRequestsInput) (*aws.Request, *ec2.DescribeSpotInstanceRequestsOutput)
+
+ DescribeSpotInstanceRequests(*ec2.DescribeSpotInstanceRequestsInput) (*ec2.DescribeSpotInstanceRequestsOutput, error)
+
+ DescribeSpotPriceHistoryRequest(*ec2.DescribeSpotPriceHistoryInput) (*aws.Request, *ec2.DescribeSpotPriceHistoryOutput)
+
+ DescribeSpotPriceHistory(*ec2.DescribeSpotPriceHistoryInput) (*ec2.DescribeSpotPriceHistoryOutput, error)
+
+ DescribeSpotPriceHistoryPages(*ec2.DescribeSpotPriceHistoryInput, func(*ec2.DescribeSpotPriceHistoryOutput, bool) bool) error
+
+ DescribeSubnetsRequest(*ec2.DescribeSubnetsInput) (*aws.Request, *ec2.DescribeSubnetsOutput)
+
+ DescribeSubnets(*ec2.DescribeSubnetsInput) (*ec2.DescribeSubnetsOutput, error)
+
+ DescribeTagsRequest(*ec2.DescribeTagsInput) (*aws.Request, *ec2.DescribeTagsOutput)
+
+ DescribeTags(*ec2.DescribeTagsInput) (*ec2.DescribeTagsOutput, error)
+
+ DescribeVPCAttributeRequest(*ec2.DescribeVPCAttributeInput) (*aws.Request, *ec2.DescribeVPCAttributeOutput)
+
+ DescribeVPCAttribute(*ec2.DescribeVPCAttributeInput) (*ec2.DescribeVPCAttributeOutput, error)
+
+ DescribeVPCClassicLinkRequest(*ec2.DescribeVPCClassicLinkInput) (*aws.Request, *ec2.DescribeVPCClassicLinkOutput)
+
+ DescribeVPCClassicLink(*ec2.DescribeVPCClassicLinkInput) (*ec2.DescribeVPCClassicLinkOutput, error)
+
+ DescribeVPCEndpointServicesRequest(*ec2.DescribeVPCEndpointServicesInput) (*aws.Request, *ec2.DescribeVPCEndpointServicesOutput)
+
+ DescribeVPCEndpointServices(*ec2.DescribeVPCEndpointServicesInput) (*ec2.DescribeVPCEndpointServicesOutput, error)
+
+ DescribeVPCEndpointsRequest(*ec2.DescribeVPCEndpointsInput) (*aws.Request, *ec2.DescribeVPCEndpointsOutput)
+
+ DescribeVPCEndpoints(*ec2.DescribeVPCEndpointsInput) (*ec2.DescribeVPCEndpointsOutput, error)
+
+ DescribeVPCPeeringConnectionsRequest(*ec2.DescribeVPCPeeringConnectionsInput) (*aws.Request, *ec2.DescribeVPCPeeringConnectionsOutput)
+
+ DescribeVPCPeeringConnections(*ec2.DescribeVPCPeeringConnectionsInput) (*ec2.DescribeVPCPeeringConnectionsOutput, error)
+
+ DescribeVPCsRequest(*ec2.DescribeVPCsInput) (*aws.Request, *ec2.DescribeVPCsOutput)
+
+ DescribeVPCs(*ec2.DescribeVPCsInput) (*ec2.DescribeVPCsOutput, error)
+
+ DescribeVPNConnectionsRequest(*ec2.DescribeVPNConnectionsInput) (*aws.Request, *ec2.DescribeVPNConnectionsOutput)
+
+ DescribeVPNConnections(*ec2.DescribeVPNConnectionsInput) (*ec2.DescribeVPNConnectionsOutput, error)
+
+ DescribeVPNGatewaysRequest(*ec2.DescribeVPNGatewaysInput) (*aws.Request, *ec2.DescribeVPNGatewaysOutput)
+
+ DescribeVPNGateways(*ec2.DescribeVPNGatewaysInput) (*ec2.DescribeVPNGatewaysOutput, error)
+
+ DescribeVolumeAttributeRequest(*ec2.DescribeVolumeAttributeInput) (*aws.Request, *ec2.DescribeVolumeAttributeOutput)
+
+ DescribeVolumeAttribute(*ec2.DescribeVolumeAttributeInput) (*ec2.DescribeVolumeAttributeOutput, error)
+
+ DescribeVolumeStatusRequest(*ec2.DescribeVolumeStatusInput) (*aws.Request, *ec2.DescribeVolumeStatusOutput)
+
+ DescribeVolumeStatus(*ec2.DescribeVolumeStatusInput) (*ec2.DescribeVolumeStatusOutput, error)
+
+ DescribeVolumeStatusPages(*ec2.DescribeVolumeStatusInput, func(*ec2.DescribeVolumeStatusOutput, bool) bool) error
+
+ DescribeVolumesRequest(*ec2.DescribeVolumesInput) (*aws.Request, *ec2.DescribeVolumesOutput)
+
+ DescribeVolumes(*ec2.DescribeVolumesInput) (*ec2.DescribeVolumesOutput, error)
+
+ DescribeVolumesPages(*ec2.DescribeVolumesInput, func(*ec2.DescribeVolumesOutput, bool) bool) error
+
+ DetachClassicLinkVPCRequest(*ec2.DetachClassicLinkVPCInput) (*aws.Request, *ec2.DetachClassicLinkVPCOutput)
+
+ DetachClassicLinkVPC(*ec2.DetachClassicLinkVPCInput) (*ec2.DetachClassicLinkVPCOutput, error)
+
+ DetachInternetGatewayRequest(*ec2.DetachInternetGatewayInput) (*aws.Request, *ec2.DetachInternetGatewayOutput)
+
+ DetachInternetGateway(*ec2.DetachInternetGatewayInput) (*ec2.DetachInternetGatewayOutput, error)
+
+ DetachNetworkInterfaceRequest(*ec2.DetachNetworkInterfaceInput) (*aws.Request, *ec2.DetachNetworkInterfaceOutput)
+
+ DetachNetworkInterface(*ec2.DetachNetworkInterfaceInput) (*ec2.DetachNetworkInterfaceOutput, error)
+
+ DetachVPNGatewayRequest(*ec2.DetachVPNGatewayInput) (*aws.Request, *ec2.DetachVPNGatewayOutput)
+
+ DetachVPNGateway(*ec2.DetachVPNGatewayInput) (*ec2.DetachVPNGatewayOutput, error)
+
+ DetachVolumeRequest(*ec2.DetachVolumeInput) (*aws.Request, *ec2.VolumeAttachment)
+
+ DetachVolume(*ec2.DetachVolumeInput) (*ec2.VolumeAttachment, error)
+
+ DisableVGWRoutePropagationRequest(*ec2.DisableVGWRoutePropagationInput) (*aws.Request, *ec2.DisableVGWRoutePropagationOutput)
+
+ DisableVGWRoutePropagation(*ec2.DisableVGWRoutePropagationInput) (*ec2.DisableVGWRoutePropagationOutput, error)
+
+ DisableVPCClassicLinkRequest(*ec2.DisableVPCClassicLinkInput) (*aws.Request, *ec2.DisableVPCClassicLinkOutput)
+
+ DisableVPCClassicLink(*ec2.DisableVPCClassicLinkInput) (*ec2.DisableVPCClassicLinkOutput, error)
+
+ DisassociateAddressRequest(*ec2.DisassociateAddressInput) (*aws.Request, *ec2.DisassociateAddressOutput)
+
+ DisassociateAddress(*ec2.DisassociateAddressInput) (*ec2.DisassociateAddressOutput, error)
+
+ DisassociateRouteTableRequest(*ec2.DisassociateRouteTableInput) (*aws.Request, *ec2.DisassociateRouteTableOutput)
+
+ DisassociateRouteTable(*ec2.DisassociateRouteTableInput) (*ec2.DisassociateRouteTableOutput, error)
+
+ EnableVGWRoutePropagationRequest(*ec2.EnableVGWRoutePropagationInput) (*aws.Request, *ec2.EnableVGWRoutePropagationOutput)
+
+ EnableVGWRoutePropagation(*ec2.EnableVGWRoutePropagationInput) (*ec2.EnableVGWRoutePropagationOutput, error)
+
+ EnableVPCClassicLinkRequest(*ec2.EnableVPCClassicLinkInput) (*aws.Request, *ec2.EnableVPCClassicLinkOutput)
+
+ EnableVPCClassicLink(*ec2.EnableVPCClassicLinkInput) (*ec2.EnableVPCClassicLinkOutput, error)
+
+ EnableVolumeIORequest(*ec2.EnableVolumeIOInput) (*aws.Request, *ec2.EnableVolumeIOOutput)
+
+ EnableVolumeIO(*ec2.EnableVolumeIOInput) (*ec2.EnableVolumeIOOutput, error)
+
+ GetConsoleOutputRequest(*ec2.GetConsoleOutputInput) (*aws.Request, *ec2.GetConsoleOutputOutput)
+
+ GetConsoleOutput(*ec2.GetConsoleOutputInput) (*ec2.GetConsoleOutputOutput, error)
+
+ GetPasswordDataRequest(*ec2.GetPasswordDataInput) (*aws.Request, *ec2.GetPasswordDataOutput)
+
+ GetPasswordData(*ec2.GetPasswordDataInput) (*ec2.GetPasswordDataOutput, error)
+
+ ImportImageRequest(*ec2.ImportImageInput) (*aws.Request, *ec2.ImportImageOutput)
+
+ ImportImage(*ec2.ImportImageInput) (*ec2.ImportImageOutput, error)
+
+ ImportInstanceRequest(*ec2.ImportInstanceInput) (*aws.Request, *ec2.ImportInstanceOutput)
+
+ ImportInstance(*ec2.ImportInstanceInput) (*ec2.ImportInstanceOutput, error)
+
+ ImportKeyPairRequest(*ec2.ImportKeyPairInput) (*aws.Request, *ec2.ImportKeyPairOutput)
+
+ ImportKeyPair(*ec2.ImportKeyPairInput) (*ec2.ImportKeyPairOutput, error)
+
+ ImportSnapshotRequest(*ec2.ImportSnapshotInput) (*aws.Request, *ec2.ImportSnapshotOutput)
+
+ ImportSnapshot(*ec2.ImportSnapshotInput) (*ec2.ImportSnapshotOutput, error)
+
+ ImportVolumeRequest(*ec2.ImportVolumeInput) (*aws.Request, *ec2.ImportVolumeOutput)
+
+ ImportVolume(*ec2.ImportVolumeInput) (*ec2.ImportVolumeOutput, error)
+
+ ModifyImageAttributeRequest(*ec2.ModifyImageAttributeInput) (*aws.Request, *ec2.ModifyImageAttributeOutput)
+
+ ModifyImageAttribute(*ec2.ModifyImageAttributeInput) (*ec2.ModifyImageAttributeOutput, error)
+
+ ModifyInstanceAttributeRequest(*ec2.ModifyInstanceAttributeInput) (*aws.Request, *ec2.ModifyInstanceAttributeOutput)
+
+ ModifyInstanceAttribute(*ec2.ModifyInstanceAttributeInput) (*ec2.ModifyInstanceAttributeOutput, error)
+
+ ModifyNetworkInterfaceAttributeRequest(*ec2.ModifyNetworkInterfaceAttributeInput) (*aws.Request, *ec2.ModifyNetworkInterfaceAttributeOutput)
+
+ ModifyNetworkInterfaceAttribute(*ec2.ModifyNetworkInterfaceAttributeInput) (*ec2.ModifyNetworkInterfaceAttributeOutput, error)
+
+ ModifyReservedInstancesRequest(*ec2.ModifyReservedInstancesInput) (*aws.Request, *ec2.ModifyReservedInstancesOutput)
+
+ ModifyReservedInstances(*ec2.ModifyReservedInstancesInput) (*ec2.ModifyReservedInstancesOutput, error)
+
+ ModifySnapshotAttributeRequest(*ec2.ModifySnapshotAttributeInput) (*aws.Request, *ec2.ModifySnapshotAttributeOutput)
+
+ ModifySnapshotAttribute(*ec2.ModifySnapshotAttributeInput) (*ec2.ModifySnapshotAttributeOutput, error)
+
+ ModifySubnetAttributeRequest(*ec2.ModifySubnetAttributeInput) (*aws.Request, *ec2.ModifySubnetAttributeOutput)
+
+ ModifySubnetAttribute(*ec2.ModifySubnetAttributeInput) (*ec2.ModifySubnetAttributeOutput, error)
+
+ ModifyVPCAttributeRequest(*ec2.ModifyVPCAttributeInput) (*aws.Request, *ec2.ModifyVPCAttributeOutput)
+
+ ModifyVPCAttribute(*ec2.ModifyVPCAttributeInput) (*ec2.ModifyVPCAttributeOutput, error)
+
+ ModifyVPCEndpointRequest(*ec2.ModifyVPCEndpointInput) (*aws.Request, *ec2.ModifyVPCEndpointOutput)
+
+ ModifyVPCEndpoint(*ec2.ModifyVPCEndpointInput) (*ec2.ModifyVPCEndpointOutput, error)
+
+ ModifyVolumeAttributeRequest(*ec2.ModifyVolumeAttributeInput) (*aws.Request, *ec2.ModifyVolumeAttributeOutput)
+
+ ModifyVolumeAttribute(*ec2.ModifyVolumeAttributeInput) (*ec2.ModifyVolumeAttributeOutput, error)
+
+ MonitorInstancesRequest(*ec2.MonitorInstancesInput) (*aws.Request, *ec2.MonitorInstancesOutput)
+
+ MonitorInstances(*ec2.MonitorInstancesInput) (*ec2.MonitorInstancesOutput, error)
+
+ MoveAddressToVPCRequest(*ec2.MoveAddressToVPCInput) (*aws.Request, *ec2.MoveAddressToVPCOutput)
+
+ MoveAddressToVPC(*ec2.MoveAddressToVPCInput) (*ec2.MoveAddressToVPCOutput, error)
+
+ PurchaseReservedInstancesOfferingRequest(*ec2.PurchaseReservedInstancesOfferingInput) (*aws.Request, *ec2.PurchaseReservedInstancesOfferingOutput)
+
+ PurchaseReservedInstancesOffering(*ec2.PurchaseReservedInstancesOfferingInput) (*ec2.PurchaseReservedInstancesOfferingOutput, error)
+
+ RebootInstancesRequest(*ec2.RebootInstancesInput) (*aws.Request, *ec2.RebootInstancesOutput)
+
+ RebootInstances(*ec2.RebootInstancesInput) (*ec2.RebootInstancesOutput, error)
+
+ RegisterImageRequest(*ec2.RegisterImageInput) (*aws.Request, *ec2.RegisterImageOutput)
+
+ RegisterImage(*ec2.RegisterImageInput) (*ec2.RegisterImageOutput, error)
+
+ RejectVPCPeeringConnectionRequest(*ec2.RejectVPCPeeringConnectionInput) (*aws.Request, *ec2.RejectVPCPeeringConnectionOutput)
+
+ RejectVPCPeeringConnection(*ec2.RejectVPCPeeringConnectionInput) (*ec2.RejectVPCPeeringConnectionOutput, error)
+
+ ReleaseAddressRequest(*ec2.ReleaseAddressInput) (*aws.Request, *ec2.ReleaseAddressOutput)
+
+ ReleaseAddress(*ec2.ReleaseAddressInput) (*ec2.ReleaseAddressOutput, error)
+
+ ReplaceNetworkACLAssociationRequest(*ec2.ReplaceNetworkACLAssociationInput) (*aws.Request, *ec2.ReplaceNetworkACLAssociationOutput)
+
+ ReplaceNetworkACLAssociation(*ec2.ReplaceNetworkACLAssociationInput) (*ec2.ReplaceNetworkACLAssociationOutput, error)
+
+ ReplaceNetworkACLEntryRequest(*ec2.ReplaceNetworkACLEntryInput) (*aws.Request, *ec2.ReplaceNetworkACLEntryOutput)
+
+ ReplaceNetworkACLEntry(*ec2.ReplaceNetworkACLEntryInput) (*ec2.ReplaceNetworkACLEntryOutput, error)
+
+ ReplaceRouteRequest(*ec2.ReplaceRouteInput) (*aws.Request, *ec2.ReplaceRouteOutput)
+
+ ReplaceRoute(*ec2.ReplaceRouteInput) (*ec2.ReplaceRouteOutput, error)
+
+ ReplaceRouteTableAssociationRequest(*ec2.ReplaceRouteTableAssociationInput) (*aws.Request, *ec2.ReplaceRouteTableAssociationOutput)
+
+ ReplaceRouteTableAssociation(*ec2.ReplaceRouteTableAssociationInput) (*ec2.ReplaceRouteTableAssociationOutput, error)
+
+ ReportInstanceStatusRequest(*ec2.ReportInstanceStatusInput) (*aws.Request, *ec2.ReportInstanceStatusOutput)
+
+ ReportInstanceStatus(*ec2.ReportInstanceStatusInput) (*ec2.ReportInstanceStatusOutput, error)
+
+ RequestSpotFleetRequest(*ec2.RequestSpotFleetInput) (*aws.Request, *ec2.RequestSpotFleetOutput)
+
+ RequestSpotFleet(*ec2.RequestSpotFleetInput) (*ec2.RequestSpotFleetOutput, error)
+
+ RequestSpotInstancesRequest(*ec2.RequestSpotInstancesInput) (*aws.Request, *ec2.RequestSpotInstancesOutput)
+
+ RequestSpotInstances(*ec2.RequestSpotInstancesInput) (*ec2.RequestSpotInstancesOutput, error)
+
+ ResetImageAttributeRequest(*ec2.ResetImageAttributeInput) (*aws.Request, *ec2.ResetImageAttributeOutput)
+
+ ResetImageAttribute(*ec2.ResetImageAttributeInput) (*ec2.ResetImageAttributeOutput, error)
+
+ ResetInstanceAttributeRequest(*ec2.ResetInstanceAttributeInput) (*aws.Request, *ec2.ResetInstanceAttributeOutput)
+
+ ResetInstanceAttribute(*ec2.ResetInstanceAttributeInput) (*ec2.ResetInstanceAttributeOutput, error)
+
+ ResetNetworkInterfaceAttributeRequest(*ec2.ResetNetworkInterfaceAttributeInput) (*aws.Request, *ec2.ResetNetworkInterfaceAttributeOutput)
+
+ ResetNetworkInterfaceAttribute(*ec2.ResetNetworkInterfaceAttributeInput) (*ec2.ResetNetworkInterfaceAttributeOutput, error)
+
+ ResetSnapshotAttributeRequest(*ec2.ResetSnapshotAttributeInput) (*aws.Request, *ec2.ResetSnapshotAttributeOutput)
+
+ ResetSnapshotAttribute(*ec2.ResetSnapshotAttributeInput) (*ec2.ResetSnapshotAttributeOutput, error)
+
+ RestoreAddressToClassicRequest(*ec2.RestoreAddressToClassicInput) (*aws.Request, *ec2.RestoreAddressToClassicOutput)
+
+ RestoreAddressToClassic(*ec2.RestoreAddressToClassicInput) (*ec2.RestoreAddressToClassicOutput, error)
+
+ RevokeSecurityGroupEgressRequest(*ec2.RevokeSecurityGroupEgressInput) (*aws.Request, *ec2.RevokeSecurityGroupEgressOutput)
+
+ RevokeSecurityGroupEgress(*ec2.RevokeSecurityGroupEgressInput) (*ec2.RevokeSecurityGroupEgressOutput, error)
+
+ RevokeSecurityGroupIngressRequest(*ec2.RevokeSecurityGroupIngressInput) (*aws.Request, *ec2.RevokeSecurityGroupIngressOutput)
+
+ RevokeSecurityGroupIngress(*ec2.RevokeSecurityGroupIngressInput) (*ec2.RevokeSecurityGroupIngressOutput, error)
+
+ RunInstancesRequest(*ec2.RunInstancesInput) (*aws.Request, *ec2.Reservation)
+
+ RunInstances(*ec2.RunInstancesInput) (*ec2.Reservation, error)
+
+ StartInstancesRequest(*ec2.StartInstancesInput) (*aws.Request, *ec2.StartInstancesOutput)
+
+ StartInstances(*ec2.StartInstancesInput) (*ec2.StartInstancesOutput, error)
+
+ StopInstancesRequest(*ec2.StopInstancesInput) (*aws.Request, *ec2.StopInstancesOutput)
+
+ StopInstances(*ec2.StopInstancesInput) (*ec2.StopInstancesOutput, error)
+
+ TerminateInstancesRequest(*ec2.TerminateInstancesInput) (*aws.Request, *ec2.TerminateInstancesOutput)
+
+ TerminateInstances(*ec2.TerminateInstancesInput) (*ec2.TerminateInstancesOutput, error)
+
+ UnassignPrivateIPAddressesRequest(*ec2.UnassignPrivateIPAddressesInput) (*aws.Request, *ec2.UnassignPrivateIPAddressesOutput)
+
+ UnassignPrivateIPAddresses(*ec2.UnassignPrivateIPAddressesInput) (*ec2.UnassignPrivateIPAddressesOutput, error)
+
+ UnmonitorInstancesRequest(*ec2.UnmonitorInstancesInput) (*aws.Request, *ec2.UnmonitorInstancesOutput)
+
+ UnmonitorInstances(*ec2.UnmonitorInstancesInput) (*ec2.UnmonitorInstancesOutput, error)
+}
diff --git a/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface_test.go b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface_test.go
new file mode 100644
index 00000000000..3941d260db0
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/ec2iface/interface_test.go
@@ -0,0 +1,15 @@
+// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+
+package ec2iface_test
+
+import (
+ "testing"
+
+ "github.com/aws/aws-sdk-go/service/ec2"
+ "github.com/aws/aws-sdk-go/service/ec2/ec2iface"
+ "github.com/stretchr/testify/assert"
+)
+
+func TestInterface(t *testing.T) {
+ assert.Implements(t, (*ec2iface.EC2API)(nil), ec2.New(nil))
+}
diff --git a/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/examples_test.go b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/examples_test.go
new file mode 100644
index 00000000000..01840e53938
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/examples_test.go
@@ -0,0 +1,6619 @@
+// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+
+package ec2_test
+
+import (
+ "bytes"
+ "fmt"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/awsutil"
+ "github.com/aws/aws-sdk-go/service/ec2"
+)
+
+var _ time.Duration
+var _ bytes.Buffer
+
+func ExampleEC2_AcceptVPCPeeringConnection() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AcceptVPCPeeringConnectionInput{
+ DryRun: aws.Bool(true),
+ VPCPeeringConnectionID: aws.String("String"),
+ }
+ resp, err := svc.AcceptVPCPeeringConnection(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AllocateAddress() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AllocateAddressInput{
+ Domain: aws.String("DomainType"),
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.AllocateAddress(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AssignPrivateIPAddresses() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AssignPrivateIPAddressesInput{
+ NetworkInterfaceID: aws.String("String"), // Required
+ AllowReassignment: aws.Bool(true),
+ PrivateIPAddresses: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ SecondaryPrivateIPAddressCount: aws.Int64(1),
+ }
+ resp, err := svc.AssignPrivateIPAddresses(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AssociateAddress() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AssociateAddressInput{
+ AllocationID: aws.String("String"),
+ AllowReassociation: aws.Bool(true),
+ DryRun: aws.Bool(true),
+ InstanceID: aws.String("String"),
+ NetworkInterfaceID: aws.String("String"),
+ PrivateIPAddress: aws.String("String"),
+ PublicIP: aws.String("String"),
+ }
+ resp, err := svc.AssociateAddress(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AssociateDHCPOptions() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AssociateDHCPOptionsInput{
+ DHCPOptionsID: aws.String("String"), // Required
+ VPCID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.AssociateDHCPOptions(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AssociateRouteTable() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AssociateRouteTableInput{
+ RouteTableID: aws.String("String"), // Required
+ SubnetID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.AssociateRouteTable(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AttachClassicLinkVPC() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AttachClassicLinkVPCInput{
+ Groups: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ InstanceID: aws.String("String"), // Required
+ VPCID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.AttachClassicLinkVPC(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AttachInternetGateway() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AttachInternetGatewayInput{
+ InternetGatewayID: aws.String("String"), // Required
+ VPCID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.AttachInternetGateway(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AttachNetworkInterface() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AttachNetworkInterfaceInput{
+ DeviceIndex: aws.Int64(1), // Required
+ InstanceID: aws.String("String"), // Required
+ NetworkInterfaceID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.AttachNetworkInterface(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AttachVPNGateway() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AttachVPNGatewayInput{
+ VPCID: aws.String("String"), // Required
+ VPNGatewayID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.AttachVPNGateway(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AttachVolume() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AttachVolumeInput{
+ Device: aws.String("String"), // Required
+ InstanceID: aws.String("String"), // Required
+ VolumeID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.AttachVolume(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AuthorizeSecurityGroupEgress() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AuthorizeSecurityGroupEgressInput{
+ GroupID: aws.String("String"), // Required
+ CIDRIP: aws.String("String"),
+ DryRun: aws.Bool(true),
+ FromPort: aws.Int64(1),
+ IPPermissions: []*ec2.IPPermission{
+ { // Required
+ FromPort: aws.Int64(1),
+ IPProtocol: aws.String("String"),
+ IPRanges: []*ec2.IPRange{
+ { // Required
+ CIDRIP: aws.String("String"),
+ },
+ // More values...
+ },
+ PrefixListIDs: []*ec2.PrefixListID{
+ { // Required
+ PrefixListID: aws.String("String"),
+ },
+ // More values...
+ },
+ ToPort: aws.Int64(1),
+ UserIDGroupPairs: []*ec2.UserIDGroupPair{
+ { // Required
+ GroupID: aws.String("String"),
+ GroupName: aws.String("String"),
+ UserID: aws.String("String"),
+ },
+ // More values...
+ },
+ },
+ // More values...
+ },
+ IPProtocol: aws.String("String"),
+ SourceSecurityGroupName: aws.String("String"),
+ SourceSecurityGroupOwnerID: aws.String("String"),
+ ToPort: aws.Int64(1),
+ }
+ resp, err := svc.AuthorizeSecurityGroupEgress(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_AuthorizeSecurityGroupIngress() {
+ svc := ec2.New(nil)
+
+ params := &ec2.AuthorizeSecurityGroupIngressInput{
+ CIDRIP: aws.String("String"),
+ DryRun: aws.Bool(true),
+ FromPort: aws.Int64(1),
+ GroupID: aws.String("String"),
+ GroupName: aws.String("String"),
+ IPPermissions: []*ec2.IPPermission{
+ { // Required
+ FromPort: aws.Int64(1),
+ IPProtocol: aws.String("String"),
+ IPRanges: []*ec2.IPRange{
+ { // Required
+ CIDRIP: aws.String("String"),
+ },
+ // More values...
+ },
+ PrefixListIDs: []*ec2.PrefixListID{
+ { // Required
+ PrefixListID: aws.String("String"),
+ },
+ // More values...
+ },
+ ToPort: aws.Int64(1),
+ UserIDGroupPairs: []*ec2.UserIDGroupPair{
+ { // Required
+ GroupID: aws.String("String"),
+ GroupName: aws.String("String"),
+ UserID: aws.String("String"),
+ },
+ // More values...
+ },
+ },
+ // More values...
+ },
+ IPProtocol: aws.String("String"),
+ SourceSecurityGroupName: aws.String("String"),
+ SourceSecurityGroupOwnerID: aws.String("String"),
+ ToPort: aws.Int64(1),
+ }
+ resp, err := svc.AuthorizeSecurityGroupIngress(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_BundleInstance() {
+ svc := ec2.New(nil)
+
+ params := &ec2.BundleInstanceInput{
+ InstanceID: aws.String("String"), // Required
+ Storage: &ec2.Storage{ // Required
+ S3: &ec2.S3Storage{
+ AWSAccessKeyID: aws.String("String"),
+ Bucket: aws.String("String"),
+ Prefix: aws.String("String"),
+ UploadPolicy: []byte("PAYLOAD"),
+ UploadPolicySignature: aws.String("String"),
+ },
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.BundleInstance(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CancelBundleTask() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CancelBundleTaskInput{
+ BundleID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CancelBundleTask(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CancelConversionTask() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CancelConversionTaskInput{
+ ConversionTaskID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ ReasonMessage: aws.String("String"),
+ }
+ resp, err := svc.CancelConversionTask(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CancelExportTask() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CancelExportTaskInput{
+ ExportTaskID: aws.String("String"), // Required
+ }
+ resp, err := svc.CancelExportTask(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CancelImportTask() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CancelImportTaskInput{
+ CancelReason: aws.String("String"),
+ DryRun: aws.Bool(true),
+ ImportTaskID: aws.String("String"),
+ }
+ resp, err := svc.CancelImportTask(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CancelReservedInstancesListing() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CancelReservedInstancesListingInput{
+ ReservedInstancesListingID: aws.String("String"), // Required
+ }
+ resp, err := svc.CancelReservedInstancesListing(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CancelSpotFleetRequests() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CancelSpotFleetRequestsInput{
+ SpotFleetRequestIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ TerminateInstances: aws.Bool(true), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CancelSpotFleetRequests(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CancelSpotInstanceRequests() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CancelSpotInstanceRequestsInput{
+ SpotInstanceRequestIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CancelSpotInstanceRequests(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ConfirmProductInstance() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ConfirmProductInstanceInput{
+ InstanceID: aws.String("String"), // Required
+ ProductCode: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.ConfirmProductInstance(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CopyImage() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CopyImageInput{
+ Name: aws.String("String"), // Required
+ SourceImageID: aws.String("String"), // Required
+ SourceRegion: aws.String("String"), // Required
+ ClientToken: aws.String("String"),
+ Description: aws.String("String"),
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CopyImage(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CopySnapshot() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CopySnapshotInput{
+ SourceRegion: aws.String("String"), // Required
+ SourceSnapshotID: aws.String("String"), // Required
+ Description: aws.String("String"),
+ DestinationRegion: aws.String("String"),
+ DryRun: aws.Bool(true),
+ Encrypted: aws.Bool(true),
+ KMSKeyID: aws.String("String"),
+ PresignedURL: aws.String("String"),
+ }
+ resp, err := svc.CopySnapshot(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateCustomerGateway() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateCustomerGatewayInput{
+ BGPASN: aws.Int64(1), // Required
+ PublicIP: aws.String("String"), // Required
+ Type: aws.String("GatewayType"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CreateCustomerGateway(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateDHCPOptions() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateDHCPOptionsInput{
+ DHCPConfigurations: []*ec2.NewDHCPConfiguration{ // Required
+ { // Required
+ Key: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CreateDHCPOptions(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateFlowLogs() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateFlowLogsInput{
+ DeliverLogsPermissionARN: aws.String("String"), // Required
+ LogGroupName: aws.String("String"), // Required
+ ResourceIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ ResourceType: aws.String("FlowLogsResourceType"), // Required
+ TrafficType: aws.String("TrafficType"), // Required
+ ClientToken: aws.String("String"),
+ }
+ resp, err := svc.CreateFlowLogs(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateImage() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateImageInput{
+ InstanceID: aws.String("String"), // Required
+ Name: aws.String("String"), // Required
+ BlockDeviceMappings: []*ec2.BlockDeviceMapping{
+ { // Required
+ DeviceName: aws.String("String"),
+ EBS: &ec2.EBSBlockDevice{
+ DeleteOnTermination: aws.Bool(true),
+ Encrypted: aws.Bool(true),
+ IOPS: aws.Int64(1),
+ SnapshotID: aws.String("String"),
+ VolumeSize: aws.Int64(1),
+ VolumeType: aws.String("VolumeType"),
+ },
+ NoDevice: aws.String("String"),
+ VirtualName: aws.String("String"),
+ },
+ // More values...
+ },
+ Description: aws.String("String"),
+ DryRun: aws.Bool(true),
+ NoReboot: aws.Bool(true),
+ }
+ resp, err := svc.CreateImage(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateInstanceExportTask() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateInstanceExportTaskInput{
+ InstanceID: aws.String("String"), // Required
+ Description: aws.String("String"),
+ ExportToS3Task: &ec2.ExportToS3TaskSpecification{
+ ContainerFormat: aws.String("ContainerFormat"),
+ DiskImageFormat: aws.String("DiskImageFormat"),
+ S3Bucket: aws.String("String"),
+ S3Prefix: aws.String("String"),
+ },
+ TargetEnvironment: aws.String("ExportEnvironment"),
+ }
+ resp, err := svc.CreateInstanceExportTask(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateInternetGateway() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateInternetGatewayInput{
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CreateInternetGateway(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateKeyPair() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateKeyPairInput{
+ KeyName: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CreateKeyPair(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateNetworkACL() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateNetworkACLInput{
+ VPCID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CreateNetworkACL(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateNetworkACLEntry() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateNetworkACLEntryInput{
+ CIDRBlock: aws.String("String"), // Required
+ Egress: aws.Bool(true), // Required
+ NetworkACLID: aws.String("String"), // Required
+ Protocol: aws.String("String"), // Required
+ RuleAction: aws.String("RuleAction"), // Required
+ RuleNumber: aws.Int64(1), // Required
+ DryRun: aws.Bool(true),
+ ICMPTypeCode: &ec2.ICMPTypeCode{
+ Code: aws.Int64(1),
+ Type: aws.Int64(1),
+ },
+ PortRange: &ec2.PortRange{
+ From: aws.Int64(1),
+ To: aws.Int64(1),
+ },
+ }
+ resp, err := svc.CreateNetworkACLEntry(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateNetworkInterface() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateNetworkInterfaceInput{
+ SubnetID: aws.String("String"), // Required
+ Description: aws.String("String"),
+ DryRun: aws.Bool(true),
+ Groups: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ PrivateIPAddress: aws.String("String"),
+ PrivateIPAddresses: []*ec2.PrivateIPAddressSpecification{
+ { // Required
+ PrivateIPAddress: aws.String("String"), // Required
+ Primary: aws.Bool(true),
+ },
+ // More values...
+ },
+ SecondaryPrivateIPAddressCount: aws.Int64(1),
+ }
+ resp, err := svc.CreateNetworkInterface(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreatePlacementGroup() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreatePlacementGroupInput{
+ GroupName: aws.String("String"), // Required
+ Strategy: aws.String("PlacementStrategy"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CreatePlacementGroup(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateReservedInstancesListing() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateReservedInstancesListingInput{
+ ClientToken: aws.String("String"), // Required
+ InstanceCount: aws.Int64(1), // Required
+ PriceSchedules: []*ec2.PriceScheduleSpecification{ // Required
+ { // Required
+ CurrencyCode: aws.String("CurrencyCodeValues"),
+ Price: aws.Float64(1.0),
+ Term: aws.Int64(1),
+ },
+ // More values...
+ },
+ ReservedInstancesID: aws.String("String"), // Required
+ }
+ resp, err := svc.CreateReservedInstancesListing(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateRoute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateRouteInput{
+ DestinationCIDRBlock: aws.String("String"), // Required
+ RouteTableID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ GatewayID: aws.String("String"),
+ InstanceID: aws.String("String"),
+ NetworkInterfaceID: aws.String("String"),
+ VPCPeeringConnectionID: aws.String("String"),
+ }
+ resp, err := svc.CreateRoute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateRouteTable() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateRouteTableInput{
+ VPCID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CreateRouteTable(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateSecurityGroup() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateSecurityGroupInput{
+ Description: aws.String("String"), // Required
+ GroupName: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ VPCID: aws.String("String"),
+ }
+ resp, err := svc.CreateSecurityGroup(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateSnapshot() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateSnapshotInput{
+ VolumeID: aws.String("String"), // Required
+ Description: aws.String("String"),
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CreateSnapshot(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateSpotDatafeedSubscription() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateSpotDatafeedSubscriptionInput{
+ Bucket: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ Prefix: aws.String("String"),
+ }
+ resp, err := svc.CreateSpotDatafeedSubscription(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateSubnet() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateSubnetInput{
+ CIDRBlock: aws.String("String"), // Required
+ VPCID: aws.String("String"), // Required
+ AvailabilityZone: aws.String("String"),
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CreateSubnet(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateTags() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateTagsInput{
+ Resources: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ Tags: []*ec2.Tag{ // Required
+ { // Required
+ Key: aws.String("String"),
+ Value: aws.String("String"),
+ },
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CreateTags(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateVPC() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateVPCInput{
+ CIDRBlock: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ InstanceTenancy: aws.String("Tenancy"),
+ }
+ resp, err := svc.CreateVPC(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateVPCEndpoint() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateVPCEndpointInput{
+ ServiceName: aws.String("String"), // Required
+ VPCID: aws.String("String"), // Required
+ ClientToken: aws.String("String"),
+ DryRun: aws.Bool(true),
+ PolicyDocument: aws.String("String"),
+ RouteTableIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.CreateVPCEndpoint(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateVPCPeeringConnection() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateVPCPeeringConnectionInput{
+ DryRun: aws.Bool(true),
+ PeerOwnerID: aws.String("String"),
+ PeerVPCID: aws.String("String"),
+ VPCID: aws.String("String"),
+ }
+ resp, err := svc.CreateVPCPeeringConnection(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateVPNConnection() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateVPNConnectionInput{
+ CustomerGatewayID: aws.String("String"), // Required
+ Type: aws.String("String"), // Required
+ VPNGatewayID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ Options: &ec2.VPNConnectionOptionsSpecification{
+ StaticRoutesOnly: aws.Bool(true),
+ },
+ }
+ resp, err := svc.CreateVPNConnection(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateVPNConnectionRoute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateVPNConnectionRouteInput{
+ DestinationCIDRBlock: aws.String("String"), // Required
+ VPNConnectionID: aws.String("String"), // Required
+ }
+ resp, err := svc.CreateVPNConnectionRoute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateVPNGateway() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateVPNGatewayInput{
+ Type: aws.String("GatewayType"), // Required
+ AvailabilityZone: aws.String("String"),
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.CreateVPNGateway(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_CreateVolume() {
+ svc := ec2.New(nil)
+
+ params := &ec2.CreateVolumeInput{
+ AvailabilityZone: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ Encrypted: aws.Bool(true),
+ IOPS: aws.Int64(1),
+ KMSKeyID: aws.String("String"),
+ Size: aws.Int64(1),
+ SnapshotID: aws.String("String"),
+ VolumeType: aws.String("VolumeType"),
+ }
+ resp, err := svc.CreateVolume(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteCustomerGateway() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteCustomerGatewayInput{
+ CustomerGatewayID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteCustomerGateway(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteDHCPOptions() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteDHCPOptionsInput{
+ DHCPOptionsID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteDHCPOptions(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteFlowLogs() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteFlowLogsInput{
+ FlowLogIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DeleteFlowLogs(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteInternetGateway() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteInternetGatewayInput{
+ InternetGatewayID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteInternetGateway(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteKeyPair() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteKeyPairInput{
+ KeyName: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteKeyPair(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteNetworkACL() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteNetworkACLInput{
+ NetworkACLID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteNetworkACL(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteNetworkACLEntry() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteNetworkACLEntryInput{
+ Egress: aws.Bool(true), // Required
+ NetworkACLID: aws.String("String"), // Required
+ RuleNumber: aws.Int64(1), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteNetworkACLEntry(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteNetworkInterface() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteNetworkInterfaceInput{
+ NetworkInterfaceID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteNetworkInterface(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeletePlacementGroup() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeletePlacementGroupInput{
+ GroupName: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeletePlacementGroup(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteRoute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteRouteInput{
+ DestinationCIDRBlock: aws.String("String"), // Required
+ RouteTableID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteRoute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteRouteTable() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteRouteTableInput{
+ RouteTableID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteRouteTable(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteSecurityGroup() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteSecurityGroupInput{
+ DryRun: aws.Bool(true),
+ GroupID: aws.String("String"),
+ GroupName: aws.String("String"),
+ }
+ resp, err := svc.DeleteSecurityGroup(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteSnapshot() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteSnapshotInput{
+ SnapshotID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteSnapshot(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteSpotDatafeedSubscription() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteSpotDatafeedSubscriptionInput{
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteSpotDatafeedSubscription(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteSubnet() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteSubnetInput{
+ SubnetID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteSubnet(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteTags() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteTagsInput{
+ Resources: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ Tags: []*ec2.Tag{
+ { // Required
+ Key: aws.String("String"),
+ Value: aws.String("String"),
+ },
+ // More values...
+ },
+ }
+ resp, err := svc.DeleteTags(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteVPC() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteVPCInput{
+ VPCID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteVPC(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteVPCEndpoints() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteVPCEndpointsInput{
+ VPCEndpointIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteVPCEndpoints(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteVPCPeeringConnection() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteVPCPeeringConnectionInput{
+ VPCPeeringConnectionID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteVPCPeeringConnection(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteVPNConnection() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteVPNConnectionInput{
+ VPNConnectionID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteVPNConnection(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteVPNConnectionRoute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteVPNConnectionRouteInput{
+ DestinationCIDRBlock: aws.String("String"), // Required
+ VPNConnectionID: aws.String("String"), // Required
+ }
+ resp, err := svc.DeleteVPNConnectionRoute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteVPNGateway() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteVPNGatewayInput{
+ VPNGatewayID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteVPNGateway(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeleteVolume() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeleteVolumeInput{
+ VolumeID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeleteVolume(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DeregisterImage() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DeregisterImageInput{
+ ImageID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DeregisterImage(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeAccountAttributes() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeAccountAttributesInput{
+ AttributeNames: []*string{
+ aws.String("AccountAttributeName"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DescribeAccountAttributes(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeAddresses() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeAddressesInput{
+ AllocationIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ PublicIPs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeAddresses(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeAvailabilityZones() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeAvailabilityZonesInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ ZoneNames: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeAvailabilityZones(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeBundleTasks() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeBundleTasksInput{
+ BundleIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeBundleTasks(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeClassicLinkInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeClassicLinkInstancesInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ InstanceIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ }
+ resp, err := svc.DescribeClassicLinkInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeConversionTasks() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeConversionTasksInput{
+ ConversionTaskIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeConversionTasks(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeCustomerGateways() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeCustomerGatewaysInput{
+ CustomerGatewayIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeCustomerGateways(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeDHCPOptions() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeDHCPOptionsInput{
+ DHCPOptionsIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeDHCPOptions(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeExportTasks() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeExportTasksInput{
+ ExportTaskIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeExportTasks(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeFlowLogs() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeFlowLogsInput{
+ Filter: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ FlowLogIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ }
+ resp, err := svc.DescribeFlowLogs(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeImageAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeImageAttributeInput{
+ Attribute: aws.String("ImageAttributeName"), // Required
+ ImageID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DescribeImageAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeImages() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeImagesInput{
+ DryRun: aws.Bool(true),
+ ExecutableUsers: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ ImageIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ Owners: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeImages(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeImportImageTasks() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeImportImageTasksInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ ImportTaskIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ }
+ resp, err := svc.DescribeImportImageTasks(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeImportSnapshotTasks() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeImportSnapshotTasksInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ ImportTaskIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ }
+ resp, err := svc.DescribeImportSnapshotTasks(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeInstanceAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeInstanceAttributeInput{
+ Attribute: aws.String("InstanceAttributeName"), // Required
+ InstanceID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DescribeInstanceAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeInstanceStatus() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeInstanceStatusInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ IncludeAllInstances: aws.Bool(true),
+ InstanceIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ }
+ resp, err := svc.DescribeInstanceStatus(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeInstancesInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ InstanceIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ }
+ resp, err := svc.DescribeInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeInternetGateways() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeInternetGatewaysInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ InternetGatewayIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeInternetGateways(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeKeyPairs() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeKeyPairsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ KeyNames: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeKeyPairs(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeMovingAddresses() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeMovingAddressesInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ PublicIPs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeMovingAddresses(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeNetworkACLs() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeNetworkACLsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ NetworkACLIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeNetworkACLs(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeNetworkInterfaceAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeNetworkInterfaceAttributeInput{
+ NetworkInterfaceID: aws.String("String"), // Required
+ Attribute: aws.String("NetworkInterfaceAttribute"),
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DescribeNetworkInterfaceAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeNetworkInterfaces() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeNetworkInterfacesInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ NetworkInterfaceIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeNetworkInterfaces(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribePlacementGroups() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribePlacementGroupsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ GroupNames: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribePlacementGroups(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribePrefixLists() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribePrefixListsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ PrefixListIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribePrefixLists(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeRegions() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeRegionsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ RegionNames: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeRegions(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeReservedInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeReservedInstancesInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ OfferingType: aws.String("OfferingTypeValues"),
+ ReservedInstancesIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeReservedInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeReservedInstancesListings() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeReservedInstancesListingsInput{
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ ReservedInstancesID: aws.String("String"),
+ ReservedInstancesListingID: aws.String("String"),
+ }
+ resp, err := svc.DescribeReservedInstancesListings(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeReservedInstancesModifications() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeReservedInstancesModificationsInput{
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ NextToken: aws.String("String"),
+ ReservedInstancesModificationIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeReservedInstancesModifications(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeReservedInstancesOfferings() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeReservedInstancesOfferingsInput{
+ AvailabilityZone: aws.String("String"),
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ IncludeMarketplace: aws.Bool(true),
+ InstanceTenancy: aws.String("Tenancy"),
+ InstanceType: aws.String("InstanceType"),
+ MaxDuration: aws.Int64(1),
+ MaxInstanceCount: aws.Int64(1),
+ MaxResults: aws.Int64(1),
+ MinDuration: aws.Int64(1),
+ NextToken: aws.String("String"),
+ OfferingType: aws.String("OfferingTypeValues"),
+ ProductDescription: aws.String("RIProductDescription"),
+ ReservedInstancesOfferingIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeReservedInstancesOfferings(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeRouteTables() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeRouteTablesInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ RouteTableIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeRouteTables(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeSecurityGroups() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeSecurityGroupsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ GroupIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ GroupNames: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeSecurityGroups(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeSnapshotAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeSnapshotAttributeInput{
+ Attribute: aws.String("SnapshotAttributeName"), // Required
+ SnapshotID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DescribeSnapshotAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeSnapshots() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeSnapshotsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ OwnerIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ RestorableByUserIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ SnapshotIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeSnapshots(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeSpotDatafeedSubscription() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeSpotDatafeedSubscriptionInput{
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DescribeSpotDatafeedSubscription(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeSpotFleetInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeSpotFleetInstancesInput{
+ SpotFleetRequestID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ }
+ resp, err := svc.DescribeSpotFleetInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeSpotFleetRequestHistory() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeSpotFleetRequestHistoryInput{
+ SpotFleetRequestID: aws.String("String"), // Required
+ StartTime: aws.Time(time.Now()), // Required
+ DryRun: aws.Bool(true),
+ EventType: aws.String("EventType"),
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ }
+ resp, err := svc.DescribeSpotFleetRequestHistory(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeSpotFleetRequests() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeSpotFleetRequestsInput{
+ DryRun: aws.Bool(true),
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ SpotFleetRequestIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeSpotFleetRequests(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeSpotInstanceRequests() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeSpotInstanceRequestsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ SpotInstanceRequestIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeSpotInstanceRequests(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeSpotPriceHistory() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeSpotPriceHistoryInput{
+ AvailabilityZone: aws.String("String"),
+ DryRun: aws.Bool(true),
+ EndTime: aws.Time(time.Now()),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ InstanceTypes: []*string{
+ aws.String("InstanceType"), // Required
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ ProductDescriptions: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ StartTime: aws.Time(time.Now()),
+ }
+ resp, err := svc.DescribeSpotPriceHistory(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeSubnets() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeSubnetsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ SubnetIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeSubnets(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeTags() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeTagsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ }
+ resp, err := svc.DescribeTags(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeVPCAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeVPCAttributeInput{
+ VPCID: aws.String("String"), // Required
+ Attribute: aws.String("VpcAttributeName"),
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DescribeVPCAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeVPCClassicLink() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeVPCClassicLinkInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ VPCIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeVPCClassicLink(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeVPCEndpointServices() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeVPCEndpointServicesInput{
+ DryRun: aws.Bool(true),
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ }
+ resp, err := svc.DescribeVPCEndpointServices(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeVPCEndpoints() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeVPCEndpointsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ VPCEndpointIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeVPCEndpoints(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeVPCPeeringConnections() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeVPCPeeringConnectionsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ VPCPeeringConnectionIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeVPCPeeringConnections(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeVPCs() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeVPCsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ VPCIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeVPCs(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeVPNConnections() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeVPNConnectionsInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ VPNConnectionIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeVPNConnections(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeVPNGateways() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeVPNGatewaysInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ VPNGatewayIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeVPNGateways(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeVolumeAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeVolumeAttributeInput{
+ VolumeID: aws.String("String"), // Required
+ Attribute: aws.String("VolumeAttributeName"),
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DescribeVolumeAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeVolumeStatus() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeVolumeStatusInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ VolumeIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeVolumeStatus(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DescribeVolumes() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DescribeVolumesInput{
+ DryRun: aws.Bool(true),
+ Filters: []*ec2.Filter{
+ { // Required
+ Name: aws.String("String"),
+ Values: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ },
+ // More values...
+ },
+ MaxResults: aws.Int64(1),
+ NextToken: aws.String("String"),
+ VolumeIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.DescribeVolumes(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DetachClassicLinkVPC() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DetachClassicLinkVPCInput{
+ InstanceID: aws.String("String"), // Required
+ VPCID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DetachClassicLinkVPC(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DetachInternetGateway() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DetachInternetGatewayInput{
+ InternetGatewayID: aws.String("String"), // Required
+ VPCID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DetachInternetGateway(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DetachNetworkInterface() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DetachNetworkInterfaceInput{
+ AttachmentID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ Force: aws.Bool(true),
+ }
+ resp, err := svc.DetachNetworkInterface(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DetachVPNGateway() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DetachVPNGatewayInput{
+ VPCID: aws.String("String"), // Required
+ VPNGatewayID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DetachVPNGateway(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DetachVolume() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DetachVolumeInput{
+ VolumeID: aws.String("String"), // Required
+ Device: aws.String("String"),
+ DryRun: aws.Bool(true),
+ Force: aws.Bool(true),
+ InstanceID: aws.String("String"),
+ }
+ resp, err := svc.DetachVolume(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DisableVGWRoutePropagation() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DisableVGWRoutePropagationInput{
+ GatewayID: aws.String("String"), // Required
+ RouteTableID: aws.String("String"), // Required
+ }
+ resp, err := svc.DisableVGWRoutePropagation(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DisableVPCClassicLink() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DisableVPCClassicLinkInput{
+ VPCID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DisableVPCClassicLink(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DisassociateAddress() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DisassociateAddressInput{
+ AssociationID: aws.String("String"),
+ DryRun: aws.Bool(true),
+ PublicIP: aws.String("String"),
+ }
+ resp, err := svc.DisassociateAddress(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_DisassociateRouteTable() {
+ svc := ec2.New(nil)
+
+ params := &ec2.DisassociateRouteTableInput{
+ AssociationID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.DisassociateRouteTable(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_EnableVGWRoutePropagation() {
+ svc := ec2.New(nil)
+
+ params := &ec2.EnableVGWRoutePropagationInput{
+ GatewayID: aws.String("String"), // Required
+ RouteTableID: aws.String("String"), // Required
+ }
+ resp, err := svc.EnableVGWRoutePropagation(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_EnableVPCClassicLink() {
+ svc := ec2.New(nil)
+
+ params := &ec2.EnableVPCClassicLinkInput{
+ VPCID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.EnableVPCClassicLink(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_EnableVolumeIO() {
+ svc := ec2.New(nil)
+
+ params := &ec2.EnableVolumeIOInput{
+ VolumeID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.EnableVolumeIO(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_GetConsoleOutput() {
+ svc := ec2.New(nil)
+
+ params := &ec2.GetConsoleOutputInput{
+ InstanceID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.GetConsoleOutput(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_GetPasswordData() {
+ svc := ec2.New(nil)
+
+ params := &ec2.GetPasswordDataInput{
+ InstanceID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.GetPasswordData(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ImportImage() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ImportImageInput{
+ Architecture: aws.String("String"),
+ ClientData: &ec2.ClientData{
+ Comment: aws.String("String"),
+ UploadEnd: aws.Time(time.Now()),
+ UploadSize: aws.Float64(1.0),
+ UploadStart: aws.Time(time.Now()),
+ },
+ ClientToken: aws.String("String"),
+ Description: aws.String("String"),
+ DiskContainers: []*ec2.ImageDiskContainer{
+ { // Required
+ Description: aws.String("String"),
+ DeviceName: aws.String("String"),
+ Format: aws.String("String"),
+ SnapshotID: aws.String("String"),
+ URL: aws.String("String"),
+ UserBucket: &ec2.UserBucket{
+ S3Bucket: aws.String("String"),
+ S3Key: aws.String("String"),
+ },
+ },
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ Hypervisor: aws.String("String"),
+ LicenseType: aws.String("String"),
+ Platform: aws.String("String"),
+ RoleName: aws.String("String"),
+ }
+ resp, err := svc.ImportImage(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ImportInstance() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ImportInstanceInput{
+ Platform: aws.String("PlatformValues"), // Required
+ Description: aws.String("String"),
+ DiskImages: []*ec2.DiskImage{
+ { // Required
+ Description: aws.String("String"),
+ Image: &ec2.DiskImageDetail{
+ Bytes: aws.Int64(1), // Required
+ Format: aws.String("DiskImageFormat"), // Required
+ ImportManifestURL: aws.String("String"), // Required
+ },
+ Volume: &ec2.VolumeDetail{
+ Size: aws.Int64(1), // Required
+ },
+ },
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ LaunchSpecification: &ec2.ImportInstanceLaunchSpecification{
+ AdditionalInfo: aws.String("String"),
+ Architecture: aws.String("ArchitectureValues"),
+ GroupIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ GroupNames: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ InstanceInitiatedShutdownBehavior: aws.String("ShutdownBehavior"),
+ InstanceType: aws.String("InstanceType"),
+ Monitoring: aws.Bool(true),
+ Placement: &ec2.Placement{
+ AvailabilityZone: aws.String("String"),
+ GroupName: aws.String("String"),
+ Tenancy: aws.String("Tenancy"),
+ },
+ PrivateIPAddress: aws.String("String"),
+ SubnetID: aws.String("String"),
+ UserData: &ec2.UserData{
+ Data: aws.String("String"),
+ },
+ },
+ }
+ resp, err := svc.ImportInstance(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ImportKeyPair() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ImportKeyPairInput{
+ KeyName: aws.String("String"), // Required
+ PublicKeyMaterial: []byte("PAYLOAD"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.ImportKeyPair(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ImportSnapshot() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ImportSnapshotInput{
+ ClientData: &ec2.ClientData{
+ Comment: aws.String("String"),
+ UploadEnd: aws.Time(time.Now()),
+ UploadSize: aws.Float64(1.0),
+ UploadStart: aws.Time(time.Now()),
+ },
+ ClientToken: aws.String("String"),
+ Description: aws.String("String"),
+ DiskContainer: &ec2.SnapshotDiskContainer{
+ Description: aws.String("String"),
+ Format: aws.String("String"),
+ URL: aws.String("String"),
+ UserBucket: &ec2.UserBucket{
+ S3Bucket: aws.String("String"),
+ S3Key: aws.String("String"),
+ },
+ },
+ DryRun: aws.Bool(true),
+ RoleName: aws.String("String"),
+ }
+ resp, err := svc.ImportSnapshot(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ImportVolume() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ImportVolumeInput{
+ AvailabilityZone: aws.String("String"), // Required
+ Image: &ec2.DiskImageDetail{ // Required
+ Bytes: aws.Int64(1), // Required
+ Format: aws.String("DiskImageFormat"), // Required
+ ImportManifestURL: aws.String("String"), // Required
+ },
+ Volume: &ec2.VolumeDetail{ // Required
+ Size: aws.Int64(1), // Required
+ },
+ Description: aws.String("String"),
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.ImportVolume(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ModifyImageAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ModifyImageAttributeInput{
+ ImageID: aws.String("String"), // Required
+ Attribute: aws.String("String"),
+ Description: &ec2.AttributeValue{
+ Value: aws.String("String"),
+ },
+ DryRun: aws.Bool(true),
+ LaunchPermission: &ec2.LaunchPermissionModifications{
+ Add: []*ec2.LaunchPermission{
+ { // Required
+ Group: aws.String("PermissionGroup"),
+ UserID: aws.String("String"),
+ },
+ // More values...
+ },
+ Remove: []*ec2.LaunchPermission{
+ { // Required
+ Group: aws.String("PermissionGroup"),
+ UserID: aws.String("String"),
+ },
+ // More values...
+ },
+ },
+ OperationType: aws.String("String"),
+ ProductCodes: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ UserGroups: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ UserIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ Value: aws.String("String"),
+ }
+ resp, err := svc.ModifyImageAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ModifyInstanceAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ModifyInstanceAttributeInput{
+ InstanceID: aws.String("String"), // Required
+ Attribute: aws.String("InstanceAttributeName"),
+ BlockDeviceMappings: []*ec2.InstanceBlockDeviceMappingSpecification{
+ { // Required
+ DeviceName: aws.String("String"),
+ EBS: &ec2.EBSInstanceBlockDeviceSpecification{
+ DeleteOnTermination: aws.Bool(true),
+ VolumeID: aws.String("String"),
+ },
+ NoDevice: aws.String("String"),
+ VirtualName: aws.String("String"),
+ },
+ // More values...
+ },
+ DisableAPITermination: &ec2.AttributeBooleanValue{
+ Value: aws.Bool(true),
+ },
+ DryRun: aws.Bool(true),
+ EBSOptimized: &ec2.AttributeBooleanValue{
+ Value: aws.Bool(true),
+ },
+ Groups: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ InstanceInitiatedShutdownBehavior: &ec2.AttributeValue{
+ Value: aws.String("String"),
+ },
+ InstanceType: &ec2.AttributeValue{
+ Value: aws.String("String"),
+ },
+ Kernel: &ec2.AttributeValue{
+ Value: aws.String("String"),
+ },
+ RAMDisk: &ec2.AttributeValue{
+ Value: aws.String("String"),
+ },
+ SRIOVNetSupport: &ec2.AttributeValue{
+ Value: aws.String("String"),
+ },
+ SourceDestCheck: &ec2.AttributeBooleanValue{
+ Value: aws.Bool(true),
+ },
+ UserData: &ec2.BlobAttributeValue{
+ Value: []byte("PAYLOAD"),
+ },
+ Value: aws.String("String"),
+ }
+ resp, err := svc.ModifyInstanceAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ModifyNetworkInterfaceAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ModifyNetworkInterfaceAttributeInput{
+ NetworkInterfaceID: aws.String("String"), // Required
+ Attachment: &ec2.NetworkInterfaceAttachmentChanges{
+ AttachmentID: aws.String("String"),
+ DeleteOnTermination: aws.Bool(true),
+ },
+ Description: &ec2.AttributeValue{
+ Value: aws.String("String"),
+ },
+ DryRun: aws.Bool(true),
+ Groups: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ SourceDestCheck: &ec2.AttributeBooleanValue{
+ Value: aws.Bool(true),
+ },
+ }
+ resp, err := svc.ModifyNetworkInterfaceAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ModifyReservedInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ModifyReservedInstancesInput{
+ ReservedInstancesIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ TargetConfigurations: []*ec2.ReservedInstancesConfiguration{ // Required
+ { // Required
+ AvailabilityZone: aws.String("String"),
+ InstanceCount: aws.Int64(1),
+ InstanceType: aws.String("InstanceType"),
+ Platform: aws.String("String"),
+ },
+ // More values...
+ },
+ ClientToken: aws.String("String"),
+ }
+ resp, err := svc.ModifyReservedInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ModifySnapshotAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ModifySnapshotAttributeInput{
+ SnapshotID: aws.String("String"), // Required
+ Attribute: aws.String("SnapshotAttributeName"),
+ CreateVolumePermission: &ec2.CreateVolumePermissionModifications{
+ Add: []*ec2.CreateVolumePermission{
+ { // Required
+ Group: aws.String("PermissionGroup"),
+ UserID: aws.String("String"),
+ },
+ // More values...
+ },
+ Remove: []*ec2.CreateVolumePermission{
+ { // Required
+ Group: aws.String("PermissionGroup"),
+ UserID: aws.String("String"),
+ },
+ // More values...
+ },
+ },
+ DryRun: aws.Bool(true),
+ GroupNames: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ OperationType: aws.String("String"),
+ UserIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.ModifySnapshotAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ModifySubnetAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ModifySubnetAttributeInput{
+ SubnetID: aws.String("String"), // Required
+ MapPublicIPOnLaunch: &ec2.AttributeBooleanValue{
+ Value: aws.Bool(true),
+ },
+ }
+ resp, err := svc.ModifySubnetAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ModifyVPCAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ModifyVPCAttributeInput{
+ VPCID: aws.String("String"), // Required
+ EnableDNSHostnames: &ec2.AttributeBooleanValue{
+ Value: aws.Bool(true),
+ },
+ EnableDNSSupport: &ec2.AttributeBooleanValue{
+ Value: aws.Bool(true),
+ },
+ }
+ resp, err := svc.ModifyVPCAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ModifyVPCEndpoint() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ModifyVPCEndpointInput{
+ VPCEndpointID: aws.String("String"), // Required
+ AddRouteTableIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ PolicyDocument: aws.String("String"),
+ RemoveRouteTableIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ ResetPolicy: aws.Bool(true),
+ }
+ resp, err := svc.ModifyVPCEndpoint(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ModifyVolumeAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ModifyVolumeAttributeInput{
+ VolumeID: aws.String("String"), // Required
+ AutoEnableIO: &ec2.AttributeBooleanValue{
+ Value: aws.Bool(true),
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.ModifyVolumeAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_MonitorInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.MonitorInstancesInput{
+ InstanceIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.MonitorInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_MoveAddressToVPC() {
+ svc := ec2.New(nil)
+
+ params := &ec2.MoveAddressToVPCInput{
+ PublicIP: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.MoveAddressToVPC(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_PurchaseReservedInstancesOffering() {
+ svc := ec2.New(nil)
+
+ params := &ec2.PurchaseReservedInstancesOfferingInput{
+ InstanceCount: aws.Int64(1), // Required
+ ReservedInstancesOfferingID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ LimitPrice: &ec2.ReservedInstanceLimitPrice{
+ Amount: aws.Float64(1.0),
+ CurrencyCode: aws.String("CurrencyCodeValues"),
+ },
+ }
+ resp, err := svc.PurchaseReservedInstancesOffering(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_RebootInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.RebootInstancesInput{
+ InstanceIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.RebootInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_RegisterImage() {
+ svc := ec2.New(nil)
+
+ params := &ec2.RegisterImageInput{
+ Name: aws.String("String"), // Required
+ Architecture: aws.String("ArchitectureValues"),
+ BlockDeviceMappings: []*ec2.BlockDeviceMapping{
+ { // Required
+ DeviceName: aws.String("String"),
+ EBS: &ec2.EBSBlockDevice{
+ DeleteOnTermination: aws.Bool(true),
+ Encrypted: aws.Bool(true),
+ IOPS: aws.Int64(1),
+ SnapshotID: aws.String("String"),
+ VolumeSize: aws.Int64(1),
+ VolumeType: aws.String("VolumeType"),
+ },
+ NoDevice: aws.String("String"),
+ VirtualName: aws.String("String"),
+ },
+ // More values...
+ },
+ Description: aws.String("String"),
+ DryRun: aws.Bool(true),
+ ImageLocation: aws.String("String"),
+ KernelID: aws.String("String"),
+ RAMDiskID: aws.String("String"),
+ RootDeviceName: aws.String("String"),
+ SRIOVNetSupport: aws.String("String"),
+ VirtualizationType: aws.String("String"),
+ }
+ resp, err := svc.RegisterImage(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_RejectVPCPeeringConnection() {
+ svc := ec2.New(nil)
+
+ params := &ec2.RejectVPCPeeringConnectionInput{
+ VPCPeeringConnectionID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.RejectVPCPeeringConnection(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ReleaseAddress() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ReleaseAddressInput{
+ AllocationID: aws.String("String"),
+ DryRun: aws.Bool(true),
+ PublicIP: aws.String("String"),
+ }
+ resp, err := svc.ReleaseAddress(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ReplaceNetworkACLAssociation() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ReplaceNetworkACLAssociationInput{
+ AssociationID: aws.String("String"), // Required
+ NetworkACLID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.ReplaceNetworkACLAssociation(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ReplaceNetworkACLEntry() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ReplaceNetworkACLEntryInput{
+ CIDRBlock: aws.String("String"), // Required
+ Egress: aws.Bool(true), // Required
+ NetworkACLID: aws.String("String"), // Required
+ Protocol: aws.String("String"), // Required
+ RuleAction: aws.String("RuleAction"), // Required
+ RuleNumber: aws.Int64(1), // Required
+ DryRun: aws.Bool(true),
+ ICMPTypeCode: &ec2.ICMPTypeCode{
+ Code: aws.Int64(1),
+ Type: aws.Int64(1),
+ },
+ PortRange: &ec2.PortRange{
+ From: aws.Int64(1),
+ To: aws.Int64(1),
+ },
+ }
+ resp, err := svc.ReplaceNetworkACLEntry(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ReplaceRoute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ReplaceRouteInput{
+ DestinationCIDRBlock: aws.String("String"), // Required
+ RouteTableID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ GatewayID: aws.String("String"),
+ InstanceID: aws.String("String"),
+ NetworkInterfaceID: aws.String("String"),
+ VPCPeeringConnectionID: aws.String("String"),
+ }
+ resp, err := svc.ReplaceRoute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ReplaceRouteTableAssociation() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ReplaceRouteTableAssociationInput{
+ AssociationID: aws.String("String"), // Required
+ RouteTableID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.ReplaceRouteTableAssociation(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ReportInstanceStatus() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ReportInstanceStatusInput{
+ Instances: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ ReasonCodes: []*string{ // Required
+ aws.String("ReportInstanceReasonCodes"), // Required
+ // More values...
+ },
+ Status: aws.String("ReportStatusType"), // Required
+ Description: aws.String("String"),
+ DryRun: aws.Bool(true),
+ EndTime: aws.Time(time.Now()),
+ StartTime: aws.Time(time.Now()),
+ }
+ resp, err := svc.ReportInstanceStatus(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_RequestSpotFleet() {
+ svc := ec2.New(nil)
+
+ params := &ec2.RequestSpotFleetInput{
+ SpotFleetRequestConfig: &ec2.SpotFleetRequestConfigData{ // Required
+ IAMFleetRole: aws.String("String"), // Required
+ LaunchSpecifications: []*ec2.SpotFleetLaunchSpecification{ // Required
+ { // Required
+ AddressingType: aws.String("String"),
+ BlockDeviceMappings: []*ec2.BlockDeviceMapping{
+ { // Required
+ DeviceName: aws.String("String"),
+ EBS: &ec2.EBSBlockDevice{
+ DeleteOnTermination: aws.Bool(true),
+ Encrypted: aws.Bool(true),
+ IOPS: aws.Int64(1),
+ SnapshotID: aws.String("String"),
+ VolumeSize: aws.Int64(1),
+ VolumeType: aws.String("VolumeType"),
+ },
+ NoDevice: aws.String("String"),
+ VirtualName: aws.String("String"),
+ },
+ // More values...
+ },
+ EBSOptimized: aws.Bool(true),
+ IAMInstanceProfile: &ec2.IAMInstanceProfileSpecification{
+ ARN: aws.String("String"),
+ Name: aws.String("String"),
+ },
+ ImageID: aws.String("String"),
+ InstanceType: aws.String("InstanceType"),
+ KernelID: aws.String("String"),
+ KeyName: aws.String("String"),
+ Monitoring: &ec2.SpotFleetMonitoring{
+ Enabled: aws.Bool(true),
+ },
+ NetworkInterfaces: []*ec2.InstanceNetworkInterfaceSpecification{
+ { // Required
+ AssociatePublicIPAddress: aws.Bool(true),
+ DeleteOnTermination: aws.Bool(true),
+ Description: aws.String("String"),
+ DeviceIndex: aws.Int64(1),
+ Groups: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ NetworkInterfaceID: aws.String("String"),
+ PrivateIPAddress: aws.String("String"),
+ PrivateIPAddresses: []*ec2.PrivateIPAddressSpecification{
+ { // Required
+ PrivateIPAddress: aws.String("String"), // Required
+ Primary: aws.Bool(true),
+ },
+ // More values...
+ },
+ SecondaryPrivateIPAddressCount: aws.Int64(1),
+ SubnetID: aws.String("String"),
+ },
+ // More values...
+ },
+ Placement: &ec2.SpotPlacement{
+ AvailabilityZone: aws.String("String"),
+ GroupName: aws.String("String"),
+ },
+ RAMDiskID: aws.String("String"),
+ SecurityGroups: []*ec2.GroupIdentifier{
+ { // Required
+ GroupID: aws.String("String"),
+ GroupName: aws.String("String"),
+ },
+ // More values...
+ },
+ SubnetID: aws.String("String"),
+ UserData: aws.String("String"),
+ },
+ // More values...
+ },
+ SpotPrice: aws.String("String"), // Required
+ TargetCapacity: aws.Int64(1), // Required
+ ClientToken: aws.String("String"),
+ TerminateInstancesWithExpiration: aws.Bool(true),
+ ValidFrom: aws.Time(time.Now()),
+ ValidUntil: aws.Time(time.Now()),
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.RequestSpotFleet(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_RequestSpotInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.RequestSpotInstancesInput{
+ SpotPrice: aws.String("String"), // Required
+ AvailabilityZoneGroup: aws.String("String"),
+ ClientToken: aws.String("String"),
+ DryRun: aws.Bool(true),
+ InstanceCount: aws.Int64(1),
+ LaunchGroup: aws.String("String"),
+ LaunchSpecification: &ec2.RequestSpotLaunchSpecification{
+ AddressingType: aws.String("String"),
+ BlockDeviceMappings: []*ec2.BlockDeviceMapping{
+ { // Required
+ DeviceName: aws.String("String"),
+ EBS: &ec2.EBSBlockDevice{
+ DeleteOnTermination: aws.Bool(true),
+ Encrypted: aws.Bool(true),
+ IOPS: aws.Int64(1),
+ SnapshotID: aws.String("String"),
+ VolumeSize: aws.Int64(1),
+ VolumeType: aws.String("VolumeType"),
+ },
+ NoDevice: aws.String("String"),
+ VirtualName: aws.String("String"),
+ },
+ // More values...
+ },
+ EBSOptimized: aws.Bool(true),
+ IAMInstanceProfile: &ec2.IAMInstanceProfileSpecification{
+ ARN: aws.String("String"),
+ Name: aws.String("String"),
+ },
+ ImageID: aws.String("String"),
+ InstanceType: aws.String("InstanceType"),
+ KernelID: aws.String("String"),
+ KeyName: aws.String("String"),
+ Monitoring: &ec2.RunInstancesMonitoringEnabled{
+ Enabled: aws.Bool(true), // Required
+ },
+ NetworkInterfaces: []*ec2.InstanceNetworkInterfaceSpecification{
+ { // Required
+ AssociatePublicIPAddress: aws.Bool(true),
+ DeleteOnTermination: aws.Bool(true),
+ Description: aws.String("String"),
+ DeviceIndex: aws.Int64(1),
+ Groups: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ NetworkInterfaceID: aws.String("String"),
+ PrivateIPAddress: aws.String("String"),
+ PrivateIPAddresses: []*ec2.PrivateIPAddressSpecification{
+ { // Required
+ PrivateIPAddress: aws.String("String"), // Required
+ Primary: aws.Bool(true),
+ },
+ // More values...
+ },
+ SecondaryPrivateIPAddressCount: aws.Int64(1),
+ SubnetID: aws.String("String"),
+ },
+ // More values...
+ },
+ Placement: &ec2.SpotPlacement{
+ AvailabilityZone: aws.String("String"),
+ GroupName: aws.String("String"),
+ },
+ RAMDiskID: aws.String("String"),
+ SecurityGroupIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ SecurityGroups: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ SubnetID: aws.String("String"),
+ UserData: aws.String("String"),
+ },
+ Type: aws.String("SpotInstanceType"),
+ ValidFrom: aws.Time(time.Now()),
+ ValidUntil: aws.Time(time.Now()),
+ }
+ resp, err := svc.RequestSpotInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ResetImageAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ResetImageAttributeInput{
+ Attribute: aws.String("ResetImageAttributeName"), // Required
+ ImageID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.ResetImageAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ResetInstanceAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ResetInstanceAttributeInput{
+ Attribute: aws.String("InstanceAttributeName"), // Required
+ InstanceID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.ResetInstanceAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ResetNetworkInterfaceAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ResetNetworkInterfaceAttributeInput{
+ NetworkInterfaceID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ SourceDestCheck: aws.String("String"),
+ }
+ resp, err := svc.ResetNetworkInterfaceAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_ResetSnapshotAttribute() {
+ svc := ec2.New(nil)
+
+ params := &ec2.ResetSnapshotAttributeInput{
+ Attribute: aws.String("SnapshotAttributeName"), // Required
+ SnapshotID: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.ResetSnapshotAttribute(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_RestoreAddressToClassic() {
+ svc := ec2.New(nil)
+
+ params := &ec2.RestoreAddressToClassicInput{
+ PublicIP: aws.String("String"), // Required
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.RestoreAddressToClassic(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_RevokeSecurityGroupEgress() {
+ svc := ec2.New(nil)
+
+ params := &ec2.RevokeSecurityGroupEgressInput{
+ GroupID: aws.String("String"), // Required
+ CIDRIP: aws.String("String"),
+ DryRun: aws.Bool(true),
+ FromPort: aws.Int64(1),
+ IPPermissions: []*ec2.IPPermission{
+ { // Required
+ FromPort: aws.Int64(1),
+ IPProtocol: aws.String("String"),
+ IPRanges: []*ec2.IPRange{
+ { // Required
+ CIDRIP: aws.String("String"),
+ },
+ // More values...
+ },
+ PrefixListIDs: []*ec2.PrefixListID{
+ { // Required
+ PrefixListID: aws.String("String"),
+ },
+ // More values...
+ },
+ ToPort: aws.Int64(1),
+ UserIDGroupPairs: []*ec2.UserIDGroupPair{
+ { // Required
+ GroupID: aws.String("String"),
+ GroupName: aws.String("String"),
+ UserID: aws.String("String"),
+ },
+ // More values...
+ },
+ },
+ // More values...
+ },
+ IPProtocol: aws.String("String"),
+ SourceSecurityGroupName: aws.String("String"),
+ SourceSecurityGroupOwnerID: aws.String("String"),
+ ToPort: aws.Int64(1),
+ }
+ resp, err := svc.RevokeSecurityGroupEgress(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_RevokeSecurityGroupIngress() {
+ svc := ec2.New(nil)
+
+ params := &ec2.RevokeSecurityGroupIngressInput{
+ CIDRIP: aws.String("String"),
+ DryRun: aws.Bool(true),
+ FromPort: aws.Int64(1),
+ GroupID: aws.String("String"),
+ GroupName: aws.String("String"),
+ IPPermissions: []*ec2.IPPermission{
+ { // Required
+ FromPort: aws.Int64(1),
+ IPProtocol: aws.String("String"),
+ IPRanges: []*ec2.IPRange{
+ { // Required
+ CIDRIP: aws.String("String"),
+ },
+ // More values...
+ },
+ PrefixListIDs: []*ec2.PrefixListID{
+ { // Required
+ PrefixListID: aws.String("String"),
+ },
+ // More values...
+ },
+ ToPort: aws.Int64(1),
+ UserIDGroupPairs: []*ec2.UserIDGroupPair{
+ { // Required
+ GroupID: aws.String("String"),
+ GroupName: aws.String("String"),
+ UserID: aws.String("String"),
+ },
+ // More values...
+ },
+ },
+ // More values...
+ },
+ IPProtocol: aws.String("String"),
+ SourceSecurityGroupName: aws.String("String"),
+ SourceSecurityGroupOwnerID: aws.String("String"),
+ ToPort: aws.Int64(1),
+ }
+ resp, err := svc.RevokeSecurityGroupIngress(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_RunInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.RunInstancesInput{
+ ImageID: aws.String("String"), // Required
+ MaxCount: aws.Int64(1), // Required
+ MinCount: aws.Int64(1), // Required
+ AdditionalInfo: aws.String("String"),
+ BlockDeviceMappings: []*ec2.BlockDeviceMapping{
+ { // Required
+ DeviceName: aws.String("String"),
+ EBS: &ec2.EBSBlockDevice{
+ DeleteOnTermination: aws.Bool(true),
+ Encrypted: aws.Bool(true),
+ IOPS: aws.Int64(1),
+ SnapshotID: aws.String("String"),
+ VolumeSize: aws.Int64(1),
+ VolumeType: aws.String("VolumeType"),
+ },
+ NoDevice: aws.String("String"),
+ VirtualName: aws.String("String"),
+ },
+ // More values...
+ },
+ ClientToken: aws.String("String"),
+ DisableAPITermination: aws.Bool(true),
+ DryRun: aws.Bool(true),
+ EBSOptimized: aws.Bool(true),
+ IAMInstanceProfile: &ec2.IAMInstanceProfileSpecification{
+ ARN: aws.String("String"),
+ Name: aws.String("String"),
+ },
+ InstanceInitiatedShutdownBehavior: aws.String("ShutdownBehavior"),
+ InstanceType: aws.String("InstanceType"),
+ KernelID: aws.String("String"),
+ KeyName: aws.String("String"),
+ Monitoring: &ec2.RunInstancesMonitoringEnabled{
+ Enabled: aws.Bool(true), // Required
+ },
+ NetworkInterfaces: []*ec2.InstanceNetworkInterfaceSpecification{
+ { // Required
+ AssociatePublicIPAddress: aws.Bool(true),
+ DeleteOnTermination: aws.Bool(true),
+ Description: aws.String("String"),
+ DeviceIndex: aws.Int64(1),
+ Groups: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ NetworkInterfaceID: aws.String("String"),
+ PrivateIPAddress: aws.String("String"),
+ PrivateIPAddresses: []*ec2.PrivateIPAddressSpecification{
+ { // Required
+ PrivateIPAddress: aws.String("String"), // Required
+ Primary: aws.Bool(true),
+ },
+ // More values...
+ },
+ SecondaryPrivateIPAddressCount: aws.Int64(1),
+ SubnetID: aws.String("String"),
+ },
+ // More values...
+ },
+ Placement: &ec2.Placement{
+ AvailabilityZone: aws.String("String"),
+ GroupName: aws.String("String"),
+ Tenancy: aws.String("Tenancy"),
+ },
+ PrivateIPAddress: aws.String("String"),
+ RAMDiskID: aws.String("String"),
+ SecurityGroupIDs: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ SecurityGroups: []*string{
+ aws.String("String"), // Required
+ // More values...
+ },
+ SubnetID: aws.String("String"),
+ UserData: aws.String("String"),
+ }
+ resp, err := svc.RunInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_StartInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.StartInstancesInput{
+ InstanceIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ AdditionalInfo: aws.String("String"),
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.StartInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_StopInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.StopInstancesInput{
+ InstanceIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ Force: aws.Bool(true),
+ }
+ resp, err := svc.StopInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_TerminateInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.TerminateInstancesInput{
+ InstanceIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.TerminateInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_UnassignPrivateIPAddresses() {
+ svc := ec2.New(nil)
+
+ params := &ec2.UnassignPrivateIPAddressesInput{
+ NetworkInterfaceID: aws.String("String"), // Required
+ PrivateIPAddresses: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ }
+ resp, err := svc.UnassignPrivateIPAddresses(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
+
+func ExampleEC2_UnmonitorInstances() {
+ svc := ec2.New(nil)
+
+ params := &ec2.UnmonitorInstancesInput{
+ InstanceIDs: []*string{ // Required
+ aws.String("String"), // Required
+ // More values...
+ },
+ DryRun: aws.Bool(true),
+ }
+ resp, err := svc.UnmonitorInstances(params)
+
+ if err != nil {
+ if awsErr, ok := err.(awserr.Error); ok {
+ // Generic AWS error with Code, Message, and original error (if any)
+ fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr())
+ if reqErr, ok := err.(awserr.RequestFailure); ok {
+ // A service error occurred
+ fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID())
+ }
+ } else {
+ // This case should never be hit, the SDK should always return an
+ // error which satisfies the awserr.Error interface.
+ fmt.Println(err.Error())
+ }
+ }
+
+ // Pretty-print the response data.
+ fmt.Println(awsutil.Prettify(resp))
+}
diff --git a/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/service.go b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/service.go
new file mode 100644
index 00000000000..b9767171118
--- /dev/null
+++ b/Godeps/_workspace/src/github.com/aws/aws-sdk-go/service/ec2/service.go
@@ -0,0 +1,60 @@
+// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+
+package ec2
+
+import (
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/internal/protocol/ec2query"
+ "github.com/aws/aws-sdk-go/internal/signer/v4"
+)
+
+// Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity
+// in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your
+// need to invest in hardware up front, so you can develop and deploy applications
+// faster.
+type EC2 struct {
+ *aws.Service
+}
+
+// Used for custom service initialization logic
+var initService func(*aws.Service)
+
+// Used for custom request initialization logic
+var initRequest func(*aws.Request)
+
+// New returns a new EC2 client.
+func New(config *aws.Config) *EC2 {
+ service := &aws.Service{
+ Config: aws.DefaultConfig.Merge(config),
+ ServiceName: "ec2",
+ APIVersion: "2015-04-15",
+ }
+ service.Initialize()
+
+ // Handlers
+ service.Handlers.Sign.PushBack(v4.Sign)
+ service.Handlers.Build.PushBack(ec2query.Build)
+ service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
+ service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
+ service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
+
+ // Run custom service initialization if present
+ if initService != nil {
+ initService(service)
+ }
+
+ return &EC2{service}
+}
+
+// newRequest creates a new request for a EC2 operation and runs any
+// custom request initialization.
+func (c *EC2) newRequest(op *aws.Operation, params, data interface{}) *aws.Request {
+ req := aws.NewRequest(c.Service, op, params, data)
+
+ // Run custom request initialization if present
+ if initRequest != nil {
+ initRequest(req)
+ }
+
+ return req
+}
diff --git a/pkg/api/dataproxy_cloudwatch.go b/pkg/api/dataproxy_cloudwatch.go
index 3a0b4b16bc2..4a1670b7908 100644
--- a/pkg/api/dataproxy_cloudwatch.go
+++ b/pkg/api/dataproxy_cloudwatch.go
@@ -9,6 +9,7 @@ import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/cloudwatch"
+ "github.com/aws/aws-sdk-go/service/ec2"
"github.com/grafana/grafana/pkg/middleware"
)
@@ -22,86 +23,123 @@ func ProxyCloudWatchDataSourceRequest(c *middleware.Context) {
}{}
json.Unmarshal([]byte(body), reqInfo)
- svc := cloudwatch.New(&aws.Config{Region: aws.String(reqInfo.Region)})
+ switch reqInfo.Service {
+ case "CloudWatch":
+ svc := cloudwatch.New(&aws.Config{Region: aws.String(reqInfo.Region)})
- switch reqInfo.Action {
- case "GetMetricStatistics":
- reqParam := &struct {
- Parameters struct {
- Namespace string `json:"Namespace"`
- MetricName string `json:"MetricName"`
- Dimensions []map[string]string `json:"Dimensions"`
- Statistics []string `json:"Statistics"`
- StartTime int64 `json:"StartTime"`
- EndTime int64 `json:"EndTime"`
- Period int64 `json:"Period"`
- } `json:"parameters"`
- }{}
- json.Unmarshal([]byte(body), reqParam)
+ switch reqInfo.Action {
+ case "GetMetricStatistics":
+ reqParam := &struct {
+ Parameters struct {
+ Namespace string `json:"Namespace"`
+ MetricName string `json:"MetricName"`
+ Dimensions []map[string]string `json:"Dimensions"`
+ Statistics []string `json:"Statistics"`
+ StartTime int64 `json:"StartTime"`
+ EndTime int64 `json:"EndTime"`
+ Period int64 `json:"Period"`
+ } `json:"parameters"`
+ }{}
+ json.Unmarshal([]byte(body), reqParam)
- statistics := make([]*string, 0)
- for k := range reqParam.Parameters.Statistics {
- statistics = append(statistics, &reqParam.Parameters.Statistics[k])
+ statistics := make([]*string, 0)
+ for k := range reqParam.Parameters.Statistics {
+ statistics = append(statistics, &reqParam.Parameters.Statistics[k])
+ }
+ dimensions := make([]*cloudwatch.Dimension, 0)
+ for _, d := range reqParam.Parameters.Dimensions {
+ dimensions = append(dimensions, &cloudwatch.Dimension{
+ Name: aws.String(d["Name"]),
+ Value: aws.String(d["Value"]),
+ })
+ }
+
+ params := &cloudwatch.GetMetricStatisticsInput{
+ Namespace: aws.String(reqParam.Parameters.Namespace),
+ MetricName: aws.String(reqParam.Parameters.MetricName),
+ Dimensions: dimensions,
+ Statistics: statistics,
+ StartTime: aws.Time(time.Unix(reqParam.Parameters.StartTime, 0)),
+ EndTime: aws.Time(time.Unix(reqParam.Parameters.EndTime, 0)),
+ Period: aws.Int64(reqParam.Parameters.Period),
+ }
+
+ resp, err := svc.GetMetricStatistics(params)
+ if err != nil {
+ c.JsonApiErr(500, "Unable to call AWS API", err)
+ return
+ }
+
+ respJson, _ := json.Marshal(resp)
+ fmt.Fprint(c.RW(), string(respJson))
+ case "ListMetrics":
+ reqParam := &struct {
+ Parameters struct {
+ Namespace string `json:"Namespace"`
+ MetricName string `json:"MetricName"`
+ Dimensions []map[string]string `json:"Dimensions"`
+ } `json:"parameters"`
+ }{}
+ json.Unmarshal([]byte(body), reqParam)
+
+ dimensions := make([]*cloudwatch.DimensionFilter, 0)
+ for _, d := range reqParam.Parameters.Dimensions {
+ dimensions = append(dimensions, &cloudwatch.DimensionFilter{
+ Name: aws.String(d["Name"]),
+ Value: aws.String(d["Value"]),
+ })
+ }
+
+ params := &cloudwatch.ListMetricsInput{
+ Namespace: aws.String(reqParam.Parameters.Namespace),
+ MetricName: aws.String(reqParam.Parameters.MetricName),
+ Dimensions: dimensions,
+ }
+
+ resp, err := svc.ListMetrics(params)
+ if err != nil {
+ c.JsonApiErr(500, "Unable to call AWS API", err)
+ return
+ }
+
+ respJson, _ := json.Marshal(resp)
+ fmt.Fprint(c.RW(), string(respJson))
+ default:
+ c.JsonApiErr(500, "Unexpected CloudWatch action", errors.New(reqInfo.Action))
}
- dimensions := make([]*cloudwatch.Dimension, 0)
- for _, d := range reqParam.Parameters.Dimensions {
- dimensions = append(dimensions, &cloudwatch.Dimension{
- Name: aws.String(d["Name"]),
- Value: aws.String(d["Value"]),
- })
+ case "EC2":
+ svc := ec2.New(&aws.Config{Region: aws.String(reqInfo.Region)})
+
+ switch reqInfo.Action {
+ case "DescribeInstances":
+ reqParam := &struct {
+ Parameters struct {
+ Filters []*ec2.Filter `json:"Filters"`
+ InstanceIds []*string `json:"InstanceIds"`
+ } `json:"parameters"`
+ }{}
+ json.Unmarshal([]byte(body), reqParam)
+
+ params := &ec2.DescribeInstancesInput{}
+ if len(reqParam.Parameters.Filters) > 0 {
+ params.Filters = reqParam.Parameters.Filters
+ }
+ if len(reqParam.Parameters.InstanceIds) > 0 {
+ params.InstanceIDs = reqParam.Parameters.InstanceIds
+ }
+
+ resp, err := svc.DescribeInstances(params)
+ if err != nil {
+ c.JsonApiErr(500, "Unable to call AWS API", err)
+ return
+ }
+
+ respJson, _ := json.Marshal(resp)
+ fmt.Fprint(c.RW(), string(respJson))
+ default:
+ c.JsonApiErr(500, "Unexpected EC2 action", errors.New(reqInfo.Action))
}
-
- params := &cloudwatch.GetMetricStatisticsInput{
- Namespace: aws.String(reqParam.Parameters.Namespace),
- MetricName: aws.String(reqParam.Parameters.MetricName),
- Dimensions: dimensions,
- Statistics: statistics,
- StartTime: aws.Time(time.Unix(reqParam.Parameters.StartTime, 0)),
- EndTime: aws.Time(time.Unix(reqParam.Parameters.EndTime, 0)),
- Period: aws.Int64(reqParam.Parameters.Period),
- }
-
- resp, err := svc.GetMetricStatistics(params)
- if err != nil {
- c.JsonApiErr(500, "Unable to call AWS API", err)
- return
- }
-
- respJson, _ := json.Marshal(resp)
- fmt.Fprint(c.RW(), string(respJson))
- case "ListMetrics":
- reqParam := &struct {
- Parameters struct {
- Namespace string `json:"Namespace"`
- MetricName string `json:"MetricName"`
- Dimensions []map[string]string `json:"Dimensions"`
- } `json:"parameters"`
- }{}
- json.Unmarshal([]byte(body), reqParam)
-
- dimensions := make([]*cloudwatch.DimensionFilter, 0)
- for _, d := range reqParam.Parameters.Dimensions {
- dimensions = append(dimensions, &cloudwatch.DimensionFilter{
- Name: aws.String(d["Name"]),
- Value: aws.String(d["Value"]),
- })
- }
-
- params := &cloudwatch.ListMetricsInput{
- Namespace: aws.String(reqParam.Parameters.Namespace),
- MetricName: aws.String(reqParam.Parameters.MetricName),
- Dimensions: dimensions,
- }
-
- resp, err := svc.ListMetrics(params)
- if err != nil {
- c.JsonApiErr(500, "Unable to call AWS API", err)
- return
- }
-
- respJson, _ := json.Marshal(resp)
- fmt.Fprint(c.RW(), string(respJson))
default:
- c.JsonApiErr(500, "Unexpected CloudWatch action", errors.New(reqInfo.Action))
+ c.JsonApiErr(500, "Unexpected service", errors.New(reqInfo.Service))
}
}
diff --git a/public/app/plugins/datasource/cloudwatch/datasource.js b/public/app/plugins/datasource/cloudwatch/datasource.js
index 3afe338bc53..0a2fdb08b3e 100644
--- a/public/app/plugins/datasource/cloudwatch/datasource.js
+++ b/public/app/plugins/datasource/cloudwatch/datasource.js
@@ -275,7 +275,7 @@ function (angular, _, dateMath) {
};
CloudWatchDatasource.prototype.performTimeSeriesQuery = function(query, start, end) {
- var cloudwatch = this.getCloudWatchClient(query.region);
+ var cloudwatch = this.getAwsClient(query.region, 'CloudWatch');
var params = {
Namespace: query.namespace,
@@ -321,7 +321,7 @@ function (angular, _, dateMath) {
namespace = templateSrv.replace(namespace);
metricName = templateSrv.replace(metricName);
- var cloudwatch = this.getCloudWatchClient(region);
+ var cloudwatch = this.getAwsClient(region, 'CloudWatch');
var params = {
Namespace: namespace,
@@ -436,6 +436,33 @@ function (angular, _, dateMath) {
});
}
+ var ebsVolumeIdsQuery = query.match(/^ebs_volume_ids\(([^,]+?),\s?([^,]+?)\)/);
+ if (ebsVolumeIdsQuery) {
+ region = templateSrv.replace(ebsVolumeIdsQuery[1]);
+ var instanceId = templateSrv.replace(ebsVolumeIdsQuery[2]);
+
+ var ec2 = this.getAwsClient(region, 'EC2');
+
+ var params = {
+ InstanceIds: [
+ instanceId
+ ]
+ };
+ ec2.describeInstances(params, function(err, data) {
+ if (err) {
+ throw err;
+ }
+
+ var volumeIds = _.map(data.Reservations[0].Instances[0].BlockDeviceMappings, function(mapping) {
+ return mapping.EBS.VolumeID;
+ });
+
+ d.resolve(transformSuggestData(volumeIds));
+ });
+
+ return d.promise;
+ }
+
return $q.when([]);
};
@@ -451,9 +478,9 @@ function (angular, _, dateMath) {
});
};
- CloudWatchDatasource.prototype.getCloudWatchClient = function(region) {
+ CloudWatchDatasource.prototype.getAwsClient = function(region, service) {
if (!this.proxyMode) {
- return new AWS.CloudWatch({
+ return new AWS[service]({
region: region,
accessKeyId: this.credentials.accessKeyId,
secretAccessKey: this.credentials.secretAccessKey
@@ -483,10 +510,22 @@ function (angular, _, dateMath) {
};
};
- return {
- getMetricStatistics: generateRequestProxy('CloudWatch', 'GetMetricStatistics'),
- listMetrics: generateRequestProxy('CloudWatch', 'ListMetrics')
- };
+ var proxy;
+ switch (service) {
+ case 'CloudWatch':
+ proxy = {
+ getMetricStatistics: generateRequestProxy('CloudWatch', 'GetMetricStatistics'),
+ listMetrics: generateRequestProxy('CloudWatch', 'ListMetrics')
+ };
+ break;
+ case 'EC2':
+ proxy = {
+ describeInstances: generateRequestProxy('EC2', 'DescribeInstances')
+ };
+ break;
+ }
+
+ return proxy;
}
};