// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package iotsecuretunneling import ( "fmt" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/private/protocol" "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) const opCloseTunnel = "CloseTunnel" // CloseTunnelRequest generates a "aws/request.Request" representing the // client's request for the CloseTunnel 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 CloseTunnel for more information on using the CloseTunnel // 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 CloseTunnelRequest method. // req, resp := client.CloseTunnelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/CloseTunnel func (c *IoTSecureTunneling) CloseTunnelRequest(input *CloseTunnelInput) (req *request.Request, output *CloseTunnelOutput) { op := &request.Operation{ Name: opCloseTunnel, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CloseTunnelInput{} } output = &CloseTunnelOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // CloseTunnel API operation for AWS IoT Secure Tunneling. // // Closes a tunnel identified by the unique tunnel id. When a CloseTunnel request // is received, we close the WebSocket connections between the client and proxy // server so no data can be transmitted. // // Requires permission to access the CloseTunnel (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) // action. // // 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 IoT Secure Tunneling's // API operation CloseTunnel for usage and error information. // // Returned Error Types: // - ResourceNotFoundException // Thrown when an operation is attempted on a resource that does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/CloseTunnel func (c *IoTSecureTunneling) CloseTunnel(input *CloseTunnelInput) (*CloseTunnelOutput, error) { req, out := c.CloseTunnelRequest(input) return out, req.Send() } // CloseTunnelWithContext is the same as CloseTunnel with the addition of // the ability to pass a context and additional request options. // // See CloseTunnel 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 *IoTSecureTunneling) CloseTunnelWithContext(ctx aws.Context, input *CloseTunnelInput, opts ...request.Option) (*CloseTunnelOutput, error) { req, out := c.CloseTunnelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeTunnel = "DescribeTunnel" // DescribeTunnelRequest generates a "aws/request.Request" representing the // client's request for the DescribeTunnel 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 DescribeTunnel for more information on using the DescribeTunnel // 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 DescribeTunnelRequest method. // req, resp := client.DescribeTunnelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/DescribeTunnel func (c *IoTSecureTunneling) DescribeTunnelRequest(input *DescribeTunnelInput) (req *request.Request, output *DescribeTunnelOutput) { op := &request.Operation{ Name: opDescribeTunnel, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DescribeTunnelInput{} } output = &DescribeTunnelOutput{} req = c.newRequest(op, input, output) return } // DescribeTunnel API operation for AWS IoT Secure Tunneling. // // Gets information about a tunnel identified by the unique tunnel id. // // Requires permission to access the DescribeTunnel (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) // action. // // 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 IoT Secure Tunneling's // API operation DescribeTunnel for usage and error information. // // Returned Error Types: // - ResourceNotFoundException // Thrown when an operation is attempted on a resource that does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/DescribeTunnel func (c *IoTSecureTunneling) DescribeTunnel(input *DescribeTunnelInput) (*DescribeTunnelOutput, error) { req, out := c.DescribeTunnelRequest(input) return out, req.Send() } // DescribeTunnelWithContext is the same as DescribeTunnel with the addition of // the ability to pass a context and additional request options. // // See DescribeTunnel 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 *IoTSecureTunneling) DescribeTunnelWithContext(ctx aws.Context, input *DescribeTunnelInput, opts ...request.Option) (*DescribeTunnelOutput, error) { req, out := c.DescribeTunnelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource // 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 ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/ListTagsForResource func (c *IoTSecureTunneling) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ Name: opListTagsForResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &ListTagsForResourceInput{} } output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } // ListTagsForResource API operation for AWS IoT Secure Tunneling. // // Lists the tags for the specified resource. // // 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 IoT Secure Tunneling's // API operation ListTagsForResource for usage and error information. // // Returned Error Types: // - ResourceNotFoundException // Thrown when an operation is attempted on a resource that does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/ListTagsForResource func (c *IoTSecureTunneling) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // // See ListTagsForResource 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 *IoTSecureTunneling) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opListTunnels = "ListTunnels" // ListTunnelsRequest generates a "aws/request.Request" representing the // client's request for the ListTunnels 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 ListTunnels for more information on using the ListTunnels // 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 ListTunnelsRequest method. // req, resp := client.ListTunnelsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/ListTunnels func (c *IoTSecureTunneling) ListTunnelsRequest(input *ListTunnelsInput) (req *request.Request, output *ListTunnelsOutput) { op := &request.Operation{ Name: opListTunnels, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListTunnelsInput{} } output = &ListTunnelsOutput{} req = c.newRequest(op, input, output) return } // ListTunnels API operation for AWS IoT Secure Tunneling. // // List all tunnels for an Amazon Web Services account. Tunnels are listed by // creation time in descending order, newer tunnels will be listed before older // tunnels. // // Requires permission to access the ListTunnels (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) // action. // // 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 IoT Secure Tunneling's // API operation ListTunnels for usage and error information. // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/ListTunnels func (c *IoTSecureTunneling) ListTunnels(input *ListTunnelsInput) (*ListTunnelsOutput, error) { req, out := c.ListTunnelsRequest(input) return out, req.Send() } // ListTunnelsWithContext is the same as ListTunnels with the addition of // the ability to pass a context and additional request options. // // See ListTunnels 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 *IoTSecureTunneling) ListTunnelsWithContext(ctx aws.Context, input *ListTunnelsInput, opts ...request.Option) (*ListTunnelsOutput, error) { req, out := c.ListTunnelsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListTunnelsPages iterates over the pages of a ListTunnels operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListTunnels method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListTunnels operation. // pageNum := 0 // err := client.ListTunnelsPages(params, // func(page *iotsecuretunneling.ListTunnelsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *IoTSecureTunneling) ListTunnelsPages(input *ListTunnelsInput, fn func(*ListTunnelsOutput, bool) bool) error { return c.ListTunnelsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListTunnelsPagesWithContext same as ListTunnelsPages except // it takes a Context and allows setting request options on the pages. // // 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 *IoTSecureTunneling) ListTunnelsPagesWithContext(ctx aws.Context, input *ListTunnelsInput, fn func(*ListTunnelsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListTunnelsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListTunnelsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListTunnelsOutput), !p.HasNextPage()) { break } } return p.Err() } const opOpenTunnel = "OpenTunnel" // OpenTunnelRequest generates a "aws/request.Request" representing the // client's request for the OpenTunnel 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 OpenTunnel for more information on using the OpenTunnel // 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 OpenTunnelRequest method. // req, resp := client.OpenTunnelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/OpenTunnel func (c *IoTSecureTunneling) OpenTunnelRequest(input *OpenTunnelInput) (req *request.Request, output *OpenTunnelOutput) { op := &request.Operation{ Name: opOpenTunnel, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &OpenTunnelInput{} } output = &OpenTunnelOutput{} req = c.newRequest(op, input, output) return } // OpenTunnel API operation for AWS IoT Secure Tunneling. // // Creates a new tunnel, and returns two client access tokens for clients to // use to connect to the IoT Secure Tunneling proxy server. // // Requires permission to access the OpenTunnel (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) // action. // // 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 IoT Secure Tunneling's // API operation OpenTunnel for usage and error information. // // Returned Error Types: // - LimitExceededException // Thrown when a tunnel limit is exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/OpenTunnel func (c *IoTSecureTunneling) OpenTunnel(input *OpenTunnelInput) (*OpenTunnelOutput, error) { req, out := c.OpenTunnelRequest(input) return out, req.Send() } // OpenTunnelWithContext is the same as OpenTunnel with the addition of // the ability to pass a context and additional request options. // // See OpenTunnel 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 *IoTSecureTunneling) OpenTunnelWithContext(ctx aws.Context, input *OpenTunnelInput, opts ...request.Option) (*OpenTunnelOutput, error) { req, out := c.OpenTunnelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opRotateTunnelAccessToken = "RotateTunnelAccessToken" // RotateTunnelAccessTokenRequest generates a "aws/request.Request" representing the // client's request for the RotateTunnelAccessToken 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 RotateTunnelAccessToken for more information on using the RotateTunnelAccessToken // 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 RotateTunnelAccessTokenRequest method. // req, resp := client.RotateTunnelAccessTokenRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken func (c *IoTSecureTunneling) RotateTunnelAccessTokenRequest(input *RotateTunnelAccessTokenInput) (req *request.Request, output *RotateTunnelAccessTokenOutput) { op := &request.Operation{ Name: opRotateTunnelAccessToken, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &RotateTunnelAccessTokenInput{} } output = &RotateTunnelAccessTokenOutput{} req = c.newRequest(op, input, output) return } // RotateTunnelAccessToken API operation for AWS IoT Secure Tunneling. // // Revokes the current client access token (CAT) and returns new CAT for clients // to use when reconnecting to secure tunneling to access the same tunnel. // // Requires permission to access the RotateTunnelAccessToken (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) // action. // // Rotating the CAT doesn't extend the tunnel duration. For example, say the // tunnel duration is 12 hours and the tunnel has already been open for 4 hours. // When you rotate the access tokens, the new tokens that are generated can // only be used for the remaining 8 hours. // // 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 IoT Secure Tunneling's // API operation RotateTunnelAccessToken for usage and error information. // // Returned Error Types: // - ResourceNotFoundException // Thrown when an operation is attempted on a resource that does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken func (c *IoTSecureTunneling) RotateTunnelAccessToken(input *RotateTunnelAccessTokenInput) (*RotateTunnelAccessTokenOutput, error) { req, out := c.RotateTunnelAccessTokenRequest(input) return out, req.Send() } // RotateTunnelAccessTokenWithContext is the same as RotateTunnelAccessToken with the addition of // the ability to pass a context and additional request options. // // See RotateTunnelAccessToken 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 *IoTSecureTunneling) RotateTunnelAccessTokenWithContext(ctx aws.Context, input *RotateTunnelAccessTokenInput, opts ...request.Option) (*RotateTunnelAccessTokenOutput, error) { req, out := c.RotateTunnelAccessTokenRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource 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 TagResource for more information on using the TagResource // 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 TagResourceRequest method. // req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/TagResource func (c *IoTSecureTunneling) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ Name: opTagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &TagResourceInput{} } output = &TagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // TagResource API operation for AWS IoT Secure Tunneling. // // A resource tag. // // 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 IoT Secure Tunneling's // API operation TagResource for usage and error information. // // Returned Error Types: // - ResourceNotFoundException // Thrown when an operation is attempted on a resource that does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/TagResource func (c *IoTSecureTunneling) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) return out, req.Send() } // TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // // See TagResource 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 *IoTSecureTunneling) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUntagResource = "UntagResource" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource 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 UntagResource for more information on using the UntagResource // 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 UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/UntagResource func (c *IoTSecureTunneling) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ Name: opUntagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &UntagResourceInput{} } output = &UntagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // UntagResource API operation for AWS IoT Secure Tunneling. // // Removes a tag from a resource. // // 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 IoT Secure Tunneling's // API operation UntagResource for usage and error information. // // Returned Error Types: // - ResourceNotFoundException // Thrown when an operation is attempted on a resource that does not exist. // // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/UntagResource func (c *IoTSecureTunneling) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) return out, req.Send() } // UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // // See UntagResource 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 *IoTSecureTunneling) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } type CloseTunnelInput struct { _ struct{} `type:"structure"` // When set to true, IoT Secure Tunneling deletes the tunnel data immediately. Delete *bool `locationName:"delete" type:"boolean"` // The ID of the tunnel to close. // // TunnelId is a required field TunnelId *string `locationName:"tunnelId" 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 CloseTunnelInput) 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 CloseTunnelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CloseTunnelInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CloseTunnelInput"} if s.TunnelId == nil { invalidParams.Add(request.NewErrParamRequired("TunnelId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetDelete sets the Delete field's value. func (s *CloseTunnelInput) SetDelete(v bool) *CloseTunnelInput { s.Delete = &v return s } // SetTunnelId sets the TunnelId field's value. func (s *CloseTunnelInput) SetTunnelId(v string) *CloseTunnelInput { s.TunnelId = &v return s } type CloseTunnelOutput struct { _ struct{} `type:"structure"` } // 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 CloseTunnelOutput) 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 CloseTunnelOutput) GoString() string { return s.String() } // The state of a connection. type ConnectionState struct { _ struct{} `type:"structure"` // The last time the connection status was updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // The connection status of the tunnel. Valid values are CONNECTED and DISCONNECTED. Status *string `locationName:"status" type:"string" enum:"ConnectionStatus"` } // 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 ConnectionState) 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 ConnectionState) GoString() string { return s.String() } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *ConnectionState) SetLastUpdatedAt(v time.Time) *ConnectionState { s.LastUpdatedAt = &v return s } // SetStatus sets the Status field's value. func (s *ConnectionState) SetStatus(v string) *ConnectionState { s.Status = &v return s } type DescribeTunnelInput struct { _ struct{} `type:"structure"` // The tunnel to describe. // // TunnelId is a required field TunnelId *string `locationName:"tunnelId" 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 DescribeTunnelInput) 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 DescribeTunnelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeTunnelInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeTunnelInput"} if s.TunnelId == nil { invalidParams.Add(request.NewErrParamRequired("TunnelId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetTunnelId sets the TunnelId field's value. func (s *DescribeTunnelInput) SetTunnelId(v string) *DescribeTunnelInput { s.TunnelId = &v return s } type DescribeTunnelOutput struct { _ struct{} `type:"structure"` // The tunnel being described. Tunnel *Tunnel `locationName:"tunnel" type:"structure"` } // 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 DescribeTunnelOutput) 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 DescribeTunnelOutput) GoString() string { return s.String() } // SetTunnel sets the Tunnel field's value. func (s *DescribeTunnelOutput) SetTunnel(v *Tunnel) *DescribeTunnelOutput { s.Tunnel = v return s } // The destination configuration. type DestinationConfig struct { _ struct{} `type:"structure"` // A list of service names that identify the target application. The IoT client // running on the destination device reads this value and uses it to look up // a port or an IP address and a port. The IoT client instantiates the local // proxy, which uses this information to connect to the destination application. // // Services is a required field Services []*string `locationName:"services" min:"1" type:"list" required:"true"` // The name of the IoT thing to which you want to connect. ThingName *string `locationName:"thingName" 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 DestinationConfig) 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 DestinationConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DestinationConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DestinationConfig"} if s.Services == nil { invalidParams.Add(request.NewErrParamRequired("Services")) } if s.Services != nil && len(s.Services) < 1 { invalidParams.Add(request.NewErrParamMinLen("Services", 1)) } if s.ThingName != nil && len(*s.ThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ThingName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetServices sets the Services field's value. func (s *DestinationConfig) SetServices(v []*string) *DestinationConfig { s.Services = v return s } // SetThingName sets the ThingName field's value. func (s *DestinationConfig) SetThingName(v string) *DestinationConfig { s.ThingName = &v return s } // Thrown when a tunnel limit is exceeded. type LimitExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" 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 LimitExceededException) 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 LimitExceededException) GoString() string { return s.String() } func newErrorLimitExceededException(v protocol.ResponseMetadata) error { return &LimitExceededException{ RespMetadata: v, } } // Code returns the exception type name. func (s *LimitExceededException) Code() string { return "LimitExceededException" } // Message returns the exception's message. func (s *LimitExceededException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *LimitExceededException) OrigErr() error { return nil } func (s *LimitExceededException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *LimitExceededException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *LimitExceededException) RequestID() string { return s.RespMetadata.RequestID } type ListTagsForResourceInput struct { _ struct{} `type:"structure"` // The resource ARN. // // ResourceArn is a required field ResourceArn *string `locationName:"resourceArn" 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 ListTagsForResourceInput) 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 ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListTagsForResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { s.ResourceArn = &v return s } type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` // The tags for the specified resource. Tags []*Tag `locationName:"tags" min:"1" type:"list"` } // 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 ListTagsForResourceOutput) 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 ListTagsForResourceOutput) GoString() string { return s.String() } // SetTags sets the Tags field's value. func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { s.Tags = v return s } type ListTunnelsInput struct { _ struct{} `type:"structure"` // The maximum number of results to return at once. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` // To retrieve the next set of results, the nextToken value from a previous // response; otherwise null to receive the first set of results. NextToken *string `locationName:"nextToken" type:"string"` // The name of the IoT thing associated with the destination device. ThingName *string `locationName:"thingName" 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 ListTunnelsInput) 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 ListTunnelsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListTunnelsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListTunnelsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.ThingName != nil && len(*s.ThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ThingName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxResults sets the MaxResults field's value. func (s *ListTunnelsInput) SetMaxResults(v int64) *ListTunnelsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListTunnelsInput) SetNextToken(v string) *ListTunnelsInput { s.NextToken = &v return s } // SetThingName sets the ThingName field's value. func (s *ListTunnelsInput) SetThingName(v string) *ListTunnelsInput { s.ThingName = &v return s } type ListTunnelsOutput struct { _ struct{} `type:"structure"` // The token to use to get the next set of results, or null if there are no // additional results. NextToken *string `locationName:"nextToken" type:"string"` // A short description of the tunnels in an Amazon Web Services account. TunnelSummaries []*TunnelSummary `locationName:"tunnelSummaries" type:"list"` } // 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 ListTunnelsOutput) 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 ListTunnelsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *ListTunnelsOutput) SetNextToken(v string) *ListTunnelsOutput { s.NextToken = &v return s } // SetTunnelSummaries sets the TunnelSummaries field's value. func (s *ListTunnelsOutput) SetTunnelSummaries(v []*TunnelSummary) *ListTunnelsOutput { s.TunnelSummaries = v return s } type OpenTunnelInput struct { _ struct{} `type:"structure"` // A short text description of the tunnel. Description *string `locationName:"description" type:"string"` // The destination configuration for the OpenTunnel request. DestinationConfig *DestinationConfig `locationName:"destinationConfig" type:"structure"` // A collection of tag metadata. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // Timeout configuration for a tunnel. TimeoutConfig *TimeoutConfig `locationName:"timeoutConfig" type:"structure"` } // 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 OpenTunnelInput) 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 OpenTunnelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *OpenTunnelInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "OpenTunnelInput"} if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if s.DestinationConfig != nil { if err := s.DestinationConfig.Validate(); err != nil { invalidParams.AddNested("DestinationConfig", err.(request.ErrInvalidParams)) } } if s.Tags != nil { for i, v := range s.Tags { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) } } } if s.TimeoutConfig != nil { if err := s.TimeoutConfig.Validate(); err != nil { invalidParams.AddNested("TimeoutConfig", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetDescription sets the Description field's value. func (s *OpenTunnelInput) SetDescription(v string) *OpenTunnelInput { s.Description = &v return s } // SetDestinationConfig sets the DestinationConfig field's value. func (s *OpenTunnelInput) SetDestinationConfig(v *DestinationConfig) *OpenTunnelInput { s.DestinationConfig = v return s } // SetTags sets the Tags field's value. func (s *OpenTunnelInput) SetTags(v []*Tag) *OpenTunnelInput { s.Tags = v return s } // SetTimeoutConfig sets the TimeoutConfig field's value. func (s *OpenTunnelInput) SetTimeoutConfig(v *TimeoutConfig) *OpenTunnelInput { s.TimeoutConfig = v return s } type OpenTunnelOutput struct { _ struct{} `type:"structure"` // The access token the destination local proxy uses to connect to IoT Secure // Tunneling. // // DestinationAccessToken is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by OpenTunnelOutput's // String and GoString methods. DestinationAccessToken *string `locationName:"destinationAccessToken" type:"string" sensitive:"true"` // The access token the source local proxy uses to connect to IoT Secure Tunneling. // // SourceAccessToken is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by OpenTunnelOutput's // String and GoString methods. SourceAccessToken *string `locationName:"sourceAccessToken" type:"string" sensitive:"true"` // The Amazon Resource Name for the tunnel. TunnelArn *string `locationName:"tunnelArn" min:"1" type:"string"` // A unique alpha-numeric tunnel ID. TunnelId *string `locationName:"tunnelId" 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 OpenTunnelOutput) 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 OpenTunnelOutput) GoString() string { return s.String() } // SetDestinationAccessToken sets the DestinationAccessToken field's value. func (s *OpenTunnelOutput) SetDestinationAccessToken(v string) *OpenTunnelOutput { s.DestinationAccessToken = &v return s } // SetSourceAccessToken sets the SourceAccessToken field's value. func (s *OpenTunnelOutput) SetSourceAccessToken(v string) *OpenTunnelOutput { s.SourceAccessToken = &v return s } // SetTunnelArn sets the TunnelArn field's value. func (s *OpenTunnelOutput) SetTunnelArn(v string) *OpenTunnelOutput { s.TunnelArn = &v return s } // SetTunnelId sets the TunnelId field's value. func (s *OpenTunnelOutput) SetTunnelId(v string) *OpenTunnelOutput { s.TunnelId = &v return s } // Thrown when an operation is attempted on a resource that does not exist. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" 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 ResourceNotFoundException) 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 ResourceNotFoundException) GoString() string { return s.String() } func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { return &ResourceNotFoundException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ResourceNotFoundException) Code() string { return "ResourceNotFoundException" } // Message returns the exception's message. func (s *ResourceNotFoundException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ResourceNotFoundException) OrigErr() error { return nil } func (s *ResourceNotFoundException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *ResourceNotFoundException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } type RotateTunnelAccessTokenInput struct { _ struct{} `type:"structure"` // The mode of the client that will use the client token, which can be either // the source or destination, or both source and destination. // // ClientMode is a required field ClientMode *string `locationName:"clientMode" type:"string" required:"true" enum:"ClientMode"` // The destination configuration. DestinationConfig *DestinationConfig `locationName:"destinationConfig" type:"structure"` // The tunnel for which you want to rotate the access tokens. // // TunnelId is a required field TunnelId *string `locationName:"tunnelId" 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 RotateTunnelAccessTokenInput) 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 RotateTunnelAccessTokenInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RotateTunnelAccessTokenInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RotateTunnelAccessTokenInput"} if s.ClientMode == nil { invalidParams.Add(request.NewErrParamRequired("ClientMode")) } if s.TunnelId == nil { invalidParams.Add(request.NewErrParamRequired("TunnelId")) } if s.DestinationConfig != nil { if err := s.DestinationConfig.Validate(); err != nil { invalidParams.AddNested("DestinationConfig", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientMode sets the ClientMode field's value. func (s *RotateTunnelAccessTokenInput) SetClientMode(v string) *RotateTunnelAccessTokenInput { s.ClientMode = &v return s } // SetDestinationConfig sets the DestinationConfig field's value. func (s *RotateTunnelAccessTokenInput) SetDestinationConfig(v *DestinationConfig) *RotateTunnelAccessTokenInput { s.DestinationConfig = v return s } // SetTunnelId sets the TunnelId field's value. func (s *RotateTunnelAccessTokenInput) SetTunnelId(v string) *RotateTunnelAccessTokenInput { s.TunnelId = &v return s } type RotateTunnelAccessTokenOutput struct { _ struct{} `type:"structure"` // The client access token that the destination local proxy uses to connect // to IoT Secure Tunneling. // // DestinationAccessToken is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by RotateTunnelAccessTokenOutput's // String and GoString methods. DestinationAccessToken *string `locationName:"destinationAccessToken" type:"string" sensitive:"true"` // The client access token that the source local proxy uses to connect to IoT // Secure Tunneling. // // SourceAccessToken is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by RotateTunnelAccessTokenOutput's // String and GoString methods. SourceAccessToken *string `locationName:"sourceAccessToken" type:"string" sensitive:"true"` // The Amazon Resource Name for the tunnel. TunnelArn *string `locationName:"tunnelArn" 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 RotateTunnelAccessTokenOutput) 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 RotateTunnelAccessTokenOutput) GoString() string { return s.String() } // SetDestinationAccessToken sets the DestinationAccessToken field's value. func (s *RotateTunnelAccessTokenOutput) SetDestinationAccessToken(v string) *RotateTunnelAccessTokenOutput { s.DestinationAccessToken = &v return s } // SetSourceAccessToken sets the SourceAccessToken field's value. func (s *RotateTunnelAccessTokenOutput) SetSourceAccessToken(v string) *RotateTunnelAccessTokenOutput { s.SourceAccessToken = &v return s } // SetTunnelArn sets the TunnelArn field's value. func (s *RotateTunnelAccessTokenOutput) SetTunnelArn(v string) *RotateTunnelAccessTokenOutput { s.TunnelArn = &v return s } // An arbitary key/value pair used to add searchable metadata to secure tunnel // resources. type Tag struct { _ struct{} `type:"structure"` // The key of the tag. // // Key is a required field Key *string `locationName:"key" min:"1" type:"string" required:"true"` // The value of the tag. // // Value is a required field Value *string `locationName:"value" 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 Tag) 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 Tag) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Tag) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Tag"} if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if s.Value == nil { invalidParams.Add(request.NewErrParamRequired("Value")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetKey sets the Key field's value. func (s *Tag) SetKey(v string) *Tag { s.Key = &v return s } // SetValue sets the Value field's value. func (s *Tag) SetValue(v string) *Tag { s.Value = &v return s } type TagResourceInput struct { _ struct{} `type:"structure"` // The ARN of the resource. // // ResourceArn is a required field ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` // The tags for the resource. // // Tags is a required field Tags []*Tag `locationName:"tags" min:"1" type:"list" 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 TagResourceInput) 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 TagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TagResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if s.Tags == nil { invalidParams.Add(request.NewErrParamRequired("Tags")) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if s.Tags != nil { for i, v := range s.Tags { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { s.ResourceArn = &v return s } // SetTags sets the Tags field's value. func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { s.Tags = v return s } type TagResourceOutput struct { _ struct{} `type:"structure"` } // 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 TagResourceOutput) 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 TagResourceOutput) GoString() string { return s.String() } // Tunnel timeout configuration. type TimeoutConfig struct { _ struct{} `type:"structure"` // The maximum amount of time (in minutes) a tunnel can remain open. If not // specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values // are from 1 minute to 12 hours (720 minutes) MaxLifetimeTimeoutMinutes *int64 `locationName:"maxLifetimeTimeoutMinutes" min:"1" type:"integer"` } // 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 TimeoutConfig) 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 TimeoutConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TimeoutConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TimeoutConfig"} if s.MaxLifetimeTimeoutMinutes != nil && *s.MaxLifetimeTimeoutMinutes < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxLifetimeTimeoutMinutes", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxLifetimeTimeoutMinutes sets the MaxLifetimeTimeoutMinutes field's value. func (s *TimeoutConfig) SetMaxLifetimeTimeoutMinutes(v int64) *TimeoutConfig { s.MaxLifetimeTimeoutMinutes = &v return s } // A connection between a source computer and a destination device. type Tunnel struct { _ struct{} `type:"structure"` // The time when the tunnel was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` // A description of the tunnel. Description *string `locationName:"description" type:"string"` // The destination configuration that specifies the thing name of the destination // device and a service name that the local proxy uses to connect to the destination // application. DestinationConfig *DestinationConfig `locationName:"destinationConfig" type:"structure"` // The connection state of the destination application. DestinationConnectionState *ConnectionState `locationName:"destinationConnectionState" type:"structure"` // The last time the tunnel was updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // The connection state of the source application. SourceConnectionState *ConnectionState `locationName:"sourceConnectionState" type:"structure"` // The status of a tunnel. Valid values are: Open and Closed. Status *string `locationName:"status" type:"string" enum:"TunnelStatus"` // A list of tag metadata associated with the secure tunnel. Tags []*Tag `locationName:"tags" min:"1" type:"list"` // Timeout configuration for the tunnel. TimeoutConfig *TimeoutConfig `locationName:"timeoutConfig" type:"structure"` // The Amazon Resource Name (ARN) of a tunnel. TunnelArn *string `locationName:"tunnelArn" min:"1" type:"string"` // A unique alpha-numeric ID that identifies a tunnel. TunnelId *string `locationName:"tunnelId" 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 Tunnel) 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 Tunnel) GoString() string { return s.String() } // SetCreatedAt sets the CreatedAt field's value. func (s *Tunnel) SetCreatedAt(v time.Time) *Tunnel { s.CreatedAt = &v return s } // SetDescription sets the Description field's value. func (s *Tunnel) SetDescription(v string) *Tunnel { s.Description = &v return s } // SetDestinationConfig sets the DestinationConfig field's value. func (s *Tunnel) SetDestinationConfig(v *DestinationConfig) *Tunnel { s.DestinationConfig = v return s } // SetDestinationConnectionState sets the DestinationConnectionState field's value. func (s *Tunnel) SetDestinationConnectionState(v *ConnectionState) *Tunnel { s.DestinationConnectionState = v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *Tunnel) SetLastUpdatedAt(v time.Time) *Tunnel { s.LastUpdatedAt = &v return s } // SetSourceConnectionState sets the SourceConnectionState field's value. func (s *Tunnel) SetSourceConnectionState(v *ConnectionState) *Tunnel { s.SourceConnectionState = v return s } // SetStatus sets the Status field's value. func (s *Tunnel) SetStatus(v string) *Tunnel { s.Status = &v return s } // SetTags sets the Tags field's value. func (s *Tunnel) SetTags(v []*Tag) *Tunnel { s.Tags = v return s } // SetTimeoutConfig sets the TimeoutConfig field's value. func (s *Tunnel) SetTimeoutConfig(v *TimeoutConfig) *Tunnel { s.TimeoutConfig = v return s } // SetTunnelArn sets the TunnelArn field's value. func (s *Tunnel) SetTunnelArn(v string) *Tunnel { s.TunnelArn = &v return s } // SetTunnelId sets the TunnelId field's value. func (s *Tunnel) SetTunnelId(v string) *Tunnel { s.TunnelId = &v return s } // Information about the tunnel. type TunnelSummary struct { _ struct{} `type:"structure"` // The time the tunnel was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` // A description of the tunnel. Description *string `locationName:"description" type:"string"` // The time the tunnel was last updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // The status of a tunnel. Valid values are: Open and Closed. Status *string `locationName:"status" type:"string" enum:"TunnelStatus"` // The Amazon Resource Name of the tunnel. TunnelArn *string `locationName:"tunnelArn" min:"1" type:"string"` // The unique alpha-numeric identifier for the tunnel. TunnelId *string `locationName:"tunnelId" 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 TunnelSummary) 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 TunnelSummary) GoString() string { return s.String() } // SetCreatedAt sets the CreatedAt field's value. func (s *TunnelSummary) SetCreatedAt(v time.Time) *TunnelSummary { s.CreatedAt = &v return s } // SetDescription sets the Description field's value. func (s *TunnelSummary) SetDescription(v string) *TunnelSummary { s.Description = &v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *TunnelSummary) SetLastUpdatedAt(v time.Time) *TunnelSummary { s.LastUpdatedAt = &v return s } // SetStatus sets the Status field's value. func (s *TunnelSummary) SetStatus(v string) *TunnelSummary { s.Status = &v return s } // SetTunnelArn sets the TunnelArn field's value. func (s *TunnelSummary) SetTunnelArn(v string) *TunnelSummary { s.TunnelArn = &v return s } // SetTunnelId sets the TunnelId field's value. func (s *TunnelSummary) SetTunnelId(v string) *TunnelSummary { s.TunnelId = &v return s } type UntagResourceInput struct { _ struct{} `type:"structure"` // The resource ARN. // // ResourceArn is a required field ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` // The keys of the tags to remove. // // TagKeys is a required field TagKeys []*string `locationName:"tagKeys" type:"list" 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 UntagResourceInput) 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 UntagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UntagResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if s.TagKeys == nil { invalidParams.Add(request.NewErrParamRequired("TagKeys")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { s.ResourceArn = &v return s } // SetTagKeys sets the TagKeys field's value. func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { s.TagKeys = v return s } type UntagResourceOutput struct { _ struct{} `type:"structure"` } // 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 UntagResourceOutput) 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 UntagResourceOutput) GoString() string { return s.String() } const ( // ClientModeSource is a ClientMode enum value ClientModeSource = "SOURCE" // ClientModeDestination is a ClientMode enum value ClientModeDestination = "DESTINATION" // ClientModeAll is a ClientMode enum value ClientModeAll = "ALL" ) // ClientMode_Values returns all elements of the ClientMode enum func ClientMode_Values() []string { return []string{ ClientModeSource, ClientModeDestination, ClientModeAll, } } const ( // ConnectionStatusConnected is a ConnectionStatus enum value ConnectionStatusConnected = "CONNECTED" // ConnectionStatusDisconnected is a ConnectionStatus enum value ConnectionStatusDisconnected = "DISCONNECTED" ) // ConnectionStatus_Values returns all elements of the ConnectionStatus enum func ConnectionStatus_Values() []string { return []string{ ConnectionStatusConnected, ConnectionStatusDisconnected, } } const ( // TunnelStatusOpen is a TunnelStatus enum value TunnelStatusOpen = "OPEN" // TunnelStatusClosed is a TunnelStatus enum value TunnelStatusClosed = "CLOSED" ) // TunnelStatus_Values returns all elements of the TunnelStatus enum func TunnelStatus_Values() []string { return []string{ TunnelStatusOpen, TunnelStatusClosed, } }