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 cont := true 1738 for p.Next() && cont { 1739 cont = fn(p.Page().(*ListMeshesOutput), !p.HasNextPage()) 1740 } 1741 return p.Err() 1742} 1743 1744const opListRoutes = "ListRoutes" 1745 1746// ListRoutesRequest generates a "aws/request.Request" representing the 1747// client's request for the ListRoutes operation. The "output" return 1748// value will be populated with the request's response once the request completes 1749// successfully. 1750// 1751// Use "Send" method on the returned Request to send the API call to the service. 1752// the "output" return value is not valid until after Send returns without error. 1753// 1754// See ListRoutes for more information on using the ListRoutes 1755// API call, and error handling. 1756// 1757// This method is useful when you want to inject custom logic or configuration 1758// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1759// 1760// 1761// // Example sending a request using the ListRoutesRequest method. 1762// req, resp := client.ListRoutesRequest(params) 1763// 1764// err := req.Send() 1765// if err == nil { // resp is now filled 1766// fmt.Println(resp) 1767// } 1768// 1769// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListRoutes 1770func (c *AppMesh) ListRoutesRequest(input *ListRoutesInput) (req *request.Request, output *ListRoutesOutput) { 1771 op := &request.Operation{ 1772 Name: opListRoutes, 1773 HTTPMethod: "GET", 1774 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", 1775 Paginator: &request.Paginator{ 1776 InputTokens: []string{"nextToken"}, 1777 OutputTokens: []string{"nextToken"}, 1778 LimitToken: "limit", 1779 TruncationToken: "", 1780 }, 1781 } 1782 1783 if input == nil { 1784 input = &ListRoutesInput{} 1785 } 1786 1787 output = &ListRoutesOutput{} 1788 req = c.newRequest(op, input, output) 1789 return 1790} 1791 1792// ListRoutes API operation for AWS App Mesh. 1793// 1794// Returns a list of existing routes in a service mesh. 1795// 1796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1797// with awserr.Error's Code and Message methods to get detailed information about 1798// the error. 1799// 1800// See the AWS API reference guide for AWS App Mesh's 1801// API operation ListRoutes for usage and error information. 1802// 1803// Returned Error Codes: 1804// * ErrCodeBadRequestException "BadRequestException" 1805// The request syntax was malformed. Check your request syntax and try again. 1806// 1807// * ErrCodeForbiddenException "ForbiddenException" 1808// You don't have permissions to perform this action. 1809// 1810// * ErrCodeInternalServerErrorException "InternalServerErrorException" 1811// The request processing has failed because of an unknown error, exception, 1812// or failure. 1813// 1814// * ErrCodeNotFoundException "NotFoundException" 1815// The specified resource doesn't exist. Check your request syntax and try again. 1816// 1817// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1818// The request has failed due to a temporary failure of the service. 1819// 1820// * ErrCodeTooManyRequestsException "TooManyRequestsException" 1821// The maximum request rate permitted by the App Mesh APIs has been exceeded 1822// for your account. For best results, use an increasing or variable sleep interval 1823// between requests. 1824// 1825// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListRoutes 1826func (c *AppMesh) ListRoutes(input *ListRoutesInput) (*ListRoutesOutput, error) { 1827 req, out := c.ListRoutesRequest(input) 1828 return out, req.Send() 1829} 1830 1831// ListRoutesWithContext is the same as ListRoutes with the addition of 1832// the ability to pass a context and additional request options. 1833// 1834// See ListRoutes for details on how to use this API operation. 1835// 1836// The context must be non-nil and will be used for request cancellation. If 1837// the context is nil a panic will occur. In the future the SDK may create 1838// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1839// for more information on using Contexts. 1840func (c *AppMesh) ListRoutesWithContext(ctx aws.Context, input *ListRoutesInput, opts ...request.Option) (*ListRoutesOutput, error) { 1841 req, out := c.ListRoutesRequest(input) 1842 req.SetContext(ctx) 1843 req.ApplyOptions(opts...) 1844 return out, req.Send() 1845} 1846 1847// ListRoutesPages iterates over the pages of a ListRoutes operation, 1848// calling the "fn" function with the response data for each page. To stop 1849// iterating, return false from the fn function. 1850// 1851// See ListRoutes method for more information on how to use this operation. 1852// 1853// Note: This operation can generate multiple requests to a service. 1854// 1855// // Example iterating over at most 3 pages of a ListRoutes operation. 1856// pageNum := 0 1857// err := client.ListRoutesPages(params, 1858// func(page *appmesh.ListRoutesOutput, lastPage bool) bool { 1859// pageNum++ 1860// fmt.Println(page) 1861// return pageNum <= 3 1862// }) 1863// 1864func (c *AppMesh) ListRoutesPages(input *ListRoutesInput, fn func(*ListRoutesOutput, bool) bool) error { 1865 return c.ListRoutesPagesWithContext(aws.BackgroundContext(), input, fn) 1866} 1867 1868// ListRoutesPagesWithContext same as ListRoutesPages except 1869// it takes a Context and allows setting request options on the pages. 1870// 1871// The context must be non-nil and will be used for request cancellation. If 1872// the context is nil a panic will occur. In the future the SDK may create 1873// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1874// for more information on using Contexts. 1875func (c *AppMesh) ListRoutesPagesWithContext(ctx aws.Context, input *ListRoutesInput, fn func(*ListRoutesOutput, bool) bool, opts ...request.Option) error { 1876 p := request.Pagination{ 1877 NewRequest: func() (*request.Request, error) { 1878 var inCpy *ListRoutesInput 1879 if input != nil { 1880 tmp := *input 1881 inCpy = &tmp 1882 } 1883 req, _ := c.ListRoutesRequest(inCpy) 1884 req.SetContext(ctx) 1885 req.ApplyOptions(opts...) 1886 return req, nil 1887 }, 1888 } 1889 1890 cont := true 1891 for p.Next() && cont { 1892 cont = fn(p.Page().(*ListRoutesOutput), !p.HasNextPage()) 1893 } 1894 return p.Err() 1895} 1896 1897const opListTagsForResource = "ListTagsForResource" 1898 1899// ListTagsForResourceRequest generates a "aws/request.Request" representing the 1900// client's request for the ListTagsForResource operation. The "output" return 1901// value will be populated with the request's response once the request completes 1902// successfully. 1903// 1904// Use "Send" method on the returned Request to send the API call to the service. 1905// the "output" return value is not valid until after Send returns without error. 1906// 1907// See ListTagsForResource for more information on using the ListTagsForResource 1908// API call, and error handling. 1909// 1910// This method is useful when you want to inject custom logic or configuration 1911// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1912// 1913// 1914// // Example sending a request using the ListTagsForResourceRequest method. 1915// req, resp := client.ListTagsForResourceRequest(params) 1916// 1917// err := req.Send() 1918// if err == nil { // resp is now filled 1919// fmt.Println(resp) 1920// } 1921// 1922// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource 1923func (c *AppMesh) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 1924 op := &request.Operation{ 1925 Name: opListTagsForResource, 1926 HTTPMethod: "GET", 1927 HTTPPath: "/v20190125/tags", 1928 Paginator: &request.Paginator{ 1929 InputTokens: []string{"nextToken"}, 1930 OutputTokens: []string{"nextToken"}, 1931 LimitToken: "limit", 1932 TruncationToken: "", 1933 }, 1934 } 1935 1936 if input == nil { 1937 input = &ListTagsForResourceInput{} 1938 } 1939 1940 output = &ListTagsForResourceOutput{} 1941 req = c.newRequest(op, input, output) 1942 return 1943} 1944 1945// ListTagsForResource API operation for AWS App Mesh. 1946// 1947// List the tags for an App Mesh resource. 1948// 1949// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1950// with awserr.Error's Code and Message methods to get detailed information about 1951// the error. 1952// 1953// See the AWS API reference guide for AWS App Mesh's 1954// API operation ListTagsForResource for usage and error information. 1955// 1956// Returned Error Codes: 1957// * ErrCodeBadRequestException "BadRequestException" 1958// The request syntax was malformed. Check your request syntax and try again. 1959// 1960// * ErrCodeInternalServerErrorException "InternalServerErrorException" 1961// The request processing has failed because of an unknown error, exception, 1962// or failure. 1963// 1964// * ErrCodeNotFoundException "NotFoundException" 1965// The specified resource doesn't exist. Check your request syntax and try again. 1966// 1967// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1968// The request has failed due to a temporary failure of the service. 1969// 1970// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource 1971func (c *AppMesh) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 1972 req, out := c.ListTagsForResourceRequest(input) 1973 return out, req.Send() 1974} 1975 1976// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 1977// the ability to pass a context and additional request options. 1978// 1979// See ListTagsForResource for details on how to use this API operation. 1980// 1981// The context must be non-nil and will be used for request cancellation. If 1982// the context is nil a panic will occur. In the future the SDK may create 1983// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1984// for more information on using Contexts. 1985func (c *AppMesh) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 1986 req, out := c.ListTagsForResourceRequest(input) 1987 req.SetContext(ctx) 1988 req.ApplyOptions(opts...) 1989 return out, req.Send() 1990} 1991 1992// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, 1993// calling the "fn" function with the response data for each page. To stop 1994// iterating, return false from the fn function. 1995// 1996// See ListTagsForResource method for more information on how to use this operation. 1997// 1998// Note: This operation can generate multiple requests to a service. 1999// 2000// // Example iterating over at most 3 pages of a ListTagsForResource operation. 2001// pageNum := 0 2002// err := client.ListTagsForResourcePages(params, 2003// func(page *appmesh.ListTagsForResourceOutput, lastPage bool) bool { 2004// pageNum++ 2005// fmt.Println(page) 2006// return pageNum <= 3 2007// }) 2008// 2009func (c *AppMesh) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { 2010 return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) 2011} 2012 2013// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except 2014// it takes a Context and allows setting request options on the pages. 2015// 2016// The context must be non-nil and will be used for request cancellation. If 2017// the context is nil a panic will occur. In the future the SDK may create 2018// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2019// for more information on using Contexts. 2020func (c *AppMesh) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { 2021 p := request.Pagination{ 2022 NewRequest: func() (*request.Request, error) { 2023 var inCpy *ListTagsForResourceInput 2024 if input != nil { 2025 tmp := *input 2026 inCpy = &tmp 2027 } 2028 req, _ := c.ListTagsForResourceRequest(inCpy) 2029 req.SetContext(ctx) 2030 req.ApplyOptions(opts...) 2031 return req, nil 2032 }, 2033 } 2034 2035 cont := true 2036 for p.Next() && cont { 2037 cont = fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) 2038 } 2039 return p.Err() 2040} 2041 2042const opListVirtualNodes = "ListVirtualNodes" 2043 2044// ListVirtualNodesRequest generates a "aws/request.Request" representing the 2045// client's request for the ListVirtualNodes operation. The "output" return 2046// value will be populated with the request's response once the request completes 2047// successfully. 2048// 2049// Use "Send" method on the returned Request to send the API call to the service. 2050// the "output" return value is not valid until after Send returns without error. 2051// 2052// See ListVirtualNodes for more information on using the ListVirtualNodes 2053// API call, and error handling. 2054// 2055// This method is useful when you want to inject custom logic or configuration 2056// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2057// 2058// 2059// // Example sending a request using the ListVirtualNodesRequest method. 2060// req, resp := client.ListVirtualNodesRequest(params) 2061// 2062// err := req.Send() 2063// if err == nil { // resp is now filled 2064// fmt.Println(resp) 2065// } 2066// 2067// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes 2068func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *request.Request, output *ListVirtualNodesOutput) { 2069 op := &request.Operation{ 2070 Name: opListVirtualNodes, 2071 HTTPMethod: "GET", 2072 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes", 2073 Paginator: &request.Paginator{ 2074 InputTokens: []string{"nextToken"}, 2075 OutputTokens: []string{"nextToken"}, 2076 LimitToken: "limit", 2077 TruncationToken: "", 2078 }, 2079 } 2080 2081 if input == nil { 2082 input = &ListVirtualNodesInput{} 2083 } 2084 2085 output = &ListVirtualNodesOutput{} 2086 req = c.newRequest(op, input, output) 2087 return 2088} 2089 2090// ListVirtualNodes API operation for AWS App Mesh. 2091// 2092// Returns a list of existing virtual nodes. 2093// 2094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2095// with awserr.Error's Code and Message methods to get detailed information about 2096// the error. 2097// 2098// See the AWS API reference guide for AWS App Mesh's 2099// API operation ListVirtualNodes for usage and error information. 2100// 2101// Returned Error Codes: 2102// * ErrCodeBadRequestException "BadRequestException" 2103// The request syntax was malformed. Check your request syntax and try again. 2104// 2105// * ErrCodeForbiddenException "ForbiddenException" 2106// You don't have permissions to perform this action. 2107// 2108// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2109// The request processing has failed because of an unknown error, exception, 2110// or failure. 2111// 2112// * ErrCodeNotFoundException "NotFoundException" 2113// The specified resource doesn't exist. Check your request syntax and try again. 2114// 2115// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2116// The request has failed due to a temporary failure of the service. 2117// 2118// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2119// The maximum request rate permitted by the App Mesh APIs has been exceeded 2120// for your account. For best results, use an increasing or variable sleep interval 2121// between requests. 2122// 2123// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes 2124func (c *AppMesh) ListVirtualNodes(input *ListVirtualNodesInput) (*ListVirtualNodesOutput, error) { 2125 req, out := c.ListVirtualNodesRequest(input) 2126 return out, req.Send() 2127} 2128 2129// ListVirtualNodesWithContext is the same as ListVirtualNodes with the addition of 2130// the ability to pass a context and additional request options. 2131// 2132// See ListVirtualNodes for details on how to use this API operation. 2133// 2134// The context must be non-nil and will be used for request cancellation. If 2135// the context is nil a panic will occur. In the future the SDK may create 2136// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2137// for more information on using Contexts. 2138func (c *AppMesh) ListVirtualNodesWithContext(ctx aws.Context, input *ListVirtualNodesInput, opts ...request.Option) (*ListVirtualNodesOutput, error) { 2139 req, out := c.ListVirtualNodesRequest(input) 2140 req.SetContext(ctx) 2141 req.ApplyOptions(opts...) 2142 return out, req.Send() 2143} 2144 2145// ListVirtualNodesPages iterates over the pages of a ListVirtualNodes operation, 2146// calling the "fn" function with the response data for each page. To stop 2147// iterating, return false from the fn function. 2148// 2149// See ListVirtualNodes method for more information on how to use this operation. 2150// 2151// Note: This operation can generate multiple requests to a service. 2152// 2153// // Example iterating over at most 3 pages of a ListVirtualNodes operation. 2154// pageNum := 0 2155// err := client.ListVirtualNodesPages(params, 2156// func(page *appmesh.ListVirtualNodesOutput, lastPage bool) bool { 2157// pageNum++ 2158// fmt.Println(page) 2159// return pageNum <= 3 2160// }) 2161// 2162func (c *AppMesh) ListVirtualNodesPages(input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool) error { 2163 return c.ListVirtualNodesPagesWithContext(aws.BackgroundContext(), input, fn) 2164} 2165 2166// ListVirtualNodesPagesWithContext same as ListVirtualNodesPages except 2167// it takes a Context and allows setting request options on the pages. 2168// 2169// The context must be non-nil and will be used for request cancellation. If 2170// the context is nil a panic will occur. In the future the SDK may create 2171// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2172// for more information on using Contexts. 2173func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool, opts ...request.Option) error { 2174 p := request.Pagination{ 2175 NewRequest: func() (*request.Request, error) { 2176 var inCpy *ListVirtualNodesInput 2177 if input != nil { 2178 tmp := *input 2179 inCpy = &tmp 2180 } 2181 req, _ := c.ListVirtualNodesRequest(inCpy) 2182 req.SetContext(ctx) 2183 req.ApplyOptions(opts...) 2184 return req, nil 2185 }, 2186 } 2187 2188 cont := true 2189 for p.Next() && cont { 2190 cont = fn(p.Page().(*ListVirtualNodesOutput), !p.HasNextPage()) 2191 } 2192 return p.Err() 2193} 2194 2195const opListVirtualRouters = "ListVirtualRouters" 2196 2197// ListVirtualRoutersRequest generates a "aws/request.Request" representing the 2198// client's request for the ListVirtualRouters operation. The "output" return 2199// value will be populated with the request's response once the request completes 2200// successfully. 2201// 2202// Use "Send" method on the returned Request to send the API call to the service. 2203// the "output" return value is not valid until after Send returns without error. 2204// 2205// See ListVirtualRouters for more information on using the ListVirtualRouters 2206// API call, and error handling. 2207// 2208// This method is useful when you want to inject custom logic or configuration 2209// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2210// 2211// 2212// // Example sending a request using the ListVirtualRoutersRequest method. 2213// req, resp := client.ListVirtualRoutersRequest(params) 2214// 2215// err := req.Send() 2216// if err == nil { // resp is now filled 2217// fmt.Println(resp) 2218// } 2219// 2220// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters 2221func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req *request.Request, output *ListVirtualRoutersOutput) { 2222 op := &request.Operation{ 2223 Name: opListVirtualRouters, 2224 HTTPMethod: "GET", 2225 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters", 2226 Paginator: &request.Paginator{ 2227 InputTokens: []string{"nextToken"}, 2228 OutputTokens: []string{"nextToken"}, 2229 LimitToken: "limit", 2230 TruncationToken: "", 2231 }, 2232 } 2233 2234 if input == nil { 2235 input = &ListVirtualRoutersInput{} 2236 } 2237 2238 output = &ListVirtualRoutersOutput{} 2239 req = c.newRequest(op, input, output) 2240 return 2241} 2242 2243// ListVirtualRouters API operation for AWS App Mesh. 2244// 2245// Returns a list of existing virtual routers in a service mesh. 2246// 2247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2248// with awserr.Error's Code and Message methods to get detailed information about 2249// the error. 2250// 2251// See the AWS API reference guide for AWS App Mesh's 2252// API operation ListVirtualRouters for usage and error information. 2253// 2254// Returned Error Codes: 2255// * ErrCodeBadRequestException "BadRequestException" 2256// The request syntax was malformed. Check your request syntax and try again. 2257// 2258// * ErrCodeForbiddenException "ForbiddenException" 2259// You don't have permissions to perform this action. 2260// 2261// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2262// The request processing has failed because of an unknown error, exception, 2263// or failure. 2264// 2265// * ErrCodeNotFoundException "NotFoundException" 2266// The specified resource doesn't exist. Check your request syntax and try again. 2267// 2268// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2269// The request has failed due to a temporary failure of the service. 2270// 2271// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2272// The maximum request rate permitted by the App Mesh APIs has been exceeded 2273// for your account. For best results, use an increasing or variable sleep interval 2274// between requests. 2275// 2276// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters 2277func (c *AppMesh) ListVirtualRouters(input *ListVirtualRoutersInput) (*ListVirtualRoutersOutput, error) { 2278 req, out := c.ListVirtualRoutersRequest(input) 2279 return out, req.Send() 2280} 2281 2282// ListVirtualRoutersWithContext is the same as ListVirtualRouters with the addition of 2283// the ability to pass a context and additional request options. 2284// 2285// See ListVirtualRouters for details on how to use this API operation. 2286// 2287// The context must be non-nil and will be used for request cancellation. If 2288// the context is nil a panic will occur. In the future the SDK may create 2289// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2290// for more information on using Contexts. 2291func (c *AppMesh) ListVirtualRoutersWithContext(ctx aws.Context, input *ListVirtualRoutersInput, opts ...request.Option) (*ListVirtualRoutersOutput, error) { 2292 req, out := c.ListVirtualRoutersRequest(input) 2293 req.SetContext(ctx) 2294 req.ApplyOptions(opts...) 2295 return out, req.Send() 2296} 2297 2298// ListVirtualRoutersPages iterates over the pages of a ListVirtualRouters operation, 2299// calling the "fn" function with the response data for each page. To stop 2300// iterating, return false from the fn function. 2301// 2302// See ListVirtualRouters method for more information on how to use this operation. 2303// 2304// Note: This operation can generate multiple requests to a service. 2305// 2306// // Example iterating over at most 3 pages of a ListVirtualRouters operation. 2307// pageNum := 0 2308// err := client.ListVirtualRoutersPages(params, 2309// func(page *appmesh.ListVirtualRoutersOutput, lastPage bool) bool { 2310// pageNum++ 2311// fmt.Println(page) 2312// return pageNum <= 3 2313// }) 2314// 2315func (c *AppMesh) ListVirtualRoutersPages(input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool) error { 2316 return c.ListVirtualRoutersPagesWithContext(aws.BackgroundContext(), input, fn) 2317} 2318 2319// ListVirtualRoutersPagesWithContext same as ListVirtualRoutersPages except 2320// it takes a Context and allows setting request options on the pages. 2321// 2322// The context must be non-nil and will be used for request cancellation. If 2323// the context is nil a panic will occur. In the future the SDK may create 2324// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2325// for more information on using Contexts. 2326func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool, opts ...request.Option) error { 2327 p := request.Pagination{ 2328 NewRequest: func() (*request.Request, error) { 2329 var inCpy *ListVirtualRoutersInput 2330 if input != nil { 2331 tmp := *input 2332 inCpy = &tmp 2333 } 2334 req, _ := c.ListVirtualRoutersRequest(inCpy) 2335 req.SetContext(ctx) 2336 req.ApplyOptions(opts...) 2337 return req, nil 2338 }, 2339 } 2340 2341 cont := true 2342 for p.Next() && cont { 2343 cont = fn(p.Page().(*ListVirtualRoutersOutput), !p.HasNextPage()) 2344 } 2345 return p.Err() 2346} 2347 2348const opListVirtualServices = "ListVirtualServices" 2349 2350// ListVirtualServicesRequest generates a "aws/request.Request" representing the 2351// client's request for the ListVirtualServices operation. The "output" return 2352// value will be populated with the request's response once the request completes 2353// successfully. 2354// 2355// Use "Send" method on the returned Request to send the API call to the service. 2356// the "output" return value is not valid until after Send returns without error. 2357// 2358// See ListVirtualServices for more information on using the ListVirtualServices 2359// API call, and error handling. 2360// 2361// This method is useful when you want to inject custom logic or configuration 2362// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2363// 2364// 2365// // Example sending a request using the ListVirtualServicesRequest method. 2366// req, resp := client.ListVirtualServicesRequest(params) 2367// 2368// err := req.Send() 2369// if err == nil { // resp is now filled 2370// fmt.Println(resp) 2371// } 2372// 2373// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualServices 2374func (c *AppMesh) ListVirtualServicesRequest(input *ListVirtualServicesInput) (req *request.Request, output *ListVirtualServicesOutput) { 2375 op := &request.Operation{ 2376 Name: opListVirtualServices, 2377 HTTPMethod: "GET", 2378 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices", 2379 Paginator: &request.Paginator{ 2380 InputTokens: []string{"nextToken"}, 2381 OutputTokens: []string{"nextToken"}, 2382 LimitToken: "limit", 2383 TruncationToken: "", 2384 }, 2385 } 2386 2387 if input == nil { 2388 input = &ListVirtualServicesInput{} 2389 } 2390 2391 output = &ListVirtualServicesOutput{} 2392 req = c.newRequest(op, input, output) 2393 return 2394} 2395 2396// ListVirtualServices API operation for AWS App Mesh. 2397// 2398// Returns a list of existing virtual services in a service mesh. 2399// 2400// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2401// with awserr.Error's Code and Message methods to get detailed information about 2402// the error. 2403// 2404// See the AWS API reference guide for AWS App Mesh's 2405// API operation ListVirtualServices for usage and error information. 2406// 2407// Returned Error Codes: 2408// * ErrCodeBadRequestException "BadRequestException" 2409// The request syntax was malformed. Check your request syntax and try again. 2410// 2411// * ErrCodeForbiddenException "ForbiddenException" 2412// You don't have permissions to perform this action. 2413// 2414// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2415// The request processing has failed because of an unknown error, exception, 2416// or failure. 2417// 2418// * ErrCodeNotFoundException "NotFoundException" 2419// The specified resource doesn't exist. Check your request syntax and try again. 2420// 2421// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2422// The request has failed due to a temporary failure of the service. 2423// 2424// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2425// The maximum request rate permitted by the App Mesh APIs has been exceeded 2426// for your account. For best results, use an increasing or variable sleep interval 2427// between requests. 2428// 2429// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualServices 2430func (c *AppMesh) ListVirtualServices(input *ListVirtualServicesInput) (*ListVirtualServicesOutput, error) { 2431 req, out := c.ListVirtualServicesRequest(input) 2432 return out, req.Send() 2433} 2434 2435// ListVirtualServicesWithContext is the same as ListVirtualServices with the addition of 2436// the ability to pass a context and additional request options. 2437// 2438// See ListVirtualServices for details on how to use this API operation. 2439// 2440// The context must be non-nil and will be used for request cancellation. If 2441// the context is nil a panic will occur. In the future the SDK may create 2442// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2443// for more information on using Contexts. 2444func (c *AppMesh) ListVirtualServicesWithContext(ctx aws.Context, input *ListVirtualServicesInput, opts ...request.Option) (*ListVirtualServicesOutput, error) { 2445 req, out := c.ListVirtualServicesRequest(input) 2446 req.SetContext(ctx) 2447 req.ApplyOptions(opts...) 2448 return out, req.Send() 2449} 2450 2451// ListVirtualServicesPages iterates over the pages of a ListVirtualServices operation, 2452// calling the "fn" function with the response data for each page. To stop 2453// iterating, return false from the fn function. 2454// 2455// See ListVirtualServices method for more information on how to use this operation. 2456// 2457// Note: This operation can generate multiple requests to a service. 2458// 2459// // Example iterating over at most 3 pages of a ListVirtualServices operation. 2460// pageNum := 0 2461// err := client.ListVirtualServicesPages(params, 2462// func(page *appmesh.ListVirtualServicesOutput, lastPage bool) bool { 2463// pageNum++ 2464// fmt.Println(page) 2465// return pageNum <= 3 2466// }) 2467// 2468func (c *AppMesh) ListVirtualServicesPages(input *ListVirtualServicesInput, fn func(*ListVirtualServicesOutput, bool) bool) error { 2469 return c.ListVirtualServicesPagesWithContext(aws.BackgroundContext(), input, fn) 2470} 2471 2472// ListVirtualServicesPagesWithContext same as ListVirtualServicesPages except 2473// it takes a Context and allows setting request options on the pages. 2474// 2475// The context must be non-nil and will be used for request cancellation. If 2476// the context is nil a panic will occur. In the future the SDK may create 2477// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2478// for more information on using Contexts. 2479func (c *AppMesh) ListVirtualServicesPagesWithContext(ctx aws.Context, input *ListVirtualServicesInput, fn func(*ListVirtualServicesOutput, bool) bool, opts ...request.Option) error { 2480 p := request.Pagination{ 2481 NewRequest: func() (*request.Request, error) { 2482 var inCpy *ListVirtualServicesInput 2483 if input != nil { 2484 tmp := *input 2485 inCpy = &tmp 2486 } 2487 req, _ := c.ListVirtualServicesRequest(inCpy) 2488 req.SetContext(ctx) 2489 req.ApplyOptions(opts...) 2490 return req, nil 2491 }, 2492 } 2493 2494 cont := true 2495 for p.Next() && cont { 2496 cont = fn(p.Page().(*ListVirtualServicesOutput), !p.HasNextPage()) 2497 } 2498 return p.Err() 2499} 2500 2501const opTagResource = "TagResource" 2502 2503// TagResourceRequest generates a "aws/request.Request" representing the 2504// client's request for the TagResource operation. The "output" return 2505// value will be populated with the request's response once the request completes 2506// successfully. 2507// 2508// Use "Send" method on the returned Request to send the API call to the service. 2509// the "output" return value is not valid until after Send returns without error. 2510// 2511// See TagResource for more information on using the TagResource 2512// API call, and error handling. 2513// 2514// This method is useful when you want to inject custom logic or configuration 2515// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2516// 2517// 2518// // Example sending a request using the TagResourceRequest method. 2519// req, resp := client.TagResourceRequest(params) 2520// 2521// err := req.Send() 2522// if err == nil { // resp is now filled 2523// fmt.Println(resp) 2524// } 2525// 2526// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource 2527func (c *AppMesh) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 2528 op := &request.Operation{ 2529 Name: opTagResource, 2530 HTTPMethod: "PUT", 2531 HTTPPath: "/v20190125/tag", 2532 } 2533 2534 if input == nil { 2535 input = &TagResourceInput{} 2536 } 2537 2538 output = &TagResourceOutput{} 2539 req = c.newRequest(op, input, output) 2540 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2541 return 2542} 2543 2544// TagResource API operation for AWS App Mesh. 2545// 2546// Associates the specified tags to a resource with the specified resourceArn. 2547// If existing tags on a resource aren't specified in the request parameters, 2548// they aren't changed. When a resource is deleted, the tags associated with 2549// that resource are also deleted. 2550// 2551// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2552// with awserr.Error's Code and Message methods to get detailed information about 2553// the error. 2554// 2555// See the AWS API reference guide for AWS App Mesh's 2556// API operation TagResource for usage and error information. 2557// 2558// Returned Error Codes: 2559// * ErrCodeBadRequestException "BadRequestException" 2560// The request syntax was malformed. Check your request syntax and try again. 2561// 2562// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2563// The request processing has failed because of an unknown error, exception, 2564// or failure. 2565// 2566// * ErrCodeNotFoundException "NotFoundException" 2567// The specified resource doesn't exist. Check your request syntax and try again. 2568// 2569// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2570// The request has failed due to a temporary failure of the service. 2571// 2572// * ErrCodeTooManyTagsException "TooManyTagsException" 2573// The request exceeds the maximum allowed number of tags allowed per resource. 2574// The current limit is 50 user tags per resource. You must reduce the number 2575// of tags in the request. None of the tags in this request were applied. 2576// 2577// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource 2578func (c *AppMesh) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 2579 req, out := c.TagResourceRequest(input) 2580 return out, req.Send() 2581} 2582 2583// TagResourceWithContext is the same as TagResource with the addition of 2584// the ability to pass a context and additional request options. 2585// 2586// See TagResource for details on how to use this API operation. 2587// 2588// The context must be non-nil and will be used for request cancellation. If 2589// the context is nil a panic will occur. In the future the SDK may create 2590// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2591// for more information on using Contexts. 2592func (c *AppMesh) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 2593 req, out := c.TagResourceRequest(input) 2594 req.SetContext(ctx) 2595 req.ApplyOptions(opts...) 2596 return out, req.Send() 2597} 2598 2599const opUntagResource = "UntagResource" 2600 2601// UntagResourceRequest generates a "aws/request.Request" representing the 2602// client's request for the UntagResource operation. The "output" return 2603// value will be populated with the request's response once the request completes 2604// successfully. 2605// 2606// Use "Send" method on the returned Request to send the API call to the service. 2607// the "output" return value is not valid until after Send returns without error. 2608// 2609// See UntagResource for more information on using the UntagResource 2610// API call, and error handling. 2611// 2612// This method is useful when you want to inject custom logic or configuration 2613// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2614// 2615// 2616// // Example sending a request using the UntagResourceRequest method. 2617// req, resp := client.UntagResourceRequest(params) 2618// 2619// err := req.Send() 2620// if err == nil { // resp is now filled 2621// fmt.Println(resp) 2622// } 2623// 2624// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource 2625func (c *AppMesh) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 2626 op := &request.Operation{ 2627 Name: opUntagResource, 2628 HTTPMethod: "PUT", 2629 HTTPPath: "/v20190125/untag", 2630 } 2631 2632 if input == nil { 2633 input = &UntagResourceInput{} 2634 } 2635 2636 output = &UntagResourceOutput{} 2637 req = c.newRequest(op, input, output) 2638 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2639 return 2640} 2641 2642// UntagResource API operation for AWS App Mesh. 2643// 2644// Deletes specified tags from a resource. 2645// 2646// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2647// with awserr.Error's Code and Message methods to get detailed information about 2648// the error. 2649// 2650// See the AWS API reference guide for AWS App Mesh's 2651// API operation UntagResource for usage and error information. 2652// 2653// Returned Error Codes: 2654// * ErrCodeBadRequestException "BadRequestException" 2655// The request syntax was malformed. Check your request syntax and try again. 2656// 2657// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2658// The request processing has failed because of an unknown error, exception, 2659// or failure. 2660// 2661// * ErrCodeNotFoundException "NotFoundException" 2662// The specified resource doesn't exist. Check your request syntax and try again. 2663// 2664// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2665// The request has failed due to a temporary failure of the service. 2666// 2667// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource 2668func (c *AppMesh) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 2669 req, out := c.UntagResourceRequest(input) 2670 return out, req.Send() 2671} 2672 2673// UntagResourceWithContext is the same as UntagResource with the addition of 2674// the ability to pass a context and additional request options. 2675// 2676// See UntagResource for details on how to use this API operation. 2677// 2678// The context must be non-nil and will be used for request cancellation. If 2679// the context is nil a panic will occur. In the future the SDK may create 2680// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2681// for more information on using Contexts. 2682func (c *AppMesh) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 2683 req, out := c.UntagResourceRequest(input) 2684 req.SetContext(ctx) 2685 req.ApplyOptions(opts...) 2686 return out, req.Send() 2687} 2688 2689const opUpdateMesh = "UpdateMesh" 2690 2691// UpdateMeshRequest generates a "aws/request.Request" representing the 2692// client's request for the UpdateMesh operation. The "output" return 2693// value will be populated with the request's response once the request completes 2694// successfully. 2695// 2696// Use "Send" method on the returned Request to send the API call to the service. 2697// the "output" return value is not valid until after Send returns without error. 2698// 2699// See UpdateMesh for more information on using the UpdateMesh 2700// API call, and error handling. 2701// 2702// This method is useful when you want to inject custom logic or configuration 2703// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2704// 2705// 2706// // Example sending a request using the UpdateMeshRequest method. 2707// req, resp := client.UpdateMeshRequest(params) 2708// 2709// err := req.Send() 2710// if err == nil { // resp is now filled 2711// fmt.Println(resp) 2712// } 2713// 2714// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh 2715func (c *AppMesh) UpdateMeshRequest(input *UpdateMeshInput) (req *request.Request, output *UpdateMeshOutput) { 2716 op := &request.Operation{ 2717 Name: opUpdateMesh, 2718 HTTPMethod: "PUT", 2719 HTTPPath: "/v20190125/meshes/{meshName}", 2720 } 2721 2722 if input == nil { 2723 input = &UpdateMeshInput{} 2724 } 2725 2726 output = &UpdateMeshOutput{} 2727 req = c.newRequest(op, input, output) 2728 return 2729} 2730 2731// UpdateMesh API operation for AWS App Mesh. 2732// 2733// Updates an existing service mesh. 2734// 2735// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2736// with awserr.Error's Code and Message methods to get detailed information about 2737// the error. 2738// 2739// See the AWS API reference guide for AWS App Mesh's 2740// API operation UpdateMesh for usage and error information. 2741// 2742// Returned Error Codes: 2743// * ErrCodeBadRequestException "BadRequestException" 2744// The request syntax was malformed. Check your request syntax and try again. 2745// 2746// * ErrCodeConflictException "ConflictException" 2747// The request contains a client token that was used for a previous update resource 2748// call with different specifications. Try the request again with a new client 2749// token. 2750// 2751// * ErrCodeForbiddenException "ForbiddenException" 2752// You don't have permissions to perform this action. 2753// 2754// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2755// The request processing has failed because of an unknown error, exception, 2756// or failure. 2757// 2758// * ErrCodeNotFoundException "NotFoundException" 2759// The specified resource doesn't exist. Check your request syntax and try again. 2760// 2761// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2762// The request has failed due to a temporary failure of the service. 2763// 2764// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2765// The maximum request rate permitted by the App Mesh APIs has been exceeded 2766// for your account. For best results, use an increasing or variable sleep interval 2767// between requests. 2768// 2769// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh 2770func (c *AppMesh) UpdateMesh(input *UpdateMeshInput) (*UpdateMeshOutput, error) { 2771 req, out := c.UpdateMeshRequest(input) 2772 return out, req.Send() 2773} 2774 2775// UpdateMeshWithContext is the same as UpdateMesh with the addition of 2776// the ability to pass a context and additional request options. 2777// 2778// See UpdateMesh for details on how to use this API operation. 2779// 2780// The context must be non-nil and will be used for request cancellation. If 2781// the context is nil a panic will occur. In the future the SDK may create 2782// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2783// for more information on using Contexts. 2784func (c *AppMesh) UpdateMeshWithContext(ctx aws.Context, input *UpdateMeshInput, opts ...request.Option) (*UpdateMeshOutput, error) { 2785 req, out := c.UpdateMeshRequest(input) 2786 req.SetContext(ctx) 2787 req.ApplyOptions(opts...) 2788 return out, req.Send() 2789} 2790 2791const opUpdateRoute = "UpdateRoute" 2792 2793// UpdateRouteRequest generates a "aws/request.Request" representing the 2794// client's request for the UpdateRoute operation. The "output" return 2795// value will be populated with the request's response once the request completes 2796// successfully. 2797// 2798// Use "Send" method on the returned Request to send the API call to the service. 2799// the "output" return value is not valid until after Send returns without error. 2800// 2801// See UpdateRoute for more information on using the UpdateRoute 2802// API call, and error handling. 2803// 2804// This method is useful when you want to inject custom logic or configuration 2805// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2806// 2807// 2808// // Example sending a request using the UpdateRouteRequest method. 2809// req, resp := client.UpdateRouteRequest(params) 2810// 2811// err := req.Send() 2812// if err == nil { // resp is now filled 2813// fmt.Println(resp) 2814// } 2815// 2816// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute 2817func (c *AppMesh) UpdateRouteRequest(input *UpdateRouteInput) (req *request.Request, output *UpdateRouteOutput) { 2818 op := &request.Operation{ 2819 Name: opUpdateRoute, 2820 HTTPMethod: "PUT", 2821 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", 2822 } 2823 2824 if input == nil { 2825 input = &UpdateRouteInput{} 2826 } 2827 2828 output = &UpdateRouteOutput{} 2829 req = c.newRequest(op, input, output) 2830 return 2831} 2832 2833// UpdateRoute API operation for AWS App Mesh. 2834// 2835// Updates an existing route for a specified service mesh and virtual router. 2836// 2837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2838// with awserr.Error's Code and Message methods to get detailed information about 2839// the error. 2840// 2841// See the AWS API reference guide for AWS App Mesh's 2842// API operation UpdateRoute for usage and error information. 2843// 2844// Returned Error Codes: 2845// * ErrCodeBadRequestException "BadRequestException" 2846// The request syntax was malformed. Check your request syntax and try again. 2847// 2848// * ErrCodeConflictException "ConflictException" 2849// The request contains a client token that was used for a previous update resource 2850// call with different specifications. Try the request again with a new client 2851// token. 2852// 2853// * ErrCodeForbiddenException "ForbiddenException" 2854// You don't have permissions to perform this action. 2855// 2856// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2857// The request processing has failed because of an unknown error, exception, 2858// or failure. 2859// 2860// * ErrCodeLimitExceededException "LimitExceededException" 2861// You have exceeded a service limit for your account. For more information, 2862// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 2863// in the AWS App Mesh User Guide. 2864// 2865// * ErrCodeNotFoundException "NotFoundException" 2866// The specified resource doesn't exist. Check your request syntax and try again. 2867// 2868// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2869// The request has failed due to a temporary failure of the service. 2870// 2871// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2872// The maximum request rate permitted by the App Mesh APIs has been exceeded 2873// for your account. For best results, use an increasing or variable sleep interval 2874// between requests. 2875// 2876// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute 2877func (c *AppMesh) UpdateRoute(input *UpdateRouteInput) (*UpdateRouteOutput, error) { 2878 req, out := c.UpdateRouteRequest(input) 2879 return out, req.Send() 2880} 2881 2882// UpdateRouteWithContext is the same as UpdateRoute with the addition of 2883// the ability to pass a context and additional request options. 2884// 2885// See UpdateRoute for details on how to use this API operation. 2886// 2887// The context must be non-nil and will be used for request cancellation. If 2888// the context is nil a panic will occur. In the future the SDK may create 2889// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2890// for more information on using Contexts. 2891func (c *AppMesh) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInput, opts ...request.Option) (*UpdateRouteOutput, error) { 2892 req, out := c.UpdateRouteRequest(input) 2893 req.SetContext(ctx) 2894 req.ApplyOptions(opts...) 2895 return out, req.Send() 2896} 2897 2898const opUpdateVirtualNode = "UpdateVirtualNode" 2899 2900// UpdateVirtualNodeRequest generates a "aws/request.Request" representing the 2901// client's request for the UpdateVirtualNode operation. The "output" return 2902// value will be populated with the request's response once the request completes 2903// successfully. 2904// 2905// Use "Send" method on the returned Request to send the API call to the service. 2906// the "output" return value is not valid until after Send returns without error. 2907// 2908// See UpdateVirtualNode for more information on using the UpdateVirtualNode 2909// API call, and error handling. 2910// 2911// This method is useful when you want to inject custom logic or configuration 2912// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2913// 2914// 2915// // Example sending a request using the UpdateVirtualNodeRequest method. 2916// req, resp := client.UpdateVirtualNodeRequest(params) 2917// 2918// err := req.Send() 2919// if err == nil { // resp is now filled 2920// fmt.Println(resp) 2921// } 2922// 2923// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode 2924func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) { 2925 op := &request.Operation{ 2926 Name: opUpdateVirtualNode, 2927 HTTPMethod: "PUT", 2928 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", 2929 } 2930 2931 if input == nil { 2932 input = &UpdateVirtualNodeInput{} 2933 } 2934 2935 output = &UpdateVirtualNodeOutput{} 2936 req = c.newRequest(op, input, output) 2937 return 2938} 2939 2940// UpdateVirtualNode API operation for AWS App Mesh. 2941// 2942// Updates an existing virtual node in a specified service mesh. 2943// 2944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2945// with awserr.Error's Code and Message methods to get detailed information about 2946// the error. 2947// 2948// See the AWS API reference guide for AWS App Mesh's 2949// API operation UpdateVirtualNode for usage and error information. 2950// 2951// Returned Error Codes: 2952// * ErrCodeBadRequestException "BadRequestException" 2953// The request syntax was malformed. Check your request syntax and try again. 2954// 2955// * ErrCodeConflictException "ConflictException" 2956// The request contains a client token that was used for a previous update resource 2957// call with different specifications. Try the request again with a new client 2958// token. 2959// 2960// * ErrCodeForbiddenException "ForbiddenException" 2961// You don't have permissions to perform this action. 2962// 2963// * ErrCodeInternalServerErrorException "InternalServerErrorException" 2964// The request processing has failed because of an unknown error, exception, 2965// or failure. 2966// 2967// * ErrCodeLimitExceededException "LimitExceededException" 2968// You have exceeded a service limit for your account. For more information, 2969// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 2970// in the AWS App Mesh User Guide. 2971// 2972// * ErrCodeNotFoundException "NotFoundException" 2973// The specified resource doesn't exist. Check your request syntax and try again. 2974// 2975// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2976// The request has failed due to a temporary failure of the service. 2977// 2978// * ErrCodeTooManyRequestsException "TooManyRequestsException" 2979// The maximum request rate permitted by the App Mesh APIs has been exceeded 2980// for your account. For best results, use an increasing or variable sleep interval 2981// between requests. 2982// 2983// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode 2984func (c *AppMesh) UpdateVirtualNode(input *UpdateVirtualNodeInput) (*UpdateVirtualNodeOutput, error) { 2985 req, out := c.UpdateVirtualNodeRequest(input) 2986 return out, req.Send() 2987} 2988 2989// UpdateVirtualNodeWithContext is the same as UpdateVirtualNode with the addition of 2990// the ability to pass a context and additional request options. 2991// 2992// See UpdateVirtualNode for details on how to use this API operation. 2993// 2994// The context must be non-nil and will be used for request cancellation. If 2995// the context is nil a panic will occur. In the future the SDK may create 2996// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2997// for more information on using Contexts. 2998func (c *AppMesh) UpdateVirtualNodeWithContext(ctx aws.Context, input *UpdateVirtualNodeInput, opts ...request.Option) (*UpdateVirtualNodeOutput, error) { 2999 req, out := c.UpdateVirtualNodeRequest(input) 3000 req.SetContext(ctx) 3001 req.ApplyOptions(opts...) 3002 return out, req.Send() 3003} 3004 3005const opUpdateVirtualRouter = "UpdateVirtualRouter" 3006 3007// UpdateVirtualRouterRequest generates a "aws/request.Request" representing the 3008// client's request for the UpdateVirtualRouter operation. The "output" return 3009// value will be populated with the request's response once the request completes 3010// successfully. 3011// 3012// Use "Send" method on the returned Request to send the API call to the service. 3013// the "output" return value is not valid until after Send returns without error. 3014// 3015// See UpdateVirtualRouter for more information on using the UpdateVirtualRouter 3016// API call, and error handling. 3017// 3018// This method is useful when you want to inject custom logic or configuration 3019// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3020// 3021// 3022// // Example sending a request using the UpdateVirtualRouterRequest method. 3023// req, resp := client.UpdateVirtualRouterRequest(params) 3024// 3025// err := req.Send() 3026// if err == nil { // resp is now filled 3027// fmt.Println(resp) 3028// } 3029// 3030// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter 3031func (c *AppMesh) UpdateVirtualRouterRequest(input *UpdateVirtualRouterInput) (req *request.Request, output *UpdateVirtualRouterOutput) { 3032 op := &request.Operation{ 3033 Name: opUpdateVirtualRouter, 3034 HTTPMethod: "PUT", 3035 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", 3036 } 3037 3038 if input == nil { 3039 input = &UpdateVirtualRouterInput{} 3040 } 3041 3042 output = &UpdateVirtualRouterOutput{} 3043 req = c.newRequest(op, input, output) 3044 return 3045} 3046 3047// UpdateVirtualRouter API operation for AWS App Mesh. 3048// 3049// Updates an existing virtual router in a specified service mesh. 3050// 3051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3052// with awserr.Error's Code and Message methods to get detailed information about 3053// the error. 3054// 3055// See the AWS API reference guide for AWS App Mesh's 3056// API operation UpdateVirtualRouter for usage and error information. 3057// 3058// Returned Error Codes: 3059// * ErrCodeBadRequestException "BadRequestException" 3060// The request syntax was malformed. Check your request syntax and try again. 3061// 3062// * ErrCodeConflictException "ConflictException" 3063// The request contains a client token that was used for a previous update resource 3064// call with different specifications. Try the request again with a new client 3065// token. 3066// 3067// * ErrCodeForbiddenException "ForbiddenException" 3068// You don't have permissions to perform this action. 3069// 3070// * ErrCodeInternalServerErrorException "InternalServerErrorException" 3071// The request processing has failed because of an unknown error, exception, 3072// or failure. 3073// 3074// * ErrCodeLimitExceededException "LimitExceededException" 3075// You have exceeded a service limit for your account. For more information, 3076// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 3077// in the AWS App Mesh User Guide. 3078// 3079// * ErrCodeNotFoundException "NotFoundException" 3080// The specified resource doesn't exist. Check your request syntax and try again. 3081// 3082// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3083// The request has failed due to a temporary failure of the service. 3084// 3085// * ErrCodeTooManyRequestsException "TooManyRequestsException" 3086// The maximum request rate permitted by the App Mesh APIs has been exceeded 3087// for your account. For best results, use an increasing or variable sleep interval 3088// between requests. 3089// 3090// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter 3091func (c *AppMesh) UpdateVirtualRouter(input *UpdateVirtualRouterInput) (*UpdateVirtualRouterOutput, error) { 3092 req, out := c.UpdateVirtualRouterRequest(input) 3093 return out, req.Send() 3094} 3095 3096// UpdateVirtualRouterWithContext is the same as UpdateVirtualRouter with the addition of 3097// the ability to pass a context and additional request options. 3098// 3099// See UpdateVirtualRouter for details on how to use this API operation. 3100// 3101// The context must be non-nil and will be used for request cancellation. If 3102// the context is nil a panic will occur. In the future the SDK may create 3103// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3104// for more information on using Contexts. 3105func (c *AppMesh) UpdateVirtualRouterWithContext(ctx aws.Context, input *UpdateVirtualRouterInput, opts ...request.Option) (*UpdateVirtualRouterOutput, error) { 3106 req, out := c.UpdateVirtualRouterRequest(input) 3107 req.SetContext(ctx) 3108 req.ApplyOptions(opts...) 3109 return out, req.Send() 3110} 3111 3112const opUpdateVirtualService = "UpdateVirtualService" 3113 3114// UpdateVirtualServiceRequest generates a "aws/request.Request" representing the 3115// client's request for the UpdateVirtualService operation. The "output" return 3116// value will be populated with the request's response once the request completes 3117// successfully. 3118// 3119// Use "Send" method on the returned Request to send the API call to the service. 3120// the "output" return value is not valid until after Send returns without error. 3121// 3122// See UpdateVirtualService for more information on using the UpdateVirtualService 3123// API call, and error handling. 3124// 3125// This method is useful when you want to inject custom logic or configuration 3126// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3127// 3128// 3129// // Example sending a request using the UpdateVirtualServiceRequest method. 3130// req, resp := client.UpdateVirtualServiceRequest(params) 3131// 3132// err := req.Send() 3133// if err == nil { // resp is now filled 3134// fmt.Println(resp) 3135// } 3136// 3137// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService 3138func (c *AppMesh) UpdateVirtualServiceRequest(input *UpdateVirtualServiceInput) (req *request.Request, output *UpdateVirtualServiceOutput) { 3139 op := &request.Operation{ 3140 Name: opUpdateVirtualService, 3141 HTTPMethod: "PUT", 3142 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", 3143 } 3144 3145 if input == nil { 3146 input = &UpdateVirtualServiceInput{} 3147 } 3148 3149 output = &UpdateVirtualServiceOutput{} 3150 req = c.newRequest(op, input, output) 3151 return 3152} 3153 3154// UpdateVirtualService API operation for AWS App Mesh. 3155// 3156// Updates an existing virtual service in a specified service mesh. 3157// 3158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3159// with awserr.Error's Code and Message methods to get detailed information about 3160// the error. 3161// 3162// See the AWS API reference guide for AWS App Mesh's 3163// API operation UpdateVirtualService for usage and error information. 3164// 3165// Returned Error Codes: 3166// * ErrCodeBadRequestException "BadRequestException" 3167// The request syntax was malformed. Check your request syntax and try again. 3168// 3169// * ErrCodeConflictException "ConflictException" 3170// The request contains a client token that was used for a previous update resource 3171// call with different specifications. Try the request again with a new client 3172// token. 3173// 3174// * ErrCodeForbiddenException "ForbiddenException" 3175// You don't have permissions to perform this action. 3176// 3177// * ErrCodeInternalServerErrorException "InternalServerErrorException" 3178// The request processing has failed because of an unknown error, exception, 3179// or failure. 3180// 3181// * ErrCodeLimitExceededException "LimitExceededException" 3182// You have exceeded a service limit for your account. For more information, 3183// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) 3184// in the AWS App Mesh User Guide. 3185// 3186// * ErrCodeNotFoundException "NotFoundException" 3187// The specified resource doesn't exist. Check your request syntax and try again. 3188// 3189// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3190// The request has failed due to a temporary failure of the service. 3191// 3192// * ErrCodeTooManyRequestsException "TooManyRequestsException" 3193// The maximum request rate permitted by the App Mesh APIs has been exceeded 3194// for your account. For best results, use an increasing or variable sleep interval 3195// between requests. 3196// 3197// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService 3198func (c *AppMesh) UpdateVirtualService(input *UpdateVirtualServiceInput) (*UpdateVirtualServiceOutput, error) { 3199 req, out := c.UpdateVirtualServiceRequest(input) 3200 return out, req.Send() 3201} 3202 3203// UpdateVirtualServiceWithContext is the same as UpdateVirtualService with the addition of 3204// the ability to pass a context and additional request options. 3205// 3206// See UpdateVirtualService for details on how to use this API operation. 3207// 3208// The context must be non-nil and will be used for request cancellation. If 3209// the context is nil a panic will occur. In the future the SDK may create 3210// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3211// for more information on using Contexts. 3212func (c *AppMesh) UpdateVirtualServiceWithContext(ctx aws.Context, input *UpdateVirtualServiceInput, opts ...request.Option) (*UpdateVirtualServiceOutput, error) { 3213 req, out := c.UpdateVirtualServiceRequest(input) 3214 req.SetContext(ctx) 3215 req.ApplyOptions(opts...) 3216 return out, req.Send() 3217} 3218 3219// An object representing the access logging information for a virtual node. 3220type AccessLog struct { 3221 _ struct{} `type:"structure"` 3222 3223 // The file object to send virtual node access logs to. 3224 File *FileAccessLog `locationName:"file" type:"structure"` 3225} 3226 3227// String returns the string representation 3228func (s AccessLog) String() string { 3229 return awsutil.Prettify(s) 3230} 3231 3232// GoString returns the string representation 3233func (s AccessLog) GoString() string { 3234 return s.String() 3235} 3236 3237// Validate inspects the fields of the type to determine if they are valid. 3238func (s *AccessLog) Validate() error { 3239 invalidParams := request.ErrInvalidParams{Context: "AccessLog"} 3240 if s.File != nil { 3241 if err := s.File.Validate(); err != nil { 3242 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 3243 } 3244 } 3245 3246 if invalidParams.Len() > 0 { 3247 return invalidParams 3248 } 3249 return nil 3250} 3251 3252// SetFile sets the File field's value. 3253func (s *AccessLog) SetFile(v *FileAccessLog) *AccessLog { 3254 s.File = v 3255 return s 3256} 3257 3258// An object representing the AWS Cloud Map attribute information for your virtual 3259// node. 3260type AwsCloudMapInstanceAttribute struct { 3261 _ struct{} `type:"structure"` 3262 3263 // The name of an AWS Cloud Map service instance attribute key. Any AWS Cloud 3264 // Map service instance that contains the specified key and value is returned. 3265 // 3266 // Key is a required field 3267 Key *string `locationName:"key" min:"1" type:"string" required:"true"` 3268 3269 // The value of an AWS Cloud Map service instance attribute key. Any AWS Cloud 3270 // Map service instance that contains the specified key and value is returned. 3271 // 3272 // Value is a required field 3273 Value *string `locationName:"value" min:"1" type:"string" required:"true"` 3274} 3275 3276// String returns the string representation 3277func (s AwsCloudMapInstanceAttribute) String() string { 3278 return awsutil.Prettify(s) 3279} 3280 3281// GoString returns the string representation 3282func (s AwsCloudMapInstanceAttribute) GoString() string { 3283 return s.String() 3284} 3285 3286// Validate inspects the fields of the type to determine if they are valid. 3287func (s *AwsCloudMapInstanceAttribute) Validate() error { 3288 invalidParams := request.ErrInvalidParams{Context: "AwsCloudMapInstanceAttribute"} 3289 if s.Key == nil { 3290 invalidParams.Add(request.NewErrParamRequired("Key")) 3291 } 3292 if s.Key != nil && len(*s.Key) < 1 { 3293 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 3294 } 3295 if s.Value == nil { 3296 invalidParams.Add(request.NewErrParamRequired("Value")) 3297 } 3298 if s.Value != nil && len(*s.Value) < 1 { 3299 invalidParams.Add(request.NewErrParamMinLen("Value", 1)) 3300 } 3301 3302 if invalidParams.Len() > 0 { 3303 return invalidParams 3304 } 3305 return nil 3306} 3307 3308// SetKey sets the Key field's value. 3309func (s *AwsCloudMapInstanceAttribute) SetKey(v string) *AwsCloudMapInstanceAttribute { 3310 s.Key = &v 3311 return s 3312} 3313 3314// SetValue sets the Value field's value. 3315func (s *AwsCloudMapInstanceAttribute) SetValue(v string) *AwsCloudMapInstanceAttribute { 3316 s.Value = &v 3317 return s 3318} 3319 3320// An object representing the AWS Cloud Map service discovery information for 3321// your virtual node. 3322type AwsCloudMapServiceDiscovery struct { 3323 _ struct{} `type:"structure"` 3324 3325 // A string map that contains attributes with values that you can use to filter 3326 // instances by any custom attribute that you specified when you registered 3327 // the instance. Only instances that match all of the specified key/value pairs 3328 // will be returned. 3329 Attributes []*AwsCloudMapInstanceAttribute `locationName:"attributes" type:"list"` 3330 3331 // The name of the AWS Cloud Map namespace to use. 3332 // 3333 // NamespaceName is a required field 3334 NamespaceName *string `locationName:"namespaceName" min:"1" type:"string" required:"true"` 3335 3336 // The name of the AWS Cloud Map service to use. 3337 // 3338 // ServiceName is a required field 3339 ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` 3340} 3341 3342// String returns the string representation 3343func (s AwsCloudMapServiceDiscovery) String() string { 3344 return awsutil.Prettify(s) 3345} 3346 3347// GoString returns the string representation 3348func (s AwsCloudMapServiceDiscovery) GoString() string { 3349 return s.String() 3350} 3351 3352// Validate inspects the fields of the type to determine if they are valid. 3353func (s *AwsCloudMapServiceDiscovery) Validate() error { 3354 invalidParams := request.ErrInvalidParams{Context: "AwsCloudMapServiceDiscovery"} 3355 if s.NamespaceName == nil { 3356 invalidParams.Add(request.NewErrParamRequired("NamespaceName")) 3357 } 3358 if s.NamespaceName != nil && len(*s.NamespaceName) < 1 { 3359 invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 1)) 3360 } 3361 if s.ServiceName == nil { 3362 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 3363 } 3364 if s.ServiceName != nil && len(*s.ServiceName) < 1 { 3365 invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) 3366 } 3367 if s.Attributes != nil { 3368 for i, v := range s.Attributes { 3369 if v == nil { 3370 continue 3371 } 3372 if err := v.Validate(); err != nil { 3373 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 3374 } 3375 } 3376 } 3377 3378 if invalidParams.Len() > 0 { 3379 return invalidParams 3380 } 3381 return nil 3382} 3383 3384// SetAttributes sets the Attributes field's value. 3385func (s *AwsCloudMapServiceDiscovery) SetAttributes(v []*AwsCloudMapInstanceAttribute) *AwsCloudMapServiceDiscovery { 3386 s.Attributes = v 3387 return s 3388} 3389 3390// SetNamespaceName sets the NamespaceName field's value. 3391func (s *AwsCloudMapServiceDiscovery) SetNamespaceName(v string) *AwsCloudMapServiceDiscovery { 3392 s.NamespaceName = &v 3393 return s 3394} 3395 3396// SetServiceName sets the ServiceName field's value. 3397func (s *AwsCloudMapServiceDiscovery) SetServiceName(v string) *AwsCloudMapServiceDiscovery { 3398 s.ServiceName = &v 3399 return s 3400} 3401 3402// An object representing the backends that a virtual node is expected to send 3403// outbound traffic to. 3404type Backend struct { 3405 _ struct{} `type:"structure"` 3406 3407 // Specifies a virtual service to use as a backend for a virtual node. 3408 VirtualService *VirtualServiceBackend `locationName:"virtualService" type:"structure"` 3409} 3410 3411// String returns the string representation 3412func (s Backend) String() string { 3413 return awsutil.Prettify(s) 3414} 3415 3416// GoString returns the string representation 3417func (s Backend) GoString() string { 3418 return s.String() 3419} 3420 3421// Validate inspects the fields of the type to determine if they are valid. 3422func (s *Backend) Validate() error { 3423 invalidParams := request.ErrInvalidParams{Context: "Backend"} 3424 if s.VirtualService != nil { 3425 if err := s.VirtualService.Validate(); err != nil { 3426 invalidParams.AddNested("VirtualService", err.(request.ErrInvalidParams)) 3427 } 3428 } 3429 3430 if invalidParams.Len() > 0 { 3431 return invalidParams 3432 } 3433 return nil 3434} 3435 3436// SetVirtualService sets the VirtualService field's value. 3437func (s *Backend) SetVirtualService(v *VirtualServiceBackend) *Backend { 3438 s.VirtualService = v 3439 return s 3440} 3441 3442type CreateMeshInput struct { 3443 _ struct{} `type:"structure"` 3444 3445 // Unique, case-sensitive identifier that you provide to ensure the idempotency 3446 // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. 3447 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 3448 3449 // The name to use for the service mesh. 3450 // 3451 // MeshName is a required field 3452 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 3453 3454 // The service mesh specification to apply. 3455 Spec *MeshSpec `locationName:"spec" type:"structure"` 3456 3457 // Optional metadata that you can apply to the service mesh to assist with categorization 3458 // and organization. Each tag consists of a key and an optional value, both 3459 // of which you define. Tag keys can have a maximum character length of 128 3460 // characters, and tag values can have a maximum length of 256 characters. 3461 Tags []*TagRef `locationName:"tags" type:"list"` 3462} 3463 3464// String returns the string representation 3465func (s CreateMeshInput) String() string { 3466 return awsutil.Prettify(s) 3467} 3468 3469// GoString returns the string representation 3470func (s CreateMeshInput) GoString() string { 3471 return s.String() 3472} 3473 3474// Validate inspects the fields of the type to determine if they are valid. 3475func (s *CreateMeshInput) Validate() error { 3476 invalidParams := request.ErrInvalidParams{Context: "CreateMeshInput"} 3477 if s.MeshName == nil { 3478 invalidParams.Add(request.NewErrParamRequired("MeshName")) 3479 } 3480 if s.MeshName != nil && len(*s.MeshName) < 1 { 3481 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 3482 } 3483 if s.Spec != nil { 3484 if err := s.Spec.Validate(); err != nil { 3485 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 3486 } 3487 } 3488 if s.Tags != nil { 3489 for i, v := range s.Tags { 3490 if v == nil { 3491 continue 3492 } 3493 if err := v.Validate(); err != nil { 3494 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 3495 } 3496 } 3497 } 3498 3499 if invalidParams.Len() > 0 { 3500 return invalidParams 3501 } 3502 return nil 3503} 3504 3505// SetClientToken sets the ClientToken field's value. 3506func (s *CreateMeshInput) SetClientToken(v string) *CreateMeshInput { 3507 s.ClientToken = &v 3508 return s 3509} 3510 3511// SetMeshName sets the MeshName field's value. 3512func (s *CreateMeshInput) SetMeshName(v string) *CreateMeshInput { 3513 s.MeshName = &v 3514 return s 3515} 3516 3517// SetSpec sets the Spec field's value. 3518func (s *CreateMeshInput) SetSpec(v *MeshSpec) *CreateMeshInput { 3519 s.Spec = v 3520 return s 3521} 3522 3523// SetTags sets the Tags field's value. 3524func (s *CreateMeshInput) SetTags(v []*TagRef) *CreateMeshInput { 3525 s.Tags = v 3526 return s 3527} 3528 3529type CreateMeshOutput struct { 3530 _ struct{} `type:"structure" payload:"Mesh"` 3531 3532 // The full description of your service mesh following the create call. 3533 // 3534 // Mesh is a required field 3535 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 3536} 3537 3538// String returns the string representation 3539func (s CreateMeshOutput) String() string { 3540 return awsutil.Prettify(s) 3541} 3542 3543// GoString returns the string representation 3544func (s CreateMeshOutput) GoString() string { 3545 return s.String() 3546} 3547 3548// SetMesh sets the Mesh field's value. 3549func (s *CreateMeshOutput) SetMesh(v *MeshData) *CreateMeshOutput { 3550 s.Mesh = v 3551 return s 3552} 3553 3554type CreateRouteInput struct { 3555 _ struct{} `type:"structure"` 3556 3557 // Unique, case-sensitive identifier that you provide to ensure the idempotency 3558 // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. 3559 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 3560 3561 // The name of the service mesh to create the route in. 3562 // 3563 // MeshName is a required field 3564 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 3565 3566 // The name to use for the route. 3567 // 3568 // RouteName is a required field 3569 RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` 3570 3571 // The route specification to apply. 3572 // 3573 // Spec is a required field 3574 Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` 3575 3576 // Optional metadata that you can apply to the route to assist with categorization 3577 // and organization. Each tag consists of a key and an optional value, both 3578 // of which you define. Tag keys can have a maximum character length of 128 3579 // characters, and tag values can have a maximum length of 256 characters. 3580 Tags []*TagRef `locationName:"tags" type:"list"` 3581 3582 // The name of the virtual router in which to create the route. 3583 // 3584 // VirtualRouterName is a required field 3585 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 3586} 3587 3588// String returns the string representation 3589func (s CreateRouteInput) String() string { 3590 return awsutil.Prettify(s) 3591} 3592 3593// GoString returns the string representation 3594func (s CreateRouteInput) GoString() string { 3595 return s.String() 3596} 3597 3598// Validate inspects the fields of the type to determine if they are valid. 3599func (s *CreateRouteInput) Validate() error { 3600 invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"} 3601 if s.MeshName == nil { 3602 invalidParams.Add(request.NewErrParamRequired("MeshName")) 3603 } 3604 if s.MeshName != nil && len(*s.MeshName) < 1 { 3605 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 3606 } 3607 if s.RouteName == nil { 3608 invalidParams.Add(request.NewErrParamRequired("RouteName")) 3609 } 3610 if s.RouteName != nil && len(*s.RouteName) < 1 { 3611 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 3612 } 3613 if s.Spec == nil { 3614 invalidParams.Add(request.NewErrParamRequired("Spec")) 3615 } 3616 if s.VirtualRouterName == nil { 3617 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 3618 } 3619 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 3620 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 3621 } 3622 if s.Spec != nil { 3623 if err := s.Spec.Validate(); err != nil { 3624 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 3625 } 3626 } 3627 if s.Tags != nil { 3628 for i, v := range s.Tags { 3629 if v == nil { 3630 continue 3631 } 3632 if err := v.Validate(); err != nil { 3633 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 3634 } 3635 } 3636 } 3637 3638 if invalidParams.Len() > 0 { 3639 return invalidParams 3640 } 3641 return nil 3642} 3643 3644// SetClientToken sets the ClientToken field's value. 3645func (s *CreateRouteInput) SetClientToken(v string) *CreateRouteInput { 3646 s.ClientToken = &v 3647 return s 3648} 3649 3650// SetMeshName sets the MeshName field's value. 3651func (s *CreateRouteInput) SetMeshName(v string) *CreateRouteInput { 3652 s.MeshName = &v 3653 return s 3654} 3655 3656// SetRouteName sets the RouteName field's value. 3657func (s *CreateRouteInput) SetRouteName(v string) *CreateRouteInput { 3658 s.RouteName = &v 3659 return s 3660} 3661 3662// SetSpec sets the Spec field's value. 3663func (s *CreateRouteInput) SetSpec(v *RouteSpec) *CreateRouteInput { 3664 s.Spec = v 3665 return s 3666} 3667 3668// SetTags sets the Tags field's value. 3669func (s *CreateRouteInput) SetTags(v []*TagRef) *CreateRouteInput { 3670 s.Tags = v 3671 return s 3672} 3673 3674// SetVirtualRouterName sets the VirtualRouterName field's value. 3675func (s *CreateRouteInput) SetVirtualRouterName(v string) *CreateRouteInput { 3676 s.VirtualRouterName = &v 3677 return s 3678} 3679 3680type CreateRouteOutput struct { 3681 _ struct{} `type:"structure" payload:"Route"` 3682 3683 // The full description of your mesh following the create call. 3684 // 3685 // Route is a required field 3686 Route *RouteData `locationName:"route" type:"structure" required:"true"` 3687} 3688 3689// String returns the string representation 3690func (s CreateRouteOutput) String() string { 3691 return awsutil.Prettify(s) 3692} 3693 3694// GoString returns the string representation 3695func (s CreateRouteOutput) GoString() string { 3696 return s.String() 3697} 3698 3699// SetRoute sets the Route field's value. 3700func (s *CreateRouteOutput) SetRoute(v *RouteData) *CreateRouteOutput { 3701 s.Route = v 3702 return s 3703} 3704 3705type CreateVirtualNodeInput struct { 3706 _ struct{} `type:"structure"` 3707 3708 // Unique, case-sensitive identifier that you provide to ensure the idempotency 3709 // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. 3710 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 3711 3712 // The name of the service mesh to create the virtual node in. 3713 // 3714 // MeshName is a required field 3715 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 3716 3717 // The virtual node specification to apply. 3718 // 3719 // Spec is a required field 3720 Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` 3721 3722 // Optional metadata that you can apply to the virtual node to assist with categorization 3723 // and organization. Each tag consists of a key and an optional value, both 3724 // of which you define. Tag keys can have a maximum character length of 128 3725 // characters, and tag values can have a maximum length of 256 characters. 3726 Tags []*TagRef `locationName:"tags" type:"list"` 3727 3728 // The name to use for the virtual node. 3729 // 3730 // VirtualNodeName is a required field 3731 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 3732} 3733 3734// String returns the string representation 3735func (s CreateVirtualNodeInput) String() string { 3736 return awsutil.Prettify(s) 3737} 3738 3739// GoString returns the string representation 3740func (s CreateVirtualNodeInput) GoString() string { 3741 return s.String() 3742} 3743 3744// Validate inspects the fields of the type to determine if they are valid. 3745func (s *CreateVirtualNodeInput) Validate() error { 3746 invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"} 3747 if s.MeshName == nil { 3748 invalidParams.Add(request.NewErrParamRequired("MeshName")) 3749 } 3750 if s.MeshName != nil && len(*s.MeshName) < 1 { 3751 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 3752 } 3753 if s.Spec == nil { 3754 invalidParams.Add(request.NewErrParamRequired("Spec")) 3755 } 3756 if s.VirtualNodeName == nil { 3757 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 3758 } 3759 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 3760 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 3761 } 3762 if s.Spec != nil { 3763 if err := s.Spec.Validate(); err != nil { 3764 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 3765 } 3766 } 3767 if s.Tags != nil { 3768 for i, v := range s.Tags { 3769 if v == nil { 3770 continue 3771 } 3772 if err := v.Validate(); err != nil { 3773 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 3774 } 3775 } 3776 } 3777 3778 if invalidParams.Len() > 0 { 3779 return invalidParams 3780 } 3781 return nil 3782} 3783 3784// SetClientToken sets the ClientToken field's value. 3785func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput { 3786 s.ClientToken = &v 3787 return s 3788} 3789 3790// SetMeshName sets the MeshName field's value. 3791func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput { 3792 s.MeshName = &v 3793 return s 3794} 3795 3796// SetSpec sets the Spec field's value. 3797func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput { 3798 s.Spec = v 3799 return s 3800} 3801 3802// SetTags sets the Tags field's value. 3803func (s *CreateVirtualNodeInput) SetTags(v []*TagRef) *CreateVirtualNodeInput { 3804 s.Tags = v 3805 return s 3806} 3807 3808// SetVirtualNodeName sets the VirtualNodeName field's value. 3809func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput { 3810 s.VirtualNodeName = &v 3811 return s 3812} 3813 3814type CreateVirtualNodeOutput struct { 3815 _ struct{} `type:"structure" payload:"VirtualNode"` 3816 3817 // The full description of your virtual node following the create call. 3818 // 3819 // VirtualNode is a required field 3820 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 3821} 3822 3823// String returns the string representation 3824func (s CreateVirtualNodeOutput) String() string { 3825 return awsutil.Prettify(s) 3826} 3827 3828// GoString returns the string representation 3829func (s CreateVirtualNodeOutput) GoString() string { 3830 return s.String() 3831} 3832 3833// SetVirtualNode sets the VirtualNode field's value. 3834func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput { 3835 s.VirtualNode = v 3836 return s 3837} 3838 3839type CreateVirtualRouterInput struct { 3840 _ struct{} `type:"structure"` 3841 3842 // Unique, case-sensitive identifier that you provide to ensure the idempotency 3843 // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. 3844 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 3845 3846 // The name of the service mesh to create the virtual router in. 3847 // 3848 // MeshName is a required field 3849 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 3850 3851 // The virtual router specification to apply. 3852 // 3853 // Spec is a required field 3854 Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` 3855 3856 // Optional metadata that you can apply to the virtual router to assist with 3857 // categorization and organization. Each tag consists of a key and an optional 3858 // value, both of which you define. Tag keys can have a maximum character length 3859 // of 128 characters, and tag values can have a maximum length of 256 characters. 3860 Tags []*TagRef `locationName:"tags" type:"list"` 3861 3862 // The name to use for the virtual router. 3863 // 3864 // VirtualRouterName is a required field 3865 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 3866} 3867 3868// String returns the string representation 3869func (s CreateVirtualRouterInput) String() string { 3870 return awsutil.Prettify(s) 3871} 3872 3873// GoString returns the string representation 3874func (s CreateVirtualRouterInput) GoString() string { 3875 return s.String() 3876} 3877 3878// Validate inspects the fields of the type to determine if they are valid. 3879func (s *CreateVirtualRouterInput) Validate() error { 3880 invalidParams := request.ErrInvalidParams{Context: "CreateVirtualRouterInput"} 3881 if s.MeshName == nil { 3882 invalidParams.Add(request.NewErrParamRequired("MeshName")) 3883 } 3884 if s.MeshName != nil && len(*s.MeshName) < 1 { 3885 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 3886 } 3887 if s.Spec == nil { 3888 invalidParams.Add(request.NewErrParamRequired("Spec")) 3889 } 3890 if s.VirtualRouterName == nil { 3891 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 3892 } 3893 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 3894 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 3895 } 3896 if s.Spec != nil { 3897 if err := s.Spec.Validate(); err != nil { 3898 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 3899 } 3900 } 3901 if s.Tags != nil { 3902 for i, v := range s.Tags { 3903 if v == nil { 3904 continue 3905 } 3906 if err := v.Validate(); err != nil { 3907 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 3908 } 3909 } 3910 } 3911 3912 if invalidParams.Len() > 0 { 3913 return invalidParams 3914 } 3915 return nil 3916} 3917 3918// SetClientToken sets the ClientToken field's value. 3919func (s *CreateVirtualRouterInput) SetClientToken(v string) *CreateVirtualRouterInput { 3920 s.ClientToken = &v 3921 return s 3922} 3923 3924// SetMeshName sets the MeshName field's value. 3925func (s *CreateVirtualRouterInput) SetMeshName(v string) *CreateVirtualRouterInput { 3926 s.MeshName = &v 3927 return s 3928} 3929 3930// SetSpec sets the Spec field's value. 3931func (s *CreateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *CreateVirtualRouterInput { 3932 s.Spec = v 3933 return s 3934} 3935 3936// SetTags sets the Tags field's value. 3937func (s *CreateVirtualRouterInput) SetTags(v []*TagRef) *CreateVirtualRouterInput { 3938 s.Tags = v 3939 return s 3940} 3941 3942// SetVirtualRouterName sets the VirtualRouterName field's value. 3943func (s *CreateVirtualRouterInput) SetVirtualRouterName(v string) *CreateVirtualRouterInput { 3944 s.VirtualRouterName = &v 3945 return s 3946} 3947 3948type CreateVirtualRouterOutput struct { 3949 _ struct{} `type:"structure" payload:"VirtualRouter"` 3950 3951 // The full description of your virtual router following the create call. 3952 // 3953 // VirtualRouter is a required field 3954 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 3955} 3956 3957// String returns the string representation 3958func (s CreateVirtualRouterOutput) String() string { 3959 return awsutil.Prettify(s) 3960} 3961 3962// GoString returns the string representation 3963func (s CreateVirtualRouterOutput) GoString() string { 3964 return s.String() 3965} 3966 3967// SetVirtualRouter sets the VirtualRouter field's value. 3968func (s *CreateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *CreateVirtualRouterOutput { 3969 s.VirtualRouter = v 3970 return s 3971} 3972 3973type CreateVirtualServiceInput struct { 3974 _ struct{} `type:"structure"` 3975 3976 // Unique, case-sensitive identifier that you provide to ensure the idempotency 3977 // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. 3978 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 3979 3980 // The name of the service mesh to create the virtual service in. 3981 // 3982 // MeshName is a required field 3983 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 3984 3985 // The virtual service specification to apply. 3986 // 3987 // Spec is a required field 3988 Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` 3989 3990 // Optional metadata that you can apply to the virtual service to assist with 3991 // categorization and organization. Each tag consists of a key and an optional 3992 // value, both of which you define. Tag keys can have a maximum character length 3993 // of 128 characters, and tag values can have a maximum length of 256 characters. 3994 Tags []*TagRef `locationName:"tags" type:"list"` 3995 3996 // The name to use for the virtual service. 3997 // 3998 // VirtualServiceName is a required field 3999 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 4000} 4001 4002// String returns the string representation 4003func (s CreateVirtualServiceInput) String() string { 4004 return awsutil.Prettify(s) 4005} 4006 4007// GoString returns the string representation 4008func (s CreateVirtualServiceInput) GoString() string { 4009 return s.String() 4010} 4011 4012// Validate inspects the fields of the type to determine if they are valid. 4013func (s *CreateVirtualServiceInput) Validate() error { 4014 invalidParams := request.ErrInvalidParams{Context: "CreateVirtualServiceInput"} 4015 if s.MeshName == nil { 4016 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4017 } 4018 if s.MeshName != nil && len(*s.MeshName) < 1 { 4019 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4020 } 4021 if s.Spec == nil { 4022 invalidParams.Add(request.NewErrParamRequired("Spec")) 4023 } 4024 if s.VirtualServiceName == nil { 4025 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 4026 } 4027 if s.Spec != nil { 4028 if err := s.Spec.Validate(); err != nil { 4029 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 4030 } 4031 } 4032 if s.Tags != nil { 4033 for i, v := range s.Tags { 4034 if v == nil { 4035 continue 4036 } 4037 if err := v.Validate(); err != nil { 4038 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4039 } 4040 } 4041 } 4042 4043 if invalidParams.Len() > 0 { 4044 return invalidParams 4045 } 4046 return nil 4047} 4048 4049// SetClientToken sets the ClientToken field's value. 4050func (s *CreateVirtualServiceInput) SetClientToken(v string) *CreateVirtualServiceInput { 4051 s.ClientToken = &v 4052 return s 4053} 4054 4055// SetMeshName sets the MeshName field's value. 4056func (s *CreateVirtualServiceInput) SetMeshName(v string) *CreateVirtualServiceInput { 4057 s.MeshName = &v 4058 return s 4059} 4060 4061// SetSpec sets the Spec field's value. 4062func (s *CreateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *CreateVirtualServiceInput { 4063 s.Spec = v 4064 return s 4065} 4066 4067// SetTags sets the Tags field's value. 4068func (s *CreateVirtualServiceInput) SetTags(v []*TagRef) *CreateVirtualServiceInput { 4069 s.Tags = v 4070 return s 4071} 4072 4073// SetVirtualServiceName sets the VirtualServiceName field's value. 4074func (s *CreateVirtualServiceInput) SetVirtualServiceName(v string) *CreateVirtualServiceInput { 4075 s.VirtualServiceName = &v 4076 return s 4077} 4078 4079type CreateVirtualServiceOutput struct { 4080 _ struct{} `type:"structure" payload:"VirtualService"` 4081 4082 // The full description of your virtual service following the create call. 4083 // 4084 // VirtualService is a required field 4085 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 4086} 4087 4088// String returns the string representation 4089func (s CreateVirtualServiceOutput) String() string { 4090 return awsutil.Prettify(s) 4091} 4092 4093// GoString returns the string representation 4094func (s CreateVirtualServiceOutput) GoString() string { 4095 return s.String() 4096} 4097 4098// SetVirtualService sets the VirtualService field's value. 4099func (s *CreateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *CreateVirtualServiceOutput { 4100 s.VirtualService = v 4101 return s 4102} 4103 4104type DeleteMeshInput struct { 4105 _ struct{} `type:"structure"` 4106 4107 // The name of the service mesh to delete. 4108 // 4109 // MeshName is a required field 4110 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4111} 4112 4113// String returns the string representation 4114func (s DeleteMeshInput) String() string { 4115 return awsutil.Prettify(s) 4116} 4117 4118// GoString returns the string representation 4119func (s DeleteMeshInput) GoString() string { 4120 return s.String() 4121} 4122 4123// Validate inspects the fields of the type to determine if they are valid. 4124func (s *DeleteMeshInput) Validate() error { 4125 invalidParams := request.ErrInvalidParams{Context: "DeleteMeshInput"} 4126 if s.MeshName == nil { 4127 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4128 } 4129 if s.MeshName != nil && len(*s.MeshName) < 1 { 4130 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4131 } 4132 4133 if invalidParams.Len() > 0 { 4134 return invalidParams 4135 } 4136 return nil 4137} 4138 4139// SetMeshName sets the MeshName field's value. 4140func (s *DeleteMeshInput) SetMeshName(v string) *DeleteMeshInput { 4141 s.MeshName = &v 4142 return s 4143} 4144 4145type DeleteMeshOutput struct { 4146 _ struct{} `type:"structure" payload:"Mesh"` 4147 4148 // The service mesh that was deleted. 4149 // 4150 // Mesh is a required field 4151 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 4152} 4153 4154// String returns the string representation 4155func (s DeleteMeshOutput) String() string { 4156 return awsutil.Prettify(s) 4157} 4158 4159// GoString returns the string representation 4160func (s DeleteMeshOutput) GoString() string { 4161 return s.String() 4162} 4163 4164// SetMesh sets the Mesh field's value. 4165func (s *DeleteMeshOutput) SetMesh(v *MeshData) *DeleteMeshOutput { 4166 s.Mesh = v 4167 return s 4168} 4169 4170type DeleteRouteInput struct { 4171 _ struct{} `type:"structure"` 4172 4173 // The name of the service mesh to delete the route in. 4174 // 4175 // MeshName is a required field 4176 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4177 4178 // The name of the route to delete. 4179 // 4180 // RouteName is a required field 4181 RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` 4182 4183 // The name of the virtual router to delete the route in. 4184 // 4185 // VirtualRouterName is a required field 4186 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 4187} 4188 4189// String returns the string representation 4190func (s DeleteRouteInput) String() string { 4191 return awsutil.Prettify(s) 4192} 4193 4194// GoString returns the string representation 4195func (s DeleteRouteInput) GoString() string { 4196 return s.String() 4197} 4198 4199// Validate inspects the fields of the type to determine if they are valid. 4200func (s *DeleteRouteInput) Validate() error { 4201 invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"} 4202 if s.MeshName == nil { 4203 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4204 } 4205 if s.MeshName != nil && len(*s.MeshName) < 1 { 4206 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4207 } 4208 if s.RouteName == nil { 4209 invalidParams.Add(request.NewErrParamRequired("RouteName")) 4210 } 4211 if s.RouteName != nil && len(*s.RouteName) < 1 { 4212 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 4213 } 4214 if s.VirtualRouterName == nil { 4215 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 4216 } 4217 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 4218 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 4219 } 4220 4221 if invalidParams.Len() > 0 { 4222 return invalidParams 4223 } 4224 return nil 4225} 4226 4227// SetMeshName sets the MeshName field's value. 4228func (s *DeleteRouteInput) SetMeshName(v string) *DeleteRouteInput { 4229 s.MeshName = &v 4230 return s 4231} 4232 4233// SetRouteName sets the RouteName field's value. 4234func (s *DeleteRouteInput) SetRouteName(v string) *DeleteRouteInput { 4235 s.RouteName = &v 4236 return s 4237} 4238 4239// SetVirtualRouterName sets the VirtualRouterName field's value. 4240func (s *DeleteRouteInput) SetVirtualRouterName(v string) *DeleteRouteInput { 4241 s.VirtualRouterName = &v 4242 return s 4243} 4244 4245type DeleteRouteOutput struct { 4246 _ struct{} `type:"structure" payload:"Route"` 4247 4248 // The route that was deleted. 4249 // 4250 // Route is a required field 4251 Route *RouteData `locationName:"route" type:"structure" required:"true"` 4252} 4253 4254// String returns the string representation 4255func (s DeleteRouteOutput) String() string { 4256 return awsutil.Prettify(s) 4257} 4258 4259// GoString returns the string representation 4260func (s DeleteRouteOutput) GoString() string { 4261 return s.String() 4262} 4263 4264// SetRoute sets the Route field's value. 4265func (s *DeleteRouteOutput) SetRoute(v *RouteData) *DeleteRouteOutput { 4266 s.Route = v 4267 return s 4268} 4269 4270type DeleteVirtualNodeInput struct { 4271 _ struct{} `type:"structure"` 4272 4273 // The name of the service mesh to delete the virtual node in. 4274 // 4275 // MeshName is a required field 4276 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4277 4278 // The name of the virtual node to delete. 4279 // 4280 // VirtualNodeName is a required field 4281 VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 4282} 4283 4284// String returns the string representation 4285func (s DeleteVirtualNodeInput) String() string { 4286 return awsutil.Prettify(s) 4287} 4288 4289// GoString returns the string representation 4290func (s DeleteVirtualNodeInput) GoString() string { 4291 return s.String() 4292} 4293 4294// Validate inspects the fields of the type to determine if they are valid. 4295func (s *DeleteVirtualNodeInput) Validate() error { 4296 invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"} 4297 if s.MeshName == nil { 4298 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4299 } 4300 if s.MeshName != nil && len(*s.MeshName) < 1 { 4301 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4302 } 4303 if s.VirtualNodeName == nil { 4304 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 4305 } 4306 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 4307 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 4308 } 4309 4310 if invalidParams.Len() > 0 { 4311 return invalidParams 4312 } 4313 return nil 4314} 4315 4316// SetMeshName sets the MeshName field's value. 4317func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput { 4318 s.MeshName = &v 4319 return s 4320} 4321 4322// SetVirtualNodeName sets the VirtualNodeName field's value. 4323func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput { 4324 s.VirtualNodeName = &v 4325 return s 4326} 4327 4328type DeleteVirtualNodeOutput struct { 4329 _ struct{} `type:"structure" payload:"VirtualNode"` 4330 4331 // The virtual node that was deleted. 4332 // 4333 // VirtualNode is a required field 4334 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 4335} 4336 4337// String returns the string representation 4338func (s DeleteVirtualNodeOutput) String() string { 4339 return awsutil.Prettify(s) 4340} 4341 4342// GoString returns the string representation 4343func (s DeleteVirtualNodeOutput) GoString() string { 4344 return s.String() 4345} 4346 4347// SetVirtualNode sets the VirtualNode field's value. 4348func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput { 4349 s.VirtualNode = v 4350 return s 4351} 4352 4353type DeleteVirtualRouterInput struct { 4354 _ struct{} `type:"structure"` 4355 4356 // The name of the service mesh to delete the virtual router in. 4357 // 4358 // MeshName is a required field 4359 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4360 4361 // The name of the virtual router to delete. 4362 // 4363 // VirtualRouterName is a required field 4364 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 4365} 4366 4367// String returns the string representation 4368func (s DeleteVirtualRouterInput) String() string { 4369 return awsutil.Prettify(s) 4370} 4371 4372// GoString returns the string representation 4373func (s DeleteVirtualRouterInput) GoString() string { 4374 return s.String() 4375} 4376 4377// Validate inspects the fields of the type to determine if they are valid. 4378func (s *DeleteVirtualRouterInput) Validate() error { 4379 invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"} 4380 if s.MeshName == nil { 4381 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4382 } 4383 if s.MeshName != nil && len(*s.MeshName) < 1 { 4384 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4385 } 4386 if s.VirtualRouterName == nil { 4387 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 4388 } 4389 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 4390 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 4391 } 4392 4393 if invalidParams.Len() > 0 { 4394 return invalidParams 4395 } 4396 return nil 4397} 4398 4399// SetMeshName sets the MeshName field's value. 4400func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput { 4401 s.MeshName = &v 4402 return s 4403} 4404 4405// SetVirtualRouterName sets the VirtualRouterName field's value. 4406func (s *DeleteVirtualRouterInput) SetVirtualRouterName(v string) *DeleteVirtualRouterInput { 4407 s.VirtualRouterName = &v 4408 return s 4409} 4410 4411type DeleteVirtualRouterOutput struct { 4412 _ struct{} `type:"structure" payload:"VirtualRouter"` 4413 4414 // The virtual router that was deleted. 4415 // 4416 // VirtualRouter is a required field 4417 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 4418} 4419 4420// String returns the string representation 4421func (s DeleteVirtualRouterOutput) String() string { 4422 return awsutil.Prettify(s) 4423} 4424 4425// GoString returns the string representation 4426func (s DeleteVirtualRouterOutput) GoString() string { 4427 return s.String() 4428} 4429 4430// SetVirtualRouter sets the VirtualRouter field's value. 4431func (s *DeleteVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DeleteVirtualRouterOutput { 4432 s.VirtualRouter = v 4433 return s 4434} 4435 4436type DeleteVirtualServiceInput struct { 4437 _ struct{} `type:"structure"` 4438 4439 // The name of the service mesh to delete the virtual service in. 4440 // 4441 // MeshName is a required field 4442 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4443 4444 // The name of the virtual service to delete. 4445 // 4446 // VirtualServiceName is a required field 4447 VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` 4448} 4449 4450// String returns the string representation 4451func (s DeleteVirtualServiceInput) String() string { 4452 return awsutil.Prettify(s) 4453} 4454 4455// GoString returns the string representation 4456func (s DeleteVirtualServiceInput) GoString() string { 4457 return s.String() 4458} 4459 4460// Validate inspects the fields of the type to determine if they are valid. 4461func (s *DeleteVirtualServiceInput) Validate() error { 4462 invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualServiceInput"} 4463 if s.MeshName == nil { 4464 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4465 } 4466 if s.MeshName != nil && len(*s.MeshName) < 1 { 4467 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4468 } 4469 if s.VirtualServiceName == nil { 4470 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 4471 } 4472 if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { 4473 invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) 4474 } 4475 4476 if invalidParams.Len() > 0 { 4477 return invalidParams 4478 } 4479 return nil 4480} 4481 4482// SetMeshName sets the MeshName field's value. 4483func (s *DeleteVirtualServiceInput) SetMeshName(v string) *DeleteVirtualServiceInput { 4484 s.MeshName = &v 4485 return s 4486} 4487 4488// SetVirtualServiceName sets the VirtualServiceName field's value. 4489func (s *DeleteVirtualServiceInput) SetVirtualServiceName(v string) *DeleteVirtualServiceInput { 4490 s.VirtualServiceName = &v 4491 return s 4492} 4493 4494type DeleteVirtualServiceOutput struct { 4495 _ struct{} `type:"structure" payload:"VirtualService"` 4496 4497 // The virtual service that was deleted. 4498 // 4499 // VirtualService is a required field 4500 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 4501} 4502 4503// String returns the string representation 4504func (s DeleteVirtualServiceOutput) String() string { 4505 return awsutil.Prettify(s) 4506} 4507 4508// GoString returns the string representation 4509func (s DeleteVirtualServiceOutput) GoString() string { 4510 return s.String() 4511} 4512 4513// SetVirtualService sets the VirtualService field's value. 4514func (s *DeleteVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DeleteVirtualServiceOutput { 4515 s.VirtualService = v 4516 return s 4517} 4518 4519type DescribeMeshInput struct { 4520 _ struct{} `type:"structure"` 4521 4522 // The name of the service mesh to describe. 4523 // 4524 // MeshName is a required field 4525 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4526} 4527 4528// String returns the string representation 4529func (s DescribeMeshInput) String() string { 4530 return awsutil.Prettify(s) 4531} 4532 4533// GoString returns the string representation 4534func (s DescribeMeshInput) GoString() string { 4535 return s.String() 4536} 4537 4538// Validate inspects the fields of the type to determine if they are valid. 4539func (s *DescribeMeshInput) Validate() error { 4540 invalidParams := request.ErrInvalidParams{Context: "DescribeMeshInput"} 4541 if s.MeshName == nil { 4542 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4543 } 4544 if s.MeshName != nil && len(*s.MeshName) < 1 { 4545 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4546 } 4547 4548 if invalidParams.Len() > 0 { 4549 return invalidParams 4550 } 4551 return nil 4552} 4553 4554// SetMeshName sets the MeshName field's value. 4555func (s *DescribeMeshInput) SetMeshName(v string) *DescribeMeshInput { 4556 s.MeshName = &v 4557 return s 4558} 4559 4560type DescribeMeshOutput struct { 4561 _ struct{} `type:"structure" payload:"Mesh"` 4562 4563 // The full description of your service mesh. 4564 // 4565 // Mesh is a required field 4566 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 4567} 4568 4569// String returns the string representation 4570func (s DescribeMeshOutput) String() string { 4571 return awsutil.Prettify(s) 4572} 4573 4574// GoString returns the string representation 4575func (s DescribeMeshOutput) GoString() string { 4576 return s.String() 4577} 4578 4579// SetMesh sets the Mesh field's value. 4580func (s *DescribeMeshOutput) SetMesh(v *MeshData) *DescribeMeshOutput { 4581 s.Mesh = v 4582 return s 4583} 4584 4585type DescribeRouteInput struct { 4586 _ struct{} `type:"structure"` 4587 4588 // The name of the service mesh that the route resides in. 4589 // 4590 // MeshName is a required field 4591 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4592 4593 // The name of the route to describe. 4594 // 4595 // RouteName is a required field 4596 RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` 4597 4598 // The name of the virtual router that the route is associated with. 4599 // 4600 // VirtualRouterName is a required field 4601 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 4602} 4603 4604// String returns the string representation 4605func (s DescribeRouteInput) String() string { 4606 return awsutil.Prettify(s) 4607} 4608 4609// GoString returns the string representation 4610func (s DescribeRouteInput) GoString() string { 4611 return s.String() 4612} 4613 4614// Validate inspects the fields of the type to determine if they are valid. 4615func (s *DescribeRouteInput) Validate() error { 4616 invalidParams := request.ErrInvalidParams{Context: "DescribeRouteInput"} 4617 if s.MeshName == nil { 4618 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4619 } 4620 if s.MeshName != nil && len(*s.MeshName) < 1 { 4621 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4622 } 4623 if s.RouteName == nil { 4624 invalidParams.Add(request.NewErrParamRequired("RouteName")) 4625 } 4626 if s.RouteName != nil && len(*s.RouteName) < 1 { 4627 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 4628 } 4629 if s.VirtualRouterName == nil { 4630 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 4631 } 4632 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 4633 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 4634 } 4635 4636 if invalidParams.Len() > 0 { 4637 return invalidParams 4638 } 4639 return nil 4640} 4641 4642// SetMeshName sets the MeshName field's value. 4643func (s *DescribeRouteInput) SetMeshName(v string) *DescribeRouteInput { 4644 s.MeshName = &v 4645 return s 4646} 4647 4648// SetRouteName sets the RouteName field's value. 4649func (s *DescribeRouteInput) SetRouteName(v string) *DescribeRouteInput { 4650 s.RouteName = &v 4651 return s 4652} 4653 4654// SetVirtualRouterName sets the VirtualRouterName field's value. 4655func (s *DescribeRouteInput) SetVirtualRouterName(v string) *DescribeRouteInput { 4656 s.VirtualRouterName = &v 4657 return s 4658} 4659 4660type DescribeRouteOutput struct { 4661 _ struct{} `type:"structure" payload:"Route"` 4662 4663 // The full description of your route. 4664 // 4665 // Route is a required field 4666 Route *RouteData `locationName:"route" type:"structure" required:"true"` 4667} 4668 4669// String returns the string representation 4670func (s DescribeRouteOutput) String() string { 4671 return awsutil.Prettify(s) 4672} 4673 4674// GoString returns the string representation 4675func (s DescribeRouteOutput) GoString() string { 4676 return s.String() 4677} 4678 4679// SetRoute sets the Route field's value. 4680func (s *DescribeRouteOutput) SetRoute(v *RouteData) *DescribeRouteOutput { 4681 s.Route = v 4682 return s 4683} 4684 4685type DescribeVirtualNodeInput struct { 4686 _ struct{} `type:"structure"` 4687 4688 // The name of the service mesh that the virtual node resides in. 4689 // 4690 // MeshName is a required field 4691 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4692 4693 // The name of the virtual node to describe. 4694 // 4695 // VirtualNodeName is a required field 4696 VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 4697} 4698 4699// String returns the string representation 4700func (s DescribeVirtualNodeInput) String() string { 4701 return awsutil.Prettify(s) 4702} 4703 4704// GoString returns the string representation 4705func (s DescribeVirtualNodeInput) GoString() string { 4706 return s.String() 4707} 4708 4709// Validate inspects the fields of the type to determine if they are valid. 4710func (s *DescribeVirtualNodeInput) Validate() error { 4711 invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualNodeInput"} 4712 if s.MeshName == nil { 4713 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4714 } 4715 if s.MeshName != nil && len(*s.MeshName) < 1 { 4716 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4717 } 4718 if s.VirtualNodeName == nil { 4719 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 4720 } 4721 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 4722 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 4723 } 4724 4725 if invalidParams.Len() > 0 { 4726 return invalidParams 4727 } 4728 return nil 4729} 4730 4731// SetMeshName sets the MeshName field's value. 4732func (s *DescribeVirtualNodeInput) SetMeshName(v string) *DescribeVirtualNodeInput { 4733 s.MeshName = &v 4734 return s 4735} 4736 4737// SetVirtualNodeName sets the VirtualNodeName field's value. 4738func (s *DescribeVirtualNodeInput) SetVirtualNodeName(v string) *DescribeVirtualNodeInput { 4739 s.VirtualNodeName = &v 4740 return s 4741} 4742 4743type DescribeVirtualNodeOutput struct { 4744 _ struct{} `type:"structure" payload:"VirtualNode"` 4745 4746 // The full description of your virtual node. 4747 // 4748 // VirtualNode is a required field 4749 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 4750} 4751 4752// String returns the string representation 4753func (s DescribeVirtualNodeOutput) String() string { 4754 return awsutil.Prettify(s) 4755} 4756 4757// GoString returns the string representation 4758func (s DescribeVirtualNodeOutput) GoString() string { 4759 return s.String() 4760} 4761 4762// SetVirtualNode sets the VirtualNode field's value. 4763func (s *DescribeVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DescribeVirtualNodeOutput { 4764 s.VirtualNode = v 4765 return s 4766} 4767 4768type DescribeVirtualRouterInput struct { 4769 _ struct{} `type:"structure"` 4770 4771 // The name of the service mesh that the virtual router resides in. 4772 // 4773 // MeshName is a required field 4774 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4775 4776 // The name of the virtual router to describe. 4777 // 4778 // VirtualRouterName is a required field 4779 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 4780} 4781 4782// String returns the string representation 4783func (s DescribeVirtualRouterInput) String() string { 4784 return awsutil.Prettify(s) 4785} 4786 4787// GoString returns the string representation 4788func (s DescribeVirtualRouterInput) GoString() string { 4789 return s.String() 4790} 4791 4792// Validate inspects the fields of the type to determine if they are valid. 4793func (s *DescribeVirtualRouterInput) Validate() error { 4794 invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualRouterInput"} 4795 if s.MeshName == nil { 4796 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4797 } 4798 if s.MeshName != nil && len(*s.MeshName) < 1 { 4799 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4800 } 4801 if s.VirtualRouterName == nil { 4802 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 4803 } 4804 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 4805 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 4806 } 4807 4808 if invalidParams.Len() > 0 { 4809 return invalidParams 4810 } 4811 return nil 4812} 4813 4814// SetMeshName sets the MeshName field's value. 4815func (s *DescribeVirtualRouterInput) SetMeshName(v string) *DescribeVirtualRouterInput { 4816 s.MeshName = &v 4817 return s 4818} 4819 4820// SetVirtualRouterName sets the VirtualRouterName field's value. 4821func (s *DescribeVirtualRouterInput) SetVirtualRouterName(v string) *DescribeVirtualRouterInput { 4822 s.VirtualRouterName = &v 4823 return s 4824} 4825 4826type DescribeVirtualRouterOutput struct { 4827 _ struct{} `type:"structure" payload:"VirtualRouter"` 4828 4829 // The full description of your virtual router. 4830 // 4831 // VirtualRouter is a required field 4832 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 4833} 4834 4835// String returns the string representation 4836func (s DescribeVirtualRouterOutput) String() string { 4837 return awsutil.Prettify(s) 4838} 4839 4840// GoString returns the string representation 4841func (s DescribeVirtualRouterOutput) GoString() string { 4842 return s.String() 4843} 4844 4845// SetVirtualRouter sets the VirtualRouter field's value. 4846func (s *DescribeVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DescribeVirtualRouterOutput { 4847 s.VirtualRouter = v 4848 return s 4849} 4850 4851type DescribeVirtualServiceInput struct { 4852 _ struct{} `type:"structure"` 4853 4854 // The name of the service mesh that the virtual service resides in. 4855 // 4856 // MeshName is a required field 4857 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 4858 4859 // The name of the virtual service to describe. 4860 // 4861 // VirtualServiceName is a required field 4862 VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` 4863} 4864 4865// String returns the string representation 4866func (s DescribeVirtualServiceInput) String() string { 4867 return awsutil.Prettify(s) 4868} 4869 4870// GoString returns the string representation 4871func (s DescribeVirtualServiceInput) GoString() string { 4872 return s.String() 4873} 4874 4875// Validate inspects the fields of the type to determine if they are valid. 4876func (s *DescribeVirtualServiceInput) Validate() error { 4877 invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualServiceInput"} 4878 if s.MeshName == nil { 4879 invalidParams.Add(request.NewErrParamRequired("MeshName")) 4880 } 4881 if s.MeshName != nil && len(*s.MeshName) < 1 { 4882 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 4883 } 4884 if s.VirtualServiceName == nil { 4885 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 4886 } 4887 if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { 4888 invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) 4889 } 4890 4891 if invalidParams.Len() > 0 { 4892 return invalidParams 4893 } 4894 return nil 4895} 4896 4897// SetMeshName sets the MeshName field's value. 4898func (s *DescribeVirtualServiceInput) SetMeshName(v string) *DescribeVirtualServiceInput { 4899 s.MeshName = &v 4900 return s 4901} 4902 4903// SetVirtualServiceName sets the VirtualServiceName field's value. 4904func (s *DescribeVirtualServiceInput) SetVirtualServiceName(v string) *DescribeVirtualServiceInput { 4905 s.VirtualServiceName = &v 4906 return s 4907} 4908 4909type DescribeVirtualServiceOutput struct { 4910 _ struct{} `type:"structure" payload:"VirtualService"` 4911 4912 // The full description of your virtual service. 4913 // 4914 // VirtualService is a required field 4915 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 4916} 4917 4918// String returns the string representation 4919func (s DescribeVirtualServiceOutput) String() string { 4920 return awsutil.Prettify(s) 4921} 4922 4923// GoString returns the string representation 4924func (s DescribeVirtualServiceOutput) GoString() string { 4925 return s.String() 4926} 4927 4928// SetVirtualService sets the VirtualService field's value. 4929func (s *DescribeVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DescribeVirtualServiceOutput { 4930 s.VirtualService = v 4931 return s 4932} 4933 4934// An object representing the DNS service discovery information for your virtual 4935// node. 4936type DnsServiceDiscovery struct { 4937 _ struct{} `type:"structure"` 4938 4939 // Specifies the DNS service discovery hostname for the virtual node. 4940 // 4941 // Hostname is a required field 4942 Hostname *string `locationName:"hostname" type:"string" required:"true"` 4943} 4944 4945// String returns the string representation 4946func (s DnsServiceDiscovery) String() string { 4947 return awsutil.Prettify(s) 4948} 4949 4950// GoString returns the string representation 4951func (s DnsServiceDiscovery) GoString() string { 4952 return s.String() 4953} 4954 4955// Validate inspects the fields of the type to determine if they are valid. 4956func (s *DnsServiceDiscovery) Validate() error { 4957 invalidParams := request.ErrInvalidParams{Context: "DnsServiceDiscovery"} 4958 if s.Hostname == nil { 4959 invalidParams.Add(request.NewErrParamRequired("Hostname")) 4960 } 4961 4962 if invalidParams.Len() > 0 { 4963 return invalidParams 4964 } 4965 return nil 4966} 4967 4968// SetHostname sets the Hostname field's value. 4969func (s *DnsServiceDiscovery) SetHostname(v string) *DnsServiceDiscovery { 4970 s.Hostname = &v 4971 return s 4972} 4973 4974// An object representing the egress filter rules for a service mesh. 4975type EgressFilter struct { 4976 _ struct{} `type:"structure"` 4977 4978 // The egress filter type. By default, the type is DROP_ALL, which allows egress 4979 // only from virtual nodes to other defined resources in the service mesh (and 4980 // any traffic to *.amazonaws.com for AWS API calls). You can set the egress 4981 // filter type to ALLOW_ALL to allow egress to any endpoint inside or outside 4982 // of the service mesh. 4983 // 4984 // Type is a required field 4985 Type *string `locationName:"type" type:"string" required:"true" enum:"EgressFilterType"` 4986} 4987 4988// String returns the string representation 4989func (s EgressFilter) String() string { 4990 return awsutil.Prettify(s) 4991} 4992 4993// GoString returns the string representation 4994func (s EgressFilter) GoString() string { 4995 return s.String() 4996} 4997 4998// Validate inspects the fields of the type to determine if they are valid. 4999func (s *EgressFilter) Validate() error { 5000 invalidParams := request.ErrInvalidParams{Context: "EgressFilter"} 5001 if s.Type == nil { 5002 invalidParams.Add(request.NewErrParamRequired("Type")) 5003 } 5004 5005 if invalidParams.Len() > 0 { 5006 return invalidParams 5007 } 5008 return nil 5009} 5010 5011// SetType sets the Type field's value. 5012func (s *EgressFilter) SetType(v string) *EgressFilter { 5013 s.Type = &v 5014 return s 5015} 5016 5017// An object representing an access log file. 5018type FileAccessLog struct { 5019 _ struct{} `type:"structure"` 5020 5021 // The file path to write access logs to. You can use /dev/stdout to send access 5022 // logs to standard out and configure your Envoy container to use a log driver, 5023 // such as awslogs, to export the access logs to a log storage service such 5024 // as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's 5025 // file system to write the files to disk. 5026 // 5027 // The Envoy process must have write permissions to the path that you specify 5028 // here. Otherwise, Envoy fails to bootstrap properly. 5029 // 5030 // Path is a required field 5031 Path *string `locationName:"path" min:"1" type:"string" required:"true"` 5032} 5033 5034// String returns the string representation 5035func (s FileAccessLog) String() string { 5036 return awsutil.Prettify(s) 5037} 5038 5039// GoString returns the string representation 5040func (s FileAccessLog) GoString() string { 5041 return s.String() 5042} 5043 5044// Validate inspects the fields of the type to determine if they are valid. 5045func (s *FileAccessLog) Validate() error { 5046 invalidParams := request.ErrInvalidParams{Context: "FileAccessLog"} 5047 if s.Path == nil { 5048 invalidParams.Add(request.NewErrParamRequired("Path")) 5049 } 5050 if s.Path != nil && len(*s.Path) < 1 { 5051 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 5052 } 5053 5054 if invalidParams.Len() > 0 { 5055 return invalidParams 5056 } 5057 return nil 5058} 5059 5060// SetPath sets the Path field's value. 5061func (s *FileAccessLog) SetPath(v string) *FileAccessLog { 5062 s.Path = &v 5063 return s 5064} 5065 5066// An object representing the health check policy for a virtual node's listener. 5067type HealthCheckPolicy struct { 5068 _ struct{} `type:"structure"` 5069 5070 // The number of consecutive successful health checks that must occur before 5071 // declaring listener healthy. 5072 // 5073 // HealthyThreshold is a required field 5074 HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` 5075 5076 // The time period in milliseconds between each health check execution. 5077 // 5078 // IntervalMillis is a required field 5079 IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` 5080 5081 // The destination path for the health check request. This is required only 5082 // if the specified protocol is HTTP. If the protocol is TCP, this parameter 5083 // is ignored. 5084 Path *string `locationName:"path" type:"string"` 5085 5086 // The destination port for the health check request. This port must match the 5087 // port defined in the PortMapping for the listener. 5088 Port *int64 `locationName:"port" min:"1" type:"integer"` 5089 5090 // The protocol for the health check request. 5091 // 5092 // Protocol is a required field 5093 Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` 5094 5095 // The amount of time to wait when receiving a response from the health check, 5096 // in milliseconds. 5097 // 5098 // TimeoutMillis is a required field 5099 TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` 5100 5101 // The number of consecutive failed health checks that must occur before declaring 5102 // a virtual node unhealthy. 5103 // 5104 // UnhealthyThreshold is a required field 5105 UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` 5106} 5107 5108// String returns the string representation 5109func (s HealthCheckPolicy) String() string { 5110 return awsutil.Prettify(s) 5111} 5112 5113// GoString returns the string representation 5114func (s HealthCheckPolicy) GoString() string { 5115 return s.String() 5116} 5117 5118// Validate inspects the fields of the type to determine if they are valid. 5119func (s *HealthCheckPolicy) Validate() error { 5120 invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"} 5121 if s.HealthyThreshold == nil { 5122 invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) 5123 } 5124 if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { 5125 invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) 5126 } 5127 if s.IntervalMillis == nil { 5128 invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) 5129 } 5130 if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { 5131 invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) 5132 } 5133 if s.Port != nil && *s.Port < 1 { 5134 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 5135 } 5136 if s.Protocol == nil { 5137 invalidParams.Add(request.NewErrParamRequired("Protocol")) 5138 } 5139 if s.TimeoutMillis == nil { 5140 invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) 5141 } 5142 if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { 5143 invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) 5144 } 5145 if s.UnhealthyThreshold == nil { 5146 invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) 5147 } 5148 if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { 5149 invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) 5150 } 5151 5152 if invalidParams.Len() > 0 { 5153 return invalidParams 5154 } 5155 return nil 5156} 5157 5158// SetHealthyThreshold sets the HealthyThreshold field's value. 5159func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy { 5160 s.HealthyThreshold = &v 5161 return s 5162} 5163 5164// SetIntervalMillis sets the IntervalMillis field's value. 5165func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy { 5166 s.IntervalMillis = &v 5167 return s 5168} 5169 5170// SetPath sets the Path field's value. 5171func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy { 5172 s.Path = &v 5173 return s 5174} 5175 5176// SetPort sets the Port field's value. 5177func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy { 5178 s.Port = &v 5179 return s 5180} 5181 5182// SetProtocol sets the Protocol field's value. 5183func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy { 5184 s.Protocol = &v 5185 return s 5186} 5187 5188// SetTimeoutMillis sets the TimeoutMillis field's value. 5189func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy { 5190 s.TimeoutMillis = &v 5191 return s 5192} 5193 5194// SetUnhealthyThreshold sets the UnhealthyThreshold field's value. 5195func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy { 5196 s.UnhealthyThreshold = &v 5197 return s 5198} 5199 5200// An object representing the HTTP routing specification for a route. 5201type HttpRoute struct { 5202 _ struct{} `type:"structure"` 5203 5204 // The action to take if a match is determined. 5205 // 5206 // Action is a required field 5207 Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"` 5208 5209 // The criteria for determining an HTTP request match. 5210 // 5211 // Match is a required field 5212 Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"` 5213} 5214 5215// String returns the string representation 5216func (s HttpRoute) String() string { 5217 return awsutil.Prettify(s) 5218} 5219 5220// GoString returns the string representation 5221func (s HttpRoute) GoString() string { 5222 return s.String() 5223} 5224 5225// Validate inspects the fields of the type to determine if they are valid. 5226func (s *HttpRoute) Validate() error { 5227 invalidParams := request.ErrInvalidParams{Context: "HttpRoute"} 5228 if s.Action == nil { 5229 invalidParams.Add(request.NewErrParamRequired("Action")) 5230 } 5231 if s.Match == nil { 5232 invalidParams.Add(request.NewErrParamRequired("Match")) 5233 } 5234 if s.Action != nil { 5235 if err := s.Action.Validate(); err != nil { 5236 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 5237 } 5238 } 5239 if s.Match != nil { 5240 if err := s.Match.Validate(); err != nil { 5241 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 5242 } 5243 } 5244 5245 if invalidParams.Len() > 0 { 5246 return invalidParams 5247 } 5248 return nil 5249} 5250 5251// SetAction sets the Action field's value. 5252func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute { 5253 s.Action = v 5254 return s 5255} 5256 5257// SetMatch sets the Match field's value. 5258func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute { 5259 s.Match = v 5260 return s 5261} 5262 5263// An object representing the traffic distribution requirements for matched 5264// HTTP requests. 5265type HttpRouteAction struct { 5266 _ struct{} `type:"structure"` 5267 5268 // The targets that traffic is routed to when a request matches the route. You 5269 // can specify one or more targets and their relative weights to distribute 5270 // traffic with. 5271 // 5272 // WeightedTargets is a required field 5273 WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` 5274} 5275 5276// String returns the string representation 5277func (s HttpRouteAction) String() string { 5278 return awsutil.Prettify(s) 5279} 5280 5281// GoString returns the string representation 5282func (s HttpRouteAction) GoString() string { 5283 return s.String() 5284} 5285 5286// Validate inspects the fields of the type to determine if they are valid. 5287func (s *HttpRouteAction) Validate() error { 5288 invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"} 5289 if s.WeightedTargets == nil { 5290 invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) 5291 } 5292 if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { 5293 invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) 5294 } 5295 if s.WeightedTargets != nil { 5296 for i, v := range s.WeightedTargets { 5297 if v == nil { 5298 continue 5299 } 5300 if err := v.Validate(); err != nil { 5301 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) 5302 } 5303 } 5304 } 5305 5306 if invalidParams.Len() > 0 { 5307 return invalidParams 5308 } 5309 return nil 5310} 5311 5312// SetWeightedTargets sets the WeightedTargets field's value. 5313func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction { 5314 s.WeightedTargets = v 5315 return s 5316} 5317 5318// An object representing the requirements for a route to match HTTP requests 5319// for a virtual router. 5320type HttpRouteMatch struct { 5321 _ struct{} `type:"structure"` 5322 5323 // Specifies the path to match requests with. This parameter must always start 5324 // with /, which by itself matches all requests to the virtual service name. 5325 // You can also match for path-based routing of requests. For example, if your 5326 // virtual service name is my-service.local and you want the route to match 5327 // requests to my-service.local/metrics, your prefix should be /metrics. 5328 // 5329 // Prefix is a required field 5330 Prefix *string `locationName:"prefix" type:"string" required:"true"` 5331} 5332 5333// String returns the string representation 5334func (s HttpRouteMatch) String() string { 5335 return awsutil.Prettify(s) 5336} 5337 5338// GoString returns the string representation 5339func (s HttpRouteMatch) GoString() string { 5340 return s.String() 5341} 5342 5343// Validate inspects the fields of the type to determine if they are valid. 5344func (s *HttpRouteMatch) Validate() error { 5345 invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"} 5346 if s.Prefix == nil { 5347 invalidParams.Add(request.NewErrParamRequired("Prefix")) 5348 } 5349 5350 if invalidParams.Len() > 0 { 5351 return invalidParams 5352 } 5353 return nil 5354} 5355 5356// SetPrefix sets the Prefix field's value. 5357func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { 5358 s.Prefix = &v 5359 return s 5360} 5361 5362type ListMeshesInput struct { 5363 _ struct{} `type:"structure"` 5364 5365 // The maximum number of results returned by ListMeshes in paginated output. 5366 // When you use this parameter, ListMeshes returns only limit results in a single 5367 // page along with a nextToken response element. You can see the remaining results 5368 // of the initial request by sending another ListMeshes request with the returned 5369 // nextToken value. This value can be between 1 and 100. If you don't use this 5370 // parameter, ListMeshes returns up to 100 results and a nextToken value if 5371 // applicable. 5372 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 5373 5374 // The nextToken value returned from a previous paginated ListMeshes request 5375 // where limit was used and the results exceeded the value of that parameter. 5376 // Pagination continues from the end of the previous results that returned the 5377 // nextToken value. 5378 // 5379 // This token should be treated as an opaque identifier that is used only to 5380 // retrieve the next items in a list and not for other programmatic purposes. 5381 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 5382} 5383 5384// String returns the string representation 5385func (s ListMeshesInput) String() string { 5386 return awsutil.Prettify(s) 5387} 5388 5389// GoString returns the string representation 5390func (s ListMeshesInput) GoString() string { 5391 return s.String() 5392} 5393 5394// Validate inspects the fields of the type to determine if they are valid. 5395func (s *ListMeshesInput) Validate() error { 5396 invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"} 5397 if s.Limit != nil && *s.Limit < 1 { 5398 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 5399 } 5400 5401 if invalidParams.Len() > 0 { 5402 return invalidParams 5403 } 5404 return nil 5405} 5406 5407// SetLimit sets the Limit field's value. 5408func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput { 5409 s.Limit = &v 5410 return s 5411} 5412 5413// SetNextToken sets the NextToken field's value. 5414func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput { 5415 s.NextToken = &v 5416 return s 5417} 5418 5419type ListMeshesOutput struct { 5420 _ struct{} `type:"structure"` 5421 5422 // The list of existing service meshes. 5423 // 5424 // Meshes is a required field 5425 Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"` 5426 5427 // The nextToken value to include in a future ListMeshes request. When the results 5428 // of a ListMeshes request exceed limit, you can use this value to retrieve 5429 // the next page of results. This value is null when there are no more results 5430 // to return. 5431 NextToken *string `locationName:"nextToken" type:"string"` 5432} 5433 5434// String returns the string representation 5435func (s ListMeshesOutput) String() string { 5436 return awsutil.Prettify(s) 5437} 5438 5439// GoString returns the string representation 5440func (s ListMeshesOutput) GoString() string { 5441 return s.String() 5442} 5443 5444// SetMeshes sets the Meshes field's value. 5445func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput { 5446 s.Meshes = v 5447 return s 5448} 5449 5450// SetNextToken sets the NextToken field's value. 5451func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput { 5452 s.NextToken = &v 5453 return s 5454} 5455 5456type ListRoutesInput struct { 5457 _ struct{} `type:"structure"` 5458 5459 // The maximum number of results returned by ListRoutes in paginated output. 5460 // When you use this parameter, ListRoutes returns only limit results in a single 5461 // page along with a nextToken response element. You can see the remaining results 5462 // of the initial request by sending another ListRoutes request with the returned 5463 // nextToken value. This value can be between 1 and 100. If you don't use this 5464 // parameter, ListRoutes returns up to 100 results and a nextToken value if 5465 // applicable. 5466 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 5467 5468 // The name of the service mesh to list routes in. 5469 // 5470 // MeshName is a required field 5471 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 5472 5473 // The nextToken value returned from a previous paginated ListRoutes request 5474 // where limit was used and the results exceeded the value of that parameter. 5475 // Pagination continues from the end of the previous results that returned the 5476 // nextToken value. 5477 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 5478 5479 // The name of the virtual router to list routes in. 5480 // 5481 // VirtualRouterName is a required field 5482 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 5483} 5484 5485// String returns the string representation 5486func (s ListRoutesInput) String() string { 5487 return awsutil.Prettify(s) 5488} 5489 5490// GoString returns the string representation 5491func (s ListRoutesInput) GoString() string { 5492 return s.String() 5493} 5494 5495// Validate inspects the fields of the type to determine if they are valid. 5496func (s *ListRoutesInput) Validate() error { 5497 invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"} 5498 if s.Limit != nil && *s.Limit < 1 { 5499 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 5500 } 5501 if s.MeshName == nil { 5502 invalidParams.Add(request.NewErrParamRequired("MeshName")) 5503 } 5504 if s.MeshName != nil && len(*s.MeshName) < 1 { 5505 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 5506 } 5507 if s.VirtualRouterName == nil { 5508 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 5509 } 5510 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 5511 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 5512 } 5513 5514 if invalidParams.Len() > 0 { 5515 return invalidParams 5516 } 5517 return nil 5518} 5519 5520// SetLimit sets the Limit field's value. 5521func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput { 5522 s.Limit = &v 5523 return s 5524} 5525 5526// SetMeshName sets the MeshName field's value. 5527func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput { 5528 s.MeshName = &v 5529 return s 5530} 5531 5532// SetNextToken sets the NextToken field's value. 5533func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput { 5534 s.NextToken = &v 5535 return s 5536} 5537 5538// SetVirtualRouterName sets the VirtualRouterName field's value. 5539func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput { 5540 s.VirtualRouterName = &v 5541 return s 5542} 5543 5544type ListRoutesOutput struct { 5545 _ struct{} `type:"structure"` 5546 5547 // The nextToken value to include in a future ListRoutes request. When the results 5548 // of a ListRoutes request exceed limit, you can use this value to retrieve 5549 // the next page of results. This value is null when there are no more results 5550 // to return. 5551 NextToken *string `locationName:"nextToken" type:"string"` 5552 5553 // The list of existing routes for the specified service mesh and virtual router. 5554 // 5555 // Routes is a required field 5556 Routes []*RouteRef `locationName:"routes" type:"list" required:"true"` 5557} 5558 5559// String returns the string representation 5560func (s ListRoutesOutput) String() string { 5561 return awsutil.Prettify(s) 5562} 5563 5564// GoString returns the string representation 5565func (s ListRoutesOutput) GoString() string { 5566 return s.String() 5567} 5568 5569// SetNextToken sets the NextToken field's value. 5570func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput { 5571 s.NextToken = &v 5572 return s 5573} 5574 5575// SetRoutes sets the Routes field's value. 5576func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput { 5577 s.Routes = v 5578 return s 5579} 5580 5581type ListTagsForResourceInput struct { 5582 _ struct{} `type:"structure"` 5583 5584 // The maximum number of tag results returned by ListTagsForResource in paginated 5585 // output. When this parameter is used, ListTagsForResource returns only limit 5586 // results in a single page along with a nextToken response element. You can 5587 // see the remaining results of the initial request by sending another ListTagsForResource 5588 // request with the returned nextToken value. This value can be between 1 and 5589 // 100. If you don't use this parameter, ListTagsForResource returns up to 100 5590 // results and a nextToken value if applicable. 5591 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 5592 5593 // The nextToken value returned from a previous paginated ListTagsForResource 5594 // request where limit was used and the results exceeded the value of that parameter. 5595 // Pagination continues from the end of the previous results that returned the 5596 // nextToken value. 5597 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 5598 5599 // The Amazon Resource Name (ARN) that identifies the resource to list the tags 5600 // for. 5601 // 5602 // ResourceArn is a required field 5603 ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` 5604} 5605 5606// String returns the string representation 5607func (s ListTagsForResourceInput) String() string { 5608 return awsutil.Prettify(s) 5609} 5610 5611// GoString returns the string representation 5612func (s ListTagsForResourceInput) GoString() string { 5613 return s.String() 5614} 5615 5616// Validate inspects the fields of the type to determine if they are valid. 5617func (s *ListTagsForResourceInput) Validate() error { 5618 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 5619 if s.Limit != nil && *s.Limit < 1 { 5620 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 5621 } 5622 if s.ResourceArn == nil { 5623 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 5624 } 5625 5626 if invalidParams.Len() > 0 { 5627 return invalidParams 5628 } 5629 return nil 5630} 5631 5632// SetLimit sets the Limit field's value. 5633func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput { 5634 s.Limit = &v 5635 return s 5636} 5637 5638// SetNextToken sets the NextToken field's value. 5639func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { 5640 s.NextToken = &v 5641 return s 5642} 5643 5644// SetResourceArn sets the ResourceArn field's value. 5645func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 5646 s.ResourceArn = &v 5647 return s 5648} 5649 5650type ListTagsForResourceOutput struct { 5651 _ struct{} `type:"structure"` 5652 5653 // The nextToken value to include in a future ListTagsForResource request. When 5654 // the results of a ListTagsForResource request exceed limit, you can use this 5655 // value to retrieve the next page of results. This value is null when there 5656 // are no more results to return. 5657 NextToken *string `locationName:"nextToken" type:"string"` 5658 5659 // The tags for the resource. 5660 // 5661 // Tags is a required field 5662 Tags []*TagRef `locationName:"tags" type:"list" required:"true"` 5663} 5664 5665// String returns the string representation 5666func (s ListTagsForResourceOutput) String() string { 5667 return awsutil.Prettify(s) 5668} 5669 5670// GoString returns the string representation 5671func (s ListTagsForResourceOutput) GoString() string { 5672 return s.String() 5673} 5674 5675// SetNextToken sets the NextToken field's value. 5676func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { 5677 s.NextToken = &v 5678 return s 5679} 5680 5681// SetTags sets the Tags field's value. 5682func (s *ListTagsForResourceOutput) SetTags(v []*TagRef) *ListTagsForResourceOutput { 5683 s.Tags = v 5684 return s 5685} 5686 5687type ListVirtualNodesInput struct { 5688 _ struct{} `type:"structure"` 5689 5690 // The maximum number of results returned by ListVirtualNodes in paginated output. 5691 // When you use this parameter, ListVirtualNodes returns only limit results 5692 // in a single page along with a nextToken response element. You can see the 5693 // remaining results of the initial request by sending another ListVirtualNodes 5694 // request with the returned nextToken value. This value can be between 1 and 5695 // 100. If you don't use this parameter, ListVirtualNodes returns up to 100 5696 // results and a nextToken value if applicable. 5697 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 5698 5699 // The name of the service mesh to list virtual nodes in. 5700 // 5701 // MeshName is a required field 5702 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 5703 5704 // The nextToken value returned from a previous paginated ListVirtualNodes request 5705 // where limit was used and the results exceeded the value of that parameter. 5706 // Pagination continues from the end of the previous results that returned the 5707 // nextToken value. 5708 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 5709} 5710 5711// String returns the string representation 5712func (s ListVirtualNodesInput) String() string { 5713 return awsutil.Prettify(s) 5714} 5715 5716// GoString returns the string representation 5717func (s ListVirtualNodesInput) GoString() string { 5718 return s.String() 5719} 5720 5721// Validate inspects the fields of the type to determine if they are valid. 5722func (s *ListVirtualNodesInput) Validate() error { 5723 invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"} 5724 if s.Limit != nil && *s.Limit < 1 { 5725 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 5726 } 5727 if s.MeshName == nil { 5728 invalidParams.Add(request.NewErrParamRequired("MeshName")) 5729 } 5730 if s.MeshName != nil && len(*s.MeshName) < 1 { 5731 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 5732 } 5733 5734 if invalidParams.Len() > 0 { 5735 return invalidParams 5736 } 5737 return nil 5738} 5739 5740// SetLimit sets the Limit field's value. 5741func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput { 5742 s.Limit = &v 5743 return s 5744} 5745 5746// SetMeshName sets the MeshName field's value. 5747func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput { 5748 s.MeshName = &v 5749 return s 5750} 5751 5752// SetNextToken sets the NextToken field's value. 5753func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput { 5754 s.NextToken = &v 5755 return s 5756} 5757 5758type ListVirtualNodesOutput struct { 5759 _ struct{} `type:"structure"` 5760 5761 // The nextToken value to include in a future ListVirtualNodes request. When 5762 // the results of a ListVirtualNodes request exceed limit, you can use this 5763 // value to retrieve the next page of results. This value is null when there 5764 // are no more results to return. 5765 NextToken *string `locationName:"nextToken" type:"string"` 5766 5767 // The list of existing virtual nodes for the specified service mesh. 5768 // 5769 // VirtualNodes is a required field 5770 VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" type:"list" required:"true"` 5771} 5772 5773// String returns the string representation 5774func (s ListVirtualNodesOutput) String() string { 5775 return awsutil.Prettify(s) 5776} 5777 5778// GoString returns the string representation 5779func (s ListVirtualNodesOutput) GoString() string { 5780 return s.String() 5781} 5782 5783// SetNextToken sets the NextToken field's value. 5784func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput { 5785 s.NextToken = &v 5786 return s 5787} 5788 5789// SetVirtualNodes sets the VirtualNodes field's value. 5790func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput { 5791 s.VirtualNodes = v 5792 return s 5793} 5794 5795type ListVirtualRoutersInput struct { 5796 _ struct{} `type:"structure"` 5797 5798 // The maximum number of results returned by ListVirtualRouters in paginated 5799 // output. When you use this parameter, ListVirtualRouters returns only limit 5800 // results in a single page along with a nextToken response element. You can 5801 // see the remaining results of the initial request by sending another ListVirtualRouters 5802 // request with the returned nextToken value. This value can be between 1 and 5803 // 100. If you don't use this parameter, ListVirtualRouters returns up to 100 5804 // results and a nextToken value if applicable. 5805 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 5806 5807 // The name of the service mesh to list virtual routers in. 5808 // 5809 // MeshName is a required field 5810 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 5811 5812 // The nextToken value returned from a previous paginated ListVirtualRouters 5813 // request where limit was used and the results exceeded the value of that parameter. 5814 // Pagination continues from the end of the previous results that returned the 5815 // nextToken value. 5816 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 5817} 5818 5819// String returns the string representation 5820func (s ListVirtualRoutersInput) String() string { 5821 return awsutil.Prettify(s) 5822} 5823 5824// GoString returns the string representation 5825func (s ListVirtualRoutersInput) GoString() string { 5826 return s.String() 5827} 5828 5829// Validate inspects the fields of the type to determine if they are valid. 5830func (s *ListVirtualRoutersInput) Validate() error { 5831 invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"} 5832 if s.Limit != nil && *s.Limit < 1 { 5833 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 5834 } 5835 if s.MeshName == nil { 5836 invalidParams.Add(request.NewErrParamRequired("MeshName")) 5837 } 5838 if s.MeshName != nil && len(*s.MeshName) < 1 { 5839 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 5840 } 5841 5842 if invalidParams.Len() > 0 { 5843 return invalidParams 5844 } 5845 return nil 5846} 5847 5848// SetLimit sets the Limit field's value. 5849func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput { 5850 s.Limit = &v 5851 return s 5852} 5853 5854// SetMeshName sets the MeshName field's value. 5855func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput { 5856 s.MeshName = &v 5857 return s 5858} 5859 5860// SetNextToken sets the NextToken field's value. 5861func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput { 5862 s.NextToken = &v 5863 return s 5864} 5865 5866type ListVirtualRoutersOutput struct { 5867 _ struct{} `type:"structure"` 5868 5869 // The nextToken value to include in a future ListVirtualRouters request. When 5870 // the results of a ListVirtualRouters request exceed limit, you can use this 5871 // value to retrieve the next page of results. This value is null when there 5872 // are no more results to return. 5873 NextToken *string `locationName:"nextToken" type:"string"` 5874 5875 // The list of existing virtual routers for the specified service mesh. 5876 // 5877 // VirtualRouters is a required field 5878 VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" type:"list" required:"true"` 5879} 5880 5881// String returns the string representation 5882func (s ListVirtualRoutersOutput) String() string { 5883 return awsutil.Prettify(s) 5884} 5885 5886// GoString returns the string representation 5887func (s ListVirtualRoutersOutput) GoString() string { 5888 return s.String() 5889} 5890 5891// SetNextToken sets the NextToken field's value. 5892func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput { 5893 s.NextToken = &v 5894 return s 5895} 5896 5897// SetVirtualRouters sets the VirtualRouters field's value. 5898func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput { 5899 s.VirtualRouters = v 5900 return s 5901} 5902 5903type ListVirtualServicesInput struct { 5904 _ struct{} `type:"structure"` 5905 5906 // The maximum number of results returned by ListVirtualServices in paginated 5907 // output. When you use this parameter, ListVirtualServices returns only limit 5908 // results in a single page along with a nextToken response element. You can 5909 // see the remaining results of the initial request by sending another ListVirtualServices 5910 // request with the returned nextToken value. This value can be between 1 and 5911 // 100. If you don't use this parameter, ListVirtualServices returns up to 100 5912 // results and a nextToken value if applicable. 5913 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 5914 5915 // The name of the service mesh to list virtual services in. 5916 // 5917 // MeshName is a required field 5918 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 5919 5920 // The nextToken value returned from a previous paginated ListVirtualServices 5921 // request where limit was used and the results exceeded the value of that parameter. 5922 // Pagination continues from the end of the previous results that returned the 5923 // nextToken value. 5924 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 5925} 5926 5927// String returns the string representation 5928func (s ListVirtualServicesInput) String() string { 5929 return awsutil.Prettify(s) 5930} 5931 5932// GoString returns the string representation 5933func (s ListVirtualServicesInput) GoString() string { 5934 return s.String() 5935} 5936 5937// Validate inspects the fields of the type to determine if they are valid. 5938func (s *ListVirtualServicesInput) Validate() error { 5939 invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"} 5940 if s.Limit != nil && *s.Limit < 1 { 5941 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 5942 } 5943 if s.MeshName == nil { 5944 invalidParams.Add(request.NewErrParamRequired("MeshName")) 5945 } 5946 if s.MeshName != nil && len(*s.MeshName) < 1 { 5947 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 5948 } 5949 5950 if invalidParams.Len() > 0 { 5951 return invalidParams 5952 } 5953 return nil 5954} 5955 5956// SetLimit sets the Limit field's value. 5957func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput { 5958 s.Limit = &v 5959 return s 5960} 5961 5962// SetMeshName sets the MeshName field's value. 5963func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput { 5964 s.MeshName = &v 5965 return s 5966} 5967 5968// SetNextToken sets the NextToken field's value. 5969func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput { 5970 s.NextToken = &v 5971 return s 5972} 5973 5974type ListVirtualServicesOutput struct { 5975 _ struct{} `type:"structure"` 5976 5977 // The nextToken value to include in a future ListVirtualServices request. When 5978 // the results of a ListVirtualServices request exceed limit, you can use this 5979 // value to retrieve the next page of results. This value is null when there 5980 // are no more results to return. 5981 NextToken *string `locationName:"nextToken" type:"string"` 5982 5983 // The list of existing virtual services for the specified service mesh. 5984 // 5985 // VirtualServices is a required field 5986 VirtualServices []*VirtualServiceRef `locationName:"virtualServices" type:"list" required:"true"` 5987} 5988 5989// String returns the string representation 5990func (s ListVirtualServicesOutput) String() string { 5991 return awsutil.Prettify(s) 5992} 5993 5994// GoString returns the string representation 5995func (s ListVirtualServicesOutput) GoString() string { 5996 return s.String() 5997} 5998 5999// SetNextToken sets the NextToken field's value. 6000func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput { 6001 s.NextToken = &v 6002 return s 6003} 6004 6005// SetVirtualServices sets the VirtualServices field's value. 6006func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput { 6007 s.VirtualServices = v 6008 return s 6009} 6010 6011// An object representing a listener for a virtual node. 6012type Listener struct { 6013 _ struct{} `type:"structure"` 6014 6015 // The health check information for the listener. 6016 HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` 6017 6018 // The port mapping information for the listener. 6019 // 6020 // PortMapping is a required field 6021 PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` 6022} 6023 6024// String returns the string representation 6025func (s Listener) String() string { 6026 return awsutil.Prettify(s) 6027} 6028 6029// GoString returns the string representation 6030func (s Listener) GoString() string { 6031 return s.String() 6032} 6033 6034// Validate inspects the fields of the type to determine if they are valid. 6035func (s *Listener) Validate() error { 6036 invalidParams := request.ErrInvalidParams{Context: "Listener"} 6037 if s.PortMapping == nil { 6038 invalidParams.Add(request.NewErrParamRequired("PortMapping")) 6039 } 6040 if s.HealthCheck != nil { 6041 if err := s.HealthCheck.Validate(); err != nil { 6042 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 6043 } 6044 } 6045 if s.PortMapping != nil { 6046 if err := s.PortMapping.Validate(); err != nil { 6047 invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) 6048 } 6049 } 6050 6051 if invalidParams.Len() > 0 { 6052 return invalidParams 6053 } 6054 return nil 6055} 6056 6057// SetHealthCheck sets the HealthCheck field's value. 6058func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener { 6059 s.HealthCheck = v 6060 return s 6061} 6062 6063// SetPortMapping sets the PortMapping field's value. 6064func (s *Listener) SetPortMapping(v *PortMapping) *Listener { 6065 s.PortMapping = v 6066 return s 6067} 6068 6069// An object representing the logging information for a virtual node. 6070type Logging struct { 6071 _ struct{} `type:"structure"` 6072 6073 // The access log configuration for a virtual node. 6074 AccessLog *AccessLog `locationName:"accessLog" type:"structure"` 6075} 6076 6077// String returns the string representation 6078func (s Logging) String() string { 6079 return awsutil.Prettify(s) 6080} 6081 6082// GoString returns the string representation 6083func (s Logging) GoString() string { 6084 return s.String() 6085} 6086 6087// Validate inspects the fields of the type to determine if they are valid. 6088func (s *Logging) Validate() error { 6089 invalidParams := request.ErrInvalidParams{Context: "Logging"} 6090 if s.AccessLog != nil { 6091 if err := s.AccessLog.Validate(); err != nil { 6092 invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) 6093 } 6094 } 6095 6096 if invalidParams.Len() > 0 { 6097 return invalidParams 6098 } 6099 return nil 6100} 6101 6102// SetAccessLog sets the AccessLog field's value. 6103func (s *Logging) SetAccessLog(v *AccessLog) *Logging { 6104 s.AccessLog = v 6105 return s 6106} 6107 6108// An object representing a service mesh returned by a describe operation. 6109type MeshData struct { 6110 _ struct{} `type:"structure"` 6111 6112 // The name of the service mesh. 6113 // 6114 // MeshName is a required field 6115 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 6116 6117 // The associated metadata for the service mesh. 6118 // 6119 // Metadata is a required field 6120 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 6121 6122 // The associated specification for the service mesh. 6123 // 6124 // Spec is a required field 6125 Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"` 6126 6127 // The status of the service mesh. 6128 // 6129 // Status is a required field 6130 Status *MeshStatus `locationName:"status" type:"structure" required:"true"` 6131} 6132 6133// String returns the string representation 6134func (s MeshData) String() string { 6135 return awsutil.Prettify(s) 6136} 6137 6138// GoString returns the string representation 6139func (s MeshData) GoString() string { 6140 return s.String() 6141} 6142 6143// SetMeshName sets the MeshName field's value. 6144func (s *MeshData) SetMeshName(v string) *MeshData { 6145 s.MeshName = &v 6146 return s 6147} 6148 6149// SetMetadata sets the Metadata field's value. 6150func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData { 6151 s.Metadata = v 6152 return s 6153} 6154 6155// SetSpec sets the Spec field's value. 6156func (s *MeshData) SetSpec(v *MeshSpec) *MeshData { 6157 s.Spec = v 6158 return s 6159} 6160 6161// SetStatus sets the Status field's value. 6162func (s *MeshData) SetStatus(v *MeshStatus) *MeshData { 6163 s.Status = v 6164 return s 6165} 6166 6167// An object representing a service mesh returned by a list operation. 6168type MeshRef struct { 6169 _ struct{} `type:"structure"` 6170 6171 // The full Amazon Resource Name (ARN) of the service mesh. 6172 // 6173 // Arn is a required field 6174 Arn *string `locationName:"arn" type:"string" required:"true"` 6175 6176 // The name of the service mesh. 6177 // 6178 // MeshName is a required field 6179 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 6180} 6181 6182// String returns the string representation 6183func (s MeshRef) String() string { 6184 return awsutil.Prettify(s) 6185} 6186 6187// GoString returns the string representation 6188func (s MeshRef) GoString() string { 6189 return s.String() 6190} 6191 6192// SetArn sets the Arn field's value. 6193func (s *MeshRef) SetArn(v string) *MeshRef { 6194 s.Arn = &v 6195 return s 6196} 6197 6198// SetMeshName sets the MeshName field's value. 6199func (s *MeshRef) SetMeshName(v string) *MeshRef { 6200 s.MeshName = &v 6201 return s 6202} 6203 6204// An object representing the specification of a service mesh. 6205type MeshSpec struct { 6206 _ struct{} `type:"structure"` 6207 6208 // The egress filter rules for the service mesh. 6209 EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"` 6210} 6211 6212// String returns the string representation 6213func (s MeshSpec) String() string { 6214 return awsutil.Prettify(s) 6215} 6216 6217// GoString returns the string representation 6218func (s MeshSpec) GoString() string { 6219 return s.String() 6220} 6221 6222// Validate inspects the fields of the type to determine if they are valid. 6223func (s *MeshSpec) Validate() error { 6224 invalidParams := request.ErrInvalidParams{Context: "MeshSpec"} 6225 if s.EgressFilter != nil { 6226 if err := s.EgressFilter.Validate(); err != nil { 6227 invalidParams.AddNested("EgressFilter", err.(request.ErrInvalidParams)) 6228 } 6229 } 6230 6231 if invalidParams.Len() > 0 { 6232 return invalidParams 6233 } 6234 return nil 6235} 6236 6237// SetEgressFilter sets the EgressFilter field's value. 6238func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec { 6239 s.EgressFilter = v 6240 return s 6241} 6242 6243// An object representing the status of a service mesh. 6244type MeshStatus struct { 6245 _ struct{} `type:"structure"` 6246 6247 // The current mesh status. 6248 Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"` 6249} 6250 6251// String returns the string representation 6252func (s MeshStatus) String() string { 6253 return awsutil.Prettify(s) 6254} 6255 6256// GoString returns the string representation 6257func (s MeshStatus) GoString() string { 6258 return s.String() 6259} 6260 6261// SetStatus sets the Status field's value. 6262func (s *MeshStatus) SetStatus(v string) *MeshStatus { 6263 s.Status = &v 6264 return s 6265} 6266 6267// An object representing a virtual node or virtual router listener port mapping. 6268type PortMapping struct { 6269 _ struct{} `type:"structure"` 6270 6271 // The port used for the port mapping. 6272 // 6273 // Port is a required field 6274 Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` 6275 6276 // The protocol used for the port mapping. 6277 // 6278 // Protocol is a required field 6279 Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` 6280} 6281 6282// String returns the string representation 6283func (s PortMapping) String() string { 6284 return awsutil.Prettify(s) 6285} 6286 6287// GoString returns the string representation 6288func (s PortMapping) GoString() string { 6289 return s.String() 6290} 6291 6292// Validate inspects the fields of the type to determine if they are valid. 6293func (s *PortMapping) Validate() error { 6294 invalidParams := request.ErrInvalidParams{Context: "PortMapping"} 6295 if s.Port == nil { 6296 invalidParams.Add(request.NewErrParamRequired("Port")) 6297 } 6298 if s.Port != nil && *s.Port < 1 { 6299 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 6300 } 6301 if s.Protocol == nil { 6302 invalidParams.Add(request.NewErrParamRequired("Protocol")) 6303 } 6304 6305 if invalidParams.Len() > 0 { 6306 return invalidParams 6307 } 6308 return nil 6309} 6310 6311// SetPort sets the Port field's value. 6312func (s *PortMapping) SetPort(v int64) *PortMapping { 6313 s.Port = &v 6314 return s 6315} 6316 6317// SetProtocol sets the Protocol field's value. 6318func (s *PortMapping) SetProtocol(v string) *PortMapping { 6319 s.Protocol = &v 6320 return s 6321} 6322 6323// An object representing metadata for a resource. 6324type ResourceMetadata struct { 6325 _ struct{} `type:"structure"` 6326 6327 // The full Amazon Resource Name (ARN) for the resource. 6328 // 6329 // Arn is a required field 6330 Arn *string `locationName:"arn" type:"string" required:"true"` 6331 6332 // The Unix epoch timestamp in seconds for when the resource was created. 6333 // 6334 // CreatedAt is a required field 6335 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` 6336 6337 // The Unix epoch timestamp in seconds for when the resource was last updated. 6338 // 6339 // LastUpdatedAt is a required field 6340 LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` 6341 6342 // The unique identifier for the resource. 6343 // 6344 // Uid is a required field 6345 Uid *string `locationName:"uid" type:"string" required:"true"` 6346 6347 // The version of the resource. Resources are created at version 1, and this 6348 // version is incremented each time that they're updated. 6349 // 6350 // Version is a required field 6351 Version *int64 `locationName:"version" type:"long" required:"true"` 6352} 6353 6354// String returns the string representation 6355func (s ResourceMetadata) String() string { 6356 return awsutil.Prettify(s) 6357} 6358 6359// GoString returns the string representation 6360func (s ResourceMetadata) GoString() string { 6361 return s.String() 6362} 6363 6364// SetArn sets the Arn field's value. 6365func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata { 6366 s.Arn = &v 6367 return s 6368} 6369 6370// SetCreatedAt sets the CreatedAt field's value. 6371func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata { 6372 s.CreatedAt = &v 6373 return s 6374} 6375 6376// SetLastUpdatedAt sets the LastUpdatedAt field's value. 6377func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata { 6378 s.LastUpdatedAt = &v 6379 return s 6380} 6381 6382// SetUid sets the Uid field's value. 6383func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata { 6384 s.Uid = &v 6385 return s 6386} 6387 6388// SetVersion sets the Version field's value. 6389func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata { 6390 s.Version = &v 6391 return s 6392} 6393 6394// An object representing a route returned by a describe operation. 6395type RouteData struct { 6396 _ struct{} `type:"structure"` 6397 6398 // The name of the service mesh that the route resides in. 6399 // 6400 // MeshName is a required field 6401 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 6402 6403 // The associated metadata for the route. 6404 // 6405 // Metadata is a required field 6406 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 6407 6408 // The name of the route. 6409 // 6410 // RouteName is a required field 6411 RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` 6412 6413 // The specifications of the route. 6414 // 6415 // Spec is a required field 6416 Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` 6417 6418 // The status of the route. 6419 // 6420 // Status is a required field 6421 Status *RouteStatus `locationName:"status" type:"structure" required:"true"` 6422 6423 // The virtual router that the route is associated with. 6424 // 6425 // VirtualRouterName is a required field 6426 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 6427} 6428 6429// String returns the string representation 6430func (s RouteData) String() string { 6431 return awsutil.Prettify(s) 6432} 6433 6434// GoString returns the string representation 6435func (s RouteData) GoString() string { 6436 return s.String() 6437} 6438 6439// SetMeshName sets the MeshName field's value. 6440func (s *RouteData) SetMeshName(v string) *RouteData { 6441 s.MeshName = &v 6442 return s 6443} 6444 6445// SetMetadata sets the Metadata field's value. 6446func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData { 6447 s.Metadata = v 6448 return s 6449} 6450 6451// SetRouteName sets the RouteName field's value. 6452func (s *RouteData) SetRouteName(v string) *RouteData { 6453 s.RouteName = &v 6454 return s 6455} 6456 6457// SetSpec sets the Spec field's value. 6458func (s *RouteData) SetSpec(v *RouteSpec) *RouteData { 6459 s.Spec = v 6460 return s 6461} 6462 6463// SetStatus sets the Status field's value. 6464func (s *RouteData) SetStatus(v *RouteStatus) *RouteData { 6465 s.Status = v 6466 return s 6467} 6468 6469// SetVirtualRouterName sets the VirtualRouterName field's value. 6470func (s *RouteData) SetVirtualRouterName(v string) *RouteData { 6471 s.VirtualRouterName = &v 6472 return s 6473} 6474 6475// An object representing a route returned by a list operation. 6476type RouteRef struct { 6477 _ struct{} `type:"structure"` 6478 6479 // The full Amazon Resource Name (ARN) for the route. 6480 // 6481 // Arn is a required field 6482 Arn *string `locationName:"arn" type:"string" required:"true"` 6483 6484 // The name of the service mesh that the route resides in. 6485 // 6486 // MeshName is a required field 6487 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 6488 6489 // The name of the route. 6490 // 6491 // RouteName is a required field 6492 RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` 6493 6494 // The virtual router that the route is associated with. 6495 // 6496 // VirtualRouterName is a required field 6497 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 6498} 6499 6500// String returns the string representation 6501func (s RouteRef) String() string { 6502 return awsutil.Prettify(s) 6503} 6504 6505// GoString returns the string representation 6506func (s RouteRef) GoString() string { 6507 return s.String() 6508} 6509 6510// SetArn sets the Arn field's value. 6511func (s *RouteRef) SetArn(v string) *RouteRef { 6512 s.Arn = &v 6513 return s 6514} 6515 6516// SetMeshName sets the MeshName field's value. 6517func (s *RouteRef) SetMeshName(v string) *RouteRef { 6518 s.MeshName = &v 6519 return s 6520} 6521 6522// SetRouteName sets the RouteName field's value. 6523func (s *RouteRef) SetRouteName(v string) *RouteRef { 6524 s.RouteName = &v 6525 return s 6526} 6527 6528// SetVirtualRouterName sets the VirtualRouterName field's value. 6529func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef { 6530 s.VirtualRouterName = &v 6531 return s 6532} 6533 6534// An object representing the specification of a route. 6535type RouteSpec struct { 6536 _ struct{} `type:"structure"` 6537 6538 // The HTTP routing information for the route. 6539 HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` 6540 6541 // The TCP routing information for the route. 6542 TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"` 6543} 6544 6545// String returns the string representation 6546func (s RouteSpec) String() string { 6547 return awsutil.Prettify(s) 6548} 6549 6550// GoString returns the string representation 6551func (s RouteSpec) GoString() string { 6552 return s.String() 6553} 6554 6555// Validate inspects the fields of the type to determine if they are valid. 6556func (s *RouteSpec) Validate() error { 6557 invalidParams := request.ErrInvalidParams{Context: "RouteSpec"} 6558 if s.HttpRoute != nil { 6559 if err := s.HttpRoute.Validate(); err != nil { 6560 invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) 6561 } 6562 } 6563 if s.TcpRoute != nil { 6564 if err := s.TcpRoute.Validate(); err != nil { 6565 invalidParams.AddNested("TcpRoute", err.(request.ErrInvalidParams)) 6566 } 6567 } 6568 6569 if invalidParams.Len() > 0 { 6570 return invalidParams 6571 } 6572 return nil 6573} 6574 6575// SetHttpRoute sets the HttpRoute field's value. 6576func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { 6577 s.HttpRoute = v 6578 return s 6579} 6580 6581// SetTcpRoute sets the TcpRoute field's value. 6582func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec { 6583 s.TcpRoute = v 6584 return s 6585} 6586 6587// An object representing the current status of a route. 6588type RouteStatus struct { 6589 _ struct{} `type:"structure"` 6590 6591 // The current status for the route. 6592 // 6593 // Status is a required field 6594 Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"` 6595} 6596 6597// String returns the string representation 6598func (s RouteStatus) String() string { 6599 return awsutil.Prettify(s) 6600} 6601 6602// GoString returns the string representation 6603func (s RouteStatus) GoString() string { 6604 return s.String() 6605} 6606 6607// SetStatus sets the Status field's value. 6608func (s *RouteStatus) SetStatus(v string) *RouteStatus { 6609 s.Status = &v 6610 return s 6611} 6612 6613// An object representing the service discovery information for a virtual node. 6614type ServiceDiscovery struct { 6615 _ struct{} `type:"structure"` 6616 6617 // Specifies any AWS Cloud Map information for the virtual node. 6618 AwsCloudMap *AwsCloudMapServiceDiscovery `locationName:"awsCloudMap" type:"structure"` 6619 6620 // Specifies the DNS information for the virtual node. 6621 Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"` 6622} 6623 6624// String returns the string representation 6625func (s ServiceDiscovery) String() string { 6626 return awsutil.Prettify(s) 6627} 6628 6629// GoString returns the string representation 6630func (s ServiceDiscovery) GoString() string { 6631 return s.String() 6632} 6633 6634// Validate inspects the fields of the type to determine if they are valid. 6635func (s *ServiceDiscovery) Validate() error { 6636 invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"} 6637 if s.AwsCloudMap != nil { 6638 if err := s.AwsCloudMap.Validate(); err != nil { 6639 invalidParams.AddNested("AwsCloudMap", err.(request.ErrInvalidParams)) 6640 } 6641 } 6642 if s.Dns != nil { 6643 if err := s.Dns.Validate(); err != nil { 6644 invalidParams.AddNested("Dns", err.(request.ErrInvalidParams)) 6645 } 6646 } 6647 6648 if invalidParams.Len() > 0 { 6649 return invalidParams 6650 } 6651 return nil 6652} 6653 6654// SetAwsCloudMap sets the AwsCloudMap field's value. 6655func (s *ServiceDiscovery) SetAwsCloudMap(v *AwsCloudMapServiceDiscovery) *ServiceDiscovery { 6656 s.AwsCloudMap = v 6657 return s 6658} 6659 6660// SetDns sets the Dns field's value. 6661func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery { 6662 s.Dns = v 6663 return s 6664} 6665 6666// Optional metadata that you apply to a resource to assist with categorization 6667// and organization. Each tag consists of a key and an optional value, both 6668// of which you define. Tag keys can have a maximum character length of 128 6669// characters, and tag values can have a maximum length of 256 characters. 6670type TagRef struct { 6671 _ struct{} `type:"structure"` 6672 6673 // One part of a key-value pair that make up a tag. A key is a general label 6674 // that acts like a category for more specific tag values. 6675 // 6676 // Key is a required field 6677 Key *string `locationName:"key" min:"1" type:"string" required:"true"` 6678 6679 // The optional part of a key-value pair that make up a tag. A value acts as 6680 // a descriptor within a tag category (key). 6681 Value *string `locationName:"value" type:"string"` 6682} 6683 6684// String returns the string representation 6685func (s TagRef) String() string { 6686 return awsutil.Prettify(s) 6687} 6688 6689// GoString returns the string representation 6690func (s TagRef) GoString() string { 6691 return s.String() 6692} 6693 6694// Validate inspects the fields of the type to determine if they are valid. 6695func (s *TagRef) Validate() error { 6696 invalidParams := request.ErrInvalidParams{Context: "TagRef"} 6697 if s.Key == nil { 6698 invalidParams.Add(request.NewErrParamRequired("Key")) 6699 } 6700 if s.Key != nil && len(*s.Key) < 1 { 6701 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 6702 } 6703 6704 if invalidParams.Len() > 0 { 6705 return invalidParams 6706 } 6707 return nil 6708} 6709 6710// SetKey sets the Key field's value. 6711func (s *TagRef) SetKey(v string) *TagRef { 6712 s.Key = &v 6713 return s 6714} 6715 6716// SetValue sets the Value field's value. 6717func (s *TagRef) SetValue(v string) *TagRef { 6718 s.Value = &v 6719 return s 6720} 6721 6722type TagResourceInput struct { 6723 _ struct{} `type:"structure"` 6724 6725 // The Amazon Resource Name (ARN) of the resource to add tags to. 6726 // 6727 // ResourceArn is a required field 6728 ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` 6729 6730 // The tags to add to the resource. A tag is an array of key-value pairs. Tag 6731 // keys can have a maximum character length of 128 characters, and tag values 6732 // can have a maximum length of 256 characters. 6733 // 6734 // Tags is a required field 6735 Tags []*TagRef `locationName:"tags" type:"list" required:"true"` 6736} 6737 6738// String returns the string representation 6739func (s TagResourceInput) String() string { 6740 return awsutil.Prettify(s) 6741} 6742 6743// GoString returns the string representation 6744func (s TagResourceInput) GoString() string { 6745 return s.String() 6746} 6747 6748// Validate inspects the fields of the type to determine if they are valid. 6749func (s *TagResourceInput) Validate() error { 6750 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 6751 if s.ResourceArn == nil { 6752 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 6753 } 6754 if s.Tags == nil { 6755 invalidParams.Add(request.NewErrParamRequired("Tags")) 6756 } 6757 if s.Tags != nil { 6758 for i, v := range s.Tags { 6759 if v == nil { 6760 continue 6761 } 6762 if err := v.Validate(); err != nil { 6763 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 6764 } 6765 } 6766 } 6767 6768 if invalidParams.Len() > 0 { 6769 return invalidParams 6770 } 6771 return nil 6772} 6773 6774// SetResourceArn sets the ResourceArn field's value. 6775func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 6776 s.ResourceArn = &v 6777 return s 6778} 6779 6780// SetTags sets the Tags field's value. 6781func (s *TagResourceInput) SetTags(v []*TagRef) *TagResourceInput { 6782 s.Tags = v 6783 return s 6784} 6785 6786type TagResourceOutput struct { 6787 _ struct{} `type:"structure"` 6788} 6789 6790// String returns the string representation 6791func (s TagResourceOutput) String() string { 6792 return awsutil.Prettify(s) 6793} 6794 6795// GoString returns the string representation 6796func (s TagResourceOutput) GoString() string { 6797 return s.String() 6798} 6799 6800// An object representing the TCP routing specification for a route. 6801type TcpRoute struct { 6802 _ struct{} `type:"structure"` 6803 6804 // The action to take if a match is determined. 6805 // 6806 // Action is a required field 6807 Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"` 6808} 6809 6810// String returns the string representation 6811func (s TcpRoute) String() string { 6812 return awsutil.Prettify(s) 6813} 6814 6815// GoString returns the string representation 6816func (s TcpRoute) GoString() string { 6817 return s.String() 6818} 6819 6820// Validate inspects the fields of the type to determine if they are valid. 6821func (s *TcpRoute) Validate() error { 6822 invalidParams := request.ErrInvalidParams{Context: "TcpRoute"} 6823 if s.Action == nil { 6824 invalidParams.Add(request.NewErrParamRequired("Action")) 6825 } 6826 if s.Action != nil { 6827 if err := s.Action.Validate(); err != nil { 6828 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 6829 } 6830 } 6831 6832 if invalidParams.Len() > 0 { 6833 return invalidParams 6834 } 6835 return nil 6836} 6837 6838// SetAction sets the Action field's value. 6839func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute { 6840 s.Action = v 6841 return s 6842} 6843 6844// An object representing the traffic distribution requirements for matched 6845// TCP requests. 6846type TcpRouteAction struct { 6847 _ struct{} `type:"structure"` 6848 6849 // The targets that traffic is routed to when a request matches the route. You 6850 // can specify one or more targets and their relative weights to distribute 6851 // traffic with. 6852 // 6853 // WeightedTargets is a required field 6854 WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` 6855} 6856 6857// String returns the string representation 6858func (s TcpRouteAction) String() string { 6859 return awsutil.Prettify(s) 6860} 6861 6862// GoString returns the string representation 6863func (s TcpRouteAction) GoString() string { 6864 return s.String() 6865} 6866 6867// Validate inspects the fields of the type to determine if they are valid. 6868func (s *TcpRouteAction) Validate() error { 6869 invalidParams := request.ErrInvalidParams{Context: "TcpRouteAction"} 6870 if s.WeightedTargets == nil { 6871 invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) 6872 } 6873 if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { 6874 invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) 6875 } 6876 if s.WeightedTargets != nil { 6877 for i, v := range s.WeightedTargets { 6878 if v == nil { 6879 continue 6880 } 6881 if err := v.Validate(); err != nil { 6882 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) 6883 } 6884 } 6885 } 6886 6887 if invalidParams.Len() > 0 { 6888 return invalidParams 6889 } 6890 return nil 6891} 6892 6893// SetWeightedTargets sets the WeightedTargets field's value. 6894func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction { 6895 s.WeightedTargets = v 6896 return s 6897} 6898 6899type UntagResourceInput struct { 6900 _ struct{} `type:"structure"` 6901 6902 // The Amazon Resource Name (ARN) of the resource to delete tags from. 6903 // 6904 // ResourceArn is a required field 6905 ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` 6906 6907 // The keys of the tags to be removed. 6908 // 6909 // TagKeys is a required field 6910 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 6911} 6912 6913// String returns the string representation 6914func (s UntagResourceInput) String() string { 6915 return awsutil.Prettify(s) 6916} 6917 6918// GoString returns the string representation 6919func (s UntagResourceInput) GoString() string { 6920 return s.String() 6921} 6922 6923// Validate inspects the fields of the type to determine if they are valid. 6924func (s *UntagResourceInput) Validate() error { 6925 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 6926 if s.ResourceArn == nil { 6927 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 6928 } 6929 if s.TagKeys == nil { 6930 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 6931 } 6932 6933 if invalidParams.Len() > 0 { 6934 return invalidParams 6935 } 6936 return nil 6937} 6938 6939// SetResourceArn sets the ResourceArn field's value. 6940func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 6941 s.ResourceArn = &v 6942 return s 6943} 6944 6945// SetTagKeys sets the TagKeys field's value. 6946func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 6947 s.TagKeys = v 6948 return s 6949} 6950 6951type UntagResourceOutput struct { 6952 _ struct{} `type:"structure"` 6953} 6954 6955// String returns the string representation 6956func (s UntagResourceOutput) String() string { 6957 return awsutil.Prettify(s) 6958} 6959 6960// GoString returns the string representation 6961func (s UntagResourceOutput) GoString() string { 6962 return s.String() 6963} 6964 6965type UpdateMeshInput struct { 6966 _ struct{} `type:"structure"` 6967 6968 // Unique, case-sensitive identifier that you provide to ensure the idempotency 6969 // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. 6970 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 6971 6972 // The name of the service mesh to update. 6973 // 6974 // MeshName is a required field 6975 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6976 6977 // The service mesh specification to apply. 6978 Spec *MeshSpec `locationName:"spec" type:"structure"` 6979} 6980 6981// String returns the string representation 6982func (s UpdateMeshInput) String() string { 6983 return awsutil.Prettify(s) 6984} 6985 6986// GoString returns the string representation 6987func (s UpdateMeshInput) GoString() string { 6988 return s.String() 6989} 6990 6991// Validate inspects the fields of the type to determine if they are valid. 6992func (s *UpdateMeshInput) Validate() error { 6993 invalidParams := request.ErrInvalidParams{Context: "UpdateMeshInput"} 6994 if s.MeshName == nil { 6995 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6996 } 6997 if s.MeshName != nil && len(*s.MeshName) < 1 { 6998 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6999 } 7000 if s.Spec != nil { 7001 if err := s.Spec.Validate(); err != nil { 7002 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 7003 } 7004 } 7005 7006 if invalidParams.Len() > 0 { 7007 return invalidParams 7008 } 7009 return nil 7010} 7011 7012// SetClientToken sets the ClientToken field's value. 7013func (s *UpdateMeshInput) SetClientToken(v string) *UpdateMeshInput { 7014 s.ClientToken = &v 7015 return s 7016} 7017 7018// SetMeshName sets the MeshName field's value. 7019func (s *UpdateMeshInput) SetMeshName(v string) *UpdateMeshInput { 7020 s.MeshName = &v 7021 return s 7022} 7023 7024// SetSpec sets the Spec field's value. 7025func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput { 7026 s.Spec = v 7027 return s 7028} 7029 7030type UpdateMeshOutput struct { 7031 _ struct{} `type:"structure" payload:"Mesh"` 7032 7033 // An object representing a service mesh returned by a describe operation. 7034 // 7035 // Mesh is a required field 7036 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 7037} 7038 7039// String returns the string representation 7040func (s UpdateMeshOutput) String() string { 7041 return awsutil.Prettify(s) 7042} 7043 7044// GoString returns the string representation 7045func (s UpdateMeshOutput) GoString() string { 7046 return s.String() 7047} 7048 7049// SetMesh sets the Mesh field's value. 7050func (s *UpdateMeshOutput) SetMesh(v *MeshData) *UpdateMeshOutput { 7051 s.Mesh = v 7052 return s 7053} 7054 7055type UpdateRouteInput struct { 7056 _ struct{} `type:"structure"` 7057 7058 // Unique, case-sensitive identifier that you provide to ensure the idempotency 7059 // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. 7060 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 7061 7062 // The name of the service mesh that the route resides in. 7063 // 7064 // MeshName is a required field 7065 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7066 7067 // The name of the route to update. 7068 // 7069 // RouteName is a required field 7070 RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` 7071 7072 // The new route specification to apply. This overwrites the existing data. 7073 // 7074 // Spec is a required field 7075 Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` 7076 7077 // The name of the virtual router that the route is associated with. 7078 // 7079 // VirtualRouterName is a required field 7080 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 7081} 7082 7083// String returns the string representation 7084func (s UpdateRouteInput) String() string { 7085 return awsutil.Prettify(s) 7086} 7087 7088// GoString returns the string representation 7089func (s UpdateRouteInput) GoString() string { 7090 return s.String() 7091} 7092 7093// Validate inspects the fields of the type to determine if they are valid. 7094func (s *UpdateRouteInput) Validate() error { 7095 invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"} 7096 if s.MeshName == nil { 7097 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7098 } 7099 if s.MeshName != nil && len(*s.MeshName) < 1 { 7100 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7101 } 7102 if s.RouteName == nil { 7103 invalidParams.Add(request.NewErrParamRequired("RouteName")) 7104 } 7105 if s.RouteName != nil && len(*s.RouteName) < 1 { 7106 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 7107 } 7108 if s.Spec == nil { 7109 invalidParams.Add(request.NewErrParamRequired("Spec")) 7110 } 7111 if s.VirtualRouterName == nil { 7112 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 7113 } 7114 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 7115 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 7116 } 7117 if s.Spec != nil { 7118 if err := s.Spec.Validate(); err != nil { 7119 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 7120 } 7121 } 7122 7123 if invalidParams.Len() > 0 { 7124 return invalidParams 7125 } 7126 return nil 7127} 7128 7129// SetClientToken sets the ClientToken field's value. 7130func (s *UpdateRouteInput) SetClientToken(v string) *UpdateRouteInput { 7131 s.ClientToken = &v 7132 return s 7133} 7134 7135// SetMeshName sets the MeshName field's value. 7136func (s *UpdateRouteInput) SetMeshName(v string) *UpdateRouteInput { 7137 s.MeshName = &v 7138 return s 7139} 7140 7141// SetRouteName sets the RouteName field's value. 7142func (s *UpdateRouteInput) SetRouteName(v string) *UpdateRouteInput { 7143 s.RouteName = &v 7144 return s 7145} 7146 7147// SetSpec sets the Spec field's value. 7148func (s *UpdateRouteInput) SetSpec(v *RouteSpec) *UpdateRouteInput { 7149 s.Spec = v 7150 return s 7151} 7152 7153// SetVirtualRouterName sets the VirtualRouterName field's value. 7154func (s *UpdateRouteInput) SetVirtualRouterName(v string) *UpdateRouteInput { 7155 s.VirtualRouterName = &v 7156 return s 7157} 7158 7159type UpdateRouteOutput struct { 7160 _ struct{} `type:"structure" payload:"Route"` 7161 7162 // A full description of the route that was updated. 7163 // 7164 // Route is a required field 7165 Route *RouteData `locationName:"route" type:"structure" required:"true"` 7166} 7167 7168// String returns the string representation 7169func (s UpdateRouteOutput) String() string { 7170 return awsutil.Prettify(s) 7171} 7172 7173// GoString returns the string representation 7174func (s UpdateRouteOutput) GoString() string { 7175 return s.String() 7176} 7177 7178// SetRoute sets the Route field's value. 7179func (s *UpdateRouteOutput) SetRoute(v *RouteData) *UpdateRouteOutput { 7180 s.Route = v 7181 return s 7182} 7183 7184type UpdateVirtualNodeInput struct { 7185 _ struct{} `type:"structure"` 7186 7187 // Unique, case-sensitive identifier that you provide to ensure the idempotency 7188 // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. 7189 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 7190 7191 // The name of the service mesh that the virtual node resides in. 7192 // 7193 // MeshName is a required field 7194 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7195 7196 // The new virtual node specification to apply. This overwrites the existing 7197 // data. 7198 // 7199 // Spec is a required field 7200 Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` 7201 7202 // The name of the virtual node to update. 7203 // 7204 // VirtualNodeName is a required field 7205 VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 7206} 7207 7208// String returns the string representation 7209func (s UpdateVirtualNodeInput) String() string { 7210 return awsutil.Prettify(s) 7211} 7212 7213// GoString returns the string representation 7214func (s UpdateVirtualNodeInput) GoString() string { 7215 return s.String() 7216} 7217 7218// Validate inspects the fields of the type to determine if they are valid. 7219func (s *UpdateVirtualNodeInput) Validate() error { 7220 invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualNodeInput"} 7221 if s.MeshName == nil { 7222 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7223 } 7224 if s.MeshName != nil && len(*s.MeshName) < 1 { 7225 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7226 } 7227 if s.Spec == nil { 7228 invalidParams.Add(request.NewErrParamRequired("Spec")) 7229 } 7230 if s.VirtualNodeName == nil { 7231 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 7232 } 7233 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 7234 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 7235 } 7236 if s.Spec != nil { 7237 if err := s.Spec.Validate(); err != nil { 7238 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 7239 } 7240 } 7241 7242 if invalidParams.Len() > 0 { 7243 return invalidParams 7244 } 7245 return nil 7246} 7247 7248// SetClientToken sets the ClientToken field's value. 7249func (s *UpdateVirtualNodeInput) SetClientToken(v string) *UpdateVirtualNodeInput { 7250 s.ClientToken = &v 7251 return s 7252} 7253 7254// SetMeshName sets the MeshName field's value. 7255func (s *UpdateVirtualNodeInput) SetMeshName(v string) *UpdateVirtualNodeInput { 7256 s.MeshName = &v 7257 return s 7258} 7259 7260// SetSpec sets the Spec field's value. 7261func (s *UpdateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *UpdateVirtualNodeInput { 7262 s.Spec = v 7263 return s 7264} 7265 7266// SetVirtualNodeName sets the VirtualNodeName field's value. 7267func (s *UpdateVirtualNodeInput) SetVirtualNodeName(v string) *UpdateVirtualNodeInput { 7268 s.VirtualNodeName = &v 7269 return s 7270} 7271 7272type UpdateVirtualNodeOutput struct { 7273 _ struct{} `type:"structure" payload:"VirtualNode"` 7274 7275 // A full description of the virtual node that was updated. 7276 // 7277 // VirtualNode is a required field 7278 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 7279} 7280 7281// String returns the string representation 7282func (s UpdateVirtualNodeOutput) String() string { 7283 return awsutil.Prettify(s) 7284} 7285 7286// GoString returns the string representation 7287func (s UpdateVirtualNodeOutput) GoString() string { 7288 return s.String() 7289} 7290 7291// SetVirtualNode sets the VirtualNode field's value. 7292func (s *UpdateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *UpdateVirtualNodeOutput { 7293 s.VirtualNode = v 7294 return s 7295} 7296 7297type UpdateVirtualRouterInput struct { 7298 _ struct{} `type:"structure"` 7299 7300 // Unique, case-sensitive identifier that you provide to ensure the idempotency 7301 // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. 7302 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 7303 7304 // The name of the service mesh that the virtual router resides in. 7305 // 7306 // MeshName is a required field 7307 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7308 7309 // The new virtual router specification to apply. This overwrites the existing 7310 // data. 7311 // 7312 // Spec is a required field 7313 Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` 7314 7315 // The name of the virtual router to update. 7316 // 7317 // VirtualRouterName is a required field 7318 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 7319} 7320 7321// String returns the string representation 7322func (s UpdateVirtualRouterInput) String() string { 7323 return awsutil.Prettify(s) 7324} 7325 7326// GoString returns the string representation 7327func (s UpdateVirtualRouterInput) GoString() string { 7328 return s.String() 7329} 7330 7331// Validate inspects the fields of the type to determine if they are valid. 7332func (s *UpdateVirtualRouterInput) Validate() error { 7333 invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualRouterInput"} 7334 if s.MeshName == nil { 7335 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7336 } 7337 if s.MeshName != nil && len(*s.MeshName) < 1 { 7338 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7339 } 7340 if s.Spec == nil { 7341 invalidParams.Add(request.NewErrParamRequired("Spec")) 7342 } 7343 if s.VirtualRouterName == nil { 7344 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 7345 } 7346 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 7347 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 7348 } 7349 if s.Spec != nil { 7350 if err := s.Spec.Validate(); err != nil { 7351 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 7352 } 7353 } 7354 7355 if invalidParams.Len() > 0 { 7356 return invalidParams 7357 } 7358 return nil 7359} 7360 7361// SetClientToken sets the ClientToken field's value. 7362func (s *UpdateVirtualRouterInput) SetClientToken(v string) *UpdateVirtualRouterInput { 7363 s.ClientToken = &v 7364 return s 7365} 7366 7367// SetMeshName sets the MeshName field's value. 7368func (s *UpdateVirtualRouterInput) SetMeshName(v string) *UpdateVirtualRouterInput { 7369 s.MeshName = &v 7370 return s 7371} 7372 7373// SetSpec sets the Spec field's value. 7374func (s *UpdateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *UpdateVirtualRouterInput { 7375 s.Spec = v 7376 return s 7377} 7378 7379// SetVirtualRouterName sets the VirtualRouterName field's value. 7380func (s *UpdateVirtualRouterInput) SetVirtualRouterName(v string) *UpdateVirtualRouterInput { 7381 s.VirtualRouterName = &v 7382 return s 7383} 7384 7385type UpdateVirtualRouterOutput struct { 7386 _ struct{} `type:"structure" payload:"VirtualRouter"` 7387 7388 // A full description of the virtual router that was updated. 7389 // 7390 // VirtualRouter is a required field 7391 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 7392} 7393 7394// String returns the string representation 7395func (s UpdateVirtualRouterOutput) String() string { 7396 return awsutil.Prettify(s) 7397} 7398 7399// GoString returns the string representation 7400func (s UpdateVirtualRouterOutput) GoString() string { 7401 return s.String() 7402} 7403 7404// SetVirtualRouter sets the VirtualRouter field's value. 7405func (s *UpdateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *UpdateVirtualRouterOutput { 7406 s.VirtualRouter = v 7407 return s 7408} 7409 7410type UpdateVirtualServiceInput struct { 7411 _ struct{} `type:"structure"` 7412 7413 // Unique, case-sensitive identifier that you provide to ensure the idempotency 7414 // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. 7415 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 7416 7417 // The name of the service mesh that the virtual service resides in. 7418 // 7419 // MeshName is a required field 7420 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7421 7422 // The new virtual service specification to apply. This overwrites the existing 7423 // data. 7424 // 7425 // Spec is a required field 7426 Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` 7427 7428 // The name of the virtual service to update. 7429 // 7430 // VirtualServiceName is a required field 7431 VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` 7432} 7433 7434// String returns the string representation 7435func (s UpdateVirtualServiceInput) String() string { 7436 return awsutil.Prettify(s) 7437} 7438 7439// GoString returns the string representation 7440func (s UpdateVirtualServiceInput) GoString() string { 7441 return s.String() 7442} 7443 7444// Validate inspects the fields of the type to determine if they are valid. 7445func (s *UpdateVirtualServiceInput) Validate() error { 7446 invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualServiceInput"} 7447 if s.MeshName == nil { 7448 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7449 } 7450 if s.MeshName != nil && len(*s.MeshName) < 1 { 7451 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7452 } 7453 if s.Spec == nil { 7454 invalidParams.Add(request.NewErrParamRequired("Spec")) 7455 } 7456 if s.VirtualServiceName == nil { 7457 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 7458 } 7459 if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { 7460 invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) 7461 } 7462 if s.Spec != nil { 7463 if err := s.Spec.Validate(); err != nil { 7464 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 7465 } 7466 } 7467 7468 if invalidParams.Len() > 0 { 7469 return invalidParams 7470 } 7471 return nil 7472} 7473 7474// SetClientToken sets the ClientToken field's value. 7475func (s *UpdateVirtualServiceInput) SetClientToken(v string) *UpdateVirtualServiceInput { 7476 s.ClientToken = &v 7477 return s 7478} 7479 7480// SetMeshName sets the MeshName field's value. 7481func (s *UpdateVirtualServiceInput) SetMeshName(v string) *UpdateVirtualServiceInput { 7482 s.MeshName = &v 7483 return s 7484} 7485 7486// SetSpec sets the Spec field's value. 7487func (s *UpdateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *UpdateVirtualServiceInput { 7488 s.Spec = v 7489 return s 7490} 7491 7492// SetVirtualServiceName sets the VirtualServiceName field's value. 7493func (s *UpdateVirtualServiceInput) SetVirtualServiceName(v string) *UpdateVirtualServiceInput { 7494 s.VirtualServiceName = &v 7495 return s 7496} 7497 7498type UpdateVirtualServiceOutput struct { 7499 _ struct{} `type:"structure" payload:"VirtualService"` 7500 7501 // A full description of the virtual service that was updated. 7502 // 7503 // VirtualService is a required field 7504 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 7505} 7506 7507// String returns the string representation 7508func (s UpdateVirtualServiceOutput) String() string { 7509 return awsutil.Prettify(s) 7510} 7511 7512// GoString returns the string representation 7513func (s UpdateVirtualServiceOutput) GoString() string { 7514 return s.String() 7515} 7516 7517// SetVirtualService sets the VirtualService field's value. 7518func (s *UpdateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *UpdateVirtualServiceOutput { 7519 s.VirtualService = v 7520 return s 7521} 7522 7523// An object representing a virtual node returned by a describe operation. 7524type VirtualNodeData struct { 7525 _ struct{} `type:"structure"` 7526 7527 // The name of the service mesh that the virtual node resides in. 7528 // 7529 // MeshName is a required field 7530 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 7531 7532 // The associated metadata for the virtual node. 7533 // 7534 // Metadata is a required field 7535 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 7536 7537 // The specifications of the virtual node. 7538 // 7539 // Spec is a required field 7540 Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` 7541 7542 // The current status for the virtual node. 7543 // 7544 // Status is a required field 7545 Status *VirtualNodeStatus `locationName:"status" type:"structure" required:"true"` 7546 7547 // The name of the virtual node. 7548 // 7549 // VirtualNodeName is a required field 7550 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 7551} 7552 7553// String returns the string representation 7554func (s VirtualNodeData) String() string { 7555 return awsutil.Prettify(s) 7556} 7557 7558// GoString returns the string representation 7559func (s VirtualNodeData) GoString() string { 7560 return s.String() 7561} 7562 7563// SetMeshName sets the MeshName field's value. 7564func (s *VirtualNodeData) SetMeshName(v string) *VirtualNodeData { 7565 s.MeshName = &v 7566 return s 7567} 7568 7569// SetMetadata sets the Metadata field's value. 7570func (s *VirtualNodeData) SetMetadata(v *ResourceMetadata) *VirtualNodeData { 7571 s.Metadata = v 7572 return s 7573} 7574 7575// SetSpec sets the Spec field's value. 7576func (s *VirtualNodeData) SetSpec(v *VirtualNodeSpec) *VirtualNodeData { 7577 s.Spec = v 7578 return s 7579} 7580 7581// SetStatus sets the Status field's value. 7582func (s *VirtualNodeData) SetStatus(v *VirtualNodeStatus) *VirtualNodeData { 7583 s.Status = v 7584 return s 7585} 7586 7587// SetVirtualNodeName sets the VirtualNodeName field's value. 7588func (s *VirtualNodeData) SetVirtualNodeName(v string) *VirtualNodeData { 7589 s.VirtualNodeName = &v 7590 return s 7591} 7592 7593// An object representing a virtual node returned by a list operation. 7594type VirtualNodeRef struct { 7595 _ struct{} `type:"structure"` 7596 7597 // The full Amazon Resource Name (ARN) for the virtual node. 7598 // 7599 // Arn is a required field 7600 Arn *string `locationName:"arn" type:"string" required:"true"` 7601 7602 // The name of the service mesh that the virtual node resides in. 7603 // 7604 // MeshName is a required field 7605 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 7606 7607 // The name of the virtual node. 7608 // 7609 // VirtualNodeName is a required field 7610 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 7611} 7612 7613// String returns the string representation 7614func (s VirtualNodeRef) String() string { 7615 return awsutil.Prettify(s) 7616} 7617 7618// GoString returns the string representation 7619func (s VirtualNodeRef) GoString() string { 7620 return s.String() 7621} 7622 7623// SetArn sets the Arn field's value. 7624func (s *VirtualNodeRef) SetArn(v string) *VirtualNodeRef { 7625 s.Arn = &v 7626 return s 7627} 7628 7629// SetMeshName sets the MeshName field's value. 7630func (s *VirtualNodeRef) SetMeshName(v string) *VirtualNodeRef { 7631 s.MeshName = &v 7632 return s 7633} 7634 7635// SetVirtualNodeName sets the VirtualNodeName field's value. 7636func (s *VirtualNodeRef) SetVirtualNodeName(v string) *VirtualNodeRef { 7637 s.VirtualNodeName = &v 7638 return s 7639} 7640 7641// An object representing a virtual node service provider. 7642type VirtualNodeServiceProvider struct { 7643 _ struct{} `type:"structure"` 7644 7645 // The name of the virtual node that is acting as a service provider. 7646 // 7647 // VirtualNodeName is a required field 7648 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 7649} 7650 7651// String returns the string representation 7652func (s VirtualNodeServiceProvider) String() string { 7653 return awsutil.Prettify(s) 7654} 7655 7656// GoString returns the string representation 7657func (s VirtualNodeServiceProvider) GoString() string { 7658 return s.String() 7659} 7660 7661// Validate inspects the fields of the type to determine if they are valid. 7662func (s *VirtualNodeServiceProvider) Validate() error { 7663 invalidParams := request.ErrInvalidParams{Context: "VirtualNodeServiceProvider"} 7664 if s.VirtualNodeName == nil { 7665 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 7666 } 7667 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 7668 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 7669 } 7670 7671 if invalidParams.Len() > 0 { 7672 return invalidParams 7673 } 7674 return nil 7675} 7676 7677// SetVirtualNodeName sets the VirtualNodeName field's value. 7678func (s *VirtualNodeServiceProvider) SetVirtualNodeName(v string) *VirtualNodeServiceProvider { 7679 s.VirtualNodeName = &v 7680 return s 7681} 7682 7683// An object representing the specification of a virtual node. 7684type VirtualNodeSpec struct { 7685 _ struct{} `type:"structure"` 7686 7687 // The backends that the virtual node is expected to send outbound traffic to. 7688 Backends []*Backend `locationName:"backends" type:"list"` 7689 7690 // The listeners that the virtual node is expected to receive inbound traffic 7691 // from. Currently only one listener is supported per virtual node. 7692 Listeners []*Listener `locationName:"listeners" type:"list"` 7693 7694 // The inbound and outbound access logging information for the virtual node. 7695 Logging *Logging `locationName:"logging" type:"structure"` 7696 7697 // The service discovery information for the virtual node. If your virtual node 7698 // does not expect ingress traffic, you can omit this parameter. 7699 ServiceDiscovery *ServiceDiscovery `locationName:"serviceDiscovery" type:"structure"` 7700} 7701 7702// String returns the string representation 7703func (s VirtualNodeSpec) String() string { 7704 return awsutil.Prettify(s) 7705} 7706 7707// GoString returns the string representation 7708func (s VirtualNodeSpec) GoString() string { 7709 return s.String() 7710} 7711 7712// Validate inspects the fields of the type to determine if they are valid. 7713func (s *VirtualNodeSpec) Validate() error { 7714 invalidParams := request.ErrInvalidParams{Context: "VirtualNodeSpec"} 7715 if s.Backends != nil { 7716 for i, v := range s.Backends { 7717 if v == nil { 7718 continue 7719 } 7720 if err := v.Validate(); err != nil { 7721 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Backends", i), err.(request.ErrInvalidParams)) 7722 } 7723 } 7724 } 7725 if s.Listeners != nil { 7726 for i, v := range s.Listeners { 7727 if v == nil { 7728 continue 7729 } 7730 if err := v.Validate(); err != nil { 7731 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) 7732 } 7733 } 7734 } 7735 if s.Logging != nil { 7736 if err := s.Logging.Validate(); err != nil { 7737 invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) 7738 } 7739 } 7740 if s.ServiceDiscovery != nil { 7741 if err := s.ServiceDiscovery.Validate(); err != nil { 7742 invalidParams.AddNested("ServiceDiscovery", err.(request.ErrInvalidParams)) 7743 } 7744 } 7745 7746 if invalidParams.Len() > 0 { 7747 return invalidParams 7748 } 7749 return nil 7750} 7751 7752// SetBackends sets the Backends field's value. 7753func (s *VirtualNodeSpec) SetBackends(v []*Backend) *VirtualNodeSpec { 7754 s.Backends = v 7755 return s 7756} 7757 7758// SetListeners sets the Listeners field's value. 7759func (s *VirtualNodeSpec) SetListeners(v []*Listener) *VirtualNodeSpec { 7760 s.Listeners = v 7761 return s 7762} 7763 7764// SetLogging sets the Logging field's value. 7765func (s *VirtualNodeSpec) SetLogging(v *Logging) *VirtualNodeSpec { 7766 s.Logging = v 7767 return s 7768} 7769 7770// SetServiceDiscovery sets the ServiceDiscovery field's value. 7771func (s *VirtualNodeSpec) SetServiceDiscovery(v *ServiceDiscovery) *VirtualNodeSpec { 7772 s.ServiceDiscovery = v 7773 return s 7774} 7775 7776// An object representing the current status of the virtual node. 7777type VirtualNodeStatus struct { 7778 _ struct{} `type:"structure"` 7779 7780 // The current status of the virtual node. 7781 // 7782 // Status is a required field 7783 Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualNodeStatusCode"` 7784} 7785 7786// String returns the string representation 7787func (s VirtualNodeStatus) String() string { 7788 return awsutil.Prettify(s) 7789} 7790 7791// GoString returns the string representation 7792func (s VirtualNodeStatus) GoString() string { 7793 return s.String() 7794} 7795 7796// SetStatus sets the Status field's value. 7797func (s *VirtualNodeStatus) SetStatus(v string) *VirtualNodeStatus { 7798 s.Status = &v 7799 return s 7800} 7801 7802// An object representing a virtual router returned by a describe operation. 7803type VirtualRouterData struct { 7804 _ struct{} `type:"structure"` 7805 7806 // The name of the service mesh that the virtual router resides in. 7807 // 7808 // MeshName is a required field 7809 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 7810 7811 // The associated metadata for the virtual router. 7812 // 7813 // Metadata is a required field 7814 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 7815 7816 // The specifications of the virtual router. 7817 // 7818 // Spec is a required field 7819 Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` 7820 7821 // The current status of the virtual router. 7822 // 7823 // Status is a required field 7824 Status *VirtualRouterStatus `locationName:"status" type:"structure" required:"true"` 7825 7826 // The name of the virtual router. 7827 // 7828 // VirtualRouterName is a required field 7829 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 7830} 7831 7832// String returns the string representation 7833func (s VirtualRouterData) String() string { 7834 return awsutil.Prettify(s) 7835} 7836 7837// GoString returns the string representation 7838func (s VirtualRouterData) GoString() string { 7839 return s.String() 7840} 7841 7842// SetMeshName sets the MeshName field's value. 7843func (s *VirtualRouterData) SetMeshName(v string) *VirtualRouterData { 7844 s.MeshName = &v 7845 return s 7846} 7847 7848// SetMetadata sets the Metadata field's value. 7849func (s *VirtualRouterData) SetMetadata(v *ResourceMetadata) *VirtualRouterData { 7850 s.Metadata = v 7851 return s 7852} 7853 7854// SetSpec sets the Spec field's value. 7855func (s *VirtualRouterData) SetSpec(v *VirtualRouterSpec) *VirtualRouterData { 7856 s.Spec = v 7857 return s 7858} 7859 7860// SetStatus sets the Status field's value. 7861func (s *VirtualRouterData) SetStatus(v *VirtualRouterStatus) *VirtualRouterData { 7862 s.Status = v 7863 return s 7864} 7865 7866// SetVirtualRouterName sets the VirtualRouterName field's value. 7867func (s *VirtualRouterData) SetVirtualRouterName(v string) *VirtualRouterData { 7868 s.VirtualRouterName = &v 7869 return s 7870} 7871 7872// An object representing a virtual router listener. 7873type VirtualRouterListener struct { 7874 _ struct{} `type:"structure"` 7875 7876 // An object representing a virtual node or virtual router listener port mapping. 7877 // 7878 // PortMapping is a required field 7879 PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` 7880} 7881 7882// String returns the string representation 7883func (s VirtualRouterListener) String() string { 7884 return awsutil.Prettify(s) 7885} 7886 7887// GoString returns the string representation 7888func (s VirtualRouterListener) GoString() string { 7889 return s.String() 7890} 7891 7892// Validate inspects the fields of the type to determine if they are valid. 7893func (s *VirtualRouterListener) Validate() error { 7894 invalidParams := request.ErrInvalidParams{Context: "VirtualRouterListener"} 7895 if s.PortMapping == nil { 7896 invalidParams.Add(request.NewErrParamRequired("PortMapping")) 7897 } 7898 if s.PortMapping != nil { 7899 if err := s.PortMapping.Validate(); err != nil { 7900 invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) 7901 } 7902 } 7903 7904 if invalidParams.Len() > 0 { 7905 return invalidParams 7906 } 7907 return nil 7908} 7909 7910// SetPortMapping sets the PortMapping field's value. 7911func (s *VirtualRouterListener) SetPortMapping(v *PortMapping) *VirtualRouterListener { 7912 s.PortMapping = v 7913 return s 7914} 7915 7916// An object representing a virtual router returned by a list operation. 7917type VirtualRouterRef struct { 7918 _ struct{} `type:"structure"` 7919 7920 // The full Amazon Resource Name (ARN) for the virtual router. 7921 // 7922 // Arn is a required field 7923 Arn *string `locationName:"arn" type:"string" required:"true"` 7924 7925 // The name of the service mesh that the virtual router resides in. 7926 // 7927 // MeshName is a required field 7928 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 7929 7930 // The name of the virtual router. 7931 // 7932 // VirtualRouterName is a required field 7933 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 7934} 7935 7936// String returns the string representation 7937func (s VirtualRouterRef) String() string { 7938 return awsutil.Prettify(s) 7939} 7940 7941// GoString returns the string representation 7942func (s VirtualRouterRef) GoString() string { 7943 return s.String() 7944} 7945 7946// SetArn sets the Arn field's value. 7947func (s *VirtualRouterRef) SetArn(v string) *VirtualRouterRef { 7948 s.Arn = &v 7949 return s 7950} 7951 7952// SetMeshName sets the MeshName field's value. 7953func (s *VirtualRouterRef) SetMeshName(v string) *VirtualRouterRef { 7954 s.MeshName = &v 7955 return s 7956} 7957 7958// SetVirtualRouterName sets the VirtualRouterName field's value. 7959func (s *VirtualRouterRef) SetVirtualRouterName(v string) *VirtualRouterRef { 7960 s.VirtualRouterName = &v 7961 return s 7962} 7963 7964// An object representing a virtual node service provider. 7965type VirtualRouterServiceProvider struct { 7966 _ struct{} `type:"structure"` 7967 7968 // The name of the virtual router that is acting as a service provider. 7969 // 7970 // VirtualRouterName is a required field 7971 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 7972} 7973 7974// String returns the string representation 7975func (s VirtualRouterServiceProvider) String() string { 7976 return awsutil.Prettify(s) 7977} 7978 7979// GoString returns the string representation 7980func (s VirtualRouterServiceProvider) GoString() string { 7981 return s.String() 7982} 7983 7984// Validate inspects the fields of the type to determine if they are valid. 7985func (s *VirtualRouterServiceProvider) Validate() error { 7986 invalidParams := request.ErrInvalidParams{Context: "VirtualRouterServiceProvider"} 7987 if s.VirtualRouterName == nil { 7988 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 7989 } 7990 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 7991 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 7992 } 7993 7994 if invalidParams.Len() > 0 { 7995 return invalidParams 7996 } 7997 return nil 7998} 7999 8000// SetVirtualRouterName sets the VirtualRouterName field's value. 8001func (s *VirtualRouterServiceProvider) SetVirtualRouterName(v string) *VirtualRouterServiceProvider { 8002 s.VirtualRouterName = &v 8003 return s 8004} 8005 8006// An object representing the specification of a virtual router. 8007type VirtualRouterSpec struct { 8008 _ struct{} `type:"structure"` 8009 8010 // The listeners that the virtual router is expected to receive inbound traffic 8011 // from. Currently only one listener is supported per virtual router. 8012 Listeners []*VirtualRouterListener `locationName:"listeners" min:"1" type:"list"` 8013} 8014 8015// String returns the string representation 8016func (s VirtualRouterSpec) String() string { 8017 return awsutil.Prettify(s) 8018} 8019 8020// GoString returns the string representation 8021func (s VirtualRouterSpec) GoString() string { 8022 return s.String() 8023} 8024 8025// Validate inspects the fields of the type to determine if they are valid. 8026func (s *VirtualRouterSpec) Validate() error { 8027 invalidParams := request.ErrInvalidParams{Context: "VirtualRouterSpec"} 8028 if s.Listeners != nil && len(s.Listeners) < 1 { 8029 invalidParams.Add(request.NewErrParamMinLen("Listeners", 1)) 8030 } 8031 if s.Listeners != nil { 8032 for i, v := range s.Listeners { 8033 if v == nil { 8034 continue 8035 } 8036 if err := v.Validate(); err != nil { 8037 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) 8038 } 8039 } 8040 } 8041 8042 if invalidParams.Len() > 0 { 8043 return invalidParams 8044 } 8045 return nil 8046} 8047 8048// SetListeners sets the Listeners field's value. 8049func (s *VirtualRouterSpec) SetListeners(v []*VirtualRouterListener) *VirtualRouterSpec { 8050 s.Listeners = v 8051 return s 8052} 8053 8054// An object representing the status of a virtual router. 8055type VirtualRouterStatus struct { 8056 _ struct{} `type:"structure"` 8057 8058 // The current status of the virtual router. 8059 // 8060 // Status is a required field 8061 Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualRouterStatusCode"` 8062} 8063 8064// String returns the string representation 8065func (s VirtualRouterStatus) String() string { 8066 return awsutil.Prettify(s) 8067} 8068 8069// GoString returns the string representation 8070func (s VirtualRouterStatus) GoString() string { 8071 return s.String() 8072} 8073 8074// SetStatus sets the Status field's value. 8075func (s *VirtualRouterStatus) SetStatus(v string) *VirtualRouterStatus { 8076 s.Status = &v 8077 return s 8078} 8079 8080// An object representing a virtual service backend for a virtual node. 8081type VirtualServiceBackend struct { 8082 _ struct{} `type:"structure"` 8083 8084 // The name of the virtual service that is acting as a virtual node backend. 8085 // 8086 // VirtualServiceName is a required field 8087 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 8088} 8089 8090// String returns the string representation 8091func (s VirtualServiceBackend) String() string { 8092 return awsutil.Prettify(s) 8093} 8094 8095// GoString returns the string representation 8096func (s VirtualServiceBackend) GoString() string { 8097 return s.String() 8098} 8099 8100// Validate inspects the fields of the type to determine if they are valid. 8101func (s *VirtualServiceBackend) Validate() error { 8102 invalidParams := request.ErrInvalidParams{Context: "VirtualServiceBackend"} 8103 if s.VirtualServiceName == nil { 8104 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 8105 } 8106 8107 if invalidParams.Len() > 0 { 8108 return invalidParams 8109 } 8110 return nil 8111} 8112 8113// SetVirtualServiceName sets the VirtualServiceName field's value. 8114func (s *VirtualServiceBackend) SetVirtualServiceName(v string) *VirtualServiceBackend { 8115 s.VirtualServiceName = &v 8116 return s 8117} 8118 8119// An object representing a virtual service returned by a describe operation. 8120type VirtualServiceData struct { 8121 _ struct{} `type:"structure"` 8122 8123 // The name of the service mesh that the virtual service resides in. 8124 // 8125 // MeshName is a required field 8126 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 8127 8128 // An object representing metadata for a resource. 8129 // 8130 // Metadata is a required field 8131 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 8132 8133 // The specifications of the virtual service. 8134 // 8135 // Spec is a required field 8136 Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` 8137 8138 // The current status of the virtual service. 8139 // 8140 // Status is a required field 8141 Status *VirtualServiceStatus `locationName:"status" type:"structure" required:"true"` 8142 8143 // The name of the virtual service. 8144 // 8145 // VirtualServiceName is a required field 8146 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 8147} 8148 8149// String returns the string representation 8150func (s VirtualServiceData) String() string { 8151 return awsutil.Prettify(s) 8152} 8153 8154// GoString returns the string representation 8155func (s VirtualServiceData) GoString() string { 8156 return s.String() 8157} 8158 8159// SetMeshName sets the MeshName field's value. 8160func (s *VirtualServiceData) SetMeshName(v string) *VirtualServiceData { 8161 s.MeshName = &v 8162 return s 8163} 8164 8165// SetMetadata sets the Metadata field's value. 8166func (s *VirtualServiceData) SetMetadata(v *ResourceMetadata) *VirtualServiceData { 8167 s.Metadata = v 8168 return s 8169} 8170 8171// SetSpec sets the Spec field's value. 8172func (s *VirtualServiceData) SetSpec(v *VirtualServiceSpec) *VirtualServiceData { 8173 s.Spec = v 8174 return s 8175} 8176 8177// SetStatus sets the Status field's value. 8178func (s *VirtualServiceData) SetStatus(v *VirtualServiceStatus) *VirtualServiceData { 8179 s.Status = v 8180 return s 8181} 8182 8183// SetVirtualServiceName sets the VirtualServiceName field's value. 8184func (s *VirtualServiceData) SetVirtualServiceName(v string) *VirtualServiceData { 8185 s.VirtualServiceName = &v 8186 return s 8187} 8188 8189// An object representing the provider for a virtual service. 8190type VirtualServiceProvider struct { 8191 _ struct{} `type:"structure"` 8192 8193 // The virtual node associated with a virtual service. 8194 VirtualNode *VirtualNodeServiceProvider `locationName:"virtualNode" type:"structure"` 8195 8196 // The virtual router associated with a virtual service. 8197 VirtualRouter *VirtualRouterServiceProvider `locationName:"virtualRouter" type:"structure"` 8198} 8199 8200// String returns the string representation 8201func (s VirtualServiceProvider) String() string { 8202 return awsutil.Prettify(s) 8203} 8204 8205// GoString returns the string representation 8206func (s VirtualServiceProvider) GoString() string { 8207 return s.String() 8208} 8209 8210// Validate inspects the fields of the type to determine if they are valid. 8211func (s *VirtualServiceProvider) Validate() error { 8212 invalidParams := request.ErrInvalidParams{Context: "VirtualServiceProvider"} 8213 if s.VirtualNode != nil { 8214 if err := s.VirtualNode.Validate(); err != nil { 8215 invalidParams.AddNested("VirtualNode", err.(request.ErrInvalidParams)) 8216 } 8217 } 8218 if s.VirtualRouter != nil { 8219 if err := s.VirtualRouter.Validate(); err != nil { 8220 invalidParams.AddNested("VirtualRouter", err.(request.ErrInvalidParams)) 8221 } 8222 } 8223 8224 if invalidParams.Len() > 0 { 8225 return invalidParams 8226 } 8227 return nil 8228} 8229 8230// SetVirtualNode sets the VirtualNode field's value. 8231func (s *VirtualServiceProvider) SetVirtualNode(v *VirtualNodeServiceProvider) *VirtualServiceProvider { 8232 s.VirtualNode = v 8233 return s 8234} 8235 8236// SetVirtualRouter sets the VirtualRouter field's value. 8237func (s *VirtualServiceProvider) SetVirtualRouter(v *VirtualRouterServiceProvider) *VirtualServiceProvider { 8238 s.VirtualRouter = v 8239 return s 8240} 8241 8242// An object representing a virtual service returned by a list operation. 8243type VirtualServiceRef struct { 8244 _ struct{} `type:"structure"` 8245 8246 // The full Amazon Resource Name (ARN) for the virtual service. 8247 // 8248 // Arn is a required field 8249 Arn *string `locationName:"arn" type:"string" required:"true"` 8250 8251 // The name of the service mesh that the virtual service resides in. 8252 // 8253 // MeshName is a required field 8254 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 8255 8256 // The name of the virtual service. 8257 // 8258 // VirtualServiceName is a required field 8259 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 8260} 8261 8262// String returns the string representation 8263func (s VirtualServiceRef) String() string { 8264 return awsutil.Prettify(s) 8265} 8266 8267// GoString returns the string representation 8268func (s VirtualServiceRef) GoString() string { 8269 return s.String() 8270} 8271 8272// SetArn sets the Arn field's value. 8273func (s *VirtualServiceRef) SetArn(v string) *VirtualServiceRef { 8274 s.Arn = &v 8275 return s 8276} 8277 8278// SetMeshName sets the MeshName field's value. 8279func (s *VirtualServiceRef) SetMeshName(v string) *VirtualServiceRef { 8280 s.MeshName = &v 8281 return s 8282} 8283 8284// SetVirtualServiceName sets the VirtualServiceName field's value. 8285func (s *VirtualServiceRef) SetVirtualServiceName(v string) *VirtualServiceRef { 8286 s.VirtualServiceName = &v 8287 return s 8288} 8289 8290// An object representing the specification of a virtual service. 8291type VirtualServiceSpec struct { 8292 _ struct{} `type:"structure"` 8293 8294 // The App Mesh object that is acting as the provider for a virtual service. 8295 // You can specify a single virtual node or virtual router. 8296 Provider *VirtualServiceProvider `locationName:"provider" type:"structure"` 8297} 8298 8299// String returns the string representation 8300func (s VirtualServiceSpec) String() string { 8301 return awsutil.Prettify(s) 8302} 8303 8304// GoString returns the string representation 8305func (s VirtualServiceSpec) GoString() string { 8306 return s.String() 8307} 8308 8309// Validate inspects the fields of the type to determine if they are valid. 8310func (s *VirtualServiceSpec) Validate() error { 8311 invalidParams := request.ErrInvalidParams{Context: "VirtualServiceSpec"} 8312 if s.Provider != nil { 8313 if err := s.Provider.Validate(); err != nil { 8314 invalidParams.AddNested("Provider", err.(request.ErrInvalidParams)) 8315 } 8316 } 8317 8318 if invalidParams.Len() > 0 { 8319 return invalidParams 8320 } 8321 return nil 8322} 8323 8324// SetProvider sets the Provider field's value. 8325func (s *VirtualServiceSpec) SetProvider(v *VirtualServiceProvider) *VirtualServiceSpec { 8326 s.Provider = v 8327 return s 8328} 8329 8330// An object representing the status of a virtual service. 8331type VirtualServiceStatus struct { 8332 _ struct{} `type:"structure"` 8333 8334 // The current status of the virtual service. 8335 // 8336 // Status is a required field 8337 Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualServiceStatusCode"` 8338} 8339 8340// String returns the string representation 8341func (s VirtualServiceStatus) String() string { 8342 return awsutil.Prettify(s) 8343} 8344 8345// GoString returns the string representation 8346func (s VirtualServiceStatus) GoString() string { 8347 return s.String() 8348} 8349 8350// SetStatus sets the Status field's value. 8351func (s *VirtualServiceStatus) SetStatus(v string) *VirtualServiceStatus { 8352 s.Status = &v 8353 return s 8354} 8355 8356// An object representing a target and its relative weight. Traffic is distributed 8357// across targets according to their relative weight. For example, a weighted 8358// target with a relative weight of 50 receives five times as much traffic as 8359// one with a relative weight of 10. 8360type WeightedTarget struct { 8361 _ struct{} `type:"structure"` 8362 8363 // The virtual node to associate with the weighted target. 8364 // 8365 // VirtualNode is a required field 8366 VirtualNode *string `locationName:"virtualNode" min:"1" type:"string" required:"true"` 8367 8368 // The relative weight of the weighted target. 8369 // 8370 // Weight is a required field 8371 Weight *int64 `locationName:"weight" type:"integer" required:"true"` 8372} 8373 8374// String returns the string representation 8375func (s WeightedTarget) String() string { 8376 return awsutil.Prettify(s) 8377} 8378 8379// GoString returns the string representation 8380func (s WeightedTarget) GoString() string { 8381 return s.String() 8382} 8383 8384// Validate inspects the fields of the type to determine if they are valid. 8385func (s *WeightedTarget) Validate() error { 8386 invalidParams := request.ErrInvalidParams{Context: "WeightedTarget"} 8387 if s.VirtualNode == nil { 8388 invalidParams.Add(request.NewErrParamRequired("VirtualNode")) 8389 } 8390 if s.VirtualNode != nil && len(*s.VirtualNode) < 1 { 8391 invalidParams.Add(request.NewErrParamMinLen("VirtualNode", 1)) 8392 } 8393 if s.Weight == nil { 8394 invalidParams.Add(request.NewErrParamRequired("Weight")) 8395 } 8396 8397 if invalidParams.Len() > 0 { 8398 return invalidParams 8399 } 8400 return nil 8401} 8402 8403// SetVirtualNode sets the VirtualNode field's value. 8404func (s *WeightedTarget) SetVirtualNode(v string) *WeightedTarget { 8405 s.VirtualNode = &v 8406 return s 8407} 8408 8409// SetWeight sets the Weight field's value. 8410func (s *WeightedTarget) SetWeight(v int64) *WeightedTarget { 8411 s.Weight = &v 8412 return s 8413} 8414 8415const ( 8416 // EgressFilterTypeAllowAll is a EgressFilterType enum value 8417 EgressFilterTypeAllowAll = "ALLOW_ALL" 8418 8419 // EgressFilterTypeDropAll is a EgressFilterType enum value 8420 EgressFilterTypeDropAll = "DROP_ALL" 8421) 8422 8423const ( 8424 // MeshStatusCodeActive is a MeshStatusCode enum value 8425 MeshStatusCodeActive = "ACTIVE" 8426 8427 // MeshStatusCodeDeleted is a MeshStatusCode enum value 8428 MeshStatusCodeDeleted = "DELETED" 8429 8430 // MeshStatusCodeInactive is a MeshStatusCode enum value 8431 MeshStatusCodeInactive = "INACTIVE" 8432) 8433 8434const ( 8435 // PortProtocolHttp is a PortProtocol enum value 8436 PortProtocolHttp = "http" 8437 8438 // PortProtocolTcp is a PortProtocol enum value 8439 PortProtocolTcp = "tcp" 8440) 8441 8442const ( 8443 // RouteStatusCodeActive is a RouteStatusCode enum value 8444 RouteStatusCodeActive = "ACTIVE" 8445 8446 // RouteStatusCodeDeleted is a RouteStatusCode enum value 8447 RouteStatusCodeDeleted = "DELETED" 8448 8449 // RouteStatusCodeInactive is a RouteStatusCode enum value 8450 RouteStatusCodeInactive = "INACTIVE" 8451) 8452 8453const ( 8454 // VirtualNodeStatusCodeActive is a VirtualNodeStatusCode enum value 8455 VirtualNodeStatusCodeActive = "ACTIVE" 8456 8457 // VirtualNodeStatusCodeDeleted is a VirtualNodeStatusCode enum value 8458 VirtualNodeStatusCodeDeleted = "DELETED" 8459 8460 // VirtualNodeStatusCodeInactive is a VirtualNodeStatusCode enum value 8461 VirtualNodeStatusCodeInactive = "INACTIVE" 8462) 8463 8464const ( 8465 // VirtualRouterStatusCodeActive is a VirtualRouterStatusCode enum value 8466 VirtualRouterStatusCodeActive = "ACTIVE" 8467 8468 // VirtualRouterStatusCodeDeleted is a VirtualRouterStatusCode enum value 8469 VirtualRouterStatusCodeDeleted = "DELETED" 8470 8471 // VirtualRouterStatusCodeInactive is a VirtualRouterStatusCode enum value 8472 VirtualRouterStatusCodeInactive = "INACTIVE" 8473) 8474 8475const ( 8476 // VirtualServiceStatusCodeActive is a VirtualServiceStatusCode enum value 8477 VirtualServiceStatusCodeActive = "ACTIVE" 8478 8479 // VirtualServiceStatusCodeDeleted is a VirtualServiceStatusCode enum value 8480 VirtualServiceStatusCodeDeleted = "DELETED" 8481 8482 // VirtualServiceStatusCodeInactive is a VirtualServiceStatusCode enum value 8483 VirtualServiceStatusCodeInactive = "INACTIVE" 8484) 8485