// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package appmesh 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/restjson" ) const opCreateGatewayRoute = "CreateGatewayRoute" // CreateGatewayRouteRequest generates a "aws/request.Request" representing the // client's request for the CreateGatewayRoute 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 CreateGatewayRoute for more information on using the CreateGatewayRoute // 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 CreateGatewayRouteRequest method. // req, resp := client.CreateGatewayRouteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute func (c *AppMesh) CreateGatewayRouteRequest(input *CreateGatewayRouteInput) (req *request.Request, output *CreateGatewayRouteOutput) { op := &request.Operation{ Name: opCreateGatewayRoute, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes", } if input == nil { input = &CreateGatewayRouteInput{} } output = &CreateGatewayRouteOutput{} req = c.newRequest(op, input, output) return } // CreateGatewayRoute API operation for AWS App Mesh. // // Creates a gateway route. // // A gateway route is attached to a virtual gateway and routes traffic to an // existing virtual service. If a route matches a request, it can distribute // traffic to a target virtual service. // // For more information about gateway routes, see Gateway routes (https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html). // // 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 App Mesh's // API operation CreateGatewayRoute for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute func (c *AppMesh) CreateGatewayRoute(input *CreateGatewayRouteInput) (*CreateGatewayRouteOutput, error) { req, out := c.CreateGatewayRouteRequest(input) return out, req.Send() } // CreateGatewayRouteWithContext is the same as CreateGatewayRoute with the addition of // the ability to pass a context and additional request options. // // See CreateGatewayRoute 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 *AppMesh) CreateGatewayRouteWithContext(ctx aws.Context, input *CreateGatewayRouteInput, opts ...request.Option) (*CreateGatewayRouteOutput, error) { req, out := c.CreateGatewayRouteRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCreateMesh = "CreateMesh" // CreateMeshRequest generates a "aws/request.Request" representing the // client's request for the CreateMesh 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 CreateMesh for more information on using the CreateMesh // 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 CreateMeshRequest method. // req, resp := client.CreateMeshRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh func (c *AppMesh) CreateMeshRequest(input *CreateMeshInput) (req *request.Request, output *CreateMeshOutput) { op := &request.Operation{ Name: opCreateMesh, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes", } if input == nil { input = &CreateMeshInput{} } output = &CreateMeshOutput{} req = c.newRequest(op, input, output) return } // CreateMesh API operation for AWS App Mesh. // // Creates a service mesh. // // A service mesh is a logical boundary for network traffic between services // that are represented by resources within the mesh. After you create your // service mesh, you can create virtual services, virtual nodes, virtual routers, // and routes to distribute traffic between the applications in your mesh. // // For more information about service meshes, see Service meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/meshes.html). // // 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 App Mesh's // API operation CreateMesh for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh func (c *AppMesh) CreateMesh(input *CreateMeshInput) (*CreateMeshOutput, error) { req, out := c.CreateMeshRequest(input) return out, req.Send() } // CreateMeshWithContext is the same as CreateMesh with the addition of // the ability to pass a context and additional request options. // // See CreateMesh 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 *AppMesh) CreateMeshWithContext(ctx aws.Context, input *CreateMeshInput, opts ...request.Option) (*CreateMeshOutput, error) { req, out := c.CreateMeshRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCreateRoute = "CreateRoute" // CreateRouteRequest generates a "aws/request.Request" representing the // client's request for the CreateRoute 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 CreateRoute for more information on using the CreateRoute // 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 CreateRouteRequest method. // req, resp := client.CreateRouteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRoute func (c *AppMesh) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) { op := &request.Operation{ Name: opCreateRoute, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", } if input == nil { input = &CreateRouteInput{} } output = &CreateRouteOutput{} req = c.newRequest(op, input, output) return } // CreateRoute API operation for AWS App Mesh. // // Creates a route that is associated with a virtual router. // // You can route several different protocols and define a retry policy for a // route. Traffic can be routed to one or more virtual nodes. // // For more information about routes, see Routes (https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html). // // 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 App Mesh's // API operation CreateRoute for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRoute func (c *AppMesh) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) { req, out := c.CreateRouteRequest(input) return out, req.Send() } // CreateRouteWithContext is the same as CreateRoute with the addition of // the ability to pass a context and additional request options. // // See CreateRoute 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 *AppMesh) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) { req, out := c.CreateRouteRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCreateVirtualGateway = "CreateVirtualGateway" // CreateVirtualGatewayRequest generates a "aws/request.Request" representing the // client's request for the CreateVirtualGateway 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 CreateVirtualGateway for more information on using the CreateVirtualGateway // 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 CreateVirtualGatewayRequest method. // req, resp := client.CreateVirtualGatewayRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway func (c *AppMesh) CreateVirtualGatewayRequest(input *CreateVirtualGatewayInput) (req *request.Request, output *CreateVirtualGatewayOutput) { op := &request.Operation{ Name: opCreateVirtualGateway, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways", } if input == nil { input = &CreateVirtualGatewayInput{} } output = &CreateVirtualGatewayOutput{} req = c.newRequest(op, input, output) return } // CreateVirtualGateway API operation for AWS App Mesh. // // Creates a virtual gateway. // // A virtual gateway allows resources outside your mesh to communicate to resources // that are inside your mesh. The virtual gateway represents an Envoy proxy // running in an Amazon ECS task, in a Kubernetes service, or on an Amazon EC2 // instance. Unlike a virtual node, which represents an Envoy running with an // application, a virtual gateway represents Envoy deployed by itself. // // For more information about virtual gateways, see Virtual gateways (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html). // // 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 App Mesh's // API operation CreateVirtualGateway for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway func (c *AppMesh) CreateVirtualGateway(input *CreateVirtualGatewayInput) (*CreateVirtualGatewayOutput, error) { req, out := c.CreateVirtualGatewayRequest(input) return out, req.Send() } // CreateVirtualGatewayWithContext is the same as CreateVirtualGateway with the addition of // the ability to pass a context and additional request options. // // See CreateVirtualGateway 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 *AppMesh) CreateVirtualGatewayWithContext(ctx aws.Context, input *CreateVirtualGatewayInput, opts ...request.Option) (*CreateVirtualGatewayOutput, error) { req, out := c.CreateVirtualGatewayRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCreateVirtualNode = "CreateVirtualNode" // CreateVirtualNodeRequest generates a "aws/request.Request" representing the // client's request for the CreateVirtualNode 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 CreateVirtualNode for more information on using the CreateVirtualNode // 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 CreateVirtualNodeRequest method. // req, resp := client.CreateVirtualNodeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode func (c *AppMesh) CreateVirtualNodeRequest(input *CreateVirtualNodeInput) (req *request.Request, output *CreateVirtualNodeOutput) { op := &request.Operation{ Name: opCreateVirtualNode, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes", } if input == nil { input = &CreateVirtualNodeInput{} } output = &CreateVirtualNodeOutput{} req = c.newRequest(op, input, output) return } // CreateVirtualNode API operation for AWS App Mesh. // // Creates a virtual node within a service mesh. // // A virtual node acts as a logical pointer to a particular task group, such // as an Amazon ECS service or a Kubernetes deployment. When you create a virtual // node, you can specify the service discovery information for your task group, // and whether the proxy running in a task group will communicate with other // proxies using Transport Layer Security (TLS). // // You define a listener for any inbound traffic that your virtual node expects. // Any virtual service that your virtual node expects to communicate to is specified // as a backend. // // The response metadata for your new virtual node contains the arn that is // associated with the virtual node. Set this value to the full ARN; for example, // arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp) // as the APPMESH_RESOURCE_ARN environment variable for your task group's Envoy // proxy container in your task definition or pod spec. This is then mapped // to the node.id and node.cluster Envoy parameters. // // By default, App Mesh uses the name of the resource you specified in APPMESH_RESOURCE_ARN // when Envoy is referring to itself in metrics and traces. You can override // this behavior by setting the APPMESH_RESOURCE_CLUSTER environment variable // with your own name. // // For more information about virtual nodes, see Virtual nodes (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html). // You must be using 1.15.0 or later of the Envoy image when setting these variables. // For more information aboutApp Mesh Envoy variables, see Envoy image (https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html) // in the App Mesh 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 App Mesh's // API operation CreateVirtualNode for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode func (c *AppMesh) CreateVirtualNode(input *CreateVirtualNodeInput) (*CreateVirtualNodeOutput, error) { req, out := c.CreateVirtualNodeRequest(input) return out, req.Send() } // CreateVirtualNodeWithContext is the same as CreateVirtualNode with the addition of // the ability to pass a context and additional request options. // // See CreateVirtualNode 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 *AppMesh) CreateVirtualNodeWithContext(ctx aws.Context, input *CreateVirtualNodeInput, opts ...request.Option) (*CreateVirtualNodeOutput, error) { req, out := c.CreateVirtualNodeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCreateVirtualRouter = "CreateVirtualRouter" // CreateVirtualRouterRequest generates a "aws/request.Request" representing the // client's request for the CreateVirtualRouter 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 CreateVirtualRouter for more information on using the CreateVirtualRouter // 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 CreateVirtualRouterRequest method. // req, resp := client.CreateVirtualRouterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter func (c *AppMesh) CreateVirtualRouterRequest(input *CreateVirtualRouterInput) (req *request.Request, output *CreateVirtualRouterOutput) { op := &request.Operation{ Name: opCreateVirtualRouter, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters", } if input == nil { input = &CreateVirtualRouterInput{} } output = &CreateVirtualRouterOutput{} req = c.newRequest(op, input, output) return } // CreateVirtualRouter API operation for AWS App Mesh. // // Creates a virtual router within a service mesh. // // Specify a listener for any inbound traffic that your virtual router receives. // Create a virtual router for each protocol and port that you need to route. // Virtual routers handle traffic for one or more virtual services within your // mesh. After you create your virtual router, create and associate routes for // your virtual router that direct incoming requests to different virtual nodes. // // For more information about virtual routers, see Virtual routers (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_routers.html). // // 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 App Mesh's // API operation CreateVirtualRouter for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter func (c *AppMesh) CreateVirtualRouter(input *CreateVirtualRouterInput) (*CreateVirtualRouterOutput, error) { req, out := c.CreateVirtualRouterRequest(input) return out, req.Send() } // CreateVirtualRouterWithContext is the same as CreateVirtualRouter with the addition of // the ability to pass a context and additional request options. // // See CreateVirtualRouter 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 *AppMesh) CreateVirtualRouterWithContext(ctx aws.Context, input *CreateVirtualRouterInput, opts ...request.Option) (*CreateVirtualRouterOutput, error) { req, out := c.CreateVirtualRouterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCreateVirtualService = "CreateVirtualService" // CreateVirtualServiceRequest generates a "aws/request.Request" representing the // client's request for the CreateVirtualService 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 CreateVirtualService for more information on using the CreateVirtualService // 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 CreateVirtualServiceRequest method. // req, resp := client.CreateVirtualServiceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService func (c *AppMesh) CreateVirtualServiceRequest(input *CreateVirtualServiceInput) (req *request.Request, output *CreateVirtualServiceOutput) { op := &request.Operation{ Name: opCreateVirtualService, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualServices", } if input == nil { input = &CreateVirtualServiceInput{} } output = &CreateVirtualServiceOutput{} req = c.newRequest(op, input, output) return } // CreateVirtualService API operation for AWS App Mesh. // // Creates a virtual service within a service mesh. // // A virtual service is an abstraction of a real service that is provided by // a virtual node directly or indirectly by means of a virtual router. Dependent // services call your virtual service by its virtualServiceName, and those requests // are routed to the virtual node or virtual router that is specified as the // provider for the virtual service. // // For more information about virtual services, see Virtual services (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html). // // 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 App Mesh's // API operation CreateVirtualService for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService func (c *AppMesh) CreateVirtualService(input *CreateVirtualServiceInput) (*CreateVirtualServiceOutput, error) { req, out := c.CreateVirtualServiceRequest(input) return out, req.Send() } // CreateVirtualServiceWithContext is the same as CreateVirtualService with the addition of // the ability to pass a context and additional request options. // // See CreateVirtualService 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 *AppMesh) CreateVirtualServiceWithContext(ctx aws.Context, input *CreateVirtualServiceInput, opts ...request.Option) (*CreateVirtualServiceOutput, error) { req, out := c.CreateVirtualServiceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteGatewayRoute = "DeleteGatewayRoute" // DeleteGatewayRouteRequest generates a "aws/request.Request" representing the // client's request for the DeleteGatewayRoute 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 DeleteGatewayRoute for more information on using the DeleteGatewayRoute // 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 DeleteGatewayRouteRequest method. // req, resp := client.DeleteGatewayRouteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute func (c *AppMesh) DeleteGatewayRouteRequest(input *DeleteGatewayRouteInput) (req *request.Request, output *DeleteGatewayRouteOutput) { op := &request.Operation{ Name: opDeleteGatewayRoute, HTTPMethod: "DELETE", HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", } if input == nil { input = &DeleteGatewayRouteInput{} } output = &DeleteGatewayRouteOutput{} req = c.newRequest(op, input, output) return } // DeleteGatewayRoute API operation for AWS App Mesh. // // Deletes an existing gateway route. // // 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 App Mesh's // API operation DeleteGatewayRoute for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ResourceInUseException // You can't delete the specified resource because it's in use or required by // another resource. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute func (c *AppMesh) DeleteGatewayRoute(input *DeleteGatewayRouteInput) (*DeleteGatewayRouteOutput, error) { req, out := c.DeleteGatewayRouteRequest(input) return out, req.Send() } // DeleteGatewayRouteWithContext is the same as DeleteGatewayRoute with the addition of // the ability to pass a context and additional request options. // // See DeleteGatewayRoute 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 *AppMesh) DeleteGatewayRouteWithContext(ctx aws.Context, input *DeleteGatewayRouteInput, opts ...request.Option) (*DeleteGatewayRouteOutput, error) { req, out := c.DeleteGatewayRouteRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteMesh = "DeleteMesh" // DeleteMeshRequest generates a "aws/request.Request" representing the // client's request for the DeleteMesh 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 DeleteMesh for more information on using the DeleteMesh // 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 DeleteMeshRequest method. // req, resp := client.DeleteMeshRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh func (c *AppMesh) DeleteMeshRequest(input *DeleteMeshInput) (req *request.Request, output *DeleteMeshOutput) { op := &request.Operation{ Name: opDeleteMesh, HTTPMethod: "DELETE", HTTPPath: "/v20190125/meshes/{meshName}", } if input == nil { input = &DeleteMeshInput{} } output = &DeleteMeshOutput{} req = c.newRequest(op, input, output) return } // DeleteMesh API operation for AWS App Mesh. // // Deletes an existing service mesh. // // You must delete all resources (virtual services, routes, virtual routers, // and virtual nodes) in the service mesh before you can delete the mesh itself. // // 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 App Mesh's // API operation DeleteMesh for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ResourceInUseException // You can't delete the specified resource because it's in use or required by // another resource. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh func (c *AppMesh) DeleteMesh(input *DeleteMeshInput) (*DeleteMeshOutput, error) { req, out := c.DeleteMeshRequest(input) return out, req.Send() } // DeleteMeshWithContext is the same as DeleteMesh with the addition of // the ability to pass a context and additional request options. // // See DeleteMesh 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 *AppMesh) DeleteMeshWithContext(ctx aws.Context, input *DeleteMeshInput, opts ...request.Option) (*DeleteMeshOutput, error) { req, out := c.DeleteMeshRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteRoute = "DeleteRoute" // DeleteRouteRequest generates a "aws/request.Request" representing the // client's request for the DeleteRoute 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 DeleteRoute for more information on using the DeleteRoute // 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 DeleteRouteRequest method. // req, resp := client.DeleteRouteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute func (c *AppMesh) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) { op := &request.Operation{ Name: opDeleteRoute, HTTPMethod: "DELETE", HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", } if input == nil { input = &DeleteRouteInput{} } output = &DeleteRouteOutput{} req = c.newRequest(op, input, output) return } // DeleteRoute API operation for AWS App Mesh. // // Deletes an existing route. // // 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 App Mesh's // API operation DeleteRoute for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ResourceInUseException // You can't delete the specified resource because it's in use or required by // another resource. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute func (c *AppMesh) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) { req, out := c.DeleteRouteRequest(input) return out, req.Send() } // DeleteRouteWithContext is the same as DeleteRoute with the addition of // the ability to pass a context and additional request options. // // See DeleteRoute 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 *AppMesh) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) { req, out := c.DeleteRouteRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteVirtualGateway = "DeleteVirtualGateway" // DeleteVirtualGatewayRequest generates a "aws/request.Request" representing the // client's request for the DeleteVirtualGateway 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 DeleteVirtualGateway for more information on using the DeleteVirtualGateway // 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 DeleteVirtualGatewayRequest method. // req, resp := client.DeleteVirtualGatewayRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway func (c *AppMesh) DeleteVirtualGatewayRequest(input *DeleteVirtualGatewayInput) (req *request.Request, output *DeleteVirtualGatewayOutput) { op := &request.Operation{ Name: opDeleteVirtualGateway, HTTPMethod: "DELETE", HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", } if input == nil { input = &DeleteVirtualGatewayInput{} } output = &DeleteVirtualGatewayOutput{} req = c.newRequest(op, input, output) return } // DeleteVirtualGateway API operation for AWS App Mesh. // // Deletes an existing virtual gateway. You cannot delete a virtual gateway // if any gateway routes are associated to it. // // 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 App Mesh's // API operation DeleteVirtualGateway for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ResourceInUseException // You can't delete the specified resource because it's in use or required by // another resource. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway func (c *AppMesh) DeleteVirtualGateway(input *DeleteVirtualGatewayInput) (*DeleteVirtualGatewayOutput, error) { req, out := c.DeleteVirtualGatewayRequest(input) return out, req.Send() } // DeleteVirtualGatewayWithContext is the same as DeleteVirtualGateway with the addition of // the ability to pass a context and additional request options. // // See DeleteVirtualGateway 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 *AppMesh) DeleteVirtualGatewayWithContext(ctx aws.Context, input *DeleteVirtualGatewayInput, opts ...request.Option) (*DeleteVirtualGatewayOutput, error) { req, out := c.DeleteVirtualGatewayRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteVirtualNode = "DeleteVirtualNode" // DeleteVirtualNodeRequest generates a "aws/request.Request" representing the // client's request for the DeleteVirtualNode 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 DeleteVirtualNode for more information on using the DeleteVirtualNode // 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 DeleteVirtualNodeRequest method. // req, resp := client.DeleteVirtualNodeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode func (c *AppMesh) DeleteVirtualNodeRequest(input *DeleteVirtualNodeInput) (req *request.Request, output *DeleteVirtualNodeOutput) { op := &request.Operation{ Name: opDeleteVirtualNode, HTTPMethod: "DELETE", HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", } if input == nil { input = &DeleteVirtualNodeInput{} } output = &DeleteVirtualNodeOutput{} req = c.newRequest(op, input, output) return } // DeleteVirtualNode API operation for AWS App Mesh. // // Deletes an existing virtual node. // // You must delete any virtual services that list a virtual node as a service // provider before you can delete the virtual node itself. // // 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 App Mesh's // API operation DeleteVirtualNode for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ResourceInUseException // You can't delete the specified resource because it's in use or required by // another resource. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode func (c *AppMesh) DeleteVirtualNode(input *DeleteVirtualNodeInput) (*DeleteVirtualNodeOutput, error) { req, out := c.DeleteVirtualNodeRequest(input) return out, req.Send() } // DeleteVirtualNodeWithContext is the same as DeleteVirtualNode with the addition of // the ability to pass a context and additional request options. // // See DeleteVirtualNode 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 *AppMesh) DeleteVirtualNodeWithContext(ctx aws.Context, input *DeleteVirtualNodeInput, opts ...request.Option) (*DeleteVirtualNodeOutput, error) { req, out := c.DeleteVirtualNodeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteVirtualRouter = "DeleteVirtualRouter" // DeleteVirtualRouterRequest generates a "aws/request.Request" representing the // client's request for the DeleteVirtualRouter 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 DeleteVirtualRouter for more information on using the DeleteVirtualRouter // 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 DeleteVirtualRouterRequest method. // req, resp := client.DeleteVirtualRouterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouter func (c *AppMesh) DeleteVirtualRouterRequest(input *DeleteVirtualRouterInput) (req *request.Request, output *DeleteVirtualRouterOutput) { op := &request.Operation{ Name: opDeleteVirtualRouter, HTTPMethod: "DELETE", HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", } if input == nil { input = &DeleteVirtualRouterInput{} } output = &DeleteVirtualRouterOutput{} req = c.newRequest(op, input, output) return } // DeleteVirtualRouter API operation for AWS App Mesh. // // Deletes an existing virtual router. // // You must delete any routes associated with the virtual router before you // can delete the router itself. // // 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 App Mesh's // API operation DeleteVirtualRouter for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ResourceInUseException // You can't delete the specified resource because it's in use or required by // another resource. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouter func (c *AppMesh) DeleteVirtualRouter(input *DeleteVirtualRouterInput) (*DeleteVirtualRouterOutput, error) { req, out := c.DeleteVirtualRouterRequest(input) return out, req.Send() } // DeleteVirtualRouterWithContext is the same as DeleteVirtualRouter with the addition of // the ability to pass a context and additional request options. // // See DeleteVirtualRouter 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 *AppMesh) DeleteVirtualRouterWithContext(ctx aws.Context, input *DeleteVirtualRouterInput, opts ...request.Option) (*DeleteVirtualRouterOutput, error) { req, out := c.DeleteVirtualRouterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteVirtualService = "DeleteVirtualService" // DeleteVirtualServiceRequest generates a "aws/request.Request" representing the // client's request for the DeleteVirtualService 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 DeleteVirtualService for more information on using the DeleteVirtualService // 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 DeleteVirtualServiceRequest method. // req, resp := client.DeleteVirtualServiceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualService func (c *AppMesh) DeleteVirtualServiceRequest(input *DeleteVirtualServiceInput) (req *request.Request, output *DeleteVirtualServiceOutput) { op := &request.Operation{ Name: opDeleteVirtualService, HTTPMethod: "DELETE", HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", } if input == nil { input = &DeleteVirtualServiceInput{} } output = &DeleteVirtualServiceOutput{} req = c.newRequest(op, input, output) return } // DeleteVirtualService API operation for AWS App Mesh. // // Deletes an existing virtual service. // // 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 App Mesh's // API operation DeleteVirtualService for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ResourceInUseException // You can't delete the specified resource because it's in use or required by // another resource. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualService func (c *AppMesh) DeleteVirtualService(input *DeleteVirtualServiceInput) (*DeleteVirtualServiceOutput, error) { req, out := c.DeleteVirtualServiceRequest(input) return out, req.Send() } // DeleteVirtualServiceWithContext is the same as DeleteVirtualService with the addition of // the ability to pass a context and additional request options. // // See DeleteVirtualService 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 *AppMesh) DeleteVirtualServiceWithContext(ctx aws.Context, input *DeleteVirtualServiceInput, opts ...request.Option) (*DeleteVirtualServiceOutput, error) { req, out := c.DeleteVirtualServiceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeGatewayRoute = "DescribeGatewayRoute" // DescribeGatewayRouteRequest generates a "aws/request.Request" representing the // client's request for the DescribeGatewayRoute 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 DescribeGatewayRoute for more information on using the DescribeGatewayRoute // 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 DescribeGatewayRouteRequest method. // req, resp := client.DescribeGatewayRouteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute func (c *AppMesh) DescribeGatewayRouteRequest(input *DescribeGatewayRouteInput) (req *request.Request, output *DescribeGatewayRouteOutput) { op := &request.Operation{ Name: opDescribeGatewayRoute, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", } if input == nil { input = &DescribeGatewayRouteInput{} } output = &DescribeGatewayRouteOutput{} req = c.newRequest(op, input, output) return } // DescribeGatewayRoute API operation for AWS App Mesh. // // Describes an existing gateway route. // // 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 App Mesh's // API operation DescribeGatewayRoute for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute func (c *AppMesh) DescribeGatewayRoute(input *DescribeGatewayRouteInput) (*DescribeGatewayRouteOutput, error) { req, out := c.DescribeGatewayRouteRequest(input) return out, req.Send() } // DescribeGatewayRouteWithContext is the same as DescribeGatewayRoute with the addition of // the ability to pass a context and additional request options. // // See DescribeGatewayRoute 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 *AppMesh) DescribeGatewayRouteWithContext(ctx aws.Context, input *DescribeGatewayRouteInput, opts ...request.Option) (*DescribeGatewayRouteOutput, error) { req, out := c.DescribeGatewayRouteRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeMesh = "DescribeMesh" // DescribeMeshRequest generates a "aws/request.Request" representing the // client's request for the DescribeMesh 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 DescribeMesh for more information on using the DescribeMesh // 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 DescribeMeshRequest method. // req, resp := client.DescribeMeshRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeMesh func (c *AppMesh) DescribeMeshRequest(input *DescribeMeshInput) (req *request.Request, output *DescribeMeshOutput) { op := &request.Operation{ Name: opDescribeMesh, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}", } if input == nil { input = &DescribeMeshInput{} } output = &DescribeMeshOutput{} req = c.newRequest(op, input, output) return } // DescribeMesh API operation for AWS App Mesh. // // Describes an existing service mesh. // // 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 App Mesh's // API operation DescribeMesh for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeMesh func (c *AppMesh) DescribeMesh(input *DescribeMeshInput) (*DescribeMeshOutput, error) { req, out := c.DescribeMeshRequest(input) return out, req.Send() } // DescribeMeshWithContext is the same as DescribeMesh with the addition of // the ability to pass a context and additional request options. // // See DescribeMesh 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 *AppMesh) DescribeMeshWithContext(ctx aws.Context, input *DescribeMeshInput, opts ...request.Option) (*DescribeMeshOutput, error) { req, out := c.DescribeMeshRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeRoute = "DescribeRoute" // DescribeRouteRequest generates a "aws/request.Request" representing the // client's request for the DescribeRoute 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 DescribeRoute for more information on using the DescribeRoute // 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 DescribeRouteRequest method. // req, resp := client.DescribeRouteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeRoute func (c *AppMesh) DescribeRouteRequest(input *DescribeRouteInput) (req *request.Request, output *DescribeRouteOutput) { op := &request.Operation{ Name: opDescribeRoute, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", } if input == nil { input = &DescribeRouteInput{} } output = &DescribeRouteOutput{} req = c.newRequest(op, input, output) return } // DescribeRoute API operation for AWS App Mesh. // // Describes an existing route. // // 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 App Mesh's // API operation DescribeRoute for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeRoute func (c *AppMesh) DescribeRoute(input *DescribeRouteInput) (*DescribeRouteOutput, error) { req, out := c.DescribeRouteRequest(input) return out, req.Send() } // DescribeRouteWithContext is the same as DescribeRoute with the addition of // the ability to pass a context and additional request options. // // See DescribeRoute 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 *AppMesh) DescribeRouteWithContext(ctx aws.Context, input *DescribeRouteInput, opts ...request.Option) (*DescribeRouteOutput, error) { req, out := c.DescribeRouteRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeVirtualGateway = "DescribeVirtualGateway" // DescribeVirtualGatewayRequest generates a "aws/request.Request" representing the // client's request for the DescribeVirtualGateway 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 DescribeVirtualGateway for more information on using the DescribeVirtualGateway // 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 DescribeVirtualGatewayRequest method. // req, resp := client.DescribeVirtualGatewayRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway func (c *AppMesh) DescribeVirtualGatewayRequest(input *DescribeVirtualGatewayInput) (req *request.Request, output *DescribeVirtualGatewayOutput) { op := &request.Operation{ Name: opDescribeVirtualGateway, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", } if input == nil { input = &DescribeVirtualGatewayInput{} } output = &DescribeVirtualGatewayOutput{} req = c.newRequest(op, input, output) return } // DescribeVirtualGateway API operation for AWS App Mesh. // // Describes an existing virtual gateway. // // 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 App Mesh's // API operation DescribeVirtualGateway for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway func (c *AppMesh) DescribeVirtualGateway(input *DescribeVirtualGatewayInput) (*DescribeVirtualGatewayOutput, error) { req, out := c.DescribeVirtualGatewayRequest(input) return out, req.Send() } // DescribeVirtualGatewayWithContext is the same as DescribeVirtualGateway with the addition of // the ability to pass a context and additional request options. // // See DescribeVirtualGateway 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 *AppMesh) DescribeVirtualGatewayWithContext(ctx aws.Context, input *DescribeVirtualGatewayInput, opts ...request.Option) (*DescribeVirtualGatewayOutput, error) { req, out := c.DescribeVirtualGatewayRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeVirtualNode = "DescribeVirtualNode" // DescribeVirtualNodeRequest generates a "aws/request.Request" representing the // client's request for the DescribeVirtualNode 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 DescribeVirtualNode for more information on using the DescribeVirtualNode // 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 DescribeVirtualNodeRequest method. // req, resp := client.DescribeVirtualNodeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNode func (c *AppMesh) DescribeVirtualNodeRequest(input *DescribeVirtualNodeInput) (req *request.Request, output *DescribeVirtualNodeOutput) { op := &request.Operation{ Name: opDescribeVirtualNode, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", } if input == nil { input = &DescribeVirtualNodeInput{} } output = &DescribeVirtualNodeOutput{} req = c.newRequest(op, input, output) return } // DescribeVirtualNode API operation for AWS App Mesh. // // Describes an existing virtual node. // // 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 App Mesh's // API operation DescribeVirtualNode for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNode func (c *AppMesh) DescribeVirtualNode(input *DescribeVirtualNodeInput) (*DescribeVirtualNodeOutput, error) { req, out := c.DescribeVirtualNodeRequest(input) return out, req.Send() } // DescribeVirtualNodeWithContext is the same as DescribeVirtualNode with the addition of // the ability to pass a context and additional request options. // // See DescribeVirtualNode 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 *AppMesh) DescribeVirtualNodeWithContext(ctx aws.Context, input *DescribeVirtualNodeInput, opts ...request.Option) (*DescribeVirtualNodeOutput, error) { req, out := c.DescribeVirtualNodeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeVirtualRouter = "DescribeVirtualRouter" // DescribeVirtualRouterRequest generates a "aws/request.Request" representing the // client's request for the DescribeVirtualRouter 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 DescribeVirtualRouter for more information on using the DescribeVirtualRouter // 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 DescribeVirtualRouterRequest method. // req, resp := client.DescribeVirtualRouterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouter func (c *AppMesh) DescribeVirtualRouterRequest(input *DescribeVirtualRouterInput) (req *request.Request, output *DescribeVirtualRouterOutput) { op := &request.Operation{ Name: opDescribeVirtualRouter, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", } if input == nil { input = &DescribeVirtualRouterInput{} } output = &DescribeVirtualRouterOutput{} req = c.newRequest(op, input, output) return } // DescribeVirtualRouter API operation for AWS App Mesh. // // Describes an existing virtual router. // // 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 App Mesh's // API operation DescribeVirtualRouter for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouter func (c *AppMesh) DescribeVirtualRouter(input *DescribeVirtualRouterInput) (*DescribeVirtualRouterOutput, error) { req, out := c.DescribeVirtualRouterRequest(input) return out, req.Send() } // DescribeVirtualRouterWithContext is the same as DescribeVirtualRouter with the addition of // the ability to pass a context and additional request options. // // See DescribeVirtualRouter 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 *AppMesh) DescribeVirtualRouterWithContext(ctx aws.Context, input *DescribeVirtualRouterInput, opts ...request.Option) (*DescribeVirtualRouterOutput, error) { req, out := c.DescribeVirtualRouterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeVirtualService = "DescribeVirtualService" // DescribeVirtualServiceRequest generates a "aws/request.Request" representing the // client's request for the DescribeVirtualService 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 DescribeVirtualService for more information on using the DescribeVirtualService // 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 DescribeVirtualServiceRequest method. // req, resp := client.DescribeVirtualServiceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualService func (c *AppMesh) DescribeVirtualServiceRequest(input *DescribeVirtualServiceInput) (req *request.Request, output *DescribeVirtualServiceOutput) { op := &request.Operation{ Name: opDescribeVirtualService, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", } if input == nil { input = &DescribeVirtualServiceInput{} } output = &DescribeVirtualServiceOutput{} req = c.newRequest(op, input, output) return } // DescribeVirtualService API operation for AWS App Mesh. // // Describes an existing virtual service. // // 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 App Mesh's // API operation DescribeVirtualService for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualService func (c *AppMesh) DescribeVirtualService(input *DescribeVirtualServiceInput) (*DescribeVirtualServiceOutput, error) { req, out := c.DescribeVirtualServiceRequest(input) return out, req.Send() } // DescribeVirtualServiceWithContext is the same as DescribeVirtualService with the addition of // the ability to pass a context and additional request options. // // See DescribeVirtualService 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 *AppMesh) DescribeVirtualServiceWithContext(ctx aws.Context, input *DescribeVirtualServiceInput, opts ...request.Option) (*DescribeVirtualServiceOutput, error) { req, out := c.DescribeVirtualServiceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opListGatewayRoutes = "ListGatewayRoutes" // ListGatewayRoutesRequest generates a "aws/request.Request" representing the // client's request for the ListGatewayRoutes 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 ListGatewayRoutes for more information on using the ListGatewayRoutes // 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 ListGatewayRoutesRequest method. // req, resp := client.ListGatewayRoutesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes func (c *AppMesh) ListGatewayRoutesRequest(input *ListGatewayRoutesInput) (req *request.Request, output *ListGatewayRoutesOutput) { op := &request.Operation{ Name: opListGatewayRoutes, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "limit", TruncationToken: "", }, } if input == nil { input = &ListGatewayRoutesInput{} } output = &ListGatewayRoutesOutput{} req = c.newRequest(op, input, output) return } // ListGatewayRoutes API operation for AWS App Mesh. // // Returns a list of existing gateway routes that are associated to a virtual // gateway. // // 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 App Mesh's // API operation ListGatewayRoutes for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes func (c *AppMesh) ListGatewayRoutes(input *ListGatewayRoutesInput) (*ListGatewayRoutesOutput, error) { req, out := c.ListGatewayRoutesRequest(input) return out, req.Send() } // ListGatewayRoutesWithContext is the same as ListGatewayRoutes with the addition of // the ability to pass a context and additional request options. // // See ListGatewayRoutes 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 *AppMesh) ListGatewayRoutesWithContext(ctx aws.Context, input *ListGatewayRoutesInput, opts ...request.Option) (*ListGatewayRoutesOutput, error) { req, out := c.ListGatewayRoutesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListGatewayRoutesPages iterates over the pages of a ListGatewayRoutes operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListGatewayRoutes 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 ListGatewayRoutes operation. // pageNum := 0 // err := client.ListGatewayRoutesPages(params, // func(page *appmesh.ListGatewayRoutesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *AppMesh) ListGatewayRoutesPages(input *ListGatewayRoutesInput, fn func(*ListGatewayRoutesOutput, bool) bool) error { return c.ListGatewayRoutesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListGatewayRoutesPagesWithContext same as ListGatewayRoutesPages 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 *AppMesh) ListGatewayRoutesPagesWithContext(ctx aws.Context, input *ListGatewayRoutesInput, fn func(*ListGatewayRoutesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListGatewayRoutesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListGatewayRoutesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListGatewayRoutesOutput), !p.HasNextPage()) { break } } return p.Err() } const opListMeshes = "ListMeshes" // ListMeshesRequest generates a "aws/request.Request" representing the // client's request for the ListMeshes 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 ListMeshes for more information on using the ListMeshes // 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 ListMeshesRequest method. // req, resp := client.ListMeshesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Request, output *ListMeshesOutput) { op := &request.Operation{ Name: opListMeshes, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "limit", TruncationToken: "", }, } if input == nil { input = &ListMeshesInput{} } output = &ListMeshesOutput{} req = c.newRequest(op, input, output) return } // ListMeshes API operation for AWS App Mesh. // // Returns a list of existing service meshes. // // 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 App Mesh's // API operation ListMeshes for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes func (c *AppMesh) ListMeshes(input *ListMeshesInput) (*ListMeshesOutput, error) { req, out := c.ListMeshesRequest(input) return out, req.Send() } // ListMeshesWithContext is the same as ListMeshes with the addition of // the ability to pass a context and additional request options. // // See ListMeshes 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 *AppMesh) ListMeshesWithContext(ctx aws.Context, input *ListMeshesInput, opts ...request.Option) (*ListMeshesOutput, error) { req, out := c.ListMeshesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListMeshesPages iterates over the pages of a ListMeshes operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListMeshes 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 ListMeshes operation. // pageNum := 0 // err := client.ListMeshesPages(params, // func(page *appmesh.ListMeshesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *AppMesh) ListMeshesPages(input *ListMeshesInput, fn func(*ListMeshesOutput, bool) bool) error { return c.ListMeshesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListMeshesPagesWithContext same as ListMeshesPages 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 *AppMesh) ListMeshesPagesWithContext(ctx aws.Context, input *ListMeshesInput, fn func(*ListMeshesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListMeshesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListMeshesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListMeshesOutput), !p.HasNextPage()) { break } } return p.Err() } const opListRoutes = "ListRoutes" // ListRoutesRequest generates a "aws/request.Request" representing the // client's request for the ListRoutes 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 ListRoutes for more information on using the ListRoutes // 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 ListRoutesRequest method. // req, resp := client.ListRoutesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListRoutes func (c *AppMesh) ListRoutesRequest(input *ListRoutesInput) (req *request.Request, output *ListRoutesOutput) { op := &request.Operation{ Name: opListRoutes, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "limit", TruncationToken: "", }, } if input == nil { input = &ListRoutesInput{} } output = &ListRoutesOutput{} req = c.newRequest(op, input, output) return } // ListRoutes API operation for AWS App Mesh. // // Returns a list of existing routes in a service mesh. // // 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 App Mesh's // API operation ListRoutes for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListRoutes func (c *AppMesh) ListRoutes(input *ListRoutesInput) (*ListRoutesOutput, error) { req, out := c.ListRoutesRequest(input) return out, req.Send() } // ListRoutesWithContext is the same as ListRoutes with the addition of // the ability to pass a context and additional request options. // // See ListRoutes 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 *AppMesh) ListRoutesWithContext(ctx aws.Context, input *ListRoutesInput, opts ...request.Option) (*ListRoutesOutput, error) { req, out := c.ListRoutesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListRoutesPages iterates over the pages of a ListRoutes operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListRoutes 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 ListRoutes operation. // pageNum := 0 // err := client.ListRoutesPages(params, // func(page *appmesh.ListRoutesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *AppMesh) ListRoutesPages(input *ListRoutesInput, fn func(*ListRoutesOutput, bool) bool) error { return c.ListRoutesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListRoutesPagesWithContext same as ListRoutesPages 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 *AppMesh) ListRoutesPagesWithContext(ctx aws.Context, input *ListRoutesInput, fn func(*ListRoutesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListRoutesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListRoutesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListRoutesOutput), !p.HasNextPage()) { break } } return p.Err() } 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/appmesh-2019-01-25/ListTagsForResource func (c *AppMesh) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ Name: opListTagsForResource, HTTPMethod: "GET", HTTPPath: "/v20190125/tags", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "limit", TruncationToken: "", }, } if input == nil { input = &ListTagsForResourceInput{} } output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } // ListTagsForResource API operation for AWS App Mesh. // // List the tags for an App Mesh 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 App Mesh's // API operation ListTagsForResource for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource func (c *AppMesh) 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 *AppMesh) 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() } // ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListTagsForResource 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 ListTagsForResource operation. // pageNum := 0 // err := client.ListTagsForResourcePages(params, // func(page *appmesh.ListTagsForResourceOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *AppMesh) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) } // ListTagsForResourcePagesWithContext same as ListTagsForResourcePages 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 *AppMesh) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListTagsForResourceInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListTagsForResourceRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { break } } return p.Err() } const opListVirtualGateways = "ListVirtualGateways" // ListVirtualGatewaysRequest generates a "aws/request.Request" representing the // client's request for the ListVirtualGateways 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 ListVirtualGateways for more information on using the ListVirtualGateways // 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 ListVirtualGatewaysRequest method. // req, resp := client.ListVirtualGatewaysRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways func (c *AppMesh) ListVirtualGatewaysRequest(input *ListVirtualGatewaysInput) (req *request.Request, output *ListVirtualGatewaysOutput) { op := &request.Operation{ Name: opListVirtualGateways, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "limit", TruncationToken: "", }, } if input == nil { input = &ListVirtualGatewaysInput{} } output = &ListVirtualGatewaysOutput{} req = c.newRequest(op, input, output) return } // ListVirtualGateways API operation for AWS App Mesh. // // Returns a list of existing virtual gateways in a service mesh. // // 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 App Mesh's // API operation ListVirtualGateways for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways func (c *AppMesh) ListVirtualGateways(input *ListVirtualGatewaysInput) (*ListVirtualGatewaysOutput, error) { req, out := c.ListVirtualGatewaysRequest(input) return out, req.Send() } // ListVirtualGatewaysWithContext is the same as ListVirtualGateways with the addition of // the ability to pass a context and additional request options. // // See ListVirtualGateways 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 *AppMesh) ListVirtualGatewaysWithContext(ctx aws.Context, input *ListVirtualGatewaysInput, opts ...request.Option) (*ListVirtualGatewaysOutput, error) { req, out := c.ListVirtualGatewaysRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListVirtualGatewaysPages iterates over the pages of a ListVirtualGateways operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListVirtualGateways 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 ListVirtualGateways operation. // pageNum := 0 // err := client.ListVirtualGatewaysPages(params, // func(page *appmesh.ListVirtualGatewaysOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *AppMesh) ListVirtualGatewaysPages(input *ListVirtualGatewaysInput, fn func(*ListVirtualGatewaysOutput, bool) bool) error { return c.ListVirtualGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) } // ListVirtualGatewaysPagesWithContext same as ListVirtualGatewaysPages 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 *AppMesh) ListVirtualGatewaysPagesWithContext(ctx aws.Context, input *ListVirtualGatewaysInput, fn func(*ListVirtualGatewaysOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListVirtualGatewaysInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListVirtualGatewaysRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListVirtualGatewaysOutput), !p.HasNextPage()) { break } } return p.Err() } const opListVirtualNodes = "ListVirtualNodes" // ListVirtualNodesRequest generates a "aws/request.Request" representing the // client's request for the ListVirtualNodes 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 ListVirtualNodes for more information on using the ListVirtualNodes // 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 ListVirtualNodesRequest method. // req, resp := client.ListVirtualNodesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *request.Request, output *ListVirtualNodesOutput) { op := &request.Operation{ Name: opListVirtualNodes, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "limit", TruncationToken: "", }, } if input == nil { input = &ListVirtualNodesInput{} } output = &ListVirtualNodesOutput{} req = c.newRequest(op, input, output) return } // ListVirtualNodes API operation for AWS App Mesh. // // Returns a list of existing virtual nodes. // // 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 App Mesh's // API operation ListVirtualNodes for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes func (c *AppMesh) ListVirtualNodes(input *ListVirtualNodesInput) (*ListVirtualNodesOutput, error) { req, out := c.ListVirtualNodesRequest(input) return out, req.Send() } // ListVirtualNodesWithContext is the same as ListVirtualNodes with the addition of // the ability to pass a context and additional request options. // // See ListVirtualNodes 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 *AppMesh) ListVirtualNodesWithContext(ctx aws.Context, input *ListVirtualNodesInput, opts ...request.Option) (*ListVirtualNodesOutput, error) { req, out := c.ListVirtualNodesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListVirtualNodesPages iterates over the pages of a ListVirtualNodes operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListVirtualNodes 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 ListVirtualNodes operation. // pageNum := 0 // err := client.ListVirtualNodesPages(params, // func(page *appmesh.ListVirtualNodesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *AppMesh) ListVirtualNodesPages(input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool) error { return c.ListVirtualNodesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListVirtualNodesPagesWithContext same as ListVirtualNodesPages 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 *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListVirtualNodesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListVirtualNodesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListVirtualNodesOutput), !p.HasNextPage()) { break } } return p.Err() } const opListVirtualRouters = "ListVirtualRouters" // ListVirtualRoutersRequest generates a "aws/request.Request" representing the // client's request for the ListVirtualRouters 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 ListVirtualRouters for more information on using the ListVirtualRouters // 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 ListVirtualRoutersRequest method. // req, resp := client.ListVirtualRoutersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req *request.Request, output *ListVirtualRoutersOutput) { op := &request.Operation{ Name: opListVirtualRouters, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "limit", TruncationToken: "", }, } if input == nil { input = &ListVirtualRoutersInput{} } output = &ListVirtualRoutersOutput{} req = c.newRequest(op, input, output) return } // ListVirtualRouters API operation for AWS App Mesh. // // Returns a list of existing virtual routers in a service mesh. // // 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 App Mesh's // API operation ListVirtualRouters for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters func (c *AppMesh) ListVirtualRouters(input *ListVirtualRoutersInput) (*ListVirtualRoutersOutput, error) { req, out := c.ListVirtualRoutersRequest(input) return out, req.Send() } // ListVirtualRoutersWithContext is the same as ListVirtualRouters with the addition of // the ability to pass a context and additional request options. // // See ListVirtualRouters 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 *AppMesh) ListVirtualRoutersWithContext(ctx aws.Context, input *ListVirtualRoutersInput, opts ...request.Option) (*ListVirtualRoutersOutput, error) { req, out := c.ListVirtualRoutersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListVirtualRoutersPages iterates over the pages of a ListVirtualRouters operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListVirtualRouters 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 ListVirtualRouters operation. // pageNum := 0 // err := client.ListVirtualRoutersPages(params, // func(page *appmesh.ListVirtualRoutersOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *AppMesh) ListVirtualRoutersPages(input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool) error { return c.ListVirtualRoutersPagesWithContext(aws.BackgroundContext(), input, fn) } // ListVirtualRoutersPagesWithContext same as ListVirtualRoutersPages 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 *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListVirtualRoutersInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListVirtualRoutersRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListVirtualRoutersOutput), !p.HasNextPage()) { break } } return p.Err() } const opListVirtualServices = "ListVirtualServices" // ListVirtualServicesRequest generates a "aws/request.Request" representing the // client's request for the ListVirtualServices 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 ListVirtualServices for more information on using the ListVirtualServices // 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 ListVirtualServicesRequest method. // req, resp := client.ListVirtualServicesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualServices func (c *AppMesh) ListVirtualServicesRequest(input *ListVirtualServicesInput) (req *request.Request, output *ListVirtualServicesOutput) { op := &request.Operation{ Name: opListVirtualServices, HTTPMethod: "GET", HTTPPath: "/v20190125/meshes/{meshName}/virtualServices", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "limit", TruncationToken: "", }, } if input == nil { input = &ListVirtualServicesInput{} } output = &ListVirtualServicesOutput{} req = c.newRequest(op, input, output) return } // ListVirtualServices API operation for AWS App Mesh. // // Returns a list of existing virtual services in a service mesh. // // 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 App Mesh's // API operation ListVirtualServices for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualServices func (c *AppMesh) ListVirtualServices(input *ListVirtualServicesInput) (*ListVirtualServicesOutput, error) { req, out := c.ListVirtualServicesRequest(input) return out, req.Send() } // ListVirtualServicesWithContext is the same as ListVirtualServices with the addition of // the ability to pass a context and additional request options. // // See ListVirtualServices 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 *AppMesh) ListVirtualServicesWithContext(ctx aws.Context, input *ListVirtualServicesInput, opts ...request.Option) (*ListVirtualServicesOutput, error) { req, out := c.ListVirtualServicesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListVirtualServicesPages iterates over the pages of a ListVirtualServices operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListVirtualServices 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 ListVirtualServices operation. // pageNum := 0 // err := client.ListVirtualServicesPages(params, // func(page *appmesh.ListVirtualServicesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *AppMesh) ListVirtualServicesPages(input *ListVirtualServicesInput, fn func(*ListVirtualServicesOutput, bool) bool) error { return c.ListVirtualServicesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListVirtualServicesPagesWithContext same as ListVirtualServicesPages 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 *AppMesh) ListVirtualServicesPagesWithContext(ctx aws.Context, input *ListVirtualServicesInput, fn func(*ListVirtualServicesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListVirtualServicesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListVirtualServicesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListVirtualServicesOutput), !p.HasNextPage()) { break } } return p.Err() } 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/appmesh-2019-01-25/TagResource func (c *AppMesh) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ Name: opTagResource, HTTPMethod: "PUT", HTTPPath: "/v20190125/tag", } if input == nil { input = &TagResourceInput{} } output = &TagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // TagResource API operation for AWS App Mesh. // // Associates the specified tags to a resource with the specified resourceArn. // If existing tags on a resource aren't specified in the request parameters, // they aren't changed. When a resource is deleted, the tags associated with // that resource are also deleted. // // 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 App Mesh's // API operation TagResource for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyTagsException // The request exceeds the maximum allowed number of tags allowed per resource. // The current limit is 50 user tags per resource. You must reduce the number // of tags in the request. None of the tags in this request were applied. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource func (c *AppMesh) 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 *AppMesh) 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/appmesh-2019-01-25/UntagResource func (c *AppMesh) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ Name: opUntagResource, HTTPMethod: "PUT", HTTPPath: "/v20190125/untag", } if input == nil { input = &UntagResourceInput{} } output = &UntagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // UntagResource API operation for AWS App Mesh. // // Deletes specified tags 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 App Mesh's // API operation UntagResource for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource func (c *AppMesh) 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 *AppMesh) 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() } const opUpdateGatewayRoute = "UpdateGatewayRoute" // UpdateGatewayRouteRequest generates a "aws/request.Request" representing the // client's request for the UpdateGatewayRoute 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 UpdateGatewayRoute for more information on using the UpdateGatewayRoute // 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 UpdateGatewayRouteRequest method. // req, resp := client.UpdateGatewayRouteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute func (c *AppMesh) UpdateGatewayRouteRequest(input *UpdateGatewayRouteInput) (req *request.Request, output *UpdateGatewayRouteOutput) { op := &request.Operation{ Name: opUpdateGatewayRoute, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", } if input == nil { input = &UpdateGatewayRouteInput{} } output = &UpdateGatewayRouteOutput{} req = c.newRequest(op, input, output) return } // UpdateGatewayRoute API operation for AWS App Mesh. // // Updates an existing gateway route that is associated to a specified virtual // gateway in a service mesh. // // 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 App Mesh's // API operation UpdateGatewayRoute for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute func (c *AppMesh) UpdateGatewayRoute(input *UpdateGatewayRouteInput) (*UpdateGatewayRouteOutput, error) { req, out := c.UpdateGatewayRouteRequest(input) return out, req.Send() } // UpdateGatewayRouteWithContext is the same as UpdateGatewayRoute with the addition of // the ability to pass a context and additional request options. // // See UpdateGatewayRoute 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 *AppMesh) UpdateGatewayRouteWithContext(ctx aws.Context, input *UpdateGatewayRouteInput, opts ...request.Option) (*UpdateGatewayRouteOutput, error) { req, out := c.UpdateGatewayRouteRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUpdateMesh = "UpdateMesh" // UpdateMeshRequest generates a "aws/request.Request" representing the // client's request for the UpdateMesh 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 UpdateMesh for more information on using the UpdateMesh // 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 UpdateMeshRequest method. // req, resp := client.UpdateMeshRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh func (c *AppMesh) UpdateMeshRequest(input *UpdateMeshInput) (req *request.Request, output *UpdateMeshOutput) { op := &request.Operation{ Name: opUpdateMesh, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}", } if input == nil { input = &UpdateMeshInput{} } output = &UpdateMeshOutput{} req = c.newRequest(op, input, output) return } // UpdateMesh API operation for AWS App Mesh. // // Updates an existing service mesh. // // 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 App Mesh's // API operation UpdateMesh for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh func (c *AppMesh) UpdateMesh(input *UpdateMeshInput) (*UpdateMeshOutput, error) { req, out := c.UpdateMeshRequest(input) return out, req.Send() } // UpdateMeshWithContext is the same as UpdateMesh with the addition of // the ability to pass a context and additional request options. // // See UpdateMesh 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 *AppMesh) UpdateMeshWithContext(ctx aws.Context, input *UpdateMeshInput, opts ...request.Option) (*UpdateMeshOutput, error) { req, out := c.UpdateMeshRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUpdateRoute = "UpdateRoute" // UpdateRouteRequest generates a "aws/request.Request" representing the // client's request for the UpdateRoute 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 UpdateRoute for more information on using the UpdateRoute // 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 UpdateRouteRequest method. // req, resp := client.UpdateRouteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute func (c *AppMesh) UpdateRouteRequest(input *UpdateRouteInput) (req *request.Request, output *UpdateRouteOutput) { op := &request.Operation{ Name: opUpdateRoute, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", } if input == nil { input = &UpdateRouteInput{} } output = &UpdateRouteOutput{} req = c.newRequest(op, input, output) return } // UpdateRoute API operation for AWS App Mesh. // // Updates an existing route for a specified service mesh and virtual router. // // 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 App Mesh's // API operation UpdateRoute for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute func (c *AppMesh) UpdateRoute(input *UpdateRouteInput) (*UpdateRouteOutput, error) { req, out := c.UpdateRouteRequest(input) return out, req.Send() } // UpdateRouteWithContext is the same as UpdateRoute with the addition of // the ability to pass a context and additional request options. // // See UpdateRoute 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 *AppMesh) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInput, opts ...request.Option) (*UpdateRouteOutput, error) { req, out := c.UpdateRouteRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUpdateVirtualGateway = "UpdateVirtualGateway" // UpdateVirtualGatewayRequest generates a "aws/request.Request" representing the // client's request for the UpdateVirtualGateway 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 UpdateVirtualGateway for more information on using the UpdateVirtualGateway // 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 UpdateVirtualGatewayRequest method. // req, resp := client.UpdateVirtualGatewayRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway func (c *AppMesh) UpdateVirtualGatewayRequest(input *UpdateVirtualGatewayInput) (req *request.Request, output *UpdateVirtualGatewayOutput) { op := &request.Operation{ Name: opUpdateVirtualGateway, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", } if input == nil { input = &UpdateVirtualGatewayInput{} } output = &UpdateVirtualGatewayOutput{} req = c.newRequest(op, input, output) return } // UpdateVirtualGateway API operation for AWS App Mesh. // // Updates an existing virtual gateway in a specified service mesh. // // 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 App Mesh's // API operation UpdateVirtualGateway for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway func (c *AppMesh) UpdateVirtualGateway(input *UpdateVirtualGatewayInput) (*UpdateVirtualGatewayOutput, error) { req, out := c.UpdateVirtualGatewayRequest(input) return out, req.Send() } // UpdateVirtualGatewayWithContext is the same as UpdateVirtualGateway with the addition of // the ability to pass a context and additional request options. // // See UpdateVirtualGateway 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 *AppMesh) UpdateVirtualGatewayWithContext(ctx aws.Context, input *UpdateVirtualGatewayInput, opts ...request.Option) (*UpdateVirtualGatewayOutput, error) { req, out := c.UpdateVirtualGatewayRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUpdateVirtualNode = "UpdateVirtualNode" // UpdateVirtualNodeRequest generates a "aws/request.Request" representing the // client's request for the UpdateVirtualNode 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 UpdateVirtualNode for more information on using the UpdateVirtualNode // 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 UpdateVirtualNodeRequest method. // req, resp := client.UpdateVirtualNodeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) { op := &request.Operation{ Name: opUpdateVirtualNode, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", } if input == nil { input = &UpdateVirtualNodeInput{} } output = &UpdateVirtualNodeOutput{} req = c.newRequest(op, input, output) return } // UpdateVirtualNode API operation for AWS App Mesh. // // Updates an existing virtual node in a specified service mesh. // // 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 App Mesh's // API operation UpdateVirtualNode for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode func (c *AppMesh) UpdateVirtualNode(input *UpdateVirtualNodeInput) (*UpdateVirtualNodeOutput, error) { req, out := c.UpdateVirtualNodeRequest(input) return out, req.Send() } // UpdateVirtualNodeWithContext is the same as UpdateVirtualNode with the addition of // the ability to pass a context and additional request options. // // See UpdateVirtualNode 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 *AppMesh) UpdateVirtualNodeWithContext(ctx aws.Context, input *UpdateVirtualNodeInput, opts ...request.Option) (*UpdateVirtualNodeOutput, error) { req, out := c.UpdateVirtualNodeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUpdateVirtualRouter = "UpdateVirtualRouter" // UpdateVirtualRouterRequest generates a "aws/request.Request" representing the // client's request for the UpdateVirtualRouter 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 UpdateVirtualRouter for more information on using the UpdateVirtualRouter // 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 UpdateVirtualRouterRequest method. // req, resp := client.UpdateVirtualRouterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter func (c *AppMesh) UpdateVirtualRouterRequest(input *UpdateVirtualRouterInput) (req *request.Request, output *UpdateVirtualRouterOutput) { op := &request.Operation{ Name: opUpdateVirtualRouter, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", } if input == nil { input = &UpdateVirtualRouterInput{} } output = &UpdateVirtualRouterOutput{} req = c.newRequest(op, input, output) return } // UpdateVirtualRouter API operation for AWS App Mesh. // // Updates an existing virtual router in a specified service mesh. // // 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 App Mesh's // API operation UpdateVirtualRouter for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter func (c *AppMesh) UpdateVirtualRouter(input *UpdateVirtualRouterInput) (*UpdateVirtualRouterOutput, error) { req, out := c.UpdateVirtualRouterRequest(input) return out, req.Send() } // UpdateVirtualRouterWithContext is the same as UpdateVirtualRouter with the addition of // the ability to pass a context and additional request options. // // See UpdateVirtualRouter 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 *AppMesh) UpdateVirtualRouterWithContext(ctx aws.Context, input *UpdateVirtualRouterInput, opts ...request.Option) (*UpdateVirtualRouterOutput, error) { req, out := c.UpdateVirtualRouterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUpdateVirtualService = "UpdateVirtualService" // UpdateVirtualServiceRequest generates a "aws/request.Request" representing the // client's request for the UpdateVirtualService 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 UpdateVirtualService for more information on using the UpdateVirtualService // 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 UpdateVirtualServiceRequest method. // req, resp := client.UpdateVirtualServiceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService func (c *AppMesh) UpdateVirtualServiceRequest(input *UpdateVirtualServiceInput) (req *request.Request, output *UpdateVirtualServiceOutput) { op := &request.Operation{ Name: opUpdateVirtualService, HTTPMethod: "PUT", HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", } if input == nil { input = &UpdateVirtualServiceInput{} } output = &UpdateVirtualServiceOutput{} req = c.newRequest(op, input, output) return } // UpdateVirtualService API operation for AWS App Mesh. // // Updates an existing virtual service in a specified service mesh. // // 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 App Mesh's // API operation UpdateVirtualService for usage and error information. // // Returned Error Types: // // - NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // // - BadRequestException // The request syntax was malformed. Check your request syntax and try again. // // - ConflictException // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. // // - TooManyRequestsException // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. // // - ForbiddenException // You don't have permissions to perform this action. // // - ServiceUnavailableException // The request has failed due to a temporary failure of the service. // // - InternalServerErrorException // The request processing has failed because of an unknown error, exception, // or failure. // // - LimitExceededException // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService func (c *AppMesh) UpdateVirtualService(input *UpdateVirtualServiceInput) (*UpdateVirtualServiceOutput, error) { req, out := c.UpdateVirtualServiceRequest(input) return out, req.Send() } // UpdateVirtualServiceWithContext is the same as UpdateVirtualService with the addition of // the ability to pass a context and additional request options. // // See UpdateVirtualService 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 *AppMesh) UpdateVirtualServiceWithContext(ctx aws.Context, input *UpdateVirtualServiceInput, opts ...request.Option) (*UpdateVirtualServiceOutput, error) { req, out := c.UpdateVirtualServiceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // An object that represents the access logging information for a virtual node. type AccessLog struct { _ struct{} `type:"structure"` // The file object to send virtual node access logs to. File *FileAccessLog `locationName:"file" 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 AccessLog) 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 AccessLog) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AccessLog) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AccessLog"} if s.File != nil { if err := s.File.Validate(); err != nil { invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFile sets the File field's value. func (s *AccessLog) SetFile(v *FileAccessLog) *AccessLog { s.File = v return s } // An object that represents the Cloud Map attribute information for your virtual // node. // // Cloud Map is not available in the eu-south-1 Region. type AwsCloudMapInstanceAttribute struct { _ struct{} `type:"structure"` // The name of an Cloud Map service instance attribute key. Any Cloud Map service // instance that contains the specified key and value is returned. // // Key is a required field Key *string `locationName:"key" min:"1" type:"string" required:"true"` // The value of an Cloud Map service instance attribute key. Any Cloud Map service // instance that contains the specified key and value is returned. // // Value is a required field Value *string `locationName:"value" 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 AwsCloudMapInstanceAttribute) 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 AwsCloudMapInstanceAttribute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AwsCloudMapInstanceAttribute) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AwsCloudMapInstanceAttribute"} 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 s.Value != nil && len(*s.Value) < 1 { invalidParams.Add(request.NewErrParamMinLen("Value", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetKey sets the Key field's value. func (s *AwsCloudMapInstanceAttribute) SetKey(v string) *AwsCloudMapInstanceAttribute { s.Key = &v return s } // SetValue sets the Value field's value. func (s *AwsCloudMapInstanceAttribute) SetValue(v string) *AwsCloudMapInstanceAttribute { s.Value = &v return s } // An object that represents the Cloud Map service discovery information for // your virtual node. // // Cloud Map is not available in the eu-south-1 Region. type AwsCloudMapServiceDiscovery struct { _ struct{} `type:"structure"` // A string map that contains attributes with values that you can use to filter // instances by any custom attribute that you specified when you registered // the instance. Only instances that match all of the specified key/value pairs // will be returned. Attributes []*AwsCloudMapInstanceAttribute `locationName:"attributes" type:"list"` // The preferred IP version that this virtual node uses. Setting the IP preference // on the virtual node only overrides the IP preference set for the mesh on // this specific node. IpPreference *string `locationName:"ipPreference" type:"string" enum:"IpPreference"` // The name of the Cloud Map namespace to use. // // NamespaceName is a required field NamespaceName *string `locationName:"namespaceName" min:"1" type:"string" required:"true"` // The name of the Cloud Map service to use. // // ServiceName is a required field ServiceName *string `locationName:"serviceName" 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 AwsCloudMapServiceDiscovery) 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 AwsCloudMapServiceDiscovery) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AwsCloudMapServiceDiscovery) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AwsCloudMapServiceDiscovery"} if s.NamespaceName == nil { invalidParams.Add(request.NewErrParamRequired("NamespaceName")) } if s.NamespaceName != nil && len(*s.NamespaceName) < 1 { invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 1)) } if s.ServiceName == nil { invalidParams.Add(request.NewErrParamRequired("ServiceName")) } if s.ServiceName != nil && len(*s.ServiceName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) } if s.Attributes != nil { for i, v := range s.Attributes { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAttributes sets the Attributes field's value. func (s *AwsCloudMapServiceDiscovery) SetAttributes(v []*AwsCloudMapInstanceAttribute) *AwsCloudMapServiceDiscovery { s.Attributes = v return s } // SetIpPreference sets the IpPreference field's value. func (s *AwsCloudMapServiceDiscovery) SetIpPreference(v string) *AwsCloudMapServiceDiscovery { s.IpPreference = &v return s } // SetNamespaceName sets the NamespaceName field's value. func (s *AwsCloudMapServiceDiscovery) SetNamespaceName(v string) *AwsCloudMapServiceDiscovery { s.NamespaceName = &v return s } // SetServiceName sets the ServiceName field's value. func (s *AwsCloudMapServiceDiscovery) SetServiceName(v string) *AwsCloudMapServiceDiscovery { s.ServiceName = &v return s } // An object that represents the backends that a virtual node is expected to // send outbound traffic to. type Backend struct { _ struct{} `type:"structure"` // Specifies a virtual service to use as a backend. VirtualService *VirtualServiceBackend `locationName:"virtualService" 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 Backend) 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 Backend) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Backend) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Backend"} if s.VirtualService != nil { if err := s.VirtualService.Validate(); err != nil { invalidParams.AddNested("VirtualService", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetVirtualService sets the VirtualService field's value. func (s *Backend) SetVirtualService(v *VirtualServiceBackend) *Backend { s.VirtualService = v return s } // An object that represents the default properties for a backend. type BackendDefaults struct { _ struct{} `type:"structure"` // A reference to an object that represents a client policy. ClientPolicy *ClientPolicy `locationName:"clientPolicy" 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 BackendDefaults) 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 BackendDefaults) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *BackendDefaults) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BackendDefaults"} if s.ClientPolicy != nil { if err := s.ClientPolicy.Validate(); err != nil { invalidParams.AddNested("ClientPolicy", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientPolicy sets the ClientPolicy field's value. func (s *BackendDefaults) SetClientPolicy(v *ClientPolicy) *BackendDefaults { s.ClientPolicy = v return s } // The request syntax was malformed. Check your request syntax and try again. type BadRequestException 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 BadRequestException) 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 BadRequestException) GoString() string { return s.String() } func newErrorBadRequestException(v protocol.ResponseMetadata) error { return &BadRequestException{ RespMetadata: v, } } // Code returns the exception type name. func (s *BadRequestException) Code() string { return "BadRequestException" } // Message returns the exception's message. func (s *BadRequestException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *BadRequestException) OrigErr() error { return nil } func (s *BadRequestException) 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 *BadRequestException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *BadRequestException) RequestID() string { return s.RespMetadata.RequestID } // An object that represents a client policy. type ClientPolicy struct { _ struct{} `type:"structure"` // A reference to an object that represents a Transport Layer Security (TLS) // client policy. Tls *ClientPolicyTls `locationName:"tls" 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 ClientPolicy) 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 ClientPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ClientPolicy) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ClientPolicy"} if s.Tls != nil { if err := s.Tls.Validate(); err != nil { invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetTls sets the Tls field's value. func (s *ClientPolicy) SetTls(v *ClientPolicyTls) *ClientPolicy { s.Tls = v return s } // A reference to an object that represents a Transport Layer Security (TLS) // client policy. type ClientPolicyTls struct { _ struct{} `type:"structure"` // A reference to an object that represents a client's TLS certificate. Certificate *ClientTlsCertificate `locationName:"certificate" type:"structure"` // Whether the policy is enforced. The default is True, if a value isn't specified. Enforce *bool `locationName:"enforce" type:"boolean"` // One or more ports that the policy is enforced for. Ports []*int64 `locationName:"ports" type:"list"` // A reference to an object that represents a TLS validation context. // // Validation is a required field Validation *TlsValidationContext `locationName:"validation" type:"structure" 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 ClientPolicyTls) 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 ClientPolicyTls) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ClientPolicyTls) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ClientPolicyTls"} if s.Validation == nil { invalidParams.Add(request.NewErrParamRequired("Validation")) } if s.Certificate != nil { if err := s.Certificate.Validate(); err != nil { invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) } } if s.Validation != nil { if err := s.Validation.Validate(); err != nil { invalidParams.AddNested("Validation", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificate sets the Certificate field's value. func (s *ClientPolicyTls) SetCertificate(v *ClientTlsCertificate) *ClientPolicyTls { s.Certificate = v return s } // SetEnforce sets the Enforce field's value. func (s *ClientPolicyTls) SetEnforce(v bool) *ClientPolicyTls { s.Enforce = &v return s } // SetPorts sets the Ports field's value. func (s *ClientPolicyTls) SetPorts(v []*int64) *ClientPolicyTls { s.Ports = v return s } // SetValidation sets the Validation field's value. func (s *ClientPolicyTls) SetValidation(v *TlsValidationContext) *ClientPolicyTls { s.Validation = v return s } // An object that represents the client's certificate. type ClientTlsCertificate struct { _ struct{} `type:"structure"` // An object that represents a local file certificate. The certificate must // meet specific requirements and you must have proxy authorization enabled. // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html). File *ListenerTlsFileCertificate `locationName:"file" type:"structure"` // A reference to an object that represents a client's TLS Secret Discovery // Service certificate. Sds *ListenerTlsSdsCertificate `locationName:"sds" 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 ClientTlsCertificate) 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 ClientTlsCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ClientTlsCertificate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ClientTlsCertificate"} if s.File != nil { if err := s.File.Validate(); err != nil { invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } if s.Sds != nil { if err := s.Sds.Validate(); err != nil { invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFile sets the File field's value. func (s *ClientTlsCertificate) SetFile(v *ListenerTlsFileCertificate) *ClientTlsCertificate { s.File = v return s } // SetSds sets the Sds field's value. func (s *ClientTlsCertificate) SetSds(v *ListenerTlsSdsCertificate) *ClientTlsCertificate { s.Sds = v return s } // The request contains a client token that was used for a previous update resource // call with different specifications. Try the request again with a new client // token. type ConflictException 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 ConflictException) 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 ConflictException) GoString() string { return s.String() } func newErrorConflictException(v protocol.ResponseMetadata) error { return &ConflictException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ConflictException) Code() string { return "ConflictException" } // Message returns the exception's message. func (s *ConflictException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ConflictException) OrigErr() error { return nil } func (s *ConflictException) 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 *ConflictException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ConflictException) RequestID() string { return s.RespMetadata.RequestID } type CreateGatewayRouteInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name to use for the gateway route. // // GatewayRouteName is a required field GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` // The name of the service mesh to create the gateway route in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then the account that you specify must share // the mesh with your account before you can create the resource in the service // mesh. For more information about mesh sharing, see Working with shared meshes // (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The gateway route specification to apply. // // Spec is a required field Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` // Optional metadata that you can apply to the gateway route to assist with // categorization and organization. Each tag consists of a key and an optional // value, both of which you define. Tag keys can have a maximum character length // of 128 characters, and tag values can have a maximum length of 256 characters. Tags []*TagRef `locationName:"tags" type:"list"` // The name of the virtual gateway to associate the gateway route with. If the // virtual gateway is in a shared mesh, then you must be the owner of the virtual // gateway resource. // // VirtualGatewayName is a required field VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" 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 CreateGatewayRouteInput) 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 CreateGatewayRouteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateGatewayRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateGatewayRouteInput"} if s.GatewayRouteName == nil { invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) } if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) } if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualGatewayName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", 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 invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *CreateGatewayRouteInput) SetClientToken(v string) *CreateGatewayRouteInput { s.ClientToken = &v return s } // SetGatewayRouteName sets the GatewayRouteName field's value. func (s *CreateGatewayRouteInput) SetGatewayRouteName(v string) *CreateGatewayRouteInput { s.GatewayRouteName = &v return s } // SetMeshName sets the MeshName field's value. func (s *CreateGatewayRouteInput) SetMeshName(v string) *CreateGatewayRouteInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *CreateGatewayRouteInput) SetMeshOwner(v string) *CreateGatewayRouteInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. func (s *CreateGatewayRouteInput) SetSpec(v *GatewayRouteSpec) *CreateGatewayRouteInput { s.Spec = v return s } // SetTags sets the Tags field's value. func (s *CreateGatewayRouteInput) SetTags(v []*TagRef) *CreateGatewayRouteInput { s.Tags = v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *CreateGatewayRouteInput) SetVirtualGatewayName(v string) *CreateGatewayRouteInput { s.VirtualGatewayName = &v return s } type CreateGatewayRouteOutput struct { _ struct{} `type:"structure" payload:"GatewayRoute"` // The full description of your gateway route following the create call. // // GatewayRoute is a required field GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" 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 CreateGatewayRouteOutput) 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 CreateGatewayRouteOutput) GoString() string { return s.String() } // SetGatewayRoute sets the GatewayRoute field's value. func (s *CreateGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *CreateGatewayRouteOutput { s.GatewayRoute = v return s } type CreateMeshInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name to use for the service mesh. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The service mesh specification to apply. Spec *MeshSpec `locationName:"spec" type:"structure"` // Optional metadata that you can apply to the service mesh to assist with categorization // and organization. Each tag consists of a key and an optional value, both // of which you define. Tag keys can have a maximum character length of 128 // characters, and tag values can have a maximum length of 256 characters. Tags []*TagRef `locationName:"tags" 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 CreateMeshInput) 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 CreateMeshInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateMeshInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateMeshInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", 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 invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *CreateMeshInput) SetClientToken(v string) *CreateMeshInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *CreateMeshInput) SetMeshName(v string) *CreateMeshInput { s.MeshName = &v return s } // SetSpec sets the Spec field's value. func (s *CreateMeshInput) SetSpec(v *MeshSpec) *CreateMeshInput { s.Spec = v return s } // SetTags sets the Tags field's value. func (s *CreateMeshInput) SetTags(v []*TagRef) *CreateMeshInput { s.Tags = v return s } type CreateMeshOutput struct { _ struct{} `type:"structure" payload:"Mesh"` // The full description of your service mesh following the create call. // // Mesh is a required field Mesh *MeshData `locationName:"mesh" type:"structure" 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 CreateMeshOutput) 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 CreateMeshOutput) GoString() string { return s.String() } // SetMesh sets the Mesh field's value. func (s *CreateMeshOutput) SetMesh(v *MeshData) *CreateMeshOutput { s.Mesh = v return s } type CreateRouteInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the service mesh to create the route in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then the account that you specify must share // the mesh with your account before you can create the resource in the service // mesh. For more information about mesh sharing, see Working with shared meshes // (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name to use for the route. // // RouteName is a required field RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` // The route specification to apply. // // Spec is a required field Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` // Optional metadata that you can apply to the route to assist with categorization // and organization. Each tag consists of a key and an optional value, both // of which you define. Tag keys can have a maximum character length of 128 // characters, and tag values can have a maximum length of 256 characters. Tags []*TagRef `locationName:"tags" type:"list"` // The name of the virtual router in which to create the route. If the virtual // router is in a shared mesh, then you must be the owner of the virtual router // resource. // // VirtualRouterName is a required field VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" 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 CreateRouteInput) 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 CreateRouteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.RouteName == nil { invalidParams.Add(request.NewErrParamRequired("RouteName")) } if s.RouteName != nil && len(*s.RouteName) < 1 { invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", 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 invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *CreateRouteInput) SetClientToken(v string) *CreateRouteInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *CreateRouteInput) SetMeshName(v string) *CreateRouteInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *CreateRouteInput) SetMeshOwner(v string) *CreateRouteInput { s.MeshOwner = &v return s } // SetRouteName sets the RouteName field's value. func (s *CreateRouteInput) SetRouteName(v string) *CreateRouteInput { s.RouteName = &v return s } // SetSpec sets the Spec field's value. func (s *CreateRouteInput) SetSpec(v *RouteSpec) *CreateRouteInput { s.Spec = v return s } // SetTags sets the Tags field's value. func (s *CreateRouteInput) SetTags(v []*TagRef) *CreateRouteInput { s.Tags = v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *CreateRouteInput) SetVirtualRouterName(v string) *CreateRouteInput { s.VirtualRouterName = &v return s } type CreateRouteOutput struct { _ struct{} `type:"structure" payload:"Route"` // The full description of your mesh following the create call. // // Route is a required field Route *RouteData `locationName:"route" type:"structure" 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 CreateRouteOutput) 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 CreateRouteOutput) GoString() string { return s.String() } // SetRoute sets the Route field's value. func (s *CreateRouteOutput) SetRoute(v *RouteData) *CreateRouteOutput { s.Route = v return s } type CreateVirtualGatewayInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the service mesh to create the virtual gateway in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then the account that you specify must share // the mesh with your account before you can create the resource in the service // mesh. For more information about mesh sharing, see Working with shared meshes // (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The virtual gateway specification to apply. // // Spec is a required field Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` // Optional metadata that you can apply to the virtual gateway to assist with // categorization and organization. Each tag consists of a key and an optional // value, both of which you define. Tag keys can have a maximum character length // of 128 characters, and tag values can have a maximum length of 256 characters. Tags []*TagRef `locationName:"tags" type:"list"` // The name to use for the virtual gateway. // // VirtualGatewayName is a required field VirtualGatewayName *string `locationName:"virtualGatewayName" 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 CreateVirtualGatewayInput) 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 CreateVirtualGatewayInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateVirtualGatewayInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateVirtualGatewayInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualGatewayName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", 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 invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *CreateVirtualGatewayInput) SetClientToken(v string) *CreateVirtualGatewayInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *CreateVirtualGatewayInput) SetMeshName(v string) *CreateVirtualGatewayInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *CreateVirtualGatewayInput) SetMeshOwner(v string) *CreateVirtualGatewayInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. func (s *CreateVirtualGatewayInput) SetSpec(v *VirtualGatewaySpec) *CreateVirtualGatewayInput { s.Spec = v return s } // SetTags sets the Tags field's value. func (s *CreateVirtualGatewayInput) SetTags(v []*TagRef) *CreateVirtualGatewayInput { s.Tags = v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *CreateVirtualGatewayInput) SetVirtualGatewayName(v string) *CreateVirtualGatewayInput { s.VirtualGatewayName = &v return s } type CreateVirtualGatewayOutput struct { _ struct{} `type:"structure" payload:"VirtualGateway"` // The full description of your virtual gateway following the create call. // // VirtualGateway is a required field VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" 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 CreateVirtualGatewayOutput) 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 CreateVirtualGatewayOutput) GoString() string { return s.String() } // SetVirtualGateway sets the VirtualGateway field's value. func (s *CreateVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *CreateVirtualGatewayOutput { s.VirtualGateway = v return s } type CreateVirtualNodeInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the service mesh to create the virtual node in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then the account that you specify must share // the mesh with your account before you can create the resource in the service // mesh. For more information about mesh sharing, see Working with shared meshes // (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The virtual node specification to apply. // // Spec is a required field Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` // Optional metadata that you can apply to the virtual node to assist with categorization // and organization. Each tag consists of a key and an optional value, both // of which you define. Tag keys can have a maximum character length of 128 // characters, and tag values can have a maximum length of 256 characters. Tags []*TagRef `locationName:"tags" type:"list"` // The name to use for the virtual node. // // VirtualNodeName is a required field VirtualNodeName *string `locationName:"virtualNodeName" 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 CreateVirtualNodeInput) 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 CreateVirtualNodeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateVirtualNodeInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualNodeName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) } if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", 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 invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *CreateVirtualNodeInput) SetMeshOwner(v string) *CreateVirtualNodeInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput { s.Spec = v return s } // SetTags sets the Tags field's value. func (s *CreateVirtualNodeInput) SetTags(v []*TagRef) *CreateVirtualNodeInput { s.Tags = v return s } // SetVirtualNodeName sets the VirtualNodeName field's value. func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput { s.VirtualNodeName = &v return s } type CreateVirtualNodeOutput struct { _ struct{} `type:"structure" payload:"VirtualNode"` // The full description of your virtual node following the create call. // // VirtualNode is a required field VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" 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 CreateVirtualNodeOutput) 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 CreateVirtualNodeOutput) GoString() string { return s.String() } // SetVirtualNode sets the VirtualNode field's value. func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput { s.VirtualNode = v return s } type CreateVirtualRouterInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the service mesh to create the virtual router in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then the account that you specify must share // the mesh with your account before you can create the resource in the service // mesh. For more information about mesh sharing, see Working with shared meshes // (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The virtual router specification to apply. // // Spec is a required field Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` // Optional metadata that you can apply to the virtual router to assist with // categorization and organization. Each tag consists of a key and an optional // value, both of which you define. Tag keys can have a maximum character length // of 128 characters, and tag values can have a maximum length of 256 characters. Tags []*TagRef `locationName:"tags" type:"list"` // The name to use for the virtual router. // // VirtualRouterName is a required field VirtualRouterName *string `locationName:"virtualRouterName" 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 CreateVirtualRouterInput) 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 CreateVirtualRouterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateVirtualRouterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateVirtualRouterInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", 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 invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *CreateVirtualRouterInput) SetClientToken(v string) *CreateVirtualRouterInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *CreateVirtualRouterInput) SetMeshName(v string) *CreateVirtualRouterInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *CreateVirtualRouterInput) SetMeshOwner(v string) *CreateVirtualRouterInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. func (s *CreateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *CreateVirtualRouterInput { s.Spec = v return s } // SetTags sets the Tags field's value. func (s *CreateVirtualRouterInput) SetTags(v []*TagRef) *CreateVirtualRouterInput { s.Tags = v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *CreateVirtualRouterInput) SetVirtualRouterName(v string) *CreateVirtualRouterInput { s.VirtualRouterName = &v return s } type CreateVirtualRouterOutput struct { _ struct{} `type:"structure" payload:"VirtualRouter"` // The full description of your virtual router following the create call. // // VirtualRouter is a required field VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" 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 CreateVirtualRouterOutput) 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 CreateVirtualRouterOutput) GoString() string { return s.String() } // SetVirtualRouter sets the VirtualRouter field's value. func (s *CreateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *CreateVirtualRouterOutput { s.VirtualRouter = v return s } type CreateVirtualServiceInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the service mesh to create the virtual service in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then the account that you specify must share // the mesh with your account before you can create the resource in the service // mesh. For more information about mesh sharing, see Working with shared meshes // (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The virtual service specification to apply. // // Spec is a required field Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` // Optional metadata that you can apply to the virtual service to assist with // categorization and organization. Each tag consists of a key and an optional // value, both of which you define. Tag keys can have a maximum character length // of 128 characters, and tag values can have a maximum length of 256 characters. Tags []*TagRef `locationName:"tags" type:"list"` // The name to use for the virtual service. // // VirtualServiceName is a required field VirtualServiceName *string `locationName:"virtualServiceName" 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 CreateVirtualServiceInput) 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 CreateVirtualServiceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateVirtualServiceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateVirtualServiceInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualServiceName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", 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 invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *CreateVirtualServiceInput) SetClientToken(v string) *CreateVirtualServiceInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *CreateVirtualServiceInput) SetMeshName(v string) *CreateVirtualServiceInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *CreateVirtualServiceInput) SetMeshOwner(v string) *CreateVirtualServiceInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. func (s *CreateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *CreateVirtualServiceInput { s.Spec = v return s } // SetTags sets the Tags field's value. func (s *CreateVirtualServiceInput) SetTags(v []*TagRef) *CreateVirtualServiceInput { s.Tags = v return s } // SetVirtualServiceName sets the VirtualServiceName field's value. func (s *CreateVirtualServiceInput) SetVirtualServiceName(v string) *CreateVirtualServiceInput { s.VirtualServiceName = &v return s } type CreateVirtualServiceOutput struct { _ struct{} `type:"structure" payload:"VirtualService"` // The full description of your virtual service following the create call. // // VirtualService is a required field VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" 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 CreateVirtualServiceOutput) 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 CreateVirtualServiceOutput) GoString() string { return s.String() } // SetVirtualService sets the VirtualService field's value. func (s *CreateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *CreateVirtualServiceOutput { s.VirtualService = v return s } type DeleteGatewayRouteInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the gateway route to delete. // // GatewayRouteName is a required field GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` // The name of the service mesh to delete the gateway route from. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the virtual gateway to delete the route from. // // VirtualGatewayName is a required field VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" 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 DeleteGatewayRouteInput) 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 DeleteGatewayRouteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteGatewayRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayRouteInput"} if s.GatewayRouteName == nil { invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) } if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) } if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualGatewayName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetGatewayRouteName sets the GatewayRouteName field's value. func (s *DeleteGatewayRouteInput) SetGatewayRouteName(v string) *DeleteGatewayRouteInput { s.GatewayRouteName = &v return s } // SetMeshName sets the MeshName field's value. func (s *DeleteGatewayRouteInput) SetMeshName(v string) *DeleteGatewayRouteInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DeleteGatewayRouteInput) SetMeshOwner(v string) *DeleteGatewayRouteInput { s.MeshOwner = &v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *DeleteGatewayRouteInput) SetVirtualGatewayName(v string) *DeleteGatewayRouteInput { s.VirtualGatewayName = &v return s } type DeleteGatewayRouteOutput struct { _ struct{} `type:"structure" payload:"GatewayRoute"` // The gateway route that was deleted. // // GatewayRoute is a required field GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" 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 DeleteGatewayRouteOutput) 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 DeleteGatewayRouteOutput) GoString() string { return s.String() } // SetGatewayRoute sets the GatewayRoute field's value. func (s *DeleteGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *DeleteGatewayRouteOutput { s.GatewayRoute = v return s } type DeleteMeshInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh to delete. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" 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 DeleteMeshInput) 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 DeleteMeshInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteMeshInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteMeshInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DeleteMeshInput) SetMeshName(v string) *DeleteMeshInput { s.MeshName = &v return s } type DeleteMeshOutput struct { _ struct{} `type:"structure" payload:"Mesh"` // The service mesh that was deleted. // // Mesh is a required field Mesh *MeshData `locationName:"mesh" type:"structure" 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 DeleteMeshOutput) 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 DeleteMeshOutput) GoString() string { return s.String() } // SetMesh sets the Mesh field's value. func (s *DeleteMeshOutput) SetMesh(v *MeshData) *DeleteMeshOutput { s.Mesh = v return s } type DeleteRouteInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh to delete the route in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the route to delete. // // RouteName is a required field RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` // The name of the virtual router to delete the route in. // // VirtualRouterName is a required field VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" 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 DeleteRouteInput) 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 DeleteRouteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.RouteName == nil { invalidParams.Add(request.NewErrParamRequired("RouteName")) } if s.RouteName != nil && len(*s.RouteName) < 1 { invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) } if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DeleteRouteInput) SetMeshName(v string) *DeleteRouteInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DeleteRouteInput) SetMeshOwner(v string) *DeleteRouteInput { s.MeshOwner = &v return s } // SetRouteName sets the RouteName field's value. func (s *DeleteRouteInput) SetRouteName(v string) *DeleteRouteInput { s.RouteName = &v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *DeleteRouteInput) SetVirtualRouterName(v string) *DeleteRouteInput { s.VirtualRouterName = &v return s } type DeleteRouteOutput struct { _ struct{} `type:"structure" payload:"Route"` // The route that was deleted. // // Route is a required field Route *RouteData `locationName:"route" type:"structure" 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 DeleteRouteOutput) 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 DeleteRouteOutput) GoString() string { return s.String() } // SetRoute sets the Route field's value. func (s *DeleteRouteOutput) SetRoute(v *RouteData) *DeleteRouteOutput { s.Route = v return s } type DeleteVirtualGatewayInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh to delete the virtual gateway from. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the virtual gateway to delete. // // VirtualGatewayName is a required field VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" 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 DeleteVirtualGatewayInput) 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 DeleteVirtualGatewayInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteVirtualGatewayInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualGatewayInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualGatewayName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DeleteVirtualGatewayInput) SetMeshName(v string) *DeleteVirtualGatewayInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DeleteVirtualGatewayInput) SetMeshOwner(v string) *DeleteVirtualGatewayInput { s.MeshOwner = &v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *DeleteVirtualGatewayInput) SetVirtualGatewayName(v string) *DeleteVirtualGatewayInput { s.VirtualGatewayName = &v return s } type DeleteVirtualGatewayOutput struct { _ struct{} `type:"structure" payload:"VirtualGateway"` // The virtual gateway that was deleted. // // VirtualGateway is a required field VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" 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 DeleteVirtualGatewayOutput) 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 DeleteVirtualGatewayOutput) GoString() string { return s.String() } // SetVirtualGateway sets the VirtualGateway field's value. func (s *DeleteVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *DeleteVirtualGatewayOutput { s.VirtualGateway = v return s } // Deletes a virtual node input. type DeleteVirtualNodeInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh to delete the virtual node in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the virtual node to delete. // // VirtualNodeName is a required field VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" 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 DeleteVirtualNodeInput) 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 DeleteVirtualNodeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteVirtualNodeInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualNodeName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) } if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DeleteVirtualNodeInput) SetMeshOwner(v string) *DeleteVirtualNodeInput { s.MeshOwner = &v return s } // SetVirtualNodeName sets the VirtualNodeName field's value. func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput { s.VirtualNodeName = &v return s } type DeleteVirtualNodeOutput struct { _ struct{} `type:"structure" payload:"VirtualNode"` // The virtual node that was deleted. // // VirtualNode is a required field VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" 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 DeleteVirtualNodeOutput) 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 DeleteVirtualNodeOutput) GoString() string { return s.String() } // SetVirtualNode sets the VirtualNode field's value. func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput { s.VirtualNode = v return s } type DeleteVirtualRouterInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh to delete the virtual router in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the virtual router to delete. // // VirtualRouterName is a required field VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" 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 DeleteVirtualRouterInput) 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 DeleteVirtualRouterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteVirtualRouterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DeleteVirtualRouterInput) SetMeshOwner(v string) *DeleteVirtualRouterInput { s.MeshOwner = &v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *DeleteVirtualRouterInput) SetVirtualRouterName(v string) *DeleteVirtualRouterInput { s.VirtualRouterName = &v return s } type DeleteVirtualRouterOutput struct { _ struct{} `type:"structure" payload:"VirtualRouter"` // The virtual router that was deleted. // // VirtualRouter is a required field VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" 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 DeleteVirtualRouterOutput) 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 DeleteVirtualRouterOutput) GoString() string { return s.String() } // SetVirtualRouter sets the VirtualRouter field's value. func (s *DeleteVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DeleteVirtualRouterOutput { s.VirtualRouter = v return s } type DeleteVirtualServiceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh to delete the virtual service in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the virtual service to delete. // // VirtualServiceName is a required field VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" 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 DeleteVirtualServiceInput) 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 DeleteVirtualServiceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteVirtualServiceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualServiceInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualServiceName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) } if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DeleteVirtualServiceInput) SetMeshName(v string) *DeleteVirtualServiceInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DeleteVirtualServiceInput) SetMeshOwner(v string) *DeleteVirtualServiceInput { s.MeshOwner = &v return s } // SetVirtualServiceName sets the VirtualServiceName field's value. func (s *DeleteVirtualServiceInput) SetVirtualServiceName(v string) *DeleteVirtualServiceInput { s.VirtualServiceName = &v return s } type DeleteVirtualServiceOutput struct { _ struct{} `type:"structure" payload:"VirtualService"` // The virtual service that was deleted. // // VirtualService is a required field VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" 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 DeleteVirtualServiceOutput) 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 DeleteVirtualServiceOutput) GoString() string { return s.String() } // SetVirtualService sets the VirtualService field's value. func (s *DeleteVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DeleteVirtualServiceOutput { s.VirtualService = v return s } type DescribeGatewayRouteInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the gateway route to describe. // // GatewayRouteName is a required field GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` // The name of the service mesh that the gateway route resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the virtual gateway that the gateway route is associated with. // // VirtualGatewayName is a required field VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" 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 DescribeGatewayRouteInput) 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 DescribeGatewayRouteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeGatewayRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayRouteInput"} if s.GatewayRouteName == nil { invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) } if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) } if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualGatewayName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetGatewayRouteName sets the GatewayRouteName field's value. func (s *DescribeGatewayRouteInput) SetGatewayRouteName(v string) *DescribeGatewayRouteInput { s.GatewayRouteName = &v return s } // SetMeshName sets the MeshName field's value. func (s *DescribeGatewayRouteInput) SetMeshName(v string) *DescribeGatewayRouteInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DescribeGatewayRouteInput) SetMeshOwner(v string) *DescribeGatewayRouteInput { s.MeshOwner = &v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *DescribeGatewayRouteInput) SetVirtualGatewayName(v string) *DescribeGatewayRouteInput { s.VirtualGatewayName = &v return s } type DescribeGatewayRouteOutput struct { _ struct{} `type:"structure" payload:"GatewayRoute"` // The full description of your gateway route. // // GatewayRoute is a required field GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" 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 DescribeGatewayRouteOutput) 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 DescribeGatewayRouteOutput) GoString() string { return s.String() } // SetGatewayRoute sets the GatewayRoute field's value. func (s *DescribeGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *DescribeGatewayRouteOutput { s.GatewayRoute = v return s } type DescribeMeshInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh to describe. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" 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 DescribeMeshInput) 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 DescribeMeshInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeMeshInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeMeshInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DescribeMeshInput) SetMeshName(v string) *DescribeMeshInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DescribeMeshInput) SetMeshOwner(v string) *DescribeMeshInput { s.MeshOwner = &v return s } type DescribeMeshOutput struct { _ struct{} `type:"structure" payload:"Mesh"` // The full description of your service mesh. // // Mesh is a required field Mesh *MeshData `locationName:"mesh" type:"structure" 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 DescribeMeshOutput) 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 DescribeMeshOutput) GoString() string { return s.String() } // SetMesh sets the Mesh field's value. func (s *DescribeMeshOutput) SetMesh(v *MeshData) *DescribeMeshOutput { s.Mesh = v return s } type DescribeRouteInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh that the route resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the route to describe. // // RouteName is a required field RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` // The name of the virtual router that the route is associated with. // // VirtualRouterName is a required field VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" 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 DescribeRouteInput) 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 DescribeRouteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeRouteInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.RouteName == nil { invalidParams.Add(request.NewErrParamRequired("RouteName")) } if s.RouteName != nil && len(*s.RouteName) < 1 { invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) } if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DescribeRouteInput) SetMeshName(v string) *DescribeRouteInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DescribeRouteInput) SetMeshOwner(v string) *DescribeRouteInput { s.MeshOwner = &v return s } // SetRouteName sets the RouteName field's value. func (s *DescribeRouteInput) SetRouteName(v string) *DescribeRouteInput { s.RouteName = &v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *DescribeRouteInput) SetVirtualRouterName(v string) *DescribeRouteInput { s.VirtualRouterName = &v return s } type DescribeRouteOutput struct { _ struct{} `type:"structure" payload:"Route"` // The full description of your route. // // Route is a required field Route *RouteData `locationName:"route" type:"structure" 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 DescribeRouteOutput) 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 DescribeRouteOutput) GoString() string { return s.String() } // SetRoute sets the Route field's value. func (s *DescribeRouteOutput) SetRoute(v *RouteData) *DescribeRouteOutput { s.Route = v return s } type DescribeVirtualGatewayInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh that the gateway route resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the virtual gateway to describe. // // VirtualGatewayName is a required field VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" 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 DescribeVirtualGatewayInput) 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 DescribeVirtualGatewayInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeVirtualGatewayInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualGatewayInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualGatewayName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DescribeVirtualGatewayInput) SetMeshName(v string) *DescribeVirtualGatewayInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DescribeVirtualGatewayInput) SetMeshOwner(v string) *DescribeVirtualGatewayInput { s.MeshOwner = &v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *DescribeVirtualGatewayInput) SetVirtualGatewayName(v string) *DescribeVirtualGatewayInput { s.VirtualGatewayName = &v return s } type DescribeVirtualGatewayOutput struct { _ struct{} `type:"structure" payload:"VirtualGateway"` // The full description of your virtual gateway. // // VirtualGateway is a required field VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" 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 DescribeVirtualGatewayOutput) 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 DescribeVirtualGatewayOutput) GoString() string { return s.String() } // SetVirtualGateway sets the VirtualGateway field's value. func (s *DescribeVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *DescribeVirtualGatewayOutput { s.VirtualGateway = v return s } type DescribeVirtualNodeInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh that the virtual node resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the virtual node to describe. // // VirtualNodeName is a required field VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" 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 DescribeVirtualNodeInput) 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 DescribeVirtualNodeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeVirtualNodeInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualNodeInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualNodeName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) } if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DescribeVirtualNodeInput) SetMeshName(v string) *DescribeVirtualNodeInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DescribeVirtualNodeInput) SetMeshOwner(v string) *DescribeVirtualNodeInput { s.MeshOwner = &v return s } // SetVirtualNodeName sets the VirtualNodeName field's value. func (s *DescribeVirtualNodeInput) SetVirtualNodeName(v string) *DescribeVirtualNodeInput { s.VirtualNodeName = &v return s } type DescribeVirtualNodeOutput struct { _ struct{} `type:"structure" payload:"VirtualNode"` // The full description of your virtual node. // // VirtualNode is a required field VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" 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 DescribeVirtualNodeOutput) 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 DescribeVirtualNodeOutput) GoString() string { return s.String() } // SetVirtualNode sets the VirtualNode field's value. func (s *DescribeVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DescribeVirtualNodeOutput { s.VirtualNode = v return s } type DescribeVirtualRouterInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh that the virtual router resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the virtual router to describe. // // VirtualRouterName is a required field VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" 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 DescribeVirtualRouterInput) 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 DescribeVirtualRouterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeVirtualRouterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualRouterInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DescribeVirtualRouterInput) SetMeshName(v string) *DescribeVirtualRouterInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DescribeVirtualRouterInput) SetMeshOwner(v string) *DescribeVirtualRouterInput { s.MeshOwner = &v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *DescribeVirtualRouterInput) SetVirtualRouterName(v string) *DescribeVirtualRouterInput { s.VirtualRouterName = &v return s } type DescribeVirtualRouterOutput struct { _ struct{} `type:"structure" payload:"VirtualRouter"` // The full description of your virtual router. // // VirtualRouter is a required field VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" 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 DescribeVirtualRouterOutput) 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 DescribeVirtualRouterOutput) GoString() string { return s.String() } // SetVirtualRouter sets the VirtualRouter field's value. func (s *DescribeVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DescribeVirtualRouterOutput { s.VirtualRouter = v return s } type DescribeVirtualServiceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the service mesh that the virtual service resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the virtual service to describe. // // VirtualServiceName is a required field VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" 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 DescribeVirtualServiceInput) 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 DescribeVirtualServiceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeVirtualServiceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualServiceInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualServiceName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) } if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMeshName sets the MeshName field's value. func (s *DescribeVirtualServiceInput) SetMeshName(v string) *DescribeVirtualServiceInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *DescribeVirtualServiceInput) SetMeshOwner(v string) *DescribeVirtualServiceInput { s.MeshOwner = &v return s } // SetVirtualServiceName sets the VirtualServiceName field's value. func (s *DescribeVirtualServiceInput) SetVirtualServiceName(v string) *DescribeVirtualServiceInput { s.VirtualServiceName = &v return s } type DescribeVirtualServiceOutput struct { _ struct{} `type:"structure" payload:"VirtualService"` // The full description of your virtual service. // // VirtualService is a required field VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" 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 DescribeVirtualServiceOutput) 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 DescribeVirtualServiceOutput) GoString() string { return s.String() } // SetVirtualService sets the VirtualService field's value. func (s *DescribeVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DescribeVirtualServiceOutput { s.VirtualService = v return s } // An object that represents the DNS service discovery information for your // virtual node. type DnsServiceDiscovery struct { _ struct{} `type:"structure"` // Specifies the DNS service discovery hostname for the virtual node. // // Hostname is a required field Hostname *string `locationName:"hostname" type:"string" required:"true"` // The preferred IP version that this virtual node uses. Setting the IP preference // on the virtual node only overrides the IP preference set for the mesh on // this specific node. IpPreference *string `locationName:"ipPreference" type:"string" enum:"IpPreference"` // Specifies the DNS response type for the virtual node. ResponseType *string `locationName:"responseType" type:"string" enum:"DnsResponseType"` } // 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 DnsServiceDiscovery) 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 DnsServiceDiscovery) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DnsServiceDiscovery) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DnsServiceDiscovery"} if s.Hostname == nil { invalidParams.Add(request.NewErrParamRequired("Hostname")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetHostname sets the Hostname field's value. func (s *DnsServiceDiscovery) SetHostname(v string) *DnsServiceDiscovery { s.Hostname = &v return s } // SetIpPreference sets the IpPreference field's value. func (s *DnsServiceDiscovery) SetIpPreference(v string) *DnsServiceDiscovery { s.IpPreference = &v return s } // SetResponseType sets the ResponseType field's value. func (s *DnsServiceDiscovery) SetResponseType(v string) *DnsServiceDiscovery { s.ResponseType = &v return s } // An object that represents a duration of time. type Duration struct { _ struct{} `type:"structure"` // A unit of time. Unit *string `locationName:"unit" type:"string" enum:"DurationUnit"` // A number of time units. Value *int64 `locationName:"value" type:"long"` } // 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 Duration) 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 Duration) GoString() string { return s.String() } // SetUnit sets the Unit field's value. func (s *Duration) SetUnit(v string) *Duration { s.Unit = &v return s } // SetValue sets the Value field's value. func (s *Duration) SetValue(v int64) *Duration { s.Value = &v return s } // An object that represents the egress filter rules for a service mesh. type EgressFilter struct { _ struct{} `type:"structure"` // The egress filter type. By default, the type is DROP_ALL, which allows egress // only from virtual nodes to other defined resources in the service mesh (and // any traffic to *.amazonaws.com for Amazon Web Services API calls). You can // set the egress filter type to ALLOW_ALL to allow egress to any endpoint inside // or outside of the service mesh. // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"EgressFilterType"` } // 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 EgressFilter) 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 EgressFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *EgressFilter) Validate() error { invalidParams := request.ErrInvalidParams{Context: "EgressFilter"} if s.Type == nil { invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetType sets the Type field's value. func (s *EgressFilter) SetType(v string) *EgressFilter { s.Type = &v return s } // An object that represents an access log file. type FileAccessLog struct { _ struct{} `type:"structure"` // The specified format for the logs. The format is either json_format or text_format. Format *LoggingFormat `locationName:"format" type:"structure"` // The file path to write access logs to. You can use /dev/stdout to send access // logs to standard out and configure your Envoy container to use a log driver, // such as awslogs, to export the access logs to a log storage service such // as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's // file system to write the files to disk. // //

The Envoy process must have write permissions to the path that // you specify here. Otherwise, Envoy fails to bootstrap properly.

// // Path is a required field Path *string `locationName:"path" 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 FileAccessLog) 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 FileAccessLog) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *FileAccessLog) Validate() error { invalidParams := request.ErrInvalidParams{Context: "FileAccessLog"} if s.Path == nil { invalidParams.Add(request.NewErrParamRequired("Path")) } if s.Path != nil && len(*s.Path) < 1 { invalidParams.Add(request.NewErrParamMinLen("Path", 1)) } if s.Format != nil { if err := s.Format.Validate(); err != nil { invalidParams.AddNested("Format", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFormat sets the Format field's value. func (s *FileAccessLog) SetFormat(v *LoggingFormat) *FileAccessLog { s.Format = v return s } // SetPath sets the Path field's value. func (s *FileAccessLog) SetPath(v string) *FileAccessLog { s.Path = &v return s } // You don't have permissions to perform this action. type ForbiddenException 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 ForbiddenException) 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 ForbiddenException) GoString() string { return s.String() } func newErrorForbiddenException(v protocol.ResponseMetadata) error { return &ForbiddenException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ForbiddenException) Code() string { return "ForbiddenException" } // Message returns the exception's message. func (s *ForbiddenException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ForbiddenException) OrigErr() error { return nil } func (s *ForbiddenException) 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 *ForbiddenException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ForbiddenException) RequestID() string { return s.RespMetadata.RequestID } // An object that represents a gateway route returned by a describe operation. type GatewayRouteData struct { _ struct{} `type:"structure"` // The name of the gateway route. // // GatewayRouteName is a required field GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` // The name of the service mesh that the resource resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // An object that represents metadata for a resource. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` // The specifications of the gateway route. // // Spec is a required field Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` // The status of the gateway route. // // Status is a required field Status *GatewayRouteStatus `locationName:"status" type:"structure" required:"true"` // The virtual gateway that the gateway route is associated with. // // VirtualGatewayName is a required field VirtualGatewayName *string `locationName:"virtualGatewayName" 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 GatewayRouteData) 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 GatewayRouteData) GoString() string { return s.String() } // SetGatewayRouteName sets the GatewayRouteName field's value. func (s *GatewayRouteData) SetGatewayRouteName(v string) *GatewayRouteData { s.GatewayRouteName = &v return s } // SetMeshName sets the MeshName field's value. func (s *GatewayRouteData) SetMeshName(v string) *GatewayRouteData { s.MeshName = &v return s } // SetMetadata sets the Metadata field's value. func (s *GatewayRouteData) SetMetadata(v *ResourceMetadata) *GatewayRouteData { s.Metadata = v return s } // SetSpec sets the Spec field's value. func (s *GatewayRouteData) SetSpec(v *GatewayRouteSpec) *GatewayRouteData { s.Spec = v return s } // SetStatus sets the Status field's value. func (s *GatewayRouteData) SetStatus(v *GatewayRouteStatus) *GatewayRouteData { s.Status = v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *GatewayRouteData) SetVirtualGatewayName(v string) *GatewayRouteData { s.VirtualGatewayName = &v return s } // An object representing the gateway route host name to match. type GatewayRouteHostnameMatch struct { _ struct{} `type:"structure"` // The exact host name to match on. Exact *string `locationName:"exact" min:"1" type:"string"` // The specified ending characters of the host name to match on. Suffix *string `locationName:"suffix" 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 GatewayRouteHostnameMatch) 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 GatewayRouteHostnameMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GatewayRouteHostnameMatch) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GatewayRouteHostnameMatch"} if s.Exact != nil && len(*s.Exact) < 1 { invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) } if s.Suffix != nil && len(*s.Suffix) < 1 { invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetExact sets the Exact field's value. func (s *GatewayRouteHostnameMatch) SetExact(v string) *GatewayRouteHostnameMatch { s.Exact = &v return s } // SetSuffix sets the Suffix field's value. func (s *GatewayRouteHostnameMatch) SetSuffix(v string) *GatewayRouteHostnameMatch { s.Suffix = &v return s } // An object representing the gateway route host name to rewrite. type GatewayRouteHostnameRewrite struct { _ struct{} `type:"structure"` // The default target host name to write to. DefaultTargetHostname *string `locationName:"defaultTargetHostname" type:"string" enum:"DefaultGatewayRouteRewrite"` } // 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 GatewayRouteHostnameRewrite) 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 GatewayRouteHostnameRewrite) GoString() string { return s.String() } // SetDefaultTargetHostname sets the DefaultTargetHostname field's value. func (s *GatewayRouteHostnameRewrite) SetDefaultTargetHostname(v string) *GatewayRouteHostnameRewrite { s.DefaultTargetHostname = &v return s } // An object that represents a gateway route returned by a list operation. type GatewayRouteRef struct { _ struct{} `type:"structure"` // The full Amazon Resource Name (ARN) for the gateway route. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` // The Unix epoch timestamp in seconds for when the resource was created. // // CreatedAt is a required field CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` // The name of the gateway route. // // GatewayRouteName is a required field GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` // The Unix epoch timestamp in seconds for when the resource was last updated. // // LastUpdatedAt is a required field LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` // The name of the service mesh that the resource resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // MeshOwner is a required field MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the resource owner. If the account // ID is not your own, then it's the ID of the mesh owner or of another account // that the mesh is shared with. For more information about mesh sharing, see // Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` // The version of the resource. Resources are created at version 1, and this // version is incremented each time that they're updated. // // Version is a required field Version *int64 `locationName:"version" type:"long" required:"true"` // The virtual gateway that the gateway route is associated with. // // VirtualGatewayName is a required field VirtualGatewayName *string `locationName:"virtualGatewayName" 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 GatewayRouteRef) 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 GatewayRouteRef) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *GatewayRouteRef) SetArn(v string) *GatewayRouteRef { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. func (s *GatewayRouteRef) SetCreatedAt(v time.Time) *GatewayRouteRef { s.CreatedAt = &v return s } // SetGatewayRouteName sets the GatewayRouteName field's value. func (s *GatewayRouteRef) SetGatewayRouteName(v string) *GatewayRouteRef { s.GatewayRouteName = &v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *GatewayRouteRef) SetLastUpdatedAt(v time.Time) *GatewayRouteRef { s.LastUpdatedAt = &v return s } // SetMeshName sets the MeshName field's value. func (s *GatewayRouteRef) SetMeshName(v string) *GatewayRouteRef { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *GatewayRouteRef) SetMeshOwner(v string) *GatewayRouteRef { s.MeshOwner = &v return s } // SetResourceOwner sets the ResourceOwner field's value. func (s *GatewayRouteRef) SetResourceOwner(v string) *GatewayRouteRef { s.ResourceOwner = &v return s } // SetVersion sets the Version field's value. func (s *GatewayRouteRef) SetVersion(v int64) *GatewayRouteRef { s.Version = &v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *GatewayRouteRef) SetVirtualGatewayName(v string) *GatewayRouteRef { s.VirtualGatewayName = &v return s } // An object that represents a gateway route specification. Specify one gateway // route type. type GatewayRouteSpec struct { _ struct{} `type:"structure"` // An object that represents the specification of a gRPC gateway route. GrpcRoute *GrpcGatewayRoute `locationName:"grpcRoute" type:"structure"` // An object that represents the specification of an HTTP/2 gateway route. Http2Route *HttpGatewayRoute `locationName:"http2Route" type:"structure"` // An object that represents the specification of an HTTP gateway route. HttpRoute *HttpGatewayRoute `locationName:"httpRoute" type:"structure"` // The ordering of the gateway routes spec. Priority *int64 `locationName:"priority" 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 GatewayRouteSpec) 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 GatewayRouteSpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GatewayRouteSpec) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GatewayRouteSpec"} if s.GrpcRoute != nil { if err := s.GrpcRoute.Validate(); err != nil { invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) } } if s.Http2Route != nil { if err := s.Http2Route.Validate(); err != nil { invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) } } if s.HttpRoute != nil { if err := s.HttpRoute.Validate(); err != nil { invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetGrpcRoute sets the GrpcRoute field's value. func (s *GatewayRouteSpec) SetGrpcRoute(v *GrpcGatewayRoute) *GatewayRouteSpec { s.GrpcRoute = v return s } // SetHttp2Route sets the Http2Route field's value. func (s *GatewayRouteSpec) SetHttp2Route(v *HttpGatewayRoute) *GatewayRouteSpec { s.Http2Route = v return s } // SetHttpRoute sets the HttpRoute field's value. func (s *GatewayRouteSpec) SetHttpRoute(v *HttpGatewayRoute) *GatewayRouteSpec { s.HttpRoute = v return s } // SetPriority sets the Priority field's value. func (s *GatewayRouteSpec) SetPriority(v int64) *GatewayRouteSpec { s.Priority = &v return s } // An object that represents the current status of a gateway route. type GatewayRouteStatus struct { _ struct{} `type:"structure"` // The current status for the gateway route. // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"GatewayRouteStatusCode"` } // 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 GatewayRouteStatus) 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 GatewayRouteStatus) GoString() string { return s.String() } // SetStatus sets the Status field's value. func (s *GatewayRouteStatus) SetStatus(v string) *GatewayRouteStatus { s.Status = &v return s } // An object that represents a gateway route target. type GatewayRouteTarget struct { _ struct{} `type:"structure"` // The port number of the gateway route target. Port *int64 `locationName:"port" min:"1" type:"integer"` // An object that represents a virtual service gateway route target. // // VirtualService is a required field VirtualService *GatewayRouteVirtualService `locationName:"virtualService" type:"structure" 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 GatewayRouteTarget) 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 GatewayRouteTarget) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GatewayRouteTarget) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GatewayRouteTarget"} if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if s.VirtualService == nil { invalidParams.Add(request.NewErrParamRequired("VirtualService")) } if s.VirtualService != nil { if err := s.VirtualService.Validate(); err != nil { invalidParams.AddNested("VirtualService", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetPort sets the Port field's value. func (s *GatewayRouteTarget) SetPort(v int64) *GatewayRouteTarget { s.Port = &v return s } // SetVirtualService sets the VirtualService field's value. func (s *GatewayRouteTarget) SetVirtualService(v *GatewayRouteVirtualService) *GatewayRouteTarget { s.VirtualService = v return s } // An object that represents the virtual service that traffic is routed to. type GatewayRouteVirtualService struct { _ struct{} `type:"structure"` // The name of the virtual service that traffic is routed to. // // VirtualServiceName is a required field VirtualServiceName *string `locationName:"virtualServiceName" 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 GatewayRouteVirtualService) 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 GatewayRouteVirtualService) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GatewayRouteVirtualService) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GatewayRouteVirtualService"} if s.VirtualServiceName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) } if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetVirtualServiceName sets the VirtualServiceName field's value. func (s *GatewayRouteVirtualService) SetVirtualServiceName(v string) *GatewayRouteVirtualService { s.VirtualServiceName = &v return s } // An object that represents a gRPC gateway route. type GrpcGatewayRoute struct { _ struct{} `type:"structure"` // An object that represents the action to take if a match is determined. // // Action is a required field Action *GrpcGatewayRouteAction `locationName:"action" type:"structure" required:"true"` // An object that represents the criteria for determining a request match. // // Match is a required field Match *GrpcGatewayRouteMatch `locationName:"match" type:"structure" 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 GrpcGatewayRoute) 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 GrpcGatewayRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrpcGatewayRoute) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRoute"} if s.Action == nil { invalidParams.Add(request.NewErrParamRequired("Action")) } if s.Match == nil { invalidParams.Add(request.NewErrParamRequired("Match")) } if s.Action != nil { if err := s.Action.Validate(); err != nil { invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) } } if s.Match != nil { if err := s.Match.Validate(); err != nil { invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAction sets the Action field's value. func (s *GrpcGatewayRoute) SetAction(v *GrpcGatewayRouteAction) *GrpcGatewayRoute { s.Action = v return s } // SetMatch sets the Match field's value. func (s *GrpcGatewayRoute) SetMatch(v *GrpcGatewayRouteMatch) *GrpcGatewayRoute { s.Match = v return s } // An object that represents the action to take if a match is determined. type GrpcGatewayRouteAction struct { _ struct{} `type:"structure"` // The gateway route action to rewrite. Rewrite *GrpcGatewayRouteRewrite `locationName:"rewrite" type:"structure"` // An object that represents the target that traffic is routed to when a request // matches the gateway route. // // Target is a required field Target *GatewayRouteTarget `locationName:"target" type:"structure" 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 GrpcGatewayRouteAction) 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 GrpcGatewayRouteAction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrpcGatewayRouteAction) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRouteAction"} if s.Target == nil { invalidParams.Add(request.NewErrParamRequired("Target")) } if s.Target != nil { if err := s.Target.Validate(); err != nil { invalidParams.AddNested("Target", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetRewrite sets the Rewrite field's value. func (s *GrpcGatewayRouteAction) SetRewrite(v *GrpcGatewayRouteRewrite) *GrpcGatewayRouteAction { s.Rewrite = v return s } // SetTarget sets the Target field's value. func (s *GrpcGatewayRouteAction) SetTarget(v *GatewayRouteTarget) *GrpcGatewayRouteAction { s.Target = v return s } // An object that represents the criteria for determining a request match. type GrpcGatewayRouteMatch struct { _ struct{} `type:"structure"` // The gateway route host name to be matched on. Hostname *GatewayRouteHostnameMatch `locationName:"hostname" type:"structure"` // The gateway route metadata to be matched on. Metadata []*GrpcGatewayRouteMetadata `locationName:"metadata" min:"1" type:"list"` // The port number to match from the request. Port *int64 `locationName:"port" min:"1" type:"integer"` // The fully qualified domain name for the service to match from the request. ServiceName *string `locationName:"serviceName" 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 GrpcGatewayRouteMatch) 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 GrpcGatewayRouteMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrpcGatewayRouteMatch) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRouteMatch"} if s.Metadata != nil && len(s.Metadata) < 1 { invalidParams.Add(request.NewErrParamMinLen("Metadata", 1)) } if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if s.Hostname != nil { if err := s.Hostname.Validate(); err != nil { invalidParams.AddNested("Hostname", err.(request.ErrInvalidParams)) } } if s.Metadata != nil { for i, v := range s.Metadata { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetHostname sets the Hostname field's value. func (s *GrpcGatewayRouteMatch) SetHostname(v *GatewayRouteHostnameMatch) *GrpcGatewayRouteMatch { s.Hostname = v return s } // SetMetadata sets the Metadata field's value. func (s *GrpcGatewayRouteMatch) SetMetadata(v []*GrpcGatewayRouteMetadata) *GrpcGatewayRouteMatch { s.Metadata = v return s } // SetPort sets the Port field's value. func (s *GrpcGatewayRouteMatch) SetPort(v int64) *GrpcGatewayRouteMatch { s.Port = &v return s } // SetServiceName sets the ServiceName field's value. func (s *GrpcGatewayRouteMatch) SetServiceName(v string) *GrpcGatewayRouteMatch { s.ServiceName = &v return s } // An object representing the metadata of the gateway route. type GrpcGatewayRouteMetadata struct { _ struct{} `type:"structure"` // Specify True to match anything except the match criteria. The default value // is False. Invert *bool `locationName:"invert" type:"boolean"` // The criteria for determining a metadata match. Match *GrpcMetadataMatchMethod `locationName:"match" type:"structure"` // A name for the gateway route metadata. // // Name is a required field Name *string `locationName:"name" 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 GrpcGatewayRouteMetadata) 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 GrpcGatewayRouteMetadata) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrpcGatewayRouteMetadata) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRouteMetadata"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.Match != nil { if err := s.Match.Validate(); err != nil { invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetInvert sets the Invert field's value. func (s *GrpcGatewayRouteMetadata) SetInvert(v bool) *GrpcGatewayRouteMetadata { s.Invert = &v return s } // SetMatch sets the Match field's value. func (s *GrpcGatewayRouteMetadata) SetMatch(v *GrpcMetadataMatchMethod) *GrpcGatewayRouteMetadata { s.Match = v return s } // SetName sets the Name field's value. func (s *GrpcGatewayRouteMetadata) SetName(v string) *GrpcGatewayRouteMetadata { s.Name = &v return s } // An object that represents the gateway route to rewrite. type GrpcGatewayRouteRewrite struct { _ struct{} `type:"structure"` // The host name of the gateway route to rewrite. Hostname *GatewayRouteHostnameRewrite `locationName:"hostname" 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 GrpcGatewayRouteRewrite) 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 GrpcGatewayRouteRewrite) GoString() string { return s.String() } // SetHostname sets the Hostname field's value. func (s *GrpcGatewayRouteRewrite) SetHostname(v *GatewayRouteHostnameRewrite) *GrpcGatewayRouteRewrite { s.Hostname = v return s } // An object representing the method header to be matched. type GrpcMetadataMatchMethod struct { _ struct{} `type:"structure"` // The exact method header to be matched on. Exact *string `locationName:"exact" min:"1" type:"string"` // The specified beginning characters of the method header to be matched on. Prefix *string `locationName:"prefix" min:"1" type:"string"` // An object that represents the range of values to match on. The first character // of the range is included in the range, though the last character is not. // For example, if the range specified were 1-100, only values 1-99 would be // matched. Range *MatchRange `locationName:"range" type:"structure"` // The regex used to match the method header. Regex *string `locationName:"regex" min:"1" type:"string"` // The specified ending characters of the method header to match on. Suffix *string `locationName:"suffix" 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 GrpcMetadataMatchMethod) 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 GrpcMetadataMatchMethod) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrpcMetadataMatchMethod) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrpcMetadataMatchMethod"} if s.Exact != nil && len(*s.Exact) < 1 { invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) } if s.Prefix != nil && len(*s.Prefix) < 1 { invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) } if s.Regex != nil && len(*s.Regex) < 1 { invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) } if s.Suffix != nil && len(*s.Suffix) < 1 { invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) } if s.Range != nil { if err := s.Range.Validate(); err != nil { invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetExact sets the Exact field's value. func (s *GrpcMetadataMatchMethod) SetExact(v string) *GrpcMetadataMatchMethod { s.Exact = &v return s } // SetPrefix sets the Prefix field's value. func (s *GrpcMetadataMatchMethod) SetPrefix(v string) *GrpcMetadataMatchMethod { s.Prefix = &v return s } // SetRange sets the Range field's value. func (s *GrpcMetadataMatchMethod) SetRange(v *MatchRange) *GrpcMetadataMatchMethod { s.Range = v return s } // SetRegex sets the Regex field's value. func (s *GrpcMetadataMatchMethod) SetRegex(v string) *GrpcMetadataMatchMethod { s.Regex = &v return s } // SetSuffix sets the Suffix field's value. func (s *GrpcMetadataMatchMethod) SetSuffix(v string) *GrpcMetadataMatchMethod { s.Suffix = &v return s } // An object that represents a retry policy. Specify at least one value for // at least one of the types of RetryEvents, a value for maxRetries, and a value // for perRetryTimeout. Both server-error and gateway-error under httpRetryEvents // include the Envoy reset policy. For more information on the reset policy, // see the Envoy documentation (https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on). type GrpcRetryPolicy struct { _ struct{} `type:"structure"` // Specify at least one of the valid values. GrpcRetryEvents []*string `locationName:"grpcRetryEvents" min:"1" type:"list" enum:"GrpcRetryPolicyEvent"` // Specify at least one of the following values. // // * server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, // 507, 508, 510, and 511 // // * gateway-error – HTTP status codes 502, 503, and 504 // // * client-error – HTTP status code 409 // // * stream-error – Retry on refused stream HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` // The maximum number of retry attempts. // // MaxRetries is a required field MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` // The timeout for each retry attempt. // // PerRetryTimeout is a required field PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` // Specify a valid value. The event occurs before any processing of a request // has started and is encountered when the upstream is temporarily or permanently // unavailable. TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list" enum:"TcpRetryPolicyEvent"` } // 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 GrpcRetryPolicy) 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 GrpcRetryPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrpcRetryPolicy) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrpcRetryPolicy"} if s.GrpcRetryEvents != nil && len(s.GrpcRetryEvents) < 1 { invalidParams.Add(request.NewErrParamMinLen("GrpcRetryEvents", 1)) } if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) } if s.MaxRetries == nil { invalidParams.Add(request.NewErrParamRequired("MaxRetries")) } if s.PerRetryTimeout == nil { invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) } if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetGrpcRetryEvents sets the GrpcRetryEvents field's value. func (s *GrpcRetryPolicy) SetGrpcRetryEvents(v []*string) *GrpcRetryPolicy { s.GrpcRetryEvents = v return s } // SetHttpRetryEvents sets the HttpRetryEvents field's value. func (s *GrpcRetryPolicy) SetHttpRetryEvents(v []*string) *GrpcRetryPolicy { s.HttpRetryEvents = v return s } // SetMaxRetries sets the MaxRetries field's value. func (s *GrpcRetryPolicy) SetMaxRetries(v int64) *GrpcRetryPolicy { s.MaxRetries = &v return s } // SetPerRetryTimeout sets the PerRetryTimeout field's value. func (s *GrpcRetryPolicy) SetPerRetryTimeout(v *Duration) *GrpcRetryPolicy { s.PerRetryTimeout = v return s } // SetTcpRetryEvents sets the TcpRetryEvents field's value. func (s *GrpcRetryPolicy) SetTcpRetryEvents(v []*string) *GrpcRetryPolicy { s.TcpRetryEvents = v return s } // An object that represents a gRPC route type. type GrpcRoute struct { _ struct{} `type:"structure"` // An object that represents the action to take if a match is determined. // // Action is a required field Action *GrpcRouteAction `locationName:"action" type:"structure" required:"true"` // An object that represents the criteria for determining a request match. // // Match is a required field Match *GrpcRouteMatch `locationName:"match" type:"structure" required:"true"` // An object that represents a retry policy. RetryPolicy *GrpcRetryPolicy `locationName:"retryPolicy" type:"structure"` // An object that represents types of timeouts. Timeout *GrpcTimeout `locationName:"timeout" 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 GrpcRoute) 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 GrpcRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrpcRoute) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrpcRoute"} if s.Action == nil { invalidParams.Add(request.NewErrParamRequired("Action")) } if s.Match == nil { invalidParams.Add(request.NewErrParamRequired("Match")) } if s.Action != nil { if err := s.Action.Validate(); err != nil { invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) } } if s.Match != nil { if err := s.Match.Validate(); err != nil { invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) } } if s.RetryPolicy != nil { if err := s.RetryPolicy.Validate(); err != nil { invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAction sets the Action field's value. func (s *GrpcRoute) SetAction(v *GrpcRouteAction) *GrpcRoute { s.Action = v return s } // SetMatch sets the Match field's value. func (s *GrpcRoute) SetMatch(v *GrpcRouteMatch) *GrpcRoute { s.Match = v return s } // SetRetryPolicy sets the RetryPolicy field's value. func (s *GrpcRoute) SetRetryPolicy(v *GrpcRetryPolicy) *GrpcRoute { s.RetryPolicy = v return s } // SetTimeout sets the Timeout field's value. func (s *GrpcRoute) SetTimeout(v *GrpcTimeout) *GrpcRoute { s.Timeout = v return s } // An object that represents the action to take if a match is determined. type GrpcRouteAction struct { _ struct{} `type:"structure"` // An object that represents the targets that traffic is routed to when a request // matches the route. // // WeightedTargets is a required field WeightedTargets []*WeightedTarget `locationName:"weightedTargets" 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 GrpcRouteAction) 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 GrpcRouteAction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrpcRouteAction) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrpcRouteAction"} if s.WeightedTargets == nil { invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) } if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) } if s.WeightedTargets != nil { for i, v := range s.WeightedTargets { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetWeightedTargets sets the WeightedTargets field's value. func (s *GrpcRouteAction) SetWeightedTargets(v []*WeightedTarget) *GrpcRouteAction { s.WeightedTargets = v return s } // An object that represents the criteria for determining a request match. type GrpcRouteMatch struct { _ struct{} `type:"structure"` // An object that represents the data to match from the request. Metadata []*GrpcRouteMetadata `locationName:"metadata" min:"1" type:"list"` // The method name to match from the request. If you specify a name, you must // also specify a serviceName. MethodName *string `locationName:"methodName" min:"1" type:"string"` // The port number to match on. Port *int64 `locationName:"port" min:"1" type:"integer"` // The fully qualified domain name for the service to match from the request. ServiceName *string `locationName:"serviceName" 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 GrpcRouteMatch) 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 GrpcRouteMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrpcRouteMatch) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMatch"} if s.Metadata != nil && len(s.Metadata) < 1 { invalidParams.Add(request.NewErrParamMinLen("Metadata", 1)) } if s.MethodName != nil && len(*s.MethodName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MethodName", 1)) } if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if s.Metadata != nil { for i, v := range s.Metadata { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMetadata sets the Metadata field's value. func (s *GrpcRouteMatch) SetMetadata(v []*GrpcRouteMetadata) *GrpcRouteMatch { s.Metadata = v return s } // SetMethodName sets the MethodName field's value. func (s *GrpcRouteMatch) SetMethodName(v string) *GrpcRouteMatch { s.MethodName = &v return s } // SetPort sets the Port field's value. func (s *GrpcRouteMatch) SetPort(v int64) *GrpcRouteMatch { s.Port = &v return s } // SetServiceName sets the ServiceName field's value. func (s *GrpcRouteMatch) SetServiceName(v string) *GrpcRouteMatch { s.ServiceName = &v return s } // An object that represents the match metadata for the route. type GrpcRouteMetadata struct { _ struct{} `type:"structure"` // Specify True to match anything except the match criteria. The default value // is False. Invert *bool `locationName:"invert" type:"boolean"` // An object that represents the data to match from the request. Match *GrpcRouteMetadataMatchMethod `locationName:"match" type:"structure"` // The name of the route. // // Name is a required field Name *string `locationName:"name" 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 GrpcRouteMetadata) 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 GrpcRouteMetadata) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrpcRouteMetadata) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadata"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.Match != nil { if err := s.Match.Validate(); err != nil { invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetInvert sets the Invert field's value. func (s *GrpcRouteMetadata) SetInvert(v bool) *GrpcRouteMetadata { s.Invert = &v return s } // SetMatch sets the Match field's value. func (s *GrpcRouteMetadata) SetMatch(v *GrpcRouteMetadataMatchMethod) *GrpcRouteMetadata { s.Match = v return s } // SetName sets the Name field's value. func (s *GrpcRouteMetadata) SetName(v string) *GrpcRouteMetadata { s.Name = &v return s } // An object that represents the match method. Specify one of the match values. type GrpcRouteMetadataMatchMethod struct { _ struct{} `type:"structure"` // The value sent by the client must match the specified value exactly. Exact *string `locationName:"exact" min:"1" type:"string"` // The value sent by the client must begin with the specified characters. Prefix *string `locationName:"prefix" min:"1" type:"string"` // An object that represents the range of values to match on. Range *MatchRange `locationName:"range" type:"structure"` // The value sent by the client must include the specified characters. Regex *string `locationName:"regex" min:"1" type:"string"` // The value sent by the client must end with the specified characters. Suffix *string `locationName:"suffix" 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 GrpcRouteMetadataMatchMethod) 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 GrpcRouteMetadataMatchMethod) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrpcRouteMetadataMatchMethod) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadataMatchMethod"} if s.Exact != nil && len(*s.Exact) < 1 { invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) } if s.Prefix != nil && len(*s.Prefix) < 1 { invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) } if s.Regex != nil && len(*s.Regex) < 1 { invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) } if s.Suffix != nil && len(*s.Suffix) < 1 { invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) } if s.Range != nil { if err := s.Range.Validate(); err != nil { invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetExact sets the Exact field's value. func (s *GrpcRouteMetadataMatchMethod) SetExact(v string) *GrpcRouteMetadataMatchMethod { s.Exact = &v return s } // SetPrefix sets the Prefix field's value. func (s *GrpcRouteMetadataMatchMethod) SetPrefix(v string) *GrpcRouteMetadataMatchMethod { s.Prefix = &v return s } // SetRange sets the Range field's value. func (s *GrpcRouteMetadataMatchMethod) SetRange(v *MatchRange) *GrpcRouteMetadataMatchMethod { s.Range = v return s } // SetRegex sets the Regex field's value. func (s *GrpcRouteMetadataMatchMethod) SetRegex(v string) *GrpcRouteMetadataMatchMethod { s.Regex = &v return s } // SetSuffix sets the Suffix field's value. func (s *GrpcRouteMetadataMatchMethod) SetSuffix(v string) *GrpcRouteMetadataMatchMethod { s.Suffix = &v return s } // An object that represents types of timeouts. type GrpcTimeout struct { _ struct{} `type:"structure"` // An object that represents an idle timeout. An idle timeout bounds the amount // of time that a connection may be idle. The default value is none. Idle *Duration `locationName:"idle" type:"structure"` // An object that represents a per request timeout. The default value is 15 // seconds. If you set a higher timeout, then make sure that the higher value // is set for each App Mesh resource in a conversation. For example, if a virtual // node backend uses a virtual router provider to route to another virtual node, // then the timeout should be greater than 15 seconds for the source and destination // virtual node and the route. PerRequest *Duration `locationName:"perRequest" 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 GrpcTimeout) 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 GrpcTimeout) GoString() string { return s.String() } // SetIdle sets the Idle field's value. func (s *GrpcTimeout) SetIdle(v *Duration) *GrpcTimeout { s.Idle = v return s } // SetPerRequest sets the PerRequest field's value. func (s *GrpcTimeout) SetPerRequest(v *Duration) *GrpcTimeout { s.PerRequest = v return s } // An object that represents the method and value to match with the header value // sent in a request. Specify one match method. type HeaderMatchMethod struct { _ struct{} `type:"structure"` // The value sent by the client must match the specified value exactly. Exact *string `locationName:"exact" min:"1" type:"string"` // The value sent by the client must begin with the specified characters. Prefix *string `locationName:"prefix" min:"1" type:"string"` // An object that represents the range of values to match on. Range *MatchRange `locationName:"range" type:"structure"` // The value sent by the client must include the specified characters. Regex *string `locationName:"regex" min:"1" type:"string"` // The value sent by the client must end with the specified characters. Suffix *string `locationName:"suffix" 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 HeaderMatchMethod) 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 HeaderMatchMethod) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HeaderMatchMethod) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HeaderMatchMethod"} if s.Exact != nil && len(*s.Exact) < 1 { invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) } if s.Prefix != nil && len(*s.Prefix) < 1 { invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) } if s.Regex != nil && len(*s.Regex) < 1 { invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) } if s.Suffix != nil && len(*s.Suffix) < 1 { invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) } if s.Range != nil { if err := s.Range.Validate(); err != nil { invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetExact sets the Exact field's value. func (s *HeaderMatchMethod) SetExact(v string) *HeaderMatchMethod { s.Exact = &v return s } // SetPrefix sets the Prefix field's value. func (s *HeaderMatchMethod) SetPrefix(v string) *HeaderMatchMethod { s.Prefix = &v return s } // SetRange sets the Range field's value. func (s *HeaderMatchMethod) SetRange(v *MatchRange) *HeaderMatchMethod { s.Range = v return s } // SetRegex sets the Regex field's value. func (s *HeaderMatchMethod) SetRegex(v string) *HeaderMatchMethod { s.Regex = &v return s } // SetSuffix sets the Suffix field's value. func (s *HeaderMatchMethod) SetSuffix(v string) *HeaderMatchMethod { s.Suffix = &v return s } // An object that represents the health check policy for a virtual node's listener. type HealthCheckPolicy struct { _ struct{} `type:"structure"` // The number of consecutive successful health checks that must occur before // declaring listener healthy. // // HealthyThreshold is a required field HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` // The time period in milliseconds between each health check execution. // // IntervalMillis is a required field IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` // The destination path for the health check request. This value is only used // if the specified protocol is HTTP or HTTP/2. For any other protocol, this // value is ignored. Path *string `locationName:"path" type:"string"` // The destination port for the health check request. This port must match the // port defined in the PortMapping for the listener. Port *int64 `locationName:"port" min:"1" type:"integer"` // The protocol for the health check request. If you specify grpc, then your // service must conform to the GRPC Health Checking Protocol (https://github.com/grpc/grpc/blob/master/doc/health-checking.md). // // Protocol is a required field Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` // The amount of time to wait when receiving a response from the health check, // in milliseconds. // // TimeoutMillis is a required field TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` // The number of consecutive failed health checks that must occur before declaring // a virtual node unhealthy. // // UnhealthyThreshold is a required field UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" 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 HealthCheckPolicy) 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 HealthCheckPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HealthCheckPolicy) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"} if s.HealthyThreshold == nil { invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) } if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) } if s.IntervalMillis == nil { invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) } if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) } if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if s.Protocol == nil { invalidParams.Add(request.NewErrParamRequired("Protocol")) } if s.TimeoutMillis == nil { invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) } if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) } if s.UnhealthyThreshold == nil { invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) } if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetHealthyThreshold sets the HealthyThreshold field's value. func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy { s.HealthyThreshold = &v return s } // SetIntervalMillis sets the IntervalMillis field's value. func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy { s.IntervalMillis = &v return s } // SetPath sets the Path field's value. func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy { s.Path = &v return s } // SetPort sets the Port field's value. func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy { s.Port = &v return s } // SetProtocol sets the Protocol field's value. func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy { s.Protocol = &v return s } // SetTimeoutMillis sets the TimeoutMillis field's value. func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy { s.TimeoutMillis = &v return s } // SetUnhealthyThreshold sets the UnhealthyThreshold field's value. func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy { s.UnhealthyThreshold = &v return s } // An object that represents an HTTP gateway route. type HttpGatewayRoute struct { _ struct{} `type:"structure"` // An object that represents the action to take if a match is determined. // // Action is a required field Action *HttpGatewayRouteAction `locationName:"action" type:"structure" required:"true"` // An object that represents the criteria for determining a request match. // // Match is a required field Match *HttpGatewayRouteMatch `locationName:"match" type:"structure" 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 HttpGatewayRoute) 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 HttpGatewayRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpGatewayRoute) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRoute"} if s.Action == nil { invalidParams.Add(request.NewErrParamRequired("Action")) } if s.Match == nil { invalidParams.Add(request.NewErrParamRequired("Match")) } if s.Action != nil { if err := s.Action.Validate(); err != nil { invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) } } if s.Match != nil { if err := s.Match.Validate(); err != nil { invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAction sets the Action field's value. func (s *HttpGatewayRoute) SetAction(v *HttpGatewayRouteAction) *HttpGatewayRoute { s.Action = v return s } // SetMatch sets the Match field's value. func (s *HttpGatewayRoute) SetMatch(v *HttpGatewayRouteMatch) *HttpGatewayRoute { s.Match = v return s } // An object that represents the action to take if a match is determined. type HttpGatewayRouteAction struct { _ struct{} `type:"structure"` // The gateway route action to rewrite. Rewrite *HttpGatewayRouteRewrite `locationName:"rewrite" type:"structure"` // An object that represents the target that traffic is routed to when a request // matches the gateway route. // // Target is a required field Target *GatewayRouteTarget `locationName:"target" type:"structure" 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 HttpGatewayRouteAction) 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 HttpGatewayRouteAction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpGatewayRouteAction) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteAction"} if s.Target == nil { invalidParams.Add(request.NewErrParamRequired("Target")) } if s.Rewrite != nil { if err := s.Rewrite.Validate(); err != nil { invalidParams.AddNested("Rewrite", err.(request.ErrInvalidParams)) } } if s.Target != nil { if err := s.Target.Validate(); err != nil { invalidParams.AddNested("Target", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetRewrite sets the Rewrite field's value. func (s *HttpGatewayRouteAction) SetRewrite(v *HttpGatewayRouteRewrite) *HttpGatewayRouteAction { s.Rewrite = v return s } // SetTarget sets the Target field's value. func (s *HttpGatewayRouteAction) SetTarget(v *GatewayRouteTarget) *HttpGatewayRouteAction { s.Target = v return s } // An object that represents the HTTP header in the gateway route. type HttpGatewayRouteHeader struct { _ struct{} `type:"structure"` // Specify True to match anything except the match criteria. The default value // is False. Invert *bool `locationName:"invert" type:"boolean"` // An object that represents the method and value to match with the header value // sent in a request. Specify one match method. Match *HeaderMatchMethod `locationName:"match" type:"structure"` // A name for the HTTP header in the gateway route that will be matched on. // // Name is a required field Name *string `locationName:"name" 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 HttpGatewayRouteHeader) 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 HttpGatewayRouteHeader) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpGatewayRouteHeader) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteHeader"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.Match != nil { if err := s.Match.Validate(); err != nil { invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetInvert sets the Invert field's value. func (s *HttpGatewayRouteHeader) SetInvert(v bool) *HttpGatewayRouteHeader { s.Invert = &v return s } // SetMatch sets the Match field's value. func (s *HttpGatewayRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpGatewayRouteHeader { s.Match = v return s } // SetName sets the Name field's value. func (s *HttpGatewayRouteHeader) SetName(v string) *HttpGatewayRouteHeader { s.Name = &v return s } // An object that represents the criteria for determining a request match. type HttpGatewayRouteMatch struct { _ struct{} `type:"structure"` // The client request headers to match on. Headers []*HttpGatewayRouteHeader `locationName:"headers" min:"1" type:"list"` // The host name to match on. Hostname *GatewayRouteHostnameMatch `locationName:"hostname" type:"structure"` // The method to match on. Method *string `locationName:"method" type:"string" enum:"HttpMethod"` // The path to match on. Path *HttpPathMatch `locationName:"path" type:"structure"` // The port number to match on. Port *int64 `locationName:"port" min:"1" type:"integer"` // Specifies the path to match requests with. This parameter must always start // with /, which by itself matches all requests to the virtual service name. // You can also match for path-based routing of requests. For example, if your // virtual service name is my-service.local and you want the route to match // requests to my-service.local/metrics, your prefix should be /metrics. Prefix *string `locationName:"prefix" type:"string"` // The query parameter to match on. QueryParameters []*HttpQueryParameter `locationName:"queryParameters" 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 HttpGatewayRouteMatch) 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 HttpGatewayRouteMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpGatewayRouteMatch) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteMatch"} if s.Headers != nil && len(s.Headers) < 1 { invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) } if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if s.QueryParameters != nil && len(s.QueryParameters) < 1 { invalidParams.Add(request.NewErrParamMinLen("QueryParameters", 1)) } if s.Headers != nil { for i, v := range s.Headers { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams)) } } } if s.Hostname != nil { if err := s.Hostname.Validate(); err != nil { invalidParams.AddNested("Hostname", err.(request.ErrInvalidParams)) } } if s.Path != nil { if err := s.Path.Validate(); err != nil { invalidParams.AddNested("Path", err.(request.ErrInvalidParams)) } } if s.QueryParameters != nil { for i, v := range s.QueryParameters { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueryParameters", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetHeaders sets the Headers field's value. func (s *HttpGatewayRouteMatch) SetHeaders(v []*HttpGatewayRouteHeader) *HttpGatewayRouteMatch { s.Headers = v return s } // SetHostname sets the Hostname field's value. func (s *HttpGatewayRouteMatch) SetHostname(v *GatewayRouteHostnameMatch) *HttpGatewayRouteMatch { s.Hostname = v return s } // SetMethod sets the Method field's value. func (s *HttpGatewayRouteMatch) SetMethod(v string) *HttpGatewayRouteMatch { s.Method = &v return s } // SetPath sets the Path field's value. func (s *HttpGatewayRouteMatch) SetPath(v *HttpPathMatch) *HttpGatewayRouteMatch { s.Path = v return s } // SetPort sets the Port field's value. func (s *HttpGatewayRouteMatch) SetPort(v int64) *HttpGatewayRouteMatch { s.Port = &v return s } // SetPrefix sets the Prefix field's value. func (s *HttpGatewayRouteMatch) SetPrefix(v string) *HttpGatewayRouteMatch { s.Prefix = &v return s } // SetQueryParameters sets the QueryParameters field's value. func (s *HttpGatewayRouteMatch) SetQueryParameters(v []*HttpQueryParameter) *HttpGatewayRouteMatch { s.QueryParameters = v return s } // An object that represents the path to rewrite. type HttpGatewayRoutePathRewrite struct { _ struct{} `type:"structure"` // The exact path to rewrite. Exact *string `locationName:"exact" 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 HttpGatewayRoutePathRewrite) 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 HttpGatewayRoutePathRewrite) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpGatewayRoutePathRewrite) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRoutePathRewrite"} if s.Exact != nil && len(*s.Exact) < 1 { invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetExact sets the Exact field's value. func (s *HttpGatewayRoutePathRewrite) SetExact(v string) *HttpGatewayRoutePathRewrite { s.Exact = &v return s } // An object representing the beginning characters of the route to rewrite. type HttpGatewayRoutePrefixRewrite struct { _ struct{} `type:"structure"` // The default prefix used to replace the incoming route prefix when rewritten. DefaultPrefix *string `locationName:"defaultPrefix" type:"string" enum:"DefaultGatewayRouteRewrite"` // The value used to replace the incoming route prefix when rewritten. Value *string `locationName:"value" 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 HttpGatewayRoutePrefixRewrite) 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 HttpGatewayRoutePrefixRewrite) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpGatewayRoutePrefixRewrite) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRoutePrefixRewrite"} if s.Value != nil && len(*s.Value) < 1 { invalidParams.Add(request.NewErrParamMinLen("Value", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetDefaultPrefix sets the DefaultPrefix field's value. func (s *HttpGatewayRoutePrefixRewrite) SetDefaultPrefix(v string) *HttpGatewayRoutePrefixRewrite { s.DefaultPrefix = &v return s } // SetValue sets the Value field's value. func (s *HttpGatewayRoutePrefixRewrite) SetValue(v string) *HttpGatewayRoutePrefixRewrite { s.Value = &v return s } // An object representing the gateway route to rewrite. type HttpGatewayRouteRewrite struct { _ struct{} `type:"structure"` // The host name to rewrite. Hostname *GatewayRouteHostnameRewrite `locationName:"hostname" type:"structure"` // The path to rewrite. Path *HttpGatewayRoutePathRewrite `locationName:"path" type:"structure"` // The specified beginning characters to rewrite. Prefix *HttpGatewayRoutePrefixRewrite `locationName:"prefix" 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 HttpGatewayRouteRewrite) 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 HttpGatewayRouteRewrite) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpGatewayRouteRewrite) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteRewrite"} if s.Path != nil { if err := s.Path.Validate(); err != nil { invalidParams.AddNested("Path", err.(request.ErrInvalidParams)) } } if s.Prefix != nil { if err := s.Prefix.Validate(); err != nil { invalidParams.AddNested("Prefix", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetHostname sets the Hostname field's value. func (s *HttpGatewayRouteRewrite) SetHostname(v *GatewayRouteHostnameRewrite) *HttpGatewayRouteRewrite { s.Hostname = v return s } // SetPath sets the Path field's value. func (s *HttpGatewayRouteRewrite) SetPath(v *HttpGatewayRoutePathRewrite) *HttpGatewayRouteRewrite { s.Path = v return s } // SetPrefix sets the Prefix field's value. func (s *HttpGatewayRouteRewrite) SetPrefix(v *HttpGatewayRoutePrefixRewrite) *HttpGatewayRouteRewrite { s.Prefix = v return s } // An object representing the path to match in the request. type HttpPathMatch struct { _ struct{} `type:"structure"` // The exact path to match on. Exact *string `locationName:"exact" min:"1" type:"string"` // The regex used to match the path. Regex *string `locationName:"regex" 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 HttpPathMatch) 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 HttpPathMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpPathMatch) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpPathMatch"} if s.Exact != nil && len(*s.Exact) < 1 { invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) } if s.Regex != nil && len(*s.Regex) < 1 { invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetExact sets the Exact field's value. func (s *HttpPathMatch) SetExact(v string) *HttpPathMatch { s.Exact = &v return s } // SetRegex sets the Regex field's value. func (s *HttpPathMatch) SetRegex(v string) *HttpPathMatch { s.Regex = &v return s } // An object that represents the query parameter in the request. type HttpQueryParameter struct { _ struct{} `type:"structure"` // The query parameter to match on. Match *QueryParameterMatch `locationName:"match" type:"structure"` // A name for the query parameter that will be matched on. // // Name is a required field Name *string `locationName:"name" 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 HttpQueryParameter) 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 HttpQueryParameter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpQueryParameter) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpQueryParameter"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMatch sets the Match field's value. func (s *HttpQueryParameter) SetMatch(v *QueryParameterMatch) *HttpQueryParameter { s.Match = v return s } // SetName sets the Name field's value. func (s *HttpQueryParameter) SetName(v string) *HttpQueryParameter { s.Name = &v return s } // An object that represents a retry policy. Specify at least one value for // at least one of the types of RetryEvents, a value for maxRetries, and a value // for perRetryTimeout. Both server-error and gateway-error under httpRetryEvents // include the Envoy reset policy. For more information on the reset policy, // see the Envoy documentation (https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on). type HttpRetryPolicy struct { _ struct{} `type:"structure"` // Specify at least one of the following values. // // * server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, // 507, 508, 510, and 511 // // * gateway-error – HTTP status codes 502, 503, and 504 // // * client-error – HTTP status code 409 // // * stream-error – Retry on refused stream HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` // The maximum number of retry attempts. // // MaxRetries is a required field MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` // The timeout for each retry attempt. // // PerRetryTimeout is a required field PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` // Specify a valid value. The event occurs before any processing of a request // has started and is encountered when the upstream is temporarily or permanently // unavailable. TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list" enum:"TcpRetryPolicyEvent"` } // 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 HttpRetryPolicy) 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 HttpRetryPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpRetryPolicy) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpRetryPolicy"} if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) } if s.MaxRetries == nil { invalidParams.Add(request.NewErrParamRequired("MaxRetries")) } if s.PerRetryTimeout == nil { invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) } if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetHttpRetryEvents sets the HttpRetryEvents field's value. func (s *HttpRetryPolicy) SetHttpRetryEvents(v []*string) *HttpRetryPolicy { s.HttpRetryEvents = v return s } // SetMaxRetries sets the MaxRetries field's value. func (s *HttpRetryPolicy) SetMaxRetries(v int64) *HttpRetryPolicy { s.MaxRetries = &v return s } // SetPerRetryTimeout sets the PerRetryTimeout field's value. func (s *HttpRetryPolicy) SetPerRetryTimeout(v *Duration) *HttpRetryPolicy { s.PerRetryTimeout = v return s } // SetTcpRetryEvents sets the TcpRetryEvents field's value. func (s *HttpRetryPolicy) SetTcpRetryEvents(v []*string) *HttpRetryPolicy { s.TcpRetryEvents = v return s } // An object that represents an HTTP or HTTP/2 route type. type HttpRoute struct { _ struct{} `type:"structure"` // An object that represents the action to take if a match is determined. // // Action is a required field Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"` // An object that represents the criteria for determining a request match. // // Match is a required field Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"` // An object that represents a retry policy. RetryPolicy *HttpRetryPolicy `locationName:"retryPolicy" type:"structure"` // An object that represents types of timeouts. Timeout *HttpTimeout `locationName:"timeout" 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 HttpRoute) 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 HttpRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpRoute) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpRoute"} if s.Action == nil { invalidParams.Add(request.NewErrParamRequired("Action")) } if s.Match == nil { invalidParams.Add(request.NewErrParamRequired("Match")) } if s.Action != nil { if err := s.Action.Validate(); err != nil { invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) } } if s.Match != nil { if err := s.Match.Validate(); err != nil { invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) } } if s.RetryPolicy != nil { if err := s.RetryPolicy.Validate(); err != nil { invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAction sets the Action field's value. func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute { s.Action = v return s } // SetMatch sets the Match field's value. func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute { s.Match = v return s } // SetRetryPolicy sets the RetryPolicy field's value. func (s *HttpRoute) SetRetryPolicy(v *HttpRetryPolicy) *HttpRoute { s.RetryPolicy = v return s } // SetTimeout sets the Timeout field's value. func (s *HttpRoute) SetTimeout(v *HttpTimeout) *HttpRoute { s.Timeout = v return s } // An object that represents the action to take if a match is determined. type HttpRouteAction struct { _ struct{} `type:"structure"` // An object that represents the targets that traffic is routed to when a request // matches the route. // // WeightedTargets is a required field WeightedTargets []*WeightedTarget `locationName:"weightedTargets" 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 HttpRouteAction) 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 HttpRouteAction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpRouteAction) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"} if s.WeightedTargets == nil { invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) } if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) } if s.WeightedTargets != nil { for i, v := range s.WeightedTargets { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetWeightedTargets sets the WeightedTargets field's value. func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction { s.WeightedTargets = v return s } // An object that represents the HTTP header in the request. type HttpRouteHeader struct { _ struct{} `type:"structure"` // Specify True to match anything except the match criteria. The default value // is False. Invert *bool `locationName:"invert" type:"boolean"` // The HeaderMatchMethod object. Match *HeaderMatchMethod `locationName:"match" type:"structure"` // A name for the HTTP header in the client request that will be matched on. // // Name is a required field Name *string `locationName:"name" 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 HttpRouteHeader) 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 HttpRouteHeader) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpRouteHeader) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpRouteHeader"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.Match != nil { if err := s.Match.Validate(); err != nil { invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetInvert sets the Invert field's value. func (s *HttpRouteHeader) SetInvert(v bool) *HttpRouteHeader { s.Invert = &v return s } // SetMatch sets the Match field's value. func (s *HttpRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpRouteHeader { s.Match = v return s } // SetName sets the Name field's value. func (s *HttpRouteHeader) SetName(v string) *HttpRouteHeader { s.Name = &v return s } // An object that represents the requirements for a route to match HTTP requests // for a virtual router. type HttpRouteMatch struct { _ struct{} `type:"structure"` // The client request headers to match on. Headers []*HttpRouteHeader `locationName:"headers" min:"1" type:"list"` // The client request method to match on. Specify only one. Method *string `locationName:"method" type:"string" enum:"HttpMethod"` // The client request path to match on. Path *HttpPathMatch `locationName:"path" type:"structure"` // The port number to match on. Port *int64 `locationName:"port" min:"1" type:"integer"` // Specifies the path to match requests with. This parameter must always start // with /, which by itself matches all requests to the virtual service name. // You can also match for path-based routing of requests. For example, if your // virtual service name is my-service.local and you want the route to match // requests to my-service.local/metrics, your prefix should be /metrics. Prefix *string `locationName:"prefix" type:"string"` // The client request query parameters to match on. QueryParameters []*HttpQueryParameter `locationName:"queryParameters" min:"1" type:"list"` // The client request scheme to match on. Specify only one. Applicable only // for HTTP2 routes. Scheme *string `locationName:"scheme" type:"string" enum:"HttpScheme"` } // 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 HttpRouteMatch) 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 HttpRouteMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HttpRouteMatch) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"} if s.Headers != nil && len(s.Headers) < 1 { invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) } if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if s.QueryParameters != nil && len(s.QueryParameters) < 1 { invalidParams.Add(request.NewErrParamMinLen("QueryParameters", 1)) } if s.Headers != nil { for i, v := range s.Headers { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams)) } } } if s.Path != nil { if err := s.Path.Validate(); err != nil { invalidParams.AddNested("Path", err.(request.ErrInvalidParams)) } } if s.QueryParameters != nil { for i, v := range s.QueryParameters { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueryParameters", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetHeaders sets the Headers field's value. func (s *HttpRouteMatch) SetHeaders(v []*HttpRouteHeader) *HttpRouteMatch { s.Headers = v return s } // SetMethod sets the Method field's value. func (s *HttpRouteMatch) SetMethod(v string) *HttpRouteMatch { s.Method = &v return s } // SetPath sets the Path field's value. func (s *HttpRouteMatch) SetPath(v *HttpPathMatch) *HttpRouteMatch { s.Path = v return s } // SetPort sets the Port field's value. func (s *HttpRouteMatch) SetPort(v int64) *HttpRouteMatch { s.Port = &v return s } // SetPrefix sets the Prefix field's value. func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { s.Prefix = &v return s } // SetQueryParameters sets the QueryParameters field's value. func (s *HttpRouteMatch) SetQueryParameters(v []*HttpQueryParameter) *HttpRouteMatch { s.QueryParameters = v return s } // SetScheme sets the Scheme field's value. func (s *HttpRouteMatch) SetScheme(v string) *HttpRouteMatch { s.Scheme = &v return s } // An object that represents types of timeouts. type HttpTimeout struct { _ struct{} `type:"structure"` // An object that represents an idle timeout. An idle timeout bounds the amount // of time that a connection may be idle. The default value is none. Idle *Duration `locationName:"idle" type:"structure"` // An object that represents a per request timeout. The default value is 15 // seconds. If you set a higher timeout, then make sure that the higher value // is set for each App Mesh resource in a conversation. For example, if a virtual // node backend uses a virtual router provider to route to another virtual node, // then the timeout should be greater than 15 seconds for the source and destination // virtual node and the route. PerRequest *Duration `locationName:"perRequest" 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 HttpTimeout) 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 HttpTimeout) GoString() string { return s.String() } // SetIdle sets the Idle field's value. func (s *HttpTimeout) SetIdle(v *Duration) *HttpTimeout { s.Idle = v return s } // SetPerRequest sets the PerRequest field's value. func (s *HttpTimeout) SetPerRequest(v *Duration) *HttpTimeout { s.PerRequest = v return s } // The request processing has failed because of an unknown error, exception, // or failure. type InternalServerErrorException 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 InternalServerErrorException) 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 InternalServerErrorException) GoString() string { return s.String() } func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { return &InternalServerErrorException{ RespMetadata: v, } } // Code returns the exception type name. func (s *InternalServerErrorException) Code() string { return "InternalServerErrorException" } // Message returns the exception's message. func (s *InternalServerErrorException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *InternalServerErrorException) OrigErr() error { return nil } func (s *InternalServerErrorException) 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 *InternalServerErrorException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *InternalServerErrorException) RequestID() string { return s.RespMetadata.RequestID } // An object that represents the key value pairs for the JSON. type JsonFormatRef struct { _ struct{} `type:"structure"` // The specified key for the JSON. // // Key is a required field Key *string `locationName:"key" min:"1" type:"string" required:"true"` // The specified value for the JSON. // // Value is a required field Value *string `locationName:"value" 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 JsonFormatRef) 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 JsonFormatRef) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *JsonFormatRef) Validate() error { invalidParams := request.ErrInvalidParams{Context: "JsonFormatRef"} 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 s.Value != nil && len(*s.Value) < 1 { invalidParams.Add(request.NewErrParamMinLen("Value", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetKey sets the Key field's value. func (s *JsonFormatRef) SetKey(v string) *JsonFormatRef { s.Key = &v return s } // SetValue sets the Value field's value. func (s *JsonFormatRef) SetValue(v string) *JsonFormatRef { s.Value = &v return s } // You have exceeded a service limit for your account. For more information, // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the App Mesh User Guide. 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 ListGatewayRoutesInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results returned by ListGatewayRoutes in paginated // output. When you use this parameter, ListGatewayRoutes returns only limit // results in a single page along with a nextToken response element. You can // see the remaining results of the initial request by sending another ListGatewayRoutes // request with the returned nextToken value. This value can be between 1 and // 100. If you don't use this parameter, ListGatewayRoutes returns up to 100 // results and a nextToken value if applicable. Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` // The name of the service mesh to list gateway routes in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The nextToken value returned from a previous paginated ListGatewayRoutes // request where limit was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The name of the virtual gateway to list gateway routes in. // // VirtualGatewayName is a required field VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" 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 ListGatewayRoutesInput) 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 ListGatewayRoutesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListGatewayRoutesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListGatewayRoutesInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualGatewayName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetLimit sets the Limit field's value. func (s *ListGatewayRoutesInput) SetLimit(v int64) *ListGatewayRoutesInput { s.Limit = &v return s } // SetMeshName sets the MeshName field's value. func (s *ListGatewayRoutesInput) SetMeshName(v string) *ListGatewayRoutesInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *ListGatewayRoutesInput) SetMeshOwner(v string) *ListGatewayRoutesInput { s.MeshOwner = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListGatewayRoutesInput) SetNextToken(v string) *ListGatewayRoutesInput { s.NextToken = &v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *ListGatewayRoutesInput) SetVirtualGatewayName(v string) *ListGatewayRoutesInput { s.VirtualGatewayName = &v return s } type ListGatewayRoutesOutput struct { _ struct{} `type:"structure"` // The list of existing gateway routes for the specified service mesh and virtual // gateway. // // GatewayRoutes is a required field GatewayRoutes []*GatewayRouteRef `locationName:"gatewayRoutes" type:"list" required:"true"` // The nextToken value to include in a future ListGatewayRoutes request. When // the results of a ListGatewayRoutes request exceed limit, you can use this // value to retrieve the next page of results. This value is null when there // are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` } // 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 ListGatewayRoutesOutput) 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 ListGatewayRoutesOutput) GoString() string { return s.String() } // SetGatewayRoutes sets the GatewayRoutes field's value. func (s *ListGatewayRoutesOutput) SetGatewayRoutes(v []*GatewayRouteRef) *ListGatewayRoutesOutput { s.GatewayRoutes = v return s } // SetNextToken sets the NextToken field's value. func (s *ListGatewayRoutesOutput) SetNextToken(v string) *ListGatewayRoutesOutput { s.NextToken = &v return s } type ListMeshesInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results returned by ListMeshes in paginated output. // When you use this parameter, ListMeshes returns only limit results in a single // page along with a nextToken response element. You can see the remaining results // of the initial request by sending another ListMeshes request with the returned // nextToken value. This value can be between 1 and 100. If you don't use this // parameter, ListMeshes returns up to 100 results and a nextToken value if // applicable. Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` // The nextToken value returned from a previous paginated ListMeshes request // where limit was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. // // This token should be treated as an opaque identifier that is used only to // retrieve the next items in a list and not for other programmatic purposes. NextToken *string `location:"querystring" locationName:"nextToken" 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 ListMeshesInput) 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 ListMeshesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListMeshesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetLimit sets the Limit field's value. func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput { s.Limit = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput { s.NextToken = &v return s } type ListMeshesOutput struct { _ struct{} `type:"structure"` // The list of existing service meshes. // // Meshes is a required field Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"` // The nextToken value to include in a future ListMeshes request. When the results // of a ListMeshes request exceed limit, you can use this value to retrieve // the next page of results. This value is null when there are no more results // to return. NextToken *string `locationName:"nextToken" type:"string"` } // 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 ListMeshesOutput) 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 ListMeshesOutput) GoString() string { return s.String() } // SetMeshes sets the Meshes field's value. func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput { s.Meshes = v return s } // SetNextToken sets the NextToken field's value. func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput { s.NextToken = &v return s } type ListRoutesInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results returned by ListRoutes in paginated output. // When you use this parameter, ListRoutes returns only limit results in a single // page along with a nextToken response element. You can see the remaining results // of the initial request by sending another ListRoutes request with the returned // nextToken value. This value can be between 1 and 100. If you don't use this // parameter, ListRoutes returns up to 100 results and a nextToken value if // applicable. Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` // The name of the service mesh to list routes in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The nextToken value returned from a previous paginated ListRoutes request // where limit was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The name of the virtual router to list routes in. // // VirtualRouterName is a required field VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" 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 ListRoutesInput) 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 ListRoutesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListRoutesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetLimit sets the Limit field's value. func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput { s.Limit = &v return s } // SetMeshName sets the MeshName field's value. func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *ListRoutesInput) SetMeshOwner(v string) *ListRoutesInput { s.MeshOwner = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput { s.NextToken = &v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput { s.VirtualRouterName = &v return s } type ListRoutesOutput struct { _ struct{} `type:"structure"` // The nextToken value to include in a future ListRoutes request. When the results // of a ListRoutes request exceed limit, you can use this value to retrieve // the next page of results. This value is null when there are no more results // to return. NextToken *string `locationName:"nextToken" type:"string"` // The list of existing routes for the specified service mesh and virtual router. // // Routes is a required field Routes []*RouteRef `locationName:"routes" 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 ListRoutesOutput) 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 ListRoutesOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput { s.NextToken = &v return s } // SetRoutes sets the Routes field's value. func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput { s.Routes = v return s } type ListTagsForResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of tag results returned by ListTagsForResource in paginated // output. When this parameter is used, ListTagsForResource returns only limit // results in a single page along with a nextToken response element. You can // see the remaining results of the initial request by sending another ListTagsForResource // request with the returned nextToken value. This value can be between 1 and // 100. If you don't use this parameter, ListTagsForResource returns up to 100 // results and a nextToken value if applicable. Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` // The nextToken value returned from a previous paginated ListTagsForResource // request where limit was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The Amazon Resource Name (ARN) that identifies the resource to list the tags // for. // // ResourceArn is a required field ResourceArn *string `location:"querystring" locationName:"resourceArn" 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.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetLimit sets the Limit field's value. func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput { s.Limit = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { s.NextToken = &v return s } // 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 nextToken value to include in a future ListTagsForResource request. When // the results of a ListTagsForResource request exceed limit, you can use this // value to retrieve the next page of results. This value is null when there // are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` // The tags for the resource. // // Tags is a required field Tags []*TagRef `locationName:"tags" 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 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() } // SetNextToken sets the NextToken field's value. func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { s.NextToken = &v return s } // SetTags sets the Tags field's value. func (s *ListTagsForResourceOutput) SetTags(v []*TagRef) *ListTagsForResourceOutput { s.Tags = v return s } type ListVirtualGatewaysInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results returned by ListVirtualGateways in paginated // output. When you use this parameter, ListVirtualGateways returns only limit // results in a single page along with a nextToken response element. You can // see the remaining results of the initial request by sending another ListVirtualGateways // request with the returned nextToken value. This value can be between 1 and // 100. If you don't use this parameter, ListVirtualGateways returns up to 100 // results and a nextToken value if applicable. Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` // The name of the service mesh to list virtual gateways in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The nextToken value returned from a previous paginated ListVirtualGateways // request where limit was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. NextToken *string `location:"querystring" locationName:"nextToken" 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 ListVirtualGatewaysInput) 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 ListVirtualGatewaysInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListVirtualGatewaysInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListVirtualGatewaysInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetLimit sets the Limit field's value. func (s *ListVirtualGatewaysInput) SetLimit(v int64) *ListVirtualGatewaysInput { s.Limit = &v return s } // SetMeshName sets the MeshName field's value. func (s *ListVirtualGatewaysInput) SetMeshName(v string) *ListVirtualGatewaysInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *ListVirtualGatewaysInput) SetMeshOwner(v string) *ListVirtualGatewaysInput { s.MeshOwner = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListVirtualGatewaysInput) SetNextToken(v string) *ListVirtualGatewaysInput { s.NextToken = &v return s } type ListVirtualGatewaysOutput struct { _ struct{} `type:"structure"` // The nextToken value to include in a future ListVirtualGateways request. When // the results of a ListVirtualGateways request exceed limit, you can use this // value to retrieve the next page of results. This value is null when there // are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` // The list of existing virtual gateways for the specified service mesh. // // VirtualGateways is a required field VirtualGateways []*VirtualGatewayRef `locationName:"virtualGateways" 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 ListVirtualGatewaysOutput) 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 ListVirtualGatewaysOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *ListVirtualGatewaysOutput) SetNextToken(v string) *ListVirtualGatewaysOutput { s.NextToken = &v return s } // SetVirtualGateways sets the VirtualGateways field's value. func (s *ListVirtualGatewaysOutput) SetVirtualGateways(v []*VirtualGatewayRef) *ListVirtualGatewaysOutput { s.VirtualGateways = v return s } type ListVirtualNodesInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results returned by ListVirtualNodes in paginated output. // When you use this parameter, ListVirtualNodes returns only limit results // in a single page along with a nextToken response element. You can see the // remaining results of the initial request by sending another ListVirtualNodes // request with the returned nextToken value. This value can be between 1 and // 100. If you don't use this parameter, ListVirtualNodes returns up to 100 // results and a nextToken value if applicable. Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` // The name of the service mesh to list virtual nodes in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The nextToken value returned from a previous paginated ListVirtualNodes request // where limit was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. NextToken *string `location:"querystring" locationName:"nextToken" 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 ListVirtualNodesInput) 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 ListVirtualNodesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListVirtualNodesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetLimit sets the Limit field's value. func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput { s.Limit = &v return s } // SetMeshName sets the MeshName field's value. func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *ListVirtualNodesInput) SetMeshOwner(v string) *ListVirtualNodesInput { s.MeshOwner = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput { s.NextToken = &v return s } type ListVirtualNodesOutput struct { _ struct{} `type:"structure"` // The nextToken value to include in a future ListVirtualNodes request. When // the results of a ListVirtualNodes request exceed limit, you can use this // value to retrieve the next page of results. This value is null when there // are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` // The list of existing virtual nodes for the specified service mesh. // // VirtualNodes is a required field VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" 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 ListVirtualNodesOutput) 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 ListVirtualNodesOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput { s.NextToken = &v return s } // SetVirtualNodes sets the VirtualNodes field's value. func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput { s.VirtualNodes = v return s } type ListVirtualRoutersInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results returned by ListVirtualRouters in paginated // output. When you use this parameter, ListVirtualRouters returns only limit // results in a single page along with a nextToken response element. You can // see the remaining results of the initial request by sending another ListVirtualRouters // request with the returned nextToken value. This value can be between 1 and // 100. If you don't use this parameter, ListVirtualRouters returns up to 100 // results and a nextToken value if applicable. Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` // The name of the service mesh to list virtual routers in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The nextToken value returned from a previous paginated ListVirtualRouters // request where limit was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. NextToken *string `location:"querystring" locationName:"nextToken" 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 ListVirtualRoutersInput) 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 ListVirtualRoutersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListVirtualRoutersInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetLimit sets the Limit field's value. func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput { s.Limit = &v return s } // SetMeshName sets the MeshName field's value. func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *ListVirtualRoutersInput) SetMeshOwner(v string) *ListVirtualRoutersInput { s.MeshOwner = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput { s.NextToken = &v return s } type ListVirtualRoutersOutput struct { _ struct{} `type:"structure"` // The nextToken value to include in a future ListVirtualRouters request. When // the results of a ListVirtualRouters request exceed limit, you can use this // value to retrieve the next page of results. This value is null when there // are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` // The list of existing virtual routers for the specified service mesh. // // VirtualRouters is a required field VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" 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 ListVirtualRoutersOutput) 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 ListVirtualRoutersOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput { s.NextToken = &v return s } // SetVirtualRouters sets the VirtualRouters field's value. func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput { s.VirtualRouters = v return s } type ListVirtualServicesInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results returned by ListVirtualServices in paginated // output. When you use this parameter, ListVirtualServices returns only limit // results in a single page along with a nextToken response element. You can // see the remaining results of the initial request by sending another ListVirtualServices // request with the returned nextToken value. This value can be between 1 and // 100. If you don't use this parameter, ListVirtualServices returns up to 100 // results and a nextToken value if applicable. Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` // The name of the service mesh to list virtual services in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The nextToken value returned from a previous paginated ListVirtualServices // request where limit was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. NextToken *string `location:"querystring" locationName:"nextToken" 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 ListVirtualServicesInput) 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 ListVirtualServicesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListVirtualServicesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetLimit sets the Limit field's value. func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput { s.Limit = &v return s } // SetMeshName sets the MeshName field's value. func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *ListVirtualServicesInput) SetMeshOwner(v string) *ListVirtualServicesInput { s.MeshOwner = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput { s.NextToken = &v return s } type ListVirtualServicesOutput struct { _ struct{} `type:"structure"` // The nextToken value to include in a future ListVirtualServices request. When // the results of a ListVirtualServices request exceed limit, you can use this // value to retrieve the next page of results. This value is null when there // are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` // The list of existing virtual services for the specified service mesh. // // VirtualServices is a required field VirtualServices []*VirtualServiceRef `locationName:"virtualServices" 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 ListVirtualServicesOutput) 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 ListVirtualServicesOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput { s.NextToken = &v return s } // SetVirtualServices sets the VirtualServices field's value. func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput { s.VirtualServices = v return s } // An object that represents a listener for a virtual node. type Listener struct { _ struct{} `type:"structure"` // The connection pool information for the listener. ConnectionPool *VirtualNodeConnectionPool `locationName:"connectionPool" type:"structure"` // The health check information for the listener. HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` // The outlier detection information for the listener. OutlierDetection *OutlierDetection `locationName:"outlierDetection" type:"structure"` // The port mapping information for the listener. // // PortMapping is a required field PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` // An object that represents timeouts for different protocols. Timeout *ListenerTimeout `locationName:"timeout" type:"structure"` // A reference to an object that represents the Transport Layer Security (TLS) // properties for a listener. Tls *ListenerTls `locationName:"tls" 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 Listener) 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 Listener) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Listener) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Listener"} if s.PortMapping == nil { invalidParams.Add(request.NewErrParamRequired("PortMapping")) } if s.ConnectionPool != nil { if err := s.ConnectionPool.Validate(); err != nil { invalidParams.AddNested("ConnectionPool", err.(request.ErrInvalidParams)) } } if s.HealthCheck != nil { if err := s.HealthCheck.Validate(); err != nil { invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) } } if s.OutlierDetection != nil { if err := s.OutlierDetection.Validate(); err != nil { invalidParams.AddNested("OutlierDetection", err.(request.ErrInvalidParams)) } } if s.PortMapping != nil { if err := s.PortMapping.Validate(); err != nil { invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) } } if s.Tls != nil { if err := s.Tls.Validate(); err != nil { invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetConnectionPool sets the ConnectionPool field's value. func (s *Listener) SetConnectionPool(v *VirtualNodeConnectionPool) *Listener { s.ConnectionPool = v return s } // SetHealthCheck sets the HealthCheck field's value. func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener { s.HealthCheck = v return s } // SetOutlierDetection sets the OutlierDetection field's value. func (s *Listener) SetOutlierDetection(v *OutlierDetection) *Listener { s.OutlierDetection = v return s } // SetPortMapping sets the PortMapping field's value. func (s *Listener) SetPortMapping(v *PortMapping) *Listener { s.PortMapping = v return s } // SetTimeout sets the Timeout field's value. func (s *Listener) SetTimeout(v *ListenerTimeout) *Listener { s.Timeout = v return s } // SetTls sets the Tls field's value. func (s *Listener) SetTls(v *ListenerTls) *Listener { s.Tls = v return s } // An object that represents timeouts for different protocols. type ListenerTimeout struct { _ struct{} `type:"structure"` // An object that represents types of timeouts. Grpc *GrpcTimeout `locationName:"grpc" type:"structure"` // An object that represents types of timeouts. Http *HttpTimeout `locationName:"http" type:"structure"` // An object that represents types of timeouts. Http2 *HttpTimeout `locationName:"http2" type:"structure"` // An object that represents types of timeouts. Tcp *TcpTimeout `locationName:"tcp" 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 ListenerTimeout) 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 ListenerTimeout) GoString() string { return s.String() } // SetGrpc sets the Grpc field's value. func (s *ListenerTimeout) SetGrpc(v *GrpcTimeout) *ListenerTimeout { s.Grpc = v return s } // SetHttp sets the Http field's value. func (s *ListenerTimeout) SetHttp(v *HttpTimeout) *ListenerTimeout { s.Http = v return s } // SetHttp2 sets the Http2 field's value. func (s *ListenerTimeout) SetHttp2(v *HttpTimeout) *ListenerTimeout { s.Http2 = v return s } // SetTcp sets the Tcp field's value. func (s *ListenerTimeout) SetTcp(v *TcpTimeout) *ListenerTimeout { s.Tcp = v return s } // An object that represents the Transport Layer Security (TLS) properties for // a listener. type ListenerTls struct { _ struct{} `type:"structure"` // A reference to an object that represents a listener's Transport Layer Security // (TLS) certificate. // // Certificate is a required field Certificate *ListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"` // Specify one of the following modes. // // * STRICT – Listener only accepts connections with TLS enabled. // // * PERMISSIVE – Listener accepts connections with or without TLS enabled. // // * DISABLED – Listener only accepts connections without TLS. // // Mode is a required field Mode *string `locationName:"mode" type:"string" required:"true" enum:"ListenerTlsMode"` // A reference to an object that represents a listener's Transport Layer Security // (TLS) validation context. Validation *ListenerTlsValidationContext `locationName:"validation" 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 ListenerTls) 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 ListenerTls) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListenerTls) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListenerTls"} if s.Certificate == nil { invalidParams.Add(request.NewErrParamRequired("Certificate")) } if s.Mode == nil { invalidParams.Add(request.NewErrParamRequired("Mode")) } if s.Certificate != nil { if err := s.Certificate.Validate(); err != nil { invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) } } if s.Validation != nil { if err := s.Validation.Validate(); err != nil { invalidParams.AddNested("Validation", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificate sets the Certificate field's value. func (s *ListenerTls) SetCertificate(v *ListenerTlsCertificate) *ListenerTls { s.Certificate = v return s } // SetMode sets the Mode field's value. func (s *ListenerTls) SetMode(v string) *ListenerTls { s.Mode = &v return s } // SetValidation sets the Validation field's value. func (s *ListenerTls) SetValidation(v *ListenerTlsValidationContext) *ListenerTls { s.Validation = v return s } // An object that represents an Certificate Manager certificate. type ListenerTlsAcmCertificate struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) for the certificate. The certificate must // meet specific requirements and you must have proxy authorization enabled. // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). // // CertificateArn is a required field CertificateArn *string `locationName:"certificateArn" 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 ListenerTlsAcmCertificate) 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 ListenerTlsAcmCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListenerTlsAcmCertificate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListenerTlsAcmCertificate"} if s.CertificateArn == nil { invalidParams.Add(request.NewErrParamRequired("CertificateArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificateArn sets the CertificateArn field's value. func (s *ListenerTlsAcmCertificate) SetCertificateArn(v string) *ListenerTlsAcmCertificate { s.CertificateArn = &v return s } // An object that represents a listener's Transport Layer Security (TLS) certificate. type ListenerTlsCertificate struct { _ struct{} `type:"structure"` // A reference to an object that represents an Certificate Manager certificate. Acm *ListenerTlsAcmCertificate `locationName:"acm" type:"structure"` // A reference to an object that represents a local file certificate. File *ListenerTlsFileCertificate `locationName:"file" type:"structure"` // A reference to an object that represents a listener's Secret Discovery Service // certificate. Sds *ListenerTlsSdsCertificate `locationName:"sds" 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 ListenerTlsCertificate) 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 ListenerTlsCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListenerTlsCertificate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListenerTlsCertificate"} if s.Acm != nil { if err := s.Acm.Validate(); err != nil { invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) } } if s.File != nil { if err := s.File.Validate(); err != nil { invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } if s.Sds != nil { if err := s.Sds.Validate(); err != nil { invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAcm sets the Acm field's value. func (s *ListenerTlsCertificate) SetAcm(v *ListenerTlsAcmCertificate) *ListenerTlsCertificate { s.Acm = v return s } // SetFile sets the File field's value. func (s *ListenerTlsCertificate) SetFile(v *ListenerTlsFileCertificate) *ListenerTlsCertificate { s.File = v return s } // SetSds sets the Sds field's value. func (s *ListenerTlsCertificate) SetSds(v *ListenerTlsSdsCertificate) *ListenerTlsCertificate { s.Sds = v return s } // An object that represents a local file certificate. The certificate must // meet specific requirements and you must have proxy authorization enabled. // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). type ListenerTlsFileCertificate struct { _ struct{} `type:"structure"` // The certificate chain for the certificate. // // CertificateChain is a required field CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` // The private key for a certificate stored on the file system of the virtual // node that the proxy is running on. // // PrivateKey is a required field PrivateKey *string `locationName:"privateKey" 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 ListenerTlsFileCertificate) 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 ListenerTlsFileCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListenerTlsFileCertificate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListenerTlsFileCertificate"} if s.CertificateChain == nil { invalidParams.Add(request.NewErrParamRequired("CertificateChain")) } if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) } if s.PrivateKey == nil { invalidParams.Add(request.NewErrParamRequired("PrivateKey")) } if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificateChain sets the CertificateChain field's value. func (s *ListenerTlsFileCertificate) SetCertificateChain(v string) *ListenerTlsFileCertificate { s.CertificateChain = &v return s } // SetPrivateKey sets the PrivateKey field's value. func (s *ListenerTlsFileCertificate) SetPrivateKey(v string) *ListenerTlsFileCertificate { s.PrivateKey = &v return s } // An object that represents the listener's Secret Discovery Service certificate. // The proxy must be configured with a local SDS provider via a Unix Domain // Socket. See App Mesh TLS documentation (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) // for more info. type ListenerTlsSdsCertificate struct { _ struct{} `type:"structure"` // A reference to an object that represents the name of the secret requested // from the Secret Discovery Service provider representing Transport Layer Security // (TLS) materials like a certificate or certificate chain. // // SecretName is a required field SecretName *string `locationName:"secretName" 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 ListenerTlsSdsCertificate) 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 ListenerTlsSdsCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListenerTlsSdsCertificate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListenerTlsSdsCertificate"} if s.SecretName == nil { invalidParams.Add(request.NewErrParamRequired("SecretName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetSecretName sets the SecretName field's value. func (s *ListenerTlsSdsCertificate) SetSecretName(v string) *ListenerTlsSdsCertificate { s.SecretName = &v return s } // An object that represents a listener's Transport Layer Security (TLS) validation // context. type ListenerTlsValidationContext struct { _ struct{} `type:"structure"` // A reference to an object that represents the SANs for a listener's Transport // Layer Security (TLS) validation context. SubjectAlternativeNames *SubjectAlternativeNames `locationName:"subjectAlternativeNames" type:"structure"` // A reference to where to retrieve the trust chain when validating a peer’s // Transport Layer Security (TLS) certificate. // // Trust is a required field Trust *ListenerTlsValidationContextTrust `locationName:"trust" type:"structure" 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 ListenerTlsValidationContext) 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 ListenerTlsValidationContext) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListenerTlsValidationContext) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListenerTlsValidationContext"} if s.Trust == nil { invalidParams.Add(request.NewErrParamRequired("Trust")) } if s.SubjectAlternativeNames != nil { if err := s.SubjectAlternativeNames.Validate(); err != nil { invalidParams.AddNested("SubjectAlternativeNames", err.(request.ErrInvalidParams)) } } if s.Trust != nil { if err := s.Trust.Validate(); err != nil { invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. func (s *ListenerTlsValidationContext) SetSubjectAlternativeNames(v *SubjectAlternativeNames) *ListenerTlsValidationContext { s.SubjectAlternativeNames = v return s } // SetTrust sets the Trust field's value. func (s *ListenerTlsValidationContext) SetTrust(v *ListenerTlsValidationContextTrust) *ListenerTlsValidationContext { s.Trust = v return s } // An object that represents a listener's Transport Layer Security (TLS) validation // context trust. type ListenerTlsValidationContextTrust struct { _ struct{} `type:"structure"` // An object that represents a Transport Layer Security (TLS) validation context // trust for a local file. File *TlsValidationContextFileTrust `locationName:"file" type:"structure"` // A reference to an object that represents a listener's Transport Layer Security // (TLS) Secret Discovery Service validation context trust. Sds *TlsValidationContextSdsTrust `locationName:"sds" 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 ListenerTlsValidationContextTrust) 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 ListenerTlsValidationContextTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListenerTlsValidationContextTrust) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListenerTlsValidationContextTrust"} if s.File != nil { if err := s.File.Validate(); err != nil { invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } if s.Sds != nil { if err := s.Sds.Validate(); err != nil { invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFile sets the File field's value. func (s *ListenerTlsValidationContextTrust) SetFile(v *TlsValidationContextFileTrust) *ListenerTlsValidationContextTrust { s.File = v return s } // SetSds sets the Sds field's value. func (s *ListenerTlsValidationContextTrust) SetSds(v *TlsValidationContextSdsTrust) *ListenerTlsValidationContextTrust { s.Sds = v return s } // An object that represents the logging information for a virtual node. type Logging struct { _ struct{} `type:"structure"` // The access log configuration for a virtual node. AccessLog *AccessLog `locationName:"accessLog" 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 Logging) 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 Logging) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Logging) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Logging"} if s.AccessLog != nil { if err := s.AccessLog.Validate(); err != nil { invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAccessLog sets the AccessLog field's value. func (s *Logging) SetAccessLog(v *AccessLog) *Logging { s.AccessLog = v return s } // An object that represents the format for the logs. type LoggingFormat struct { _ struct{} `type:"structure"` Json []*JsonFormatRef `locationName:"json" type:"list"` Text *string `locationName:"text" 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 LoggingFormat) 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 LoggingFormat) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LoggingFormat) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LoggingFormat"} if s.Text != nil && len(*s.Text) < 1 { invalidParams.Add(request.NewErrParamMinLen("Text", 1)) } if s.Json != nil { for i, v := range s.Json { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Json", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetJson sets the Json field's value. func (s *LoggingFormat) SetJson(v []*JsonFormatRef) *LoggingFormat { s.Json = v return s } // SetText sets the Text field's value. func (s *LoggingFormat) SetText(v string) *LoggingFormat { s.Text = &v return s } // An object that represents the range of values to match on. The first character // of the range is included in the range, though the last character is not. // For example, if the range specified were 1-100, only values 1-99 would be // matched. type MatchRange struct { _ struct{} `type:"structure"` // The end of the range. // // End is a required field End *int64 `locationName:"end" type:"long" required:"true"` // The start of the range. // // Start is a required field Start *int64 `locationName:"start" type:"long" 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 MatchRange) 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 MatchRange) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *MatchRange) Validate() error { invalidParams := request.ErrInvalidParams{Context: "MatchRange"} if s.End == nil { invalidParams.Add(request.NewErrParamRequired("End")) } if s.Start == nil { invalidParams.Add(request.NewErrParamRequired("Start")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEnd sets the End field's value. func (s *MatchRange) SetEnd(v int64) *MatchRange { s.End = &v return s } // SetStart sets the Start field's value. func (s *MatchRange) SetStart(v int64) *MatchRange { s.Start = &v return s } // An object that represents a service mesh returned by a describe operation. type MeshData struct { _ struct{} `type:"structure"` // The name of the service mesh. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The associated metadata for the service mesh. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` // The associated specification for the service mesh. // // Spec is a required field Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"` // The status of the service mesh. // // Status is a required field Status *MeshStatus `locationName:"status" type:"structure" 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 MeshData) 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 MeshData) GoString() string { return s.String() } // SetMeshName sets the MeshName field's value. func (s *MeshData) SetMeshName(v string) *MeshData { s.MeshName = &v return s } // SetMetadata sets the Metadata field's value. func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData { s.Metadata = v return s } // SetSpec sets the Spec field's value. func (s *MeshData) SetSpec(v *MeshSpec) *MeshData { s.Spec = v return s } // SetStatus sets the Status field's value. func (s *MeshData) SetStatus(v *MeshStatus) *MeshData { s.Status = v return s } // An object that represents a service mesh returned by a list operation. type MeshRef struct { _ struct{} `type:"structure"` // The full Amazon Resource Name (ARN) of the service mesh. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` // The Unix epoch timestamp in seconds for when the resource was created. // // CreatedAt is a required field CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` // The Unix epoch timestamp in seconds for when the resource was last updated. // // LastUpdatedAt is a required field LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` // The name of the service mesh. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // MeshOwner is a required field MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the resource owner. If the account // ID is not your own, then it's the ID of the mesh owner or of another account // that the mesh is shared with. For more information about mesh sharing, see // Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` // The version of the resource. Resources are created at version 1, and this // version is incremented each time that they're updated. // // Version is a required field Version *int64 `locationName:"version" type:"long" 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 MeshRef) 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 MeshRef) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *MeshRef) SetArn(v string) *MeshRef { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. func (s *MeshRef) SetCreatedAt(v time.Time) *MeshRef { s.CreatedAt = &v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *MeshRef) SetLastUpdatedAt(v time.Time) *MeshRef { s.LastUpdatedAt = &v return s } // SetMeshName sets the MeshName field's value. func (s *MeshRef) SetMeshName(v string) *MeshRef { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *MeshRef) SetMeshOwner(v string) *MeshRef { s.MeshOwner = &v return s } // SetResourceOwner sets the ResourceOwner field's value. func (s *MeshRef) SetResourceOwner(v string) *MeshRef { s.ResourceOwner = &v return s } // SetVersion sets the Version field's value. func (s *MeshRef) SetVersion(v int64) *MeshRef { s.Version = &v return s } // An object that represents the service discovery information for a service // mesh. type MeshServiceDiscovery struct { _ struct{} `type:"structure"` // The IP version to use to control traffic within the mesh. IpPreference *string `locationName:"ipPreference" type:"string" enum:"IpPreference"` } // 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 MeshServiceDiscovery) 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 MeshServiceDiscovery) GoString() string { return s.String() } // SetIpPreference sets the IpPreference field's value. func (s *MeshServiceDiscovery) SetIpPreference(v string) *MeshServiceDiscovery { s.IpPreference = &v return s } // An object that represents the specification of a service mesh. type MeshSpec struct { _ struct{} `type:"structure"` // The egress filter rules for the service mesh. EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"` // An object that represents the service discovery information for a service // mesh. ServiceDiscovery *MeshServiceDiscovery `locationName:"serviceDiscovery" 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 MeshSpec) 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 MeshSpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *MeshSpec) Validate() error { invalidParams := request.ErrInvalidParams{Context: "MeshSpec"} if s.EgressFilter != nil { if err := s.EgressFilter.Validate(); err != nil { invalidParams.AddNested("EgressFilter", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEgressFilter sets the EgressFilter field's value. func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec { s.EgressFilter = v return s } // SetServiceDiscovery sets the ServiceDiscovery field's value. func (s *MeshSpec) SetServiceDiscovery(v *MeshServiceDiscovery) *MeshSpec { s.ServiceDiscovery = v return s } // An object that represents the status of a service mesh. type MeshStatus struct { _ struct{} `type:"structure"` // The current mesh status. Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"` } // 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 MeshStatus) 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 MeshStatus) GoString() string { return s.String() } // SetStatus sets the Status field's value. func (s *MeshStatus) SetStatus(v string) *MeshStatus { s.Status = &v return s } // The specified resource doesn't exist. Check your request syntax and try again. type NotFoundException 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 NotFoundException) 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 NotFoundException) GoString() string { return s.String() } func newErrorNotFoundException(v protocol.ResponseMetadata) error { return &NotFoundException{ RespMetadata: v, } } // Code returns the exception type name. func (s *NotFoundException) Code() string { return "NotFoundException" } // Message returns the exception's message. func (s *NotFoundException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *NotFoundException) OrigErr() error { return nil } func (s *NotFoundException) 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 *NotFoundException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *NotFoundException) RequestID() string { return s.RespMetadata.RequestID } // An object that represents the outlier detection for a virtual node's listener. type OutlierDetection struct { _ struct{} `type:"structure"` // The base amount of time for which a host is ejected. // // BaseEjectionDuration is a required field BaseEjectionDuration *Duration `locationName:"baseEjectionDuration" type:"structure" required:"true"` // The time interval between ejection sweep analysis. // // Interval is a required field Interval *Duration `locationName:"interval" type:"structure" required:"true"` // Maximum percentage of hosts in load balancing pool for upstream service that // can be ejected. Will eject at least one host regardless of the value. // // MaxEjectionPercent is a required field MaxEjectionPercent *int64 `locationName:"maxEjectionPercent" type:"integer" required:"true"` // Number of consecutive 5xx errors required for ejection. // // MaxServerErrors is a required field MaxServerErrors *int64 `locationName:"maxServerErrors" min:"1" type:"long" 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 OutlierDetection) 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 OutlierDetection) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *OutlierDetection) Validate() error { invalidParams := request.ErrInvalidParams{Context: "OutlierDetection"} if s.BaseEjectionDuration == nil { invalidParams.Add(request.NewErrParamRequired("BaseEjectionDuration")) } if s.Interval == nil { invalidParams.Add(request.NewErrParamRequired("Interval")) } if s.MaxEjectionPercent == nil { invalidParams.Add(request.NewErrParamRequired("MaxEjectionPercent")) } if s.MaxServerErrors == nil { invalidParams.Add(request.NewErrParamRequired("MaxServerErrors")) } if s.MaxServerErrors != nil && *s.MaxServerErrors < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxServerErrors", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetBaseEjectionDuration sets the BaseEjectionDuration field's value. func (s *OutlierDetection) SetBaseEjectionDuration(v *Duration) *OutlierDetection { s.BaseEjectionDuration = v return s } // SetInterval sets the Interval field's value. func (s *OutlierDetection) SetInterval(v *Duration) *OutlierDetection { s.Interval = v return s } // SetMaxEjectionPercent sets the MaxEjectionPercent field's value. func (s *OutlierDetection) SetMaxEjectionPercent(v int64) *OutlierDetection { s.MaxEjectionPercent = &v return s } // SetMaxServerErrors sets the MaxServerErrors field's value. func (s *OutlierDetection) SetMaxServerErrors(v int64) *OutlierDetection { s.MaxServerErrors = &v return s } // An object that represents a port mapping. type PortMapping struct { _ struct{} `type:"structure"` // The port used for the port mapping. // // Port is a required field Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` // The protocol used for the port mapping. Specify one protocol. // // Protocol is a required field Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` } // 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 PortMapping) 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 PortMapping) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PortMapping) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PortMapping"} if s.Port == nil { invalidParams.Add(request.NewErrParamRequired("Port")) } if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if s.Protocol == nil { invalidParams.Add(request.NewErrParamRequired("Protocol")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetPort sets the Port field's value. func (s *PortMapping) SetPort(v int64) *PortMapping { s.Port = &v return s } // SetProtocol sets the Protocol field's value. func (s *PortMapping) SetProtocol(v string) *PortMapping { s.Protocol = &v return s } // An object representing the query parameter to match. type QueryParameterMatch struct { _ struct{} `type:"structure"` // The exact query parameter to match on. Exact *string `locationName:"exact" 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 QueryParameterMatch) 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 QueryParameterMatch) GoString() string { return s.String() } // SetExact sets the Exact field's value. func (s *QueryParameterMatch) SetExact(v string) *QueryParameterMatch { s.Exact = &v return s } // You can't delete the specified resource because it's in use or required by // another resource. type ResourceInUseException 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 ResourceInUseException) 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 ResourceInUseException) GoString() string { return s.String() } func newErrorResourceInUseException(v protocol.ResponseMetadata) error { return &ResourceInUseException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ResourceInUseException) Code() string { return "ResourceInUseException" } // Message returns the exception's message. func (s *ResourceInUseException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ResourceInUseException) OrigErr() error { return nil } func (s *ResourceInUseException) 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 *ResourceInUseException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ResourceInUseException) RequestID() string { return s.RespMetadata.RequestID } // An object that represents metadata for a resource. type ResourceMetadata struct { _ struct{} `type:"structure"` // The full Amazon Resource Name (ARN) for the resource. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` // The Unix epoch timestamp in seconds for when the resource was created. // // CreatedAt is a required field CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` // The Unix epoch timestamp in seconds for when the resource was last updated. // // LastUpdatedAt is a required field LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // MeshOwner is a required field MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the resource owner. If the account // ID is not your own, then it's the ID of the mesh owner or of another account // that the mesh is shared with. For more information about mesh sharing, see // Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` // The unique identifier for the resource. // // Uid is a required field Uid *string `locationName:"uid" type:"string" required:"true"` // The version of the resource. Resources are created at version 1, and this // version is incremented each time that they're updated. // // Version is a required field Version *int64 `locationName:"version" type:"long" 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 ResourceMetadata) 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 ResourceMetadata) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata { s.CreatedAt = &v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata { s.LastUpdatedAt = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *ResourceMetadata) SetMeshOwner(v string) *ResourceMetadata { s.MeshOwner = &v return s } // SetResourceOwner sets the ResourceOwner field's value. func (s *ResourceMetadata) SetResourceOwner(v string) *ResourceMetadata { s.ResourceOwner = &v return s } // SetUid sets the Uid field's value. func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata { s.Uid = &v return s } // SetVersion sets the Version field's value. func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata { s.Version = &v return s } // An object that represents a route returned by a describe operation. type RouteData struct { _ struct{} `type:"structure"` // The name of the service mesh that the route resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The associated metadata for the route. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` // The name of the route. // // RouteName is a required field RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` // The specifications of the route. // // Spec is a required field Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` // The status of the route. // // Status is a required field Status *RouteStatus `locationName:"status" type:"structure" required:"true"` // The virtual router that the route is associated with. // // VirtualRouterName is a required field VirtualRouterName *string `locationName:"virtualRouterName" 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 RouteData) 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 RouteData) GoString() string { return s.String() } // SetMeshName sets the MeshName field's value. func (s *RouteData) SetMeshName(v string) *RouteData { s.MeshName = &v return s } // SetMetadata sets the Metadata field's value. func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData { s.Metadata = v return s } // SetRouteName sets the RouteName field's value. func (s *RouteData) SetRouteName(v string) *RouteData { s.RouteName = &v return s } // SetSpec sets the Spec field's value. func (s *RouteData) SetSpec(v *RouteSpec) *RouteData { s.Spec = v return s } // SetStatus sets the Status field's value. func (s *RouteData) SetStatus(v *RouteStatus) *RouteData { s.Status = v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *RouteData) SetVirtualRouterName(v string) *RouteData { s.VirtualRouterName = &v return s } // An object that represents a route returned by a list operation. type RouteRef struct { _ struct{} `type:"structure"` // The full Amazon Resource Name (ARN) for the route. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` // The Unix epoch timestamp in seconds for when the resource was created. // // CreatedAt is a required field CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` // The Unix epoch timestamp in seconds for when the resource was last updated. // // LastUpdatedAt is a required field LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` // The name of the service mesh that the route resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // MeshOwner is a required field MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the resource owner. If the account // ID is not your own, then it's the ID of the mesh owner or of another account // that the mesh is shared with. For more information about mesh sharing, see // Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` // The name of the route. // // RouteName is a required field RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` // The version of the resource. Resources are created at version 1, and this // version is incremented each time that they're updated. // // Version is a required field Version *int64 `locationName:"version" type:"long" required:"true"` // The virtual router that the route is associated with. // // VirtualRouterName is a required field VirtualRouterName *string `locationName:"virtualRouterName" 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 RouteRef) 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 RouteRef) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *RouteRef) SetArn(v string) *RouteRef { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. func (s *RouteRef) SetCreatedAt(v time.Time) *RouteRef { s.CreatedAt = &v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *RouteRef) SetLastUpdatedAt(v time.Time) *RouteRef { s.LastUpdatedAt = &v return s } // SetMeshName sets the MeshName field's value. func (s *RouteRef) SetMeshName(v string) *RouteRef { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *RouteRef) SetMeshOwner(v string) *RouteRef { s.MeshOwner = &v return s } // SetResourceOwner sets the ResourceOwner field's value. func (s *RouteRef) SetResourceOwner(v string) *RouteRef { s.ResourceOwner = &v return s } // SetRouteName sets the RouteName field's value. func (s *RouteRef) SetRouteName(v string) *RouteRef { s.RouteName = &v return s } // SetVersion sets the Version field's value. func (s *RouteRef) SetVersion(v int64) *RouteRef { s.Version = &v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef { s.VirtualRouterName = &v return s } // An object that represents a route specification. Specify one route type. type RouteSpec struct { _ struct{} `type:"structure"` // An object that represents the specification of a gRPC route. GrpcRoute *GrpcRoute `locationName:"grpcRoute" type:"structure"` // An object that represents the specification of an HTTP/2 route. Http2Route *HttpRoute `locationName:"http2Route" type:"structure"` // An object that represents the specification of an HTTP route. HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` // The priority for the route. Routes are matched based on the specified value, // where 0 is the highest priority. Priority *int64 `locationName:"priority" type:"integer"` // An object that represents the specification of a TCP route. TcpRoute *TcpRoute `locationName:"tcpRoute" 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 RouteSpec) 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 RouteSpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RouteSpec) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RouteSpec"} if s.GrpcRoute != nil { if err := s.GrpcRoute.Validate(); err != nil { invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) } } if s.Http2Route != nil { if err := s.Http2Route.Validate(); err != nil { invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) } } if s.HttpRoute != nil { if err := s.HttpRoute.Validate(); err != nil { invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) } } if s.TcpRoute != nil { if err := s.TcpRoute.Validate(); err != nil { invalidParams.AddNested("TcpRoute", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetGrpcRoute sets the GrpcRoute field's value. func (s *RouteSpec) SetGrpcRoute(v *GrpcRoute) *RouteSpec { s.GrpcRoute = v return s } // SetHttp2Route sets the Http2Route field's value. func (s *RouteSpec) SetHttp2Route(v *HttpRoute) *RouteSpec { s.Http2Route = v return s } // SetHttpRoute sets the HttpRoute field's value. func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { s.HttpRoute = v return s } // SetPriority sets the Priority field's value. func (s *RouteSpec) SetPriority(v int64) *RouteSpec { s.Priority = &v return s } // SetTcpRoute sets the TcpRoute field's value. func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec { s.TcpRoute = v return s } // An object that represents the current status of a route. type RouteStatus struct { _ struct{} `type:"structure"` // The current status for the route. // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"` } // 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 RouteStatus) 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 RouteStatus) GoString() string { return s.String() } // SetStatus sets the Status field's value. func (s *RouteStatus) SetStatus(v string) *RouteStatus { s.Status = &v return s } // An object that represents the service discovery information for a virtual // node. type ServiceDiscovery struct { _ struct{} `type:"structure"` // Specifies any Cloud Map information for the virtual node. AwsCloudMap *AwsCloudMapServiceDiscovery `locationName:"awsCloudMap" type:"structure"` // Specifies the DNS information for the virtual node. Dns *DnsServiceDiscovery `locationName:"dns" 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 ServiceDiscovery) 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 ServiceDiscovery) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ServiceDiscovery) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"} if s.AwsCloudMap != nil { if err := s.AwsCloudMap.Validate(); err != nil { invalidParams.AddNested("AwsCloudMap", err.(request.ErrInvalidParams)) } } if s.Dns != nil { if err := s.Dns.Validate(); err != nil { invalidParams.AddNested("Dns", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAwsCloudMap sets the AwsCloudMap field's value. func (s *ServiceDiscovery) SetAwsCloudMap(v *AwsCloudMapServiceDiscovery) *ServiceDiscovery { s.AwsCloudMap = v return s } // SetDns sets the Dns field's value. func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery { s.Dns = v return s } // The request has failed due to a temporary failure of the service. type ServiceUnavailableException 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 ServiceUnavailableException) 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 ServiceUnavailableException) GoString() string { return s.String() } func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { return &ServiceUnavailableException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ServiceUnavailableException) Code() string { return "ServiceUnavailableException" } // Message returns the exception's message. func (s *ServiceUnavailableException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ServiceUnavailableException) OrigErr() error { return nil } func (s *ServiceUnavailableException) 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 *ServiceUnavailableException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ServiceUnavailableException) RequestID() string { return s.RespMetadata.RequestID } // An object that represents the methods by which a subject alternative name // on a peer Transport Layer Security (TLS) certificate can be matched. type SubjectAlternativeNameMatchers struct { _ struct{} `type:"structure"` // The values sent must match the specified values exactly. // // Exact is a required field Exact []*string `locationName:"exact" 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 SubjectAlternativeNameMatchers) 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 SubjectAlternativeNameMatchers) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *SubjectAlternativeNameMatchers) Validate() error { invalidParams := request.ErrInvalidParams{Context: "SubjectAlternativeNameMatchers"} if s.Exact == nil { invalidParams.Add(request.NewErrParamRequired("Exact")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetExact sets the Exact field's value. func (s *SubjectAlternativeNameMatchers) SetExact(v []*string) *SubjectAlternativeNameMatchers { s.Exact = v return s } // An object that represents the subject alternative names secured by the certificate. type SubjectAlternativeNames struct { _ struct{} `type:"structure"` // An object that represents the criteria for determining a SANs match. // // Match is a required field Match *SubjectAlternativeNameMatchers `locationName:"match" type:"structure" 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 SubjectAlternativeNames) 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 SubjectAlternativeNames) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *SubjectAlternativeNames) Validate() error { invalidParams := request.ErrInvalidParams{Context: "SubjectAlternativeNames"} if s.Match == nil { invalidParams.Add(request.NewErrParamRequired("Match")) } if s.Match != nil { if err := s.Match.Validate(); err != nil { invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMatch sets the Match field's value. func (s *SubjectAlternativeNames) SetMatch(v *SubjectAlternativeNameMatchers) *SubjectAlternativeNames { s.Match = v return s } // Optional metadata that you apply to a resource to assist with categorization // and organization. Each tag consists of a key and an optional value, both // of which you define. Tag keys can have a maximum character length of 128 // characters, and tag values can have a maximum length of 256 characters. type TagRef struct { _ struct{} `type:"structure"` // One part of a key-value pair that make up a tag. A key is a general label // that acts like a category for more specific tag values. // // Key is a required field Key *string `locationName:"key" min:"1" type:"string" required:"true"` // The optional part of a key-value pair that make up a tag. A value acts as // a descriptor within a tag category (key). // // 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 TagRef) 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 TagRef) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TagRef) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TagRef"} 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 *TagRef) SetKey(v string) *TagRef { s.Key = &v return s } // SetValue sets the Value field's value. func (s *TagRef) SetValue(v string) *TagRef { s.Value = &v return s } type TagResourceInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the resource to add tags to. // // ResourceArn is a required field ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` // The tags to add to the resource. A tag is an array of key-value pairs. Tag // keys can have a maximum character length of 128 characters, and tag values // can have a maximum length of 256 characters. // // Tags is a required field Tags []*TagRef `locationName:"tags" 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.Tags == nil { invalidParams.Add(request.NewErrParamRequired("Tags")) } 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 []*TagRef) *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() } // An object that represents a TCP route type. type TcpRoute struct { _ struct{} `type:"structure"` // The action to take if a match is determined. // // Action is a required field Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"` // An object that represents the criteria for determining a request match. Match *TcpRouteMatch `locationName:"match" type:"structure"` // An object that represents types of timeouts. Timeout *TcpTimeout `locationName:"timeout" 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 TcpRoute) 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 TcpRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TcpRoute) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TcpRoute"} if s.Action == nil { invalidParams.Add(request.NewErrParamRequired("Action")) } if s.Action != nil { if err := s.Action.Validate(); err != nil { invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) } } if s.Match != nil { if err := s.Match.Validate(); err != nil { invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAction sets the Action field's value. func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute { s.Action = v return s } // SetMatch sets the Match field's value. func (s *TcpRoute) SetMatch(v *TcpRouteMatch) *TcpRoute { s.Match = v return s } // SetTimeout sets the Timeout field's value. func (s *TcpRoute) SetTimeout(v *TcpTimeout) *TcpRoute { s.Timeout = v return s } // An object that represents the action to take if a match is determined. type TcpRouteAction struct { _ struct{} `type:"structure"` // An object that represents the targets that traffic is routed to when a request // matches the route. // // WeightedTargets is a required field WeightedTargets []*WeightedTarget `locationName:"weightedTargets" 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 TcpRouteAction) 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 TcpRouteAction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TcpRouteAction) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TcpRouteAction"} if s.WeightedTargets == nil { invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) } if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) } if s.WeightedTargets != nil { for i, v := range s.WeightedTargets { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetWeightedTargets sets the WeightedTargets field's value. func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction { s.WeightedTargets = v return s } // An object representing the TCP route to match. type TcpRouteMatch struct { _ struct{} `type:"structure"` // The port number to match on. Port *int64 `locationName:"port" 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 TcpRouteMatch) 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 TcpRouteMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TcpRouteMatch) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TcpRouteMatch"} if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetPort sets the Port field's value. func (s *TcpRouteMatch) SetPort(v int64) *TcpRouteMatch { s.Port = &v return s } // An object that represents types of timeouts. type TcpTimeout struct { _ struct{} `type:"structure"` // An object that represents an idle timeout. An idle timeout bounds the amount // of time that a connection may be idle. The default value is none. Idle *Duration `locationName:"idle" 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 TcpTimeout) 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 TcpTimeout) GoString() string { return s.String() } // SetIdle sets the Idle field's value. func (s *TcpTimeout) SetIdle(v *Duration) *TcpTimeout { s.Idle = v return s } // An object that represents how the proxy will validate its peer during Transport // Layer Security (TLS) negotiation. type TlsValidationContext struct { _ struct{} `type:"structure"` // A reference to an object that represents the SANs for a Transport Layer Security // (TLS) validation context. If you don't specify SANs on the terminating mesh // endpoint, the Envoy proxy for that node doesn't verify the SAN on a peer // client certificate. If you don't specify SANs on the originating mesh endpoint, // the SAN on the certificate provided by the terminating endpoint must match // the mesh endpoint service discovery configuration. Since SPIRE vended certificates // have a SPIFFE ID as a name, you must set the SAN since the name doesn't match // the service discovery name. SubjectAlternativeNames *SubjectAlternativeNames `locationName:"subjectAlternativeNames" type:"structure"` // A reference to where to retrieve the trust chain when validating a peer’s // Transport Layer Security (TLS) certificate. // // Trust is a required field Trust *TlsValidationContextTrust `locationName:"trust" type:"structure" 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 TlsValidationContext) 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 TlsValidationContext) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TlsValidationContext) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TlsValidationContext"} if s.Trust == nil { invalidParams.Add(request.NewErrParamRequired("Trust")) } if s.SubjectAlternativeNames != nil { if err := s.SubjectAlternativeNames.Validate(); err != nil { invalidParams.AddNested("SubjectAlternativeNames", err.(request.ErrInvalidParams)) } } if s.Trust != nil { if err := s.Trust.Validate(); err != nil { invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. func (s *TlsValidationContext) SetSubjectAlternativeNames(v *SubjectAlternativeNames) *TlsValidationContext { s.SubjectAlternativeNames = v return s } // SetTrust sets the Trust field's value. func (s *TlsValidationContext) SetTrust(v *TlsValidationContextTrust) *TlsValidationContext { s.Trust = v return s } // An object that represents a Transport Layer Security (TLS) validation context // trust for an Certificate Manager certificate. type TlsValidationContextAcmTrust struct { _ struct{} `type:"structure"` // One or more ACM Amazon Resource Name (ARN)s. // // CertificateAuthorityArns is a required field CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" 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 TlsValidationContextAcmTrust) 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 TlsValidationContextAcmTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TlsValidationContextAcmTrust) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextAcmTrust"} if s.CertificateAuthorityArns == nil { invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns")) } if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 { invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value. func (s *TlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *TlsValidationContextAcmTrust { s.CertificateAuthorityArns = v return s } // An object that represents a Transport Layer Security (TLS) validation context // trust for a local file. type TlsValidationContextFileTrust struct { _ struct{} `type:"structure"` // The certificate trust chain for a certificate stored on the file system of // the virtual node that the proxy is running on. // // CertificateChain is a required field CertificateChain *string `locationName:"certificateChain" 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 TlsValidationContextFileTrust) 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 TlsValidationContextFileTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TlsValidationContextFileTrust) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextFileTrust"} if s.CertificateChain == nil { invalidParams.Add(request.NewErrParamRequired("CertificateChain")) } if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificateChain sets the CertificateChain field's value. func (s *TlsValidationContextFileTrust) SetCertificateChain(v string) *TlsValidationContextFileTrust { s.CertificateChain = &v return s } // An object that represents a Transport Layer Security (TLS) Secret Discovery // Service validation context trust. The proxy must be configured with a local // SDS provider via a Unix Domain Socket. See App Mesh TLS documentation (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) // for more info. type TlsValidationContextSdsTrust struct { _ struct{} `type:"structure"` // A reference to an object that represents the name of the secret for a Transport // Layer Security (TLS) Secret Discovery Service validation context trust. // // SecretName is a required field SecretName *string `locationName:"secretName" 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 TlsValidationContextSdsTrust) 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 TlsValidationContextSdsTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TlsValidationContextSdsTrust) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextSdsTrust"} if s.SecretName == nil { invalidParams.Add(request.NewErrParamRequired("SecretName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetSecretName sets the SecretName field's value. func (s *TlsValidationContextSdsTrust) SetSecretName(v string) *TlsValidationContextSdsTrust { s.SecretName = &v return s } // An object that represents a Transport Layer Security (TLS) validation context // trust. type TlsValidationContextTrust struct { _ struct{} `type:"structure"` // A reference to an object that represents a Transport Layer Security (TLS) // validation context trust for an Certificate Manager certificate. Acm *TlsValidationContextAcmTrust `locationName:"acm" type:"structure"` // An object that represents a Transport Layer Security (TLS) validation context // trust for a local file. File *TlsValidationContextFileTrust `locationName:"file" type:"structure"` // A reference to an object that represents a Transport Layer Security (TLS) // Secret Discovery Service validation context trust. Sds *TlsValidationContextSdsTrust `locationName:"sds" 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 TlsValidationContextTrust) 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 TlsValidationContextTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TlsValidationContextTrust) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextTrust"} if s.Acm != nil { if err := s.Acm.Validate(); err != nil { invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) } } if s.File != nil { if err := s.File.Validate(); err != nil { invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } if s.Sds != nil { if err := s.Sds.Validate(); err != nil { invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAcm sets the Acm field's value. func (s *TlsValidationContextTrust) SetAcm(v *TlsValidationContextAcmTrust) *TlsValidationContextTrust { s.Acm = v return s } // SetFile sets the File field's value. func (s *TlsValidationContextTrust) SetFile(v *TlsValidationContextFileTrust) *TlsValidationContextTrust { s.File = v return s } // SetSds sets the Sds field's value. func (s *TlsValidationContextTrust) SetSds(v *TlsValidationContextSdsTrust) *TlsValidationContextTrust { s.Sds = v return s } // The maximum request rate permitted by the App Mesh APIs has been exceeded // for your account. For best results, use an increasing or variable sleep interval // between requests. type TooManyRequestsException 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 TooManyRequestsException) 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 TooManyRequestsException) GoString() string { return s.String() } func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { return &TooManyRequestsException{ RespMetadata: v, } } // Code returns the exception type name. func (s *TooManyRequestsException) Code() string { return "TooManyRequestsException" } // Message returns the exception's message. func (s *TooManyRequestsException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *TooManyRequestsException) OrigErr() error { return nil } func (s *TooManyRequestsException) 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 *TooManyRequestsException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *TooManyRequestsException) RequestID() string { return s.RespMetadata.RequestID } // The request exceeds the maximum allowed number of tags allowed per resource. // The current limit is 50 user tags per resource. You must reduce the number // of tags in the request. None of the tags in this request were applied. type TooManyTagsException 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 TooManyTagsException) 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 TooManyTagsException) GoString() string { return s.String() } func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { return &TooManyTagsException{ RespMetadata: v, } } // Code returns the exception type name. func (s *TooManyTagsException) Code() string { return "TooManyTagsException" } // Message returns the exception's message. func (s *TooManyTagsException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *TooManyTagsException) OrigErr() error { return nil } func (s *TooManyTagsException) 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 *TooManyTagsException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *TooManyTagsException) RequestID() string { return s.RespMetadata.RequestID } type UntagResourceInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the resource to delete tags from. // // ResourceArn is a required field ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` // The keys of the tags to be removed. // // 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.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() } type UpdateGatewayRouteInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the gateway route to update. // // GatewayRouteName is a required field GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` // The name of the service mesh that the gateway route resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The new gateway route specification to apply. This overwrites the existing // data. // // Spec is a required field Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` // The name of the virtual gateway that the gateway route is associated with. // // VirtualGatewayName is a required field VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" 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 UpdateGatewayRouteInput) 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 UpdateGatewayRouteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateGatewayRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayRouteInput"} if s.GatewayRouteName == nil { invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) } if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) } if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualGatewayName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *UpdateGatewayRouteInput) SetClientToken(v string) *UpdateGatewayRouteInput { s.ClientToken = &v return s } // SetGatewayRouteName sets the GatewayRouteName field's value. func (s *UpdateGatewayRouteInput) SetGatewayRouteName(v string) *UpdateGatewayRouteInput { s.GatewayRouteName = &v return s } // SetMeshName sets the MeshName field's value. func (s *UpdateGatewayRouteInput) SetMeshName(v string) *UpdateGatewayRouteInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *UpdateGatewayRouteInput) SetMeshOwner(v string) *UpdateGatewayRouteInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. func (s *UpdateGatewayRouteInput) SetSpec(v *GatewayRouteSpec) *UpdateGatewayRouteInput { s.Spec = v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *UpdateGatewayRouteInput) SetVirtualGatewayName(v string) *UpdateGatewayRouteInput { s.VirtualGatewayName = &v return s } type UpdateGatewayRouteOutput struct { _ struct{} `type:"structure" payload:"GatewayRoute"` // A full description of the gateway route that was updated. // // GatewayRoute is a required field GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" 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 UpdateGatewayRouteOutput) 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 UpdateGatewayRouteOutput) GoString() string { return s.String() } // SetGatewayRoute sets the GatewayRoute field's value. func (s *UpdateGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *UpdateGatewayRouteOutput { s.GatewayRoute = v return s } type UpdateMeshInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the service mesh to update. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The service mesh specification to apply. Spec *MeshSpec `locationName:"spec" 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 UpdateMeshInput) 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 UpdateMeshInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateMeshInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateMeshInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *UpdateMeshInput) SetClientToken(v string) *UpdateMeshInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *UpdateMeshInput) SetMeshName(v string) *UpdateMeshInput { s.MeshName = &v return s } // SetSpec sets the Spec field's value. func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput { s.Spec = v return s } type UpdateMeshOutput struct { _ struct{} `type:"structure" payload:"Mesh"` // An object that represents a service mesh returned by a describe operation. // // Mesh is a required field Mesh *MeshData `locationName:"mesh" type:"structure" 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 UpdateMeshOutput) 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 UpdateMeshOutput) GoString() string { return s.String() } // SetMesh sets the Mesh field's value. func (s *UpdateMeshOutput) SetMesh(v *MeshData) *UpdateMeshOutput { s.Mesh = v return s } type UpdateRouteInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the service mesh that the route resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The name of the route to update. // // RouteName is a required field RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` // The new route specification to apply. This overwrites the existing data. // // Spec is a required field Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` // The name of the virtual router that the route is associated with. // // VirtualRouterName is a required field VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" 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 UpdateRouteInput) 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 UpdateRouteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.RouteName == nil { invalidParams.Add(request.NewErrParamRequired("RouteName")) } if s.RouteName != nil && len(*s.RouteName) < 1 { invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *UpdateRouteInput) SetClientToken(v string) *UpdateRouteInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *UpdateRouteInput) SetMeshName(v string) *UpdateRouteInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *UpdateRouteInput) SetMeshOwner(v string) *UpdateRouteInput { s.MeshOwner = &v return s } // SetRouteName sets the RouteName field's value. func (s *UpdateRouteInput) SetRouteName(v string) *UpdateRouteInput { s.RouteName = &v return s } // SetSpec sets the Spec field's value. func (s *UpdateRouteInput) SetSpec(v *RouteSpec) *UpdateRouteInput { s.Spec = v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *UpdateRouteInput) SetVirtualRouterName(v string) *UpdateRouteInput { s.VirtualRouterName = &v return s } type UpdateRouteOutput struct { _ struct{} `type:"structure" payload:"Route"` // A full description of the route that was updated. // // Route is a required field Route *RouteData `locationName:"route" type:"structure" 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 UpdateRouteOutput) 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 UpdateRouteOutput) GoString() string { return s.String() } // SetRoute sets the Route field's value. func (s *UpdateRouteOutput) SetRoute(v *RouteData) *UpdateRouteOutput { s.Route = v return s } type UpdateVirtualGatewayInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the service mesh that the virtual gateway resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The new virtual gateway specification to apply. This overwrites the existing // data. // // Spec is a required field Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` // The name of the virtual gateway to update. // // VirtualGatewayName is a required field VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" 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 UpdateVirtualGatewayInput) 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 UpdateVirtualGatewayInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateVirtualGatewayInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualGatewayInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualGatewayName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *UpdateVirtualGatewayInput) SetClientToken(v string) *UpdateVirtualGatewayInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *UpdateVirtualGatewayInput) SetMeshName(v string) *UpdateVirtualGatewayInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *UpdateVirtualGatewayInput) SetMeshOwner(v string) *UpdateVirtualGatewayInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. func (s *UpdateVirtualGatewayInput) SetSpec(v *VirtualGatewaySpec) *UpdateVirtualGatewayInput { s.Spec = v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *UpdateVirtualGatewayInput) SetVirtualGatewayName(v string) *UpdateVirtualGatewayInput { s.VirtualGatewayName = &v return s } type UpdateVirtualGatewayOutput struct { _ struct{} `type:"structure" payload:"VirtualGateway"` // A full description of the virtual gateway that was updated. // // VirtualGateway is a required field VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" 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 UpdateVirtualGatewayOutput) 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 UpdateVirtualGatewayOutput) GoString() string { return s.String() } // SetVirtualGateway sets the VirtualGateway field's value. func (s *UpdateVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *UpdateVirtualGatewayOutput { s.VirtualGateway = v return s } type UpdateVirtualNodeInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the service mesh that the virtual node resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The new virtual node specification to apply. This overwrites the existing // data. // // Spec is a required field Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` // The name of the virtual node to update. // // VirtualNodeName is a required field VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" 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 UpdateVirtualNodeInput) 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 UpdateVirtualNodeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateVirtualNodeInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualNodeInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualNodeName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) } if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *UpdateVirtualNodeInput) SetClientToken(v string) *UpdateVirtualNodeInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *UpdateVirtualNodeInput) SetMeshName(v string) *UpdateVirtualNodeInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *UpdateVirtualNodeInput) SetMeshOwner(v string) *UpdateVirtualNodeInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. func (s *UpdateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *UpdateVirtualNodeInput { s.Spec = v return s } // SetVirtualNodeName sets the VirtualNodeName field's value. func (s *UpdateVirtualNodeInput) SetVirtualNodeName(v string) *UpdateVirtualNodeInput { s.VirtualNodeName = &v return s } type UpdateVirtualNodeOutput struct { _ struct{} `type:"structure" payload:"VirtualNode"` // A full description of the virtual node that was updated. // // VirtualNode is a required field VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" 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 UpdateVirtualNodeOutput) 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 UpdateVirtualNodeOutput) GoString() string { return s.String() } // SetVirtualNode sets the VirtualNode field's value. func (s *UpdateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *UpdateVirtualNodeOutput { s.VirtualNode = v return s } type UpdateVirtualRouterInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the service mesh that the virtual router resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The new virtual router specification to apply. This overwrites the existing // data. // // Spec is a required field Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` // The name of the virtual router to update. // // VirtualRouterName is a required field VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" 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 UpdateVirtualRouterInput) 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 UpdateVirtualRouterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateVirtualRouterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualRouterInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *UpdateVirtualRouterInput) SetClientToken(v string) *UpdateVirtualRouterInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *UpdateVirtualRouterInput) SetMeshName(v string) *UpdateVirtualRouterInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *UpdateVirtualRouterInput) SetMeshOwner(v string) *UpdateVirtualRouterInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. func (s *UpdateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *UpdateVirtualRouterInput { s.Spec = v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *UpdateVirtualRouterInput) SetVirtualRouterName(v string) *UpdateVirtualRouterInput { s.VirtualRouterName = &v return s } type UpdateVirtualRouterOutput struct { _ struct{} `type:"structure" payload:"VirtualRouter"` // A full description of the virtual router that was updated. // // VirtualRouter is a required field VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" 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 UpdateVirtualRouterOutput) 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 UpdateVirtualRouterOutput) GoString() string { return s.String() } // SetVirtualRouter sets the VirtualRouter field's value. func (s *UpdateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *UpdateVirtualRouterOutput { s.VirtualRouter = v return s } type UpdateVirtualServiceInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The name of the service mesh that the virtual service resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // The new virtual service specification to apply. This overwrites the existing // data. // // Spec is a required field Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` // The name of the virtual service to update. // // VirtualServiceName is a required field VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" 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 UpdateVirtualServiceInput) 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 UpdateVirtualServiceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateVirtualServiceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualServiceInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } if s.VirtualServiceName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) } if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *UpdateVirtualServiceInput) SetClientToken(v string) *UpdateVirtualServiceInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. func (s *UpdateVirtualServiceInput) SetMeshName(v string) *UpdateVirtualServiceInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *UpdateVirtualServiceInput) SetMeshOwner(v string) *UpdateVirtualServiceInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. func (s *UpdateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *UpdateVirtualServiceInput { s.Spec = v return s } // SetVirtualServiceName sets the VirtualServiceName field's value. func (s *UpdateVirtualServiceInput) SetVirtualServiceName(v string) *UpdateVirtualServiceInput { s.VirtualServiceName = &v return s } type UpdateVirtualServiceOutput struct { _ struct{} `type:"structure" payload:"VirtualService"` // A full description of the virtual service that was updated. // // VirtualService is a required field VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" 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 UpdateVirtualServiceOutput) 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 UpdateVirtualServiceOutput) GoString() string { return s.String() } // SetVirtualService sets the VirtualService field's value. func (s *UpdateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *UpdateVirtualServiceOutput { s.VirtualService = v return s } // The access log configuration for a virtual gateway. type VirtualGatewayAccessLog struct { _ struct{} `type:"structure"` // The file object to send virtual gateway access logs to. File *VirtualGatewayFileAccessLog `locationName:"file" 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 VirtualGatewayAccessLog) 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 VirtualGatewayAccessLog) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayAccessLog) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayAccessLog"} if s.File != nil { if err := s.File.Validate(); err != nil { invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFile sets the File field's value. func (s *VirtualGatewayAccessLog) SetFile(v *VirtualGatewayFileAccessLog) *VirtualGatewayAccessLog { s.File = v return s } // An object that represents the default properties for a backend. type VirtualGatewayBackendDefaults struct { _ struct{} `type:"structure"` // A reference to an object that represents a client policy. ClientPolicy *VirtualGatewayClientPolicy `locationName:"clientPolicy" 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 VirtualGatewayBackendDefaults) 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 VirtualGatewayBackendDefaults) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayBackendDefaults) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayBackendDefaults"} if s.ClientPolicy != nil { if err := s.ClientPolicy.Validate(); err != nil { invalidParams.AddNested("ClientPolicy", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientPolicy sets the ClientPolicy field's value. func (s *VirtualGatewayBackendDefaults) SetClientPolicy(v *VirtualGatewayClientPolicy) *VirtualGatewayBackendDefaults { s.ClientPolicy = v return s } // An object that represents a client policy. type VirtualGatewayClientPolicy struct { _ struct{} `type:"structure"` // A reference to an object that represents a Transport Layer Security (TLS) // client policy. Tls *VirtualGatewayClientPolicyTls `locationName:"tls" 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 VirtualGatewayClientPolicy) 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 VirtualGatewayClientPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayClientPolicy) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientPolicy"} if s.Tls != nil { if err := s.Tls.Validate(); err != nil { invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetTls sets the Tls field's value. func (s *VirtualGatewayClientPolicy) SetTls(v *VirtualGatewayClientPolicyTls) *VirtualGatewayClientPolicy { s.Tls = v return s } // An object that represents a Transport Layer Security (TLS) client policy. type VirtualGatewayClientPolicyTls struct { _ struct{} `type:"structure"` // A reference to an object that represents a virtual gateway's client's Transport // Layer Security (TLS) certificate. Certificate *VirtualGatewayClientTlsCertificate `locationName:"certificate" type:"structure"` // Whether the policy is enforced. The default is True, if a value isn't specified. Enforce *bool `locationName:"enforce" type:"boolean"` // One or more ports that the policy is enforced for. Ports []*int64 `locationName:"ports" type:"list"` // A reference to an object that represents a Transport Layer Security (TLS) // validation context. // // Validation is a required field Validation *VirtualGatewayTlsValidationContext `locationName:"validation" type:"structure" 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 VirtualGatewayClientPolicyTls) 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 VirtualGatewayClientPolicyTls) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayClientPolicyTls) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientPolicyTls"} if s.Validation == nil { invalidParams.Add(request.NewErrParamRequired("Validation")) } if s.Certificate != nil { if err := s.Certificate.Validate(); err != nil { invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) } } if s.Validation != nil { if err := s.Validation.Validate(); err != nil { invalidParams.AddNested("Validation", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificate sets the Certificate field's value. func (s *VirtualGatewayClientPolicyTls) SetCertificate(v *VirtualGatewayClientTlsCertificate) *VirtualGatewayClientPolicyTls { s.Certificate = v return s } // SetEnforce sets the Enforce field's value. func (s *VirtualGatewayClientPolicyTls) SetEnforce(v bool) *VirtualGatewayClientPolicyTls { s.Enforce = &v return s } // SetPorts sets the Ports field's value. func (s *VirtualGatewayClientPolicyTls) SetPorts(v []*int64) *VirtualGatewayClientPolicyTls { s.Ports = v return s } // SetValidation sets the Validation field's value. func (s *VirtualGatewayClientPolicyTls) SetValidation(v *VirtualGatewayTlsValidationContext) *VirtualGatewayClientPolicyTls { s.Validation = v return s } // An object that represents the virtual gateway's client's Transport Layer // Security (TLS) certificate. type VirtualGatewayClientTlsCertificate struct { _ struct{} `type:"structure"` // An object that represents a local file certificate. The certificate must // meet specific requirements and you must have proxy authorization enabled. // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html). File *VirtualGatewayListenerTlsFileCertificate `locationName:"file" type:"structure"` // A reference to an object that represents a virtual gateway's client's Secret // Discovery Service certificate. Sds *VirtualGatewayListenerTlsSdsCertificate `locationName:"sds" 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 VirtualGatewayClientTlsCertificate) 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 VirtualGatewayClientTlsCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayClientTlsCertificate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientTlsCertificate"} if s.File != nil { if err := s.File.Validate(); err != nil { invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } if s.Sds != nil { if err := s.Sds.Validate(); err != nil { invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFile sets the File field's value. func (s *VirtualGatewayClientTlsCertificate) SetFile(v *VirtualGatewayListenerTlsFileCertificate) *VirtualGatewayClientTlsCertificate { s.File = v return s } // SetSds sets the Sds field's value. func (s *VirtualGatewayClientTlsCertificate) SetSds(v *VirtualGatewayListenerTlsSdsCertificate) *VirtualGatewayClientTlsCertificate { s.Sds = v return s } // An object that represents the type of virtual gateway connection pool. // // Only one protocol is used at a time and should be the same protocol as the // one chosen under port mapping. // // If not present the default value for maxPendingRequests is 2147483647. type VirtualGatewayConnectionPool struct { _ struct{} `type:"structure"` // An object that represents a type of connection pool. Grpc *VirtualGatewayGrpcConnectionPool `locationName:"grpc" type:"structure"` // An object that represents a type of connection pool. Http *VirtualGatewayHttpConnectionPool `locationName:"http" type:"structure"` // An object that represents a type of connection pool. Http2 *VirtualGatewayHttp2ConnectionPool `locationName:"http2" 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 VirtualGatewayConnectionPool) 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 VirtualGatewayConnectionPool) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayConnectionPool) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayConnectionPool"} if s.Grpc != nil { if err := s.Grpc.Validate(); err != nil { invalidParams.AddNested("Grpc", err.(request.ErrInvalidParams)) } } if s.Http != nil { if err := s.Http.Validate(); err != nil { invalidParams.AddNested("Http", err.(request.ErrInvalidParams)) } } if s.Http2 != nil { if err := s.Http2.Validate(); err != nil { invalidParams.AddNested("Http2", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetGrpc sets the Grpc field's value. func (s *VirtualGatewayConnectionPool) SetGrpc(v *VirtualGatewayGrpcConnectionPool) *VirtualGatewayConnectionPool { s.Grpc = v return s } // SetHttp sets the Http field's value. func (s *VirtualGatewayConnectionPool) SetHttp(v *VirtualGatewayHttpConnectionPool) *VirtualGatewayConnectionPool { s.Http = v return s } // SetHttp2 sets the Http2 field's value. func (s *VirtualGatewayConnectionPool) SetHttp2(v *VirtualGatewayHttp2ConnectionPool) *VirtualGatewayConnectionPool { s.Http2 = v return s } // An object that represents a virtual gateway returned by a describe operation. type VirtualGatewayData struct { _ struct{} `type:"structure"` // The name of the service mesh that the virtual gateway resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // An object that represents metadata for a resource. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` // The specifications of the virtual gateway. // // Spec is a required field Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` // The current status of the virtual gateway. // // Status is a required field Status *VirtualGatewayStatus `locationName:"status" type:"structure" required:"true"` // The name of the virtual gateway. // // VirtualGatewayName is a required field VirtualGatewayName *string `locationName:"virtualGatewayName" 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 VirtualGatewayData) 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 VirtualGatewayData) GoString() string { return s.String() } // SetMeshName sets the MeshName field's value. func (s *VirtualGatewayData) SetMeshName(v string) *VirtualGatewayData { s.MeshName = &v return s } // SetMetadata sets the Metadata field's value. func (s *VirtualGatewayData) SetMetadata(v *ResourceMetadata) *VirtualGatewayData { s.Metadata = v return s } // SetSpec sets the Spec field's value. func (s *VirtualGatewayData) SetSpec(v *VirtualGatewaySpec) *VirtualGatewayData { s.Spec = v return s } // SetStatus sets the Status field's value. func (s *VirtualGatewayData) SetStatus(v *VirtualGatewayStatus) *VirtualGatewayData { s.Status = v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *VirtualGatewayData) SetVirtualGatewayName(v string) *VirtualGatewayData { s.VirtualGatewayName = &v return s } // An object that represents an access log file. type VirtualGatewayFileAccessLog struct { _ struct{} `type:"structure"` // The specified format for the virtual gateway access logs. It can be either // json_format or text_format. Format *LoggingFormat `locationName:"format" type:"structure"` // The file path to write access logs to. You can use /dev/stdout to send access // logs to standard out and configure your Envoy container to use a log driver, // such as awslogs, to export the access logs to a log storage service such // as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's // file system to write the files to disk. // // Path is a required field Path *string `locationName:"path" 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 VirtualGatewayFileAccessLog) 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 VirtualGatewayFileAccessLog) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayFileAccessLog) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayFileAccessLog"} if s.Path == nil { invalidParams.Add(request.NewErrParamRequired("Path")) } if s.Path != nil && len(*s.Path) < 1 { invalidParams.Add(request.NewErrParamMinLen("Path", 1)) } if s.Format != nil { if err := s.Format.Validate(); err != nil { invalidParams.AddNested("Format", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFormat sets the Format field's value. func (s *VirtualGatewayFileAccessLog) SetFormat(v *LoggingFormat) *VirtualGatewayFileAccessLog { s.Format = v return s } // SetPath sets the Path field's value. func (s *VirtualGatewayFileAccessLog) SetPath(v string) *VirtualGatewayFileAccessLog { s.Path = &v return s } // An object that represents a type of connection pool. type VirtualGatewayGrpcConnectionPool struct { _ struct{} `type:"structure"` // Maximum number of inflight requests Envoy can concurrently support across // hosts in upstream cluster. // // MaxRequests is a required field MaxRequests *int64 `locationName:"maxRequests" min:"1" 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 VirtualGatewayGrpcConnectionPool) 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 VirtualGatewayGrpcConnectionPool) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayGrpcConnectionPool) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayGrpcConnectionPool"} if s.MaxRequests == nil { invalidParams.Add(request.NewErrParamRequired("MaxRequests")) } if s.MaxRequests != nil && *s.MaxRequests < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxRequests", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxRequests sets the MaxRequests field's value. func (s *VirtualGatewayGrpcConnectionPool) SetMaxRequests(v int64) *VirtualGatewayGrpcConnectionPool { s.MaxRequests = &v return s } // An object that represents the health check policy for a virtual gateway's // listener. type VirtualGatewayHealthCheckPolicy struct { _ struct{} `type:"structure"` // The number of consecutive successful health checks that must occur before // declaring the listener healthy. // // HealthyThreshold is a required field HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` // The time period in milliseconds between each health check execution. // // IntervalMillis is a required field IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` // The destination path for the health check request. This value is only used // if the specified protocol is HTTP or HTTP/2. For any other protocol, this // value is ignored. Path *string `locationName:"path" type:"string"` // The destination port for the health check request. This port must match the // port defined in the PortMapping for the listener. Port *int64 `locationName:"port" min:"1" type:"integer"` // The protocol for the health check request. If you specify grpc, then your // service must conform to the GRPC Health Checking Protocol (https://github.com/grpc/grpc/blob/master/doc/health-checking.md). // // Protocol is a required field Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"VirtualGatewayPortProtocol"` // The amount of time to wait when receiving a response from the health check, // in milliseconds. // // TimeoutMillis is a required field TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` // The number of consecutive failed health checks that must occur before declaring // a virtual gateway unhealthy. // // UnhealthyThreshold is a required field UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" 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 VirtualGatewayHealthCheckPolicy) 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 VirtualGatewayHealthCheckPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayHealthCheckPolicy) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayHealthCheckPolicy"} if s.HealthyThreshold == nil { invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) } if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) } if s.IntervalMillis == nil { invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) } if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) } if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if s.Protocol == nil { invalidParams.Add(request.NewErrParamRequired("Protocol")) } if s.TimeoutMillis == nil { invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) } if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) } if s.UnhealthyThreshold == nil { invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) } if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetHealthyThreshold sets the HealthyThreshold field's value. func (s *VirtualGatewayHealthCheckPolicy) SetHealthyThreshold(v int64) *VirtualGatewayHealthCheckPolicy { s.HealthyThreshold = &v return s } // SetIntervalMillis sets the IntervalMillis field's value. func (s *VirtualGatewayHealthCheckPolicy) SetIntervalMillis(v int64) *VirtualGatewayHealthCheckPolicy { s.IntervalMillis = &v return s } // SetPath sets the Path field's value. func (s *VirtualGatewayHealthCheckPolicy) SetPath(v string) *VirtualGatewayHealthCheckPolicy { s.Path = &v return s } // SetPort sets the Port field's value. func (s *VirtualGatewayHealthCheckPolicy) SetPort(v int64) *VirtualGatewayHealthCheckPolicy { s.Port = &v return s } // SetProtocol sets the Protocol field's value. func (s *VirtualGatewayHealthCheckPolicy) SetProtocol(v string) *VirtualGatewayHealthCheckPolicy { s.Protocol = &v return s } // SetTimeoutMillis sets the TimeoutMillis field's value. func (s *VirtualGatewayHealthCheckPolicy) SetTimeoutMillis(v int64) *VirtualGatewayHealthCheckPolicy { s.TimeoutMillis = &v return s } // SetUnhealthyThreshold sets the UnhealthyThreshold field's value. func (s *VirtualGatewayHealthCheckPolicy) SetUnhealthyThreshold(v int64) *VirtualGatewayHealthCheckPolicy { s.UnhealthyThreshold = &v return s } // An object that represents a type of connection pool. type VirtualGatewayHttp2ConnectionPool struct { _ struct{} `type:"structure"` // Maximum number of inflight requests Envoy can concurrently support across // hosts in upstream cluster. // // MaxRequests is a required field MaxRequests *int64 `locationName:"maxRequests" min:"1" 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 VirtualGatewayHttp2ConnectionPool) 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 VirtualGatewayHttp2ConnectionPool) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayHttp2ConnectionPool) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayHttp2ConnectionPool"} if s.MaxRequests == nil { invalidParams.Add(request.NewErrParamRequired("MaxRequests")) } if s.MaxRequests != nil && *s.MaxRequests < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxRequests", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxRequests sets the MaxRequests field's value. func (s *VirtualGatewayHttp2ConnectionPool) SetMaxRequests(v int64) *VirtualGatewayHttp2ConnectionPool { s.MaxRequests = &v return s } // An object that represents a type of connection pool. type VirtualGatewayHttpConnectionPool struct { _ struct{} `type:"structure"` // Maximum number of outbound TCP connections Envoy can establish concurrently // with all hosts in upstream cluster. // // MaxConnections is a required field MaxConnections *int64 `locationName:"maxConnections" min:"1" type:"integer" required:"true"` // Number of overflowing requests after max_connections Envoy will queue to // upstream cluster. MaxPendingRequests *int64 `locationName:"maxPendingRequests" 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 VirtualGatewayHttpConnectionPool) 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 VirtualGatewayHttpConnectionPool) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayHttpConnectionPool) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayHttpConnectionPool"} if s.MaxConnections == nil { invalidParams.Add(request.NewErrParamRequired("MaxConnections")) } if s.MaxConnections != nil && *s.MaxConnections < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxConnections", 1)) } if s.MaxPendingRequests != nil && *s.MaxPendingRequests < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxPendingRequests", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxConnections sets the MaxConnections field's value. func (s *VirtualGatewayHttpConnectionPool) SetMaxConnections(v int64) *VirtualGatewayHttpConnectionPool { s.MaxConnections = &v return s } // SetMaxPendingRequests sets the MaxPendingRequests field's value. func (s *VirtualGatewayHttpConnectionPool) SetMaxPendingRequests(v int64) *VirtualGatewayHttpConnectionPool { s.MaxPendingRequests = &v return s } // An object that represents a listener for a virtual gateway. type VirtualGatewayListener struct { _ struct{} `type:"structure"` // The connection pool information for the virtual gateway listener. ConnectionPool *VirtualGatewayConnectionPool `locationName:"connectionPool" type:"structure"` // The health check information for the listener. HealthCheck *VirtualGatewayHealthCheckPolicy `locationName:"healthCheck" type:"structure"` // The port mapping information for the listener. // // PortMapping is a required field PortMapping *VirtualGatewayPortMapping `locationName:"portMapping" type:"structure" required:"true"` // A reference to an object that represents the Transport Layer Security (TLS) // properties for the listener. Tls *VirtualGatewayListenerTls `locationName:"tls" 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 VirtualGatewayListener) 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 VirtualGatewayListener) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayListener) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListener"} if s.PortMapping == nil { invalidParams.Add(request.NewErrParamRequired("PortMapping")) } if s.ConnectionPool != nil { if err := s.ConnectionPool.Validate(); err != nil { invalidParams.AddNested("ConnectionPool", err.(request.ErrInvalidParams)) } } if s.HealthCheck != nil { if err := s.HealthCheck.Validate(); err != nil { invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) } } if s.PortMapping != nil { if err := s.PortMapping.Validate(); err != nil { invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) } } if s.Tls != nil { if err := s.Tls.Validate(); err != nil { invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetConnectionPool sets the ConnectionPool field's value. func (s *VirtualGatewayListener) SetConnectionPool(v *VirtualGatewayConnectionPool) *VirtualGatewayListener { s.ConnectionPool = v return s } // SetHealthCheck sets the HealthCheck field's value. func (s *VirtualGatewayListener) SetHealthCheck(v *VirtualGatewayHealthCheckPolicy) *VirtualGatewayListener { s.HealthCheck = v return s } // SetPortMapping sets the PortMapping field's value. func (s *VirtualGatewayListener) SetPortMapping(v *VirtualGatewayPortMapping) *VirtualGatewayListener { s.PortMapping = v return s } // SetTls sets the Tls field's value. func (s *VirtualGatewayListener) SetTls(v *VirtualGatewayListenerTls) *VirtualGatewayListener { s.Tls = v return s } // An object that represents the Transport Layer Security (TLS) properties for // a listener. type VirtualGatewayListenerTls struct { _ struct{} `type:"structure"` // An object that represents a Transport Layer Security (TLS) certificate. // // Certificate is a required field Certificate *VirtualGatewayListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"` // Specify one of the following modes. // // * STRICT – Listener only accepts connections with TLS enabled. // // * PERMISSIVE – Listener accepts connections with or without TLS enabled. // // * DISABLED – Listener only accepts connections without TLS. // // Mode is a required field Mode *string `locationName:"mode" type:"string" required:"true" enum:"VirtualGatewayListenerTlsMode"` // A reference to an object that represents a virtual gateway's listener's Transport // Layer Security (TLS) validation context. Validation *VirtualGatewayListenerTlsValidationContext `locationName:"validation" 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 VirtualGatewayListenerTls) 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 VirtualGatewayListenerTls) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayListenerTls) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTls"} if s.Certificate == nil { invalidParams.Add(request.NewErrParamRequired("Certificate")) } if s.Mode == nil { invalidParams.Add(request.NewErrParamRequired("Mode")) } if s.Certificate != nil { if err := s.Certificate.Validate(); err != nil { invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) } } if s.Validation != nil { if err := s.Validation.Validate(); err != nil { invalidParams.AddNested("Validation", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificate sets the Certificate field's value. func (s *VirtualGatewayListenerTls) SetCertificate(v *VirtualGatewayListenerTlsCertificate) *VirtualGatewayListenerTls { s.Certificate = v return s } // SetMode sets the Mode field's value. func (s *VirtualGatewayListenerTls) SetMode(v string) *VirtualGatewayListenerTls { s.Mode = &v return s } // SetValidation sets the Validation field's value. func (s *VirtualGatewayListenerTls) SetValidation(v *VirtualGatewayListenerTlsValidationContext) *VirtualGatewayListenerTls { s.Validation = v return s } // An object that represents an Certificate Manager certificate. type VirtualGatewayListenerTlsAcmCertificate struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) for the certificate. The certificate must // meet specific requirements and you must have proxy authorization enabled. // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). // // CertificateArn is a required field CertificateArn *string `locationName:"certificateArn" 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 VirtualGatewayListenerTlsAcmCertificate) 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 VirtualGatewayListenerTlsAcmCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayListenerTlsAcmCertificate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsAcmCertificate"} if s.CertificateArn == nil { invalidParams.Add(request.NewErrParamRequired("CertificateArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificateArn sets the CertificateArn field's value. func (s *VirtualGatewayListenerTlsAcmCertificate) SetCertificateArn(v string) *VirtualGatewayListenerTlsAcmCertificate { s.CertificateArn = &v return s } // An object that represents a listener's Transport Layer Security (TLS) certificate. type VirtualGatewayListenerTlsCertificate struct { _ struct{} `type:"structure"` // A reference to an object that represents an Certificate Manager certificate. Acm *VirtualGatewayListenerTlsAcmCertificate `locationName:"acm" type:"structure"` // A reference to an object that represents a local file certificate. File *VirtualGatewayListenerTlsFileCertificate `locationName:"file" type:"structure"` // A reference to an object that represents a virtual gateway's listener's Secret // Discovery Service certificate. Sds *VirtualGatewayListenerTlsSdsCertificate `locationName:"sds" 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 VirtualGatewayListenerTlsCertificate) 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 VirtualGatewayListenerTlsCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayListenerTlsCertificate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsCertificate"} if s.Acm != nil { if err := s.Acm.Validate(); err != nil { invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) } } if s.File != nil { if err := s.File.Validate(); err != nil { invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } if s.Sds != nil { if err := s.Sds.Validate(); err != nil { invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAcm sets the Acm field's value. func (s *VirtualGatewayListenerTlsCertificate) SetAcm(v *VirtualGatewayListenerTlsAcmCertificate) *VirtualGatewayListenerTlsCertificate { s.Acm = v return s } // SetFile sets the File field's value. func (s *VirtualGatewayListenerTlsCertificate) SetFile(v *VirtualGatewayListenerTlsFileCertificate) *VirtualGatewayListenerTlsCertificate { s.File = v return s } // SetSds sets the Sds field's value. func (s *VirtualGatewayListenerTlsCertificate) SetSds(v *VirtualGatewayListenerTlsSdsCertificate) *VirtualGatewayListenerTlsCertificate { s.Sds = v return s } // An object that represents a local file certificate. The certificate must // meet specific requirements and you must have proxy authorization enabled. // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). type VirtualGatewayListenerTlsFileCertificate struct { _ struct{} `type:"structure"` // The certificate chain for the certificate. // // CertificateChain is a required field CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` // The private key for a certificate stored on the file system of the mesh endpoint // that the proxy is running on. // // PrivateKey is a required field PrivateKey *string `locationName:"privateKey" 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 VirtualGatewayListenerTlsFileCertificate) 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 VirtualGatewayListenerTlsFileCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayListenerTlsFileCertificate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsFileCertificate"} if s.CertificateChain == nil { invalidParams.Add(request.NewErrParamRequired("CertificateChain")) } if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) } if s.PrivateKey == nil { invalidParams.Add(request.NewErrParamRequired("PrivateKey")) } if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificateChain sets the CertificateChain field's value. func (s *VirtualGatewayListenerTlsFileCertificate) SetCertificateChain(v string) *VirtualGatewayListenerTlsFileCertificate { s.CertificateChain = &v return s } // SetPrivateKey sets the PrivateKey field's value. func (s *VirtualGatewayListenerTlsFileCertificate) SetPrivateKey(v string) *VirtualGatewayListenerTlsFileCertificate { s.PrivateKey = &v return s } // An object that represents the virtual gateway's listener's Secret Discovery // Service certificate.The proxy must be configured with a local SDS provider // via a Unix Domain Socket. See App MeshTLS documentation (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) // for more info. type VirtualGatewayListenerTlsSdsCertificate struct { _ struct{} `type:"structure"` // A reference to an object that represents the name of the secret secret requested // from the Secret Discovery Service provider representing Transport Layer Security // (TLS) materials like a certificate or certificate chain. // // SecretName is a required field SecretName *string `locationName:"secretName" 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 VirtualGatewayListenerTlsSdsCertificate) 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 VirtualGatewayListenerTlsSdsCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayListenerTlsSdsCertificate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsSdsCertificate"} if s.SecretName == nil { invalidParams.Add(request.NewErrParamRequired("SecretName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetSecretName sets the SecretName field's value. func (s *VirtualGatewayListenerTlsSdsCertificate) SetSecretName(v string) *VirtualGatewayListenerTlsSdsCertificate { s.SecretName = &v return s } // An object that represents a virtual gateway's listener's Transport Layer // Security (TLS) validation context. type VirtualGatewayListenerTlsValidationContext struct { _ struct{} `type:"structure"` // A reference to an object that represents the SANs for a virtual gateway listener's // Transport Layer Security (TLS) validation context. SubjectAlternativeNames *SubjectAlternativeNames `locationName:"subjectAlternativeNames" type:"structure"` // A reference to where to retrieve the trust chain when validating a peer’s // Transport Layer Security (TLS) certificate. // // Trust is a required field Trust *VirtualGatewayListenerTlsValidationContextTrust `locationName:"trust" type:"structure" 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 VirtualGatewayListenerTlsValidationContext) 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 VirtualGatewayListenerTlsValidationContext) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayListenerTlsValidationContext) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsValidationContext"} if s.Trust == nil { invalidParams.Add(request.NewErrParamRequired("Trust")) } if s.SubjectAlternativeNames != nil { if err := s.SubjectAlternativeNames.Validate(); err != nil { invalidParams.AddNested("SubjectAlternativeNames", err.(request.ErrInvalidParams)) } } if s.Trust != nil { if err := s.Trust.Validate(); err != nil { invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. func (s *VirtualGatewayListenerTlsValidationContext) SetSubjectAlternativeNames(v *SubjectAlternativeNames) *VirtualGatewayListenerTlsValidationContext { s.SubjectAlternativeNames = v return s } // SetTrust sets the Trust field's value. func (s *VirtualGatewayListenerTlsValidationContext) SetTrust(v *VirtualGatewayListenerTlsValidationContextTrust) *VirtualGatewayListenerTlsValidationContext { s.Trust = v return s } // An object that represents a virtual gateway's listener's Transport Layer // Security (TLS) validation context trust. type VirtualGatewayListenerTlsValidationContextTrust struct { _ struct{} `type:"structure"` // An object that represents a Transport Layer Security (TLS) validation context // trust for a local file. File *VirtualGatewayTlsValidationContextFileTrust `locationName:"file" type:"structure"` // A reference to an object that represents a virtual gateway's listener's Transport // Layer Security (TLS) Secret Discovery Service validation context trust. Sds *VirtualGatewayTlsValidationContextSdsTrust `locationName:"sds" 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 VirtualGatewayListenerTlsValidationContextTrust) 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 VirtualGatewayListenerTlsValidationContextTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayListenerTlsValidationContextTrust) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsValidationContextTrust"} if s.File != nil { if err := s.File.Validate(); err != nil { invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } if s.Sds != nil { if err := s.Sds.Validate(); err != nil { invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFile sets the File field's value. func (s *VirtualGatewayListenerTlsValidationContextTrust) SetFile(v *VirtualGatewayTlsValidationContextFileTrust) *VirtualGatewayListenerTlsValidationContextTrust { s.File = v return s } // SetSds sets the Sds field's value. func (s *VirtualGatewayListenerTlsValidationContextTrust) SetSds(v *VirtualGatewayTlsValidationContextSdsTrust) *VirtualGatewayListenerTlsValidationContextTrust { s.Sds = v return s } // An object that represents logging information. type VirtualGatewayLogging struct { _ struct{} `type:"structure"` // The access log configuration. AccessLog *VirtualGatewayAccessLog `locationName:"accessLog" 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 VirtualGatewayLogging) 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 VirtualGatewayLogging) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayLogging) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayLogging"} if s.AccessLog != nil { if err := s.AccessLog.Validate(); err != nil { invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAccessLog sets the AccessLog field's value. func (s *VirtualGatewayLogging) SetAccessLog(v *VirtualGatewayAccessLog) *VirtualGatewayLogging { s.AccessLog = v return s } // An object that represents a port mapping. type VirtualGatewayPortMapping struct { _ struct{} `type:"structure"` // The port used for the port mapping. Specify one protocol. // // Port is a required field Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` // The protocol used for the port mapping. // // Protocol is a required field Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"VirtualGatewayPortProtocol"` } // 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 VirtualGatewayPortMapping) 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 VirtualGatewayPortMapping) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayPortMapping) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayPortMapping"} if s.Port == nil { invalidParams.Add(request.NewErrParamRequired("Port")) } if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if s.Protocol == nil { invalidParams.Add(request.NewErrParamRequired("Protocol")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetPort sets the Port field's value. func (s *VirtualGatewayPortMapping) SetPort(v int64) *VirtualGatewayPortMapping { s.Port = &v return s } // SetProtocol sets the Protocol field's value. func (s *VirtualGatewayPortMapping) SetProtocol(v string) *VirtualGatewayPortMapping { s.Protocol = &v return s } // An object that represents a virtual gateway returned by a list operation. type VirtualGatewayRef struct { _ struct{} `type:"structure"` // The full Amazon Resource Name (ARN) for the resource. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` // The Unix epoch timestamp in seconds for when the resource was created. // // CreatedAt is a required field CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` // The Unix epoch timestamp in seconds for when the resource was last updated. // // LastUpdatedAt is a required field LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` // The name of the service mesh that the resource resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // MeshOwner is a required field MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the resource owner. If the account // ID is not your own, then it's the ID of the mesh owner or of another account // that the mesh is shared with. For more information about mesh sharing, see // Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` // The version of the resource. Resources are created at version 1, and this // version is incremented each time that they're updated. // // Version is a required field Version *int64 `locationName:"version" type:"long" required:"true"` // The name of the resource. // // VirtualGatewayName is a required field VirtualGatewayName *string `locationName:"virtualGatewayName" 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 VirtualGatewayRef) 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 VirtualGatewayRef) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *VirtualGatewayRef) SetArn(v string) *VirtualGatewayRef { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. func (s *VirtualGatewayRef) SetCreatedAt(v time.Time) *VirtualGatewayRef { s.CreatedAt = &v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *VirtualGatewayRef) SetLastUpdatedAt(v time.Time) *VirtualGatewayRef { s.LastUpdatedAt = &v return s } // SetMeshName sets the MeshName field's value. func (s *VirtualGatewayRef) SetMeshName(v string) *VirtualGatewayRef { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *VirtualGatewayRef) SetMeshOwner(v string) *VirtualGatewayRef { s.MeshOwner = &v return s } // SetResourceOwner sets the ResourceOwner field's value. func (s *VirtualGatewayRef) SetResourceOwner(v string) *VirtualGatewayRef { s.ResourceOwner = &v return s } // SetVersion sets the Version field's value. func (s *VirtualGatewayRef) SetVersion(v int64) *VirtualGatewayRef { s.Version = &v return s } // SetVirtualGatewayName sets the VirtualGatewayName field's value. func (s *VirtualGatewayRef) SetVirtualGatewayName(v string) *VirtualGatewayRef { s.VirtualGatewayName = &v return s } // An object that represents the specification of a service mesh resource. type VirtualGatewaySpec struct { _ struct{} `type:"structure"` // A reference to an object that represents the defaults for backends. BackendDefaults *VirtualGatewayBackendDefaults `locationName:"backendDefaults" type:"structure"` // The listeners that the mesh endpoint is expected to receive inbound traffic // from. You can specify one listener. // // Listeners is a required field Listeners []*VirtualGatewayListener `locationName:"listeners" type:"list" required:"true"` // An object that represents logging information. Logging *VirtualGatewayLogging `locationName:"logging" 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 VirtualGatewaySpec) 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 VirtualGatewaySpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewaySpec) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewaySpec"} if s.Listeners == nil { invalidParams.Add(request.NewErrParamRequired("Listeners")) } if s.BackendDefaults != nil { if err := s.BackendDefaults.Validate(); err != nil { invalidParams.AddNested("BackendDefaults", err.(request.ErrInvalidParams)) } } if s.Listeners != nil { for i, v := range s.Listeners { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) } } } if s.Logging != nil { if err := s.Logging.Validate(); err != nil { invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetBackendDefaults sets the BackendDefaults field's value. func (s *VirtualGatewaySpec) SetBackendDefaults(v *VirtualGatewayBackendDefaults) *VirtualGatewaySpec { s.BackendDefaults = v return s } // SetListeners sets the Listeners field's value. func (s *VirtualGatewaySpec) SetListeners(v []*VirtualGatewayListener) *VirtualGatewaySpec { s.Listeners = v return s } // SetLogging sets the Logging field's value. func (s *VirtualGatewaySpec) SetLogging(v *VirtualGatewayLogging) *VirtualGatewaySpec { s.Logging = v return s } // An object that represents the status of the mesh resource. type VirtualGatewayStatus struct { _ struct{} `type:"structure"` // The current status. // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualGatewayStatusCode"` } // 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 VirtualGatewayStatus) 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 VirtualGatewayStatus) GoString() string { return s.String() } // SetStatus sets the Status field's value. func (s *VirtualGatewayStatus) SetStatus(v string) *VirtualGatewayStatus { s.Status = &v return s } // An object that represents a Transport Layer Security (TLS) validation context. type VirtualGatewayTlsValidationContext struct { _ struct{} `type:"structure"` // A reference to an object that represents the SANs for a virtual gateway's // listener's Transport Layer Security (TLS) validation context. SubjectAlternativeNames *SubjectAlternativeNames `locationName:"subjectAlternativeNames" type:"structure"` // A reference to where to retrieve the trust chain when validating a peer’s // Transport Layer Security (TLS) certificate. // // Trust is a required field Trust *VirtualGatewayTlsValidationContextTrust `locationName:"trust" type:"structure" 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 VirtualGatewayTlsValidationContext) 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 VirtualGatewayTlsValidationContext) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayTlsValidationContext) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContext"} if s.Trust == nil { invalidParams.Add(request.NewErrParamRequired("Trust")) } if s.SubjectAlternativeNames != nil { if err := s.SubjectAlternativeNames.Validate(); err != nil { invalidParams.AddNested("SubjectAlternativeNames", err.(request.ErrInvalidParams)) } } if s.Trust != nil { if err := s.Trust.Validate(); err != nil { invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. func (s *VirtualGatewayTlsValidationContext) SetSubjectAlternativeNames(v *SubjectAlternativeNames) *VirtualGatewayTlsValidationContext { s.SubjectAlternativeNames = v return s } // SetTrust sets the Trust field's value. func (s *VirtualGatewayTlsValidationContext) SetTrust(v *VirtualGatewayTlsValidationContextTrust) *VirtualGatewayTlsValidationContext { s.Trust = v return s } // An object that represents a Transport Layer Security (TLS) validation context // trust for an Certificate Manager certificate. type VirtualGatewayTlsValidationContextAcmTrust struct { _ struct{} `type:"structure"` // One or more ACM Amazon Resource Name (ARN)s. // // CertificateAuthorityArns is a required field CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" 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 VirtualGatewayTlsValidationContextAcmTrust) 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 VirtualGatewayTlsValidationContextAcmTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayTlsValidationContextAcmTrust) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextAcmTrust"} if s.CertificateAuthorityArns == nil { invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns")) } if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 { invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value. func (s *VirtualGatewayTlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *VirtualGatewayTlsValidationContextAcmTrust { s.CertificateAuthorityArns = v return s } // An object that represents a Transport Layer Security (TLS) validation context // trust for a local file. type VirtualGatewayTlsValidationContextFileTrust struct { _ struct{} `type:"structure"` // The certificate trust chain for a certificate stored on the file system of // the virtual node that the proxy is running on. // // CertificateChain is a required field CertificateChain *string `locationName:"certificateChain" 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 VirtualGatewayTlsValidationContextFileTrust) 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 VirtualGatewayTlsValidationContextFileTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayTlsValidationContextFileTrust) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextFileTrust"} if s.CertificateChain == nil { invalidParams.Add(request.NewErrParamRequired("CertificateChain")) } if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCertificateChain sets the CertificateChain field's value. func (s *VirtualGatewayTlsValidationContextFileTrust) SetCertificateChain(v string) *VirtualGatewayTlsValidationContextFileTrust { s.CertificateChain = &v return s } // An object that represents a virtual gateway's listener's Transport Layer // Security (TLS) Secret Discovery Service validation context trust. The proxy // must be configured with a local SDS provider via a Unix Domain Socket. See // App Mesh TLS documentation (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) // for more info. type VirtualGatewayTlsValidationContextSdsTrust struct { _ struct{} `type:"structure"` // A reference to an object that represents the name of the secret for a virtual // gateway's Transport Layer Security (TLS) Secret Discovery Service validation // context trust. // // SecretName is a required field SecretName *string `locationName:"secretName" 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 VirtualGatewayTlsValidationContextSdsTrust) 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 VirtualGatewayTlsValidationContextSdsTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayTlsValidationContextSdsTrust) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextSdsTrust"} if s.SecretName == nil { invalidParams.Add(request.NewErrParamRequired("SecretName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetSecretName sets the SecretName field's value. func (s *VirtualGatewayTlsValidationContextSdsTrust) SetSecretName(v string) *VirtualGatewayTlsValidationContextSdsTrust { s.SecretName = &v return s } // An object that represents a Transport Layer Security (TLS) validation context // trust. type VirtualGatewayTlsValidationContextTrust struct { _ struct{} `type:"structure"` // A reference to an object that represents a Transport Layer Security (TLS) // validation context trust for an Certificate Manager certificate. Acm *VirtualGatewayTlsValidationContextAcmTrust `locationName:"acm" type:"structure"` // An object that represents a Transport Layer Security (TLS) validation context // trust for a local file. File *VirtualGatewayTlsValidationContextFileTrust `locationName:"file" type:"structure"` // A reference to an object that represents a virtual gateway's Transport Layer // Security (TLS) Secret Discovery Service validation context trust. Sds *VirtualGatewayTlsValidationContextSdsTrust `locationName:"sds" 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 VirtualGatewayTlsValidationContextTrust) 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 VirtualGatewayTlsValidationContextTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualGatewayTlsValidationContextTrust) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextTrust"} if s.Acm != nil { if err := s.Acm.Validate(); err != nil { invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) } } if s.File != nil { if err := s.File.Validate(); err != nil { invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } if s.Sds != nil { if err := s.Sds.Validate(); err != nil { invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAcm sets the Acm field's value. func (s *VirtualGatewayTlsValidationContextTrust) SetAcm(v *VirtualGatewayTlsValidationContextAcmTrust) *VirtualGatewayTlsValidationContextTrust { s.Acm = v return s } // SetFile sets the File field's value. func (s *VirtualGatewayTlsValidationContextTrust) SetFile(v *VirtualGatewayTlsValidationContextFileTrust) *VirtualGatewayTlsValidationContextTrust { s.File = v return s } // SetSds sets the Sds field's value. func (s *VirtualGatewayTlsValidationContextTrust) SetSds(v *VirtualGatewayTlsValidationContextSdsTrust) *VirtualGatewayTlsValidationContextTrust { s.Sds = v return s } // An object that represents the type of virtual node connection pool. // // Only one protocol is used at a time and should be the same protocol as the // one chosen under port mapping. // // If not present the default value for maxPendingRequests is 2147483647. type VirtualNodeConnectionPool struct { _ struct{} `type:"structure"` // An object that represents a type of connection pool. Grpc *VirtualNodeGrpcConnectionPool `locationName:"grpc" type:"structure"` // An object that represents a type of connection pool. Http *VirtualNodeHttpConnectionPool `locationName:"http" type:"structure"` // An object that represents a type of connection pool. Http2 *VirtualNodeHttp2ConnectionPool `locationName:"http2" type:"structure"` // An object that represents a type of connection pool. Tcp *VirtualNodeTcpConnectionPool `locationName:"tcp" 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 VirtualNodeConnectionPool) 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 VirtualNodeConnectionPool) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualNodeConnectionPool) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualNodeConnectionPool"} if s.Grpc != nil { if err := s.Grpc.Validate(); err != nil { invalidParams.AddNested("Grpc", err.(request.ErrInvalidParams)) } } if s.Http != nil { if err := s.Http.Validate(); err != nil { invalidParams.AddNested("Http", err.(request.ErrInvalidParams)) } } if s.Http2 != nil { if err := s.Http2.Validate(); err != nil { invalidParams.AddNested("Http2", err.(request.ErrInvalidParams)) } } if s.Tcp != nil { if err := s.Tcp.Validate(); err != nil { invalidParams.AddNested("Tcp", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetGrpc sets the Grpc field's value. func (s *VirtualNodeConnectionPool) SetGrpc(v *VirtualNodeGrpcConnectionPool) *VirtualNodeConnectionPool { s.Grpc = v return s } // SetHttp sets the Http field's value. func (s *VirtualNodeConnectionPool) SetHttp(v *VirtualNodeHttpConnectionPool) *VirtualNodeConnectionPool { s.Http = v return s } // SetHttp2 sets the Http2 field's value. func (s *VirtualNodeConnectionPool) SetHttp2(v *VirtualNodeHttp2ConnectionPool) *VirtualNodeConnectionPool { s.Http2 = v return s } // SetTcp sets the Tcp field's value. func (s *VirtualNodeConnectionPool) SetTcp(v *VirtualNodeTcpConnectionPool) *VirtualNodeConnectionPool { s.Tcp = v return s } // An object that represents a virtual node returned by a describe operation. type VirtualNodeData struct { _ struct{} `type:"structure"` // The name of the service mesh that the virtual node resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The associated metadata for the virtual node. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` // The specifications of the virtual node. // // Spec is a required field Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` // The current status for the virtual node. // // Status is a required field Status *VirtualNodeStatus `locationName:"status" type:"structure" required:"true"` // The name of the virtual node. // // VirtualNodeName is a required field VirtualNodeName *string `locationName:"virtualNodeName" 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 VirtualNodeData) 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 VirtualNodeData) GoString() string { return s.String() } // SetMeshName sets the MeshName field's value. func (s *VirtualNodeData) SetMeshName(v string) *VirtualNodeData { s.MeshName = &v return s } // SetMetadata sets the Metadata field's value. func (s *VirtualNodeData) SetMetadata(v *ResourceMetadata) *VirtualNodeData { s.Metadata = v return s } // SetSpec sets the Spec field's value. func (s *VirtualNodeData) SetSpec(v *VirtualNodeSpec) *VirtualNodeData { s.Spec = v return s } // SetStatus sets the Status field's value. func (s *VirtualNodeData) SetStatus(v *VirtualNodeStatus) *VirtualNodeData { s.Status = v return s } // SetVirtualNodeName sets the VirtualNodeName field's value. func (s *VirtualNodeData) SetVirtualNodeName(v string) *VirtualNodeData { s.VirtualNodeName = &v return s } // An object that represents a type of connection pool. type VirtualNodeGrpcConnectionPool struct { _ struct{} `type:"structure"` // Maximum number of inflight requests Envoy can concurrently support across // hosts in upstream cluster. // // MaxRequests is a required field MaxRequests *int64 `locationName:"maxRequests" min:"1" 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 VirtualNodeGrpcConnectionPool) 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 VirtualNodeGrpcConnectionPool) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualNodeGrpcConnectionPool) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualNodeGrpcConnectionPool"} if s.MaxRequests == nil { invalidParams.Add(request.NewErrParamRequired("MaxRequests")) } if s.MaxRequests != nil && *s.MaxRequests < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxRequests", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxRequests sets the MaxRequests field's value. func (s *VirtualNodeGrpcConnectionPool) SetMaxRequests(v int64) *VirtualNodeGrpcConnectionPool { s.MaxRequests = &v return s } // An object that represents a type of connection pool. type VirtualNodeHttp2ConnectionPool struct { _ struct{} `type:"structure"` // Maximum number of inflight requests Envoy can concurrently support across // hosts in upstream cluster. // // MaxRequests is a required field MaxRequests *int64 `locationName:"maxRequests" min:"1" 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 VirtualNodeHttp2ConnectionPool) 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 VirtualNodeHttp2ConnectionPool) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualNodeHttp2ConnectionPool) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualNodeHttp2ConnectionPool"} if s.MaxRequests == nil { invalidParams.Add(request.NewErrParamRequired("MaxRequests")) } if s.MaxRequests != nil && *s.MaxRequests < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxRequests", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxRequests sets the MaxRequests field's value. func (s *VirtualNodeHttp2ConnectionPool) SetMaxRequests(v int64) *VirtualNodeHttp2ConnectionPool { s.MaxRequests = &v return s } // An object that represents a type of connection pool. type VirtualNodeHttpConnectionPool struct { _ struct{} `type:"structure"` // Maximum number of outbound TCP connections Envoy can establish concurrently // with all hosts in upstream cluster. // // MaxConnections is a required field MaxConnections *int64 `locationName:"maxConnections" min:"1" type:"integer" required:"true"` // Number of overflowing requests after max_connections Envoy will queue to // upstream cluster. MaxPendingRequests *int64 `locationName:"maxPendingRequests" 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 VirtualNodeHttpConnectionPool) 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 VirtualNodeHttpConnectionPool) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualNodeHttpConnectionPool) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualNodeHttpConnectionPool"} if s.MaxConnections == nil { invalidParams.Add(request.NewErrParamRequired("MaxConnections")) } if s.MaxConnections != nil && *s.MaxConnections < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxConnections", 1)) } if s.MaxPendingRequests != nil && *s.MaxPendingRequests < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxPendingRequests", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxConnections sets the MaxConnections field's value. func (s *VirtualNodeHttpConnectionPool) SetMaxConnections(v int64) *VirtualNodeHttpConnectionPool { s.MaxConnections = &v return s } // SetMaxPendingRequests sets the MaxPendingRequests field's value. func (s *VirtualNodeHttpConnectionPool) SetMaxPendingRequests(v int64) *VirtualNodeHttpConnectionPool { s.MaxPendingRequests = &v return s } // An object that represents a virtual node returned by a list operation. type VirtualNodeRef struct { _ struct{} `type:"structure"` // The full Amazon Resource Name (ARN) for the virtual node. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` // The Unix epoch timestamp in seconds for when the resource was created. // // CreatedAt is a required field CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` // The Unix epoch timestamp in seconds for when the resource was last updated. // // LastUpdatedAt is a required field LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` // The name of the service mesh that the virtual node resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // MeshOwner is a required field MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the resource owner. If the account // ID is not your own, then it's the ID of the mesh owner or of another account // that the mesh is shared with. For more information about mesh sharing, see // Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` // The version of the resource. Resources are created at version 1, and this // version is incremented each time that they're updated. // // Version is a required field Version *int64 `locationName:"version" type:"long" required:"true"` // The name of the virtual node. // // VirtualNodeName is a required field VirtualNodeName *string `locationName:"virtualNodeName" 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 VirtualNodeRef) 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 VirtualNodeRef) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *VirtualNodeRef) SetArn(v string) *VirtualNodeRef { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. func (s *VirtualNodeRef) SetCreatedAt(v time.Time) *VirtualNodeRef { s.CreatedAt = &v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *VirtualNodeRef) SetLastUpdatedAt(v time.Time) *VirtualNodeRef { s.LastUpdatedAt = &v return s } // SetMeshName sets the MeshName field's value. func (s *VirtualNodeRef) SetMeshName(v string) *VirtualNodeRef { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *VirtualNodeRef) SetMeshOwner(v string) *VirtualNodeRef { s.MeshOwner = &v return s } // SetResourceOwner sets the ResourceOwner field's value. func (s *VirtualNodeRef) SetResourceOwner(v string) *VirtualNodeRef { s.ResourceOwner = &v return s } // SetVersion sets the Version field's value. func (s *VirtualNodeRef) SetVersion(v int64) *VirtualNodeRef { s.Version = &v return s } // SetVirtualNodeName sets the VirtualNodeName field's value. func (s *VirtualNodeRef) SetVirtualNodeName(v string) *VirtualNodeRef { s.VirtualNodeName = &v return s } // An object that represents a virtual node service provider. type VirtualNodeServiceProvider struct { _ struct{} `type:"structure"` // The name of the virtual node that is acting as a service provider. // // VirtualNodeName is a required field VirtualNodeName *string `locationName:"virtualNodeName" 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 VirtualNodeServiceProvider) 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 VirtualNodeServiceProvider) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualNodeServiceProvider) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualNodeServiceProvider"} if s.VirtualNodeName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) } if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetVirtualNodeName sets the VirtualNodeName field's value. func (s *VirtualNodeServiceProvider) SetVirtualNodeName(v string) *VirtualNodeServiceProvider { s.VirtualNodeName = &v return s } // An object that represents the specification of a virtual node. type VirtualNodeSpec struct { _ struct{} `type:"structure"` // A reference to an object that represents the defaults for backends. BackendDefaults *BackendDefaults `locationName:"backendDefaults" type:"structure"` // The backends that the virtual node is expected to send outbound traffic to. Backends []*Backend `locationName:"backends" type:"list"` // The listener that the virtual node is expected to receive inbound traffic // from. You can specify one listener. Listeners []*Listener `locationName:"listeners" type:"list"` // The inbound and outbound access logging information for the virtual node. Logging *Logging `locationName:"logging" type:"structure"` // The service discovery information for the virtual node. If your virtual node // does not expect ingress traffic, you can omit this parameter. If you specify // a listener, then you must specify service discovery information. ServiceDiscovery *ServiceDiscovery `locationName:"serviceDiscovery" 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 VirtualNodeSpec) 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 VirtualNodeSpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualNodeSpec) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualNodeSpec"} if s.BackendDefaults != nil { if err := s.BackendDefaults.Validate(); err != nil { invalidParams.AddNested("BackendDefaults", err.(request.ErrInvalidParams)) } } if s.Backends != nil { for i, v := range s.Backends { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Backends", i), err.(request.ErrInvalidParams)) } } } if s.Listeners != nil { for i, v := range s.Listeners { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) } } } if s.Logging != nil { if err := s.Logging.Validate(); err != nil { invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) } } if s.ServiceDiscovery != nil { if err := s.ServiceDiscovery.Validate(); err != nil { invalidParams.AddNested("ServiceDiscovery", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetBackendDefaults sets the BackendDefaults field's value. func (s *VirtualNodeSpec) SetBackendDefaults(v *BackendDefaults) *VirtualNodeSpec { s.BackendDefaults = v return s } // SetBackends sets the Backends field's value. func (s *VirtualNodeSpec) SetBackends(v []*Backend) *VirtualNodeSpec { s.Backends = v return s } // SetListeners sets the Listeners field's value. func (s *VirtualNodeSpec) SetListeners(v []*Listener) *VirtualNodeSpec { s.Listeners = v return s } // SetLogging sets the Logging field's value. func (s *VirtualNodeSpec) SetLogging(v *Logging) *VirtualNodeSpec { s.Logging = v return s } // SetServiceDiscovery sets the ServiceDiscovery field's value. func (s *VirtualNodeSpec) SetServiceDiscovery(v *ServiceDiscovery) *VirtualNodeSpec { s.ServiceDiscovery = v return s } // An object that represents the current status of the virtual node. type VirtualNodeStatus struct { _ struct{} `type:"structure"` // The current status of the virtual node. // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualNodeStatusCode"` } // 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 VirtualNodeStatus) 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 VirtualNodeStatus) GoString() string { return s.String() } // SetStatus sets the Status field's value. func (s *VirtualNodeStatus) SetStatus(v string) *VirtualNodeStatus { s.Status = &v return s } // An object that represents a type of connection pool. type VirtualNodeTcpConnectionPool struct { _ struct{} `type:"structure"` // Maximum number of outbound TCP connections Envoy can establish concurrently // with all hosts in upstream cluster. // // MaxConnections is a required field MaxConnections *int64 `locationName:"maxConnections" min:"1" 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 VirtualNodeTcpConnectionPool) 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 VirtualNodeTcpConnectionPool) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualNodeTcpConnectionPool) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualNodeTcpConnectionPool"} if s.MaxConnections == nil { invalidParams.Add(request.NewErrParamRequired("MaxConnections")) } if s.MaxConnections != nil && *s.MaxConnections < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxConnections", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxConnections sets the MaxConnections field's value. func (s *VirtualNodeTcpConnectionPool) SetMaxConnections(v int64) *VirtualNodeTcpConnectionPool { s.MaxConnections = &v return s } // An object that represents a virtual router returned by a describe operation. type VirtualRouterData struct { _ struct{} `type:"structure"` // The name of the service mesh that the virtual router resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The associated metadata for the virtual router. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` // The specifications of the virtual router. // // Spec is a required field Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` // The current status of the virtual router. // // Status is a required field Status *VirtualRouterStatus `locationName:"status" type:"structure" required:"true"` // The name of the virtual router. // // VirtualRouterName is a required field VirtualRouterName *string `locationName:"virtualRouterName" 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 VirtualRouterData) 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 VirtualRouterData) GoString() string { return s.String() } // SetMeshName sets the MeshName field's value. func (s *VirtualRouterData) SetMeshName(v string) *VirtualRouterData { s.MeshName = &v return s } // SetMetadata sets the Metadata field's value. func (s *VirtualRouterData) SetMetadata(v *ResourceMetadata) *VirtualRouterData { s.Metadata = v return s } // SetSpec sets the Spec field's value. func (s *VirtualRouterData) SetSpec(v *VirtualRouterSpec) *VirtualRouterData { s.Spec = v return s } // SetStatus sets the Status field's value. func (s *VirtualRouterData) SetStatus(v *VirtualRouterStatus) *VirtualRouterData { s.Status = v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *VirtualRouterData) SetVirtualRouterName(v string) *VirtualRouterData { s.VirtualRouterName = &v return s } // An object that represents a virtual router listener. type VirtualRouterListener struct { _ struct{} `type:"structure"` // An object that represents a port mapping. // // PortMapping is a required field PortMapping *PortMapping `locationName:"portMapping" type:"structure" 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 VirtualRouterListener) 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 VirtualRouterListener) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualRouterListener) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualRouterListener"} if s.PortMapping == nil { invalidParams.Add(request.NewErrParamRequired("PortMapping")) } if s.PortMapping != nil { if err := s.PortMapping.Validate(); err != nil { invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetPortMapping sets the PortMapping field's value. func (s *VirtualRouterListener) SetPortMapping(v *PortMapping) *VirtualRouterListener { s.PortMapping = v return s } // An object that represents a virtual router returned by a list operation. type VirtualRouterRef struct { _ struct{} `type:"structure"` // The full Amazon Resource Name (ARN) for the virtual router. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` // The Unix epoch timestamp in seconds for when the resource was created. // // CreatedAt is a required field CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` // The Unix epoch timestamp in seconds for when the resource was last updated. // // LastUpdatedAt is a required field LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` // The name of the service mesh that the virtual router resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // MeshOwner is a required field MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the resource owner. If the account // ID is not your own, then it's the ID of the mesh owner or of another account // that the mesh is shared with. For more information about mesh sharing, see // Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` // The version of the resource. Resources are created at version 1, and this // version is incremented each time that they're updated. // // Version is a required field Version *int64 `locationName:"version" type:"long" required:"true"` // The name of the virtual router. // // VirtualRouterName is a required field VirtualRouterName *string `locationName:"virtualRouterName" 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 VirtualRouterRef) 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 VirtualRouterRef) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *VirtualRouterRef) SetArn(v string) *VirtualRouterRef { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. func (s *VirtualRouterRef) SetCreatedAt(v time.Time) *VirtualRouterRef { s.CreatedAt = &v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *VirtualRouterRef) SetLastUpdatedAt(v time.Time) *VirtualRouterRef { s.LastUpdatedAt = &v return s } // SetMeshName sets the MeshName field's value. func (s *VirtualRouterRef) SetMeshName(v string) *VirtualRouterRef { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *VirtualRouterRef) SetMeshOwner(v string) *VirtualRouterRef { s.MeshOwner = &v return s } // SetResourceOwner sets the ResourceOwner field's value. func (s *VirtualRouterRef) SetResourceOwner(v string) *VirtualRouterRef { s.ResourceOwner = &v return s } // SetVersion sets the Version field's value. func (s *VirtualRouterRef) SetVersion(v int64) *VirtualRouterRef { s.Version = &v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *VirtualRouterRef) SetVirtualRouterName(v string) *VirtualRouterRef { s.VirtualRouterName = &v return s } // An object that represents a virtual node service provider. type VirtualRouterServiceProvider struct { _ struct{} `type:"structure"` // The name of the virtual router that is acting as a service provider. // // VirtualRouterName is a required field VirtualRouterName *string `locationName:"virtualRouterName" 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 VirtualRouterServiceProvider) 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 VirtualRouterServiceProvider) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualRouterServiceProvider) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualRouterServiceProvider"} if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *VirtualRouterServiceProvider) SetVirtualRouterName(v string) *VirtualRouterServiceProvider { s.VirtualRouterName = &v return s } // An object that represents the specification of a virtual router. type VirtualRouterSpec struct { _ struct{} `type:"structure"` // The listeners that the virtual router is expected to receive inbound traffic // from. You can specify one listener. Listeners []*VirtualRouterListener `locationName:"listeners" 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 VirtualRouterSpec) 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 VirtualRouterSpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualRouterSpec) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualRouterSpec"} if s.Listeners != nil { for i, v := range s.Listeners { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetListeners sets the Listeners field's value. func (s *VirtualRouterSpec) SetListeners(v []*VirtualRouterListener) *VirtualRouterSpec { s.Listeners = v return s } // An object that represents the status of a virtual router. type VirtualRouterStatus struct { _ struct{} `type:"structure"` // The current status of the virtual router. // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualRouterStatusCode"` } // 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 VirtualRouterStatus) 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 VirtualRouterStatus) GoString() string { return s.String() } // SetStatus sets the Status field's value. func (s *VirtualRouterStatus) SetStatus(v string) *VirtualRouterStatus { s.Status = &v return s } // An object that represents a virtual service backend for a virtual node. type VirtualServiceBackend struct { _ struct{} `type:"structure"` // A reference to an object that represents the client policy for a backend. ClientPolicy *ClientPolicy `locationName:"clientPolicy" type:"structure"` // The name of the virtual service that is acting as a virtual node backend. // // VirtualServiceName is a required field VirtualServiceName *string `locationName:"virtualServiceName" 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 VirtualServiceBackend) 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 VirtualServiceBackend) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualServiceBackend) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualServiceBackend"} if s.VirtualServiceName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) } if s.ClientPolicy != nil { if err := s.ClientPolicy.Validate(); err != nil { invalidParams.AddNested("ClientPolicy", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientPolicy sets the ClientPolicy field's value. func (s *VirtualServiceBackend) SetClientPolicy(v *ClientPolicy) *VirtualServiceBackend { s.ClientPolicy = v return s } // SetVirtualServiceName sets the VirtualServiceName field's value. func (s *VirtualServiceBackend) SetVirtualServiceName(v string) *VirtualServiceBackend { s.VirtualServiceName = &v return s } // An object that represents a virtual service returned by a describe operation. type VirtualServiceData struct { _ struct{} `type:"structure"` // The name of the service mesh that the virtual service resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // An object that represents metadata for a resource. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` // The specifications of the virtual service. // // Spec is a required field Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` // The current status of the virtual service. // // Status is a required field Status *VirtualServiceStatus `locationName:"status" type:"structure" required:"true"` // The name of the virtual service. // // VirtualServiceName is a required field VirtualServiceName *string `locationName:"virtualServiceName" 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 VirtualServiceData) 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 VirtualServiceData) GoString() string { return s.String() } // SetMeshName sets the MeshName field's value. func (s *VirtualServiceData) SetMeshName(v string) *VirtualServiceData { s.MeshName = &v return s } // SetMetadata sets the Metadata field's value. func (s *VirtualServiceData) SetMetadata(v *ResourceMetadata) *VirtualServiceData { s.Metadata = v return s } // SetSpec sets the Spec field's value. func (s *VirtualServiceData) SetSpec(v *VirtualServiceSpec) *VirtualServiceData { s.Spec = v return s } // SetStatus sets the Status field's value. func (s *VirtualServiceData) SetStatus(v *VirtualServiceStatus) *VirtualServiceData { s.Status = v return s } // SetVirtualServiceName sets the VirtualServiceName field's value. func (s *VirtualServiceData) SetVirtualServiceName(v string) *VirtualServiceData { s.VirtualServiceName = &v return s } // An object that represents the provider for a virtual service. type VirtualServiceProvider struct { _ struct{} `type:"structure"` // The virtual node associated with a virtual service. VirtualNode *VirtualNodeServiceProvider `locationName:"virtualNode" type:"structure"` // The virtual router associated with a virtual service. VirtualRouter *VirtualRouterServiceProvider `locationName:"virtualRouter" 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 VirtualServiceProvider) 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 VirtualServiceProvider) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualServiceProvider) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualServiceProvider"} if s.VirtualNode != nil { if err := s.VirtualNode.Validate(); err != nil { invalidParams.AddNested("VirtualNode", err.(request.ErrInvalidParams)) } } if s.VirtualRouter != nil { if err := s.VirtualRouter.Validate(); err != nil { invalidParams.AddNested("VirtualRouter", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetVirtualNode sets the VirtualNode field's value. func (s *VirtualServiceProvider) SetVirtualNode(v *VirtualNodeServiceProvider) *VirtualServiceProvider { s.VirtualNode = v return s } // SetVirtualRouter sets the VirtualRouter field's value. func (s *VirtualServiceProvider) SetVirtualRouter(v *VirtualRouterServiceProvider) *VirtualServiceProvider { s.VirtualRouter = v return s } // An object that represents a virtual service returned by a list operation. type VirtualServiceRef struct { _ struct{} `type:"structure"` // The full Amazon Resource Name (ARN) for the virtual service. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` // The Unix epoch timestamp in seconds for when the resource was created. // // CreatedAt is a required field CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` // The Unix epoch timestamp in seconds for when the resource was last updated. // // LastUpdatedAt is a required field LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` // The name of the service mesh that the virtual service resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the service mesh owner. If the // account ID is not your own, then it's the ID of the account that shared the // mesh with your account. For more information about mesh sharing, see Working // with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // MeshOwner is a required field MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` // The Amazon Web Services IAM account ID of the resource owner. If the account // ID is not your own, then it's the ID of the mesh owner or of another account // that the mesh is shared with. For more information about mesh sharing, see // Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). // // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` // The version of the resource. Resources are created at version 1, and this // version is incremented each time that they're updated. // // Version is a required field Version *int64 `locationName:"version" type:"long" required:"true"` // The name of the virtual service. // // VirtualServiceName is a required field VirtualServiceName *string `locationName:"virtualServiceName" 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 VirtualServiceRef) 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 VirtualServiceRef) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *VirtualServiceRef) SetArn(v string) *VirtualServiceRef { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. func (s *VirtualServiceRef) SetCreatedAt(v time.Time) *VirtualServiceRef { s.CreatedAt = &v return s } // SetLastUpdatedAt sets the LastUpdatedAt field's value. func (s *VirtualServiceRef) SetLastUpdatedAt(v time.Time) *VirtualServiceRef { s.LastUpdatedAt = &v return s } // SetMeshName sets the MeshName field's value. func (s *VirtualServiceRef) SetMeshName(v string) *VirtualServiceRef { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. func (s *VirtualServiceRef) SetMeshOwner(v string) *VirtualServiceRef { s.MeshOwner = &v return s } // SetResourceOwner sets the ResourceOwner field's value. func (s *VirtualServiceRef) SetResourceOwner(v string) *VirtualServiceRef { s.ResourceOwner = &v return s } // SetVersion sets the Version field's value. func (s *VirtualServiceRef) SetVersion(v int64) *VirtualServiceRef { s.Version = &v return s } // SetVirtualServiceName sets the VirtualServiceName field's value. func (s *VirtualServiceRef) SetVirtualServiceName(v string) *VirtualServiceRef { s.VirtualServiceName = &v return s } // An object that represents the specification of a virtual service. type VirtualServiceSpec struct { _ struct{} `type:"structure"` // The App Mesh object that is acting as the provider for a virtual service. // You can specify a single virtual node or virtual router. Provider *VirtualServiceProvider `locationName:"provider" 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 VirtualServiceSpec) 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 VirtualServiceSpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VirtualServiceSpec) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VirtualServiceSpec"} if s.Provider != nil { if err := s.Provider.Validate(); err != nil { invalidParams.AddNested("Provider", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetProvider sets the Provider field's value. func (s *VirtualServiceSpec) SetProvider(v *VirtualServiceProvider) *VirtualServiceSpec { s.Provider = v return s } // An object that represents the status of a virtual service. type VirtualServiceStatus struct { _ struct{} `type:"structure"` // The current status of the virtual service. // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualServiceStatusCode"` } // 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 VirtualServiceStatus) 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 VirtualServiceStatus) GoString() string { return s.String() } // SetStatus sets the Status field's value. func (s *VirtualServiceStatus) SetStatus(v string) *VirtualServiceStatus { s.Status = &v return s } // An object that represents a target and its relative weight. Traffic is distributed // across targets according to their relative weight. For example, a weighted // target with a relative weight of 50 receives five times as much traffic as // one with a relative weight of 10. The total weight for all targets combined // must be less than or equal to 100. type WeightedTarget struct { _ struct{} `type:"structure"` // The targeted port of the weighted object. Port *int64 `locationName:"port" min:"1" type:"integer"` // The virtual node to associate with the weighted target. // // VirtualNode is a required field VirtualNode *string `locationName:"virtualNode" min:"1" type:"string" required:"true"` // The relative weight of the weighted target. // // Weight is a required field Weight *int64 `locationName:"weight" 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 WeightedTarget) 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 WeightedTarget) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *WeightedTarget) Validate() error { invalidParams := request.ErrInvalidParams{Context: "WeightedTarget"} if s.Port != nil && *s.Port < 1 { invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if s.VirtualNode == nil { invalidParams.Add(request.NewErrParamRequired("VirtualNode")) } if s.VirtualNode != nil && len(*s.VirtualNode) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualNode", 1)) } if s.Weight == nil { invalidParams.Add(request.NewErrParamRequired("Weight")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetPort sets the Port field's value. func (s *WeightedTarget) SetPort(v int64) *WeightedTarget { s.Port = &v return s } // SetVirtualNode sets the VirtualNode field's value. func (s *WeightedTarget) SetVirtualNode(v string) *WeightedTarget { s.VirtualNode = &v return s } // SetWeight sets the Weight field's value. func (s *WeightedTarget) SetWeight(v int64) *WeightedTarget { s.Weight = &v return s } const ( // DefaultGatewayRouteRewriteEnabled is a DefaultGatewayRouteRewrite enum value DefaultGatewayRouteRewriteEnabled = "ENABLED" // DefaultGatewayRouteRewriteDisabled is a DefaultGatewayRouteRewrite enum value DefaultGatewayRouteRewriteDisabled = "DISABLED" ) // DefaultGatewayRouteRewrite_Values returns all elements of the DefaultGatewayRouteRewrite enum func DefaultGatewayRouteRewrite_Values() []string { return []string{ DefaultGatewayRouteRewriteEnabled, DefaultGatewayRouteRewriteDisabled, } } const ( // DnsResponseTypeLoadbalancer is a DnsResponseType enum value DnsResponseTypeLoadbalancer = "LOADBALANCER" // DnsResponseTypeEndpoints is a DnsResponseType enum value DnsResponseTypeEndpoints = "ENDPOINTS" ) // DnsResponseType_Values returns all elements of the DnsResponseType enum func DnsResponseType_Values() []string { return []string{ DnsResponseTypeLoadbalancer, DnsResponseTypeEndpoints, } } const ( // DurationUnitS is a DurationUnit enum value DurationUnitS = "s" // DurationUnitMs is a DurationUnit enum value DurationUnitMs = "ms" ) // DurationUnit_Values returns all elements of the DurationUnit enum func DurationUnit_Values() []string { return []string{ DurationUnitS, DurationUnitMs, } } const ( // EgressFilterTypeAllowAll is a EgressFilterType enum value EgressFilterTypeAllowAll = "ALLOW_ALL" // EgressFilterTypeDropAll is a EgressFilterType enum value EgressFilterTypeDropAll = "DROP_ALL" ) // EgressFilterType_Values returns all elements of the EgressFilterType enum func EgressFilterType_Values() []string { return []string{ EgressFilterTypeAllowAll, EgressFilterTypeDropAll, } } const ( // GatewayRouteStatusCodeActive is a GatewayRouteStatusCode enum value GatewayRouteStatusCodeActive = "ACTIVE" // GatewayRouteStatusCodeInactive is a GatewayRouteStatusCode enum value GatewayRouteStatusCodeInactive = "INACTIVE" // GatewayRouteStatusCodeDeleted is a GatewayRouteStatusCode enum value GatewayRouteStatusCodeDeleted = "DELETED" ) // GatewayRouteStatusCode_Values returns all elements of the GatewayRouteStatusCode enum func GatewayRouteStatusCode_Values() []string { return []string{ GatewayRouteStatusCodeActive, GatewayRouteStatusCodeInactive, GatewayRouteStatusCodeDeleted, } } const ( // GrpcRetryPolicyEventCancelled is a GrpcRetryPolicyEvent enum value GrpcRetryPolicyEventCancelled = "cancelled" // GrpcRetryPolicyEventDeadlineExceeded is a GrpcRetryPolicyEvent enum value GrpcRetryPolicyEventDeadlineExceeded = "deadline-exceeded" // GrpcRetryPolicyEventInternal is a GrpcRetryPolicyEvent enum value GrpcRetryPolicyEventInternal = "internal" // GrpcRetryPolicyEventResourceExhausted is a GrpcRetryPolicyEvent enum value GrpcRetryPolicyEventResourceExhausted = "resource-exhausted" // GrpcRetryPolicyEventUnavailable is a GrpcRetryPolicyEvent enum value GrpcRetryPolicyEventUnavailable = "unavailable" ) // GrpcRetryPolicyEvent_Values returns all elements of the GrpcRetryPolicyEvent enum func GrpcRetryPolicyEvent_Values() []string { return []string{ GrpcRetryPolicyEventCancelled, GrpcRetryPolicyEventDeadlineExceeded, GrpcRetryPolicyEventInternal, GrpcRetryPolicyEventResourceExhausted, GrpcRetryPolicyEventUnavailable, } } const ( // HttpMethodGet is a HttpMethod enum value HttpMethodGet = "GET" // HttpMethodHead is a HttpMethod enum value HttpMethodHead = "HEAD" // HttpMethodPost is a HttpMethod enum value HttpMethodPost = "POST" // HttpMethodPut is a HttpMethod enum value HttpMethodPut = "PUT" // HttpMethodDelete is a HttpMethod enum value HttpMethodDelete = "DELETE" // HttpMethodConnect is a HttpMethod enum value HttpMethodConnect = "CONNECT" // HttpMethodOptions is a HttpMethod enum value HttpMethodOptions = "OPTIONS" // HttpMethodTrace is a HttpMethod enum value HttpMethodTrace = "TRACE" // HttpMethodPatch is a HttpMethod enum value HttpMethodPatch = "PATCH" ) // HttpMethod_Values returns all elements of the HttpMethod enum func HttpMethod_Values() []string { return []string{ HttpMethodGet, HttpMethodHead, HttpMethodPost, HttpMethodPut, HttpMethodDelete, HttpMethodConnect, HttpMethodOptions, HttpMethodTrace, HttpMethodPatch, } } const ( // HttpSchemeHttp is a HttpScheme enum value HttpSchemeHttp = "http" // HttpSchemeHttps is a HttpScheme enum value HttpSchemeHttps = "https" ) // HttpScheme_Values returns all elements of the HttpScheme enum func HttpScheme_Values() []string { return []string{ HttpSchemeHttp, HttpSchemeHttps, } } const ( // IpPreferenceIpv6Preferred is a IpPreference enum value IpPreferenceIpv6Preferred = "IPv6_PREFERRED" // IpPreferenceIpv4Preferred is a IpPreference enum value IpPreferenceIpv4Preferred = "IPv4_PREFERRED" // IpPreferenceIpv4Only is a IpPreference enum value IpPreferenceIpv4Only = "IPv4_ONLY" // IpPreferenceIpv6Only is a IpPreference enum value IpPreferenceIpv6Only = "IPv6_ONLY" ) // IpPreference_Values returns all elements of the IpPreference enum func IpPreference_Values() []string { return []string{ IpPreferenceIpv6Preferred, IpPreferenceIpv4Preferred, IpPreferenceIpv4Only, IpPreferenceIpv6Only, } } const ( // ListenerTlsModeStrict is a ListenerTlsMode enum value ListenerTlsModeStrict = "STRICT" // ListenerTlsModePermissive is a ListenerTlsMode enum value ListenerTlsModePermissive = "PERMISSIVE" // ListenerTlsModeDisabled is a ListenerTlsMode enum value ListenerTlsModeDisabled = "DISABLED" ) // ListenerTlsMode_Values returns all elements of the ListenerTlsMode enum func ListenerTlsMode_Values() []string { return []string{ ListenerTlsModeStrict, ListenerTlsModePermissive, ListenerTlsModeDisabled, } } const ( // MeshStatusCodeActive is a MeshStatusCode enum value MeshStatusCodeActive = "ACTIVE" // MeshStatusCodeInactive is a MeshStatusCode enum value MeshStatusCodeInactive = "INACTIVE" // MeshStatusCodeDeleted is a MeshStatusCode enum value MeshStatusCodeDeleted = "DELETED" ) // MeshStatusCode_Values returns all elements of the MeshStatusCode enum func MeshStatusCode_Values() []string { return []string{ MeshStatusCodeActive, MeshStatusCodeInactive, MeshStatusCodeDeleted, } } const ( // PortProtocolHttp is a PortProtocol enum value PortProtocolHttp = "http" // PortProtocolTcp is a PortProtocol enum value PortProtocolTcp = "tcp" // PortProtocolHttp2 is a PortProtocol enum value PortProtocolHttp2 = "http2" // PortProtocolGrpc is a PortProtocol enum value PortProtocolGrpc = "grpc" ) // PortProtocol_Values returns all elements of the PortProtocol enum func PortProtocol_Values() []string { return []string{ PortProtocolHttp, PortProtocolTcp, PortProtocolHttp2, PortProtocolGrpc, } } const ( // RouteStatusCodeActive is a RouteStatusCode enum value RouteStatusCodeActive = "ACTIVE" // RouteStatusCodeInactive is a RouteStatusCode enum value RouteStatusCodeInactive = "INACTIVE" // RouteStatusCodeDeleted is a RouteStatusCode enum value RouteStatusCodeDeleted = "DELETED" ) // RouteStatusCode_Values returns all elements of the RouteStatusCode enum func RouteStatusCode_Values() []string { return []string{ RouteStatusCodeActive, RouteStatusCodeInactive, RouteStatusCodeDeleted, } } const ( // TcpRetryPolicyEventConnectionError is a TcpRetryPolicyEvent enum value TcpRetryPolicyEventConnectionError = "connection-error" ) // TcpRetryPolicyEvent_Values returns all elements of the TcpRetryPolicyEvent enum func TcpRetryPolicyEvent_Values() []string { return []string{ TcpRetryPolicyEventConnectionError, } } const ( // VirtualGatewayListenerTlsModeStrict is a VirtualGatewayListenerTlsMode enum value VirtualGatewayListenerTlsModeStrict = "STRICT" // VirtualGatewayListenerTlsModePermissive is a VirtualGatewayListenerTlsMode enum value VirtualGatewayListenerTlsModePermissive = "PERMISSIVE" // VirtualGatewayListenerTlsModeDisabled is a VirtualGatewayListenerTlsMode enum value VirtualGatewayListenerTlsModeDisabled = "DISABLED" ) // VirtualGatewayListenerTlsMode_Values returns all elements of the VirtualGatewayListenerTlsMode enum func VirtualGatewayListenerTlsMode_Values() []string { return []string{ VirtualGatewayListenerTlsModeStrict, VirtualGatewayListenerTlsModePermissive, VirtualGatewayListenerTlsModeDisabled, } } const ( // VirtualGatewayPortProtocolHttp is a VirtualGatewayPortProtocol enum value VirtualGatewayPortProtocolHttp = "http" // VirtualGatewayPortProtocolHttp2 is a VirtualGatewayPortProtocol enum value VirtualGatewayPortProtocolHttp2 = "http2" // VirtualGatewayPortProtocolGrpc is a VirtualGatewayPortProtocol enum value VirtualGatewayPortProtocolGrpc = "grpc" ) // VirtualGatewayPortProtocol_Values returns all elements of the VirtualGatewayPortProtocol enum func VirtualGatewayPortProtocol_Values() []string { return []string{ VirtualGatewayPortProtocolHttp, VirtualGatewayPortProtocolHttp2, VirtualGatewayPortProtocolGrpc, } } const ( // VirtualGatewayStatusCodeActive is a VirtualGatewayStatusCode enum value VirtualGatewayStatusCodeActive = "ACTIVE" // VirtualGatewayStatusCodeInactive is a VirtualGatewayStatusCode enum value VirtualGatewayStatusCodeInactive = "INACTIVE" // VirtualGatewayStatusCodeDeleted is a VirtualGatewayStatusCode enum value VirtualGatewayStatusCodeDeleted = "DELETED" ) // VirtualGatewayStatusCode_Values returns all elements of the VirtualGatewayStatusCode enum func VirtualGatewayStatusCode_Values() []string { return []string{ VirtualGatewayStatusCodeActive, VirtualGatewayStatusCodeInactive, VirtualGatewayStatusCodeDeleted, } } const ( // VirtualNodeStatusCodeActive is a VirtualNodeStatusCode enum value VirtualNodeStatusCodeActive = "ACTIVE" // VirtualNodeStatusCodeInactive is a VirtualNodeStatusCode enum value VirtualNodeStatusCodeInactive = "INACTIVE" // VirtualNodeStatusCodeDeleted is a VirtualNodeStatusCode enum value VirtualNodeStatusCodeDeleted = "DELETED" ) // VirtualNodeStatusCode_Values returns all elements of the VirtualNodeStatusCode enum func VirtualNodeStatusCode_Values() []string { return []string{ VirtualNodeStatusCodeActive, VirtualNodeStatusCodeInactive, VirtualNodeStatusCodeDeleted, } } const ( // VirtualRouterStatusCodeActive is a VirtualRouterStatusCode enum value VirtualRouterStatusCodeActive = "ACTIVE" // VirtualRouterStatusCodeInactive is a VirtualRouterStatusCode enum value VirtualRouterStatusCodeInactive = "INACTIVE" // VirtualRouterStatusCodeDeleted is a VirtualRouterStatusCode enum value VirtualRouterStatusCodeDeleted = "DELETED" ) // VirtualRouterStatusCode_Values returns all elements of the VirtualRouterStatusCode enum func VirtualRouterStatusCode_Values() []string { return []string{ VirtualRouterStatusCodeActive, VirtualRouterStatusCodeInactive, VirtualRouterStatusCodeDeleted, } } const ( // VirtualServiceStatusCodeActive is a VirtualServiceStatusCode enum value VirtualServiceStatusCodeActive = "ACTIVE" // VirtualServiceStatusCodeInactive is a VirtualServiceStatusCode enum value VirtualServiceStatusCodeInactive = "INACTIVE" // VirtualServiceStatusCodeDeleted is a VirtualServiceStatusCode enum value VirtualServiceStatusCodeDeleted = "DELETED" ) // VirtualServiceStatusCode_Values returns all elements of the VirtualServiceStatusCode enum func VirtualServiceStatusCode_Values() []string { return []string{ VirtualServiceStatusCodeActive, VirtualServiceStatusCodeInactive, VirtualServiceStatusCodeDeleted, } }