diff --git a/CHANGELOG.md b/CHANGELOG.md index 093aa25a5f7..5a7c301d892 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Release v1.44.33 (2022-06-13) +=== + +### Service Client Updates +* `service/outposts`: Updates service API and documentation + Release v1.44.32 (2022-06-10) === diff --git a/aws/version.go b/aws/version.go index 8436203a98a..7aa7fdcb358 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.32" +const SDKVersion = "1.44.33" diff --git a/models/apis/outposts/2019-12-03/api-2.json b/models/apis/outposts/2019-12-03/api-2.json index 9ca5f7d749b..59886bea644 100644 --- a/models/apis/outposts/2019-12-03/api-2.json +++ b/models/apis/outposts/2019-12-03/api-2.json @@ -125,6 +125,21 @@ {"shape":"InternalServerException"} ] }, + "GetConnection":{ + "name":"GetConnection", + "http":{ + "method":"GET", + "requestUri":"/connections/{ConnectionId}" + }, + "input":{"shape":"GetConnectionRequest"}, + "output":{"shape":"GetConnectionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "GetOrder":{ "name":"GetOrder", "http":{ @@ -285,6 +300,21 @@ {"shape":"NotFoundException"} ] }, + "StartConnection":{ + "name":"StartConnection", + "http":{ + "method":"POST", + "requestUri":"/connections" + }, + "input":{"shape":"StartConnectionRequest"}, + "output":{"shape":"StartConnectionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "TagResource":{ "name":"TagResource", "http":{ @@ -493,6 +523,16 @@ "max":5, "min":1 }, + "CIDR":{ + "type":"string", + "max":18, + "min":9, + "pattern":"^([0-9]{1,3}\\.){3}[0-9]{1,3}/[0-9]{1,2}$" + }, + "CIDRList":{ + "type":"list", + "member":{"shape":"CIDR"} + }, "CancelOrderInput":{ "type":"structure", "required":["OrderId"], @@ -577,6 +617,23 @@ "error":{"httpStatusCode":409}, "exception":true }, + "ConnectionDetails":{ + "type":"structure", + "members":{ + "ClientPublicKey":{"shape":"WireGuardPublicKey"}, + "ServerPublicKey":{"shape":"WireGuardPublicKey"}, + "ServerEndpoint":{"shape":"ServerEndpoint"}, + "ClientTunnelAddress":{"shape":"CIDR"}, + "ServerTunnelAddress":{"shape":"CIDR"}, + "AllowedIps":{"shape":"CIDRList"} + } + }, + "ConnectionId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^([\\w-]+)$" + }, "ContactName":{ "type":"string", "max":255, @@ -692,6 +749,12 @@ "members":{ } }, + "DeviceSerialNumber":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^(\\w+)$" + }, "DistrictOrCounty":{ "type":"string", "max":60, @@ -750,6 +813,24 @@ "CatalogItem":{"shape":"CatalogItem"} } }, + "GetConnectionRequest":{ + "type":"structure", + "required":["ConnectionId"], + "members":{ + "ConnectionId":{ + "shape":"ConnectionId", + "location":"uri", + "locationName":"ConnectionId" + } + } + }, + "GetConnectionResponse":{ + "type":"structure", + "members":{ + "ConnectionId":{"shape":"ConnectionId"}, + "ConnectionDetails":{"shape":"ConnectionDetails"} + } + }, "GetOrderInput":{ "type":"structure", "required":["OrderId"], @@ -1164,6 +1245,11 @@ "min":0, "pattern":"^\\S[\\S ]*$" }, + "NetworkInterfaceDeviceIndex":{ + "type":"integer", + "max":1, + "min":0 + }, "NotFoundException":{ "type":"structure", "members":{ @@ -1382,6 +1468,12 @@ "ORDER" ] }, + "ServerEndpoint":{ + "type":"string", + "max":21, + "min":9, + "pattern":"^([0-9]{1,3}\\.){3}[0-9]{1,3}:[0-9]{1,5}$" + }, "ServiceQuotaExceededException":{ "type":"structure", "members":{ @@ -1442,6 +1534,28 @@ "min":1, "pattern":"OR-[A-Z0-9]{7}" }, + "StartConnectionRequest":{ + "type":"structure", + "required":[ + "DeviceSerialNumber", + "AssetId", + "ClientPublicKey", + "NetworkInterfaceDeviceIndex" + ], + "members":{ + "DeviceSerialNumber":{"shape":"DeviceSerialNumber"}, + "AssetId":{"shape":"AssetId"}, + "ClientPublicKey":{"shape":"WireGuardPublicKey"}, + "NetworkInterfaceDeviceIndex":{"shape":"NetworkInterfaceDeviceIndex"} + } + }, + "StartConnectionResponse":{ + "type":"structure", + "members":{ + "ConnectionId":{"shape":"ConnectionId"}, + "UnderlayIpAddress":{"shape":"UnderlayIpAddress"} + } + }, "StateOrRegion":{ "type":"string", "max":50, @@ -1531,6 +1645,12 @@ "min":1, "pattern":"^(\\d+)##(\\S+)$" }, + "UnderlayIpAddress":{ + "type":"string", + "max":15, + "min":7, + "pattern":"^([0-9]{1,3}\\.){3}[0-9]{1,3}$" + }, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -1677,6 +1797,12 @@ "error":{"httpStatusCode":400}, "exception":true }, + "WireGuardPublicKey":{ + "type":"string", + "max":44, + "min":44, + "pattern":"^[a-zA-Z0-9/+]{43}=$" + }, "outpostListDefinition":{ "type":"list", "member":{"shape":"Outpost"} diff --git a/models/apis/outposts/2019-12-03/docs-2.json b/models/apis/outposts/2019-12-03/docs-2.json index b2f144c87db..80e6e14010f 100644 --- a/models/apis/outposts/2019-12-03/docs-2.json +++ b/models/apis/outposts/2019-12-03/docs-2.json @@ -9,6 +9,7 @@ "DeleteOutpost": "

Deletes the Outpost.

", "DeleteSite": "

Deletes the site.

", "GetCatalogItem": "

Gets information about a catalog item.

", + "GetConnection": "

Amazon Web Services uses this action to install Outpost servers.

Gets information about a specified connection.

Use CloudTrail to monitor this action or Amazon Web Services managed policy for Amazon Web Services Outposts to secure it. For more information, see Amazon Web Services managed policies for Amazon Web Services Outposts and Logging Amazon Web Services Outposts API calls with Amazon Web Services CloudTrail in the Amazon Web Services Outposts User Guide.

", "GetOrder": "

Gets an order.

", "GetOutpost": "

Gets information about the specified Outpost.

", "GetOutpostInstanceTypes": "

Gets the instance types for the specified Outpost.

", @@ -20,6 +21,7 @@ "ListOutposts": "

Lists the Outposts for your Amazon Web Services account. Add filters to your request to return a more specific list of results. Use filters to match an Outpost lifecycle status, Availability Zone (us-east-1a), and AZ ID (use1-az1).

If you specify multiple filters, the filters are joined with an AND, and the request returns only results that match all of the specified filters.

", "ListSites": "

Lists the Outpost sites for your Amazon Web Services account. Add operating address filters to your request to return a more specific list of results. Use filters to match site city, country code, or state/region of the operating address.

If you specify multiple filters, the filters are joined with an AND, and the request returns only results that match all of the specified filters.

", "ListTagsForResource": "

Lists the tags for the specified resource.

", + "StartConnection": "

Amazon Web Services uses this action to install Outpost servers.

Starts the connection required for Outpost server installation.

Use CloudTrail to monitor this action or Amazon Web Services managed policy for Amazon Web Services Outposts to secure it. For more information, see Amazon Web Services managed policies for Amazon Web Services Outposts and Logging Amazon Web Services Outposts API calls with Amazon Web Services CloudTrail in the Amazon Web Services Outposts User Guide.

", "TagResource": "

Adds tags to the specified resource.

", "UntagResource": "

Removes tags from the specified resource.

", "UpdateOutpost": "

Updates an Outpost.

", @@ -87,7 +89,8 @@ "AssetId": { "base": null, "refs": { - "AssetInfo$AssetId": "

The ID of the asset.

" + "AssetInfo$AssetId": "

The ID of the asset.

", + "StartConnectionRequest$AssetId": "

The ID of the Outpost server.

" } }, "AssetInfo": { @@ -136,6 +139,20 @@ "ListOutpostsInput$AvailabilityZoneFilter": "

A filter for the Availability Zone (us-east-1a) of the Outpost.

Filter values are case sensitive. If you specify multiple values for a filter, the values are joined with an OR, and the request returns all results that match any of the specified values.

" } }, + "CIDR": { + "base": null, + "refs": { + "CIDRList$member": null, + "ConnectionDetails$ClientTunnelAddress": "

The client tunnel address.

", + "ConnectionDetails$ServerTunnelAddress": "

The server tunnel address.

" + } + }, + "CIDRList": { + "base": null, + "refs": { + "ConnectionDetails$AllowedIps": "

The allowed IP addresses.

" + } + }, "CancelOrderInput": { "base": null, "refs": { @@ -214,6 +231,20 @@ "refs": { } }, + "ConnectionDetails": { + "base": "

Information about a connection.

", + "refs": { + "GetConnectionResponse$ConnectionDetails": "

Information about a connection.

" + } + }, + "ConnectionId": { + "base": null, + "refs": { + "GetConnectionRequest$ConnectionId": "

The ID of the connection you request.

", + "GetConnectionResponse$ConnectionId": "

The ID of the connection you receive.

", + "StartConnectionResponse$ConnectionId": "

The ID of the connection.

" + } + }, "ContactName": { "base": null, "refs": { @@ -290,6 +321,12 @@ "refs": { } }, + "DeviceSerialNumber": { + "base": null, + "refs": { + "StartConnectionRequest$DeviceSerialNumber": "

The serial number of the dongle.

" + } + }, "DistrictOrCounty": { "base": null, "refs": { @@ -349,6 +386,16 @@ "refs": { } }, + "GetConnectionRequest": { + "base": null, + "refs": { + } + }, + "GetConnectionResponse": { + "base": null, + "refs": { + } + }, "GetOrderInput": { "base": null, "refs": { @@ -598,6 +645,12 @@ "Address$Municipality": "

The municipality for the address.

" } }, + "NetworkInterfaceDeviceIndex": { + "base": null, + "refs": { + "StartConnectionRequest$NetworkInterfaceDeviceIndex": "

The device index of the network interface on the Outpost server.

" + } + }, "NotFoundException": { "base": "

The specified request is not valid.

", "refs": { @@ -787,6 +840,12 @@ "ConflictException$ResourceType": "

The type of the resource causing the conflict.

" } }, + "ServerEndpoint": { + "base": null, + "refs": { + "ConnectionDetails$ServerEndpoint": "

The endpoint for the server.

" + } + }, "ServiceQuotaExceededException": { "base": "

You have exceeded a service quota.

", "refs": { @@ -857,6 +916,16 @@ "LineItemRequest$CatalogItemId": "

The ID of the catalog item.

" } }, + "StartConnectionRequest": { + "base": null, + "refs": { + } + }, + "StartConnectionResponse": { + "base": null, + "refs": { + } + }, "StateOrRegion": { "base": null, "refs": { @@ -967,6 +1036,12 @@ "ListSitesOutput$NextToken": null } }, + "UnderlayIpAddress": { + "base": null, + "refs": { + "StartConnectionResponse$UnderlayIpAddress": "

The underlay IP address.

" + } + }, "UntagResourceRequest": { "base": null, "refs": { @@ -1036,6 +1111,14 @@ "refs": { } }, + "WireGuardPublicKey": { + "base": null, + "refs": { + "ConnectionDetails$ClientPublicKey": "

The public key of the client.

", + "ConnectionDetails$ServerPublicKey": "

The public key of the server.

", + "StartConnectionRequest$ClientPublicKey": "

The public key of the client.

" + } + }, "outpostListDefinition": { "base": "

Information about the Outposts.

", "refs": { diff --git a/service/outposts/api.go b/service/outposts/api.go index ced87da113a..da50dae73c3 100644 --- a/service/outposts/api.go +++ b/service/outposts/api.go @@ -655,6 +655,104 @@ func (c *Outposts) GetCatalogItemWithContext(ctx aws.Context, input *GetCatalogI return out, req.Send() } +const opGetConnection = "GetConnection" + +// GetConnectionRequest generates a "aws/request.Request" representing the +// client's request for the GetConnection operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetConnection for more information on using the GetConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetConnectionRequest method. +// req, resp := client.GetConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/outposts-2019-12-03/GetConnection +func (c *Outposts) GetConnectionRequest(input *GetConnectionInput) (req *request.Request, output *GetConnectionOutput) { + op := &request.Operation{ + Name: opGetConnection, + HTTPMethod: "GET", + HTTPPath: "/connections/{ConnectionId}", + } + + if input == nil { + input = &GetConnectionInput{} + } + + output = &GetConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetConnection API operation for AWS Outposts. +// +// +// Amazon Web Services uses this action to install Outpost servers. +// +// Gets information about a specified connection. +// +// Use CloudTrail to monitor this action or Amazon Web Services managed policy +// for Amazon Web Services Outposts to secure it. For more information, see +// Amazon Web Services managed policies for Amazon Web Services Outposts (https://docs.aws.amazon.com/outposts/latest/userguide/security-iam-awsmanpol.html) +// and Logging Amazon Web Services Outposts API calls with Amazon Web Services +// CloudTrail (https://docs.aws.amazon.com/outposts/latest/userguide/logging-using-cloudtrail.html) +// in the Amazon Web Services Outposts User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Outposts's +// API operation GetConnection for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You do not have permission to perform this operation. +// +// * ValidationException +// A parameter is not valid. +// +// * NotFoundException +// The specified request is not valid. +// +// * InternalServerException +// An internal error has occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/outposts-2019-12-03/GetConnection +func (c *Outposts) GetConnection(input *GetConnectionInput) (*GetConnectionOutput, error) { + req, out := c.GetConnectionRequest(input) + return out, req.Send() +} + +// GetConnectionWithContext is the same as GetConnection with the addition of +// the ability to pass a context and additional request options. +// +// See GetConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Outposts) GetConnectionWithContext(ctx aws.Context, input *GetConnectionInput, opts ...request.Option) (*GetConnectionOutput, error) { + req, out := c.GetConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetOrder = "GetOrder" // GetOrderRequest generates a "aws/request.Request" representing the @@ -1975,6 +2073,104 @@ func (c *Outposts) ListTagsForResourceWithContext(ctx aws.Context, input *ListTa return out, req.Send() } +const opStartConnection = "StartConnection" + +// StartConnectionRequest generates a "aws/request.Request" representing the +// client's request for the StartConnection operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartConnection for more information on using the StartConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartConnectionRequest method. +// req, resp := client.StartConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/outposts-2019-12-03/StartConnection +func (c *Outposts) StartConnectionRequest(input *StartConnectionInput) (req *request.Request, output *StartConnectionOutput) { + op := &request.Operation{ + Name: opStartConnection, + HTTPMethod: "POST", + HTTPPath: "/connections", + } + + if input == nil { + input = &StartConnectionInput{} + } + + output = &StartConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartConnection API operation for AWS Outposts. +// +// +// Amazon Web Services uses this action to install Outpost servers. +// +// Starts the connection required for Outpost server installation. +// +// Use CloudTrail to monitor this action or Amazon Web Services managed policy +// for Amazon Web Services Outposts to secure it. For more information, see +// Amazon Web Services managed policies for Amazon Web Services Outposts (https://docs.aws.amazon.com/outposts/latest/userguide/security-iam-awsmanpol.html) +// and Logging Amazon Web Services Outposts API calls with Amazon Web Services +// CloudTrail (https://docs.aws.amazon.com/outposts/latest/userguide/logging-using-cloudtrail.html) +// in the Amazon Web Services Outposts User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Outposts's +// API operation StartConnection for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You do not have permission to perform this operation. +// +// * ValidationException +// A parameter is not valid. +// +// * NotFoundException +// The specified request is not valid. +// +// * InternalServerException +// An internal error has occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/outposts-2019-12-03/StartConnection +func (c *Outposts) StartConnection(input *StartConnectionInput) (*StartConnectionOutput, error) { + req, out := c.StartConnectionRequest(input) + return out, req.Send() +} + +// StartConnectionWithContext is the same as StartConnection with the addition of +// the ability to pass a context and additional request options. +// +// See StartConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Outposts) StartConnectionWithContext(ctx aws.Context, input *StartConnectionInput, opts ...request.Option) (*StartConnectionOutput, error) { + req, out := c.StartConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -3086,6 +3282,83 @@ func (s *ConflictException) RequestID() string { return s.RespMetadata.RequestID } +// Information about a connection. +type ConnectionDetails struct { + _ struct{} `type:"structure"` + + // The allowed IP addresses. + AllowedIps []*string `type:"list"` + + // The public key of the client. + ClientPublicKey *string `min:"44" type:"string"` + + // The client tunnel address. + ClientTunnelAddress *string `min:"9" type:"string"` + + // The endpoint for the server. + ServerEndpoint *string `min:"9" type:"string"` + + // The public key of the server. + ServerPublicKey *string `min:"44" type:"string"` + + // The server tunnel address. + ServerTunnelAddress *string `min:"9" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectionDetails) GoString() string { + return s.String() +} + +// SetAllowedIps sets the AllowedIps field's value. +func (s *ConnectionDetails) SetAllowedIps(v []*string) *ConnectionDetails { + s.AllowedIps = v + return s +} + +// SetClientPublicKey sets the ClientPublicKey field's value. +func (s *ConnectionDetails) SetClientPublicKey(v string) *ConnectionDetails { + s.ClientPublicKey = &v + return s +} + +// SetClientTunnelAddress sets the ClientTunnelAddress field's value. +func (s *ConnectionDetails) SetClientTunnelAddress(v string) *ConnectionDetails { + s.ClientTunnelAddress = &v + return s +} + +// SetServerEndpoint sets the ServerEndpoint field's value. +func (s *ConnectionDetails) SetServerEndpoint(v string) *ConnectionDetails { + s.ServerEndpoint = &v + return s +} + +// SetServerPublicKey sets the ServerPublicKey field's value. +func (s *ConnectionDetails) SetServerPublicKey(v string) *ConnectionDetails { + s.ServerPublicKey = &v + return s +} + +// SetServerTunnelAddress sets the ServerTunnelAddress field's value. +func (s *ConnectionDetails) SetServerTunnelAddress(v string) *ConnectionDetails { + s.ServerTunnelAddress = &v + return s +} + type CreateOrderInput struct { _ struct{} `type:"structure"` @@ -3817,6 +4090,95 @@ func (s *GetCatalogItemOutput) SetCatalogItem(v *CatalogItem) *GetCatalogItemOut return s } +type GetConnectionInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the connection you request. + // + // ConnectionId is a required field + ConnectionId *string `location:"uri" locationName:"ConnectionId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConnectionInput"} + if s.ConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionId")) + } + if s.ConnectionId != nil && len(*s.ConnectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConnectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *GetConnectionInput) SetConnectionId(v string) *GetConnectionInput { + s.ConnectionId = &v + return s +} + +type GetConnectionOutput struct { + _ struct{} `type:"structure"` + + // Information about a connection. + ConnectionDetails *ConnectionDetails `type:"structure"` + + // The ID of the connection you receive. + ConnectionId *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConnectionOutput) GoString() string { + return s.String() +} + +// SetConnectionDetails sets the ConnectionDetails field's value. +func (s *GetConnectionOutput) SetConnectionDetails(v *ConnectionDetails) *GetConnectionOutput { + s.ConnectionDetails = v + return s +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *GetConnectionOutput) SetConnectionId(v string) *GetConnectionOutput { + s.ConnectionId = &v + return s +} + type GetOrderInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -5964,6 +6326,143 @@ func (s *Site) SetTags(v map[string]*string) *Site { return s } +type StartConnectionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Outpost server. + // + // AssetId is a required field + AssetId *string `min:"1" type:"string" required:"true"` + + // The public key of the client. + // + // ClientPublicKey is a required field + ClientPublicKey *string `min:"44" type:"string" required:"true"` + + // The serial number of the dongle. + // + // DeviceSerialNumber is a required field + DeviceSerialNumber *string `min:"1" type:"string" required:"true"` + + // The device index of the network interface on the Outpost server. + // + // NetworkInterfaceDeviceIndex is a required field + NetworkInterfaceDeviceIndex *int64 `type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartConnectionInput"} + if s.AssetId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetId")) + } + if s.AssetId != nil && len(*s.AssetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 1)) + } + if s.ClientPublicKey == nil { + invalidParams.Add(request.NewErrParamRequired("ClientPublicKey")) + } + if s.ClientPublicKey != nil && len(*s.ClientPublicKey) < 44 { + invalidParams.Add(request.NewErrParamMinLen("ClientPublicKey", 44)) + } + if s.DeviceSerialNumber == nil { + invalidParams.Add(request.NewErrParamRequired("DeviceSerialNumber")) + } + if s.DeviceSerialNumber != nil && len(*s.DeviceSerialNumber) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DeviceSerialNumber", 1)) + } + if s.NetworkInterfaceDeviceIndex == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceDeviceIndex")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetId sets the AssetId field's value. +func (s *StartConnectionInput) SetAssetId(v string) *StartConnectionInput { + s.AssetId = &v + return s +} + +// SetClientPublicKey sets the ClientPublicKey field's value. +func (s *StartConnectionInput) SetClientPublicKey(v string) *StartConnectionInput { + s.ClientPublicKey = &v + return s +} + +// SetDeviceSerialNumber sets the DeviceSerialNumber field's value. +func (s *StartConnectionInput) SetDeviceSerialNumber(v string) *StartConnectionInput { + s.DeviceSerialNumber = &v + return s +} + +// SetNetworkInterfaceDeviceIndex sets the NetworkInterfaceDeviceIndex field's value. +func (s *StartConnectionInput) SetNetworkInterfaceDeviceIndex(v int64) *StartConnectionInput { + s.NetworkInterfaceDeviceIndex = &v + return s +} + +type StartConnectionOutput struct { + _ struct{} `type:"structure"` + + // The ID of the connection. + ConnectionId *string `min:"1" type:"string"` + + // The underlay IP address. + UnderlayIpAddress *string `min:"7" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartConnectionOutput) GoString() string { + return s.String() +} + +// SetConnectionId sets the ConnectionId field's value. +func (s *StartConnectionOutput) SetConnectionId(v string) *StartConnectionOutput { + s.ConnectionId = &v + return s +} + +// SetUnderlayIpAddress sets the UnderlayIpAddress field's value. +func (s *StartConnectionOutput) SetUnderlayIpAddress(v string) *StartConnectionOutput { + s.UnderlayIpAddress = &v + return s +} + type TagResourceInput struct { _ struct{} `type:"structure"` diff --git a/service/outposts/outpostsiface/interface.go b/service/outposts/outpostsiface/interface.go index ec0e061512c..acd015c56a9 100644 --- a/service/outposts/outpostsiface/interface.go +++ b/service/outposts/outpostsiface/interface.go @@ -88,6 +88,10 @@ type OutpostsAPI interface { GetCatalogItemWithContext(aws.Context, *outposts.GetCatalogItemInput, ...request.Option) (*outposts.GetCatalogItemOutput, error) GetCatalogItemRequest(*outposts.GetCatalogItemInput) (*request.Request, *outposts.GetCatalogItemOutput) + GetConnection(*outposts.GetConnectionInput) (*outposts.GetConnectionOutput, error) + GetConnectionWithContext(aws.Context, *outposts.GetConnectionInput, ...request.Option) (*outposts.GetConnectionOutput, error) + GetConnectionRequest(*outposts.GetConnectionInput) (*request.Request, *outposts.GetConnectionOutput) + GetOrder(*outposts.GetOrderInput) (*outposts.GetOrderOutput, error) GetOrderWithContext(aws.Context, *outposts.GetOrderInput, ...request.Option) (*outposts.GetOrderOutput, error) GetOrderRequest(*outposts.GetOrderInput) (*request.Request, *outposts.GetOrderOutput) @@ -150,6 +154,10 @@ type OutpostsAPI interface { ListTagsForResourceWithContext(aws.Context, *outposts.ListTagsForResourceInput, ...request.Option) (*outposts.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*outposts.ListTagsForResourceInput) (*request.Request, *outposts.ListTagsForResourceOutput) + StartConnection(*outposts.StartConnectionInput) (*outposts.StartConnectionOutput, error) + StartConnectionWithContext(aws.Context, *outposts.StartConnectionInput, ...request.Option) (*outposts.StartConnectionOutput, error) + StartConnectionRequest(*outposts.StartConnectionInput) (*request.Request, *outposts.StartConnectionOutput) + TagResource(*outposts.TagResourceInput) (*outposts.TagResourceOutput, error) TagResourceWithContext(aws.Context, *outposts.TagResourceInput, ...request.Option) (*outposts.TagResourceOutput, error) TagResourceRequest(*outposts.TagResourceInput) (*request.Request, *outposts.TagResourceOutput)