1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package appmesh 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/restjson" 14) 15 16const opCreateMesh = "CreateMesh" 17 18// CreateMeshRequest generates a "aws/request.Request" representing the 19// client's request for the CreateMesh operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See CreateMesh for more information on using the CreateMesh 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the CreateMeshRequest method. 34// req, resp := client.CreateMeshRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh 42func (c *AppMesh) CreateMeshRequest(input *CreateMeshInput) (req *request.Request, output *CreateMeshOutput) { 43 op := &request.Operation{ 44 Name: opCreateMesh, 45 HTTPMethod: "PUT", 46 HTTPPath: "/v20190125/meshes", 47 } 48 49 if input == nil { 50 input = &CreateMeshInput{} 51 } 52 53 output = &CreateMeshOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// CreateMesh API operation for AWS App Mesh. 59// 60// Creates a service mesh. A service mesh is a logical boundary for network 61// traffic between the services that reside within it. 62// 63// After you create your service mesh, you can create virtual services, virtual 64// nodes, virtual routers, and routes to distribute traffic between the applications 65// in your mesh. 66// 67// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 68// with awserr.Error's Code and Message methods to get detailed information about 69// the error. 70// 71// See the AWS API reference guide for AWS App Mesh's 72// API operation CreateMesh for usage and error information. 73// 74// Returned Error Codes: 75// * ErrCodeBadRequestException "BadRequestException" 76// The request syntax was malformed. Check your request syntax and try again. 77// 78// * ErrCodeConflictException "ConflictException" 79// The request contains a client token that was used for a previous update resource 80// call with different specifications. Try the request again with a new client 81// token. 82// 83// * ErrCodeForbiddenException "ForbiddenException" 84// You don't have permissions to perform this action. 85// 86// * ErrCodeInternalServerErrorException "InternalServerErrorException" 87// The request processing has failed because of an unknown error, exception, 88// or failure. 89// 90// * ErrCodeLimitExceededException "LimitExceededException" 91// You have exceeded a service limit for your account. For more information, 92// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 93// in the AWS App Mesh User Guide. 94// 95// * ErrCodeNotFoundException "NotFoundException" 96// The specified resource doesn't exist. Check your request syntax and try again. 97// 98// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 99// The request has failed due to a temporary failure of the service. 100// 101// * ErrCodeTooManyRequestsException "TooManyRequestsException" 102// The maximum request rate permitted by the App Mesh APIs has been exceeded 103// for your account. For best results, use an increasing or variable sleep interval 104// between requests. 105// 106// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh 107func (c *AppMesh) CreateMesh(input *CreateMeshInput) (*CreateMeshOutput, error) { 108 req, out := c.CreateMeshRequest(input) 109 return out, req.Send() 110} 111 112// CreateMeshWithContext is the same as CreateMesh with the addition of 113// the ability to pass a context and additional request options. 114// 115// See CreateMesh for details on how to use this API operation. 116// 117// The context must be non-nil and will be used for request cancellation. If 118// the context is nil a panic will occur. In the future the SDK may create 119// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 120// for more information on using Contexts. 121func (c *AppMesh) CreateMeshWithContext(ctx aws.Context, input *CreateMeshInput, opts ...request.Option) (*CreateMeshOutput, error) { 122 req, out := c.CreateMeshRequest(input) 123 req.SetContext(ctx) 124 req.ApplyOptions(opts...) 125 return out, req.Send() 126} 127 128const opCreateRoute = "CreateRoute" 129 130// CreateRouteRequest generates a "aws/request.Request" representing the 131// client's request for the CreateRoute operation. The "output" return 132// value will be populated with the request's response once the request completes 133// successfully. 134// 135// Use "Send" method on the returned Request to send the API call to the service. 136// the "output" return value is not valid until after Send returns without error. 137// 138// See CreateRoute for more information on using the CreateRoute 139// API call, and error handling. 140// 141// This method is useful when you want to inject custom logic or configuration 142// into the SDK's request lifecycle. Such as custom headers, or retry logic. 143// 144// 145// // Example sending a request using the CreateRouteRequest method. 146// req, resp := client.CreateRouteRequest(params) 147// 148// err := req.Send() 149// if err == nil { // resp is now filled 150// fmt.Println(resp) 151// } 152// 153// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRoute 154func (c *AppMesh) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) { 155 op := &request.Operation{ 156 Name: opCreateRoute, 157 HTTPMethod: "PUT", 158 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", 159 } 160 161 if input == nil { 162 input = &CreateRouteInput{} 163 } 164 165 output = &CreateRouteOutput{} 166 req = c.newRequest(op, input, output) 167 return 168} 169 170// CreateRoute API operation for AWS App Mesh. 171// 172// Creates a route that is associated with a virtual router. 173// 174// You can use the prefix parameter in your route specification for path-based 175// routing of requests. For example, if your virtual service name is my-service.local 176// and you want the route to match requests to my-service.local/metrics, your 177// prefix should be /metrics. 178// 179// If your route matches a request, you can distribute traffic to one or more 180// target virtual nodes with relative weighting. 181// 182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 183// with awserr.Error's Code and Message methods to get detailed information about 184// the error. 185// 186// See the AWS API reference guide for AWS App Mesh's 187// API operation CreateRoute for usage and error information. 188// 189// Returned Error Codes: 190// * ErrCodeBadRequestException "BadRequestException" 191// The request syntax was malformed. Check your request syntax and try again. 192// 193// * ErrCodeConflictException "ConflictException" 194// The request contains a client token that was used for a previous update resource 195// call with different specifications. Try the request again with a new client 196// token. 197// 198// * ErrCodeForbiddenException "ForbiddenException" 199// You don't have permissions to perform this action. 200// 201// * ErrCodeInternalServerErrorException "InternalServerErrorException" 202// The request processing has failed because of an unknown error, exception, 203// or failure. 204// 205// * ErrCodeLimitExceededException "LimitExceededException" 206// You have exceeded a service limit for your account. For more information, 207// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 208// in the AWS App Mesh User Guide. 209// 210// * ErrCodeNotFoundException "NotFoundException" 211// The specified resource doesn't exist. Check your request syntax and try again. 212// 213// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 214// The request has failed due to a temporary failure of the service. 215// 216// * ErrCodeTooManyRequestsException "TooManyRequestsException" 217// The maximum request rate permitted by the App Mesh APIs has been exceeded 218// for your account. For best results, use an increasing or variable sleep interval 219// between requests. 220// 221// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRoute 222func (c *AppMesh) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) { 223 req, out := c.CreateRouteRequest(input) 224 return out, req.Send() 225} 226 227// CreateRouteWithContext is the same as CreateRoute with the addition of 228// the ability to pass a context and additional request options. 229// 230// See CreateRoute for details on how to use this API operation. 231// 232// The context must be non-nil and will be used for request cancellation. If 233// the context is nil a panic will occur. In the future the SDK may create 234// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 235// for more information on using Contexts. 236func (c *AppMesh) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) { 237 req, out := c.CreateRouteRequest(input) 238 req.SetContext(ctx) 239 req.ApplyOptions(opts...) 240 return out, req.Send() 241} 242 243const opCreateVirtualNode = "CreateVirtualNode" 244 245// CreateVirtualNodeRequest generates a "aws/request.Request" representing the 246// client's request for the CreateVirtualNode operation. The "output" return 247// value will be populated with the request's response once the request completes 248// successfully. 249// 250// Use "Send" method on the returned Request to send the API call to the service. 251// the "output" return value is not valid until after Send returns without error. 252// 253// See CreateVirtualNode for more information on using the CreateVirtualNode 254// API call, and error handling. 255// 256// This method is useful when you want to inject custom logic or configuration 257// into the SDK's request lifecycle. Such as custom headers, or retry logic. 258// 259// 260// // Example sending a request using the CreateVirtualNodeRequest method. 261// req, resp := client.CreateVirtualNodeRequest(params) 262// 263// err := req.Send() 264// if err == nil { // resp is now filled 265// fmt.Println(resp) 266// } 267// 268// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode 269func (c *AppMesh) CreateVirtualNodeRequest(input *CreateVirtualNodeInput) (req *request.Request, output *CreateVirtualNodeOutput) { 270 op := &request.Operation{ 271 Name: opCreateVirtualNode, 272 HTTPMethod: "PUT", 273 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes", 274 } 275 276 if input == nil { 277 input = &CreateVirtualNodeInput{} 278 } 279 280 output = &CreateVirtualNodeOutput{} 281 req = c.newRequest(op, input, output) 282 return 283} 284 285// CreateVirtualNode API operation for AWS App Mesh. 286// 287// Creates a virtual node within a service mesh. 288// 289// A virtual node acts as a logical pointer to a particular task group, such 290// as an Amazon ECS service or a Kubernetes deployment. When you create a virtual 291// node, you can specify the service discovery information for your task group. 292// 293// Any inbound traffic that your virtual node expects should be specified as 294// a listener. Any outbound traffic that your virtual node expects to reach 295// should be specified as a backend. 296// 297// The response metadata for your new virtual node contains the arn that is 298// associated with the virtual node. Set this value (either the full ARN or 299// the truncated resource name: for example, mesh/default/virtualNode/simpleapp) 300// as the APPMESH_VIRTUAL_NODE_NAME environment variable for your task group's 301// Envoy proxy container in your task definition or pod spec. This is then mapped 302// to the node.id and node.cluster Envoy parameters. 303// 304// If you require your Envoy stats or tracing to use a different name, you can 305// override the node.cluster value that is set by APPMESH_VIRTUAL_NODE_NAME 306// with the APPMESH_VIRTUAL_NODE_CLUSTER environment variable. 307// 308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 309// with awserr.Error's Code and Message methods to get detailed information about 310// the error. 311// 312// See the AWS API reference guide for AWS App Mesh's 313// API operation CreateVirtualNode for usage and error information. 314// 315// Returned Error Codes: 316// * ErrCodeBadRequestException "BadRequestException" 317// The request syntax was malformed. Check your request syntax and try again. 318// 319// * ErrCodeConflictException "ConflictException" 320// The request contains a client token that was used for a previous update resource 321// call with different specifications. Try the request again with a new client 322// token. 323// 324// * ErrCodeForbiddenException "ForbiddenException" 325// You don't have permissions to perform this action. 326// 327// * ErrCodeInternalServerErrorException "InternalServerErrorException" 328// The request processing has failed because of an unknown error, exception, 329// or failure. 330// 331// * ErrCodeLimitExceededException "LimitExceededException" 332// You have exceeded a service limit for your account. For more information, 333// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 334// in the AWS App Mesh User Guide. 335// 336// * ErrCodeNotFoundException "NotFoundException" 337// The specified resource doesn't exist. Check your request syntax and try again. 338// 339// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 340// The request has failed due to a temporary failure of the service. 341// 342// * ErrCodeTooManyRequestsException "TooManyRequestsException" 343// The maximum request rate permitted by the App Mesh APIs has been exceeded 344// for your account. For best results, use an increasing or variable sleep interval 345// between requests. 346// 347// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode 348func (c *AppMesh) CreateVirtualNode(input *CreateVirtualNodeInput) (*CreateVirtualNodeOutput, error) { 349 req, out := c.CreateVirtualNodeRequest(input) 350 return out, req.Send() 351} 352 353// CreateVirtualNodeWithContext is the same as CreateVirtualNode with the addition of 354// the ability to pass a context and additional request options. 355// 356// See CreateVirtualNode for details on how to use this API operation. 357// 358// The context must be non-nil and will be used for request cancellation. If 359// the context is nil a panic will occur. In the future the SDK may create 360// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 361// for more information on using Contexts. 362func (c *AppMesh) CreateVirtualNodeWithContext(ctx aws.Context, input *CreateVirtualNodeInput, opts ...request.Option) (*CreateVirtualNodeOutput, error) { 363 req, out := c.CreateVirtualNodeRequest(input) 364 req.SetContext(ctx) 365 req.ApplyOptions(opts...) 366 return out, req.Send() 367} 368 369const opCreateVirtualRouter = "CreateVirtualRouter" 370 371// CreateVirtualRouterRequest generates a "aws/request.Request" representing the 372// client's request for the CreateVirtualRouter operation. The "output" return 373// value will be populated with the request's response once the request completes 374// successfully. 375// 376// Use "Send" method on the returned Request to send the API call to the service. 377// the "output" return value is not valid until after Send returns without error. 378// 379// See CreateVirtualRouter for more information on using the CreateVirtualRouter 380// API call, and error handling. 381// 382// This method is useful when you want to inject custom logic or configuration 383// into the SDK's request lifecycle. Such as custom headers, or retry logic. 384// 385// 386// // Example sending a request using the CreateVirtualRouterRequest method. 387// req, resp := client.CreateVirtualRouterRequest(params) 388// 389// err := req.Send() 390// if err == nil { // resp is now filled 391// fmt.Println(resp) 392// } 393// 394// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter 395func (c *AppMesh) CreateVirtualRouterRequest(input *CreateVirtualRouterInput) (req *request.Request, output *CreateVirtualRouterOutput) { 396 op := &request.Operation{ 397 Name: opCreateVirtualRouter, 398 HTTPMethod: "PUT", 399 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters", 400 } 401 402 if input == nil { 403 input = &CreateVirtualRouterInput{} 404 } 405 406 output = &CreateVirtualRouterOutput{} 407 req = c.newRequest(op, input, output) 408 return 409} 410 411// CreateVirtualRouter API operation for AWS App Mesh. 412// 413// Creates a virtual router within a service mesh. 414// 415// Any inbound traffic that your virtual router expects should be specified 416// as a listener. 417// 418// Virtual routers handle traffic for one or more virtual services within your 419// mesh. After you create your virtual router, create and associate routes for 420// your virtual router that direct incoming requests to different virtual nodes. 421// 422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 423// with awserr.Error's Code and Message methods to get detailed information about 424// the error. 425// 426// See the AWS API reference guide for AWS App Mesh's 427// API operation CreateVirtualRouter for usage and error information. 428// 429// Returned Error Codes: 430// * ErrCodeBadRequestException "BadRequestException" 431// The request syntax was malformed. Check your request syntax and try again. 432// 433// * ErrCodeConflictException "ConflictException" 434// The request contains a client token that was used for a previous update resource 435// call with different specifications. Try the request again with a new client 436// token. 437// 438// * ErrCodeForbiddenException "ForbiddenException" 439// You don't have permissions to perform this action. 440// 441// * ErrCodeInternalServerErrorException "InternalServerErrorException" 442// The request processing has failed because of an unknown error, exception, 443// or failure. 444// 445// * ErrCodeLimitExceededException "LimitExceededException" 446// You have exceeded a service limit for your account. For more information, 447// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 448// in the AWS App Mesh User Guide. 449// 450// * ErrCodeNotFoundException "NotFoundException" 451// The specified resource doesn't exist. Check your request syntax and try again. 452// 453// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 454// The request has failed due to a temporary failure of the service. 455// 456// * ErrCodeTooManyRequestsException "TooManyRequestsException" 457// The maximum request rate permitted by the App Mesh APIs has been exceeded 458// for your account. For best results, use an increasing or variable sleep interval 459// between requests. 460// 461// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter 462func (c *AppMesh) CreateVirtualRouter(input *CreateVirtualRouterInput) (*CreateVirtualRouterOutput, error) { 463 req, out := c.CreateVirtualRouterRequest(input) 464 return out, req.Send() 465} 466 467// CreateVirtualRouterWithContext is the same as CreateVirtualRouter with the addition of 468// the ability to pass a context and additional request options. 469// 470// See CreateVirtualRouter for details on how to use this API operation. 471// 472// The context must be non-nil and will be used for request cancellation. If 473// the context is nil a panic will occur. In the future the SDK may create 474// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 475// for more information on using Contexts. 476func (c *AppMesh) CreateVirtualRouterWithContext(ctx aws.Context, input *CreateVirtualRouterInput, opts ...request.Option) (*CreateVirtualRouterOutput, error) { 477 req, out := c.CreateVirtualRouterRequest(input) 478 req.SetContext(ctx) 479 req.ApplyOptions(opts...) 480 return out, req.Send() 481} 482 483const opCreateVirtualService = "CreateVirtualService" 484 485// CreateVirtualServiceRequest generates a "aws/request.Request" representing the 486// client's request for the CreateVirtualService operation. The "output" return 487// value will be populated with the request's response once the request completes 488// successfully. 489// 490// Use "Send" method on the returned Request to send the API call to the service. 491// the "output" return value is not valid until after Send returns without error. 492// 493// See CreateVirtualService for more information on using the CreateVirtualService 494// API call, and error handling. 495// 496// This method is useful when you want to inject custom logic or configuration 497// into the SDK's request lifecycle. Such as custom headers, or retry logic. 498// 499// 500// // Example sending a request using the CreateVirtualServiceRequest method. 501// req, resp := client.CreateVirtualServiceRequest(params) 502// 503// err := req.Send() 504// if err == nil { // resp is now filled 505// fmt.Println(resp) 506// } 507// 508// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService 509func (c *AppMesh) CreateVirtualServiceRequest(input *CreateVirtualServiceInput) (req *request.Request, output *CreateVirtualServiceOutput) { 510 op := &request.Operation{ 511 Name: opCreateVirtualService, 512 HTTPMethod: "PUT", 513 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices", 514 } 515 516 if input == nil { 517 input = &CreateVirtualServiceInput{} 518 } 519 520 output = &CreateVirtualServiceOutput{} 521 req = c.newRequest(op, input, output) 522 return 523} 524 525// CreateVirtualService API operation for AWS App Mesh. 526// 527// Creates a virtual service within a service mesh. 528// 529// A virtual service is an abstraction of a real service that is provided by 530// a virtual node directly or indirectly by means of a virtual router. Dependent 531// services call your virtual service by its virtualServiceName, and those requests 532// are routed to the virtual node or virtual router that is specified as the 533// provider for the virtual service. 534// 535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 536// with awserr.Error's Code and Message methods to get detailed information about 537// the error. 538// 539// See the AWS API reference guide for AWS App Mesh's 540// API operation CreateVirtualService for usage and error information. 541// 542// Returned Error Codes: 543// * ErrCodeBadRequestException "BadRequestException" 544// The request syntax was malformed. Check your request syntax and try again. 545// 546// * ErrCodeConflictException "ConflictException" 547// The request contains a client token that was used for a previous update resource 548// call with different specifications. Try the request again with a new client 549// token. 550// 551// * ErrCodeForbiddenException "ForbiddenException" 552// You don't have permissions to perform this action. 553// 554// * ErrCodeInternalServerErrorException "InternalServerErrorException" 555// The request processing has failed because of an unknown error, exception, 556// or failure. 557// 558// * ErrCodeLimitExceededException "LimitExceededException" 559// You have exceeded a service limit for your account. For more information, 560// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 561// in the AWS App Mesh User Guide. 562// 563// * ErrCodeNotFoundException "NotFoundException" 564// The specified resource doesn't exist. Check your request syntax and try again. 565// 566// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 567// The request has failed due to a temporary failure of the service. 568// 569// * ErrCodeTooManyRequestsException "TooManyRequestsException" 570// The maximum request rate permitted by the App Mesh APIs has been exceeded 571// for your account. For best results, use an increasing or variable sleep interval 572// between requests. 573// 574// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService 575func (c *AppMesh) CreateVirtualService(input *CreateVirtualServiceInput) (*CreateVirtualServiceOutput, error) { 576 req, out := c.CreateVirtualServiceRequest(input) 577 return out, req.Send() 578} 579 580// CreateVirtualServiceWithContext is the same as CreateVirtualService with the addition of 581// the ability to pass a context and additional request options. 582// 583// See CreateVirtualService for details on how to use this API operation. 584// 585// The context must be non-nil and will be used for request cancellation. If 586// the context is nil a panic will occur. In the future the SDK may create 587// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 588// for more information on using Contexts. 589func (c *AppMesh) CreateVirtualServiceWithContext(ctx aws.Context, input *CreateVirtualServiceInput, opts ...request.Option) (*CreateVirtualServiceOutput, error) { 590 req, out := c.CreateVirtualServiceRequest(input) 591 req.SetContext(ctx) 592 req.ApplyOptions(opts...) 593 return out, req.Send() 594} 595 596const opDeleteMesh = "DeleteMesh" 597 598// DeleteMeshRequest generates a "aws/request.Request" representing the 599// client's request for the DeleteMesh operation. The "output" return 600// value will be populated with the request's response once the request completes 601// successfully. 602// 603// Use "Send" method on the returned Request to send the API call to the service. 604// the "output" return value is not valid until after Send returns without error. 605// 606// See DeleteMesh for more information on using the DeleteMesh 607// API call, and error handling. 608// 609// This method is useful when you want to inject custom logic or configuration 610// into the SDK's request lifecycle. Such as custom headers, or retry logic. 611// 612// 613// // Example sending a request using the DeleteMeshRequest method. 614// req, resp := client.DeleteMeshRequest(params) 615// 616// err := req.Send() 617// if err == nil { // resp is now filled 618// fmt.Println(resp) 619// } 620// 621// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh 622func (c *AppMesh) DeleteMeshRequest(input *DeleteMeshInput) (req *request.Request, output *DeleteMeshOutput) { 623 op := &request.Operation{ 624 Name: opDeleteMesh, 625 HTTPMethod: "DELETE", 626 HTTPPath: "/v20190125/meshes/{meshName}", 627 } 628 629 if input == nil { 630 input = &DeleteMeshInput{} 631 } 632 633 output = &DeleteMeshOutput{} 634 req = c.newRequest(op, input, output) 635 return 636} 637 638// DeleteMesh API operation for AWS App Mesh. 639// 640// Deletes an existing service mesh. 641// 642// You must delete all resources (virtual services, routes, virtual routers, 643// and virtual nodes) in the service mesh before you can delete the mesh itself. 644// 645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 646// with awserr.Error's Code and Message methods to get detailed information about 647// the error. 648// 649// See the AWS API reference guide for AWS App Mesh's 650// API operation DeleteMesh for usage and error information. 651// 652// Returned Error Codes: 653// * ErrCodeBadRequestException "BadRequestException" 654// The request syntax was malformed. Check your request syntax and try again. 655// 656// * ErrCodeForbiddenException "ForbiddenException" 657// You don't have permissions to perform this action. 658// 659// * ErrCodeInternalServerErrorException "InternalServerErrorException" 660// The request processing has failed because of an unknown error, exception, 661// or failure. 662// 663// * ErrCodeNotFoundException "NotFoundException" 664// The specified resource doesn't exist. Check your request syntax and try again. 665// 666// * ErrCodeResourceInUseException "ResourceInUseException" 667// You can't delete the specified resource because it's in use or required by 668// another resource. 669// 670// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 671// The request has failed due to a temporary failure of the service. 672// 673// * ErrCodeTooManyRequestsException "TooManyRequestsException" 674// The maximum request rate permitted by the App Mesh APIs has been exceeded 675// for your account. For best results, use an increasing or variable sleep interval 676// between requests. 677// 678// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh 679func (c *AppMesh) DeleteMesh(input *DeleteMeshInput) (*DeleteMeshOutput, error) { 680 req, out := c.DeleteMeshRequest(input) 681 return out, req.Send() 682} 683 684// DeleteMeshWithContext is the same as DeleteMesh with the addition of 685// the ability to pass a context and additional request options. 686// 687// See DeleteMesh for details on how to use this API operation. 688// 689// The context must be non-nil and will be used for request cancellation. If 690// the context is nil a panic will occur. In the future the SDK may create 691// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 692// for more information on using Contexts. 693func (c *AppMesh) DeleteMeshWithContext(ctx aws.Context, input *DeleteMeshInput, opts ...request.Option) (*DeleteMeshOutput, error) { 694 req, out := c.DeleteMeshRequest(input) 695 req.SetContext(ctx) 696 req.ApplyOptions(opts...) 697 return out, req.Send() 698} 699 700const opDeleteRoute = "DeleteRoute" 701 702// DeleteRouteRequest generates a "aws/request.Request" representing the 703// client's request for the DeleteRoute operation. The "output" return 704// value will be populated with the request's response once the request completes 705// successfully. 706// 707// Use "Send" method on the returned Request to send the API call to the service. 708// the "output" return value is not valid until after Send returns without error. 709// 710// See DeleteRoute for more information on using the DeleteRoute 711// API call, and error handling. 712// 713// This method is useful when you want to inject custom logic or configuration 714// into the SDK's request lifecycle. Such as custom headers, or retry logic. 715// 716// 717// // Example sending a request using the DeleteRouteRequest method. 718// req, resp := client.DeleteRouteRequest(params) 719// 720// err := req.Send() 721// if err == nil { // resp is now filled 722// fmt.Println(resp) 723// } 724// 725// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute 726func (c *AppMesh) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) { 727 op := &request.Operation{ 728 Name: opDeleteRoute, 729 HTTPMethod: "DELETE", 730 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", 731 } 732 733 if input == nil { 734 input = &DeleteRouteInput{} 735 } 736 737 output = &DeleteRouteOutput{} 738 req = c.newRequest(op, input, output) 739 return 740} 741 742// DeleteRoute API operation for AWS App Mesh. 743// 744// Deletes an existing route. 745// 746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 747// with awserr.Error's Code and Message methods to get detailed information about 748// the error. 749// 750// See the AWS API reference guide for AWS App Mesh's 751// API operation DeleteRoute for usage and error information. 752// 753// Returned Error Codes: 754// * ErrCodeBadRequestException "BadRequestException" 755// The request syntax was malformed. Check your request syntax and try again. 756// 757// * ErrCodeForbiddenException "ForbiddenException" 758// You don't have permissions to perform this action. 759// 760// * ErrCodeInternalServerErrorException "InternalServerErrorException" 761// The request processing has failed because of an unknown error, exception, 762// or failure. 763// 764// * ErrCodeNotFoundException "NotFoundException" 765// The specified resource doesn't exist. Check your request syntax and try again. 766// 767// * ErrCodeResourceInUseException "ResourceInUseException" 768// You can't delete the specified resource because it's in use or required by 769// another resource. 770// 771// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 772// The request has failed due to a temporary failure of the service. 773// 774// * ErrCodeTooManyRequestsException "TooManyRequestsException" 775// The maximum request rate permitted by the App Mesh APIs has been exceeded 776// for your account. For best results, use an increasing or variable sleep interval 777// between requests. 778// 779// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute 780func (c *AppMesh) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) { 781 req, out := c.DeleteRouteRequest(input) 782 return out, req.Send() 783} 784 785// DeleteRouteWithContext is the same as DeleteRoute with the addition of 786// the ability to pass a context and additional request options. 787// 788// See DeleteRoute for details on how to use this API operation. 789// 790// The context must be non-nil and will be used for request cancellation. If 791// the context is nil a panic will occur. In the future the SDK may create 792// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 793// for more information on using Contexts. 794func (c *AppMesh) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) { 795 req, out := c.DeleteRouteRequest(input) 796 req.SetContext(ctx) 797 req.ApplyOptions(opts...) 798 return out, req.Send() 799} 800 801const opDeleteVirtualNode = "DeleteVirtualNode" 802 803// DeleteVirtualNodeRequest generates a "aws/request.Request" representing the 804// client's request for the DeleteVirtualNode operation. The "output" return 805// value will be populated with the request's response once the request completes 806// successfully. 807// 808// Use "Send" method on the returned Request to send the API call to the service. 809// the "output" return value is not valid until after Send returns without error. 810// 811// See DeleteVirtualNode for more information on using the DeleteVirtualNode 812// API call, and error handling. 813// 814// This method is useful when you want to inject custom logic or configuration 815// into the SDK's request lifecycle. Such as custom headers, or retry logic. 816// 817// 818// // Example sending a request using the DeleteVirtualNodeRequest method. 819// req, resp := client.DeleteVirtualNodeRequest(params) 820// 821// err := req.Send() 822// if err == nil { // resp is now filled 823// fmt.Println(resp) 824// } 825// 826// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode 827func (c *AppMesh) DeleteVirtualNodeRequest(input *DeleteVirtualNodeInput) (req *request.Request, output *DeleteVirtualNodeOutput) { 828 op := &request.Operation{ 829 Name: opDeleteVirtualNode, 830 HTTPMethod: "DELETE", 831 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", 832 } 833 834 if input == nil { 835 input = &DeleteVirtualNodeInput{} 836 } 837 838 output = &DeleteVirtualNodeOutput{} 839 req = c.newRequest(op, input, output) 840 return 841} 842 843// DeleteVirtualNode API operation for AWS App Mesh. 844// 845// Deletes an existing virtual node. 846// 847// You must delete any virtual services that list a virtual node as a service 848// provider before you can delete the virtual node itself. 849// 850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 851// with awserr.Error's Code and Message methods to get detailed information about 852// the error. 853// 854// See the AWS API reference guide for AWS App Mesh's 855// API operation DeleteVirtualNode for usage and error information. 856// 857// Returned Error Codes: 858// * ErrCodeBadRequestException "BadRequestException" 859// The request syntax was malformed. Check your request syntax and try again. 860// 861// * ErrCodeForbiddenException "ForbiddenException" 862// You don't have permissions to perform this action. 863// 864// * ErrCodeInternalServerErrorException "InternalServerErrorException" 865// The request processing has failed because of an unknown error, exception, 866// or failure. 867// 868// * ErrCodeNotFoundException "NotFoundException" 869// The specified resource doesn't exist. Check your request syntax and try again. 870// 871// * ErrCodeResourceInUseException "ResourceInUseException" 872// You can't delete the specified resource because it's in use or required by 873// another resource. 874// 875// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 876// The request has failed due to a temporary failure of the service. 877// 878// * ErrCodeTooManyRequestsException "TooManyRequestsException" 879// The maximum request rate permitted by the App Mesh APIs has been exceeded 880// for your account. For best results, use an increasing or variable sleep interval 881// between requests. 882// 883// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode 884func (c *AppMesh) DeleteVirtualNode(input *DeleteVirtualNodeInput) (*DeleteVirtualNodeOutput, error) { 885 req, out := c.DeleteVirtualNodeRequest(input) 886 return out, req.Send() 887} 888 889// DeleteVirtualNodeWithContext is the same as DeleteVirtualNode with the addition of 890// the ability to pass a context and additional request options. 891// 892// See DeleteVirtualNode for details on how to use this API operation. 893// 894// The context must be non-nil and will be used for request cancellation. If 895// the context is nil a panic will occur. In the future the SDK may create 896// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 897// for more information on using Contexts. 898func (c *AppMesh) DeleteVirtualNodeWithContext(ctx aws.Context, input *DeleteVirtualNodeInput, opts ...request.Option) (*DeleteVirtualNodeOutput, error) { 899 req, out := c.DeleteVirtualNodeRequest(input) 900 req.SetContext(ctx) 901 req.ApplyOptions(opts...) 902 return out, req.Send() 903} 904 905const opDeleteVirtualRouter = "DeleteVirtualRouter" 906 907// DeleteVirtualRouterRequest generates a "aws/request.Request" representing the 908// client's request for the DeleteVirtualRouter operation. The "output" return 909// value will be populated with the request's response once the request completes 910// successfully. 911// 912// Use "Send" method on the returned Request to send the API call to the service. 913// the "output" return value is not valid until after Send returns without error. 914// 915// See DeleteVirtualRouter for more information on using the DeleteVirtualRouter 916// API call, and error handling. 917// 918// This method is useful when you want to inject custom logic or configuration 919// into the SDK's request lifecycle. Such as custom headers, or retry logic. 920// 921// 922// // Example sending a request using the DeleteVirtualRouterRequest method. 923// req, resp := client.DeleteVirtualRouterRequest(params) 924// 925// err := req.Send() 926// if err == nil { // resp is now filled 927// fmt.Println(resp) 928// } 929// 930// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouter 931func (c *AppMesh) DeleteVirtualRouterRequest(input *DeleteVirtualRouterInput) (req *request.Request, output *DeleteVirtualRouterOutput) { 932 op := &request.Operation{ 933 Name: opDeleteVirtualRouter, 934 HTTPMethod: "DELETE", 935 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", 936 } 937 938 if input == nil { 939 input = &DeleteVirtualRouterInput{} 940 } 941 942 output = &DeleteVirtualRouterOutput{} 943 req = c.newRequest(op, input, output) 944 return 945} 946 947// DeleteVirtualRouter API operation for AWS App Mesh. 948// 949// Deletes an existing virtual router. 950// 951// You must delete any routes associated with the virtual router before you 952// can delete the router itself. 953// 954// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 955// with awserr.Error's Code and Message methods to get detailed information about 956// the error. 957// 958// See the AWS API reference guide for AWS App Mesh's 959// API operation DeleteVirtualRouter for usage and error information. 960// 961// Returned Error Codes: 962// * ErrCodeBadRequestException "BadRequestException" 963// The request syntax was malformed. Check your request syntax and try again. 964// 965// * ErrCodeForbiddenException "ForbiddenException" 966// You don't have permissions to perform this action. 967// 968// * ErrCodeInternalServerErrorException "InternalServerErrorException" 969// The request processing has failed because of an unknown error, exception, 970// or failure. 971// 972// * ErrCodeNotFoundException "NotFoundException" 973// The specified resource doesn't exist. Check your request syntax and try again. 974// 975// * ErrCodeResourceInUseException "ResourceInUseException" 976// You can't delete the specified resource because it's in use or required by 977// another resource. 978// 979// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 980// The request has failed due to a temporary failure of the service. 981// 982// * ErrCodeTooManyRequestsException "TooManyRequestsException" 983// The maximum request rate permitted by the App Mesh APIs has been exceeded 984// for your account. For best results, use an increasing or variable sleep interval 985// between requests. 986// 987// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouter 988func (c *AppMesh) DeleteVirtualRouter(input *DeleteVirtualRouterInput) (*DeleteVirtualRouterOutput, error) { 989 req, out := c.DeleteVirtualRouterRequest(input) 990 return out, req.Send() 991} 992 993// DeleteVirtualRouterWithContext is the same as DeleteVirtualRouter with the addition of 994// the ability to pass a context and additional request options. 995// 996// See DeleteVirtualRouter for details on how to use this API operation. 997// 998// The context must be non-nil and will be used for request cancellation. If 999// the context is nil a panic will occur. In the future the SDK may create 1000// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1001// for more information on using Contexts. 1002func (c *AppMesh) DeleteVirtualRouterWithContext(ctx aws.Context, input *DeleteVirtualRouterInput, opts ...request.Option) (*DeleteVirtualRouterOutput, error) { 1003 req, out := c.DeleteVirtualRouterRequest(input) 1004 req.SetContext(ctx) 1005 req.ApplyOptions(opts...) 1006 return out, req.Send() 1007} 1008 1009const opDeleteVirtualService = "DeleteVirtualService" 1010 1011// DeleteVirtualServiceRequest generates a "aws/request.Request" representing the 1012// client's request for the DeleteVirtualService operation. The "output" return 1013// value will be populated with the request's response once the request completes 1014// successfully. 1015// 1016// Use "Send" method on the returned Request to send the API call to the service. 1017// the "output" return value is not valid until after Send returns without error. 1018// 1019// See DeleteVirtualService for more information on using the DeleteVirtualService 1020// API call, and error handling. 1021// 1022// This method is useful when you want to inject custom logic or configuration 1023// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1024// 1025// 1026// // Example sending a request using the DeleteVirtualServiceRequest method. 1027// req, resp := client.DeleteVirtualServiceRequest(params) 1028// 1029// err := req.Send() 1030// if err == nil { // resp is now filled 1031// fmt.Println(resp) 1032// } 1033// 1034// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualService 1035func (c *AppMesh) DeleteVirtualServiceRequest(input *DeleteVirtualServiceInput) (req *request.Request, output *DeleteVirtualServiceOutput) { 1036 op := &request.Operation{ 1037 Name: opDeleteVirtualService, 1038 HTTPMethod: "DELETE", 1039 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", 1040 } 1041 1042 if input == nil { 1043 input = &DeleteVirtualServiceInput{} 1044 } 1045 1046 output = &DeleteVirtualServiceOutput{} 1047 req = c.newRequest(op, input, output) 1048 return 1049} 1050 1051// DeleteVirtualService API operation for AWS App Mesh. 1052// 1053// Deletes an existing virtual service. 1054// 1055// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1056// with awserr.Error's Code and Message methods to get detailed information about 1057// the error. 1058// 1059// See the AWS API reference guide for AWS App Mesh's 1060// API operation DeleteVirtualService for usage and error information. 1061// 1062// Returned Error Codes: 1063// * ErrCodeBadRequestException "BadRequestException" 1064// The request syntax was malformed. Check your request syntax and try again. 1065// 1066// * ErrCodeForbiddenException "ForbiddenException" 1067// You don't have permissions to perform this action. 1068// 1069// * ErrCodeInternalServerErrorException "InternalServerErrorException" 1070// The request processing has failed because of an unknown error, exception, 1071// or failure. 1072// 1073// * ErrCodeNotFoundException "NotFoundException" 1074// The specified resource doesn't exist. Check your request syntax and try again. 1075// 1076// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1077// The request has failed due to a temporary failure of the service. 1078// 1079// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1080// The maximum request rate permitted by the App Mesh APIs has been exceeded 1081// for your account. For best results, use an increasing or variable sleep interval 1082// between requests. 1083// 1084// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualService 1085func (c *AppMesh) DeleteVirtualService(input *DeleteVirtualServiceInput) (*DeleteVirtualServiceOutput, error) { 1086 req, out := c.DeleteVirtualServiceRequest(input) 1087 return out, req.Send() 1088} 1089 1090// DeleteVirtualServiceWithContext is the same as DeleteVirtualService with the addition of 1091// the ability to pass a context and additional request options. 1092// 1093// See DeleteVirtualService for details on how to use this API operation. 1094// 1095// The context must be non-nil and will be used for request cancellation. If 1096// the context is nil a panic will occur. In the future the SDK may create 1097// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1098// for more information on using Contexts. 1099func (c *AppMesh) DeleteVirtualServiceWithContext(ctx aws.Context, input *DeleteVirtualServiceInput, opts ...request.Option) (*DeleteVirtualServiceOutput, error) { 1100 req, out := c.DeleteVirtualServiceRequest(input) 1101 req.SetContext(ctx) 1102 req.ApplyOptions(opts...) 1103 return out, req.Send() 1104} 1105 1106const opDescribeMesh = "DescribeMesh" 1107 1108// DescribeMeshRequest generates a "aws/request.Request" representing the 1109// client's request for the DescribeMesh operation. The "output" return 1110// value will be populated with the request's response once the request completes 1111// successfully. 1112// 1113// Use "Send" method on the returned Request to send the API call to the service. 1114// the "output" return value is not valid until after Send returns without error. 1115// 1116// See DescribeMesh for more information on using the DescribeMesh 1117// API call, and error handling. 1118// 1119// This method is useful when you want to inject custom logic or configuration 1120// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1121// 1122// 1123// // Example sending a request using the DescribeMeshRequest method. 1124// req, resp := client.DescribeMeshRequest(params) 1125// 1126// err := req.Send() 1127// if err == nil { // resp is now filled 1128// fmt.Println(resp) 1129// } 1130// 1131// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeMesh 1132func (c *AppMesh) DescribeMeshRequest(input *DescribeMeshInput) (req *request.Request, output *DescribeMeshOutput) { 1133 op := &request.Operation{ 1134 Name: opDescribeMesh, 1135 HTTPMethod: "GET", 1136 HTTPPath: "/v20190125/meshes/{meshName}", 1137 } 1138 1139 if input == nil { 1140 input = &DescribeMeshInput{} 1141 } 1142 1143 output = &DescribeMeshOutput{} 1144 req = c.newRequest(op, input, output) 1145 return 1146} 1147 1148// DescribeMesh API operation for AWS App Mesh. 1149// 1150// Describes an existing service mesh. 1151// 1152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1153// with awserr.Error's Code and Message methods to get detailed information about 1154// the error. 1155// 1156// See the AWS API reference guide for AWS App Mesh's 1157// API operation DescribeMesh for usage and error information. 1158// 1159// Returned Error Codes: 1160// * ErrCodeBadRequestException "BadRequestException" 1161// The request syntax was malformed. Check your request syntax and try again. 1162// 1163// * ErrCodeForbiddenException "ForbiddenException" 1164// You don't have permissions to perform this action. 1165// 1166// * ErrCodeInternalServerErrorException "InternalServerErrorException" 1167// The request processing has failed because of an unknown error, exception, 1168// or failure. 1169// 1170// * ErrCodeNotFoundException "NotFoundException" 1171// The specified resource doesn't exist. Check your request syntax and try again. 1172// 1173// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1174// The request has failed due to a temporary failure of the service. 1175// 1176// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1177// The maximum request rate permitted by the App Mesh APIs has been exceeded 1178// for your account. For best results, use an increasing or variable sleep interval 1179// between requests. 1180// 1181// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeMesh 1182func (c *AppMesh) DescribeMesh(input *DescribeMeshInput) (*DescribeMeshOutput, error) { 1183 req, out := c.DescribeMeshRequest(input) 1184 return out, req.Send() 1185} 1186 1187// DescribeMeshWithContext is the same as DescribeMesh with the addition of 1188// the ability to pass a context and additional request options. 1189// 1190// See DescribeMesh for details on how to use this API operation. 1191// 1192// The context must be non-nil and will be used for request cancellation. If 1193// the context is nil a panic will occur. In the future the SDK may create 1194// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1195// for more information on using Contexts. 1196func (c *AppMesh) DescribeMeshWithContext(ctx aws.Context, input *DescribeMeshInput, opts ...request.Option) (*DescribeMeshOutput, error) { 1197 req, out := c.DescribeMeshRequest(input) 1198 req.SetContext(ctx) 1199 req.ApplyOptions(opts...) 1200 return out, req.Send() 1201} 1202 1203const opDescribeRoute = "DescribeRoute" 1204 1205// DescribeRouteRequest generates a "aws/request.Request" representing the 1206// client's request for the DescribeRoute operation. The "output" return 1207// value will be populated with the request's response once the request completes 1208// successfully. 1209// 1210// Use "Send" method on the returned Request to send the API call to the service. 1211// the "output" return value is not valid until after Send returns without error. 1212// 1213// See DescribeRoute for more information on using the DescribeRoute 1214// API call, and error handling. 1215// 1216// This method is useful when you want to inject custom logic or configuration 1217// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1218// 1219// 1220// // Example sending a request using the DescribeRouteRequest method. 1221// req, resp := client.DescribeRouteRequest(params) 1222// 1223// err := req.Send() 1224// if err == nil { // resp is now filled 1225// fmt.Println(resp) 1226// } 1227// 1228// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeRoute 1229func (c *AppMesh) DescribeRouteRequest(input *DescribeRouteInput) (req *request.Request, output *DescribeRouteOutput) { 1230 op := &request.Operation{ 1231 Name: opDescribeRoute, 1232 HTTPMethod: "GET", 1233 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", 1234 } 1235 1236 if input == nil { 1237 input = &DescribeRouteInput{} 1238 } 1239 1240 output = &DescribeRouteOutput{} 1241 req = c.newRequest(op, input, output) 1242 return 1243} 1244 1245// DescribeRoute API operation for AWS App Mesh. 1246// 1247// Describes an existing route. 1248// 1249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1250// with awserr.Error's Code and Message methods to get detailed information about 1251// the error. 1252// 1253// See the AWS API reference guide for AWS App Mesh's 1254// API operation DescribeRoute for usage and error information. 1255// 1256// Returned Error Codes: 1257// * ErrCodeBadRequestException "BadRequestException" 1258// The request syntax was malformed. Check your request syntax and try again. 1259// 1260// * ErrCodeForbiddenException "ForbiddenException" 1261// You don't have permissions to perform this action. 1262// 1263// * ErrCodeInternalServerErrorException "InternalServerErrorException" 1264// The request processing has failed because of an unknown error, exception, 1265// or failure. 1266// 1267// * ErrCodeNotFoundException "NotFoundException" 1268// The specified resource doesn't exist. Check your request syntax and try again. 1269// 1270// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1271// The request has failed due to a temporary failure of the service. 1272// 1273// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1274// The maximum request rate permitted by the App Mesh APIs has been exceeded 1275// for your account. For best results, use an increasing or variable sleep interval 1276// between requests. 1277// 1278// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeRoute 1279func (c *AppMesh) DescribeRoute(input *DescribeRouteInput) (*DescribeRouteOutput, error) { 1280 req, out := c.DescribeRouteRequest(input) 1281 return out, req.Send() 1282} 1283 1284// DescribeRouteWithContext is the same as DescribeRoute with the addition of 1285// the ability to pass a context and additional request options. 1286// 1287// See DescribeRoute for details on how to use this API operation. 1288// 1289// The context must be non-nil and will be used for request cancellation. If 1290// the context is nil a panic will occur. In the future the SDK may create 1291// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1292// for more information on using Contexts. 1293func (c *AppMesh) DescribeRouteWithContext(ctx aws.Context, input *DescribeRouteInput, opts ...request.Option) (*DescribeRouteOutput, error) { 1294 req, out := c.DescribeRouteRequest(input) 1295 req.SetContext(ctx) 1296 req.ApplyOptions(opts...) 1297 return out, req.Send() 1298} 1299 1300const opDescribeVirtualNode = "DescribeVirtualNode" 1301 1302// DescribeVirtualNodeRequest generates a "aws/request.Request" representing the 1303// client's request for the DescribeVirtualNode operation. The "output" return 1304// value will be populated with the request's response once the request completes 1305// successfully. 1306// 1307// Use "Send" method on the returned Request to send the API call to the service. 1308// the "output" return value is not valid until after Send returns without error. 1309// 1310// See DescribeVirtualNode for more information on using the DescribeVirtualNode 1311// API call, and error handling. 1312// 1313// This method is useful when you want to inject custom logic or configuration 1314// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1315// 1316// 1317// // Example sending a request using the DescribeVirtualNodeRequest method. 1318// req, resp := client.DescribeVirtualNodeRequest(params) 1319// 1320// err := req.Send() 1321// if err == nil { // resp is now filled 1322// fmt.Println(resp) 1323// } 1324// 1325// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNode 1326func (c *AppMesh) DescribeVirtualNodeRequest(input *DescribeVirtualNodeInput) (req *request.Request, output *DescribeVirtualNodeOutput) { 1327 op := &request.Operation{ 1328 Name: opDescribeVirtualNode, 1329 HTTPMethod: "GET", 1330 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", 1331 } 1332 1333 if input == nil { 1334 input = &DescribeVirtualNodeInput{} 1335 } 1336 1337 output = &DescribeVirtualNodeOutput{} 1338 req = c.newRequest(op, input, output) 1339 return 1340} 1341 1342// DescribeVirtualNode API operation for AWS App Mesh. 1343// 1344// Describes an existing virtual node. 1345// 1346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1347// with awserr.Error's Code and Message methods to get detailed information about 1348// the error. 1349// 1350// See the AWS API reference guide for AWS App Mesh's 1351// API operation DescribeVirtualNode for usage and error information. 1352// 1353// Returned Error Codes: 1354// * ErrCodeBadRequestException "BadRequestException" 1355// The request syntax was malformed. Check your request syntax and try again. 1356// 1357// * ErrCodeForbiddenException "ForbiddenException" 1358// You don't have permissions to perform this action. 1359// 1360// * ErrCodeInternalServerErrorException "InternalServerErrorException" 1361// The request processing has failed because of an unknown error, exception, 1362// or failure. 1363// 1364// * ErrCodeNotFoundException "NotFoundException" 1365// The specified resource doesn't exist. Check your request syntax and try again. 1366// 1367// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1368// The request has failed due to a temporary failure of the service. 1369// 1370// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1371// The maximum request rate permitted by the App Mesh APIs has been exceeded 1372// for your account. For best results, use an increasing or variable sleep interval 1373// between requests. 1374// 1375// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNode 1376func (c *AppMesh) DescribeVirtualNode(input *DescribeVirtualNodeInput) (*DescribeVirtualNodeOutput, error) { 1377 req, out := c.DescribeVirtualNodeRequest(input) 1378 return out, req.Send() 1379} 1380 1381// DescribeVirtualNodeWithContext is the same as DescribeVirtualNode with the addition of 1382// the ability to pass a context and additional request options. 1383// 1384// See DescribeVirtualNode for details on how to use this API operation. 1385// 1386// The context must be non-nil and will be used for request cancellation. If 1387// the context is nil a panic will occur. In the future the SDK may create 1388// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1389// for more information on using Contexts. 1390func (c *AppMesh) DescribeVirtualNodeWithContext(ctx aws.Context, input *DescribeVirtualNodeInput, opts ...request.Option) (*DescribeVirtualNodeOutput, error) { 1391 req, out := c.DescribeVirtualNodeRequest(input) 1392 req.SetContext(ctx) 1393 req.ApplyOptions(opts...) 1394 return out, req.Send() 1395} 1396 1397const opDescribeVirtualRouter = "DescribeVirtualRouter" 1398 1399// DescribeVirtualRouterRequest generates a "aws/request.Request" representing the 1400// client's request for the DescribeVirtualRouter operation. The "output" return 1401// value will be populated with the request's response once the request completes 1402// successfully. 1403// 1404// Use "Send" method on the returned Request to send the API call to the service. 1405// the "output" return value is not valid until after Send returns without error. 1406// 1407// See DescribeVirtualRouter for more information on using the DescribeVirtualRouter 1408// API call, and error handling. 1409// 1410// This method is useful when you want to inject custom logic or configuration 1411// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1412// 1413// 1414// // Example sending a request using the DescribeVirtualRouterRequest method. 1415// req, resp := client.DescribeVirtualRouterRequest(params) 1416// 1417// err := req.Send() 1418// if err == nil { // resp is now filled 1419// fmt.Println(resp) 1420// } 1421// 1422// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouter 1423func (c *AppMesh) DescribeVirtualRouterRequest(input *DescribeVirtualRouterInput) (req *request.Request, output *DescribeVirtualRouterOutput) { 1424 op := &request.Operation{ 1425 Name: opDescribeVirtualRouter, 1426 HTTPMethod: "GET", 1427 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", 1428 } 1429 1430 if input == nil { 1431 input = &DescribeVirtualRouterInput{} 1432 } 1433 1434 output = &DescribeVirtualRouterOutput{} 1435 req = c.newRequest(op, input, output) 1436 return 1437} 1438 1439// DescribeVirtualRouter API operation for AWS App Mesh. 1440// 1441// Describes an existing virtual router. 1442// 1443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1444// with awserr.Error's Code and Message methods to get detailed information about 1445// the error. 1446// 1447// See the AWS API reference guide for AWS App Mesh's 1448// API operation DescribeVirtualRouter for usage and error information. 1449// 1450// Returned Error Codes: 1451// * ErrCodeBadRequestException "BadRequestException" 1452// The request syntax was malformed. Check your request syntax and try again. 1453// 1454// * ErrCodeForbiddenException "ForbiddenException" 1455// You don't have permissions to perform this action. 1456// 1457// * ErrCodeInternalServerErrorException "InternalServerErrorException" 1458// The request processing has failed because of an unknown error, exception, 1459// or failure. 1460// 1461// * ErrCodeNotFoundException "NotFoundException" 1462// The specified resource doesn't exist. Check your request syntax and try again. 1463// 1464// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1465// The request has failed due to a temporary failure of the service. 1466// 1467// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1468// The maximum request rate permitted by the App Mesh APIs has been exceeded 1469// for your account. For best results, use an increasing or variable sleep interval 1470// between requests. 1471// 1472// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouter 1473func (c *AppMesh) DescribeVirtualRouter(input *DescribeVirtualRouterInput) (*DescribeVirtualRouterOutput, error) { 1474 req, out := c.DescribeVirtualRouterRequest(input) 1475 return out, req.Send() 1476} 1477 1478// DescribeVirtualRouterWithContext is the same as DescribeVirtualRouter with the addition of 1479// the ability to pass a context and additional request options. 1480// 1481// See DescribeVirtualRouter for details on how to use this API operation. 1482// 1483// The context must be non-nil and will be used for request cancellation. If 1484// the context is nil a panic will occur. In the future the SDK may create 1485// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1486// for more information on using Contexts. 1487func (c *AppMesh) DescribeVirtualRouterWithContext(ctx aws.Context, input *DescribeVirtualRouterInput, opts ...request.Option) (*DescribeVirtualRouterOutput, error) { 1488 req, out := c.DescribeVirtualRouterRequest(input) 1489 req.SetContext(ctx) 1490 req.ApplyOptions(opts...) 1491 return out, req.Send() 1492} 1493 1494const opDescribeVirtualService = "DescribeVirtualService" 1495 1496// DescribeVirtualServiceRequest generates a "aws/request.Request" representing the 1497// client's request for the DescribeVirtualService operation. The "output" return 1498// value will be populated with the request's response once the request completes 1499// successfully. 1500// 1501// Use "Send" method on the returned Request to send the API call to the service. 1502// the "output" return value is not valid until after Send returns without error. 1503// 1504// See DescribeVirtualService for more information on using the DescribeVirtualService 1505// API call, and error handling. 1506// 1507// This method is useful when you want to inject custom logic or configuration 1508// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1509// 1510// 1511// // Example sending a request using the DescribeVirtualServiceRequest method. 1512// req, resp := client.DescribeVirtualServiceRequest(params) 1513// 1514// err := req.Send() 1515// if err == nil { // resp is now filled 1516// fmt.Println(resp) 1517// } 1518// 1519// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualService 1520func (c *AppMesh) DescribeVirtualServiceRequest(input *DescribeVirtualServiceInput) (req *request.Request, output *DescribeVirtualServiceOutput) { 1521 op := &request.Operation{ 1522 Name: opDescribeVirtualService, 1523 HTTPMethod: "GET", 1524 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", 1525 } 1526 1527 if input == nil { 1528 input = &DescribeVirtualServiceInput{} 1529 } 1530 1531 output = &DescribeVirtualServiceOutput{} 1532 req = c.newRequest(op, input, output) 1533 return 1534} 1535 1536// DescribeVirtualService API operation for AWS App Mesh. 1537// 1538// Describes an existing virtual service. 1539// 1540// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1541// with awserr.Error's Code and Message methods to get detailed information about 1542// the error. 1543// 1544// See the AWS API reference guide for AWS App Mesh's 1545// API operation DescribeVirtualService for usage and error information. 1546// 1547// Returned Error Codes: 1548// * ErrCodeBadRequestException "BadRequestException" 1549// The request syntax was malformed. Check your request syntax and try again. 1550// 1551// * ErrCodeForbiddenException "ForbiddenException" 1552// You don't have permissions to perform this action. 1553// 1554// * ErrCodeInternalServerErrorException "InternalServerErrorException" 1555// The request processing has failed because of an unknown error, exception, 1556// or failure. 1557// 1558// * ErrCodeNotFoundException "NotFoundException" 1559// The specified resource doesn't exist. Check your request syntax and try again. 1560// 1561// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1562// The request has failed due to a temporary failure of the service. 1563// 1564// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1565// The maximum request rate permitted by the App Mesh APIs has been exceeded 1566// for your account. For best results, use an increasing or variable sleep interval 1567// between requests. 1568// 1569// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualService 1570func (c *AppMesh) DescribeVirtualService(input *DescribeVirtualServiceInput) (*DescribeVirtualServiceOutput, error) { 1571 req, out := c.DescribeVirtualServiceRequest(input) 1572 return out, req.Send() 1573} 1574 1575// DescribeVirtualServiceWithContext is the same as DescribeVirtualService with the addition of 1576// the ability to pass a context and additional request options. 1577// 1578// See DescribeVirtualService for details on how to use this API operation. 1579// 1580// The context must be non-nil and will be used for request cancellation. If 1581// the context is nil a panic will occur. In the future the SDK may create 1582// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1583// for more information on using Contexts. 1584func (c *AppMesh) DescribeVirtualServiceWithContext(ctx aws.Context, input *DescribeVirtualServiceInput, opts ...request.Option) (*DescribeVirtualServiceOutput, error) { 1585 req, out := c.DescribeVirtualServiceRequest(input) 1586 req.SetContext(ctx) 1587 req.ApplyOptions(opts...) 1588 return out, req.Send() 1589} 1590 1591const opListMeshes = "ListMeshes" 1592 1593// ListMeshesRequest generates a "aws/request.Request" representing the 1594// client's request for the ListMeshes operation. The "output" return 1595// value will be populated with the request's response once the request completes 1596// successfully. 1597// 1598// Use "Send" method on the returned Request to send the API call to the service. 1599// the "output" return value is not valid until after Send returns without error. 1600// 1601// See ListMeshes for more information on using the ListMeshes 1602// API call, and error handling. 1603// 1604// This method is useful when you want to inject custom logic or configuration 1605// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1606// 1607// 1608// // Example sending a request using the ListMeshesRequest method. 1609// req, resp := client.ListMeshesRequest(params) 1610// 1611// err := req.Send() 1612// if err == nil { // resp is now filled 1613// fmt.Println(resp) 1614// } 1615// 1616// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes 1617func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Request, output *ListMeshesOutput) { 1618 op := &request.Operation{ 1619 Name: opListMeshes, 1620 HTTPMethod: "GET", 1621 HTTPPath: "/v20190125/meshes", 1622 Paginator: &request.Paginator{ 1623 InputTokens: []string{"nextToken"}, 1624 OutputTokens: []string{"nextToken"}, 1625 LimitToken: "limit", 1626 TruncationToken: "", 1627 }, 1628 } 1629 1630 if input == nil { 1631 input = &ListMeshesInput{} 1632 } 1633 1634 output = &ListMeshesOutput{} 1635 req = c.newRequest(op, input, output) 1636 return 1637} 1638 1639// ListMeshes API operation for AWS App Mesh. 1640// 1641// Returns a list of existing service meshes. 1642// 1643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1644// with awserr.Error's Code and Message methods to get detailed information about 1645// the error. 1646// 1647// See the AWS API reference guide for AWS App Mesh's 1648// API operation ListMeshes for usage and error information. 1649// 1650// Returned Error Codes: 1651// * ErrCodeBadRequestException "BadRequestException" 1652// The request syntax was malformed. Check your request syntax and try again. 1653// 1654// * ErrCodeForbiddenException "ForbiddenException" 1655// You don't have permissions to perform this action. 1656// 1657// * ErrCodeInternalServerErrorException "InternalServerErrorException" 1658// The request processing has failed because of an unknown error, exception, 1659// or failure. 1660// 1661// * ErrCodeNotFoundException "NotFoundException" 1662// The specified resource doesn't exist. Check your request syntax and try again. 1663// 1664// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1665// The request has failed due to a temporary failure of the service. 1666// 1667// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1668// The maximum request rate permitted by the App Mesh APIs has been exceeded 1669// for your account. For best results, use an increasing or variable sleep interval 1670// between requests. 1671// 1672// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes 1673func (c *AppMesh) ListMeshes(input *ListMeshesInput) (*ListMeshesOutput, error) { 1674 req, out := c.ListMeshesRequest(input) 1675 return out, req.Send() 1676} 1677 1678// ListMeshesWithContext is the same as ListMeshes with the addition of 1679// the ability to pass a context and additional request options. 1680// 1681// See ListMeshes for details on how to use this API operation. 1682// 1683// The context must be non-nil and will be used for request cancellation. If 1684// the context is nil a panic will occur. In the future the SDK may create 1685// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1686// for more information on using Contexts. 1687func (c *AppMesh) ListMeshesWithContext(ctx aws.Context, input *ListMeshesInput, opts ...request.Option) (*ListMeshesOutput, error) { 1688 req, out := c.ListMeshesRequest(input) 1689 req.SetContext(ctx) 1690 req.ApplyOptions(opts...) 1691 return out, req.Send() 1692} 1693 1694// ListMeshesPages iterates over the pages of a ListMeshes operation, 1695// calling the "fn" function with the response data for each page. To stop 1696// iterating, return false from the fn function. 1697// 1698// See ListMeshes method for more information on how to use this operation. 1699// 1700// Note: This operation can generate multiple requests to a service. 1701// 1702// // Example iterating over at most 3 pages of a ListMeshes operation. 1703// pageNum := 0 1704// err := client.ListMeshesPages(params, 1705// func(page *appmesh.ListMeshesOutput, lastPage bool) bool { 1706// pageNum++ 1707// fmt.Println(page) 1708// return pageNum <= 3 1709// }) 1710// 1711func (c *AppMesh) ListMeshesPages(input *ListMeshesInput, fn func(*ListMeshesOutput, bool) bool) error { 1712 return c.ListMeshesPagesWithContext(aws.BackgroundContext(), input, fn) 1713} 1714 1715// ListMeshesPagesWithContext same as ListMeshesPages except 1716// it takes a Context and allows setting request options on the pages. 1717// 1718// The context must be non-nil and will be used for request cancellation. If 1719// the context is nil a panic will occur. In the future the SDK may create 1720// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1721// for more information on using Contexts. 1722func (c *AppMesh) ListMeshesPagesWithContext(ctx aws.Context, input *ListMeshesInput, fn func(*ListMeshesOutput, bool) bool, opts ...request.Option) error { 1723 p := request.Pagination{ 1724 NewRequest: func() (*request.Request, error) { 1725 var inCpy *ListMeshesInput 1726 if input != nil { 1727 tmp := *input 1728 inCpy = &tmp 1729 } 1730 req, _ := c.ListMeshesRequest(inCpy) 1731 req.SetContext(ctx) 1732 req.ApplyOptions(opts...) 1733 return req, nil 1734 }, 1735 } 1736 1737 for p.Next() { 1738 if !fn(p.Page().(*ListMeshesOutput), !p.HasNextPage()) { 1739 break 1740 } 1741 } 1742 1743 return p.Err() 1744} 1745 1746const opListRoutes = "ListRoutes" 1747 1748// ListRoutesRequest generates a "aws/request.Request" representing the 1749// client's request for the ListRoutes operation. The "output" return 1750// value will be populated with the request's response once the request completes 1751// successfully. 1752// 1753// Use "Send" method on the returned Request to send the API call to the service. 1754// the "output" return value is not valid until after Send returns without error. 1755// 1756// See ListRoutes for more information on using the ListRoutes 1757// API call, and error handling. 1758// 1759// This method is useful when you want to inject custom logic or configuration 1760// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1761// 1762// 1763// // Example sending a request using the ListRoutesRequest method. 1764// req, resp := client.ListRoutesRequest(params) 1765// 1766// err := req.Send() 1767// if err == nil { // resp is now filled 1768// fmt.Println(resp) 1769// } 1770// 1771// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListRoutes 1772func (c *AppMesh) ListRoutesRequest(input *ListRoutesInput) (req *request.Request, output *ListRoutesOutput) { 1773 op := &request.Operation{ 1774 Name: opListRoutes, 1775 HTTPMethod: "GET", 1776 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", 1777 Paginator: &request.Paginator{ 1778 InputTokens: []string{"nextToken"}, 1779 OutputTokens: []string{"nextToken"}, 1780 LimitToken: "limit", 1781 TruncationToken: "", 1782 }, 1783 } 1784 1785 if input == nil { 1786 input = &ListRoutesInput{} 1787 } 1788 1789 output = &ListRoutesOutput{} 1790 req = c.newRequest(op, input, output) 1791 return 1792} 1793 1794// ListRoutes API operation for AWS App Mesh. 1795// 1796// Returns a list of existing routes in a service mesh. 1797// 1798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1799// with awserr.Error's Code and Message methods to get detailed information about 1800// the error. 1801// 1802// See the AWS API reference guide for AWS App Mesh's 1803// API operation ListRoutes for usage and error information. 1804// 1805// Returned Error Codes: 1806// * ErrCodeBadRequestException "BadRequestException" 1807// The request syntax was malformed. Check your request syntax and try again. 1808// 1809// * ErrCodeForbiddenException "ForbiddenException" 1810// You don't have permissions to perform this action. 1811// 1812// * ErrCodeInternalServerErrorException "InternalServerErrorException" 1813// The request processing has failed because of an unknown error, exception, 1814// or failure. 1815// 1816// * ErrCodeNotFoundException "NotFoundException" 1817// The specified resource doesn't exist. Check your request syntax and try again. 1818// 1819// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1820// The request has failed due to a temporary failure of the service. 1821// 1822// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1823// The maximum request rate permitted by the App Mesh APIs has been exceeded 1824// for your account. For best results, use an increasing or variable sleep interval 1825// between requests. 1826// 1827// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListRoutes 1828func (c *AppMesh) ListRoutes(input *ListRoutesInput) (*ListRoutesOutput, error) { 1829 req, out := c.ListRoutesRequest(input) 1830 return out, req.Send() 1831} 1832 1833// ListRoutesWithContext is the same as ListRoutes with the addition of 1834// the ability to pass a context and additional request options. 1835// 1836// See ListRoutes for details on how to use this API operation. 1837// 1838// The context must be non-nil and will be used for request cancellation. If 1839// the context is nil a panic will occur. In the future the SDK may create 1840// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1841// for more information on using Contexts. 1842func (c *AppMesh) ListRoutesWithContext(ctx aws.Context, input *ListRoutesInput, opts ...request.Option) (*ListRoutesOutput, error) { 1843 req, out := c.ListRoutesRequest(input) 1844 req.SetContext(ctx) 1845 req.ApplyOptions(opts...) 1846 return out, req.Send() 1847} 1848 1849// ListRoutesPages iterates over the pages of a ListRoutes operation, 1850// calling the "fn" function with the response data for each page. To stop 1851// iterating, return false from the fn function. 1852// 1853// See ListRoutes method for more information on how to use this operation. 1854// 1855// Note: This operation can generate multiple requests to a service. 1856// 1857// // Example iterating over at most 3 pages of a ListRoutes operation. 1858// pageNum := 0 1859// err := client.ListRoutesPages(params, 1860// func(page *appmesh.ListRoutesOutput, lastPage bool) bool { 1861// pageNum++ 1862// fmt.Println(page) 1863// return pageNum <= 3 1864// }) 1865// 1866func (c *AppMesh) ListRoutesPages(input *ListRoutesInput, fn func(*ListRoutesOutput, bool) bool) error { 1867 return c.ListRoutesPagesWithContext(aws.BackgroundContext(), input, fn) 1868} 1869 1870// ListRoutesPagesWithContext same as ListRoutesPages except 1871// it takes a Context and allows setting request options on the pages. 1872// 1873// The context must be non-nil and will be used for request cancellation. If 1874// the context is nil a panic will occur. In the future the SDK may create 1875// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1876// for more information on using Contexts. 1877func (c *AppMesh) ListRoutesPagesWithContext(ctx aws.Context, input *ListRoutesInput, fn func(*ListRoutesOutput, bool) bool, opts ...request.Option) error { 1878 p := request.Pagination{ 1879 NewRequest: func() (*request.Request, error) { 1880 var inCpy *ListRoutesInput 1881 if input != nil { 1882 tmp := *input 1883 inCpy = &tmp 1884 } 1885 req, _ := c.ListRoutesRequest(inCpy) 1886 req.SetContext(ctx) 1887 req.ApplyOptions(opts...) 1888 return req, nil 1889 }, 1890 } 1891 1892 for p.Next() { 1893 if !fn(p.Page().(*ListRoutesOutput), !p.HasNextPage()) { 1894 break 1895 } 1896 } 1897 1898 return p.Err() 1899} 1900 1901const opListTagsForResource = "ListTagsForResource" 1902 1903// ListTagsForResourceRequest generates a "aws/request.Request" representing the 1904// client's request for the ListTagsForResource operation. The "output" return 1905// value will be populated with the request's response once the request completes 1906// successfully. 1907// 1908// Use "Send" method on the returned Request to send the API call to the service. 1909// the "output" return value is not valid until after Send returns without error. 1910// 1911// See ListTagsForResource for more information on using the ListTagsForResource 1912// API call, and error handling. 1913// 1914// This method is useful when you want to inject custom logic or configuration 1915// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1916// 1917// 1918// // Example sending a request using the ListTagsForResourceRequest method. 1919// req, resp := client.ListTagsForResourceRequest(params) 1920// 1921// err := req.Send() 1922// if err == nil { // resp is now filled 1923// fmt.Println(resp) 1924// } 1925// 1926// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource 1927func (c *AppMesh) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 1928 op := &request.Operation{ 1929 Name: opListTagsForResource, 1930 HTTPMethod: "GET", 1931 HTTPPath: "/v20190125/tags", 1932 Paginator: &request.Paginator{ 1933 InputTokens: []string{"nextToken"}, 1934 OutputTokens: []string{"nextToken"}, 1935 LimitToken: "limit", 1936 TruncationToken: "", 1937 }, 1938 } 1939 1940 if input == nil { 1941 input = &ListTagsForResourceInput{} 1942 } 1943 1944 output = &ListTagsForResourceOutput{} 1945 req = c.newRequest(op, input, output) 1946 return 1947} 1948 1949// ListTagsForResource API operation for AWS App Mesh. 1950// 1951// List the tags for an App Mesh resource. 1952// 1953// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1954// with awserr.Error's Code and Message methods to get detailed information about 1955// the error. 1956// 1957// See the AWS API reference guide for AWS App Mesh's 1958// API operation ListTagsForResource for usage and error information. 1959// 1960// Returned Error Codes: 1961// * ErrCodeBadRequestException "BadRequestException" 1962// The request syntax was malformed. Check your request syntax and try again. 1963// 1964// * ErrCodeForbiddenException "ForbiddenException" 1965// You don't have permissions to perform this action. 1966// 1967// * ErrCodeInternalServerErrorException "InternalServerErrorException" 1968// The request processing has failed because of an unknown error, exception, 1969// or failure. 1970// 1971// * ErrCodeNotFoundException "NotFoundException" 1972// The specified resource doesn't exist. Check your request syntax and try again. 1973// 1974// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1975// The request has failed due to a temporary failure of the service. 1976// 1977// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1978// The maximum request rate permitted by the App Mesh APIs has been exceeded 1979// for your account. For best results, use an increasing or variable sleep interval 1980// between requests. 1981// 1982// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource 1983func (c *AppMesh) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 1984 req, out := c.ListTagsForResourceRequest(input) 1985 return out, req.Send() 1986} 1987 1988// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 1989// the ability to pass a context and additional request options. 1990// 1991// See ListTagsForResource for details on how to use this API operation. 1992// 1993// The context must be non-nil and will be used for request cancellation. If 1994// the context is nil a panic will occur. In the future the SDK may create 1995// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1996// for more information on using Contexts. 1997func (c *AppMesh) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 1998 req, out := c.ListTagsForResourceRequest(input) 1999 req.SetContext(ctx) 2000 req.ApplyOptions(opts...) 2001 return out, req.Send() 2002} 2003 2004// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, 2005// calling the "fn" function with the response data for each page. To stop 2006// iterating, return false from the fn function. 2007// 2008// See ListTagsForResource method for more information on how to use this operation. 2009// 2010// Note: This operation can generate multiple requests to a service. 2011// 2012// // Example iterating over at most 3 pages of a ListTagsForResource operation. 2013// pageNum := 0 2014// err := client.ListTagsForResourcePages(params, 2015// func(page *appmesh.ListTagsForResourceOutput, lastPage bool) bool { 2016// pageNum++ 2017// fmt.Println(page) 2018// return pageNum <= 3 2019// }) 2020// 2021func (c *AppMesh) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { 2022 return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) 2023} 2024 2025// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except 2026// it takes a Context and allows setting request options on the pages. 2027// 2028// The context must be non-nil and will be used for request cancellation. If 2029// the context is nil a panic will occur. In the future the SDK may create 2030// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2031// for more information on using Contexts. 2032func (c *AppMesh) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { 2033 p := request.Pagination{ 2034 NewRequest: func() (*request.Request, error) { 2035 var inCpy *ListTagsForResourceInput 2036 if input != nil { 2037 tmp := *input 2038 inCpy = &tmp 2039 } 2040 req, _ := c.ListTagsForResourceRequest(inCpy) 2041 req.SetContext(ctx) 2042 req.ApplyOptions(opts...) 2043 return req, nil 2044 }, 2045 } 2046 2047 for p.Next() { 2048 if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { 2049 break 2050 } 2051 } 2052 2053 return p.Err() 2054} 2055 2056const opListVirtualNodes = "ListVirtualNodes" 2057 2058// ListVirtualNodesRequest generates a "aws/request.Request" representing the 2059// client's request for the ListVirtualNodes operation. The "output" return 2060// value will be populated with the request's response once the request completes 2061// successfully. 2062// 2063// Use "Send" method on the returned Request to send the API call to the service. 2064// the "output" return value is not valid until after Send returns without error. 2065// 2066// See ListVirtualNodes for more information on using the ListVirtualNodes 2067// API call, and error handling. 2068// 2069// This method is useful when you want to inject custom logic or configuration 2070// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2071// 2072// 2073// // Example sending a request using the ListVirtualNodesRequest method. 2074// req, resp := client.ListVirtualNodesRequest(params) 2075// 2076// err := req.Send() 2077// if err == nil { // resp is now filled 2078// fmt.Println(resp) 2079// } 2080// 2081// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes 2082func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *request.Request, output *ListVirtualNodesOutput) { 2083 op := &request.Operation{ 2084 Name: opListVirtualNodes, 2085 HTTPMethod: "GET", 2086 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes", 2087 Paginator: &request.Paginator{ 2088 InputTokens: []string{"nextToken"}, 2089 OutputTokens: []string{"nextToken"}, 2090 LimitToken: "limit", 2091 TruncationToken: "", 2092 }, 2093 } 2094 2095 if input == nil { 2096 input = &ListVirtualNodesInput{} 2097 } 2098 2099 output = &ListVirtualNodesOutput{} 2100 req = c.newRequest(op, input, output) 2101 return 2102} 2103 2104// ListVirtualNodes API operation for AWS App Mesh. 2105// 2106// Returns a list of existing virtual nodes. 2107// 2108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2109// with awserr.Error's Code and Message methods to get detailed information about 2110// the error. 2111// 2112// See the AWS API reference guide for AWS App Mesh's 2113// API operation ListVirtualNodes for usage and error information. 2114// 2115// Returned Error Codes: 2116// * ErrCodeBadRequestException "BadRequestException" 2117// The request syntax was malformed. Check your request syntax and try again. 2118// 2119// * ErrCodeForbiddenException "ForbiddenException" 2120// You don't have permissions to perform this action. 2121// 2122// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2123// The request processing has failed because of an unknown error, exception, 2124// or failure. 2125// 2126// * ErrCodeNotFoundException "NotFoundException" 2127// The specified resource doesn't exist. Check your request syntax and try again. 2128// 2129// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2130// The request has failed due to a temporary failure of the service. 2131// 2132// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2133// The maximum request rate permitted by the App Mesh APIs has been exceeded 2134// for your account. For best results, use an increasing or variable sleep interval 2135// between requests. 2136// 2137// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes 2138func (c *AppMesh) ListVirtualNodes(input *ListVirtualNodesInput) (*ListVirtualNodesOutput, error) { 2139 req, out := c.ListVirtualNodesRequest(input) 2140 return out, req.Send() 2141} 2142 2143// ListVirtualNodesWithContext is the same as ListVirtualNodes with the addition of 2144// the ability to pass a context and additional request options. 2145// 2146// See ListVirtualNodes for details on how to use this API operation. 2147// 2148// The context must be non-nil and will be used for request cancellation. If 2149// the context is nil a panic will occur. In the future the SDK may create 2150// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2151// for more information on using Contexts. 2152func (c *AppMesh) ListVirtualNodesWithContext(ctx aws.Context, input *ListVirtualNodesInput, opts ...request.Option) (*ListVirtualNodesOutput, error) { 2153 req, out := c.ListVirtualNodesRequest(input) 2154 req.SetContext(ctx) 2155 req.ApplyOptions(opts...) 2156 return out, req.Send() 2157} 2158 2159// ListVirtualNodesPages iterates over the pages of a ListVirtualNodes operation, 2160// calling the "fn" function with the response data for each page. To stop 2161// iterating, return false from the fn function. 2162// 2163// See ListVirtualNodes method for more information on how to use this operation. 2164// 2165// Note: This operation can generate multiple requests to a service. 2166// 2167// // Example iterating over at most 3 pages of a ListVirtualNodes operation. 2168// pageNum := 0 2169// err := client.ListVirtualNodesPages(params, 2170// func(page *appmesh.ListVirtualNodesOutput, lastPage bool) bool { 2171// pageNum++ 2172// fmt.Println(page) 2173// return pageNum <= 3 2174// }) 2175// 2176func (c *AppMesh) ListVirtualNodesPages(input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool) error { 2177 return c.ListVirtualNodesPagesWithContext(aws.BackgroundContext(), input, fn) 2178} 2179 2180// ListVirtualNodesPagesWithContext same as ListVirtualNodesPages except 2181// it takes a Context and allows setting request options on the pages. 2182// 2183// The context must be non-nil and will be used for request cancellation. If 2184// the context is nil a panic will occur. In the future the SDK may create 2185// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2186// for more information on using Contexts. 2187func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool, opts ...request.Option) error { 2188 p := request.Pagination{ 2189 NewRequest: func() (*request.Request, error) { 2190 var inCpy *ListVirtualNodesInput 2191 if input != nil { 2192 tmp := *input 2193 inCpy = &tmp 2194 } 2195 req, _ := c.ListVirtualNodesRequest(inCpy) 2196 req.SetContext(ctx) 2197 req.ApplyOptions(opts...) 2198 return req, nil 2199 }, 2200 } 2201 2202 for p.Next() { 2203 if !fn(p.Page().(*ListVirtualNodesOutput), !p.HasNextPage()) { 2204 break 2205 } 2206 } 2207 2208 return p.Err() 2209} 2210 2211const opListVirtualRouters = "ListVirtualRouters" 2212 2213// ListVirtualRoutersRequest generates a "aws/request.Request" representing the 2214// client's request for the ListVirtualRouters operation. The "output" return 2215// value will be populated with the request's response once the request completes 2216// successfully. 2217// 2218// Use "Send" method on the returned Request to send the API call to the service. 2219// the "output" return value is not valid until after Send returns without error. 2220// 2221// See ListVirtualRouters for more information on using the ListVirtualRouters 2222// API call, and error handling. 2223// 2224// This method is useful when you want to inject custom logic or configuration 2225// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2226// 2227// 2228// // Example sending a request using the ListVirtualRoutersRequest method. 2229// req, resp := client.ListVirtualRoutersRequest(params) 2230// 2231// err := req.Send() 2232// if err == nil { // resp is now filled 2233// fmt.Println(resp) 2234// } 2235// 2236// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters 2237func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req *request.Request, output *ListVirtualRoutersOutput) { 2238 op := &request.Operation{ 2239 Name: opListVirtualRouters, 2240 HTTPMethod: "GET", 2241 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters", 2242 Paginator: &request.Paginator{ 2243 InputTokens: []string{"nextToken"}, 2244 OutputTokens: []string{"nextToken"}, 2245 LimitToken: "limit", 2246 TruncationToken: "", 2247 }, 2248 } 2249 2250 if input == nil { 2251 input = &ListVirtualRoutersInput{} 2252 } 2253 2254 output = &ListVirtualRoutersOutput{} 2255 req = c.newRequest(op, input, output) 2256 return 2257} 2258 2259// ListVirtualRouters API operation for AWS App Mesh. 2260// 2261// Returns a list of existing virtual routers in a service mesh. 2262// 2263// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2264// with awserr.Error's Code and Message methods to get detailed information about 2265// the error. 2266// 2267// See the AWS API reference guide for AWS App Mesh's 2268// API operation ListVirtualRouters for usage and error information. 2269// 2270// Returned Error Codes: 2271// * ErrCodeBadRequestException "BadRequestException" 2272// The request syntax was malformed. Check your request syntax and try again. 2273// 2274// * ErrCodeForbiddenException "ForbiddenException" 2275// You don't have permissions to perform this action. 2276// 2277// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2278// The request processing has failed because of an unknown error, exception, 2279// or failure. 2280// 2281// * ErrCodeNotFoundException "NotFoundException" 2282// The specified resource doesn't exist. Check your request syntax and try again. 2283// 2284// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2285// The request has failed due to a temporary failure of the service. 2286// 2287// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2288// The maximum request rate permitted by the App Mesh APIs has been exceeded 2289// for your account. For best results, use an increasing or variable sleep interval 2290// between requests. 2291// 2292// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters 2293func (c *AppMesh) ListVirtualRouters(input *ListVirtualRoutersInput) (*ListVirtualRoutersOutput, error) { 2294 req, out := c.ListVirtualRoutersRequest(input) 2295 return out, req.Send() 2296} 2297 2298// ListVirtualRoutersWithContext is the same as ListVirtualRouters with the addition of 2299// the ability to pass a context and additional request options. 2300// 2301// See ListVirtualRouters for details on how to use this API operation. 2302// 2303// The context must be non-nil and will be used for request cancellation. If 2304// the context is nil a panic will occur. In the future the SDK may create 2305// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2306// for more information on using Contexts. 2307func (c *AppMesh) ListVirtualRoutersWithContext(ctx aws.Context, input *ListVirtualRoutersInput, opts ...request.Option) (*ListVirtualRoutersOutput, error) { 2308 req, out := c.ListVirtualRoutersRequest(input) 2309 req.SetContext(ctx) 2310 req.ApplyOptions(opts...) 2311 return out, req.Send() 2312} 2313 2314// ListVirtualRoutersPages iterates over the pages of a ListVirtualRouters operation, 2315// calling the "fn" function with the response data for each page. To stop 2316// iterating, return false from the fn function. 2317// 2318// See ListVirtualRouters method for more information on how to use this operation. 2319// 2320// Note: This operation can generate multiple requests to a service. 2321// 2322// // Example iterating over at most 3 pages of a ListVirtualRouters operation. 2323// pageNum := 0 2324// err := client.ListVirtualRoutersPages(params, 2325// func(page *appmesh.ListVirtualRoutersOutput, lastPage bool) bool { 2326// pageNum++ 2327// fmt.Println(page) 2328// return pageNum <= 3 2329// }) 2330// 2331func (c *AppMesh) ListVirtualRoutersPages(input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool) error { 2332 return c.ListVirtualRoutersPagesWithContext(aws.BackgroundContext(), input, fn) 2333} 2334 2335// ListVirtualRoutersPagesWithContext same as ListVirtualRoutersPages except 2336// it takes a Context and allows setting request options on the pages. 2337// 2338// The context must be non-nil and will be used for request cancellation. If 2339// the context is nil a panic will occur. In the future the SDK may create 2340// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2341// for more information on using Contexts. 2342func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool, opts ...request.Option) error { 2343 p := request.Pagination{ 2344 NewRequest: func() (*request.Request, error) { 2345 var inCpy *ListVirtualRoutersInput 2346 if input != nil { 2347 tmp := *input 2348 inCpy = &tmp 2349 } 2350 req, _ := c.ListVirtualRoutersRequest(inCpy) 2351 req.SetContext(ctx) 2352 req.ApplyOptions(opts...) 2353 return req, nil 2354 }, 2355 } 2356 2357 for p.Next() { 2358 if !fn(p.Page().(*ListVirtualRoutersOutput), !p.HasNextPage()) { 2359 break 2360 } 2361 } 2362 2363 return p.Err() 2364} 2365 2366const opListVirtualServices = "ListVirtualServices" 2367 2368// ListVirtualServicesRequest generates a "aws/request.Request" representing the 2369// client's request for the ListVirtualServices operation. The "output" return 2370// value will be populated with the request's response once the request completes 2371// successfully. 2372// 2373// Use "Send" method on the returned Request to send the API call to the service. 2374// the "output" return value is not valid until after Send returns without error. 2375// 2376// See ListVirtualServices for more information on using the ListVirtualServices 2377// API call, and error handling. 2378// 2379// This method is useful when you want to inject custom logic or configuration 2380// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2381// 2382// 2383// // Example sending a request using the ListVirtualServicesRequest method. 2384// req, resp := client.ListVirtualServicesRequest(params) 2385// 2386// err := req.Send() 2387// if err == nil { // resp is now filled 2388// fmt.Println(resp) 2389// } 2390// 2391// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualServices 2392func (c *AppMesh) ListVirtualServicesRequest(input *ListVirtualServicesInput) (req *request.Request, output *ListVirtualServicesOutput) { 2393 op := &request.Operation{ 2394 Name: opListVirtualServices, 2395 HTTPMethod: "GET", 2396 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices", 2397 Paginator: &request.Paginator{ 2398 InputTokens: []string{"nextToken"}, 2399 OutputTokens: []string{"nextToken"}, 2400 LimitToken: "limit", 2401 TruncationToken: "", 2402 }, 2403 } 2404 2405 if input == nil { 2406 input = &ListVirtualServicesInput{} 2407 } 2408 2409 output = &ListVirtualServicesOutput{} 2410 req = c.newRequest(op, input, output) 2411 return 2412} 2413 2414// ListVirtualServices API operation for AWS App Mesh. 2415// 2416// Returns a list of existing virtual services in a service mesh. 2417// 2418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2419// with awserr.Error's Code and Message methods to get detailed information about 2420// the error. 2421// 2422// See the AWS API reference guide for AWS App Mesh's 2423// API operation ListVirtualServices for usage and error information. 2424// 2425// Returned Error Codes: 2426// * ErrCodeBadRequestException "BadRequestException" 2427// The request syntax was malformed. Check your request syntax and try again. 2428// 2429// * ErrCodeForbiddenException "ForbiddenException" 2430// You don't have permissions to perform this action. 2431// 2432// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2433// The request processing has failed because of an unknown error, exception, 2434// or failure. 2435// 2436// * ErrCodeNotFoundException "NotFoundException" 2437// The specified resource doesn't exist. Check your request syntax and try again. 2438// 2439// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2440// The request has failed due to a temporary failure of the service. 2441// 2442// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2443// The maximum request rate permitted by the App Mesh APIs has been exceeded 2444// for your account. For best results, use an increasing or variable sleep interval 2445// between requests. 2446// 2447// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualServices 2448func (c *AppMesh) ListVirtualServices(input *ListVirtualServicesInput) (*ListVirtualServicesOutput, error) { 2449 req, out := c.ListVirtualServicesRequest(input) 2450 return out, req.Send() 2451} 2452 2453// ListVirtualServicesWithContext is the same as ListVirtualServices with the addition of 2454// the ability to pass a context and additional request options. 2455// 2456// See ListVirtualServices for details on how to use this API operation. 2457// 2458// The context must be non-nil and will be used for request cancellation. If 2459// the context is nil a panic will occur. In the future the SDK may create 2460// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2461// for more information on using Contexts. 2462func (c *AppMesh) ListVirtualServicesWithContext(ctx aws.Context, input *ListVirtualServicesInput, opts ...request.Option) (*ListVirtualServicesOutput, error) { 2463 req, out := c.ListVirtualServicesRequest(input) 2464 req.SetContext(ctx) 2465 req.ApplyOptions(opts...) 2466 return out, req.Send() 2467} 2468 2469// ListVirtualServicesPages iterates over the pages of a ListVirtualServices operation, 2470// calling the "fn" function with the response data for each page. To stop 2471// iterating, return false from the fn function. 2472// 2473// See ListVirtualServices method for more information on how to use this operation. 2474// 2475// Note: This operation can generate multiple requests to a service. 2476// 2477// // Example iterating over at most 3 pages of a ListVirtualServices operation. 2478// pageNum := 0 2479// err := client.ListVirtualServicesPages(params, 2480// func(page *appmesh.ListVirtualServicesOutput, lastPage bool) bool { 2481// pageNum++ 2482// fmt.Println(page) 2483// return pageNum <= 3 2484// }) 2485// 2486func (c *AppMesh) ListVirtualServicesPages(input *ListVirtualServicesInput, fn func(*ListVirtualServicesOutput, bool) bool) error { 2487 return c.ListVirtualServicesPagesWithContext(aws.BackgroundContext(), input, fn) 2488} 2489 2490// ListVirtualServicesPagesWithContext same as ListVirtualServicesPages except 2491// it takes a Context and allows setting request options on the pages. 2492// 2493// The context must be non-nil and will be used for request cancellation. If 2494// the context is nil a panic will occur. In the future the SDK may create 2495// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2496// for more information on using Contexts. 2497func (c *AppMesh) ListVirtualServicesPagesWithContext(ctx aws.Context, input *ListVirtualServicesInput, fn func(*ListVirtualServicesOutput, bool) bool, opts ...request.Option) error { 2498 p := request.Pagination{ 2499 NewRequest: func() (*request.Request, error) { 2500 var inCpy *ListVirtualServicesInput 2501 if input != nil { 2502 tmp := *input 2503 inCpy = &tmp 2504 } 2505 req, _ := c.ListVirtualServicesRequest(inCpy) 2506 req.SetContext(ctx) 2507 req.ApplyOptions(opts...) 2508 return req, nil 2509 }, 2510 } 2511 2512 for p.Next() { 2513 if !fn(p.Page().(*ListVirtualServicesOutput), !p.HasNextPage()) { 2514 break 2515 } 2516 } 2517 2518 return p.Err() 2519} 2520 2521const opTagResource = "TagResource" 2522 2523// TagResourceRequest generates a "aws/request.Request" representing the 2524// client's request for the TagResource operation. The "output" return 2525// value will be populated with the request's response once the request completes 2526// successfully. 2527// 2528// Use "Send" method on the returned Request to send the API call to the service. 2529// the "output" return value is not valid until after Send returns without error. 2530// 2531// See TagResource for more information on using the TagResource 2532// API call, and error handling. 2533// 2534// This method is useful when you want to inject custom logic or configuration 2535// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2536// 2537// 2538// // Example sending a request using the TagResourceRequest method. 2539// req, resp := client.TagResourceRequest(params) 2540// 2541// err := req.Send() 2542// if err == nil { // resp is now filled 2543// fmt.Println(resp) 2544// } 2545// 2546// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource 2547func (c *AppMesh) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 2548 op := &request.Operation{ 2549 Name: opTagResource, 2550 HTTPMethod: "PUT", 2551 HTTPPath: "/v20190125/tag", 2552 } 2553 2554 if input == nil { 2555 input = &TagResourceInput{} 2556 } 2557 2558 output = &TagResourceOutput{} 2559 req = c.newRequest(op, input, output) 2560 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2561 return 2562} 2563 2564// TagResource API operation for AWS App Mesh. 2565// 2566// Associates the specified tags to a resource with the specified resourceArn. 2567// If existing tags on a resource aren't specified in the request parameters, 2568// they aren't changed. When a resource is deleted, the tags associated with 2569// that resource are also deleted. 2570// 2571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2572// with awserr.Error's Code and Message methods to get detailed information about 2573// the error. 2574// 2575// See the AWS API reference guide for AWS App Mesh's 2576// API operation TagResource for usage and error information. 2577// 2578// Returned Error Codes: 2579// * ErrCodeBadRequestException "BadRequestException" 2580// The request syntax was malformed. Check your request syntax and try again. 2581// 2582// * ErrCodeForbiddenException "ForbiddenException" 2583// You don't have permissions to perform this action. 2584// 2585// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2586// The request processing has failed because of an unknown error, exception, 2587// or failure. 2588// 2589// * ErrCodeNotFoundException "NotFoundException" 2590// The specified resource doesn't exist. Check your request syntax and try again. 2591// 2592// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2593// The request has failed due to a temporary failure of the service. 2594// 2595// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2596// The maximum request rate permitted by the App Mesh APIs has been exceeded 2597// for your account. For best results, use an increasing or variable sleep interval 2598// between requests. 2599// 2600// * ErrCodeTooManyTagsException "TooManyTagsException" 2601// The request exceeds the maximum allowed number of tags allowed per resource. 2602// The current limit is 50 user tags per resource. You must reduce the number 2603// of tags in the request. None of the tags in this request were applied. 2604// 2605// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource 2606func (c *AppMesh) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 2607 req, out := c.TagResourceRequest(input) 2608 return out, req.Send() 2609} 2610 2611// TagResourceWithContext is the same as TagResource with the addition of 2612// the ability to pass a context and additional request options. 2613// 2614// See TagResource for details on how to use this API operation. 2615// 2616// The context must be non-nil and will be used for request cancellation. If 2617// the context is nil a panic will occur. In the future the SDK may create 2618// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2619// for more information on using Contexts. 2620func (c *AppMesh) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 2621 req, out := c.TagResourceRequest(input) 2622 req.SetContext(ctx) 2623 req.ApplyOptions(opts...) 2624 return out, req.Send() 2625} 2626 2627const opUntagResource = "UntagResource" 2628 2629// UntagResourceRequest generates a "aws/request.Request" representing the 2630// client's request for the UntagResource operation. The "output" return 2631// value will be populated with the request's response once the request completes 2632// successfully. 2633// 2634// Use "Send" method on the returned Request to send the API call to the service. 2635// the "output" return value is not valid until after Send returns without error. 2636// 2637// See UntagResource for more information on using the UntagResource 2638// API call, and error handling. 2639// 2640// This method is useful when you want to inject custom logic or configuration 2641// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2642// 2643// 2644// // Example sending a request using the UntagResourceRequest method. 2645// req, resp := client.UntagResourceRequest(params) 2646// 2647// err := req.Send() 2648// if err == nil { // resp is now filled 2649// fmt.Println(resp) 2650// } 2651// 2652// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource 2653func (c *AppMesh) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 2654 op := &request.Operation{ 2655 Name: opUntagResource, 2656 HTTPMethod: "PUT", 2657 HTTPPath: "/v20190125/untag", 2658 } 2659 2660 if input == nil { 2661 input = &UntagResourceInput{} 2662 } 2663 2664 output = &UntagResourceOutput{} 2665 req = c.newRequest(op, input, output) 2666 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2667 return 2668} 2669 2670// UntagResource API operation for AWS App Mesh. 2671// 2672// Deletes specified tags from a resource. 2673// 2674// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2675// with awserr.Error's Code and Message methods to get detailed information about 2676// the error. 2677// 2678// See the AWS API reference guide for AWS App Mesh's 2679// API operation UntagResource for usage and error information. 2680// 2681// Returned Error Codes: 2682// * ErrCodeBadRequestException "BadRequestException" 2683// The request syntax was malformed. Check your request syntax and try again. 2684// 2685// * ErrCodeForbiddenException "ForbiddenException" 2686// You don't have permissions to perform this action. 2687// 2688// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2689// The request processing has failed because of an unknown error, exception, 2690// or failure. 2691// 2692// * ErrCodeNotFoundException "NotFoundException" 2693// The specified resource doesn't exist. Check your request syntax and try again. 2694// 2695// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2696// The request has failed due to a temporary failure of the service. 2697// 2698// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2699// The maximum request rate permitted by the App Mesh APIs has been exceeded 2700// for your account. For best results, use an increasing or variable sleep interval 2701// between requests. 2702// 2703// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource 2704func (c *AppMesh) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 2705 req, out := c.UntagResourceRequest(input) 2706 return out, req.Send() 2707} 2708 2709// UntagResourceWithContext is the same as UntagResource with the addition of 2710// the ability to pass a context and additional request options. 2711// 2712// See UntagResource for details on how to use this API operation. 2713// 2714// The context must be non-nil and will be used for request cancellation. If 2715// the context is nil a panic will occur. In the future the SDK may create 2716// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2717// for more information on using Contexts. 2718func (c *AppMesh) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 2719 req, out := c.UntagResourceRequest(input) 2720 req.SetContext(ctx) 2721 req.ApplyOptions(opts...) 2722 return out, req.Send() 2723} 2724 2725const opUpdateMesh = "UpdateMesh" 2726 2727// UpdateMeshRequest generates a "aws/request.Request" representing the 2728// client's request for the UpdateMesh operation. The "output" return 2729// value will be populated with the request's response once the request completes 2730// successfully. 2731// 2732// Use "Send" method on the returned Request to send the API call to the service. 2733// the "output" return value is not valid until after Send returns without error. 2734// 2735// See UpdateMesh for more information on using the UpdateMesh 2736// API call, and error handling. 2737// 2738// This method is useful when you want to inject custom logic or configuration 2739// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2740// 2741// 2742// // Example sending a request using the UpdateMeshRequest method. 2743// req, resp := client.UpdateMeshRequest(params) 2744// 2745// err := req.Send() 2746// if err == nil { // resp is now filled 2747// fmt.Println(resp) 2748// } 2749// 2750// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh 2751func (c *AppMesh) UpdateMeshRequest(input *UpdateMeshInput) (req *request.Request, output *UpdateMeshOutput) { 2752 op := &request.Operation{ 2753 Name: opUpdateMesh, 2754 HTTPMethod: "PUT", 2755 HTTPPath: "/v20190125/meshes/{meshName}", 2756 } 2757 2758 if input == nil { 2759 input = &UpdateMeshInput{} 2760 } 2761 2762 output = &UpdateMeshOutput{} 2763 req = c.newRequest(op, input, output) 2764 return 2765} 2766 2767// UpdateMesh API operation for AWS App Mesh. 2768// 2769// Updates an existing service mesh. 2770// 2771// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2772// with awserr.Error's Code and Message methods to get detailed information about 2773// the error. 2774// 2775// See the AWS API reference guide for AWS App Mesh's 2776// API operation UpdateMesh for usage and error information. 2777// 2778// Returned Error Codes: 2779// * ErrCodeBadRequestException "BadRequestException" 2780// The request syntax was malformed. Check your request syntax and try again. 2781// 2782// * ErrCodeConflictException "ConflictException" 2783// The request contains a client token that was used for a previous update resource 2784// call with different specifications. Try the request again with a new client 2785// token. 2786// 2787// * ErrCodeForbiddenException "ForbiddenException" 2788// You don't have permissions to perform this action. 2789// 2790// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2791// The request processing has failed because of an unknown error, exception, 2792// or failure. 2793// 2794// * ErrCodeNotFoundException "NotFoundException" 2795// The specified resource doesn't exist. Check your request syntax and try again. 2796// 2797// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2798// The request has failed due to a temporary failure of the service. 2799// 2800// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2801// The maximum request rate permitted by the App Mesh APIs has been exceeded 2802// for your account. For best results, use an increasing or variable sleep interval 2803// between requests. 2804// 2805// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh 2806func (c *AppMesh) UpdateMesh(input *UpdateMeshInput) (*UpdateMeshOutput, error) { 2807 req, out := c.UpdateMeshRequest(input) 2808 return out, req.Send() 2809} 2810 2811// UpdateMeshWithContext is the same as UpdateMesh with the addition of 2812// the ability to pass a context and additional request options. 2813// 2814// See UpdateMesh for details on how to use this API operation. 2815// 2816// The context must be non-nil and will be used for request cancellation. If 2817// the context is nil a panic will occur. In the future the SDK may create 2818// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2819// for more information on using Contexts. 2820func (c *AppMesh) UpdateMeshWithContext(ctx aws.Context, input *UpdateMeshInput, opts ...request.Option) (*UpdateMeshOutput, error) { 2821 req, out := c.UpdateMeshRequest(input) 2822 req.SetContext(ctx) 2823 req.ApplyOptions(opts...) 2824 return out, req.Send() 2825} 2826 2827const opUpdateRoute = "UpdateRoute" 2828 2829// UpdateRouteRequest generates a "aws/request.Request" representing the 2830// client's request for the UpdateRoute operation. The "output" return 2831// value will be populated with the request's response once the request completes 2832// successfully. 2833// 2834// Use "Send" method on the returned Request to send the API call to the service. 2835// the "output" return value is not valid until after Send returns without error. 2836// 2837// See UpdateRoute for more information on using the UpdateRoute 2838// API call, and error handling. 2839// 2840// This method is useful when you want to inject custom logic or configuration 2841// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2842// 2843// 2844// // Example sending a request using the UpdateRouteRequest method. 2845// req, resp := client.UpdateRouteRequest(params) 2846// 2847// err := req.Send() 2848// if err == nil { // resp is now filled 2849// fmt.Println(resp) 2850// } 2851// 2852// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute 2853func (c *AppMesh) UpdateRouteRequest(input *UpdateRouteInput) (req *request.Request, output *UpdateRouteOutput) { 2854 op := &request.Operation{ 2855 Name: opUpdateRoute, 2856 HTTPMethod: "PUT", 2857 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", 2858 } 2859 2860 if input == nil { 2861 input = &UpdateRouteInput{} 2862 } 2863 2864 output = &UpdateRouteOutput{} 2865 req = c.newRequest(op, input, output) 2866 return 2867} 2868 2869// UpdateRoute API operation for AWS App Mesh. 2870// 2871// Updates an existing route for a specified service mesh and virtual router. 2872// 2873// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2874// with awserr.Error's Code and Message methods to get detailed information about 2875// the error. 2876// 2877// See the AWS API reference guide for AWS App Mesh's 2878// API operation UpdateRoute for usage and error information. 2879// 2880// Returned Error Codes: 2881// * ErrCodeBadRequestException "BadRequestException" 2882// The request syntax was malformed. Check your request syntax and try again. 2883// 2884// * ErrCodeConflictException "ConflictException" 2885// The request contains a client token that was used for a previous update resource 2886// call with different specifications. Try the request again with a new client 2887// token. 2888// 2889// * ErrCodeForbiddenException "ForbiddenException" 2890// You don't have permissions to perform this action. 2891// 2892// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2893// The request processing has failed because of an unknown error, exception, 2894// or failure. 2895// 2896// * ErrCodeLimitExceededException "LimitExceededException" 2897// You have exceeded a service limit for your account. For more information, 2898// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 2899// in the AWS App Mesh User Guide. 2900// 2901// * ErrCodeNotFoundException "NotFoundException" 2902// The specified resource doesn't exist. Check your request syntax and try again. 2903// 2904// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2905// The request has failed due to a temporary failure of the service. 2906// 2907// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2908// The maximum request rate permitted by the App Mesh APIs has been exceeded 2909// for your account. For best results, use an increasing or variable sleep interval 2910// between requests. 2911// 2912// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute 2913func (c *AppMesh) UpdateRoute(input *UpdateRouteInput) (*UpdateRouteOutput, error) { 2914 req, out := c.UpdateRouteRequest(input) 2915 return out, req.Send() 2916} 2917 2918// UpdateRouteWithContext is the same as UpdateRoute with the addition of 2919// the ability to pass a context and additional request options. 2920// 2921// See UpdateRoute for details on how to use this API operation. 2922// 2923// The context must be non-nil and will be used for request cancellation. If 2924// the context is nil a panic will occur. In the future the SDK may create 2925// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2926// for more information on using Contexts. 2927func (c *AppMesh) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInput, opts ...request.Option) (*UpdateRouteOutput, error) { 2928 req, out := c.UpdateRouteRequest(input) 2929 req.SetContext(ctx) 2930 req.ApplyOptions(opts...) 2931 return out, req.Send() 2932} 2933 2934const opUpdateVirtualNode = "UpdateVirtualNode" 2935 2936// UpdateVirtualNodeRequest generates a "aws/request.Request" representing the 2937// client's request for the UpdateVirtualNode operation. The "output" return 2938// value will be populated with the request's response once the request completes 2939// successfully. 2940// 2941// Use "Send" method on the returned Request to send the API call to the service. 2942// the "output" return value is not valid until after Send returns without error. 2943// 2944// See UpdateVirtualNode for more information on using the UpdateVirtualNode 2945// API call, and error handling. 2946// 2947// This method is useful when you want to inject custom logic or configuration 2948// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2949// 2950// 2951// // Example sending a request using the UpdateVirtualNodeRequest method. 2952// req, resp := client.UpdateVirtualNodeRequest(params) 2953// 2954// err := req.Send() 2955// if err == nil { // resp is now filled 2956// fmt.Println(resp) 2957// } 2958// 2959// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode 2960func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) { 2961 op := &request.Operation{ 2962 Name: opUpdateVirtualNode, 2963 HTTPMethod: "PUT", 2964 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", 2965 } 2966 2967 if input == nil { 2968 input = &UpdateVirtualNodeInput{} 2969 } 2970 2971 output = &UpdateVirtualNodeOutput{} 2972 req = c.newRequest(op, input, output) 2973 return 2974} 2975 2976// UpdateVirtualNode API operation for AWS App Mesh. 2977// 2978// Updates an existing virtual node in a specified service mesh. 2979// 2980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2981// with awserr.Error's Code and Message methods to get detailed information about 2982// the error. 2983// 2984// See the AWS API reference guide for AWS App Mesh's 2985// API operation UpdateVirtualNode for usage and error information. 2986// 2987// Returned Error Codes: 2988// * ErrCodeBadRequestException "BadRequestException" 2989// The request syntax was malformed. Check your request syntax and try again. 2990// 2991// * ErrCodeConflictException "ConflictException" 2992// The request contains a client token that was used for a previous update resource 2993// call with different specifications. Try the request again with a new client 2994// token. 2995// 2996// * ErrCodeForbiddenException "ForbiddenException" 2997// You don't have permissions to perform this action. 2998// 2999// * ErrCodeInternalServerErrorException "InternalServerErrorException" 3000// The request processing has failed because of an unknown error, exception, 3001// or failure. 3002// 3003// * ErrCodeLimitExceededException "LimitExceededException" 3004// You have exceeded a service limit for your account. For more information, 3005// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 3006// in the AWS App Mesh User Guide. 3007// 3008// * ErrCodeNotFoundException "NotFoundException" 3009// The specified resource doesn't exist. Check your request syntax and try again. 3010// 3011// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3012// The request has failed due to a temporary failure of the service. 3013// 3014// * ErrCodeTooManyRequestsException "TooManyRequestsException" 3015// The maximum request rate permitted by the App Mesh APIs has been exceeded 3016// for your account. For best results, use an increasing or variable sleep interval 3017// between requests. 3018// 3019// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode 3020func (c *AppMesh) UpdateVirtualNode(input *UpdateVirtualNodeInput) (*UpdateVirtualNodeOutput, error) { 3021 req, out := c.UpdateVirtualNodeRequest(input) 3022 return out, req.Send() 3023} 3024 3025// UpdateVirtualNodeWithContext is the same as UpdateVirtualNode with the addition of 3026// the ability to pass a context and additional request options. 3027// 3028// See UpdateVirtualNode for details on how to use this API operation. 3029// 3030// The context must be non-nil and will be used for request cancellation. If 3031// the context is nil a panic will occur. In the future the SDK may create 3032// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3033// for more information on using Contexts. 3034func (c *AppMesh) UpdateVirtualNodeWithContext(ctx aws.Context, input *UpdateVirtualNodeInput, opts ...request.Option) (*UpdateVirtualNodeOutput, error) { 3035 req, out := c.UpdateVirtualNodeRequest(input) 3036 req.SetContext(ctx) 3037 req.ApplyOptions(opts...) 3038 return out, req.Send() 3039} 3040 3041const opUpdateVirtualRouter = "UpdateVirtualRouter" 3042 3043// UpdateVirtualRouterRequest generates a "aws/request.Request" representing the 3044// client's request for the UpdateVirtualRouter operation. The "output" return 3045// value will be populated with the request's response once the request completes 3046// successfully. 3047// 3048// Use "Send" method on the returned Request to send the API call to the service. 3049// the "output" return value is not valid until after Send returns without error. 3050// 3051// See UpdateVirtualRouter for more information on using the UpdateVirtualRouter 3052// API call, and error handling. 3053// 3054// This method is useful when you want to inject custom logic or configuration 3055// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3056// 3057// 3058// // Example sending a request using the UpdateVirtualRouterRequest method. 3059// req, resp := client.UpdateVirtualRouterRequest(params) 3060// 3061// err := req.Send() 3062// if err == nil { // resp is now filled 3063// fmt.Println(resp) 3064// } 3065// 3066// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter 3067func (c *AppMesh) UpdateVirtualRouterRequest(input *UpdateVirtualRouterInput) (req *request.Request, output *UpdateVirtualRouterOutput) { 3068 op := &request.Operation{ 3069 Name: opUpdateVirtualRouter, 3070 HTTPMethod: "PUT", 3071 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", 3072 } 3073 3074 if input == nil { 3075 input = &UpdateVirtualRouterInput{} 3076 } 3077 3078 output = &UpdateVirtualRouterOutput{} 3079 req = c.newRequest(op, input, output) 3080 return 3081} 3082 3083// UpdateVirtualRouter API operation for AWS App Mesh. 3084// 3085// Updates an existing virtual router in a specified service mesh. 3086// 3087// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3088// with awserr.Error's Code and Message methods to get detailed information about 3089// the error. 3090// 3091// See the AWS API reference guide for AWS App Mesh's 3092// API operation UpdateVirtualRouter for usage and error information. 3093// 3094// Returned Error Codes: 3095// * ErrCodeBadRequestException "BadRequestException" 3096// The request syntax was malformed. Check your request syntax and try again. 3097// 3098// * ErrCodeConflictException "ConflictException" 3099// The request contains a client token that was used for a previous update resource 3100// call with different specifications. Try the request again with a new client 3101// token. 3102// 3103// * ErrCodeForbiddenException "ForbiddenException" 3104// You don't have permissions to perform this action. 3105// 3106// * ErrCodeInternalServerErrorException "InternalServerErrorException" 3107// The request processing has failed because of an unknown error, exception, 3108// or failure. 3109// 3110// * ErrCodeLimitExceededException "LimitExceededException" 3111// You have exceeded a service limit for your account. For more information, 3112// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 3113// in the AWS App Mesh User Guide. 3114// 3115// * ErrCodeNotFoundException "NotFoundException" 3116// The specified resource doesn't exist. Check your request syntax and try again. 3117// 3118// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3119// The request has failed due to a temporary failure of the service. 3120// 3121// * ErrCodeTooManyRequestsException "TooManyRequestsException" 3122// The maximum request rate permitted by the App Mesh APIs has been exceeded 3123// for your account. For best results, use an increasing or variable sleep interval 3124// between requests. 3125// 3126// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter 3127func (c *AppMesh) UpdateVirtualRouter(input *UpdateVirtualRouterInput) (*UpdateVirtualRouterOutput, error) { 3128 req, out := c.UpdateVirtualRouterRequest(input) 3129 return out, req.Send() 3130} 3131 3132// UpdateVirtualRouterWithContext is the same as UpdateVirtualRouter with the addition of 3133// the ability to pass a context and additional request options. 3134// 3135// See UpdateVirtualRouter for details on how to use this API operation. 3136// 3137// The context must be non-nil and will be used for request cancellation. If 3138// the context is nil a panic will occur. In the future the SDK may create 3139// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3140// for more information on using Contexts. 3141func (c *AppMesh) UpdateVirtualRouterWithContext(ctx aws.Context, input *UpdateVirtualRouterInput, opts ...request.Option) (*UpdateVirtualRouterOutput, error) { 3142 req, out := c.UpdateVirtualRouterRequest(input) 3143 req.SetContext(ctx) 3144 req.ApplyOptions(opts...) 3145 return out, req.Send() 3146} 3147 3148const opUpdateVirtualService = "UpdateVirtualService" 3149 3150// UpdateVirtualServiceRequest generates a "aws/request.Request" representing the 3151// client's request for the UpdateVirtualService operation. The "output" return 3152// value will be populated with the request's response once the request completes 3153// successfully. 3154// 3155// Use "Send" method on the returned Request to send the API call to the service. 3156// the "output" return value is not valid until after Send returns without error. 3157// 3158// See UpdateVirtualService for more information on using the UpdateVirtualService 3159// API call, and error handling. 3160// 3161// This method is useful when you want to inject custom logic or configuration 3162// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3163// 3164// 3165// // Example sending a request using the UpdateVirtualServiceRequest method. 3166// req, resp := client.UpdateVirtualServiceRequest(params) 3167// 3168// err := req.Send() 3169// if err == nil { // resp is now filled 3170// fmt.Println(resp) 3171// } 3172// 3173// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService 3174func (c *AppMesh) UpdateVirtualServiceRequest(input *UpdateVirtualServiceInput) (req *request.Request, output *UpdateVirtualServiceOutput) { 3175 op := &request.Operation{ 3176 Name: opUpdateVirtualService, 3177 HTTPMethod: "PUT", 3178 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", 3179 } 3180 3181 if input == nil { 3182 input = &UpdateVirtualServiceInput{} 3183 } 3184 3185 output = &UpdateVirtualServiceOutput{} 3186 req = c.newRequest(op, input, output) 3187 return 3188} 3189 3190// UpdateVirtualService API operation for AWS App Mesh. 3191// 3192// Updates an existing virtual service in a specified service mesh. 3193// 3194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3195// with awserr.Error's Code and Message methods to get detailed information about 3196// the error. 3197// 3198// See the AWS API reference guide for AWS App Mesh's 3199// API operation UpdateVirtualService for usage and error information. 3200// 3201// Returned Error Codes: 3202// * ErrCodeBadRequestException "BadRequestException" 3203// The request syntax was malformed. Check your request syntax and try again. 3204// 3205// * ErrCodeConflictException "ConflictException" 3206// The request contains a client token that was used for a previous update resource 3207// call with different specifications. Try the request again with a new client 3208// token. 3209// 3210// * ErrCodeForbiddenException "ForbiddenException" 3211// You don't have permissions to perform this action. 3212// 3213// * ErrCodeInternalServerErrorException "InternalServerErrorException" 3214// The request processing has failed because of an unknown error, exception, 3215// or failure. 3216// 3217// * ErrCodeLimitExceededException "LimitExceededException" 3218// You have exceeded a service limit for your account. For more information, 3219// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 3220// in the AWS App Mesh User Guide. 3221// 3222// * ErrCodeNotFoundException "NotFoundException" 3223// The specified resource doesn't exist. Check your request syntax and try again. 3224// 3225// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3226// The request has failed due to a temporary failure of the service. 3227// 3228// * ErrCodeTooManyRequestsException "TooManyRequestsException" 3229// The maximum request rate permitted by the App Mesh APIs has been exceeded 3230// for your account. For best results, use an increasing or variable sleep interval 3231// between requests. 3232// 3233// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService 3234func (c *AppMesh) UpdateVirtualService(input *UpdateVirtualServiceInput) (*UpdateVirtualServiceOutput, error) { 3235 req, out := c.UpdateVirtualServiceRequest(input) 3236 return out, req.Send() 3237} 3238 3239// UpdateVirtualServiceWithContext is the same as UpdateVirtualService with the addition of 3240// the ability to pass a context and additional request options. 3241// 3242// See UpdateVirtualService for details on how to use this API operation. 3243// 3244// The context must be non-nil and will be used for request cancellation. If 3245// the context is nil a panic will occur. In the future the SDK may create 3246// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3247// for more information on using Contexts. 3248func (c *AppMesh) UpdateVirtualServiceWithContext(ctx aws.Context, input *UpdateVirtualServiceInput, opts ...request.Option) (*UpdateVirtualServiceOutput, error) { 3249 req, out := c.UpdateVirtualServiceRequest(input) 3250 req.SetContext(ctx) 3251 req.ApplyOptions(opts...) 3252 return out, req.Send() 3253} 3254 3255// An object that represents the access logging information for a virtual node. 3256type AccessLog struct { 3257 _ struct{} `type:"structure"` 3258 3259 // An object that represents an access log file. 3260 File *FileAccessLog `locationName:"file" type:"structure"` 3261} 3262 3263// String returns the string representation 3264func (s AccessLog) String() string { 3265 return awsutil.Prettify(s) 3266} 3267 3268// GoString returns the string representation 3269func (s AccessLog) GoString() string { 3270 return s.String() 3271} 3272 3273// Validate inspects the fields of the type to determine if they are valid. 3274func (s *AccessLog) Validate() error { 3275 invalidParams := request.ErrInvalidParams{Context: "AccessLog"} 3276 if s.File != nil { 3277 if err := s.File.Validate(); err != nil { 3278 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 3279 } 3280 } 3281 3282 if invalidParams.Len() > 0 { 3283 return invalidParams 3284 } 3285 return nil 3286} 3287 3288// SetFile sets the File field's value. 3289func (s *AccessLog) SetFile(v *FileAccessLog) *AccessLog { 3290 s.File = v 3291 return s 3292} 3293 3294// An object that represents the AWS Cloud Map attribute information for your 3295// virtual node. 3296type AwsCloudMapInstanceAttribute struct { 3297 _ struct{} `type:"structure"` 3298 3299 // Key is a required field 3300 Key *string `locationName:"key" min:"1" type:"string" required:"true"` 3301 3302 // Value is a required field 3303 Value *string `locationName:"value" min:"1" type:"string" required:"true"` 3304} 3305 3306// String returns the string representation 3307func (s AwsCloudMapInstanceAttribute) String() string { 3308 return awsutil.Prettify(s) 3309} 3310 3311// GoString returns the string representation 3312func (s AwsCloudMapInstanceAttribute) GoString() string { 3313 return s.String() 3314} 3315 3316// Validate inspects the fields of the type to determine if they are valid. 3317func (s *AwsCloudMapInstanceAttribute) Validate() error { 3318 invalidParams := request.ErrInvalidParams{Context: "AwsCloudMapInstanceAttribute"} 3319 if s.Key == nil { 3320 invalidParams.Add(request.NewErrParamRequired("Key")) 3321 } 3322 if s.Key != nil && len(*s.Key) < 1 { 3323 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 3324 } 3325 if s.Value == nil { 3326 invalidParams.Add(request.NewErrParamRequired("Value")) 3327 } 3328 if s.Value != nil && len(*s.Value) < 1 { 3329 invalidParams.Add(request.NewErrParamMinLen("Value", 1)) 3330 } 3331 3332 if invalidParams.Len() > 0 { 3333 return invalidParams 3334 } 3335 return nil 3336} 3337 3338// SetKey sets the Key field's value. 3339func (s *AwsCloudMapInstanceAttribute) SetKey(v string) *AwsCloudMapInstanceAttribute { 3340 s.Key = &v 3341 return s 3342} 3343 3344// SetValue sets the Value field's value. 3345func (s *AwsCloudMapInstanceAttribute) SetValue(v string) *AwsCloudMapInstanceAttribute { 3346 s.Value = &v 3347 return s 3348} 3349 3350// An object that represents the AWS Cloud Map service discovery information 3351// for your virtual node. 3352type AwsCloudMapServiceDiscovery struct { 3353 _ struct{} `type:"structure"` 3354 3355 Attributes []*AwsCloudMapInstanceAttribute `locationName:"attributes" type:"list"` 3356 3357 // NamespaceName is a required field 3358 NamespaceName *string `locationName:"namespaceName" min:"1" type:"string" required:"true"` 3359 3360 // ServiceName is a required field 3361 ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` 3362} 3363 3364// String returns the string representation 3365func (s AwsCloudMapServiceDiscovery) String() string { 3366 return awsutil.Prettify(s) 3367} 3368 3369// GoString returns the string representation 3370func (s AwsCloudMapServiceDiscovery) GoString() string { 3371 return s.String() 3372} 3373 3374// Validate inspects the fields of the type to determine if they are valid. 3375func (s *AwsCloudMapServiceDiscovery) Validate() error { 3376 invalidParams := request.ErrInvalidParams{Context: "AwsCloudMapServiceDiscovery"} 3377 if s.NamespaceName == nil { 3378 invalidParams.Add(request.NewErrParamRequired("NamespaceName")) 3379 } 3380 if s.NamespaceName != nil && len(*s.NamespaceName) < 1 { 3381 invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 1)) 3382 } 3383 if s.ServiceName == nil { 3384 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 3385 } 3386 if s.ServiceName != nil && len(*s.ServiceName) < 1 { 3387 invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) 3388 } 3389 if s.Attributes != nil { 3390 for i, v := range s.Attributes { 3391 if v == nil { 3392 continue 3393 } 3394 if err := v.Validate(); err != nil { 3395 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 3396 } 3397 } 3398 } 3399 3400 if invalidParams.Len() > 0 { 3401 return invalidParams 3402 } 3403 return nil 3404} 3405 3406// SetAttributes sets the Attributes field's value. 3407func (s *AwsCloudMapServiceDiscovery) SetAttributes(v []*AwsCloudMapInstanceAttribute) *AwsCloudMapServiceDiscovery { 3408 s.Attributes = v 3409 return s 3410} 3411 3412// SetNamespaceName sets the NamespaceName field's value. 3413func (s *AwsCloudMapServiceDiscovery) SetNamespaceName(v string) *AwsCloudMapServiceDiscovery { 3414 s.NamespaceName = &v 3415 return s 3416} 3417 3418// SetServiceName sets the ServiceName field's value. 3419func (s *AwsCloudMapServiceDiscovery) SetServiceName(v string) *AwsCloudMapServiceDiscovery { 3420 s.ServiceName = &v 3421 return s 3422} 3423 3424// An object that represents the backends that a virtual node is expected to 3425// send outbound traffic to. 3426type Backend struct { 3427 _ struct{} `type:"structure"` 3428 3429 // An object that represents a virtual service backend for a virtual node. 3430 VirtualService *VirtualServiceBackend `locationName:"virtualService" type:"structure"` 3431} 3432 3433// String returns the string representation 3434func (s Backend) String() string { 3435 return awsutil.Prettify(s) 3436} 3437 3438// GoString returns the string representation 3439func (s Backend) GoString() string { 3440 return s.String() 3441} 3442 3443// Validate inspects the fields of the type to determine if they are valid. 3444func (s *Backend) Validate() error { 3445 invalidParams := request.ErrInvalidParams{Context: "Backend"} 3446 if s.VirtualService != nil { 3447 if err := s.VirtualService.Validate(); err != nil { 3448 invalidParams.AddNested("VirtualService", err.(request.ErrInvalidParams)) 3449 } 3450 } 3451 3452 if invalidParams.Len() > 0 { 3453 return invalidParams 3454 } 3455 return nil 3456} 3457 3458// SetVirtualService sets the VirtualService field's value. 3459func (s *Backend) SetVirtualService(v *VirtualServiceBackend) *Backend { 3460 s.VirtualService = v 3461 return s 3462} 3463 3464type CreateMeshInput struct { 3465 _ struct{} `type:"structure"` 3466 3467 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 3468 3469 // MeshName is a required field 3470 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 3471 3472 // An object that represents the specification of a service mesh. 3473 Spec *MeshSpec `locationName:"spec" type:"structure"` 3474 3475 Tags []*TagRef `locationName:"tags" type:"list"` 3476} 3477 3478// String returns the string representation 3479func (s CreateMeshInput) String() string { 3480 return awsutil.Prettify(s) 3481} 3482 3483// GoString returns the string representation 3484func (s CreateMeshInput) GoString() string { 3485 return s.String() 3486} 3487 3488// Validate inspects the fields of the type to determine if they are valid. 3489func (s *CreateMeshInput) Validate() error { 3490 invalidParams := request.ErrInvalidParams{Context: "CreateMeshInput"} 3491 if s.MeshName == nil { 3492 invalidParams.Add(request.NewErrParamRequired("MeshName")) 3493 } 3494 if s.MeshName != nil && len(*s.MeshName) < 1 { 3495 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 3496 } 3497 if s.Spec != nil { 3498 if err := s.Spec.Validate(); err != nil { 3499 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 3500 } 3501 } 3502 if s.Tags != nil { 3503 for i, v := range s.Tags { 3504 if v == nil { 3505 continue 3506 } 3507 if err := v.Validate(); err != nil { 3508 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 3509 } 3510 } 3511 } 3512 3513 if invalidParams.Len() > 0 { 3514 return invalidParams 3515 } 3516 return nil 3517} 3518 3519// SetClientToken sets the ClientToken field's value. 3520func (s *CreateMeshInput) SetClientToken(v string) *CreateMeshInput { 3521 s.ClientToken = &v 3522 return s 3523} 3524 3525// SetMeshName sets the MeshName field's value. 3526func (s *CreateMeshInput) SetMeshName(v string) *CreateMeshInput { 3527 s.MeshName = &v 3528 return s 3529} 3530 3531// SetSpec sets the Spec field's value. 3532func (s *CreateMeshInput) SetSpec(v *MeshSpec) *CreateMeshInput { 3533 s.Spec = v 3534 return s 3535} 3536 3537// SetTags sets the Tags field's value. 3538func (s *CreateMeshInput) SetTags(v []*TagRef) *CreateMeshInput { 3539 s.Tags = v 3540 return s 3541} 3542 3543type CreateMeshOutput struct { 3544 _ struct{} `type:"structure" payload:"Mesh"` 3545 3546 // An object that represents a service mesh returned by a describe operation. 3547 // 3548 // Mesh is a required field 3549 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 3550} 3551 3552// String returns the string representation 3553func (s CreateMeshOutput) String() string { 3554 return awsutil.Prettify(s) 3555} 3556 3557// GoString returns the string representation 3558func (s CreateMeshOutput) GoString() string { 3559 return s.String() 3560} 3561 3562// SetMesh sets the Mesh field's value. 3563func (s *CreateMeshOutput) SetMesh(v *MeshData) *CreateMeshOutput { 3564 s.Mesh = v 3565 return s 3566} 3567 3568type CreateRouteInput struct { 3569 _ struct{} `type:"structure"` 3570 3571 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 3572 3573 // MeshName is a required field 3574 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 3575 3576 // RouteName is a required field 3577 RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` 3578 3579 // An object that represents a route specification. Specify one route type. 3580 // 3581 // Spec is a required field 3582 Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` 3583 3584 Tags []*TagRef `locationName:"tags" type:"list"` 3585 3586 // VirtualRouterName is a required field 3587 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 3588} 3589 3590// String returns the string representation 3591func (s CreateRouteInput) String() string { 3592 return awsutil.Prettify(s) 3593} 3594 3595// GoString returns the string representation 3596func (s CreateRouteInput) GoString() string { 3597 return s.String() 3598} 3599 3600// Validate inspects the fields of the type to determine if they are valid. 3601func (s *CreateRouteInput) Validate() error { 3602 invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"} 3603 if s.MeshName == nil { 3604 invalidParams.Add(request.NewErrParamRequired("MeshName")) 3605 } 3606 if s.MeshName != nil && len(*s.MeshName) < 1 { 3607 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 3608 } 3609 if s.RouteName == nil { 3610 invalidParams.Add(request.NewErrParamRequired("RouteName")) 3611 } 3612 if s.RouteName != nil && len(*s.RouteName) < 1 { 3613 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 3614 } 3615 if s.Spec == nil { 3616 invalidParams.Add(request.NewErrParamRequired("Spec")) 3617 } 3618 if s.VirtualRouterName == nil { 3619 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 3620 } 3621 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 3622 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 3623 } 3624 if s.Spec != nil { 3625 if err := s.Spec.Validate(); err != nil { 3626 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 3627 } 3628 } 3629 if s.Tags != nil { 3630 for i, v := range s.Tags { 3631 if v == nil { 3632 continue 3633 } 3634 if err := v.Validate(); err != nil { 3635 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 3636 } 3637 } 3638 } 3639 3640 if invalidParams.Len() > 0 { 3641 return invalidParams 3642 } 3643 return nil 3644} 3645 3646// SetClientToken sets the ClientToken field's value. 3647func (s *CreateRouteInput) SetClientToken(v string) *CreateRouteInput { 3648 s.ClientToken = &v 3649 return s 3650} 3651 3652// SetMeshName sets the MeshName field's value. 3653func (s *CreateRouteInput) SetMeshName(v string) *CreateRouteInput { 3654 s.MeshName = &v 3655 return s 3656} 3657 3658// SetRouteName sets the RouteName field's value. 3659func (s *CreateRouteInput) SetRouteName(v string) *CreateRouteInput { 3660 s.RouteName = &v 3661 return s 3662} 3663 3664// SetSpec sets the Spec field's value. 3665func (s *CreateRouteInput) SetSpec(v *RouteSpec) *CreateRouteInput { 3666 s.Spec = v 3667 return s 3668} 3669 3670// SetTags sets the Tags field's value. 3671func (s *CreateRouteInput) SetTags(v []*TagRef) *CreateRouteInput { 3672 s.Tags = v 3673 return s 3674} 3675 3676// SetVirtualRouterName sets the VirtualRouterName field's value. 3677func (s *CreateRouteInput) SetVirtualRouterName(v string) *CreateRouteInput { 3678 s.VirtualRouterName = &v 3679 return s 3680} 3681 3682type CreateRouteOutput struct { 3683 _ struct{} `type:"structure" payload:"Route"` 3684 3685 // An object that represents a route returned by a describe operation. 3686 // 3687 // Route is a required field 3688 Route *RouteData `locationName:"route" type:"structure" required:"true"` 3689} 3690 3691// String returns the string representation 3692func (s CreateRouteOutput) String() string { 3693 return awsutil.Prettify(s) 3694} 3695 3696// GoString returns the string representation 3697func (s CreateRouteOutput) GoString() string { 3698 return s.String() 3699} 3700 3701// SetRoute sets the Route field's value. 3702func (s *CreateRouteOutput) SetRoute(v *RouteData) *CreateRouteOutput { 3703 s.Route = v 3704 return s 3705} 3706 3707type CreateVirtualNodeInput struct { 3708 _ struct{} `type:"structure"` 3709 3710 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 3711 3712 // MeshName is a required field 3713 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 3714 3715 // An object that represents the specification of a virtual node. 3716 // 3717 // Spec is a required field 3718 Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` 3719 3720 Tags []*TagRef `locationName:"tags" type:"list"` 3721 3722 // VirtualNodeName is a required field 3723 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 3724} 3725 3726// String returns the string representation 3727func (s CreateVirtualNodeInput) String() string { 3728 return awsutil.Prettify(s) 3729} 3730 3731// GoString returns the string representation 3732func (s CreateVirtualNodeInput) GoString() string { 3733 return s.String() 3734} 3735 3736// Validate inspects the fields of the type to determine if they are valid. 3737func (s *CreateVirtualNodeInput) Validate() error { 3738 invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"} 3739 if s.MeshName == nil { 3740 invalidParams.Add(request.NewErrParamRequired("MeshName")) 3741 } 3742 if s.MeshName != nil && len(*s.MeshName) < 1 { 3743 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 3744 } 3745 if s.Spec == nil { 3746 invalidParams.Add(request.NewErrParamRequired("Spec")) 3747 } 3748 if s.VirtualNodeName == nil { 3749 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 3750 } 3751 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 3752 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 3753 } 3754 if s.Spec != nil { 3755 if err := s.Spec.Validate(); err != nil { 3756 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 3757 } 3758 } 3759 if s.Tags != nil { 3760 for i, v := range s.Tags { 3761 if v == nil { 3762 continue 3763 } 3764 if err := v.Validate(); err != nil { 3765 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 3766 } 3767 } 3768 } 3769 3770 if invalidParams.Len() > 0 { 3771 return invalidParams 3772 } 3773 return nil 3774} 3775 3776// SetClientToken sets the ClientToken field's value. 3777func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput { 3778 s.ClientToken = &v 3779 return s 3780} 3781 3782// SetMeshName sets the MeshName field's value. 3783func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput { 3784 s.MeshName = &v 3785 return s 3786} 3787 3788// SetSpec sets the Spec field's value. 3789func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput { 3790 s.Spec = v 3791 return s 3792} 3793 3794// SetTags sets the Tags field's value. 3795func (s *CreateVirtualNodeInput) SetTags(v []*TagRef) *CreateVirtualNodeInput { 3796 s.Tags = v 3797 return s 3798} 3799 3800// SetVirtualNodeName sets the VirtualNodeName field's value. 3801func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput { 3802 s.VirtualNodeName = &v 3803 return s 3804} 3805 3806type CreateVirtualNodeOutput struct { 3807 _ struct{} `type:"structure" payload:"VirtualNode"` 3808 3809 // An object that represents a virtual node returned by a describe operation. 3810 // 3811 // VirtualNode is a required field 3812 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 3813} 3814 3815// String returns the string representation 3816func (s CreateVirtualNodeOutput) String() string { 3817 return awsutil.Prettify(s) 3818} 3819 3820// GoString returns the string representation 3821func (s CreateVirtualNodeOutput) GoString() string { 3822 return s.String() 3823} 3824 3825// SetVirtualNode sets the VirtualNode field's value. 3826func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput { 3827 s.VirtualNode = v 3828 return s 3829} 3830 3831type CreateVirtualRouterInput struct { 3832 _ struct{} `type:"structure"` 3833 3834 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 3835 3836 // MeshName is a required field 3837 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 3838 3839 // An object that represents the specification of a virtual router. 3840 // 3841 // Spec is a required field 3842 Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` 3843 3844 Tags []*TagRef `locationName:"tags" type:"list"` 3845 3846 // VirtualRouterName is a required field 3847 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 3848} 3849 3850// String returns the string representation 3851func (s CreateVirtualRouterInput) String() string { 3852 return awsutil.Prettify(s) 3853} 3854 3855// GoString returns the string representation 3856func (s CreateVirtualRouterInput) GoString() string { 3857 return s.String() 3858} 3859 3860// Validate inspects the fields of the type to determine if they are valid. 3861func (s *CreateVirtualRouterInput) Validate() error { 3862 invalidParams := request.ErrInvalidParams{Context: "CreateVirtualRouterInput"} 3863 if s.MeshName == nil { 3864 invalidParams.Add(request.NewErrParamRequired("MeshName")) 3865 } 3866 if s.MeshName != nil && len(*s.MeshName) < 1 { 3867 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 3868 } 3869 if s.Spec == nil { 3870 invalidParams.Add(request.NewErrParamRequired("Spec")) 3871 } 3872 if s.VirtualRouterName == nil { 3873 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 3874 } 3875 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 3876 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 3877 } 3878 if s.Spec != nil { 3879 if err := s.Spec.Validate(); err != nil { 3880 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 3881 } 3882 } 3883 if s.Tags != nil { 3884 for i, v := range s.Tags { 3885 if v == nil { 3886 continue 3887 } 3888 if err := v.Validate(); err != nil { 3889 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 3890 } 3891 } 3892 } 3893 3894 if invalidParams.Len() > 0 { 3895 return invalidParams 3896 } 3897 return nil 3898} 3899 3900// SetClientToken sets the ClientToken field's value. 3901func (s *CreateVirtualRouterInput) SetClientToken(v string) *CreateVirtualRouterInput { 3902 s.ClientToken = &v 3903 return s 3904} 3905 3906// SetMeshName sets the MeshName field's value. 3907func (s *CreateVirtualRouterInput) SetMeshName(v string) *CreateVirtualRouterInput { 3908 s.MeshName = &v 3909 return s 3910} 3911 3912// SetSpec sets the Spec field's value. 3913func (s *CreateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *CreateVirtualRouterInput { 3914 s.Spec = v 3915 return s 3916} 3917 3918// SetTags sets the Tags field's value. 3919func (s *CreateVirtualRouterInput) SetTags(v []*TagRef) *CreateVirtualRouterInput { 3920 s.Tags = v 3921 return s 3922} 3923 3924// SetVirtualRouterName sets the VirtualRouterName field's value. 3925func (s *CreateVirtualRouterInput) SetVirtualRouterName(v string) *CreateVirtualRouterInput { 3926 s.VirtualRouterName = &v 3927 return s 3928} 3929 3930type CreateVirtualRouterOutput struct { 3931 _ struct{} `type:"structure" payload:"VirtualRouter"` 3932 3933 // An object that represents a virtual router returned by a describe operation. 3934 // 3935 // VirtualRouter is a required field 3936 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 3937} 3938 3939// String returns the string representation 3940func (s CreateVirtualRouterOutput) String() string { 3941 return awsutil.Prettify(s) 3942} 3943 3944// GoString returns the string representation 3945func (s CreateVirtualRouterOutput) GoString() string { 3946 return s.String() 3947} 3948 3949// SetVirtualRouter sets the VirtualRouter field's value. 3950func (s *CreateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *CreateVirtualRouterOutput { 3951 s.VirtualRouter = v 3952 return s 3953} 3954 3955type CreateVirtualServiceInput struct { 3956 _ struct{} `type:"structure"` 3957 3958 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 3959 3960 // MeshName is a required field 3961 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 3962 3963 // An object that represents the specification of a virtual service. 3964 // 3965 // Spec is a required field 3966 Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` 3967 3968 Tags []*TagRef `locationName:"tags" type:"list"` 3969 3970 // VirtualServiceName is a required field 3971 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 3972} 3973 3974// String returns the string representation 3975func (s CreateVirtualServiceInput) String() string { 3976 return awsutil.Prettify(s) 3977} 3978 3979// GoString returns the string representation 3980func (s CreateVirtualServiceInput) GoString() string { 3981 return s.String() 3982} 3983 3984// Validate inspects the fields of the type to determine if they are valid. 3985func (s *CreateVirtualServiceInput) Validate() error { 3986 invalidParams := request.ErrInvalidParams{Context: "CreateVirtualServiceInput"} 3987 if s.MeshName == nil { 3988 invalidParams.Add(request.NewErrParamRequired("MeshName")) 3989 } 3990 if s.MeshName != nil && len(*s.MeshName) < 1 { 3991 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 3992 } 3993 if s.Spec == nil { 3994 invalidParams.Add(request.NewErrParamRequired("Spec")) 3995 } 3996 if s.VirtualServiceName == nil { 3997 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 3998 } 3999 if s.Spec != nil { 4000 if err := s.Spec.Validate(); err != nil { 4001 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 4002 } 4003 } 4004 if s.Tags != nil { 4005 for i, v := range s.Tags { 4006 if v == nil { 4007 continue 4008 } 4009 if err := v.Validate(); err != nil { 4010 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4011 } 4012 } 4013 } 4014 4015 if invalidParams.Len() > 0 { 4016 return invalidParams 4017 } 4018 return nil 4019} 4020 4021// SetClientToken sets the ClientToken field's value. 4022func (s *CreateVirtualServiceInput) SetClientToken(v string) *CreateVirtualServiceInput { 4023 s.ClientToken = &v 4024 return s 4025} 4026 4027// SetMeshName sets the MeshName field's value. 4028func (s *CreateVirtualServiceInput) SetMeshName(v string) *CreateVirtualServiceInput { 4029 s.MeshName = &v 4030 return s 4031} 4032 4033// SetSpec sets the Spec field's value. 4034func (s *CreateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *CreateVirtualServiceInput { 4035 s.Spec = v 4036 return s 4037} 4038 4039// SetTags sets the Tags field's value. 4040func (s *CreateVirtualServiceInput) SetTags(v []*TagRef) *CreateVirtualServiceInput { 4041 s.Tags = v 4042 return s 4043} 4044 4045// SetVirtualServiceName sets the VirtualServiceName field's value. 4046func (s *CreateVirtualServiceInput) SetVirtualServiceName(v string) *CreateVirtualServiceInput { 4047 s.VirtualServiceName = &v 4048 return s 4049} 4050 4051type CreateVirtualServiceOutput struct { 4052 _ struct{} `type:"structure" payload:"VirtualService"` 4053 4054 // An object that represents a virtual service returned by a describe operation. 4055 // 4056 // VirtualService is a required field 4057 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 4058} 4059 4060// String returns the string representation 4061func (s CreateVirtualServiceOutput) String() string { 4062 return awsutil.Prettify(s) 4063} 4064 4065// GoString returns the string representation 4066func (s CreateVirtualServiceOutput) GoString() string { 4067 return s.String() 4068} 4069 4070// SetVirtualService sets the VirtualService field's value. 4071func (s *CreateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *CreateVirtualServiceOutput { 4072 s.VirtualService = v 4073 return s 4074} 4075 4076type DeleteMeshInput struct { 4077 _ struct{} `type:"structure"` 4078 4079 // MeshName is a required field 4080 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4081} 4082 4083// String returns the string representation 4084func (s DeleteMeshInput) String() string { 4085 return awsutil.Prettify(s) 4086} 4087 4088// GoString returns the string representation 4089func (s DeleteMeshInput) GoString() string { 4090 return s.String() 4091} 4092 4093// Validate inspects the fields of the type to determine if they are valid. 4094func (s *DeleteMeshInput) Validate() error { 4095 invalidParams := request.ErrInvalidParams{Context: "DeleteMeshInput"} 4096 if s.MeshName == nil { 4097 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4098 } 4099 if s.MeshName != nil && len(*s.MeshName) < 1 { 4100 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4101 } 4102 4103 if invalidParams.Len() > 0 { 4104 return invalidParams 4105 } 4106 return nil 4107} 4108 4109// SetMeshName sets the MeshName field's value. 4110func (s *DeleteMeshInput) SetMeshName(v string) *DeleteMeshInput { 4111 s.MeshName = &v 4112 return s 4113} 4114 4115type DeleteMeshOutput struct { 4116 _ struct{} `type:"structure" payload:"Mesh"` 4117 4118 // An object that represents a service mesh returned by a describe operation. 4119 // 4120 // Mesh is a required field 4121 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 4122} 4123 4124// String returns the string representation 4125func (s DeleteMeshOutput) String() string { 4126 return awsutil.Prettify(s) 4127} 4128 4129// GoString returns the string representation 4130func (s DeleteMeshOutput) GoString() string { 4131 return s.String() 4132} 4133 4134// SetMesh sets the Mesh field's value. 4135func (s *DeleteMeshOutput) SetMesh(v *MeshData) *DeleteMeshOutput { 4136 s.Mesh = v 4137 return s 4138} 4139 4140type DeleteRouteInput struct { 4141 _ struct{} `type:"structure"` 4142 4143 // MeshName is a required field 4144 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4145 4146 // RouteName is a required field 4147 RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` 4148 4149 // VirtualRouterName is a required field 4150 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 4151} 4152 4153// String returns the string representation 4154func (s DeleteRouteInput) String() string { 4155 return awsutil.Prettify(s) 4156} 4157 4158// GoString returns the string representation 4159func (s DeleteRouteInput) GoString() string { 4160 return s.String() 4161} 4162 4163// Validate inspects the fields of the type to determine if they are valid. 4164func (s *DeleteRouteInput) Validate() error { 4165 invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"} 4166 if s.MeshName == nil { 4167 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4168 } 4169 if s.MeshName != nil && len(*s.MeshName) < 1 { 4170 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4171 } 4172 if s.RouteName == nil { 4173 invalidParams.Add(request.NewErrParamRequired("RouteName")) 4174 } 4175 if s.RouteName != nil && len(*s.RouteName) < 1 { 4176 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 4177 } 4178 if s.VirtualRouterName == nil { 4179 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 4180 } 4181 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 4182 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 4183 } 4184 4185 if invalidParams.Len() > 0 { 4186 return invalidParams 4187 } 4188 return nil 4189} 4190 4191// SetMeshName sets the MeshName field's value. 4192func (s *DeleteRouteInput) SetMeshName(v string) *DeleteRouteInput { 4193 s.MeshName = &v 4194 return s 4195} 4196 4197// SetRouteName sets the RouteName field's value. 4198func (s *DeleteRouteInput) SetRouteName(v string) *DeleteRouteInput { 4199 s.RouteName = &v 4200 return s 4201} 4202 4203// SetVirtualRouterName sets the VirtualRouterName field's value. 4204func (s *DeleteRouteInput) SetVirtualRouterName(v string) *DeleteRouteInput { 4205 s.VirtualRouterName = &v 4206 return s 4207} 4208 4209type DeleteRouteOutput struct { 4210 _ struct{} `type:"structure" payload:"Route"` 4211 4212 // An object that represents a route returned by a describe operation. 4213 // 4214 // Route is a required field 4215 Route *RouteData `locationName:"route" type:"structure" required:"true"` 4216} 4217 4218// String returns the string representation 4219func (s DeleteRouteOutput) String() string { 4220 return awsutil.Prettify(s) 4221} 4222 4223// GoString returns the string representation 4224func (s DeleteRouteOutput) GoString() string { 4225 return s.String() 4226} 4227 4228// SetRoute sets the Route field's value. 4229func (s *DeleteRouteOutput) SetRoute(v *RouteData) *DeleteRouteOutput { 4230 s.Route = v 4231 return s 4232} 4233 4234type DeleteVirtualNodeInput struct { 4235 _ struct{} `type:"structure"` 4236 4237 // MeshName is a required field 4238 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4239 4240 // VirtualNodeName is a required field 4241 VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 4242} 4243 4244// String returns the string representation 4245func (s DeleteVirtualNodeInput) String() string { 4246 return awsutil.Prettify(s) 4247} 4248 4249// GoString returns the string representation 4250func (s DeleteVirtualNodeInput) GoString() string { 4251 return s.String() 4252} 4253 4254// Validate inspects the fields of the type to determine if they are valid. 4255func (s *DeleteVirtualNodeInput) Validate() error { 4256 invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"} 4257 if s.MeshName == nil { 4258 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4259 } 4260 if s.MeshName != nil && len(*s.MeshName) < 1 { 4261 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4262 } 4263 if s.VirtualNodeName == nil { 4264 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 4265 } 4266 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 4267 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 4268 } 4269 4270 if invalidParams.Len() > 0 { 4271 return invalidParams 4272 } 4273 return nil 4274} 4275 4276// SetMeshName sets the MeshName field's value. 4277func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput { 4278 s.MeshName = &v 4279 return s 4280} 4281 4282// SetVirtualNodeName sets the VirtualNodeName field's value. 4283func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput { 4284 s.VirtualNodeName = &v 4285 return s 4286} 4287 4288type DeleteVirtualNodeOutput struct { 4289 _ struct{} `type:"structure" payload:"VirtualNode"` 4290 4291 // An object that represents a virtual node returned by a describe operation. 4292 // 4293 // VirtualNode is a required field 4294 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 4295} 4296 4297// String returns the string representation 4298func (s DeleteVirtualNodeOutput) String() string { 4299 return awsutil.Prettify(s) 4300} 4301 4302// GoString returns the string representation 4303func (s DeleteVirtualNodeOutput) GoString() string { 4304 return s.String() 4305} 4306 4307// SetVirtualNode sets the VirtualNode field's value. 4308func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput { 4309 s.VirtualNode = v 4310 return s 4311} 4312 4313type DeleteVirtualRouterInput struct { 4314 _ struct{} `type:"structure"` 4315 4316 // MeshName is a required field 4317 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4318 4319 // VirtualRouterName is a required field 4320 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 4321} 4322 4323// String returns the string representation 4324func (s DeleteVirtualRouterInput) String() string { 4325 return awsutil.Prettify(s) 4326} 4327 4328// GoString returns the string representation 4329func (s DeleteVirtualRouterInput) GoString() string { 4330 return s.String() 4331} 4332 4333// Validate inspects the fields of the type to determine if they are valid. 4334func (s *DeleteVirtualRouterInput) Validate() error { 4335 invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"} 4336 if s.MeshName == nil { 4337 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4338 } 4339 if s.MeshName != nil && len(*s.MeshName) < 1 { 4340 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4341 } 4342 if s.VirtualRouterName == nil { 4343 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 4344 } 4345 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 4346 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 4347 } 4348 4349 if invalidParams.Len() > 0 { 4350 return invalidParams 4351 } 4352 return nil 4353} 4354 4355// SetMeshName sets the MeshName field's value. 4356func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput { 4357 s.MeshName = &v 4358 return s 4359} 4360 4361// SetVirtualRouterName sets the VirtualRouterName field's value. 4362func (s *DeleteVirtualRouterInput) SetVirtualRouterName(v string) *DeleteVirtualRouterInput { 4363 s.VirtualRouterName = &v 4364 return s 4365} 4366 4367type DeleteVirtualRouterOutput struct { 4368 _ struct{} `type:"structure" payload:"VirtualRouter"` 4369 4370 // An object that represents a virtual router returned by a describe operation. 4371 // 4372 // VirtualRouter is a required field 4373 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 4374} 4375 4376// String returns the string representation 4377func (s DeleteVirtualRouterOutput) String() string { 4378 return awsutil.Prettify(s) 4379} 4380 4381// GoString returns the string representation 4382func (s DeleteVirtualRouterOutput) GoString() string { 4383 return s.String() 4384} 4385 4386// SetVirtualRouter sets the VirtualRouter field's value. 4387func (s *DeleteVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DeleteVirtualRouterOutput { 4388 s.VirtualRouter = v 4389 return s 4390} 4391 4392type DeleteVirtualServiceInput struct { 4393 _ struct{} `type:"structure"` 4394 4395 // MeshName is a required field 4396 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4397 4398 // VirtualServiceName is a required field 4399 VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` 4400} 4401 4402// String returns the string representation 4403func (s DeleteVirtualServiceInput) String() string { 4404 return awsutil.Prettify(s) 4405} 4406 4407// GoString returns the string representation 4408func (s DeleteVirtualServiceInput) GoString() string { 4409 return s.String() 4410} 4411 4412// Validate inspects the fields of the type to determine if they are valid. 4413func (s *DeleteVirtualServiceInput) Validate() error { 4414 invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualServiceInput"} 4415 if s.MeshName == nil { 4416 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4417 } 4418 if s.MeshName != nil && len(*s.MeshName) < 1 { 4419 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4420 } 4421 if s.VirtualServiceName == nil { 4422 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 4423 } 4424 if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { 4425 invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) 4426 } 4427 4428 if invalidParams.Len() > 0 { 4429 return invalidParams 4430 } 4431 return nil 4432} 4433 4434// SetMeshName sets the MeshName field's value. 4435func (s *DeleteVirtualServiceInput) SetMeshName(v string) *DeleteVirtualServiceInput { 4436 s.MeshName = &v 4437 return s 4438} 4439 4440// SetVirtualServiceName sets the VirtualServiceName field's value. 4441func (s *DeleteVirtualServiceInput) SetVirtualServiceName(v string) *DeleteVirtualServiceInput { 4442 s.VirtualServiceName = &v 4443 return s 4444} 4445 4446type DeleteVirtualServiceOutput struct { 4447 _ struct{} `type:"structure" payload:"VirtualService"` 4448 4449 // An object that represents a virtual service returned by a describe operation. 4450 // 4451 // VirtualService is a required field 4452 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 4453} 4454 4455// String returns the string representation 4456func (s DeleteVirtualServiceOutput) String() string { 4457 return awsutil.Prettify(s) 4458} 4459 4460// GoString returns the string representation 4461func (s DeleteVirtualServiceOutput) GoString() string { 4462 return s.String() 4463} 4464 4465// SetVirtualService sets the VirtualService field's value. 4466func (s *DeleteVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DeleteVirtualServiceOutput { 4467 s.VirtualService = v 4468 return s 4469} 4470 4471type DescribeMeshInput struct { 4472 _ struct{} `type:"structure"` 4473 4474 // MeshName is a required field 4475 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4476} 4477 4478// String returns the string representation 4479func (s DescribeMeshInput) String() string { 4480 return awsutil.Prettify(s) 4481} 4482 4483// GoString returns the string representation 4484func (s DescribeMeshInput) GoString() string { 4485 return s.String() 4486} 4487 4488// Validate inspects the fields of the type to determine if they are valid. 4489func (s *DescribeMeshInput) Validate() error { 4490 invalidParams := request.ErrInvalidParams{Context: "DescribeMeshInput"} 4491 if s.MeshName == nil { 4492 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4493 } 4494 if s.MeshName != nil && len(*s.MeshName) < 1 { 4495 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4496 } 4497 4498 if invalidParams.Len() > 0 { 4499 return invalidParams 4500 } 4501 return nil 4502} 4503 4504// SetMeshName sets the MeshName field's value. 4505func (s *DescribeMeshInput) SetMeshName(v string) *DescribeMeshInput { 4506 s.MeshName = &v 4507 return s 4508} 4509 4510type DescribeMeshOutput struct { 4511 _ struct{} `type:"structure" payload:"Mesh"` 4512 4513 // An object that represents a service mesh returned by a describe operation. 4514 // 4515 // Mesh is a required field 4516 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 4517} 4518 4519// String returns the string representation 4520func (s DescribeMeshOutput) String() string { 4521 return awsutil.Prettify(s) 4522} 4523 4524// GoString returns the string representation 4525func (s DescribeMeshOutput) GoString() string { 4526 return s.String() 4527} 4528 4529// SetMesh sets the Mesh field's value. 4530func (s *DescribeMeshOutput) SetMesh(v *MeshData) *DescribeMeshOutput { 4531 s.Mesh = v 4532 return s 4533} 4534 4535type DescribeRouteInput struct { 4536 _ struct{} `type:"structure"` 4537 4538 // MeshName is a required field 4539 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4540 4541 // RouteName is a required field 4542 RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` 4543 4544 // VirtualRouterName is a required field 4545 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 4546} 4547 4548// String returns the string representation 4549func (s DescribeRouteInput) String() string { 4550 return awsutil.Prettify(s) 4551} 4552 4553// GoString returns the string representation 4554func (s DescribeRouteInput) GoString() string { 4555 return s.String() 4556} 4557 4558// Validate inspects the fields of the type to determine if they are valid. 4559func (s *DescribeRouteInput) Validate() error { 4560 invalidParams := request.ErrInvalidParams{Context: "DescribeRouteInput"} 4561 if s.MeshName == nil { 4562 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4563 } 4564 if s.MeshName != nil && len(*s.MeshName) < 1 { 4565 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4566 } 4567 if s.RouteName == nil { 4568 invalidParams.Add(request.NewErrParamRequired("RouteName")) 4569 } 4570 if s.RouteName != nil && len(*s.RouteName) < 1 { 4571 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 4572 } 4573 if s.VirtualRouterName == nil { 4574 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 4575 } 4576 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 4577 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 4578 } 4579 4580 if invalidParams.Len() > 0 { 4581 return invalidParams 4582 } 4583 return nil 4584} 4585 4586// SetMeshName sets the MeshName field's value. 4587func (s *DescribeRouteInput) SetMeshName(v string) *DescribeRouteInput { 4588 s.MeshName = &v 4589 return s 4590} 4591 4592// SetRouteName sets the RouteName field's value. 4593func (s *DescribeRouteInput) SetRouteName(v string) *DescribeRouteInput { 4594 s.RouteName = &v 4595 return s 4596} 4597 4598// SetVirtualRouterName sets the VirtualRouterName field's value. 4599func (s *DescribeRouteInput) SetVirtualRouterName(v string) *DescribeRouteInput { 4600 s.VirtualRouterName = &v 4601 return s 4602} 4603 4604type DescribeRouteOutput struct { 4605 _ struct{} `type:"structure" payload:"Route"` 4606 4607 // An object that represents a route returned by a describe operation. 4608 // 4609 // Route is a required field 4610 Route *RouteData `locationName:"route" type:"structure" required:"true"` 4611} 4612 4613// String returns the string representation 4614func (s DescribeRouteOutput) String() string { 4615 return awsutil.Prettify(s) 4616} 4617 4618// GoString returns the string representation 4619func (s DescribeRouteOutput) GoString() string { 4620 return s.String() 4621} 4622 4623// SetRoute sets the Route field's value. 4624func (s *DescribeRouteOutput) SetRoute(v *RouteData) *DescribeRouteOutput { 4625 s.Route = v 4626 return s 4627} 4628 4629type DescribeVirtualNodeInput struct { 4630 _ struct{} `type:"structure"` 4631 4632 // MeshName is a required field 4633 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4634 4635 // VirtualNodeName is a required field 4636 VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 4637} 4638 4639// String returns the string representation 4640func (s DescribeVirtualNodeInput) String() string { 4641 return awsutil.Prettify(s) 4642} 4643 4644// GoString returns the string representation 4645func (s DescribeVirtualNodeInput) GoString() string { 4646 return s.String() 4647} 4648 4649// Validate inspects the fields of the type to determine if they are valid. 4650func (s *DescribeVirtualNodeInput) Validate() error { 4651 invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualNodeInput"} 4652 if s.MeshName == nil { 4653 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4654 } 4655 if s.MeshName != nil && len(*s.MeshName) < 1 { 4656 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4657 } 4658 if s.VirtualNodeName == nil { 4659 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 4660 } 4661 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 4662 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 4663 } 4664 4665 if invalidParams.Len() > 0 { 4666 return invalidParams 4667 } 4668 return nil 4669} 4670 4671// SetMeshName sets the MeshName field's value. 4672func (s *DescribeVirtualNodeInput) SetMeshName(v string) *DescribeVirtualNodeInput { 4673 s.MeshName = &v 4674 return s 4675} 4676 4677// SetVirtualNodeName sets the VirtualNodeName field's value. 4678func (s *DescribeVirtualNodeInput) SetVirtualNodeName(v string) *DescribeVirtualNodeInput { 4679 s.VirtualNodeName = &v 4680 return s 4681} 4682 4683type DescribeVirtualNodeOutput struct { 4684 _ struct{} `type:"structure" payload:"VirtualNode"` 4685 4686 // An object that represents a virtual node returned by a describe operation. 4687 // 4688 // VirtualNode is a required field 4689 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 4690} 4691 4692// String returns the string representation 4693func (s DescribeVirtualNodeOutput) String() string { 4694 return awsutil.Prettify(s) 4695} 4696 4697// GoString returns the string representation 4698func (s DescribeVirtualNodeOutput) GoString() string { 4699 return s.String() 4700} 4701 4702// SetVirtualNode sets the VirtualNode field's value. 4703func (s *DescribeVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DescribeVirtualNodeOutput { 4704 s.VirtualNode = v 4705 return s 4706} 4707 4708type DescribeVirtualRouterInput struct { 4709 _ struct{} `type:"structure"` 4710 4711 // MeshName is a required field 4712 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4713 4714 // VirtualRouterName is a required field 4715 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 4716} 4717 4718// String returns the string representation 4719func (s DescribeVirtualRouterInput) String() string { 4720 return awsutil.Prettify(s) 4721} 4722 4723// GoString returns the string representation 4724func (s DescribeVirtualRouterInput) GoString() string { 4725 return s.String() 4726} 4727 4728// Validate inspects the fields of the type to determine if they are valid. 4729func (s *DescribeVirtualRouterInput) Validate() error { 4730 invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualRouterInput"} 4731 if s.MeshName == nil { 4732 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4733 } 4734 if s.MeshName != nil && len(*s.MeshName) < 1 { 4735 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4736 } 4737 if s.VirtualRouterName == nil { 4738 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 4739 } 4740 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 4741 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 4742 } 4743 4744 if invalidParams.Len() > 0 { 4745 return invalidParams 4746 } 4747 return nil 4748} 4749 4750// SetMeshName sets the MeshName field's value. 4751func (s *DescribeVirtualRouterInput) SetMeshName(v string) *DescribeVirtualRouterInput { 4752 s.MeshName = &v 4753 return s 4754} 4755 4756// SetVirtualRouterName sets the VirtualRouterName field's value. 4757func (s *DescribeVirtualRouterInput) SetVirtualRouterName(v string) *DescribeVirtualRouterInput { 4758 s.VirtualRouterName = &v 4759 return s 4760} 4761 4762type DescribeVirtualRouterOutput struct { 4763 _ struct{} `type:"structure" payload:"VirtualRouter"` 4764 4765 // An object that represents a virtual router returned by a describe operation. 4766 // 4767 // VirtualRouter is a required field 4768 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 4769} 4770 4771// String returns the string representation 4772func (s DescribeVirtualRouterOutput) String() string { 4773 return awsutil.Prettify(s) 4774} 4775 4776// GoString returns the string representation 4777func (s DescribeVirtualRouterOutput) GoString() string { 4778 return s.String() 4779} 4780 4781// SetVirtualRouter sets the VirtualRouter field's value. 4782func (s *DescribeVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DescribeVirtualRouterOutput { 4783 s.VirtualRouter = v 4784 return s 4785} 4786 4787type DescribeVirtualServiceInput struct { 4788 _ struct{} `type:"structure"` 4789 4790 // MeshName is a required field 4791 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4792 4793 // VirtualServiceName is a required field 4794 VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` 4795} 4796 4797// String returns the string representation 4798func (s DescribeVirtualServiceInput) String() string { 4799 return awsutil.Prettify(s) 4800} 4801 4802// GoString returns the string representation 4803func (s DescribeVirtualServiceInput) GoString() string { 4804 return s.String() 4805} 4806 4807// Validate inspects the fields of the type to determine if they are valid. 4808func (s *DescribeVirtualServiceInput) Validate() error { 4809 invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualServiceInput"} 4810 if s.MeshName == nil { 4811 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4812 } 4813 if s.MeshName != nil && len(*s.MeshName) < 1 { 4814 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4815 } 4816 if s.VirtualServiceName == nil { 4817 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 4818 } 4819 if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { 4820 invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) 4821 } 4822 4823 if invalidParams.Len() > 0 { 4824 return invalidParams 4825 } 4826 return nil 4827} 4828 4829// SetMeshName sets the MeshName field's value. 4830func (s *DescribeVirtualServiceInput) SetMeshName(v string) *DescribeVirtualServiceInput { 4831 s.MeshName = &v 4832 return s 4833} 4834 4835// SetVirtualServiceName sets the VirtualServiceName field's value. 4836func (s *DescribeVirtualServiceInput) SetVirtualServiceName(v string) *DescribeVirtualServiceInput { 4837 s.VirtualServiceName = &v 4838 return s 4839} 4840 4841type DescribeVirtualServiceOutput struct { 4842 _ struct{} `type:"structure" payload:"VirtualService"` 4843 4844 // An object that represents a virtual service returned by a describe operation. 4845 // 4846 // VirtualService is a required field 4847 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 4848} 4849 4850// String returns the string representation 4851func (s DescribeVirtualServiceOutput) String() string { 4852 return awsutil.Prettify(s) 4853} 4854 4855// GoString returns the string representation 4856func (s DescribeVirtualServiceOutput) GoString() string { 4857 return s.String() 4858} 4859 4860// SetVirtualService sets the VirtualService field's value. 4861func (s *DescribeVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DescribeVirtualServiceOutput { 4862 s.VirtualService = v 4863 return s 4864} 4865 4866// An object that represents the DNS service discovery information for your 4867// virtual node. 4868type DnsServiceDiscovery struct { 4869 _ struct{} `type:"structure"` 4870 4871 // Hostname is a required field 4872 Hostname *string `locationName:"hostname" type:"string" required:"true"` 4873} 4874 4875// String returns the string representation 4876func (s DnsServiceDiscovery) String() string { 4877 return awsutil.Prettify(s) 4878} 4879 4880// GoString returns the string representation 4881func (s DnsServiceDiscovery) GoString() string { 4882 return s.String() 4883} 4884 4885// Validate inspects the fields of the type to determine if they are valid. 4886func (s *DnsServiceDiscovery) Validate() error { 4887 invalidParams := request.ErrInvalidParams{Context: "DnsServiceDiscovery"} 4888 if s.Hostname == nil { 4889 invalidParams.Add(request.NewErrParamRequired("Hostname")) 4890 } 4891 4892 if invalidParams.Len() > 0 { 4893 return invalidParams 4894 } 4895 return nil 4896} 4897 4898// SetHostname sets the Hostname field's value. 4899func (s *DnsServiceDiscovery) SetHostname(v string) *DnsServiceDiscovery { 4900 s.Hostname = &v 4901 return s 4902} 4903 4904// An object that represents a duration of time. 4905type Duration struct { 4906 _ struct{} `type:"structure"` 4907 4908 Unit *string `locationName:"unit" type:"string" enum:"DurationUnit"` 4909 4910 Value *int64 `locationName:"value" type:"long"` 4911} 4912 4913// String returns the string representation 4914func (s Duration) String() string { 4915 return awsutil.Prettify(s) 4916} 4917 4918// GoString returns the string representation 4919func (s Duration) GoString() string { 4920 return s.String() 4921} 4922 4923// SetUnit sets the Unit field's value. 4924func (s *Duration) SetUnit(v string) *Duration { 4925 s.Unit = &v 4926 return s 4927} 4928 4929// SetValue sets the Value field's value. 4930func (s *Duration) SetValue(v int64) *Duration { 4931 s.Value = &v 4932 return s 4933} 4934 4935// An object that represents the egress filter rules for a service mesh. 4936type EgressFilter struct { 4937 _ struct{} `type:"structure"` 4938 4939 // Type is a required field 4940 Type *string `locationName:"type" type:"string" required:"true" enum:"EgressFilterType"` 4941} 4942 4943// String returns the string representation 4944func (s EgressFilter) String() string { 4945 return awsutil.Prettify(s) 4946} 4947 4948// GoString returns the string representation 4949func (s EgressFilter) GoString() string { 4950 return s.String() 4951} 4952 4953// Validate inspects the fields of the type to determine if they are valid. 4954func (s *EgressFilter) Validate() error { 4955 invalidParams := request.ErrInvalidParams{Context: "EgressFilter"} 4956 if s.Type == nil { 4957 invalidParams.Add(request.NewErrParamRequired("Type")) 4958 } 4959 4960 if invalidParams.Len() > 0 { 4961 return invalidParams 4962 } 4963 return nil 4964} 4965 4966// SetType sets the Type field's value. 4967func (s *EgressFilter) SetType(v string) *EgressFilter { 4968 s.Type = &v 4969 return s 4970} 4971 4972// An object that represents an access log file. 4973type FileAccessLog struct { 4974 _ struct{} `type:"structure"` 4975 4976 // Path is a required field 4977 Path *string `locationName:"path" min:"1" type:"string" required:"true"` 4978} 4979 4980// String returns the string representation 4981func (s FileAccessLog) String() string { 4982 return awsutil.Prettify(s) 4983} 4984 4985// GoString returns the string representation 4986func (s FileAccessLog) GoString() string { 4987 return s.String() 4988} 4989 4990// Validate inspects the fields of the type to determine if they are valid. 4991func (s *FileAccessLog) Validate() error { 4992 invalidParams := request.ErrInvalidParams{Context: "FileAccessLog"} 4993 if s.Path == nil { 4994 invalidParams.Add(request.NewErrParamRequired("Path")) 4995 } 4996 if s.Path != nil && len(*s.Path) < 1 { 4997 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 4998 } 4999 5000 if invalidParams.Len() > 0 { 5001 return invalidParams 5002 } 5003 return nil 5004} 5005 5006// SetPath sets the Path field's value. 5007func (s *FileAccessLog) SetPath(v string) *FileAccessLog { 5008 s.Path = &v 5009 return s 5010} 5011 5012// An object that represents a retry policy. Specify at least one value for 5013// at least one of the types of RetryEvents, a value for maxRetries, and a value 5014// for perRetryTimeout. 5015type GrpcRetryPolicy struct { 5016 _ struct{} `type:"structure"` 5017 5018 GrpcRetryEvents []*string `locationName:"grpcRetryEvents" min:"1" type:"list"` 5019 5020 HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` 5021 5022 // MaxRetries is a required field 5023 MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` 5024 5025 // An object that represents a duration of time. 5026 // 5027 // PerRetryTimeout is a required field 5028 PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` 5029 5030 TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` 5031} 5032 5033// String returns the string representation 5034func (s GrpcRetryPolicy) String() string { 5035 return awsutil.Prettify(s) 5036} 5037 5038// GoString returns the string representation 5039func (s GrpcRetryPolicy) GoString() string { 5040 return s.String() 5041} 5042 5043// Validate inspects the fields of the type to determine if they are valid. 5044func (s *GrpcRetryPolicy) Validate() error { 5045 invalidParams := request.ErrInvalidParams{Context: "GrpcRetryPolicy"} 5046 if s.GrpcRetryEvents != nil && len(s.GrpcRetryEvents) < 1 { 5047 invalidParams.Add(request.NewErrParamMinLen("GrpcRetryEvents", 1)) 5048 } 5049 if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { 5050 invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) 5051 } 5052 if s.MaxRetries == nil { 5053 invalidParams.Add(request.NewErrParamRequired("MaxRetries")) 5054 } 5055 if s.PerRetryTimeout == nil { 5056 invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) 5057 } 5058 if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { 5059 invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) 5060 } 5061 5062 if invalidParams.Len() > 0 { 5063 return invalidParams 5064 } 5065 return nil 5066} 5067 5068// SetGrpcRetryEvents sets the GrpcRetryEvents field's value. 5069func (s *GrpcRetryPolicy) SetGrpcRetryEvents(v []*string) *GrpcRetryPolicy { 5070 s.GrpcRetryEvents = v 5071 return s 5072} 5073 5074// SetHttpRetryEvents sets the HttpRetryEvents field's value. 5075func (s *GrpcRetryPolicy) SetHttpRetryEvents(v []*string) *GrpcRetryPolicy { 5076 s.HttpRetryEvents = v 5077 return s 5078} 5079 5080// SetMaxRetries sets the MaxRetries field's value. 5081func (s *GrpcRetryPolicy) SetMaxRetries(v int64) *GrpcRetryPolicy { 5082 s.MaxRetries = &v 5083 return s 5084} 5085 5086// SetPerRetryTimeout sets the PerRetryTimeout field's value. 5087func (s *GrpcRetryPolicy) SetPerRetryTimeout(v *Duration) *GrpcRetryPolicy { 5088 s.PerRetryTimeout = v 5089 return s 5090} 5091 5092// SetTcpRetryEvents sets the TcpRetryEvents field's value. 5093func (s *GrpcRetryPolicy) SetTcpRetryEvents(v []*string) *GrpcRetryPolicy { 5094 s.TcpRetryEvents = v 5095 return s 5096} 5097 5098// An object that represents a GRPC route type. 5099type GrpcRoute struct { 5100 _ struct{} `type:"structure"` 5101 5102 // An object that represents the action to take if a match is determined. 5103 // 5104 // Action is a required field 5105 Action *GrpcRouteAction `locationName:"action" type:"structure" required:"true"` 5106 5107 // An object that represents the criteria for determining a request match. 5108 // 5109 // Match is a required field 5110 Match *GrpcRouteMatch `locationName:"match" type:"structure" required:"true"` 5111 5112 // An object that represents a retry policy. Specify at least one value for 5113 // at least one of the types of RetryEvents, a value for maxRetries, and a value 5114 // for perRetryTimeout. 5115 RetryPolicy *GrpcRetryPolicy `locationName:"retryPolicy" type:"structure"` 5116} 5117 5118// String returns the string representation 5119func (s GrpcRoute) String() string { 5120 return awsutil.Prettify(s) 5121} 5122 5123// GoString returns the string representation 5124func (s GrpcRoute) GoString() string { 5125 return s.String() 5126} 5127 5128// Validate inspects the fields of the type to determine if they are valid. 5129func (s *GrpcRoute) Validate() error { 5130 invalidParams := request.ErrInvalidParams{Context: "GrpcRoute"} 5131 if s.Action == nil { 5132 invalidParams.Add(request.NewErrParamRequired("Action")) 5133 } 5134 if s.Match == nil { 5135 invalidParams.Add(request.NewErrParamRequired("Match")) 5136 } 5137 if s.Action != nil { 5138 if err := s.Action.Validate(); err != nil { 5139 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 5140 } 5141 } 5142 if s.Match != nil { 5143 if err := s.Match.Validate(); err != nil { 5144 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 5145 } 5146 } 5147 if s.RetryPolicy != nil { 5148 if err := s.RetryPolicy.Validate(); err != nil { 5149 invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) 5150 } 5151 } 5152 5153 if invalidParams.Len() > 0 { 5154 return invalidParams 5155 } 5156 return nil 5157} 5158 5159// SetAction sets the Action field's value. 5160func (s *GrpcRoute) SetAction(v *GrpcRouteAction) *GrpcRoute { 5161 s.Action = v 5162 return s 5163} 5164 5165// SetMatch sets the Match field's value. 5166func (s *GrpcRoute) SetMatch(v *GrpcRouteMatch) *GrpcRoute { 5167 s.Match = v 5168 return s 5169} 5170 5171// SetRetryPolicy sets the RetryPolicy field's value. 5172func (s *GrpcRoute) SetRetryPolicy(v *GrpcRetryPolicy) *GrpcRoute { 5173 s.RetryPolicy = v 5174 return s 5175} 5176 5177// An object that represents the action to take if a match is determined. 5178type GrpcRouteAction struct { 5179 _ struct{} `type:"structure"` 5180 5181 // WeightedTargets is a required field 5182 WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` 5183} 5184 5185// String returns the string representation 5186func (s GrpcRouteAction) String() string { 5187 return awsutil.Prettify(s) 5188} 5189 5190// GoString returns the string representation 5191func (s GrpcRouteAction) GoString() string { 5192 return s.String() 5193} 5194 5195// Validate inspects the fields of the type to determine if they are valid. 5196func (s *GrpcRouteAction) Validate() error { 5197 invalidParams := request.ErrInvalidParams{Context: "GrpcRouteAction"} 5198 if s.WeightedTargets == nil { 5199 invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) 5200 } 5201 if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { 5202 invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) 5203 } 5204 if s.WeightedTargets != nil { 5205 for i, v := range s.WeightedTargets { 5206 if v == nil { 5207 continue 5208 } 5209 if err := v.Validate(); err != nil { 5210 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) 5211 } 5212 } 5213 } 5214 5215 if invalidParams.Len() > 0 { 5216 return invalidParams 5217 } 5218 return nil 5219} 5220 5221// SetWeightedTargets sets the WeightedTargets field's value. 5222func (s *GrpcRouteAction) SetWeightedTargets(v []*WeightedTarget) *GrpcRouteAction { 5223 s.WeightedTargets = v 5224 return s 5225} 5226 5227// An object that represents the criteria for determining a request match. 5228type GrpcRouteMatch struct { 5229 _ struct{} `type:"structure"` 5230 5231 Metadata []*GrpcRouteMetadata `locationName:"metadata" min:"1" type:"list"` 5232 5233 MethodName *string `locationName:"methodName" min:"1" type:"string"` 5234 5235 ServiceName *string `locationName:"serviceName" type:"string"` 5236} 5237 5238// String returns the string representation 5239func (s GrpcRouteMatch) String() string { 5240 return awsutil.Prettify(s) 5241} 5242 5243// GoString returns the string representation 5244func (s GrpcRouteMatch) GoString() string { 5245 return s.String() 5246} 5247 5248// Validate inspects the fields of the type to determine if they are valid. 5249func (s *GrpcRouteMatch) Validate() error { 5250 invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMatch"} 5251 if s.Metadata != nil && len(s.Metadata) < 1 { 5252 invalidParams.Add(request.NewErrParamMinLen("Metadata", 1)) 5253 } 5254 if s.MethodName != nil && len(*s.MethodName) < 1 { 5255 invalidParams.Add(request.NewErrParamMinLen("MethodName", 1)) 5256 } 5257 if s.Metadata != nil { 5258 for i, v := range s.Metadata { 5259 if v == nil { 5260 continue 5261 } 5262 if err := v.Validate(); err != nil { 5263 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams)) 5264 } 5265 } 5266 } 5267 5268 if invalidParams.Len() > 0 { 5269 return invalidParams 5270 } 5271 return nil 5272} 5273 5274// SetMetadata sets the Metadata field's value. 5275func (s *GrpcRouteMatch) SetMetadata(v []*GrpcRouteMetadata) *GrpcRouteMatch { 5276 s.Metadata = v 5277 return s 5278} 5279 5280// SetMethodName sets the MethodName field's value. 5281func (s *GrpcRouteMatch) SetMethodName(v string) *GrpcRouteMatch { 5282 s.MethodName = &v 5283 return s 5284} 5285 5286// SetServiceName sets the ServiceName field's value. 5287func (s *GrpcRouteMatch) SetServiceName(v string) *GrpcRouteMatch { 5288 s.ServiceName = &v 5289 return s 5290} 5291 5292// An object that represents the match metadata for the route. 5293type GrpcRouteMetadata struct { 5294 _ struct{} `type:"structure"` 5295 5296 Invert *bool `locationName:"invert" type:"boolean"` 5297 5298 // An object that represents the match method. Specify one of the match values. 5299 Match *GrpcRouteMetadataMatchMethod `locationName:"match" type:"structure"` 5300 5301 // Name is a required field 5302 Name *string `locationName:"name" min:"1" type:"string" required:"true"` 5303} 5304 5305// String returns the string representation 5306func (s GrpcRouteMetadata) String() string { 5307 return awsutil.Prettify(s) 5308} 5309 5310// GoString returns the string representation 5311func (s GrpcRouteMetadata) GoString() string { 5312 return s.String() 5313} 5314 5315// Validate inspects the fields of the type to determine if they are valid. 5316func (s *GrpcRouteMetadata) Validate() error { 5317 invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadata"} 5318 if s.Name == nil { 5319 invalidParams.Add(request.NewErrParamRequired("Name")) 5320 } 5321 if s.Name != nil && len(*s.Name) < 1 { 5322 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 5323 } 5324 if s.Match != nil { 5325 if err := s.Match.Validate(); err != nil { 5326 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 5327 } 5328 } 5329 5330 if invalidParams.Len() > 0 { 5331 return invalidParams 5332 } 5333 return nil 5334} 5335 5336// SetInvert sets the Invert field's value. 5337func (s *GrpcRouteMetadata) SetInvert(v bool) *GrpcRouteMetadata { 5338 s.Invert = &v 5339 return s 5340} 5341 5342// SetMatch sets the Match field's value. 5343func (s *GrpcRouteMetadata) SetMatch(v *GrpcRouteMetadataMatchMethod) *GrpcRouteMetadata { 5344 s.Match = v 5345 return s 5346} 5347 5348// SetName sets the Name field's value. 5349func (s *GrpcRouteMetadata) SetName(v string) *GrpcRouteMetadata { 5350 s.Name = &v 5351 return s 5352} 5353 5354// An object that represents the match method. Specify one of the match values. 5355type GrpcRouteMetadataMatchMethod struct { 5356 _ struct{} `type:"structure"` 5357 5358 Exact *string `locationName:"exact" min:"1" type:"string"` 5359 5360 Prefix *string `locationName:"prefix" min:"1" type:"string"` 5361 5362 // An object that represents the range of values to match on. The first character 5363 // of the range is included in the range, though the last character is not. 5364 // For example, if the range specified were 1-100, only values 1-99 would be 5365 // matched. 5366 Range *MatchRange `locationName:"range" type:"structure"` 5367 5368 Regex *string `locationName:"regex" min:"1" type:"string"` 5369 5370 Suffix *string `locationName:"suffix" min:"1" type:"string"` 5371} 5372 5373// String returns the string representation 5374func (s GrpcRouteMetadataMatchMethod) String() string { 5375 return awsutil.Prettify(s) 5376} 5377 5378// GoString returns the string representation 5379func (s GrpcRouteMetadataMatchMethod) GoString() string { 5380 return s.String() 5381} 5382 5383// Validate inspects the fields of the type to determine if they are valid. 5384func (s *GrpcRouteMetadataMatchMethod) Validate() error { 5385 invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadataMatchMethod"} 5386 if s.Exact != nil && len(*s.Exact) < 1 { 5387 invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) 5388 } 5389 if s.Prefix != nil && len(*s.Prefix) < 1 { 5390 invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) 5391 } 5392 if s.Regex != nil && len(*s.Regex) < 1 { 5393 invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) 5394 } 5395 if s.Suffix != nil && len(*s.Suffix) < 1 { 5396 invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) 5397 } 5398 if s.Range != nil { 5399 if err := s.Range.Validate(); err != nil { 5400 invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) 5401 } 5402 } 5403 5404 if invalidParams.Len() > 0 { 5405 return invalidParams 5406 } 5407 return nil 5408} 5409 5410// SetExact sets the Exact field's value. 5411func (s *GrpcRouteMetadataMatchMethod) SetExact(v string) *GrpcRouteMetadataMatchMethod { 5412 s.Exact = &v 5413 return s 5414} 5415 5416// SetPrefix sets the Prefix field's value. 5417func (s *GrpcRouteMetadataMatchMethod) SetPrefix(v string) *GrpcRouteMetadataMatchMethod { 5418 s.Prefix = &v 5419 return s 5420} 5421 5422// SetRange sets the Range field's value. 5423func (s *GrpcRouteMetadataMatchMethod) SetRange(v *MatchRange) *GrpcRouteMetadataMatchMethod { 5424 s.Range = v 5425 return s 5426} 5427 5428// SetRegex sets the Regex field's value. 5429func (s *GrpcRouteMetadataMatchMethod) SetRegex(v string) *GrpcRouteMetadataMatchMethod { 5430 s.Regex = &v 5431 return s 5432} 5433 5434// SetSuffix sets the Suffix field's value. 5435func (s *GrpcRouteMetadataMatchMethod) SetSuffix(v string) *GrpcRouteMetadataMatchMethod { 5436 s.Suffix = &v 5437 return s 5438} 5439 5440// An object that represents the method and value to match with the header value 5441// sent in a request. Specify one match method. 5442type HeaderMatchMethod struct { 5443 _ struct{} `type:"structure"` 5444 5445 Exact *string `locationName:"exact" min:"1" type:"string"` 5446 5447 Prefix *string `locationName:"prefix" min:"1" type:"string"` 5448 5449 // An object that represents the range of values to match on. The first character 5450 // of the range is included in the range, though the last character is not. 5451 // For example, if the range specified were 1-100, only values 1-99 would be 5452 // matched. 5453 Range *MatchRange `locationName:"range" type:"structure"` 5454 5455 Regex *string `locationName:"regex" min:"1" type:"string"` 5456 5457 Suffix *string `locationName:"suffix" min:"1" type:"string"` 5458} 5459 5460// String returns the string representation 5461func (s HeaderMatchMethod) String() string { 5462 return awsutil.Prettify(s) 5463} 5464 5465// GoString returns the string representation 5466func (s HeaderMatchMethod) GoString() string { 5467 return s.String() 5468} 5469 5470// Validate inspects the fields of the type to determine if they are valid. 5471func (s *HeaderMatchMethod) Validate() error { 5472 invalidParams := request.ErrInvalidParams{Context: "HeaderMatchMethod"} 5473 if s.Exact != nil && len(*s.Exact) < 1 { 5474 invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) 5475 } 5476 if s.Prefix != nil && len(*s.Prefix) < 1 { 5477 invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) 5478 } 5479 if s.Regex != nil && len(*s.Regex) < 1 { 5480 invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) 5481 } 5482 if s.Suffix != nil && len(*s.Suffix) < 1 { 5483 invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) 5484 } 5485 if s.Range != nil { 5486 if err := s.Range.Validate(); err != nil { 5487 invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) 5488 } 5489 } 5490 5491 if invalidParams.Len() > 0 { 5492 return invalidParams 5493 } 5494 return nil 5495} 5496 5497// SetExact sets the Exact field's value. 5498func (s *HeaderMatchMethod) SetExact(v string) *HeaderMatchMethod { 5499 s.Exact = &v 5500 return s 5501} 5502 5503// SetPrefix sets the Prefix field's value. 5504func (s *HeaderMatchMethod) SetPrefix(v string) *HeaderMatchMethod { 5505 s.Prefix = &v 5506 return s 5507} 5508 5509// SetRange sets the Range field's value. 5510func (s *HeaderMatchMethod) SetRange(v *MatchRange) *HeaderMatchMethod { 5511 s.Range = v 5512 return s 5513} 5514 5515// SetRegex sets the Regex field's value. 5516func (s *HeaderMatchMethod) SetRegex(v string) *HeaderMatchMethod { 5517 s.Regex = &v 5518 return s 5519} 5520 5521// SetSuffix sets the Suffix field's value. 5522func (s *HeaderMatchMethod) SetSuffix(v string) *HeaderMatchMethod { 5523 s.Suffix = &v 5524 return s 5525} 5526 5527// An object that represents the health check policy for a virtual node's listener. 5528type HealthCheckPolicy struct { 5529 _ struct{} `type:"structure"` 5530 5531 // HealthyThreshold is a required field 5532 HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` 5533 5534 // IntervalMillis is a required field 5535 IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` 5536 5537 Path *string `locationName:"path" type:"string"` 5538 5539 Port *int64 `locationName:"port" min:"1" type:"integer"` 5540 5541 // Protocol is a required field 5542 Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` 5543 5544 // TimeoutMillis is a required field 5545 TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` 5546 5547 // UnhealthyThreshold is a required field 5548 UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` 5549} 5550 5551// String returns the string representation 5552func (s HealthCheckPolicy) String() string { 5553 return awsutil.Prettify(s) 5554} 5555 5556// GoString returns the string representation 5557func (s HealthCheckPolicy) GoString() string { 5558 return s.String() 5559} 5560 5561// Validate inspects the fields of the type to determine if they are valid. 5562func (s *HealthCheckPolicy) Validate() error { 5563 invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"} 5564 if s.HealthyThreshold == nil { 5565 invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) 5566 } 5567 if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { 5568 invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) 5569 } 5570 if s.IntervalMillis == nil { 5571 invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) 5572 } 5573 if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { 5574 invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) 5575 } 5576 if s.Port != nil && *s.Port < 1 { 5577 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 5578 } 5579 if s.Protocol == nil { 5580 invalidParams.Add(request.NewErrParamRequired("Protocol")) 5581 } 5582 if s.TimeoutMillis == nil { 5583 invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) 5584 } 5585 if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { 5586 invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) 5587 } 5588 if s.UnhealthyThreshold == nil { 5589 invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) 5590 } 5591 if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { 5592 invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) 5593 } 5594 5595 if invalidParams.Len() > 0 { 5596 return invalidParams 5597 } 5598 return nil 5599} 5600 5601// SetHealthyThreshold sets the HealthyThreshold field's value. 5602func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy { 5603 s.HealthyThreshold = &v 5604 return s 5605} 5606 5607// SetIntervalMillis sets the IntervalMillis field's value. 5608func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy { 5609 s.IntervalMillis = &v 5610 return s 5611} 5612 5613// SetPath sets the Path field's value. 5614func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy { 5615 s.Path = &v 5616 return s 5617} 5618 5619// SetPort sets the Port field's value. 5620func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy { 5621 s.Port = &v 5622 return s 5623} 5624 5625// SetProtocol sets the Protocol field's value. 5626func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy { 5627 s.Protocol = &v 5628 return s 5629} 5630 5631// SetTimeoutMillis sets the TimeoutMillis field's value. 5632func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy { 5633 s.TimeoutMillis = &v 5634 return s 5635} 5636 5637// SetUnhealthyThreshold sets the UnhealthyThreshold field's value. 5638func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy { 5639 s.UnhealthyThreshold = &v 5640 return s 5641} 5642 5643// An object that represents a retry policy. Specify at least one value for 5644// at least one of the types of RetryEvents, a value for maxRetries, and a value 5645// for perRetryTimeout. 5646type HttpRetryPolicy struct { 5647 _ struct{} `type:"structure"` 5648 5649 HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` 5650 5651 // MaxRetries is a required field 5652 MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` 5653 5654 // An object that represents a duration of time. 5655 // 5656 // PerRetryTimeout is a required field 5657 PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` 5658 5659 TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` 5660} 5661 5662// String returns the string representation 5663func (s HttpRetryPolicy) String() string { 5664 return awsutil.Prettify(s) 5665} 5666 5667// GoString returns the string representation 5668func (s HttpRetryPolicy) GoString() string { 5669 return s.String() 5670} 5671 5672// Validate inspects the fields of the type to determine if they are valid. 5673func (s *HttpRetryPolicy) Validate() error { 5674 invalidParams := request.ErrInvalidParams{Context: "HttpRetryPolicy"} 5675 if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { 5676 invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) 5677 } 5678 if s.MaxRetries == nil { 5679 invalidParams.Add(request.NewErrParamRequired("MaxRetries")) 5680 } 5681 if s.PerRetryTimeout == nil { 5682 invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) 5683 } 5684 if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { 5685 invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) 5686 } 5687 5688 if invalidParams.Len() > 0 { 5689 return invalidParams 5690 } 5691 return nil 5692} 5693 5694// SetHttpRetryEvents sets the HttpRetryEvents field's value. 5695func (s *HttpRetryPolicy) SetHttpRetryEvents(v []*string) *HttpRetryPolicy { 5696 s.HttpRetryEvents = v 5697 return s 5698} 5699 5700// SetMaxRetries sets the MaxRetries field's value. 5701func (s *HttpRetryPolicy) SetMaxRetries(v int64) *HttpRetryPolicy { 5702 s.MaxRetries = &v 5703 return s 5704} 5705 5706// SetPerRetryTimeout sets the PerRetryTimeout field's value. 5707func (s *HttpRetryPolicy) SetPerRetryTimeout(v *Duration) *HttpRetryPolicy { 5708 s.PerRetryTimeout = v 5709 return s 5710} 5711 5712// SetTcpRetryEvents sets the TcpRetryEvents field's value. 5713func (s *HttpRetryPolicy) SetTcpRetryEvents(v []*string) *HttpRetryPolicy { 5714 s.TcpRetryEvents = v 5715 return s 5716} 5717 5718// An object that represents an HTTP or HTTP2 route type. 5719type HttpRoute struct { 5720 _ struct{} `type:"structure"` 5721 5722 // An object that represents the action to take if a match is determined. 5723 // 5724 // Action is a required field 5725 Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"` 5726 5727 // An object that represents the requirements for a route to match HTTP requests 5728 // for a virtual router. 5729 // 5730 // Match is a required field 5731 Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"` 5732 5733 // An object that represents a retry policy. Specify at least one value for 5734 // at least one of the types of RetryEvents, a value for maxRetries, and a value 5735 // for perRetryTimeout. 5736 RetryPolicy *HttpRetryPolicy `locationName:"retryPolicy" type:"structure"` 5737} 5738 5739// String returns the string representation 5740func (s HttpRoute) String() string { 5741 return awsutil.Prettify(s) 5742} 5743 5744// GoString returns the string representation 5745func (s HttpRoute) GoString() string { 5746 return s.String() 5747} 5748 5749// Validate inspects the fields of the type to determine if they are valid. 5750func (s *HttpRoute) Validate() error { 5751 invalidParams := request.ErrInvalidParams{Context: "HttpRoute"} 5752 if s.Action == nil { 5753 invalidParams.Add(request.NewErrParamRequired("Action")) 5754 } 5755 if s.Match == nil { 5756 invalidParams.Add(request.NewErrParamRequired("Match")) 5757 } 5758 if s.Action != nil { 5759 if err := s.Action.Validate(); err != nil { 5760 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 5761 } 5762 } 5763 if s.Match != nil { 5764 if err := s.Match.Validate(); err != nil { 5765 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 5766 } 5767 } 5768 if s.RetryPolicy != nil { 5769 if err := s.RetryPolicy.Validate(); err != nil { 5770 invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) 5771 } 5772 } 5773 5774 if invalidParams.Len() > 0 { 5775 return invalidParams 5776 } 5777 return nil 5778} 5779 5780// SetAction sets the Action field's value. 5781func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute { 5782 s.Action = v 5783 return s 5784} 5785 5786// SetMatch sets the Match field's value. 5787func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute { 5788 s.Match = v 5789 return s 5790} 5791 5792// SetRetryPolicy sets the RetryPolicy field's value. 5793func (s *HttpRoute) SetRetryPolicy(v *HttpRetryPolicy) *HttpRoute { 5794 s.RetryPolicy = v 5795 return s 5796} 5797 5798// An object that represents the action to take if a match is determined. 5799type HttpRouteAction struct { 5800 _ struct{} `type:"structure"` 5801 5802 // WeightedTargets is a required field 5803 WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` 5804} 5805 5806// String returns the string representation 5807func (s HttpRouteAction) String() string { 5808 return awsutil.Prettify(s) 5809} 5810 5811// GoString returns the string representation 5812func (s HttpRouteAction) GoString() string { 5813 return s.String() 5814} 5815 5816// Validate inspects the fields of the type to determine if they are valid. 5817func (s *HttpRouteAction) Validate() error { 5818 invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"} 5819 if s.WeightedTargets == nil { 5820 invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) 5821 } 5822 if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { 5823 invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) 5824 } 5825 if s.WeightedTargets != nil { 5826 for i, v := range s.WeightedTargets { 5827 if v == nil { 5828 continue 5829 } 5830 if err := v.Validate(); err != nil { 5831 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) 5832 } 5833 } 5834 } 5835 5836 if invalidParams.Len() > 0 { 5837 return invalidParams 5838 } 5839 return nil 5840} 5841 5842// SetWeightedTargets sets the WeightedTargets field's value. 5843func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction { 5844 s.WeightedTargets = v 5845 return s 5846} 5847 5848// An object that represents the HTTP header in the request. 5849type HttpRouteHeader struct { 5850 _ struct{} `type:"structure"` 5851 5852 Invert *bool `locationName:"invert" type:"boolean"` 5853 5854 // An object that represents the method and value to match with the header value 5855 // sent in a request. Specify one match method. 5856 Match *HeaderMatchMethod `locationName:"match" type:"structure"` 5857 5858 // Name is a required field 5859 Name *string `locationName:"name" min:"1" type:"string" required:"true"` 5860} 5861 5862// String returns the string representation 5863func (s HttpRouteHeader) String() string { 5864 return awsutil.Prettify(s) 5865} 5866 5867// GoString returns the string representation 5868func (s HttpRouteHeader) GoString() string { 5869 return s.String() 5870} 5871 5872// Validate inspects the fields of the type to determine if they are valid. 5873func (s *HttpRouteHeader) Validate() error { 5874 invalidParams := request.ErrInvalidParams{Context: "HttpRouteHeader"} 5875 if s.Name == nil { 5876 invalidParams.Add(request.NewErrParamRequired("Name")) 5877 } 5878 if s.Name != nil && len(*s.Name) < 1 { 5879 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 5880 } 5881 if s.Match != nil { 5882 if err := s.Match.Validate(); err != nil { 5883 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 5884 } 5885 } 5886 5887 if invalidParams.Len() > 0 { 5888 return invalidParams 5889 } 5890 return nil 5891} 5892 5893// SetInvert sets the Invert field's value. 5894func (s *HttpRouteHeader) SetInvert(v bool) *HttpRouteHeader { 5895 s.Invert = &v 5896 return s 5897} 5898 5899// SetMatch sets the Match field's value. 5900func (s *HttpRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpRouteHeader { 5901 s.Match = v 5902 return s 5903} 5904 5905// SetName sets the Name field's value. 5906func (s *HttpRouteHeader) SetName(v string) *HttpRouteHeader { 5907 s.Name = &v 5908 return s 5909} 5910 5911// An object that represents the requirements for a route to match HTTP requests 5912// for a virtual router. 5913type HttpRouteMatch struct { 5914 _ struct{} `type:"structure"` 5915 5916 Headers []*HttpRouteHeader `locationName:"headers" min:"1" type:"list"` 5917 5918 Method *string `locationName:"method" type:"string" enum:"HttpMethod"` 5919 5920 // Prefix is a required field 5921 Prefix *string `locationName:"prefix" type:"string" required:"true"` 5922 5923 Scheme *string `locationName:"scheme" type:"string" enum:"HttpScheme"` 5924} 5925 5926// String returns the string representation 5927func (s HttpRouteMatch) String() string { 5928 return awsutil.Prettify(s) 5929} 5930 5931// GoString returns the string representation 5932func (s HttpRouteMatch) GoString() string { 5933 return s.String() 5934} 5935 5936// Validate inspects the fields of the type to determine if they are valid. 5937func (s *HttpRouteMatch) Validate() error { 5938 invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"} 5939 if s.Headers != nil && len(s.Headers) < 1 { 5940 invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) 5941 } 5942 if s.Prefix == nil { 5943 invalidParams.Add(request.NewErrParamRequired("Prefix")) 5944 } 5945 if s.Headers != nil { 5946 for i, v := range s.Headers { 5947 if v == nil { 5948 continue 5949 } 5950 if err := v.Validate(); err != nil { 5951 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams)) 5952 } 5953 } 5954 } 5955 5956 if invalidParams.Len() > 0 { 5957 return invalidParams 5958 } 5959 return nil 5960} 5961 5962// SetHeaders sets the Headers field's value. 5963func (s *HttpRouteMatch) SetHeaders(v []*HttpRouteHeader) *HttpRouteMatch { 5964 s.Headers = v 5965 return s 5966} 5967 5968// SetMethod sets the Method field's value. 5969func (s *HttpRouteMatch) SetMethod(v string) *HttpRouteMatch { 5970 s.Method = &v 5971 return s 5972} 5973 5974// SetPrefix sets the Prefix field's value. 5975func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { 5976 s.Prefix = &v 5977 return s 5978} 5979 5980// SetScheme sets the Scheme field's value. 5981func (s *HttpRouteMatch) SetScheme(v string) *HttpRouteMatch { 5982 s.Scheme = &v 5983 return s 5984} 5985 5986type ListMeshesInput struct { 5987 _ struct{} `type:"structure"` 5988 5989 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 5990 5991 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 5992} 5993 5994// String returns the string representation 5995func (s ListMeshesInput) String() string { 5996 return awsutil.Prettify(s) 5997} 5998 5999// GoString returns the string representation 6000func (s ListMeshesInput) GoString() string { 6001 return s.String() 6002} 6003 6004// Validate inspects the fields of the type to determine if they are valid. 6005func (s *ListMeshesInput) Validate() error { 6006 invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"} 6007 if s.Limit != nil && *s.Limit < 1 { 6008 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 6009 } 6010 6011 if invalidParams.Len() > 0 { 6012 return invalidParams 6013 } 6014 return nil 6015} 6016 6017// SetLimit sets the Limit field's value. 6018func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput { 6019 s.Limit = &v 6020 return s 6021} 6022 6023// SetNextToken sets the NextToken field's value. 6024func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput { 6025 s.NextToken = &v 6026 return s 6027} 6028 6029type ListMeshesOutput struct { 6030 _ struct{} `type:"structure"` 6031 6032 // Meshes is a required field 6033 Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"` 6034 6035 NextToken *string `locationName:"nextToken" type:"string"` 6036} 6037 6038// String returns the string representation 6039func (s ListMeshesOutput) String() string { 6040 return awsutil.Prettify(s) 6041} 6042 6043// GoString returns the string representation 6044func (s ListMeshesOutput) GoString() string { 6045 return s.String() 6046} 6047 6048// SetMeshes sets the Meshes field's value. 6049func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput { 6050 s.Meshes = v 6051 return s 6052} 6053 6054// SetNextToken sets the NextToken field's value. 6055func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput { 6056 s.NextToken = &v 6057 return s 6058} 6059 6060type ListRoutesInput struct { 6061 _ struct{} `type:"structure"` 6062 6063 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 6064 6065 // MeshName is a required field 6066 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6067 6068 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 6069 6070 // VirtualRouterName is a required field 6071 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 6072} 6073 6074// String returns the string representation 6075func (s ListRoutesInput) String() string { 6076 return awsutil.Prettify(s) 6077} 6078 6079// GoString returns the string representation 6080func (s ListRoutesInput) GoString() string { 6081 return s.String() 6082} 6083 6084// Validate inspects the fields of the type to determine if they are valid. 6085func (s *ListRoutesInput) Validate() error { 6086 invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"} 6087 if s.Limit != nil && *s.Limit < 1 { 6088 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 6089 } 6090 if s.MeshName == nil { 6091 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6092 } 6093 if s.MeshName != nil && len(*s.MeshName) < 1 { 6094 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6095 } 6096 if s.VirtualRouterName == nil { 6097 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 6098 } 6099 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 6100 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 6101 } 6102 6103 if invalidParams.Len() > 0 { 6104 return invalidParams 6105 } 6106 return nil 6107} 6108 6109// SetLimit sets the Limit field's value. 6110func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput { 6111 s.Limit = &v 6112 return s 6113} 6114 6115// SetMeshName sets the MeshName field's value. 6116func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput { 6117 s.MeshName = &v 6118 return s 6119} 6120 6121// SetNextToken sets the NextToken field's value. 6122func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput { 6123 s.NextToken = &v 6124 return s 6125} 6126 6127// SetVirtualRouterName sets the VirtualRouterName field's value. 6128func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput { 6129 s.VirtualRouterName = &v 6130 return s 6131} 6132 6133type ListRoutesOutput struct { 6134 _ struct{} `type:"structure"` 6135 6136 NextToken *string `locationName:"nextToken" type:"string"` 6137 6138 // Routes is a required field 6139 Routes []*RouteRef `locationName:"routes" type:"list" required:"true"` 6140} 6141 6142// String returns the string representation 6143func (s ListRoutesOutput) String() string { 6144 return awsutil.Prettify(s) 6145} 6146 6147// GoString returns the string representation 6148func (s ListRoutesOutput) GoString() string { 6149 return s.String() 6150} 6151 6152// SetNextToken sets the NextToken field's value. 6153func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput { 6154 s.NextToken = &v 6155 return s 6156} 6157 6158// SetRoutes sets the Routes field's value. 6159func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput { 6160 s.Routes = v 6161 return s 6162} 6163 6164type ListTagsForResourceInput struct { 6165 _ struct{} `type:"structure"` 6166 6167 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 6168 6169 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 6170 6171 // ResourceArn is a required field 6172 ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` 6173} 6174 6175// String returns the string representation 6176func (s ListTagsForResourceInput) String() string { 6177 return awsutil.Prettify(s) 6178} 6179 6180// GoString returns the string representation 6181func (s ListTagsForResourceInput) GoString() string { 6182 return s.String() 6183} 6184 6185// Validate inspects the fields of the type to determine if they are valid. 6186func (s *ListTagsForResourceInput) Validate() error { 6187 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 6188 if s.Limit != nil && *s.Limit < 1 { 6189 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 6190 } 6191 if s.ResourceArn == nil { 6192 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 6193 } 6194 6195 if invalidParams.Len() > 0 { 6196 return invalidParams 6197 } 6198 return nil 6199} 6200 6201// SetLimit sets the Limit field's value. 6202func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput { 6203 s.Limit = &v 6204 return s 6205} 6206 6207// SetNextToken sets the NextToken field's value. 6208func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { 6209 s.NextToken = &v 6210 return s 6211} 6212 6213// SetResourceArn sets the ResourceArn field's value. 6214func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 6215 s.ResourceArn = &v 6216 return s 6217} 6218 6219type ListTagsForResourceOutput struct { 6220 _ struct{} `type:"structure"` 6221 6222 NextToken *string `locationName:"nextToken" type:"string"` 6223 6224 // Tags is a required field 6225 Tags []*TagRef `locationName:"tags" type:"list" required:"true"` 6226} 6227 6228// String returns the string representation 6229func (s ListTagsForResourceOutput) String() string { 6230 return awsutil.Prettify(s) 6231} 6232 6233// GoString returns the string representation 6234func (s ListTagsForResourceOutput) GoString() string { 6235 return s.String() 6236} 6237 6238// SetNextToken sets the NextToken field's value. 6239func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { 6240 s.NextToken = &v 6241 return s 6242} 6243 6244// SetTags sets the Tags field's value. 6245func (s *ListTagsForResourceOutput) SetTags(v []*TagRef) *ListTagsForResourceOutput { 6246 s.Tags = v 6247 return s 6248} 6249 6250type ListVirtualNodesInput struct { 6251 _ struct{} `type:"structure"` 6252 6253 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 6254 6255 // MeshName is a required field 6256 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6257 6258 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 6259} 6260 6261// String returns the string representation 6262func (s ListVirtualNodesInput) String() string { 6263 return awsutil.Prettify(s) 6264} 6265 6266// GoString returns the string representation 6267func (s ListVirtualNodesInput) GoString() string { 6268 return s.String() 6269} 6270 6271// Validate inspects the fields of the type to determine if they are valid. 6272func (s *ListVirtualNodesInput) Validate() error { 6273 invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"} 6274 if s.Limit != nil && *s.Limit < 1 { 6275 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 6276 } 6277 if s.MeshName == nil { 6278 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6279 } 6280 if s.MeshName != nil && len(*s.MeshName) < 1 { 6281 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6282 } 6283 6284 if invalidParams.Len() > 0 { 6285 return invalidParams 6286 } 6287 return nil 6288} 6289 6290// SetLimit sets the Limit field's value. 6291func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput { 6292 s.Limit = &v 6293 return s 6294} 6295 6296// SetMeshName sets the MeshName field's value. 6297func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput { 6298 s.MeshName = &v 6299 return s 6300} 6301 6302// SetNextToken sets the NextToken field's value. 6303func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput { 6304 s.NextToken = &v 6305 return s 6306} 6307 6308type ListVirtualNodesOutput struct { 6309 _ struct{} `type:"structure"` 6310 6311 NextToken *string `locationName:"nextToken" type:"string"` 6312 6313 // VirtualNodes is a required field 6314 VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" type:"list" required:"true"` 6315} 6316 6317// String returns the string representation 6318func (s ListVirtualNodesOutput) String() string { 6319 return awsutil.Prettify(s) 6320} 6321 6322// GoString returns the string representation 6323func (s ListVirtualNodesOutput) GoString() string { 6324 return s.String() 6325} 6326 6327// SetNextToken sets the NextToken field's value. 6328func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput { 6329 s.NextToken = &v 6330 return s 6331} 6332 6333// SetVirtualNodes sets the VirtualNodes field's value. 6334func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput { 6335 s.VirtualNodes = v 6336 return s 6337} 6338 6339type ListVirtualRoutersInput struct { 6340 _ struct{} `type:"structure"` 6341 6342 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 6343 6344 // MeshName is a required field 6345 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6346 6347 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 6348} 6349 6350// String returns the string representation 6351func (s ListVirtualRoutersInput) String() string { 6352 return awsutil.Prettify(s) 6353} 6354 6355// GoString returns the string representation 6356func (s ListVirtualRoutersInput) GoString() string { 6357 return s.String() 6358} 6359 6360// Validate inspects the fields of the type to determine if they are valid. 6361func (s *ListVirtualRoutersInput) Validate() error { 6362 invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"} 6363 if s.Limit != nil && *s.Limit < 1 { 6364 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 6365 } 6366 if s.MeshName == nil { 6367 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6368 } 6369 if s.MeshName != nil && len(*s.MeshName) < 1 { 6370 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6371 } 6372 6373 if invalidParams.Len() > 0 { 6374 return invalidParams 6375 } 6376 return nil 6377} 6378 6379// SetLimit sets the Limit field's value. 6380func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput { 6381 s.Limit = &v 6382 return s 6383} 6384 6385// SetMeshName sets the MeshName field's value. 6386func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput { 6387 s.MeshName = &v 6388 return s 6389} 6390 6391// SetNextToken sets the NextToken field's value. 6392func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput { 6393 s.NextToken = &v 6394 return s 6395} 6396 6397type ListVirtualRoutersOutput struct { 6398 _ struct{} `type:"structure"` 6399 6400 NextToken *string `locationName:"nextToken" type:"string"` 6401 6402 // VirtualRouters is a required field 6403 VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" type:"list" required:"true"` 6404} 6405 6406// String returns the string representation 6407func (s ListVirtualRoutersOutput) String() string { 6408 return awsutil.Prettify(s) 6409} 6410 6411// GoString returns the string representation 6412func (s ListVirtualRoutersOutput) GoString() string { 6413 return s.String() 6414} 6415 6416// SetNextToken sets the NextToken field's value. 6417func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput { 6418 s.NextToken = &v 6419 return s 6420} 6421 6422// SetVirtualRouters sets the VirtualRouters field's value. 6423func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput { 6424 s.VirtualRouters = v 6425 return s 6426} 6427 6428type ListVirtualServicesInput struct { 6429 _ struct{} `type:"structure"` 6430 6431 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 6432 6433 // MeshName is a required field 6434 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6435 6436 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 6437} 6438 6439// String returns the string representation 6440func (s ListVirtualServicesInput) String() string { 6441 return awsutil.Prettify(s) 6442} 6443 6444// GoString returns the string representation 6445func (s ListVirtualServicesInput) GoString() string { 6446 return s.String() 6447} 6448 6449// Validate inspects the fields of the type to determine if they are valid. 6450func (s *ListVirtualServicesInput) Validate() error { 6451 invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"} 6452 if s.Limit != nil && *s.Limit < 1 { 6453 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 6454 } 6455 if s.MeshName == nil { 6456 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6457 } 6458 if s.MeshName != nil && len(*s.MeshName) < 1 { 6459 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6460 } 6461 6462 if invalidParams.Len() > 0 { 6463 return invalidParams 6464 } 6465 return nil 6466} 6467 6468// SetLimit sets the Limit field's value. 6469func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput { 6470 s.Limit = &v 6471 return s 6472} 6473 6474// SetMeshName sets the MeshName field's value. 6475func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput { 6476 s.MeshName = &v 6477 return s 6478} 6479 6480// SetNextToken sets the NextToken field's value. 6481func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput { 6482 s.NextToken = &v 6483 return s 6484} 6485 6486type ListVirtualServicesOutput struct { 6487 _ struct{} `type:"structure"` 6488 6489 NextToken *string `locationName:"nextToken" type:"string"` 6490 6491 // VirtualServices is a required field 6492 VirtualServices []*VirtualServiceRef `locationName:"virtualServices" type:"list" required:"true"` 6493} 6494 6495// String returns the string representation 6496func (s ListVirtualServicesOutput) String() string { 6497 return awsutil.Prettify(s) 6498} 6499 6500// GoString returns the string representation 6501func (s ListVirtualServicesOutput) GoString() string { 6502 return s.String() 6503} 6504 6505// SetNextToken sets the NextToken field's value. 6506func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput { 6507 s.NextToken = &v 6508 return s 6509} 6510 6511// SetVirtualServices sets the VirtualServices field's value. 6512func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput { 6513 s.VirtualServices = v 6514 return s 6515} 6516 6517// An object that represents a listener for a virtual node. 6518type Listener struct { 6519 _ struct{} `type:"structure"` 6520 6521 // An object that represents the health check policy for a virtual node's listener. 6522 HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` 6523 6524 // An object that represents a port mapping. 6525 // 6526 // PortMapping is a required field 6527 PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` 6528} 6529 6530// String returns the string representation 6531func (s Listener) String() string { 6532 return awsutil.Prettify(s) 6533} 6534 6535// GoString returns the string representation 6536func (s Listener) GoString() string { 6537 return s.String() 6538} 6539 6540// Validate inspects the fields of the type to determine if they are valid. 6541func (s *Listener) Validate() error { 6542 invalidParams := request.ErrInvalidParams{Context: "Listener"} 6543 if s.PortMapping == nil { 6544 invalidParams.Add(request.NewErrParamRequired("PortMapping")) 6545 } 6546 if s.HealthCheck != nil { 6547 if err := s.HealthCheck.Validate(); err != nil { 6548 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 6549 } 6550 } 6551 if s.PortMapping != nil { 6552 if err := s.PortMapping.Validate(); err != nil { 6553 invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) 6554 } 6555 } 6556 6557 if invalidParams.Len() > 0 { 6558 return invalidParams 6559 } 6560 return nil 6561} 6562 6563// SetHealthCheck sets the HealthCheck field's value. 6564func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener { 6565 s.HealthCheck = v 6566 return s 6567} 6568 6569// SetPortMapping sets the PortMapping field's value. 6570func (s *Listener) SetPortMapping(v *PortMapping) *Listener { 6571 s.PortMapping = v 6572 return s 6573} 6574 6575// An object that represents the logging information for a virtual node. 6576type Logging struct { 6577 _ struct{} `type:"structure"` 6578 6579 // An object that represents the access logging information for a virtual node. 6580 AccessLog *AccessLog `locationName:"accessLog" type:"structure"` 6581} 6582 6583// String returns the string representation 6584func (s Logging) String() string { 6585 return awsutil.Prettify(s) 6586} 6587 6588// GoString returns the string representation 6589func (s Logging) GoString() string { 6590 return s.String() 6591} 6592 6593// Validate inspects the fields of the type to determine if they are valid. 6594func (s *Logging) Validate() error { 6595 invalidParams := request.ErrInvalidParams{Context: "Logging"} 6596 if s.AccessLog != nil { 6597 if err := s.AccessLog.Validate(); err != nil { 6598 invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) 6599 } 6600 } 6601 6602 if invalidParams.Len() > 0 { 6603 return invalidParams 6604 } 6605 return nil 6606} 6607 6608// SetAccessLog sets the AccessLog field's value. 6609func (s *Logging) SetAccessLog(v *AccessLog) *Logging { 6610 s.AccessLog = v 6611 return s 6612} 6613 6614// An object that represents the range of values to match on. The first character 6615// of the range is included in the range, though the last character is not. 6616// For example, if the range specified were 1-100, only values 1-99 would be 6617// matched. 6618type MatchRange struct { 6619 _ struct{} `type:"structure"` 6620 6621 // End is a required field 6622 End *int64 `locationName:"end" type:"long" required:"true"` 6623 6624 // Start is a required field 6625 Start *int64 `locationName:"start" type:"long" required:"true"` 6626} 6627 6628// String returns the string representation 6629func (s MatchRange) String() string { 6630 return awsutil.Prettify(s) 6631} 6632 6633// GoString returns the string representation 6634func (s MatchRange) GoString() string { 6635 return s.String() 6636} 6637 6638// Validate inspects the fields of the type to determine if they are valid. 6639func (s *MatchRange) Validate() error { 6640 invalidParams := request.ErrInvalidParams{Context: "MatchRange"} 6641 if s.End == nil { 6642 invalidParams.Add(request.NewErrParamRequired("End")) 6643 } 6644 if s.Start == nil { 6645 invalidParams.Add(request.NewErrParamRequired("Start")) 6646 } 6647 6648 if invalidParams.Len() > 0 { 6649 return invalidParams 6650 } 6651 return nil 6652} 6653 6654// SetEnd sets the End field's value. 6655func (s *MatchRange) SetEnd(v int64) *MatchRange { 6656 s.End = &v 6657 return s 6658} 6659 6660// SetStart sets the Start field's value. 6661func (s *MatchRange) SetStart(v int64) *MatchRange { 6662 s.Start = &v 6663 return s 6664} 6665 6666// An object that represents a service mesh returned by a describe operation. 6667type MeshData struct { 6668 _ struct{} `type:"structure"` 6669 6670 // MeshName is a required field 6671 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 6672 6673 // An object that represents metadata for a resource. 6674 // 6675 // Metadata is a required field 6676 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 6677 6678 // An object that represents the specification of a service mesh. 6679 // 6680 // Spec is a required field 6681 Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"` 6682 6683 // An object that represents the status of a service mesh. 6684 // 6685 // Status is a required field 6686 Status *MeshStatus `locationName:"status" type:"structure" required:"true"` 6687} 6688 6689// String returns the string representation 6690func (s MeshData) String() string { 6691 return awsutil.Prettify(s) 6692} 6693 6694// GoString returns the string representation 6695func (s MeshData) GoString() string { 6696 return s.String() 6697} 6698 6699// SetMeshName sets the MeshName field's value. 6700func (s *MeshData) SetMeshName(v string) *MeshData { 6701 s.MeshName = &v 6702 return s 6703} 6704 6705// SetMetadata sets the Metadata field's value. 6706func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData { 6707 s.Metadata = v 6708 return s 6709} 6710 6711// SetSpec sets the Spec field's value. 6712func (s *MeshData) SetSpec(v *MeshSpec) *MeshData { 6713 s.Spec = v 6714 return s 6715} 6716 6717// SetStatus sets the Status field's value. 6718func (s *MeshData) SetStatus(v *MeshStatus) *MeshData { 6719 s.Status = v 6720 return s 6721} 6722 6723// An object that represents a service mesh returned by a list operation. 6724type MeshRef struct { 6725 _ struct{} `type:"structure"` 6726 6727 // Arn is a required field 6728 Arn *string `locationName:"arn" type:"string" required:"true"` 6729 6730 // MeshName is a required field 6731 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 6732} 6733 6734// String returns the string representation 6735func (s MeshRef) String() string { 6736 return awsutil.Prettify(s) 6737} 6738 6739// GoString returns the string representation 6740func (s MeshRef) GoString() string { 6741 return s.String() 6742} 6743 6744// SetArn sets the Arn field's value. 6745func (s *MeshRef) SetArn(v string) *MeshRef { 6746 s.Arn = &v 6747 return s 6748} 6749 6750// SetMeshName sets the MeshName field's value. 6751func (s *MeshRef) SetMeshName(v string) *MeshRef { 6752 s.MeshName = &v 6753 return s 6754} 6755 6756// An object that represents the specification of a service mesh. 6757type MeshSpec struct { 6758 _ struct{} `type:"structure"` 6759 6760 // An object that represents the egress filter rules for a service mesh. 6761 EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"` 6762} 6763 6764// String returns the string representation 6765func (s MeshSpec) String() string { 6766 return awsutil.Prettify(s) 6767} 6768 6769// GoString returns the string representation 6770func (s MeshSpec) GoString() string { 6771 return s.String() 6772} 6773 6774// Validate inspects the fields of the type to determine if they are valid. 6775func (s *MeshSpec) Validate() error { 6776 invalidParams := request.ErrInvalidParams{Context: "MeshSpec"} 6777 if s.EgressFilter != nil { 6778 if err := s.EgressFilter.Validate(); err != nil { 6779 invalidParams.AddNested("EgressFilter", err.(request.ErrInvalidParams)) 6780 } 6781 } 6782 6783 if invalidParams.Len() > 0 { 6784 return invalidParams 6785 } 6786 return nil 6787} 6788 6789// SetEgressFilter sets the EgressFilter field's value. 6790func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec { 6791 s.EgressFilter = v 6792 return s 6793} 6794 6795// An object that represents the status of a service mesh. 6796type MeshStatus struct { 6797 _ struct{} `type:"structure"` 6798 6799 Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"` 6800} 6801 6802// String returns the string representation 6803func (s MeshStatus) String() string { 6804 return awsutil.Prettify(s) 6805} 6806 6807// GoString returns the string representation 6808func (s MeshStatus) GoString() string { 6809 return s.String() 6810} 6811 6812// SetStatus sets the Status field's value. 6813func (s *MeshStatus) SetStatus(v string) *MeshStatus { 6814 s.Status = &v 6815 return s 6816} 6817 6818// An object that represents a port mapping. 6819type PortMapping struct { 6820 _ struct{} `type:"structure"` 6821 6822 // Port is a required field 6823 Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` 6824 6825 // Protocol is a required field 6826 Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` 6827} 6828 6829// String returns the string representation 6830func (s PortMapping) String() string { 6831 return awsutil.Prettify(s) 6832} 6833 6834// GoString returns the string representation 6835func (s PortMapping) GoString() string { 6836 return s.String() 6837} 6838 6839// Validate inspects the fields of the type to determine if they are valid. 6840func (s *PortMapping) Validate() error { 6841 invalidParams := request.ErrInvalidParams{Context: "PortMapping"} 6842 if s.Port == nil { 6843 invalidParams.Add(request.NewErrParamRequired("Port")) 6844 } 6845 if s.Port != nil && *s.Port < 1 { 6846 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 6847 } 6848 if s.Protocol == nil { 6849 invalidParams.Add(request.NewErrParamRequired("Protocol")) 6850 } 6851 6852 if invalidParams.Len() > 0 { 6853 return invalidParams 6854 } 6855 return nil 6856} 6857 6858// SetPort sets the Port field's value. 6859func (s *PortMapping) SetPort(v int64) *PortMapping { 6860 s.Port = &v 6861 return s 6862} 6863 6864// SetProtocol sets the Protocol field's value. 6865func (s *PortMapping) SetProtocol(v string) *PortMapping { 6866 s.Protocol = &v 6867 return s 6868} 6869 6870// An object that represents metadata for a resource. 6871type ResourceMetadata struct { 6872 _ struct{} `type:"structure"` 6873 6874 // Arn is a required field 6875 Arn *string `locationName:"arn" type:"string" required:"true"` 6876 6877 // CreatedAt is a required field 6878 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` 6879 6880 // LastUpdatedAt is a required field 6881 LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` 6882 6883 // Uid is a required field 6884 Uid *string `locationName:"uid" type:"string" required:"true"` 6885 6886 // Version is a required field 6887 Version *int64 `locationName:"version" type:"long" required:"true"` 6888} 6889 6890// String returns the string representation 6891func (s ResourceMetadata) String() string { 6892 return awsutil.Prettify(s) 6893} 6894 6895// GoString returns the string representation 6896func (s ResourceMetadata) GoString() string { 6897 return s.String() 6898} 6899 6900// SetArn sets the Arn field's value. 6901func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata { 6902 s.Arn = &v 6903 return s 6904} 6905 6906// SetCreatedAt sets the CreatedAt field's value. 6907func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata { 6908 s.CreatedAt = &v 6909 return s 6910} 6911 6912// SetLastUpdatedAt sets the LastUpdatedAt field's value. 6913func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata { 6914 s.LastUpdatedAt = &v 6915 return s 6916} 6917 6918// SetUid sets the Uid field's value. 6919func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata { 6920 s.Uid = &v 6921 return s 6922} 6923 6924// SetVersion sets the Version field's value. 6925func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata { 6926 s.Version = &v 6927 return s 6928} 6929 6930// An object that represents a route returned by a describe operation. 6931type RouteData struct { 6932 _ struct{} `type:"structure"` 6933 6934 // MeshName is a required field 6935 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 6936 6937 // An object that represents metadata for a resource. 6938 // 6939 // Metadata is a required field 6940 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 6941 6942 // RouteName is a required field 6943 RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` 6944 6945 // An object that represents a route specification. Specify one route type. 6946 // 6947 // Spec is a required field 6948 Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` 6949 6950 // An object that represents the current status of a route. 6951 // 6952 // Status is a required field 6953 Status *RouteStatus `locationName:"status" type:"structure" required:"true"` 6954 6955 // VirtualRouterName is a required field 6956 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 6957} 6958 6959// String returns the string representation 6960func (s RouteData) String() string { 6961 return awsutil.Prettify(s) 6962} 6963 6964// GoString returns the string representation 6965func (s RouteData) GoString() string { 6966 return s.String() 6967} 6968 6969// SetMeshName sets the MeshName field's value. 6970func (s *RouteData) SetMeshName(v string) *RouteData { 6971 s.MeshName = &v 6972 return s 6973} 6974 6975// SetMetadata sets the Metadata field's value. 6976func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData { 6977 s.Metadata = v 6978 return s 6979} 6980 6981// SetRouteName sets the RouteName field's value. 6982func (s *RouteData) SetRouteName(v string) *RouteData { 6983 s.RouteName = &v 6984 return s 6985} 6986 6987// SetSpec sets the Spec field's value. 6988func (s *RouteData) SetSpec(v *RouteSpec) *RouteData { 6989 s.Spec = v 6990 return s 6991} 6992 6993// SetStatus sets the Status field's value. 6994func (s *RouteData) SetStatus(v *RouteStatus) *RouteData { 6995 s.Status = v 6996 return s 6997} 6998 6999// SetVirtualRouterName sets the VirtualRouterName field's value. 7000func (s *RouteData) SetVirtualRouterName(v string) *RouteData { 7001 s.VirtualRouterName = &v 7002 return s 7003} 7004 7005// An object that represents a route returned by a list operation. 7006type RouteRef struct { 7007 _ struct{} `type:"structure"` 7008 7009 // Arn is a required field 7010 Arn *string `locationName:"arn" type:"string" required:"true"` 7011 7012 // MeshName is a required field 7013 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 7014 7015 // RouteName is a required field 7016 RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` 7017 7018 // VirtualRouterName is a required field 7019 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 7020} 7021 7022// String returns the string representation 7023func (s RouteRef) String() string { 7024 return awsutil.Prettify(s) 7025} 7026 7027// GoString returns the string representation 7028func (s RouteRef) GoString() string { 7029 return s.String() 7030} 7031 7032// SetArn sets the Arn field's value. 7033func (s *RouteRef) SetArn(v string) *RouteRef { 7034 s.Arn = &v 7035 return s 7036} 7037 7038// SetMeshName sets the MeshName field's value. 7039func (s *RouteRef) SetMeshName(v string) *RouteRef { 7040 s.MeshName = &v 7041 return s 7042} 7043 7044// SetRouteName sets the RouteName field's value. 7045func (s *RouteRef) SetRouteName(v string) *RouteRef { 7046 s.RouteName = &v 7047 return s 7048} 7049 7050// SetVirtualRouterName sets the VirtualRouterName field's value. 7051func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef { 7052 s.VirtualRouterName = &v 7053 return s 7054} 7055 7056// An object that represents a route specification. Specify one route type. 7057type RouteSpec struct { 7058 _ struct{} `type:"structure"` 7059 7060 // An object that represents a GRPC route type. 7061 GrpcRoute *GrpcRoute `locationName:"grpcRoute" type:"structure"` 7062 7063 // An object that represents an HTTP or HTTP2 route type. 7064 Http2Route *HttpRoute `locationName:"http2Route" type:"structure"` 7065 7066 // An object that represents an HTTP or HTTP2 route type. 7067 HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` 7068 7069 Priority *int64 `locationName:"priority" type:"integer"` 7070 7071 // An object that represents a TCP route type. 7072 TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"` 7073} 7074 7075// String returns the string representation 7076func (s RouteSpec) String() string { 7077 return awsutil.Prettify(s) 7078} 7079 7080// GoString returns the string representation 7081func (s RouteSpec) GoString() string { 7082 return s.String() 7083} 7084 7085// Validate inspects the fields of the type to determine if they are valid. 7086func (s *RouteSpec) Validate() error { 7087 invalidParams := request.ErrInvalidParams{Context: "RouteSpec"} 7088 if s.GrpcRoute != nil { 7089 if err := s.GrpcRoute.Validate(); err != nil { 7090 invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) 7091 } 7092 } 7093 if s.Http2Route != nil { 7094 if err := s.Http2Route.Validate(); err != nil { 7095 invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) 7096 } 7097 } 7098 if s.HttpRoute != nil { 7099 if err := s.HttpRoute.Validate(); err != nil { 7100 invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) 7101 } 7102 } 7103 if s.TcpRoute != nil { 7104 if err := s.TcpRoute.Validate(); err != nil { 7105 invalidParams.AddNested("TcpRoute", err.(request.ErrInvalidParams)) 7106 } 7107 } 7108 7109 if invalidParams.Len() > 0 { 7110 return invalidParams 7111 } 7112 return nil 7113} 7114 7115// SetGrpcRoute sets the GrpcRoute field's value. 7116func (s *RouteSpec) SetGrpcRoute(v *GrpcRoute) *RouteSpec { 7117 s.GrpcRoute = v 7118 return s 7119} 7120 7121// SetHttp2Route sets the Http2Route field's value. 7122func (s *RouteSpec) SetHttp2Route(v *HttpRoute) *RouteSpec { 7123 s.Http2Route = v 7124 return s 7125} 7126 7127// SetHttpRoute sets the HttpRoute field's value. 7128func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { 7129 s.HttpRoute = v 7130 return s 7131} 7132 7133// SetPriority sets the Priority field's value. 7134func (s *RouteSpec) SetPriority(v int64) *RouteSpec { 7135 s.Priority = &v 7136 return s 7137} 7138 7139// SetTcpRoute sets the TcpRoute field's value. 7140func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec { 7141 s.TcpRoute = v 7142 return s 7143} 7144 7145// An object that represents the current status of a route. 7146type RouteStatus struct { 7147 _ struct{} `type:"structure"` 7148 7149 // Status is a required field 7150 Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"` 7151} 7152 7153// String returns the string representation 7154func (s RouteStatus) String() string { 7155 return awsutil.Prettify(s) 7156} 7157 7158// GoString returns the string representation 7159func (s RouteStatus) GoString() string { 7160 return s.String() 7161} 7162 7163// SetStatus sets the Status field's value. 7164func (s *RouteStatus) SetStatus(v string) *RouteStatus { 7165 s.Status = &v 7166 return s 7167} 7168 7169// An object that represents the service discovery information for a virtual 7170// node. 7171type ServiceDiscovery struct { 7172 _ struct{} `type:"structure"` 7173 7174 // An object that represents the AWS Cloud Map service discovery information 7175 // for your virtual node. 7176 AwsCloudMap *AwsCloudMapServiceDiscovery `locationName:"awsCloudMap" type:"structure"` 7177 7178 // An object that represents the DNS service discovery information for your 7179 // virtual node. 7180 Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"` 7181} 7182 7183// String returns the string representation 7184func (s ServiceDiscovery) String() string { 7185 return awsutil.Prettify(s) 7186} 7187 7188// GoString returns the string representation 7189func (s ServiceDiscovery) GoString() string { 7190 return s.String() 7191} 7192 7193// Validate inspects the fields of the type to determine if they are valid. 7194func (s *ServiceDiscovery) Validate() error { 7195 invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"} 7196 if s.AwsCloudMap != nil { 7197 if err := s.AwsCloudMap.Validate(); err != nil { 7198 invalidParams.AddNested("AwsCloudMap", err.(request.ErrInvalidParams)) 7199 } 7200 } 7201 if s.Dns != nil { 7202 if err := s.Dns.Validate(); err != nil { 7203 invalidParams.AddNested("Dns", err.(request.ErrInvalidParams)) 7204 } 7205 } 7206 7207 if invalidParams.Len() > 0 { 7208 return invalidParams 7209 } 7210 return nil 7211} 7212 7213// SetAwsCloudMap sets the AwsCloudMap field's value. 7214func (s *ServiceDiscovery) SetAwsCloudMap(v *AwsCloudMapServiceDiscovery) *ServiceDiscovery { 7215 s.AwsCloudMap = v 7216 return s 7217} 7218 7219// SetDns sets the Dns field's value. 7220func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery { 7221 s.Dns = v 7222 return s 7223} 7224 7225// Optional metadata that you apply to a resource to assist with categorization 7226// and organization. Each tag consists of a key and an optional value, both 7227// of which you define. Tag keys can have a maximum character length of 128 7228// characters, and tag values can have a maximum length of 256 characters. 7229type TagRef struct { 7230 _ struct{} `type:"structure"` 7231 7232 // Key is a required field 7233 Key *string `locationName:"key" min:"1" type:"string" required:"true"` 7234 7235 Value *string `locationName:"value" type:"string"` 7236} 7237 7238// String returns the string representation 7239func (s TagRef) String() string { 7240 return awsutil.Prettify(s) 7241} 7242 7243// GoString returns the string representation 7244func (s TagRef) GoString() string { 7245 return s.String() 7246} 7247 7248// Validate inspects the fields of the type to determine if they are valid. 7249func (s *TagRef) Validate() error { 7250 invalidParams := request.ErrInvalidParams{Context: "TagRef"} 7251 if s.Key == nil { 7252 invalidParams.Add(request.NewErrParamRequired("Key")) 7253 } 7254 if s.Key != nil && len(*s.Key) < 1 { 7255 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 7256 } 7257 7258 if invalidParams.Len() > 0 { 7259 return invalidParams 7260 } 7261 return nil 7262} 7263 7264// SetKey sets the Key field's value. 7265func (s *TagRef) SetKey(v string) *TagRef { 7266 s.Key = &v 7267 return s 7268} 7269 7270// SetValue sets the Value field's value. 7271func (s *TagRef) SetValue(v string) *TagRef { 7272 s.Value = &v 7273 return s 7274} 7275 7276type TagResourceInput struct { 7277 _ struct{} `type:"structure"` 7278 7279 // ResourceArn is a required field 7280 ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` 7281 7282 // Tags is a required field 7283 Tags []*TagRef `locationName:"tags" type:"list" required:"true"` 7284} 7285 7286// String returns the string representation 7287func (s TagResourceInput) String() string { 7288 return awsutil.Prettify(s) 7289} 7290 7291// GoString returns the string representation 7292func (s TagResourceInput) GoString() string { 7293 return s.String() 7294} 7295 7296// Validate inspects the fields of the type to determine if they are valid. 7297func (s *TagResourceInput) Validate() error { 7298 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 7299 if s.ResourceArn == nil { 7300 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 7301 } 7302 if s.Tags == nil { 7303 invalidParams.Add(request.NewErrParamRequired("Tags")) 7304 } 7305 if s.Tags != nil { 7306 for i, v := range s.Tags { 7307 if v == nil { 7308 continue 7309 } 7310 if err := v.Validate(); err != nil { 7311 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7312 } 7313 } 7314 } 7315 7316 if invalidParams.Len() > 0 { 7317 return invalidParams 7318 } 7319 return nil 7320} 7321 7322// SetResourceArn sets the ResourceArn field's value. 7323func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 7324 s.ResourceArn = &v 7325 return s 7326} 7327 7328// SetTags sets the Tags field's value. 7329func (s *TagResourceInput) SetTags(v []*TagRef) *TagResourceInput { 7330 s.Tags = v 7331 return s 7332} 7333 7334type TagResourceOutput struct { 7335 _ struct{} `type:"structure"` 7336} 7337 7338// String returns the string representation 7339func (s TagResourceOutput) String() string { 7340 return awsutil.Prettify(s) 7341} 7342 7343// GoString returns the string representation 7344func (s TagResourceOutput) GoString() string { 7345 return s.String() 7346} 7347 7348// An object that represents a TCP route type. 7349type TcpRoute struct { 7350 _ struct{} `type:"structure"` 7351 7352 // An object that represents the action to take if a match is determined. 7353 // 7354 // Action is a required field 7355 Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"` 7356} 7357 7358// String returns the string representation 7359func (s TcpRoute) String() string { 7360 return awsutil.Prettify(s) 7361} 7362 7363// GoString returns the string representation 7364func (s TcpRoute) GoString() string { 7365 return s.String() 7366} 7367 7368// Validate inspects the fields of the type to determine if they are valid. 7369func (s *TcpRoute) Validate() error { 7370 invalidParams := request.ErrInvalidParams{Context: "TcpRoute"} 7371 if s.Action == nil { 7372 invalidParams.Add(request.NewErrParamRequired("Action")) 7373 } 7374 if s.Action != nil { 7375 if err := s.Action.Validate(); err != nil { 7376 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 7377 } 7378 } 7379 7380 if invalidParams.Len() > 0 { 7381 return invalidParams 7382 } 7383 return nil 7384} 7385 7386// SetAction sets the Action field's value. 7387func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute { 7388 s.Action = v 7389 return s 7390} 7391 7392// An object that represents the action to take if a match is determined. 7393type TcpRouteAction struct { 7394 _ struct{} `type:"structure"` 7395 7396 // WeightedTargets is a required field 7397 WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` 7398} 7399 7400// String returns the string representation 7401func (s TcpRouteAction) String() string { 7402 return awsutil.Prettify(s) 7403} 7404 7405// GoString returns the string representation 7406func (s TcpRouteAction) GoString() string { 7407 return s.String() 7408} 7409 7410// Validate inspects the fields of the type to determine if they are valid. 7411func (s *TcpRouteAction) Validate() error { 7412 invalidParams := request.ErrInvalidParams{Context: "TcpRouteAction"} 7413 if s.WeightedTargets == nil { 7414 invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) 7415 } 7416 if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { 7417 invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) 7418 } 7419 if s.WeightedTargets != nil { 7420 for i, v := range s.WeightedTargets { 7421 if v == nil { 7422 continue 7423 } 7424 if err := v.Validate(); err != nil { 7425 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) 7426 } 7427 } 7428 } 7429 7430 if invalidParams.Len() > 0 { 7431 return invalidParams 7432 } 7433 return nil 7434} 7435 7436// SetWeightedTargets sets the WeightedTargets field's value. 7437func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction { 7438 s.WeightedTargets = v 7439 return s 7440} 7441 7442type UntagResourceInput struct { 7443 _ struct{} `type:"structure"` 7444 7445 // ResourceArn is a required field 7446 ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` 7447 7448 // TagKeys is a required field 7449 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 7450} 7451 7452// String returns the string representation 7453func (s UntagResourceInput) String() string { 7454 return awsutil.Prettify(s) 7455} 7456 7457// GoString returns the string representation 7458func (s UntagResourceInput) GoString() string { 7459 return s.String() 7460} 7461 7462// Validate inspects the fields of the type to determine if they are valid. 7463func (s *UntagResourceInput) Validate() error { 7464 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 7465 if s.ResourceArn == nil { 7466 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 7467 } 7468 if s.TagKeys == nil { 7469 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 7470 } 7471 7472 if invalidParams.Len() > 0 { 7473 return invalidParams 7474 } 7475 return nil 7476} 7477 7478// SetResourceArn sets the ResourceArn field's value. 7479func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 7480 s.ResourceArn = &v 7481 return s 7482} 7483 7484// SetTagKeys sets the TagKeys field's value. 7485func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 7486 s.TagKeys = v 7487 return s 7488} 7489 7490type UntagResourceOutput struct { 7491 _ struct{} `type:"structure"` 7492} 7493 7494// String returns the string representation 7495func (s UntagResourceOutput) String() string { 7496 return awsutil.Prettify(s) 7497} 7498 7499// GoString returns the string representation 7500func (s UntagResourceOutput) GoString() string { 7501 return s.String() 7502} 7503 7504type UpdateMeshInput struct { 7505 _ struct{} `type:"structure"` 7506 7507 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 7508 7509 // MeshName is a required field 7510 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7511 7512 // An object that represents the specification of a service mesh. 7513 Spec *MeshSpec `locationName:"spec" type:"structure"` 7514} 7515 7516// String returns the string representation 7517func (s UpdateMeshInput) String() string { 7518 return awsutil.Prettify(s) 7519} 7520 7521// GoString returns the string representation 7522func (s UpdateMeshInput) GoString() string { 7523 return s.String() 7524} 7525 7526// Validate inspects the fields of the type to determine if they are valid. 7527func (s *UpdateMeshInput) Validate() error { 7528 invalidParams := request.ErrInvalidParams{Context: "UpdateMeshInput"} 7529 if s.MeshName == nil { 7530 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7531 } 7532 if s.MeshName != nil && len(*s.MeshName) < 1 { 7533 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7534 } 7535 if s.Spec != nil { 7536 if err := s.Spec.Validate(); err != nil { 7537 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 7538 } 7539 } 7540 7541 if invalidParams.Len() > 0 { 7542 return invalidParams 7543 } 7544 return nil 7545} 7546 7547// SetClientToken sets the ClientToken field's value. 7548func (s *UpdateMeshInput) SetClientToken(v string) *UpdateMeshInput { 7549 s.ClientToken = &v 7550 return s 7551} 7552 7553// SetMeshName sets the MeshName field's value. 7554func (s *UpdateMeshInput) SetMeshName(v string) *UpdateMeshInput { 7555 s.MeshName = &v 7556 return s 7557} 7558 7559// SetSpec sets the Spec field's value. 7560func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput { 7561 s.Spec = v 7562 return s 7563} 7564 7565type UpdateMeshOutput struct { 7566 _ struct{} `type:"structure" payload:"Mesh"` 7567 7568 // An object that represents a service mesh returned by a describe operation. 7569 // 7570 // Mesh is a required field 7571 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 7572} 7573 7574// String returns the string representation 7575func (s UpdateMeshOutput) String() string { 7576 return awsutil.Prettify(s) 7577} 7578 7579// GoString returns the string representation 7580func (s UpdateMeshOutput) GoString() string { 7581 return s.String() 7582} 7583 7584// SetMesh sets the Mesh field's value. 7585func (s *UpdateMeshOutput) SetMesh(v *MeshData) *UpdateMeshOutput { 7586 s.Mesh = v 7587 return s 7588} 7589 7590type UpdateRouteInput struct { 7591 _ struct{} `type:"structure"` 7592 7593 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 7594 7595 // MeshName is a required field 7596 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7597 7598 // RouteName is a required field 7599 RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` 7600 7601 // An object that represents a route specification. Specify one route type. 7602 // 7603 // Spec is a required field 7604 Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` 7605 7606 // VirtualRouterName is a required field 7607 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 7608} 7609 7610// String returns the string representation 7611func (s UpdateRouteInput) String() string { 7612 return awsutil.Prettify(s) 7613} 7614 7615// GoString returns the string representation 7616func (s UpdateRouteInput) GoString() string { 7617 return s.String() 7618} 7619 7620// Validate inspects the fields of the type to determine if they are valid. 7621func (s *UpdateRouteInput) Validate() error { 7622 invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"} 7623 if s.MeshName == nil { 7624 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7625 } 7626 if s.MeshName != nil && len(*s.MeshName) < 1 { 7627 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7628 } 7629 if s.RouteName == nil { 7630 invalidParams.Add(request.NewErrParamRequired("RouteName")) 7631 } 7632 if s.RouteName != nil && len(*s.RouteName) < 1 { 7633 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 7634 } 7635 if s.Spec == nil { 7636 invalidParams.Add(request.NewErrParamRequired("Spec")) 7637 } 7638 if s.VirtualRouterName == nil { 7639 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 7640 } 7641 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 7642 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 7643 } 7644 if s.Spec != nil { 7645 if err := s.Spec.Validate(); err != nil { 7646 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 7647 } 7648 } 7649 7650 if invalidParams.Len() > 0 { 7651 return invalidParams 7652 } 7653 return nil 7654} 7655 7656// SetClientToken sets the ClientToken field's value. 7657func (s *UpdateRouteInput) SetClientToken(v string) *UpdateRouteInput { 7658 s.ClientToken = &v 7659 return s 7660} 7661 7662// SetMeshName sets the MeshName field's value. 7663func (s *UpdateRouteInput) SetMeshName(v string) *UpdateRouteInput { 7664 s.MeshName = &v 7665 return s 7666} 7667 7668// SetRouteName sets the RouteName field's value. 7669func (s *UpdateRouteInput) SetRouteName(v string) *UpdateRouteInput { 7670 s.RouteName = &v 7671 return s 7672} 7673 7674// SetSpec sets the Spec field's value. 7675func (s *UpdateRouteInput) SetSpec(v *RouteSpec) *UpdateRouteInput { 7676 s.Spec = v 7677 return s 7678} 7679 7680// SetVirtualRouterName sets the VirtualRouterName field's value. 7681func (s *UpdateRouteInput) SetVirtualRouterName(v string) *UpdateRouteInput { 7682 s.VirtualRouterName = &v 7683 return s 7684} 7685 7686type UpdateRouteOutput struct { 7687 _ struct{} `type:"structure" payload:"Route"` 7688 7689 // An object that represents a route returned by a describe operation. 7690 // 7691 // Route is a required field 7692 Route *RouteData `locationName:"route" type:"structure" required:"true"` 7693} 7694 7695// String returns the string representation 7696func (s UpdateRouteOutput) String() string { 7697 return awsutil.Prettify(s) 7698} 7699 7700// GoString returns the string representation 7701func (s UpdateRouteOutput) GoString() string { 7702 return s.String() 7703} 7704 7705// SetRoute sets the Route field's value. 7706func (s *UpdateRouteOutput) SetRoute(v *RouteData) *UpdateRouteOutput { 7707 s.Route = v 7708 return s 7709} 7710 7711type UpdateVirtualNodeInput struct { 7712 _ struct{} `type:"structure"` 7713 7714 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 7715 7716 // MeshName is a required field 7717 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7718 7719 // An object that represents the specification of a virtual node. 7720 // 7721 // Spec is a required field 7722 Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` 7723 7724 // VirtualNodeName is a required field 7725 VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 7726} 7727 7728// String returns the string representation 7729func (s UpdateVirtualNodeInput) String() string { 7730 return awsutil.Prettify(s) 7731} 7732 7733// GoString returns the string representation 7734func (s UpdateVirtualNodeInput) GoString() string { 7735 return s.String() 7736} 7737 7738// Validate inspects the fields of the type to determine if they are valid. 7739func (s *UpdateVirtualNodeInput) Validate() error { 7740 invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualNodeInput"} 7741 if s.MeshName == nil { 7742 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7743 } 7744 if s.MeshName != nil && len(*s.MeshName) < 1 { 7745 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7746 } 7747 if s.Spec == nil { 7748 invalidParams.Add(request.NewErrParamRequired("Spec")) 7749 } 7750 if s.VirtualNodeName == nil { 7751 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 7752 } 7753 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 7754 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 7755 } 7756 if s.Spec != nil { 7757 if err := s.Spec.Validate(); err != nil { 7758 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 7759 } 7760 } 7761 7762 if invalidParams.Len() > 0 { 7763 return invalidParams 7764 } 7765 return nil 7766} 7767 7768// SetClientToken sets the ClientToken field's value. 7769func (s *UpdateVirtualNodeInput) SetClientToken(v string) *UpdateVirtualNodeInput { 7770 s.ClientToken = &v 7771 return s 7772} 7773 7774// SetMeshName sets the MeshName field's value. 7775func (s *UpdateVirtualNodeInput) SetMeshName(v string) *UpdateVirtualNodeInput { 7776 s.MeshName = &v 7777 return s 7778} 7779 7780// SetSpec sets the Spec field's value. 7781func (s *UpdateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *UpdateVirtualNodeInput { 7782 s.Spec = v 7783 return s 7784} 7785 7786// SetVirtualNodeName sets the VirtualNodeName field's value. 7787func (s *UpdateVirtualNodeInput) SetVirtualNodeName(v string) *UpdateVirtualNodeInput { 7788 s.VirtualNodeName = &v 7789 return s 7790} 7791 7792type UpdateVirtualNodeOutput struct { 7793 _ struct{} `type:"structure" payload:"VirtualNode"` 7794 7795 // An object that represents a virtual node returned by a describe operation. 7796 // 7797 // VirtualNode is a required field 7798 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 7799} 7800 7801// String returns the string representation 7802func (s UpdateVirtualNodeOutput) String() string { 7803 return awsutil.Prettify(s) 7804} 7805 7806// GoString returns the string representation 7807func (s UpdateVirtualNodeOutput) GoString() string { 7808 return s.String() 7809} 7810 7811// SetVirtualNode sets the VirtualNode field's value. 7812func (s *UpdateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *UpdateVirtualNodeOutput { 7813 s.VirtualNode = v 7814 return s 7815} 7816 7817type UpdateVirtualRouterInput struct { 7818 _ struct{} `type:"structure"` 7819 7820 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 7821 7822 // MeshName is a required field 7823 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7824 7825 // An object that represents the specification of a virtual router. 7826 // 7827 // Spec is a required field 7828 Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` 7829 7830 // VirtualRouterName is a required field 7831 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 7832} 7833 7834// String returns the string representation 7835func (s UpdateVirtualRouterInput) String() string { 7836 return awsutil.Prettify(s) 7837} 7838 7839// GoString returns the string representation 7840func (s UpdateVirtualRouterInput) GoString() string { 7841 return s.String() 7842} 7843 7844// Validate inspects the fields of the type to determine if they are valid. 7845func (s *UpdateVirtualRouterInput) Validate() error { 7846 invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualRouterInput"} 7847 if s.MeshName == nil { 7848 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7849 } 7850 if s.MeshName != nil && len(*s.MeshName) < 1 { 7851 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7852 } 7853 if s.Spec == nil { 7854 invalidParams.Add(request.NewErrParamRequired("Spec")) 7855 } 7856 if s.VirtualRouterName == nil { 7857 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 7858 } 7859 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 7860 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 7861 } 7862 if s.Spec != nil { 7863 if err := s.Spec.Validate(); err != nil { 7864 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 7865 } 7866 } 7867 7868 if invalidParams.Len() > 0 { 7869 return invalidParams 7870 } 7871 return nil 7872} 7873 7874// SetClientToken sets the ClientToken field's value. 7875func (s *UpdateVirtualRouterInput) SetClientToken(v string) *UpdateVirtualRouterInput { 7876 s.ClientToken = &v 7877 return s 7878} 7879 7880// SetMeshName sets the MeshName field's value. 7881func (s *UpdateVirtualRouterInput) SetMeshName(v string) *UpdateVirtualRouterInput { 7882 s.MeshName = &v 7883 return s 7884} 7885 7886// SetSpec sets the Spec field's value. 7887func (s *UpdateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *UpdateVirtualRouterInput { 7888 s.Spec = v 7889 return s 7890} 7891 7892// SetVirtualRouterName sets the VirtualRouterName field's value. 7893func (s *UpdateVirtualRouterInput) SetVirtualRouterName(v string) *UpdateVirtualRouterInput { 7894 s.VirtualRouterName = &v 7895 return s 7896} 7897 7898type UpdateVirtualRouterOutput struct { 7899 _ struct{} `type:"structure" payload:"VirtualRouter"` 7900 7901 // An object that represents a virtual router returned by a describe operation. 7902 // 7903 // VirtualRouter is a required field 7904 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 7905} 7906 7907// String returns the string representation 7908func (s UpdateVirtualRouterOutput) String() string { 7909 return awsutil.Prettify(s) 7910} 7911 7912// GoString returns the string representation 7913func (s UpdateVirtualRouterOutput) GoString() string { 7914 return s.String() 7915} 7916 7917// SetVirtualRouter sets the VirtualRouter field's value. 7918func (s *UpdateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *UpdateVirtualRouterOutput { 7919 s.VirtualRouter = v 7920 return s 7921} 7922 7923type UpdateVirtualServiceInput struct { 7924 _ struct{} `type:"structure"` 7925 7926 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 7927 7928 // MeshName is a required field 7929 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7930 7931 // An object that represents the specification of a virtual service. 7932 // 7933 // Spec is a required field 7934 Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` 7935 7936 // VirtualServiceName is a required field 7937 VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` 7938} 7939 7940// String returns the string representation 7941func (s UpdateVirtualServiceInput) String() string { 7942 return awsutil.Prettify(s) 7943} 7944 7945// GoString returns the string representation 7946func (s UpdateVirtualServiceInput) GoString() string { 7947 return s.String() 7948} 7949 7950// Validate inspects the fields of the type to determine if they are valid. 7951func (s *UpdateVirtualServiceInput) Validate() error { 7952 invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualServiceInput"} 7953 if s.MeshName == nil { 7954 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7955 } 7956 if s.MeshName != nil && len(*s.MeshName) < 1 { 7957 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7958 } 7959 if s.Spec == nil { 7960 invalidParams.Add(request.NewErrParamRequired("Spec")) 7961 } 7962 if s.VirtualServiceName == nil { 7963 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 7964 } 7965 if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { 7966 invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) 7967 } 7968 if s.Spec != nil { 7969 if err := s.Spec.Validate(); err != nil { 7970 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 7971 } 7972 } 7973 7974 if invalidParams.Len() > 0 { 7975 return invalidParams 7976 } 7977 return nil 7978} 7979 7980// SetClientToken sets the ClientToken field's value. 7981func (s *UpdateVirtualServiceInput) SetClientToken(v string) *UpdateVirtualServiceInput { 7982 s.ClientToken = &v 7983 return s 7984} 7985 7986// SetMeshName sets the MeshName field's value. 7987func (s *UpdateVirtualServiceInput) SetMeshName(v string) *UpdateVirtualServiceInput { 7988 s.MeshName = &v 7989 return s 7990} 7991 7992// SetSpec sets the Spec field's value. 7993func (s *UpdateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *UpdateVirtualServiceInput { 7994 s.Spec = v 7995 return s 7996} 7997 7998// SetVirtualServiceName sets the VirtualServiceName field's value. 7999func (s *UpdateVirtualServiceInput) SetVirtualServiceName(v string) *UpdateVirtualServiceInput { 8000 s.VirtualServiceName = &v 8001 return s 8002} 8003 8004type UpdateVirtualServiceOutput struct { 8005 _ struct{} `type:"structure" payload:"VirtualService"` 8006 8007 // An object that represents a virtual service returned by a describe operation. 8008 // 8009 // VirtualService is a required field 8010 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 8011} 8012 8013// String returns the string representation 8014func (s UpdateVirtualServiceOutput) String() string { 8015 return awsutil.Prettify(s) 8016} 8017 8018// GoString returns the string representation 8019func (s UpdateVirtualServiceOutput) GoString() string { 8020 return s.String() 8021} 8022 8023// SetVirtualService sets the VirtualService field's value. 8024func (s *UpdateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *UpdateVirtualServiceOutput { 8025 s.VirtualService = v 8026 return s 8027} 8028 8029// An object that represents a virtual node returned by a describe operation. 8030type VirtualNodeData struct { 8031 _ struct{} `type:"structure"` 8032 8033 // MeshName is a required field 8034 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 8035 8036 // An object that represents metadata for a resource. 8037 // 8038 // Metadata is a required field 8039 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 8040 8041 // An object that represents the specification of a virtual node. 8042 // 8043 // Spec is a required field 8044 Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` 8045 8046 // An object that represents the current status of the virtual node. 8047 // 8048 // Status is a required field 8049 Status *VirtualNodeStatus `locationName:"status" type:"structure" required:"true"` 8050 8051 // VirtualNodeName is a required field 8052 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 8053} 8054 8055// String returns the string representation 8056func (s VirtualNodeData) String() string { 8057 return awsutil.Prettify(s) 8058} 8059 8060// GoString returns the string representation 8061func (s VirtualNodeData) GoString() string { 8062 return s.String() 8063} 8064 8065// SetMeshName sets the MeshName field's value. 8066func (s *VirtualNodeData) SetMeshName(v string) *VirtualNodeData { 8067 s.MeshName = &v 8068 return s 8069} 8070 8071// SetMetadata sets the Metadata field's value. 8072func (s *VirtualNodeData) SetMetadata(v *ResourceMetadata) *VirtualNodeData { 8073 s.Metadata = v 8074 return s 8075} 8076 8077// SetSpec sets the Spec field's value. 8078func (s *VirtualNodeData) SetSpec(v *VirtualNodeSpec) *VirtualNodeData { 8079 s.Spec = v 8080 return s 8081} 8082 8083// SetStatus sets the Status field's value. 8084func (s *VirtualNodeData) SetStatus(v *VirtualNodeStatus) *VirtualNodeData { 8085 s.Status = v 8086 return s 8087} 8088 8089// SetVirtualNodeName sets the VirtualNodeName field's value. 8090func (s *VirtualNodeData) SetVirtualNodeName(v string) *VirtualNodeData { 8091 s.VirtualNodeName = &v 8092 return s 8093} 8094 8095// An object that represents a virtual node returned by a list operation. 8096type VirtualNodeRef struct { 8097 _ struct{} `type:"structure"` 8098 8099 // Arn is a required field 8100 Arn *string `locationName:"arn" type:"string" required:"true"` 8101 8102 // MeshName is a required field 8103 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 8104 8105 // VirtualNodeName is a required field 8106 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 8107} 8108 8109// String returns the string representation 8110func (s VirtualNodeRef) String() string { 8111 return awsutil.Prettify(s) 8112} 8113 8114// GoString returns the string representation 8115func (s VirtualNodeRef) GoString() string { 8116 return s.String() 8117} 8118 8119// SetArn sets the Arn field's value. 8120func (s *VirtualNodeRef) SetArn(v string) *VirtualNodeRef { 8121 s.Arn = &v 8122 return s 8123} 8124 8125// SetMeshName sets the MeshName field's value. 8126func (s *VirtualNodeRef) SetMeshName(v string) *VirtualNodeRef { 8127 s.MeshName = &v 8128 return s 8129} 8130 8131// SetVirtualNodeName sets the VirtualNodeName field's value. 8132func (s *VirtualNodeRef) SetVirtualNodeName(v string) *VirtualNodeRef { 8133 s.VirtualNodeName = &v 8134 return s 8135} 8136 8137// An object that represents a virtual node service provider. 8138type VirtualNodeServiceProvider struct { 8139 _ struct{} `type:"structure"` 8140 8141 // VirtualNodeName is a required field 8142 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 8143} 8144 8145// String returns the string representation 8146func (s VirtualNodeServiceProvider) String() string { 8147 return awsutil.Prettify(s) 8148} 8149 8150// GoString returns the string representation 8151func (s VirtualNodeServiceProvider) GoString() string { 8152 return s.String() 8153} 8154 8155// Validate inspects the fields of the type to determine if they are valid. 8156func (s *VirtualNodeServiceProvider) Validate() error { 8157 invalidParams := request.ErrInvalidParams{Context: "VirtualNodeServiceProvider"} 8158 if s.VirtualNodeName == nil { 8159 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 8160 } 8161 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 8162 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 8163 } 8164 8165 if invalidParams.Len() > 0 { 8166 return invalidParams 8167 } 8168 return nil 8169} 8170 8171// SetVirtualNodeName sets the VirtualNodeName field's value. 8172func (s *VirtualNodeServiceProvider) SetVirtualNodeName(v string) *VirtualNodeServiceProvider { 8173 s.VirtualNodeName = &v 8174 return s 8175} 8176 8177// An object that represents the specification of a virtual node. 8178type VirtualNodeSpec struct { 8179 _ struct{} `type:"structure"` 8180 8181 Backends []*Backend `locationName:"backends" type:"list"` 8182 8183 Listeners []*Listener `locationName:"listeners" type:"list"` 8184 8185 // An object that represents the logging information for a virtual node. 8186 Logging *Logging `locationName:"logging" type:"structure"` 8187 8188 // An object that represents the service discovery information for a virtual 8189 // node. 8190 ServiceDiscovery *ServiceDiscovery `locationName:"serviceDiscovery" type:"structure"` 8191} 8192 8193// String returns the string representation 8194func (s VirtualNodeSpec) String() string { 8195 return awsutil.Prettify(s) 8196} 8197 8198// GoString returns the string representation 8199func (s VirtualNodeSpec) GoString() string { 8200 return s.String() 8201} 8202 8203// Validate inspects the fields of the type to determine if they are valid. 8204func (s *VirtualNodeSpec) Validate() error { 8205 invalidParams := request.ErrInvalidParams{Context: "VirtualNodeSpec"} 8206 if s.Backends != nil { 8207 for i, v := range s.Backends { 8208 if v == nil { 8209 continue 8210 } 8211 if err := v.Validate(); err != nil { 8212 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Backends", i), err.(request.ErrInvalidParams)) 8213 } 8214 } 8215 } 8216 if s.Listeners != nil { 8217 for i, v := range s.Listeners { 8218 if v == nil { 8219 continue 8220 } 8221 if err := v.Validate(); err != nil { 8222 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) 8223 } 8224 } 8225 } 8226 if s.Logging != nil { 8227 if err := s.Logging.Validate(); err != nil { 8228 invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) 8229 } 8230 } 8231 if s.ServiceDiscovery != nil { 8232 if err := s.ServiceDiscovery.Validate(); err != nil { 8233 invalidParams.AddNested("ServiceDiscovery", err.(request.ErrInvalidParams)) 8234 } 8235 } 8236 8237 if invalidParams.Len() > 0 { 8238 return invalidParams 8239 } 8240 return nil 8241} 8242 8243// SetBackends sets the Backends field's value. 8244func (s *VirtualNodeSpec) SetBackends(v []*Backend) *VirtualNodeSpec { 8245 s.Backends = v 8246 return s 8247} 8248 8249// SetListeners sets the Listeners field's value. 8250func (s *VirtualNodeSpec) SetListeners(v []*Listener) *VirtualNodeSpec { 8251 s.Listeners = v 8252 return s 8253} 8254 8255// SetLogging sets the Logging field's value. 8256func (s *VirtualNodeSpec) SetLogging(v *Logging) *VirtualNodeSpec { 8257 s.Logging = v 8258 return s 8259} 8260 8261// SetServiceDiscovery sets the ServiceDiscovery field's value. 8262func (s *VirtualNodeSpec) SetServiceDiscovery(v *ServiceDiscovery) *VirtualNodeSpec { 8263 s.ServiceDiscovery = v 8264 return s 8265} 8266 8267// An object that represents the current status of the virtual node. 8268type VirtualNodeStatus struct { 8269 _ struct{} `type:"structure"` 8270 8271 // Status is a required field 8272 Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualNodeStatusCode"` 8273} 8274 8275// String returns the string representation 8276func (s VirtualNodeStatus) String() string { 8277 return awsutil.Prettify(s) 8278} 8279 8280// GoString returns the string representation 8281func (s VirtualNodeStatus) GoString() string { 8282 return s.String() 8283} 8284 8285// SetStatus sets the Status field's value. 8286func (s *VirtualNodeStatus) SetStatus(v string) *VirtualNodeStatus { 8287 s.Status = &v 8288 return s 8289} 8290 8291// An object that represents a virtual router returned by a describe operation. 8292type VirtualRouterData struct { 8293 _ struct{} `type:"structure"` 8294 8295 // MeshName is a required field 8296 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 8297 8298 // An object that represents metadata for a resource. 8299 // 8300 // Metadata is a required field 8301 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 8302 8303 // An object that represents the specification of a virtual router. 8304 // 8305 // Spec is a required field 8306 Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` 8307 8308 // An object that represents the status of a virtual router. 8309 // 8310 // Status is a required field 8311 Status *VirtualRouterStatus `locationName:"status" type:"structure" required:"true"` 8312 8313 // VirtualRouterName is a required field 8314 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 8315} 8316 8317// String returns the string representation 8318func (s VirtualRouterData) String() string { 8319 return awsutil.Prettify(s) 8320} 8321 8322// GoString returns the string representation 8323func (s VirtualRouterData) GoString() string { 8324 return s.String() 8325} 8326 8327// SetMeshName sets the MeshName field's value. 8328func (s *VirtualRouterData) SetMeshName(v string) *VirtualRouterData { 8329 s.MeshName = &v 8330 return s 8331} 8332 8333// SetMetadata sets the Metadata field's value. 8334func (s *VirtualRouterData) SetMetadata(v *ResourceMetadata) *VirtualRouterData { 8335 s.Metadata = v 8336 return s 8337} 8338 8339// SetSpec sets the Spec field's value. 8340func (s *VirtualRouterData) SetSpec(v *VirtualRouterSpec) *VirtualRouterData { 8341 s.Spec = v 8342 return s 8343} 8344 8345// SetStatus sets the Status field's value. 8346func (s *VirtualRouterData) SetStatus(v *VirtualRouterStatus) *VirtualRouterData { 8347 s.Status = v 8348 return s 8349} 8350 8351// SetVirtualRouterName sets the VirtualRouterName field's value. 8352func (s *VirtualRouterData) SetVirtualRouterName(v string) *VirtualRouterData { 8353 s.VirtualRouterName = &v 8354 return s 8355} 8356 8357// An object that represents a virtual router listener. 8358type VirtualRouterListener struct { 8359 _ struct{} `type:"structure"` 8360 8361 // An object that represents a port mapping. 8362 // 8363 // PortMapping is a required field 8364 PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` 8365} 8366 8367// String returns the string representation 8368func (s VirtualRouterListener) String() string { 8369 return awsutil.Prettify(s) 8370} 8371 8372// GoString returns the string representation 8373func (s VirtualRouterListener) GoString() string { 8374 return s.String() 8375} 8376 8377// Validate inspects the fields of the type to determine if they are valid. 8378func (s *VirtualRouterListener) Validate() error { 8379 invalidParams := request.ErrInvalidParams{Context: "VirtualRouterListener"} 8380 if s.PortMapping == nil { 8381 invalidParams.Add(request.NewErrParamRequired("PortMapping")) 8382 } 8383 if s.PortMapping != nil { 8384 if err := s.PortMapping.Validate(); err != nil { 8385 invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) 8386 } 8387 } 8388 8389 if invalidParams.Len() > 0 { 8390 return invalidParams 8391 } 8392 return nil 8393} 8394 8395// SetPortMapping sets the PortMapping field's value. 8396func (s *VirtualRouterListener) SetPortMapping(v *PortMapping) *VirtualRouterListener { 8397 s.PortMapping = v 8398 return s 8399} 8400 8401// An object that represents a virtual router returned by a list operation. 8402type VirtualRouterRef struct { 8403 _ struct{} `type:"structure"` 8404 8405 // Arn is a required field 8406 Arn *string `locationName:"arn" type:"string" required:"true"` 8407 8408 // MeshName is a required field 8409 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 8410 8411 // VirtualRouterName is a required field 8412 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 8413} 8414 8415// String returns the string representation 8416func (s VirtualRouterRef) String() string { 8417 return awsutil.Prettify(s) 8418} 8419 8420// GoString returns the string representation 8421func (s VirtualRouterRef) GoString() string { 8422 return s.String() 8423} 8424 8425// SetArn sets the Arn field's value. 8426func (s *VirtualRouterRef) SetArn(v string) *VirtualRouterRef { 8427 s.Arn = &v 8428 return s 8429} 8430 8431// SetMeshName sets the MeshName field's value. 8432func (s *VirtualRouterRef) SetMeshName(v string) *VirtualRouterRef { 8433 s.MeshName = &v 8434 return s 8435} 8436 8437// SetVirtualRouterName sets the VirtualRouterName field's value. 8438func (s *VirtualRouterRef) SetVirtualRouterName(v string) *VirtualRouterRef { 8439 s.VirtualRouterName = &v 8440 return s 8441} 8442 8443// An object that represents a virtual node service provider. 8444type VirtualRouterServiceProvider struct { 8445 _ struct{} `type:"structure"` 8446 8447 // VirtualRouterName is a required field 8448 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 8449} 8450 8451// String returns the string representation 8452func (s VirtualRouterServiceProvider) String() string { 8453 return awsutil.Prettify(s) 8454} 8455 8456// GoString returns the string representation 8457func (s VirtualRouterServiceProvider) GoString() string { 8458 return s.String() 8459} 8460 8461// Validate inspects the fields of the type to determine if they are valid. 8462func (s *VirtualRouterServiceProvider) Validate() error { 8463 invalidParams := request.ErrInvalidParams{Context: "VirtualRouterServiceProvider"} 8464 if s.VirtualRouterName == nil { 8465 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 8466 } 8467 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 8468 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 8469 } 8470 8471 if invalidParams.Len() > 0 { 8472 return invalidParams 8473 } 8474 return nil 8475} 8476 8477// SetVirtualRouterName sets the VirtualRouterName field's value. 8478func (s *VirtualRouterServiceProvider) SetVirtualRouterName(v string) *VirtualRouterServiceProvider { 8479 s.VirtualRouterName = &v 8480 return s 8481} 8482 8483// An object that represents the specification of a virtual router. 8484type VirtualRouterSpec struct { 8485 _ struct{} `type:"structure"` 8486 8487 Listeners []*VirtualRouterListener `locationName:"listeners" min:"1" type:"list"` 8488} 8489 8490// String returns the string representation 8491func (s VirtualRouterSpec) String() string { 8492 return awsutil.Prettify(s) 8493} 8494 8495// GoString returns the string representation 8496func (s VirtualRouterSpec) GoString() string { 8497 return s.String() 8498} 8499 8500// Validate inspects the fields of the type to determine if they are valid. 8501func (s *VirtualRouterSpec) Validate() error { 8502 invalidParams := request.ErrInvalidParams{Context: "VirtualRouterSpec"} 8503 if s.Listeners != nil && len(s.Listeners) < 1 { 8504 invalidParams.Add(request.NewErrParamMinLen("Listeners", 1)) 8505 } 8506 if s.Listeners != nil { 8507 for i, v := range s.Listeners { 8508 if v == nil { 8509 continue 8510 } 8511 if err := v.Validate(); err != nil { 8512 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) 8513 } 8514 } 8515 } 8516 8517 if invalidParams.Len() > 0 { 8518 return invalidParams 8519 } 8520 return nil 8521} 8522 8523// SetListeners sets the Listeners field's value. 8524func (s *VirtualRouterSpec) SetListeners(v []*VirtualRouterListener) *VirtualRouterSpec { 8525 s.Listeners = v 8526 return s 8527} 8528 8529// An object that represents the status of a virtual router. 8530type VirtualRouterStatus struct { 8531 _ struct{} `type:"structure"` 8532 8533 // Status is a required field 8534 Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualRouterStatusCode"` 8535} 8536 8537// String returns the string representation 8538func (s VirtualRouterStatus) String() string { 8539 return awsutil.Prettify(s) 8540} 8541 8542// GoString returns the string representation 8543func (s VirtualRouterStatus) GoString() string { 8544 return s.String() 8545} 8546 8547// SetStatus sets the Status field's value. 8548func (s *VirtualRouterStatus) SetStatus(v string) *VirtualRouterStatus { 8549 s.Status = &v 8550 return s 8551} 8552 8553// An object that represents a virtual service backend for a virtual node. 8554type VirtualServiceBackend struct { 8555 _ struct{} `type:"structure"` 8556 8557 // VirtualServiceName is a required field 8558 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 8559} 8560 8561// String returns the string representation 8562func (s VirtualServiceBackend) String() string { 8563 return awsutil.Prettify(s) 8564} 8565 8566// GoString returns the string representation 8567func (s VirtualServiceBackend) GoString() string { 8568 return s.String() 8569} 8570 8571// Validate inspects the fields of the type to determine if they are valid. 8572func (s *VirtualServiceBackend) Validate() error { 8573 invalidParams := request.ErrInvalidParams{Context: "VirtualServiceBackend"} 8574 if s.VirtualServiceName == nil { 8575 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 8576 } 8577 8578 if invalidParams.Len() > 0 { 8579 return invalidParams 8580 } 8581 return nil 8582} 8583 8584// SetVirtualServiceName sets the VirtualServiceName field's value. 8585func (s *VirtualServiceBackend) SetVirtualServiceName(v string) *VirtualServiceBackend { 8586 s.VirtualServiceName = &v 8587 return s 8588} 8589 8590// An object that represents a virtual service returned by a describe operation. 8591type VirtualServiceData struct { 8592 _ struct{} `type:"structure"` 8593 8594 // MeshName is a required field 8595 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 8596 8597 // An object that represents metadata for a resource. 8598 // 8599 // Metadata is a required field 8600 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 8601 8602 // An object that represents the specification of a virtual service. 8603 // 8604 // Spec is a required field 8605 Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` 8606 8607 // An object that represents the status of a virtual service. 8608 // 8609 // Status is a required field 8610 Status *VirtualServiceStatus `locationName:"status" type:"structure" required:"true"` 8611 8612 // VirtualServiceName is a required field 8613 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 8614} 8615 8616// String returns the string representation 8617func (s VirtualServiceData) String() string { 8618 return awsutil.Prettify(s) 8619} 8620 8621// GoString returns the string representation 8622func (s VirtualServiceData) GoString() string { 8623 return s.String() 8624} 8625 8626// SetMeshName sets the MeshName field's value. 8627func (s *VirtualServiceData) SetMeshName(v string) *VirtualServiceData { 8628 s.MeshName = &v 8629 return s 8630} 8631 8632// SetMetadata sets the Metadata field's value. 8633func (s *VirtualServiceData) SetMetadata(v *ResourceMetadata) *VirtualServiceData { 8634 s.Metadata = v 8635 return s 8636} 8637 8638// SetSpec sets the Spec field's value. 8639func (s *VirtualServiceData) SetSpec(v *VirtualServiceSpec) *VirtualServiceData { 8640 s.Spec = v 8641 return s 8642} 8643 8644// SetStatus sets the Status field's value. 8645func (s *VirtualServiceData) SetStatus(v *VirtualServiceStatus) *VirtualServiceData { 8646 s.Status = v 8647 return s 8648} 8649 8650// SetVirtualServiceName sets the VirtualServiceName field's value. 8651func (s *VirtualServiceData) SetVirtualServiceName(v string) *VirtualServiceData { 8652 s.VirtualServiceName = &v 8653 return s 8654} 8655 8656// An object that represents the provider for a virtual service. 8657type VirtualServiceProvider struct { 8658 _ struct{} `type:"structure"` 8659 8660 // An object that represents a virtual node service provider. 8661 VirtualNode *VirtualNodeServiceProvider `locationName:"virtualNode" type:"structure"` 8662 8663 // An object that represents a virtual node service provider. 8664 VirtualRouter *VirtualRouterServiceProvider `locationName:"virtualRouter" type:"structure"` 8665} 8666 8667// String returns the string representation 8668func (s VirtualServiceProvider) String() string { 8669 return awsutil.Prettify(s) 8670} 8671 8672// GoString returns the string representation 8673func (s VirtualServiceProvider) GoString() string { 8674 return s.String() 8675} 8676 8677// Validate inspects the fields of the type to determine if they are valid. 8678func (s *VirtualServiceProvider) Validate() error { 8679 invalidParams := request.ErrInvalidParams{Context: "VirtualServiceProvider"} 8680 if s.VirtualNode != nil { 8681 if err := s.VirtualNode.Validate(); err != nil { 8682 invalidParams.AddNested("VirtualNode", err.(request.ErrInvalidParams)) 8683 } 8684 } 8685 if s.VirtualRouter != nil { 8686 if err := s.VirtualRouter.Validate(); err != nil { 8687 invalidParams.AddNested("VirtualRouter", err.(request.ErrInvalidParams)) 8688 } 8689 } 8690 8691 if invalidParams.Len() > 0 { 8692 return invalidParams 8693 } 8694 return nil 8695} 8696 8697// SetVirtualNode sets the VirtualNode field's value. 8698func (s *VirtualServiceProvider) SetVirtualNode(v *VirtualNodeServiceProvider) *VirtualServiceProvider { 8699 s.VirtualNode = v 8700 return s 8701} 8702 8703// SetVirtualRouter sets the VirtualRouter field's value. 8704func (s *VirtualServiceProvider) SetVirtualRouter(v *VirtualRouterServiceProvider) *VirtualServiceProvider { 8705 s.VirtualRouter = v 8706 return s 8707} 8708 8709// An object that represents a virtual service returned by a list operation. 8710type VirtualServiceRef struct { 8711 _ struct{} `type:"structure"` 8712 8713 // Arn is a required field 8714 Arn *string `locationName:"arn" type:"string" required:"true"` 8715 8716 // MeshName is a required field 8717 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 8718 8719 // VirtualServiceName is a required field 8720 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 8721} 8722 8723// String returns the string representation 8724func (s VirtualServiceRef) String() string { 8725 return awsutil.Prettify(s) 8726} 8727 8728// GoString returns the string representation 8729func (s VirtualServiceRef) GoString() string { 8730 return s.String() 8731} 8732 8733// SetArn sets the Arn field's value. 8734func (s *VirtualServiceRef) SetArn(v string) *VirtualServiceRef { 8735 s.Arn = &v 8736 return s 8737} 8738 8739// SetMeshName sets the MeshName field's value. 8740func (s *VirtualServiceRef) SetMeshName(v string) *VirtualServiceRef { 8741 s.MeshName = &v 8742 return s 8743} 8744 8745// SetVirtualServiceName sets the VirtualServiceName field's value. 8746func (s *VirtualServiceRef) SetVirtualServiceName(v string) *VirtualServiceRef { 8747 s.VirtualServiceName = &v 8748 return s 8749} 8750 8751// An object that represents the specification of a virtual service. 8752type VirtualServiceSpec struct { 8753 _ struct{} `type:"structure"` 8754 8755 // An object that represents the provider for a virtual service. 8756 Provider *VirtualServiceProvider `locationName:"provider" type:"structure"` 8757} 8758 8759// String returns the string representation 8760func (s VirtualServiceSpec) String() string { 8761 return awsutil.Prettify(s) 8762} 8763 8764// GoString returns the string representation 8765func (s VirtualServiceSpec) GoString() string { 8766 return s.String() 8767} 8768 8769// Validate inspects the fields of the type to determine if they are valid. 8770func (s *VirtualServiceSpec) Validate() error { 8771 invalidParams := request.ErrInvalidParams{Context: "VirtualServiceSpec"} 8772 if s.Provider != nil { 8773 if err := s.Provider.Validate(); err != nil { 8774 invalidParams.AddNested("Provider", err.(request.ErrInvalidParams)) 8775 } 8776 } 8777 8778 if invalidParams.Len() > 0 { 8779 return invalidParams 8780 } 8781 return nil 8782} 8783 8784// SetProvider sets the Provider field's value. 8785func (s *VirtualServiceSpec) SetProvider(v *VirtualServiceProvider) *VirtualServiceSpec { 8786 s.Provider = v 8787 return s 8788} 8789 8790// An object that represents the status of a virtual service. 8791type VirtualServiceStatus struct { 8792 _ struct{} `type:"structure"` 8793 8794 // Status is a required field 8795 Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualServiceStatusCode"` 8796} 8797 8798// String returns the string representation 8799func (s VirtualServiceStatus) String() string { 8800 return awsutil.Prettify(s) 8801} 8802 8803// GoString returns the string representation 8804func (s VirtualServiceStatus) GoString() string { 8805 return s.String() 8806} 8807 8808// SetStatus sets the Status field's value. 8809func (s *VirtualServiceStatus) SetStatus(v string) *VirtualServiceStatus { 8810 s.Status = &v 8811 return s 8812} 8813 8814// An object that represents a target and its relative weight. Traffic is distributed 8815// across targets according to their relative weight. For example, a weighted 8816// target with a relative weight of 50 receives five times as much traffic as 8817// one with a relative weight of 10. The total weight for all targets combined 8818// must be less than or equal to 100. 8819type WeightedTarget struct { 8820 _ struct{} `type:"structure"` 8821 8822 // VirtualNode is a required field 8823 VirtualNode *string `locationName:"virtualNode" min:"1" type:"string" required:"true"` 8824 8825 // Weight is a required field 8826 Weight *int64 `locationName:"weight" type:"integer" required:"true"` 8827} 8828 8829// String returns the string representation 8830func (s WeightedTarget) String() string { 8831 return awsutil.Prettify(s) 8832} 8833 8834// GoString returns the string representation 8835func (s WeightedTarget) GoString() string { 8836 return s.String() 8837} 8838 8839// Validate inspects the fields of the type to determine if they are valid. 8840func (s *WeightedTarget) Validate() error { 8841 invalidParams := request.ErrInvalidParams{Context: "WeightedTarget"} 8842 if s.VirtualNode == nil { 8843 invalidParams.Add(request.NewErrParamRequired("VirtualNode")) 8844 } 8845 if s.VirtualNode != nil && len(*s.VirtualNode) < 1 { 8846 invalidParams.Add(request.NewErrParamMinLen("VirtualNode", 1)) 8847 } 8848 if s.Weight == nil { 8849 invalidParams.Add(request.NewErrParamRequired("Weight")) 8850 } 8851 8852 if invalidParams.Len() > 0 { 8853 return invalidParams 8854 } 8855 return nil 8856} 8857 8858// SetVirtualNode sets the VirtualNode field's value. 8859func (s *WeightedTarget) SetVirtualNode(v string) *WeightedTarget { 8860 s.VirtualNode = &v 8861 return s 8862} 8863 8864// SetWeight sets the Weight field's value. 8865func (s *WeightedTarget) SetWeight(v int64) *WeightedTarget { 8866 s.Weight = &v 8867 return s 8868} 8869 8870const ( 8871 // DurationUnitMs is a DurationUnit enum value 8872 DurationUnitMs = "ms" 8873 8874 // DurationUnitS is a DurationUnit enum value 8875 DurationUnitS = "s" 8876) 8877 8878const ( 8879 // EgressFilterTypeAllowAll is a EgressFilterType enum value 8880 EgressFilterTypeAllowAll = "ALLOW_ALL" 8881 8882 // EgressFilterTypeDropAll is a EgressFilterType enum value 8883 EgressFilterTypeDropAll = "DROP_ALL" 8884) 8885 8886const ( 8887 // GrpcRetryPolicyEventCancelled is a GrpcRetryPolicyEvent enum value 8888 GrpcRetryPolicyEventCancelled = "cancelled" 8889 8890 // GrpcRetryPolicyEventDeadlineExceeded is a GrpcRetryPolicyEvent enum value 8891 GrpcRetryPolicyEventDeadlineExceeded = "deadline-exceeded" 8892 8893 // GrpcRetryPolicyEventInternal is a GrpcRetryPolicyEvent enum value 8894 GrpcRetryPolicyEventInternal = "internal" 8895 8896 // GrpcRetryPolicyEventResourceExhausted is a GrpcRetryPolicyEvent enum value 8897 GrpcRetryPolicyEventResourceExhausted = "resource-exhausted" 8898 8899 // GrpcRetryPolicyEventUnavailable is a GrpcRetryPolicyEvent enum value 8900 GrpcRetryPolicyEventUnavailable = "unavailable" 8901) 8902 8903const ( 8904 // HttpMethodConnect is a HttpMethod enum value 8905 HttpMethodConnect = "CONNECT" 8906 8907 // HttpMethodDelete is a HttpMethod enum value 8908 HttpMethodDelete = "DELETE" 8909 8910 // HttpMethodGet is a HttpMethod enum value 8911 HttpMethodGet = "GET" 8912 8913 // HttpMethodHead is a HttpMethod enum value 8914 HttpMethodHead = "HEAD" 8915 8916 // HttpMethodOptions is a HttpMethod enum value 8917 HttpMethodOptions = "OPTIONS" 8918 8919 // HttpMethodPatch is a HttpMethod enum value 8920 HttpMethodPatch = "PATCH" 8921 8922 // HttpMethodPost is a HttpMethod enum value 8923 HttpMethodPost = "POST" 8924 8925 // HttpMethodPut is a HttpMethod enum value 8926 HttpMethodPut = "PUT" 8927 8928 // HttpMethodTrace is a HttpMethod enum value 8929 HttpMethodTrace = "TRACE" 8930) 8931 8932const ( 8933 // HttpSchemeHttp is a HttpScheme enum value 8934 HttpSchemeHttp = "http" 8935 8936 // HttpSchemeHttps is a HttpScheme enum value 8937 HttpSchemeHttps = "https" 8938) 8939 8940const ( 8941 // MeshStatusCodeActive is a MeshStatusCode enum value 8942 MeshStatusCodeActive = "ACTIVE" 8943 8944 // MeshStatusCodeDeleted is a MeshStatusCode enum value 8945 MeshStatusCodeDeleted = "DELETED" 8946 8947 // MeshStatusCodeInactive is a MeshStatusCode enum value 8948 MeshStatusCodeInactive = "INACTIVE" 8949) 8950 8951const ( 8952 // PortProtocolGrpc is a PortProtocol enum value 8953 PortProtocolGrpc = "grpc" 8954 8955 // PortProtocolHttp is a PortProtocol enum value 8956 PortProtocolHttp = "http" 8957 8958 // PortProtocolHttp2 is a PortProtocol enum value 8959 PortProtocolHttp2 = "http2" 8960 8961 // PortProtocolTcp is a PortProtocol enum value 8962 PortProtocolTcp = "tcp" 8963) 8964 8965const ( 8966 // RouteStatusCodeActive is a RouteStatusCode enum value 8967 RouteStatusCodeActive = "ACTIVE" 8968 8969 // RouteStatusCodeDeleted is a RouteStatusCode enum value 8970 RouteStatusCodeDeleted = "DELETED" 8971 8972 // RouteStatusCodeInactive is a RouteStatusCode enum value 8973 RouteStatusCodeInactive = "INACTIVE" 8974) 8975 8976const ( 8977 // TcpRetryPolicyEventConnectionError is a TcpRetryPolicyEvent enum value 8978 TcpRetryPolicyEventConnectionError = "connection-error" 8979) 8980 8981const ( 8982 // VirtualNodeStatusCodeActive is a VirtualNodeStatusCode enum value 8983 VirtualNodeStatusCodeActive = "ACTIVE" 8984 8985 // VirtualNodeStatusCodeDeleted is a VirtualNodeStatusCode enum value 8986 VirtualNodeStatusCodeDeleted = "DELETED" 8987 8988 // VirtualNodeStatusCodeInactive is a VirtualNodeStatusCode enum value 8989 VirtualNodeStatusCodeInactive = "INACTIVE" 8990) 8991 8992const ( 8993 // VirtualRouterStatusCodeActive is a VirtualRouterStatusCode enum value 8994 VirtualRouterStatusCodeActive = "ACTIVE" 8995 8996 // VirtualRouterStatusCodeDeleted is a VirtualRouterStatusCode enum value 8997 VirtualRouterStatusCodeDeleted = "DELETED" 8998 8999 // VirtualRouterStatusCodeInactive is a VirtualRouterStatusCode enum value 9000 VirtualRouterStatusCodeInactive = "INACTIVE" 9001) 9002 9003const ( 9004 // VirtualServiceStatusCodeActive is a VirtualServiceStatusCode enum value 9005 VirtualServiceStatusCodeActive = "ACTIVE" 9006 9007 // VirtualServiceStatusCodeDeleted is a VirtualServiceStatusCode enum value 9008 VirtualServiceStatusCodeDeleted = "DELETED" 9009 9010 // VirtualServiceStatusCodeInactive is a VirtualServiceStatusCode enum value 9011 VirtualServiceStatusCodeInactive = "INACTIVE" 9012) 9013