github.com/aavshr/aws-sdk-go@v1.41.3/service/appmesh/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package appmesh 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/restjson" 14 ) 15 16 const opCreateGatewayRoute = "CreateGatewayRoute" 17 18 // CreateGatewayRouteRequest generates a "aws/request.Request" representing the 19 // client's request for the CreateGatewayRoute 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 CreateGatewayRoute for more information on using the CreateGatewayRoute 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 CreateGatewayRouteRequest method. 34 // req, resp := client.CreateGatewayRouteRequest(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/CreateGatewayRoute 42 func (c *AppMesh) CreateGatewayRouteRequest(input *CreateGatewayRouteInput) (req *request.Request, output *CreateGatewayRouteOutput) { 43 op := &request.Operation{ 44 Name: opCreateGatewayRoute, 45 HTTPMethod: "PUT", 46 HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes", 47 } 48 49 if input == nil { 50 input = &CreateGatewayRouteInput{} 51 } 52 53 output = &CreateGatewayRouteOutput{} 54 req = c.newRequest(op, input, output) 55 return 56 } 57 58 // CreateGatewayRoute API operation for AWS App Mesh. 59 // 60 // Creates a gateway route. 61 // 62 // A gateway route is attached to a virtual gateway and routes traffic to an 63 // existing virtual service. If a route matches a request, it can distribute 64 // traffic to a target virtual service. 65 // 66 // For more information about gateway routes, see Gateway routes (https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html). 67 // 68 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 69 // with awserr.Error's Code and Message methods to get detailed information about 70 // the error. 71 // 72 // See the AWS API reference guide for AWS App Mesh's 73 // API operation CreateGatewayRoute for usage and error information. 74 // 75 // Returned Error Types: 76 // * NotFoundException 77 // The specified resource doesn't exist. Check your request syntax and try again. 78 // 79 // * BadRequestException 80 // The request syntax was malformed. Check your request syntax and try again. 81 // 82 // * ConflictException 83 // The request contains a client token that was used for a previous update resource 84 // call with different specifications. Try the request again with a new client 85 // token. 86 // 87 // * TooManyRequestsException 88 // The maximum request rate permitted by the App Mesh APIs has been exceeded 89 // for your account. For best results, use an increasing or variable sleep interval 90 // between requests. 91 // 92 // * ForbiddenException 93 // You don't have permissions to perform this action. 94 // 95 // * ServiceUnavailableException 96 // The request has failed due to a temporary failure of the service. 97 // 98 // * InternalServerErrorException 99 // The request processing has failed because of an unknown error, exception, 100 // or failure. 101 // 102 // * LimitExceededException 103 // You have exceeded a service limit for your account. For more information, 104 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 105 // in the AWS App Mesh User Guide. 106 // 107 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute 108 func (c *AppMesh) CreateGatewayRoute(input *CreateGatewayRouteInput) (*CreateGatewayRouteOutput, error) { 109 req, out := c.CreateGatewayRouteRequest(input) 110 return out, req.Send() 111 } 112 113 // CreateGatewayRouteWithContext is the same as CreateGatewayRoute with the addition of 114 // the ability to pass a context and additional request options. 115 // 116 // See CreateGatewayRoute for details on how to use this API operation. 117 // 118 // The context must be non-nil and will be used for request cancellation. If 119 // the context is nil a panic will occur. In the future the SDK may create 120 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 121 // for more information on using Contexts. 122 func (c *AppMesh) CreateGatewayRouteWithContext(ctx aws.Context, input *CreateGatewayRouteInput, opts ...request.Option) (*CreateGatewayRouteOutput, error) { 123 req, out := c.CreateGatewayRouteRequest(input) 124 req.SetContext(ctx) 125 req.ApplyOptions(opts...) 126 return out, req.Send() 127 } 128 129 const opCreateMesh = "CreateMesh" 130 131 // CreateMeshRequest generates a "aws/request.Request" representing the 132 // client's request for the CreateMesh operation. The "output" return 133 // value will be populated with the request's response once the request completes 134 // successfully. 135 // 136 // Use "Send" method on the returned Request to send the API call to the service. 137 // the "output" return value is not valid until after Send returns without error. 138 // 139 // See CreateMesh for more information on using the CreateMesh 140 // API call, and error handling. 141 // 142 // This method is useful when you want to inject custom logic or configuration 143 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 144 // 145 // 146 // // Example sending a request using the CreateMeshRequest method. 147 // req, resp := client.CreateMeshRequest(params) 148 // 149 // err := req.Send() 150 // if err == nil { // resp is now filled 151 // fmt.Println(resp) 152 // } 153 // 154 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh 155 func (c *AppMesh) CreateMeshRequest(input *CreateMeshInput) (req *request.Request, output *CreateMeshOutput) { 156 op := &request.Operation{ 157 Name: opCreateMesh, 158 HTTPMethod: "PUT", 159 HTTPPath: "/v20190125/meshes", 160 } 161 162 if input == nil { 163 input = &CreateMeshInput{} 164 } 165 166 output = &CreateMeshOutput{} 167 req = c.newRequest(op, input, output) 168 return 169 } 170 171 // CreateMesh API operation for AWS App Mesh. 172 // 173 // Creates a service mesh. 174 // 175 // A service mesh is a logical boundary for network traffic between services 176 // that are represented by resources within the mesh. After you create your 177 // service mesh, you can create virtual services, virtual nodes, virtual routers, 178 // and routes to distribute traffic between the applications in your mesh. 179 // 180 // For more information about service meshes, see Service meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/meshes.html). 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 CreateMesh for usage and error information. 188 // 189 // Returned Error Types: 190 // * NotFoundException 191 // The specified resource doesn't exist. Check your request syntax and try again. 192 // 193 // * BadRequestException 194 // The request syntax was malformed. Check your request syntax and try again. 195 // 196 // * ConflictException 197 // The request contains a client token that was used for a previous update resource 198 // call with different specifications. Try the request again with a new client 199 // token. 200 // 201 // * TooManyRequestsException 202 // The maximum request rate permitted by the App Mesh APIs has been exceeded 203 // for your account. For best results, use an increasing or variable sleep interval 204 // between requests. 205 // 206 // * ForbiddenException 207 // You don't have permissions to perform this action. 208 // 209 // * ServiceUnavailableException 210 // The request has failed due to a temporary failure of the service. 211 // 212 // * InternalServerErrorException 213 // The request processing has failed because of an unknown error, exception, 214 // or failure. 215 // 216 // * LimitExceededException 217 // You have exceeded a service limit for your account. For more information, 218 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 219 // in the AWS App Mesh User Guide. 220 // 221 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh 222 func (c *AppMesh) CreateMesh(input *CreateMeshInput) (*CreateMeshOutput, error) { 223 req, out := c.CreateMeshRequest(input) 224 return out, req.Send() 225 } 226 227 // CreateMeshWithContext is the same as CreateMesh with the addition of 228 // the ability to pass a context and additional request options. 229 // 230 // See CreateMesh 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. 236 func (c *AppMesh) CreateMeshWithContext(ctx aws.Context, input *CreateMeshInput, opts ...request.Option) (*CreateMeshOutput, error) { 237 req, out := c.CreateMeshRequest(input) 238 req.SetContext(ctx) 239 req.ApplyOptions(opts...) 240 return out, req.Send() 241 } 242 243 const opCreateRoute = "CreateRoute" 244 245 // CreateRouteRequest generates a "aws/request.Request" representing the 246 // client's request for the CreateRoute 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 CreateRoute for more information on using the CreateRoute 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 CreateRouteRequest method. 261 // req, resp := client.CreateRouteRequest(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/CreateRoute 269 func (c *AppMesh) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) { 270 op := &request.Operation{ 271 Name: opCreateRoute, 272 HTTPMethod: "PUT", 273 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", 274 } 275 276 if input == nil { 277 input = &CreateRouteInput{} 278 } 279 280 output = &CreateRouteOutput{} 281 req = c.newRequest(op, input, output) 282 return 283 } 284 285 // CreateRoute API operation for AWS App Mesh. 286 // 287 // Creates a route that is associated with a virtual router. 288 // 289 // You can route several different protocols and define a retry policy for a 290 // route. Traffic can be routed to one or more virtual nodes. 291 // 292 // For more information about routes, see Routes (https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html). 293 // 294 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 295 // with awserr.Error's Code and Message methods to get detailed information about 296 // the error. 297 // 298 // See the AWS API reference guide for AWS App Mesh's 299 // API operation CreateRoute for usage and error information. 300 // 301 // Returned Error Types: 302 // * NotFoundException 303 // The specified resource doesn't exist. Check your request syntax and try again. 304 // 305 // * BadRequestException 306 // The request syntax was malformed. Check your request syntax and try again. 307 // 308 // * ConflictException 309 // The request contains a client token that was used for a previous update resource 310 // call with different specifications. Try the request again with a new client 311 // token. 312 // 313 // * TooManyRequestsException 314 // The maximum request rate permitted by the App Mesh APIs has been exceeded 315 // for your account. For best results, use an increasing or variable sleep interval 316 // between requests. 317 // 318 // * ForbiddenException 319 // You don't have permissions to perform this action. 320 // 321 // * ServiceUnavailableException 322 // The request has failed due to a temporary failure of the service. 323 // 324 // * InternalServerErrorException 325 // The request processing has failed because of an unknown error, exception, 326 // or failure. 327 // 328 // * LimitExceededException 329 // You have exceeded a service limit for your account. For more information, 330 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 331 // in the AWS App Mesh User Guide. 332 // 333 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRoute 334 func (c *AppMesh) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) { 335 req, out := c.CreateRouteRequest(input) 336 return out, req.Send() 337 } 338 339 // CreateRouteWithContext is the same as CreateRoute with the addition of 340 // the ability to pass a context and additional request options. 341 // 342 // See CreateRoute for details on how to use this API operation. 343 // 344 // The context must be non-nil and will be used for request cancellation. If 345 // the context is nil a panic will occur. In the future the SDK may create 346 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 347 // for more information on using Contexts. 348 func (c *AppMesh) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) { 349 req, out := c.CreateRouteRequest(input) 350 req.SetContext(ctx) 351 req.ApplyOptions(opts...) 352 return out, req.Send() 353 } 354 355 const opCreateVirtualGateway = "CreateVirtualGateway" 356 357 // CreateVirtualGatewayRequest generates a "aws/request.Request" representing the 358 // client's request for the CreateVirtualGateway operation. The "output" return 359 // value will be populated with the request's response once the request completes 360 // successfully. 361 // 362 // Use "Send" method on the returned Request to send the API call to the service. 363 // the "output" return value is not valid until after Send returns without error. 364 // 365 // See CreateVirtualGateway for more information on using the CreateVirtualGateway 366 // API call, and error handling. 367 // 368 // This method is useful when you want to inject custom logic or configuration 369 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 370 // 371 // 372 // // Example sending a request using the CreateVirtualGatewayRequest method. 373 // req, resp := client.CreateVirtualGatewayRequest(params) 374 // 375 // err := req.Send() 376 // if err == nil { // resp is now filled 377 // fmt.Println(resp) 378 // } 379 // 380 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway 381 func (c *AppMesh) CreateVirtualGatewayRequest(input *CreateVirtualGatewayInput) (req *request.Request, output *CreateVirtualGatewayOutput) { 382 op := &request.Operation{ 383 Name: opCreateVirtualGateway, 384 HTTPMethod: "PUT", 385 HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways", 386 } 387 388 if input == nil { 389 input = &CreateVirtualGatewayInput{} 390 } 391 392 output = &CreateVirtualGatewayOutput{} 393 req = c.newRequest(op, input, output) 394 return 395 } 396 397 // CreateVirtualGateway API operation for AWS App Mesh. 398 // 399 // Creates a virtual gateway. 400 // 401 // A virtual gateway allows resources outside your mesh to communicate to resources 402 // that are inside your mesh. The virtual gateway represents an Envoy proxy 403 // running in an Amazon ECS task, in a Kubernetes service, or on an Amazon EC2 404 // instance. Unlike a virtual node, which represents an Envoy running with an 405 // application, a virtual gateway represents Envoy deployed by itself. 406 // 407 // For more information about virtual gateways, see Virtual gateways (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html). 408 // 409 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 410 // with awserr.Error's Code and Message methods to get detailed information about 411 // the error. 412 // 413 // See the AWS API reference guide for AWS App Mesh's 414 // API operation CreateVirtualGateway for usage and error information. 415 // 416 // Returned Error Types: 417 // * NotFoundException 418 // The specified resource doesn't exist. Check your request syntax and try again. 419 // 420 // * BadRequestException 421 // The request syntax was malformed. Check your request syntax and try again. 422 // 423 // * ConflictException 424 // The request contains a client token that was used for a previous update resource 425 // call with different specifications. Try the request again with a new client 426 // token. 427 // 428 // * TooManyRequestsException 429 // The maximum request rate permitted by the App Mesh APIs has been exceeded 430 // for your account. For best results, use an increasing or variable sleep interval 431 // between requests. 432 // 433 // * ForbiddenException 434 // You don't have permissions to perform this action. 435 // 436 // * ServiceUnavailableException 437 // The request has failed due to a temporary failure of the service. 438 // 439 // * InternalServerErrorException 440 // The request processing has failed because of an unknown error, exception, 441 // or failure. 442 // 443 // * LimitExceededException 444 // You have exceeded a service limit for your account. For more information, 445 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 446 // in the AWS App Mesh User Guide. 447 // 448 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway 449 func (c *AppMesh) CreateVirtualGateway(input *CreateVirtualGatewayInput) (*CreateVirtualGatewayOutput, error) { 450 req, out := c.CreateVirtualGatewayRequest(input) 451 return out, req.Send() 452 } 453 454 // CreateVirtualGatewayWithContext is the same as CreateVirtualGateway with the addition of 455 // the ability to pass a context and additional request options. 456 // 457 // See CreateVirtualGateway for details on how to use this API operation. 458 // 459 // The context must be non-nil and will be used for request cancellation. If 460 // the context is nil a panic will occur. In the future the SDK may create 461 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 462 // for more information on using Contexts. 463 func (c *AppMesh) CreateVirtualGatewayWithContext(ctx aws.Context, input *CreateVirtualGatewayInput, opts ...request.Option) (*CreateVirtualGatewayOutput, error) { 464 req, out := c.CreateVirtualGatewayRequest(input) 465 req.SetContext(ctx) 466 req.ApplyOptions(opts...) 467 return out, req.Send() 468 } 469 470 const opCreateVirtualNode = "CreateVirtualNode" 471 472 // CreateVirtualNodeRequest generates a "aws/request.Request" representing the 473 // client's request for the CreateVirtualNode operation. The "output" return 474 // value will be populated with the request's response once the request completes 475 // successfully. 476 // 477 // Use "Send" method on the returned Request to send the API call to the service. 478 // the "output" return value is not valid until after Send returns without error. 479 // 480 // See CreateVirtualNode for more information on using the CreateVirtualNode 481 // API call, and error handling. 482 // 483 // This method is useful when you want to inject custom logic or configuration 484 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 485 // 486 // 487 // // Example sending a request using the CreateVirtualNodeRequest method. 488 // req, resp := client.CreateVirtualNodeRequest(params) 489 // 490 // err := req.Send() 491 // if err == nil { // resp is now filled 492 // fmt.Println(resp) 493 // } 494 // 495 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode 496 func (c *AppMesh) CreateVirtualNodeRequest(input *CreateVirtualNodeInput) (req *request.Request, output *CreateVirtualNodeOutput) { 497 op := &request.Operation{ 498 Name: opCreateVirtualNode, 499 HTTPMethod: "PUT", 500 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes", 501 } 502 503 if input == nil { 504 input = &CreateVirtualNodeInput{} 505 } 506 507 output = &CreateVirtualNodeOutput{} 508 req = c.newRequest(op, input, output) 509 return 510 } 511 512 // CreateVirtualNode API operation for AWS App Mesh. 513 // 514 // Creates a virtual node within a service mesh. 515 // 516 // A virtual node acts as a logical pointer to a particular task group, such 517 // as an Amazon ECS service or a Kubernetes deployment. When you create a virtual 518 // node, you can specify the service discovery information for your task group, 519 // and whether the proxy running in a task group will communicate with other 520 // proxies using Transport Layer Security (TLS). 521 // 522 // You define a listener for any inbound traffic that your virtual node expects. 523 // Any virtual service that your virtual node expects to communicate to is specified 524 // as a backend. 525 // 526 // The response metadata for your new virtual node contains the arn that is 527 // associated with the virtual node. Set this value to the full ARN; for example, 528 // arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp) 529 // as the APPMESH_RESOURCE_ARN environment variable for your task group's Envoy 530 // proxy container in your task definition or pod spec. This is then mapped 531 // to the node.id and node.cluster Envoy parameters. 532 // 533 // By default, App Mesh uses the name of the resource you specified in APPMESH_RESOURCE_ARN 534 // when Envoy is referring to itself in metrics and traces. You can override 535 // this behavior by setting the APPMESH_RESOURCE_CLUSTER environment variable 536 // with your own name. 537 // 538 // For more information about virtual nodes, see Virtual nodes (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html). 539 // You must be using 1.15.0 or later of the Envoy image when setting these variables. 540 // For more information aboutApp Mesh Envoy variables, see Envoy image (https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html) 541 // in the AWS App Mesh User Guide. 542 // 543 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 544 // with awserr.Error's Code and Message methods to get detailed information about 545 // the error. 546 // 547 // See the AWS API reference guide for AWS App Mesh's 548 // API operation CreateVirtualNode for usage and error information. 549 // 550 // Returned Error Types: 551 // * NotFoundException 552 // The specified resource doesn't exist. Check your request syntax and try again. 553 // 554 // * BadRequestException 555 // The request syntax was malformed. Check your request syntax and try again. 556 // 557 // * ConflictException 558 // The request contains a client token that was used for a previous update resource 559 // call with different specifications. Try the request again with a new client 560 // token. 561 // 562 // * TooManyRequestsException 563 // The maximum request rate permitted by the App Mesh APIs has been exceeded 564 // for your account. For best results, use an increasing or variable sleep interval 565 // between requests. 566 // 567 // * ForbiddenException 568 // You don't have permissions to perform this action. 569 // 570 // * ServiceUnavailableException 571 // The request has failed due to a temporary failure of the service. 572 // 573 // * InternalServerErrorException 574 // The request processing has failed because of an unknown error, exception, 575 // or failure. 576 // 577 // * LimitExceededException 578 // You have exceeded a service limit for your account. For more information, 579 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 580 // in the AWS App Mesh User Guide. 581 // 582 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode 583 func (c *AppMesh) CreateVirtualNode(input *CreateVirtualNodeInput) (*CreateVirtualNodeOutput, error) { 584 req, out := c.CreateVirtualNodeRequest(input) 585 return out, req.Send() 586 } 587 588 // CreateVirtualNodeWithContext is the same as CreateVirtualNode with the addition of 589 // the ability to pass a context and additional request options. 590 // 591 // See CreateVirtualNode for details on how to use this API operation. 592 // 593 // The context must be non-nil and will be used for request cancellation. If 594 // the context is nil a panic will occur. In the future the SDK may create 595 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 596 // for more information on using Contexts. 597 func (c *AppMesh) CreateVirtualNodeWithContext(ctx aws.Context, input *CreateVirtualNodeInput, opts ...request.Option) (*CreateVirtualNodeOutput, error) { 598 req, out := c.CreateVirtualNodeRequest(input) 599 req.SetContext(ctx) 600 req.ApplyOptions(opts...) 601 return out, req.Send() 602 } 603 604 const opCreateVirtualRouter = "CreateVirtualRouter" 605 606 // CreateVirtualRouterRequest generates a "aws/request.Request" representing the 607 // client's request for the CreateVirtualRouter operation. The "output" return 608 // value will be populated with the request's response once the request completes 609 // successfully. 610 // 611 // Use "Send" method on the returned Request to send the API call to the service. 612 // the "output" return value is not valid until after Send returns without error. 613 // 614 // See CreateVirtualRouter for more information on using the CreateVirtualRouter 615 // API call, and error handling. 616 // 617 // This method is useful when you want to inject custom logic or configuration 618 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 619 // 620 // 621 // // Example sending a request using the CreateVirtualRouterRequest method. 622 // req, resp := client.CreateVirtualRouterRequest(params) 623 // 624 // err := req.Send() 625 // if err == nil { // resp is now filled 626 // fmt.Println(resp) 627 // } 628 // 629 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter 630 func (c *AppMesh) CreateVirtualRouterRequest(input *CreateVirtualRouterInput) (req *request.Request, output *CreateVirtualRouterOutput) { 631 op := &request.Operation{ 632 Name: opCreateVirtualRouter, 633 HTTPMethod: "PUT", 634 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters", 635 } 636 637 if input == nil { 638 input = &CreateVirtualRouterInput{} 639 } 640 641 output = &CreateVirtualRouterOutput{} 642 req = c.newRequest(op, input, output) 643 return 644 } 645 646 // CreateVirtualRouter API operation for AWS App Mesh. 647 // 648 // Creates a virtual router within a service mesh. 649 // 650 // Specify a listener for any inbound traffic that your virtual router receives. 651 // Create a virtual router for each protocol and port that you need to route. 652 // Virtual routers handle traffic for one or more virtual services within your 653 // mesh. After you create your virtual router, create and associate routes for 654 // your virtual router that direct incoming requests to different virtual nodes. 655 // 656 // For more information about virtual routers, see Virtual routers (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_routers.html). 657 // 658 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 659 // with awserr.Error's Code and Message methods to get detailed information about 660 // the error. 661 // 662 // See the AWS API reference guide for AWS App Mesh's 663 // API operation CreateVirtualRouter for usage and error information. 664 // 665 // Returned Error Types: 666 // * NotFoundException 667 // The specified resource doesn't exist. Check your request syntax and try again. 668 // 669 // * BadRequestException 670 // The request syntax was malformed. Check your request syntax and try again. 671 // 672 // * ConflictException 673 // The request contains a client token that was used for a previous update resource 674 // call with different specifications. Try the request again with a new client 675 // token. 676 // 677 // * TooManyRequestsException 678 // The maximum request rate permitted by the App Mesh APIs has been exceeded 679 // for your account. For best results, use an increasing or variable sleep interval 680 // between requests. 681 // 682 // * ForbiddenException 683 // You don't have permissions to perform this action. 684 // 685 // * ServiceUnavailableException 686 // The request has failed due to a temporary failure of the service. 687 // 688 // * InternalServerErrorException 689 // The request processing has failed because of an unknown error, exception, 690 // or failure. 691 // 692 // * LimitExceededException 693 // You have exceeded a service limit for your account. For more information, 694 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 695 // in the AWS App Mesh User Guide. 696 // 697 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter 698 func (c *AppMesh) CreateVirtualRouter(input *CreateVirtualRouterInput) (*CreateVirtualRouterOutput, error) { 699 req, out := c.CreateVirtualRouterRequest(input) 700 return out, req.Send() 701 } 702 703 // CreateVirtualRouterWithContext is the same as CreateVirtualRouter with the addition of 704 // the ability to pass a context and additional request options. 705 // 706 // See CreateVirtualRouter for details on how to use this API operation. 707 // 708 // The context must be non-nil and will be used for request cancellation. If 709 // the context is nil a panic will occur. In the future the SDK may create 710 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 711 // for more information on using Contexts. 712 func (c *AppMesh) CreateVirtualRouterWithContext(ctx aws.Context, input *CreateVirtualRouterInput, opts ...request.Option) (*CreateVirtualRouterOutput, error) { 713 req, out := c.CreateVirtualRouterRequest(input) 714 req.SetContext(ctx) 715 req.ApplyOptions(opts...) 716 return out, req.Send() 717 } 718 719 const opCreateVirtualService = "CreateVirtualService" 720 721 // CreateVirtualServiceRequest generates a "aws/request.Request" representing the 722 // client's request for the CreateVirtualService operation. The "output" return 723 // value will be populated with the request's response once the request completes 724 // successfully. 725 // 726 // Use "Send" method on the returned Request to send the API call to the service. 727 // the "output" return value is not valid until after Send returns without error. 728 // 729 // See CreateVirtualService for more information on using the CreateVirtualService 730 // API call, and error handling. 731 // 732 // This method is useful when you want to inject custom logic or configuration 733 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 734 // 735 // 736 // // Example sending a request using the CreateVirtualServiceRequest method. 737 // req, resp := client.CreateVirtualServiceRequest(params) 738 // 739 // err := req.Send() 740 // if err == nil { // resp is now filled 741 // fmt.Println(resp) 742 // } 743 // 744 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService 745 func (c *AppMesh) CreateVirtualServiceRequest(input *CreateVirtualServiceInput) (req *request.Request, output *CreateVirtualServiceOutput) { 746 op := &request.Operation{ 747 Name: opCreateVirtualService, 748 HTTPMethod: "PUT", 749 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices", 750 } 751 752 if input == nil { 753 input = &CreateVirtualServiceInput{} 754 } 755 756 output = &CreateVirtualServiceOutput{} 757 req = c.newRequest(op, input, output) 758 return 759 } 760 761 // CreateVirtualService API operation for AWS App Mesh. 762 // 763 // Creates a virtual service within a service mesh. 764 // 765 // A virtual service is an abstraction of a real service that is provided by 766 // a virtual node directly or indirectly by means of a virtual router. Dependent 767 // services call your virtual service by its virtualServiceName, and those requests 768 // are routed to the virtual node or virtual router that is specified as the 769 // provider for the virtual service. 770 // 771 // For more information about virtual services, see Virtual services (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html). 772 // 773 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 774 // with awserr.Error's Code and Message methods to get detailed information about 775 // the error. 776 // 777 // See the AWS API reference guide for AWS App Mesh's 778 // API operation CreateVirtualService for usage and error information. 779 // 780 // Returned Error Types: 781 // * NotFoundException 782 // The specified resource doesn't exist. Check your request syntax and try again. 783 // 784 // * BadRequestException 785 // The request syntax was malformed. Check your request syntax and try again. 786 // 787 // * ConflictException 788 // The request contains a client token that was used for a previous update resource 789 // call with different specifications. Try the request again with a new client 790 // token. 791 // 792 // * TooManyRequestsException 793 // The maximum request rate permitted by the App Mesh APIs has been exceeded 794 // for your account. For best results, use an increasing or variable sleep interval 795 // between requests. 796 // 797 // * ForbiddenException 798 // You don't have permissions to perform this action. 799 // 800 // * ServiceUnavailableException 801 // The request has failed due to a temporary failure of the service. 802 // 803 // * InternalServerErrorException 804 // The request processing has failed because of an unknown error, exception, 805 // or failure. 806 // 807 // * LimitExceededException 808 // You have exceeded a service limit for your account. For more information, 809 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 810 // in the AWS App Mesh User Guide. 811 // 812 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService 813 func (c *AppMesh) CreateVirtualService(input *CreateVirtualServiceInput) (*CreateVirtualServiceOutput, error) { 814 req, out := c.CreateVirtualServiceRequest(input) 815 return out, req.Send() 816 } 817 818 // CreateVirtualServiceWithContext is the same as CreateVirtualService with the addition of 819 // the ability to pass a context and additional request options. 820 // 821 // See CreateVirtualService for details on how to use this API operation. 822 // 823 // The context must be non-nil and will be used for request cancellation. If 824 // the context is nil a panic will occur. In the future the SDK may create 825 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 826 // for more information on using Contexts. 827 func (c *AppMesh) CreateVirtualServiceWithContext(ctx aws.Context, input *CreateVirtualServiceInput, opts ...request.Option) (*CreateVirtualServiceOutput, error) { 828 req, out := c.CreateVirtualServiceRequest(input) 829 req.SetContext(ctx) 830 req.ApplyOptions(opts...) 831 return out, req.Send() 832 } 833 834 const opDeleteGatewayRoute = "DeleteGatewayRoute" 835 836 // DeleteGatewayRouteRequest generates a "aws/request.Request" representing the 837 // client's request for the DeleteGatewayRoute operation. The "output" return 838 // value will be populated with the request's response once the request completes 839 // successfully. 840 // 841 // Use "Send" method on the returned Request to send the API call to the service. 842 // the "output" return value is not valid until after Send returns without error. 843 // 844 // See DeleteGatewayRoute for more information on using the DeleteGatewayRoute 845 // API call, and error handling. 846 // 847 // This method is useful when you want to inject custom logic or configuration 848 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 849 // 850 // 851 // // Example sending a request using the DeleteGatewayRouteRequest method. 852 // req, resp := client.DeleteGatewayRouteRequest(params) 853 // 854 // err := req.Send() 855 // if err == nil { // resp is now filled 856 // fmt.Println(resp) 857 // } 858 // 859 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute 860 func (c *AppMesh) DeleteGatewayRouteRequest(input *DeleteGatewayRouteInput) (req *request.Request, output *DeleteGatewayRouteOutput) { 861 op := &request.Operation{ 862 Name: opDeleteGatewayRoute, 863 HTTPMethod: "DELETE", 864 HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", 865 } 866 867 if input == nil { 868 input = &DeleteGatewayRouteInput{} 869 } 870 871 output = &DeleteGatewayRouteOutput{} 872 req = c.newRequest(op, input, output) 873 return 874 } 875 876 // DeleteGatewayRoute API operation for AWS App Mesh. 877 // 878 // Deletes an existing gateway route. 879 // 880 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 881 // with awserr.Error's Code and Message methods to get detailed information about 882 // the error. 883 // 884 // See the AWS API reference guide for AWS App Mesh's 885 // API operation DeleteGatewayRoute for usage and error information. 886 // 887 // Returned Error Types: 888 // * NotFoundException 889 // The specified resource doesn't exist. Check your request syntax and try again. 890 // 891 // * BadRequestException 892 // The request syntax was malformed. Check your request syntax and try again. 893 // 894 // * TooManyRequestsException 895 // The maximum request rate permitted by the App Mesh APIs has been exceeded 896 // for your account. For best results, use an increasing or variable sleep interval 897 // between requests. 898 // 899 // * ForbiddenException 900 // You don't have permissions to perform this action. 901 // 902 // * ResourceInUseException 903 // You can't delete the specified resource because it's in use or required by 904 // another resource. 905 // 906 // * ServiceUnavailableException 907 // The request has failed due to a temporary failure of the service. 908 // 909 // * InternalServerErrorException 910 // The request processing has failed because of an unknown error, exception, 911 // or failure. 912 // 913 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute 914 func (c *AppMesh) DeleteGatewayRoute(input *DeleteGatewayRouteInput) (*DeleteGatewayRouteOutput, error) { 915 req, out := c.DeleteGatewayRouteRequest(input) 916 return out, req.Send() 917 } 918 919 // DeleteGatewayRouteWithContext is the same as DeleteGatewayRoute with the addition of 920 // the ability to pass a context and additional request options. 921 // 922 // See DeleteGatewayRoute for details on how to use this API operation. 923 // 924 // The context must be non-nil and will be used for request cancellation. If 925 // the context is nil a panic will occur. In the future the SDK may create 926 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 927 // for more information on using Contexts. 928 func (c *AppMesh) DeleteGatewayRouteWithContext(ctx aws.Context, input *DeleteGatewayRouteInput, opts ...request.Option) (*DeleteGatewayRouteOutput, error) { 929 req, out := c.DeleteGatewayRouteRequest(input) 930 req.SetContext(ctx) 931 req.ApplyOptions(opts...) 932 return out, req.Send() 933 } 934 935 const opDeleteMesh = "DeleteMesh" 936 937 // DeleteMeshRequest generates a "aws/request.Request" representing the 938 // client's request for the DeleteMesh operation. The "output" return 939 // value will be populated with the request's response once the request completes 940 // successfully. 941 // 942 // Use "Send" method on the returned Request to send the API call to the service. 943 // the "output" return value is not valid until after Send returns without error. 944 // 945 // See DeleteMesh for more information on using the DeleteMesh 946 // API call, and error handling. 947 // 948 // This method is useful when you want to inject custom logic or configuration 949 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 950 // 951 // 952 // // Example sending a request using the DeleteMeshRequest method. 953 // req, resp := client.DeleteMeshRequest(params) 954 // 955 // err := req.Send() 956 // if err == nil { // resp is now filled 957 // fmt.Println(resp) 958 // } 959 // 960 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh 961 func (c *AppMesh) DeleteMeshRequest(input *DeleteMeshInput) (req *request.Request, output *DeleteMeshOutput) { 962 op := &request.Operation{ 963 Name: opDeleteMesh, 964 HTTPMethod: "DELETE", 965 HTTPPath: "/v20190125/meshes/{meshName}", 966 } 967 968 if input == nil { 969 input = &DeleteMeshInput{} 970 } 971 972 output = &DeleteMeshOutput{} 973 req = c.newRequest(op, input, output) 974 return 975 } 976 977 // DeleteMesh API operation for AWS App Mesh. 978 // 979 // Deletes an existing service mesh. 980 // 981 // You must delete all resources (virtual services, routes, virtual routers, 982 // and virtual nodes) in the service mesh before you can delete the mesh itself. 983 // 984 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 985 // with awserr.Error's Code and Message methods to get detailed information about 986 // the error. 987 // 988 // See the AWS API reference guide for AWS App Mesh's 989 // API operation DeleteMesh for usage and error information. 990 // 991 // Returned Error Types: 992 // * NotFoundException 993 // The specified resource doesn't exist. Check your request syntax and try again. 994 // 995 // * BadRequestException 996 // The request syntax was malformed. Check your request syntax and try again. 997 // 998 // * TooManyRequestsException 999 // The maximum request rate permitted by the App Mesh APIs has been exceeded 1000 // for your account. For best results, use an increasing or variable sleep interval 1001 // between requests. 1002 // 1003 // * ForbiddenException 1004 // You don't have permissions to perform this action. 1005 // 1006 // * ResourceInUseException 1007 // You can't delete the specified resource because it's in use or required by 1008 // another resource. 1009 // 1010 // * ServiceUnavailableException 1011 // The request has failed due to a temporary failure of the service. 1012 // 1013 // * InternalServerErrorException 1014 // The request processing has failed because of an unknown error, exception, 1015 // or failure. 1016 // 1017 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh 1018 func (c *AppMesh) DeleteMesh(input *DeleteMeshInput) (*DeleteMeshOutput, error) { 1019 req, out := c.DeleteMeshRequest(input) 1020 return out, req.Send() 1021 } 1022 1023 // DeleteMeshWithContext is the same as DeleteMesh with the addition of 1024 // the ability to pass a context and additional request options. 1025 // 1026 // See DeleteMesh for details on how to use this API operation. 1027 // 1028 // The context must be non-nil and will be used for request cancellation. If 1029 // the context is nil a panic will occur. In the future the SDK may create 1030 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1031 // for more information on using Contexts. 1032 func (c *AppMesh) DeleteMeshWithContext(ctx aws.Context, input *DeleteMeshInput, opts ...request.Option) (*DeleteMeshOutput, error) { 1033 req, out := c.DeleteMeshRequest(input) 1034 req.SetContext(ctx) 1035 req.ApplyOptions(opts...) 1036 return out, req.Send() 1037 } 1038 1039 const opDeleteRoute = "DeleteRoute" 1040 1041 // DeleteRouteRequest generates a "aws/request.Request" representing the 1042 // client's request for the DeleteRoute operation. The "output" return 1043 // value will be populated with the request's response once the request completes 1044 // successfully. 1045 // 1046 // Use "Send" method on the returned Request to send the API call to the service. 1047 // the "output" return value is not valid until after Send returns without error. 1048 // 1049 // See DeleteRoute for more information on using the DeleteRoute 1050 // API call, and error handling. 1051 // 1052 // This method is useful when you want to inject custom logic or configuration 1053 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1054 // 1055 // 1056 // // Example sending a request using the DeleteRouteRequest method. 1057 // req, resp := client.DeleteRouteRequest(params) 1058 // 1059 // err := req.Send() 1060 // if err == nil { // resp is now filled 1061 // fmt.Println(resp) 1062 // } 1063 // 1064 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute 1065 func (c *AppMesh) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) { 1066 op := &request.Operation{ 1067 Name: opDeleteRoute, 1068 HTTPMethod: "DELETE", 1069 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", 1070 } 1071 1072 if input == nil { 1073 input = &DeleteRouteInput{} 1074 } 1075 1076 output = &DeleteRouteOutput{} 1077 req = c.newRequest(op, input, output) 1078 return 1079 } 1080 1081 // DeleteRoute API operation for AWS App Mesh. 1082 // 1083 // Deletes an existing route. 1084 // 1085 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1086 // with awserr.Error's Code and Message methods to get detailed information about 1087 // the error. 1088 // 1089 // See the AWS API reference guide for AWS App Mesh's 1090 // API operation DeleteRoute for usage and error information. 1091 // 1092 // Returned Error Types: 1093 // * NotFoundException 1094 // The specified resource doesn't exist. Check your request syntax and try again. 1095 // 1096 // * BadRequestException 1097 // The request syntax was malformed. Check your request syntax and try again. 1098 // 1099 // * TooManyRequestsException 1100 // The maximum request rate permitted by the App Mesh APIs has been exceeded 1101 // for your account. For best results, use an increasing or variable sleep interval 1102 // between requests. 1103 // 1104 // * ForbiddenException 1105 // You don't have permissions to perform this action. 1106 // 1107 // * ResourceInUseException 1108 // You can't delete the specified resource because it's in use or required by 1109 // another resource. 1110 // 1111 // * ServiceUnavailableException 1112 // The request has failed due to a temporary failure of the service. 1113 // 1114 // * InternalServerErrorException 1115 // The request processing has failed because of an unknown error, exception, 1116 // or failure. 1117 // 1118 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute 1119 func (c *AppMesh) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) { 1120 req, out := c.DeleteRouteRequest(input) 1121 return out, req.Send() 1122 } 1123 1124 // DeleteRouteWithContext is the same as DeleteRoute with the addition of 1125 // the ability to pass a context and additional request options. 1126 // 1127 // See DeleteRoute for details on how to use this API operation. 1128 // 1129 // The context must be non-nil and will be used for request cancellation. If 1130 // the context is nil a panic will occur. In the future the SDK may create 1131 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1132 // for more information on using Contexts. 1133 func (c *AppMesh) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) { 1134 req, out := c.DeleteRouteRequest(input) 1135 req.SetContext(ctx) 1136 req.ApplyOptions(opts...) 1137 return out, req.Send() 1138 } 1139 1140 const opDeleteVirtualGateway = "DeleteVirtualGateway" 1141 1142 // DeleteVirtualGatewayRequest generates a "aws/request.Request" representing the 1143 // client's request for the DeleteVirtualGateway operation. The "output" return 1144 // value will be populated with the request's response once the request completes 1145 // successfully. 1146 // 1147 // Use "Send" method on the returned Request to send the API call to the service. 1148 // the "output" return value is not valid until after Send returns without error. 1149 // 1150 // See DeleteVirtualGateway for more information on using the DeleteVirtualGateway 1151 // API call, and error handling. 1152 // 1153 // This method is useful when you want to inject custom logic or configuration 1154 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1155 // 1156 // 1157 // // Example sending a request using the DeleteVirtualGatewayRequest method. 1158 // req, resp := client.DeleteVirtualGatewayRequest(params) 1159 // 1160 // err := req.Send() 1161 // if err == nil { // resp is now filled 1162 // fmt.Println(resp) 1163 // } 1164 // 1165 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway 1166 func (c *AppMesh) DeleteVirtualGatewayRequest(input *DeleteVirtualGatewayInput) (req *request.Request, output *DeleteVirtualGatewayOutput) { 1167 op := &request.Operation{ 1168 Name: opDeleteVirtualGateway, 1169 HTTPMethod: "DELETE", 1170 HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", 1171 } 1172 1173 if input == nil { 1174 input = &DeleteVirtualGatewayInput{} 1175 } 1176 1177 output = &DeleteVirtualGatewayOutput{} 1178 req = c.newRequest(op, input, output) 1179 return 1180 } 1181 1182 // DeleteVirtualGateway API operation for AWS App Mesh. 1183 // 1184 // Deletes an existing virtual gateway. You cannot delete a virtual gateway 1185 // if any gateway routes are associated to it. 1186 // 1187 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1188 // with awserr.Error's Code and Message methods to get detailed information about 1189 // the error. 1190 // 1191 // See the AWS API reference guide for AWS App Mesh's 1192 // API operation DeleteVirtualGateway for usage and error information. 1193 // 1194 // Returned Error Types: 1195 // * NotFoundException 1196 // The specified resource doesn't exist. Check your request syntax and try again. 1197 // 1198 // * BadRequestException 1199 // The request syntax was malformed. Check your request syntax and try again. 1200 // 1201 // * TooManyRequestsException 1202 // The maximum request rate permitted by the App Mesh APIs has been exceeded 1203 // for your account. For best results, use an increasing or variable sleep interval 1204 // between requests. 1205 // 1206 // * ForbiddenException 1207 // You don't have permissions to perform this action. 1208 // 1209 // * ResourceInUseException 1210 // You can't delete the specified resource because it's in use or required by 1211 // another resource. 1212 // 1213 // * ServiceUnavailableException 1214 // The request has failed due to a temporary failure of the service. 1215 // 1216 // * InternalServerErrorException 1217 // The request processing has failed because of an unknown error, exception, 1218 // or failure. 1219 // 1220 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway 1221 func (c *AppMesh) DeleteVirtualGateway(input *DeleteVirtualGatewayInput) (*DeleteVirtualGatewayOutput, error) { 1222 req, out := c.DeleteVirtualGatewayRequest(input) 1223 return out, req.Send() 1224 } 1225 1226 // DeleteVirtualGatewayWithContext is the same as DeleteVirtualGateway with the addition of 1227 // the ability to pass a context and additional request options. 1228 // 1229 // See DeleteVirtualGateway for details on how to use this API operation. 1230 // 1231 // The context must be non-nil and will be used for request cancellation. If 1232 // the context is nil a panic will occur. In the future the SDK may create 1233 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1234 // for more information on using Contexts. 1235 func (c *AppMesh) DeleteVirtualGatewayWithContext(ctx aws.Context, input *DeleteVirtualGatewayInput, opts ...request.Option) (*DeleteVirtualGatewayOutput, error) { 1236 req, out := c.DeleteVirtualGatewayRequest(input) 1237 req.SetContext(ctx) 1238 req.ApplyOptions(opts...) 1239 return out, req.Send() 1240 } 1241 1242 const opDeleteVirtualNode = "DeleteVirtualNode" 1243 1244 // DeleteVirtualNodeRequest generates a "aws/request.Request" representing the 1245 // client's request for the DeleteVirtualNode operation. The "output" return 1246 // value will be populated with the request's response once the request completes 1247 // successfully. 1248 // 1249 // Use "Send" method on the returned Request to send the API call to the service. 1250 // the "output" return value is not valid until after Send returns without error. 1251 // 1252 // See DeleteVirtualNode for more information on using the DeleteVirtualNode 1253 // API call, and error handling. 1254 // 1255 // This method is useful when you want to inject custom logic or configuration 1256 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1257 // 1258 // 1259 // // Example sending a request using the DeleteVirtualNodeRequest method. 1260 // req, resp := client.DeleteVirtualNodeRequest(params) 1261 // 1262 // err := req.Send() 1263 // if err == nil { // resp is now filled 1264 // fmt.Println(resp) 1265 // } 1266 // 1267 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode 1268 func (c *AppMesh) DeleteVirtualNodeRequest(input *DeleteVirtualNodeInput) (req *request.Request, output *DeleteVirtualNodeOutput) { 1269 op := &request.Operation{ 1270 Name: opDeleteVirtualNode, 1271 HTTPMethod: "DELETE", 1272 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", 1273 } 1274 1275 if input == nil { 1276 input = &DeleteVirtualNodeInput{} 1277 } 1278 1279 output = &DeleteVirtualNodeOutput{} 1280 req = c.newRequest(op, input, output) 1281 return 1282 } 1283 1284 // DeleteVirtualNode API operation for AWS App Mesh. 1285 // 1286 // Deletes an existing virtual node. 1287 // 1288 // You must delete any virtual services that list a virtual node as a service 1289 // provider before you can delete the virtual node itself. 1290 // 1291 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1292 // with awserr.Error's Code and Message methods to get detailed information about 1293 // the error. 1294 // 1295 // See the AWS API reference guide for AWS App Mesh's 1296 // API operation DeleteVirtualNode for usage and error information. 1297 // 1298 // Returned Error Types: 1299 // * NotFoundException 1300 // The specified resource doesn't exist. Check your request syntax and try again. 1301 // 1302 // * BadRequestException 1303 // The request syntax was malformed. Check your request syntax and try again. 1304 // 1305 // * TooManyRequestsException 1306 // The maximum request rate permitted by the App Mesh APIs has been exceeded 1307 // for your account. For best results, use an increasing or variable sleep interval 1308 // between requests. 1309 // 1310 // * ForbiddenException 1311 // You don't have permissions to perform this action. 1312 // 1313 // * ResourceInUseException 1314 // You can't delete the specified resource because it's in use or required by 1315 // another resource. 1316 // 1317 // * ServiceUnavailableException 1318 // The request has failed due to a temporary failure of the service. 1319 // 1320 // * InternalServerErrorException 1321 // The request processing has failed because of an unknown error, exception, 1322 // or failure. 1323 // 1324 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode 1325 func (c *AppMesh) DeleteVirtualNode(input *DeleteVirtualNodeInput) (*DeleteVirtualNodeOutput, error) { 1326 req, out := c.DeleteVirtualNodeRequest(input) 1327 return out, req.Send() 1328 } 1329 1330 // DeleteVirtualNodeWithContext is the same as DeleteVirtualNode with the addition of 1331 // the ability to pass a context and additional request options. 1332 // 1333 // See DeleteVirtualNode for details on how to use this API operation. 1334 // 1335 // The context must be non-nil and will be used for request cancellation. If 1336 // the context is nil a panic will occur. In the future the SDK may create 1337 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1338 // for more information on using Contexts. 1339 func (c *AppMesh) DeleteVirtualNodeWithContext(ctx aws.Context, input *DeleteVirtualNodeInput, opts ...request.Option) (*DeleteVirtualNodeOutput, error) { 1340 req, out := c.DeleteVirtualNodeRequest(input) 1341 req.SetContext(ctx) 1342 req.ApplyOptions(opts...) 1343 return out, req.Send() 1344 } 1345 1346 const opDeleteVirtualRouter = "DeleteVirtualRouter" 1347 1348 // DeleteVirtualRouterRequest generates a "aws/request.Request" representing the 1349 // client's request for the DeleteVirtualRouter operation. The "output" return 1350 // value will be populated with the request's response once the request completes 1351 // successfully. 1352 // 1353 // Use "Send" method on the returned Request to send the API call to the service. 1354 // the "output" return value is not valid until after Send returns without error. 1355 // 1356 // See DeleteVirtualRouter for more information on using the DeleteVirtualRouter 1357 // API call, and error handling. 1358 // 1359 // This method is useful when you want to inject custom logic or configuration 1360 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1361 // 1362 // 1363 // // Example sending a request using the DeleteVirtualRouterRequest method. 1364 // req, resp := client.DeleteVirtualRouterRequest(params) 1365 // 1366 // err := req.Send() 1367 // if err == nil { // resp is now filled 1368 // fmt.Println(resp) 1369 // } 1370 // 1371 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouter 1372 func (c *AppMesh) DeleteVirtualRouterRequest(input *DeleteVirtualRouterInput) (req *request.Request, output *DeleteVirtualRouterOutput) { 1373 op := &request.Operation{ 1374 Name: opDeleteVirtualRouter, 1375 HTTPMethod: "DELETE", 1376 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", 1377 } 1378 1379 if input == nil { 1380 input = &DeleteVirtualRouterInput{} 1381 } 1382 1383 output = &DeleteVirtualRouterOutput{} 1384 req = c.newRequest(op, input, output) 1385 return 1386 } 1387 1388 // DeleteVirtualRouter API operation for AWS App Mesh. 1389 // 1390 // Deletes an existing virtual router. 1391 // 1392 // You must delete any routes associated with the virtual router before you 1393 // can delete the router itself. 1394 // 1395 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1396 // with awserr.Error's Code and Message methods to get detailed information about 1397 // the error. 1398 // 1399 // See the AWS API reference guide for AWS App Mesh's 1400 // API operation DeleteVirtualRouter for usage and error information. 1401 // 1402 // Returned Error Types: 1403 // * NotFoundException 1404 // The specified resource doesn't exist. Check your request syntax and try again. 1405 // 1406 // * BadRequestException 1407 // The request syntax was malformed. Check your request syntax and try again. 1408 // 1409 // * TooManyRequestsException 1410 // The maximum request rate permitted by the App Mesh APIs has been exceeded 1411 // for your account. For best results, use an increasing or variable sleep interval 1412 // between requests. 1413 // 1414 // * ForbiddenException 1415 // You don't have permissions to perform this action. 1416 // 1417 // * ResourceInUseException 1418 // You can't delete the specified resource because it's in use or required by 1419 // another resource. 1420 // 1421 // * ServiceUnavailableException 1422 // The request has failed due to a temporary failure of the service. 1423 // 1424 // * InternalServerErrorException 1425 // The request processing has failed because of an unknown error, exception, 1426 // or failure. 1427 // 1428 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouter 1429 func (c *AppMesh) DeleteVirtualRouter(input *DeleteVirtualRouterInput) (*DeleteVirtualRouterOutput, error) { 1430 req, out := c.DeleteVirtualRouterRequest(input) 1431 return out, req.Send() 1432 } 1433 1434 // DeleteVirtualRouterWithContext is the same as DeleteVirtualRouter with the addition of 1435 // the ability to pass a context and additional request options. 1436 // 1437 // See DeleteVirtualRouter for details on how to use this API operation. 1438 // 1439 // The context must be non-nil and will be used for request cancellation. If 1440 // the context is nil a panic will occur. In the future the SDK may create 1441 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1442 // for more information on using Contexts. 1443 func (c *AppMesh) DeleteVirtualRouterWithContext(ctx aws.Context, input *DeleteVirtualRouterInput, opts ...request.Option) (*DeleteVirtualRouterOutput, error) { 1444 req, out := c.DeleteVirtualRouterRequest(input) 1445 req.SetContext(ctx) 1446 req.ApplyOptions(opts...) 1447 return out, req.Send() 1448 } 1449 1450 const opDeleteVirtualService = "DeleteVirtualService" 1451 1452 // DeleteVirtualServiceRequest generates a "aws/request.Request" representing the 1453 // client's request for the DeleteVirtualService operation. The "output" return 1454 // value will be populated with the request's response once the request completes 1455 // successfully. 1456 // 1457 // Use "Send" method on the returned Request to send the API call to the service. 1458 // the "output" return value is not valid until after Send returns without error. 1459 // 1460 // See DeleteVirtualService for more information on using the DeleteVirtualService 1461 // API call, and error handling. 1462 // 1463 // This method is useful when you want to inject custom logic or configuration 1464 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1465 // 1466 // 1467 // // Example sending a request using the DeleteVirtualServiceRequest method. 1468 // req, resp := client.DeleteVirtualServiceRequest(params) 1469 // 1470 // err := req.Send() 1471 // if err == nil { // resp is now filled 1472 // fmt.Println(resp) 1473 // } 1474 // 1475 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualService 1476 func (c *AppMesh) DeleteVirtualServiceRequest(input *DeleteVirtualServiceInput) (req *request.Request, output *DeleteVirtualServiceOutput) { 1477 op := &request.Operation{ 1478 Name: opDeleteVirtualService, 1479 HTTPMethod: "DELETE", 1480 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", 1481 } 1482 1483 if input == nil { 1484 input = &DeleteVirtualServiceInput{} 1485 } 1486 1487 output = &DeleteVirtualServiceOutput{} 1488 req = c.newRequest(op, input, output) 1489 return 1490 } 1491 1492 // DeleteVirtualService API operation for AWS App Mesh. 1493 // 1494 // Deletes an existing virtual service. 1495 // 1496 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1497 // with awserr.Error's Code and Message methods to get detailed information about 1498 // the error. 1499 // 1500 // See the AWS API reference guide for AWS App Mesh's 1501 // API operation DeleteVirtualService for usage and error information. 1502 // 1503 // Returned Error Types: 1504 // * NotFoundException 1505 // The specified resource doesn't exist. Check your request syntax and try again. 1506 // 1507 // * BadRequestException 1508 // The request syntax was malformed. Check your request syntax and try again. 1509 // 1510 // * TooManyRequestsException 1511 // The maximum request rate permitted by the App Mesh APIs has been exceeded 1512 // for your account. For best results, use an increasing or variable sleep interval 1513 // between requests. 1514 // 1515 // * ForbiddenException 1516 // You don't have permissions to perform this action. 1517 // 1518 // * ResourceInUseException 1519 // You can't delete the specified resource because it's in use or required by 1520 // another resource. 1521 // 1522 // * ServiceUnavailableException 1523 // The request has failed due to a temporary failure of the service. 1524 // 1525 // * InternalServerErrorException 1526 // The request processing has failed because of an unknown error, exception, 1527 // or failure. 1528 // 1529 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualService 1530 func (c *AppMesh) DeleteVirtualService(input *DeleteVirtualServiceInput) (*DeleteVirtualServiceOutput, error) { 1531 req, out := c.DeleteVirtualServiceRequest(input) 1532 return out, req.Send() 1533 } 1534 1535 // DeleteVirtualServiceWithContext is the same as DeleteVirtualService with the addition of 1536 // the ability to pass a context and additional request options. 1537 // 1538 // See DeleteVirtualService for details on how to use this API operation. 1539 // 1540 // The context must be non-nil and will be used for request cancellation. If 1541 // the context is nil a panic will occur. In the future the SDK may create 1542 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1543 // for more information on using Contexts. 1544 func (c *AppMesh) DeleteVirtualServiceWithContext(ctx aws.Context, input *DeleteVirtualServiceInput, opts ...request.Option) (*DeleteVirtualServiceOutput, error) { 1545 req, out := c.DeleteVirtualServiceRequest(input) 1546 req.SetContext(ctx) 1547 req.ApplyOptions(opts...) 1548 return out, req.Send() 1549 } 1550 1551 const opDescribeGatewayRoute = "DescribeGatewayRoute" 1552 1553 // DescribeGatewayRouteRequest generates a "aws/request.Request" representing the 1554 // client's request for the DescribeGatewayRoute operation. The "output" return 1555 // value will be populated with the request's response once the request completes 1556 // successfully. 1557 // 1558 // Use "Send" method on the returned Request to send the API call to the service. 1559 // the "output" return value is not valid until after Send returns without error. 1560 // 1561 // See DescribeGatewayRoute for more information on using the DescribeGatewayRoute 1562 // API call, and error handling. 1563 // 1564 // This method is useful when you want to inject custom logic or configuration 1565 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1566 // 1567 // 1568 // // Example sending a request using the DescribeGatewayRouteRequest method. 1569 // req, resp := client.DescribeGatewayRouteRequest(params) 1570 // 1571 // err := req.Send() 1572 // if err == nil { // resp is now filled 1573 // fmt.Println(resp) 1574 // } 1575 // 1576 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute 1577 func (c *AppMesh) DescribeGatewayRouteRequest(input *DescribeGatewayRouteInput) (req *request.Request, output *DescribeGatewayRouteOutput) { 1578 op := &request.Operation{ 1579 Name: opDescribeGatewayRoute, 1580 HTTPMethod: "GET", 1581 HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", 1582 } 1583 1584 if input == nil { 1585 input = &DescribeGatewayRouteInput{} 1586 } 1587 1588 output = &DescribeGatewayRouteOutput{} 1589 req = c.newRequest(op, input, output) 1590 return 1591 } 1592 1593 // DescribeGatewayRoute API operation for AWS App Mesh. 1594 // 1595 // Describes an existing gateway route. 1596 // 1597 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1598 // with awserr.Error's Code and Message methods to get detailed information about 1599 // the error. 1600 // 1601 // See the AWS API reference guide for AWS App Mesh's 1602 // API operation DescribeGatewayRoute for usage and error information. 1603 // 1604 // Returned Error Types: 1605 // * NotFoundException 1606 // The specified resource doesn't exist. Check your request syntax and try again. 1607 // 1608 // * BadRequestException 1609 // The request syntax was malformed. Check your request syntax and try again. 1610 // 1611 // * TooManyRequestsException 1612 // The maximum request rate permitted by the App Mesh APIs has been exceeded 1613 // for your account. For best results, use an increasing or variable sleep interval 1614 // between requests. 1615 // 1616 // * ForbiddenException 1617 // You don't have permissions to perform this action. 1618 // 1619 // * ServiceUnavailableException 1620 // The request has failed due to a temporary failure of the service. 1621 // 1622 // * InternalServerErrorException 1623 // The request processing has failed because of an unknown error, exception, 1624 // or failure. 1625 // 1626 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute 1627 func (c *AppMesh) DescribeGatewayRoute(input *DescribeGatewayRouteInput) (*DescribeGatewayRouteOutput, error) { 1628 req, out := c.DescribeGatewayRouteRequest(input) 1629 return out, req.Send() 1630 } 1631 1632 // DescribeGatewayRouteWithContext is the same as DescribeGatewayRoute with the addition of 1633 // the ability to pass a context and additional request options. 1634 // 1635 // See DescribeGatewayRoute for details on how to use this API operation. 1636 // 1637 // The context must be non-nil and will be used for request cancellation. If 1638 // the context is nil a panic will occur. In the future the SDK may create 1639 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1640 // for more information on using Contexts. 1641 func (c *AppMesh) DescribeGatewayRouteWithContext(ctx aws.Context, input *DescribeGatewayRouteInput, opts ...request.Option) (*DescribeGatewayRouteOutput, error) { 1642 req, out := c.DescribeGatewayRouteRequest(input) 1643 req.SetContext(ctx) 1644 req.ApplyOptions(opts...) 1645 return out, req.Send() 1646 } 1647 1648 const opDescribeMesh = "DescribeMesh" 1649 1650 // DescribeMeshRequest generates a "aws/request.Request" representing the 1651 // client's request for the DescribeMesh operation. The "output" return 1652 // value will be populated with the request's response once the request completes 1653 // successfully. 1654 // 1655 // Use "Send" method on the returned Request to send the API call to the service. 1656 // the "output" return value is not valid until after Send returns without error. 1657 // 1658 // See DescribeMesh for more information on using the DescribeMesh 1659 // API call, and error handling. 1660 // 1661 // This method is useful when you want to inject custom logic or configuration 1662 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1663 // 1664 // 1665 // // Example sending a request using the DescribeMeshRequest method. 1666 // req, resp := client.DescribeMeshRequest(params) 1667 // 1668 // err := req.Send() 1669 // if err == nil { // resp is now filled 1670 // fmt.Println(resp) 1671 // } 1672 // 1673 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeMesh 1674 func (c *AppMesh) DescribeMeshRequest(input *DescribeMeshInput) (req *request.Request, output *DescribeMeshOutput) { 1675 op := &request.Operation{ 1676 Name: opDescribeMesh, 1677 HTTPMethod: "GET", 1678 HTTPPath: "/v20190125/meshes/{meshName}", 1679 } 1680 1681 if input == nil { 1682 input = &DescribeMeshInput{} 1683 } 1684 1685 output = &DescribeMeshOutput{} 1686 req = c.newRequest(op, input, output) 1687 return 1688 } 1689 1690 // DescribeMesh API operation for AWS App Mesh. 1691 // 1692 // Describes an existing service mesh. 1693 // 1694 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1695 // with awserr.Error's Code and Message methods to get detailed information about 1696 // the error. 1697 // 1698 // See the AWS API reference guide for AWS App Mesh's 1699 // API operation DescribeMesh for usage and error information. 1700 // 1701 // Returned Error Types: 1702 // * NotFoundException 1703 // The specified resource doesn't exist. Check your request syntax and try again. 1704 // 1705 // * BadRequestException 1706 // The request syntax was malformed. Check your request syntax and try again. 1707 // 1708 // * TooManyRequestsException 1709 // The maximum request rate permitted by the App Mesh APIs has been exceeded 1710 // for your account. For best results, use an increasing or variable sleep interval 1711 // between requests. 1712 // 1713 // * ForbiddenException 1714 // You don't have permissions to perform this action. 1715 // 1716 // * ServiceUnavailableException 1717 // The request has failed due to a temporary failure of the service. 1718 // 1719 // * InternalServerErrorException 1720 // The request processing has failed because of an unknown error, exception, 1721 // or failure. 1722 // 1723 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeMesh 1724 func (c *AppMesh) DescribeMesh(input *DescribeMeshInput) (*DescribeMeshOutput, error) { 1725 req, out := c.DescribeMeshRequest(input) 1726 return out, req.Send() 1727 } 1728 1729 // DescribeMeshWithContext is the same as DescribeMesh with the addition of 1730 // the ability to pass a context and additional request options. 1731 // 1732 // See DescribeMesh for details on how to use this API operation. 1733 // 1734 // The context must be non-nil and will be used for request cancellation. If 1735 // the context is nil a panic will occur. In the future the SDK may create 1736 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1737 // for more information on using Contexts. 1738 func (c *AppMesh) DescribeMeshWithContext(ctx aws.Context, input *DescribeMeshInput, opts ...request.Option) (*DescribeMeshOutput, error) { 1739 req, out := c.DescribeMeshRequest(input) 1740 req.SetContext(ctx) 1741 req.ApplyOptions(opts...) 1742 return out, req.Send() 1743 } 1744 1745 const opDescribeRoute = "DescribeRoute" 1746 1747 // DescribeRouteRequest generates a "aws/request.Request" representing the 1748 // client's request for the DescribeRoute operation. The "output" return 1749 // value will be populated with the request's response once the request completes 1750 // successfully. 1751 // 1752 // Use "Send" method on the returned Request to send the API call to the service. 1753 // the "output" return value is not valid until after Send returns without error. 1754 // 1755 // See DescribeRoute for more information on using the DescribeRoute 1756 // API call, and error handling. 1757 // 1758 // This method is useful when you want to inject custom logic or configuration 1759 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1760 // 1761 // 1762 // // Example sending a request using the DescribeRouteRequest method. 1763 // req, resp := client.DescribeRouteRequest(params) 1764 // 1765 // err := req.Send() 1766 // if err == nil { // resp is now filled 1767 // fmt.Println(resp) 1768 // } 1769 // 1770 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeRoute 1771 func (c *AppMesh) DescribeRouteRequest(input *DescribeRouteInput) (req *request.Request, output *DescribeRouteOutput) { 1772 op := &request.Operation{ 1773 Name: opDescribeRoute, 1774 HTTPMethod: "GET", 1775 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", 1776 } 1777 1778 if input == nil { 1779 input = &DescribeRouteInput{} 1780 } 1781 1782 output = &DescribeRouteOutput{} 1783 req = c.newRequest(op, input, output) 1784 return 1785 } 1786 1787 // DescribeRoute API operation for AWS App Mesh. 1788 // 1789 // Describes an existing route. 1790 // 1791 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1792 // with awserr.Error's Code and Message methods to get detailed information about 1793 // the error. 1794 // 1795 // See the AWS API reference guide for AWS App Mesh's 1796 // API operation DescribeRoute for usage and error information. 1797 // 1798 // Returned Error Types: 1799 // * NotFoundException 1800 // The specified resource doesn't exist. Check your request syntax and try again. 1801 // 1802 // * BadRequestException 1803 // The request syntax was malformed. Check your request syntax and try again. 1804 // 1805 // * TooManyRequestsException 1806 // The maximum request rate permitted by the App Mesh APIs has been exceeded 1807 // for your account. For best results, use an increasing or variable sleep interval 1808 // between requests. 1809 // 1810 // * ForbiddenException 1811 // You don't have permissions to perform this action. 1812 // 1813 // * ServiceUnavailableException 1814 // The request has failed due to a temporary failure of the service. 1815 // 1816 // * InternalServerErrorException 1817 // The request processing has failed because of an unknown error, exception, 1818 // or failure. 1819 // 1820 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeRoute 1821 func (c *AppMesh) DescribeRoute(input *DescribeRouteInput) (*DescribeRouteOutput, error) { 1822 req, out := c.DescribeRouteRequest(input) 1823 return out, req.Send() 1824 } 1825 1826 // DescribeRouteWithContext is the same as DescribeRoute with the addition of 1827 // the ability to pass a context and additional request options. 1828 // 1829 // See DescribeRoute for details on how to use this API operation. 1830 // 1831 // The context must be non-nil and will be used for request cancellation. If 1832 // the context is nil a panic will occur. In the future the SDK may create 1833 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1834 // for more information on using Contexts. 1835 func (c *AppMesh) DescribeRouteWithContext(ctx aws.Context, input *DescribeRouteInput, opts ...request.Option) (*DescribeRouteOutput, error) { 1836 req, out := c.DescribeRouteRequest(input) 1837 req.SetContext(ctx) 1838 req.ApplyOptions(opts...) 1839 return out, req.Send() 1840 } 1841 1842 const opDescribeVirtualGateway = "DescribeVirtualGateway" 1843 1844 // DescribeVirtualGatewayRequest generates a "aws/request.Request" representing the 1845 // client's request for the DescribeVirtualGateway operation. The "output" return 1846 // value will be populated with the request's response once the request completes 1847 // successfully. 1848 // 1849 // Use "Send" method on the returned Request to send the API call to the service. 1850 // the "output" return value is not valid until after Send returns without error. 1851 // 1852 // See DescribeVirtualGateway for more information on using the DescribeVirtualGateway 1853 // API call, and error handling. 1854 // 1855 // This method is useful when you want to inject custom logic or configuration 1856 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1857 // 1858 // 1859 // // Example sending a request using the DescribeVirtualGatewayRequest method. 1860 // req, resp := client.DescribeVirtualGatewayRequest(params) 1861 // 1862 // err := req.Send() 1863 // if err == nil { // resp is now filled 1864 // fmt.Println(resp) 1865 // } 1866 // 1867 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway 1868 func (c *AppMesh) DescribeVirtualGatewayRequest(input *DescribeVirtualGatewayInput) (req *request.Request, output *DescribeVirtualGatewayOutput) { 1869 op := &request.Operation{ 1870 Name: opDescribeVirtualGateway, 1871 HTTPMethod: "GET", 1872 HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", 1873 } 1874 1875 if input == nil { 1876 input = &DescribeVirtualGatewayInput{} 1877 } 1878 1879 output = &DescribeVirtualGatewayOutput{} 1880 req = c.newRequest(op, input, output) 1881 return 1882 } 1883 1884 // DescribeVirtualGateway API operation for AWS App Mesh. 1885 // 1886 // Describes an existing virtual gateway. 1887 // 1888 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1889 // with awserr.Error's Code and Message methods to get detailed information about 1890 // the error. 1891 // 1892 // See the AWS API reference guide for AWS App Mesh's 1893 // API operation DescribeVirtualGateway for usage and error information. 1894 // 1895 // Returned Error Types: 1896 // * NotFoundException 1897 // The specified resource doesn't exist. Check your request syntax and try again. 1898 // 1899 // * BadRequestException 1900 // The request syntax was malformed. Check your request syntax and try again. 1901 // 1902 // * TooManyRequestsException 1903 // The maximum request rate permitted by the App Mesh APIs has been exceeded 1904 // for your account. For best results, use an increasing or variable sleep interval 1905 // between requests. 1906 // 1907 // * ForbiddenException 1908 // You don't have permissions to perform this action. 1909 // 1910 // * ServiceUnavailableException 1911 // The request has failed due to a temporary failure of the service. 1912 // 1913 // * InternalServerErrorException 1914 // The request processing has failed because of an unknown error, exception, 1915 // or failure. 1916 // 1917 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway 1918 func (c *AppMesh) DescribeVirtualGateway(input *DescribeVirtualGatewayInput) (*DescribeVirtualGatewayOutput, error) { 1919 req, out := c.DescribeVirtualGatewayRequest(input) 1920 return out, req.Send() 1921 } 1922 1923 // DescribeVirtualGatewayWithContext is the same as DescribeVirtualGateway with the addition of 1924 // the ability to pass a context and additional request options. 1925 // 1926 // See DescribeVirtualGateway for details on how to use this API operation. 1927 // 1928 // The context must be non-nil and will be used for request cancellation. If 1929 // the context is nil a panic will occur. In the future the SDK may create 1930 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1931 // for more information on using Contexts. 1932 func (c *AppMesh) DescribeVirtualGatewayWithContext(ctx aws.Context, input *DescribeVirtualGatewayInput, opts ...request.Option) (*DescribeVirtualGatewayOutput, error) { 1933 req, out := c.DescribeVirtualGatewayRequest(input) 1934 req.SetContext(ctx) 1935 req.ApplyOptions(opts...) 1936 return out, req.Send() 1937 } 1938 1939 const opDescribeVirtualNode = "DescribeVirtualNode" 1940 1941 // DescribeVirtualNodeRequest generates a "aws/request.Request" representing the 1942 // client's request for the DescribeVirtualNode operation. The "output" return 1943 // value will be populated with the request's response once the request completes 1944 // successfully. 1945 // 1946 // Use "Send" method on the returned Request to send the API call to the service. 1947 // the "output" return value is not valid until after Send returns without error. 1948 // 1949 // See DescribeVirtualNode for more information on using the DescribeVirtualNode 1950 // API call, and error handling. 1951 // 1952 // This method is useful when you want to inject custom logic or configuration 1953 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1954 // 1955 // 1956 // // Example sending a request using the DescribeVirtualNodeRequest method. 1957 // req, resp := client.DescribeVirtualNodeRequest(params) 1958 // 1959 // err := req.Send() 1960 // if err == nil { // resp is now filled 1961 // fmt.Println(resp) 1962 // } 1963 // 1964 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNode 1965 func (c *AppMesh) DescribeVirtualNodeRequest(input *DescribeVirtualNodeInput) (req *request.Request, output *DescribeVirtualNodeOutput) { 1966 op := &request.Operation{ 1967 Name: opDescribeVirtualNode, 1968 HTTPMethod: "GET", 1969 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", 1970 } 1971 1972 if input == nil { 1973 input = &DescribeVirtualNodeInput{} 1974 } 1975 1976 output = &DescribeVirtualNodeOutput{} 1977 req = c.newRequest(op, input, output) 1978 return 1979 } 1980 1981 // DescribeVirtualNode API operation for AWS App Mesh. 1982 // 1983 // Describes an existing virtual node. 1984 // 1985 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1986 // with awserr.Error's Code and Message methods to get detailed information about 1987 // the error. 1988 // 1989 // See the AWS API reference guide for AWS App Mesh's 1990 // API operation DescribeVirtualNode for usage and error information. 1991 // 1992 // Returned Error Types: 1993 // * NotFoundException 1994 // The specified resource doesn't exist. Check your request syntax and try again. 1995 // 1996 // * BadRequestException 1997 // The request syntax was malformed. Check your request syntax and try again. 1998 // 1999 // * TooManyRequestsException 2000 // The maximum request rate permitted by the App Mesh APIs has been exceeded 2001 // for your account. For best results, use an increasing or variable sleep interval 2002 // between requests. 2003 // 2004 // * ForbiddenException 2005 // You don't have permissions to perform this action. 2006 // 2007 // * ServiceUnavailableException 2008 // The request has failed due to a temporary failure of the service. 2009 // 2010 // * InternalServerErrorException 2011 // The request processing has failed because of an unknown error, exception, 2012 // or failure. 2013 // 2014 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNode 2015 func (c *AppMesh) DescribeVirtualNode(input *DescribeVirtualNodeInput) (*DescribeVirtualNodeOutput, error) { 2016 req, out := c.DescribeVirtualNodeRequest(input) 2017 return out, req.Send() 2018 } 2019 2020 // DescribeVirtualNodeWithContext is the same as DescribeVirtualNode with the addition of 2021 // the ability to pass a context and additional request options. 2022 // 2023 // See DescribeVirtualNode for details on how to use this API operation. 2024 // 2025 // The context must be non-nil and will be used for request cancellation. If 2026 // the context is nil a panic will occur. In the future the SDK may create 2027 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2028 // for more information on using Contexts. 2029 func (c *AppMesh) DescribeVirtualNodeWithContext(ctx aws.Context, input *DescribeVirtualNodeInput, opts ...request.Option) (*DescribeVirtualNodeOutput, error) { 2030 req, out := c.DescribeVirtualNodeRequest(input) 2031 req.SetContext(ctx) 2032 req.ApplyOptions(opts...) 2033 return out, req.Send() 2034 } 2035 2036 const opDescribeVirtualRouter = "DescribeVirtualRouter" 2037 2038 // DescribeVirtualRouterRequest generates a "aws/request.Request" representing the 2039 // client's request for the DescribeVirtualRouter operation. The "output" return 2040 // value will be populated with the request's response once the request completes 2041 // successfully. 2042 // 2043 // Use "Send" method on the returned Request to send the API call to the service. 2044 // the "output" return value is not valid until after Send returns without error. 2045 // 2046 // See DescribeVirtualRouter for more information on using the DescribeVirtualRouter 2047 // API call, and error handling. 2048 // 2049 // This method is useful when you want to inject custom logic or configuration 2050 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2051 // 2052 // 2053 // // Example sending a request using the DescribeVirtualRouterRequest method. 2054 // req, resp := client.DescribeVirtualRouterRequest(params) 2055 // 2056 // err := req.Send() 2057 // if err == nil { // resp is now filled 2058 // fmt.Println(resp) 2059 // } 2060 // 2061 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouter 2062 func (c *AppMesh) DescribeVirtualRouterRequest(input *DescribeVirtualRouterInput) (req *request.Request, output *DescribeVirtualRouterOutput) { 2063 op := &request.Operation{ 2064 Name: opDescribeVirtualRouter, 2065 HTTPMethod: "GET", 2066 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", 2067 } 2068 2069 if input == nil { 2070 input = &DescribeVirtualRouterInput{} 2071 } 2072 2073 output = &DescribeVirtualRouterOutput{} 2074 req = c.newRequest(op, input, output) 2075 return 2076 } 2077 2078 // DescribeVirtualRouter API operation for AWS App Mesh. 2079 // 2080 // Describes an existing virtual router. 2081 // 2082 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2083 // with awserr.Error's Code and Message methods to get detailed information about 2084 // the error. 2085 // 2086 // See the AWS API reference guide for AWS App Mesh's 2087 // API operation DescribeVirtualRouter for usage and error information. 2088 // 2089 // Returned Error Types: 2090 // * NotFoundException 2091 // The specified resource doesn't exist. Check your request syntax and try again. 2092 // 2093 // * BadRequestException 2094 // The request syntax was malformed. Check your request syntax and try again. 2095 // 2096 // * TooManyRequestsException 2097 // The maximum request rate permitted by the App Mesh APIs has been exceeded 2098 // for your account. For best results, use an increasing or variable sleep interval 2099 // between requests. 2100 // 2101 // * ForbiddenException 2102 // You don't have permissions to perform this action. 2103 // 2104 // * ServiceUnavailableException 2105 // The request has failed due to a temporary failure of the service. 2106 // 2107 // * InternalServerErrorException 2108 // The request processing has failed because of an unknown error, exception, 2109 // or failure. 2110 // 2111 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouter 2112 func (c *AppMesh) DescribeVirtualRouter(input *DescribeVirtualRouterInput) (*DescribeVirtualRouterOutput, error) { 2113 req, out := c.DescribeVirtualRouterRequest(input) 2114 return out, req.Send() 2115 } 2116 2117 // DescribeVirtualRouterWithContext is the same as DescribeVirtualRouter with the addition of 2118 // the ability to pass a context and additional request options. 2119 // 2120 // See DescribeVirtualRouter for details on how to use this API operation. 2121 // 2122 // The context must be non-nil and will be used for request cancellation. If 2123 // the context is nil a panic will occur. In the future the SDK may create 2124 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2125 // for more information on using Contexts. 2126 func (c *AppMesh) DescribeVirtualRouterWithContext(ctx aws.Context, input *DescribeVirtualRouterInput, opts ...request.Option) (*DescribeVirtualRouterOutput, error) { 2127 req, out := c.DescribeVirtualRouterRequest(input) 2128 req.SetContext(ctx) 2129 req.ApplyOptions(opts...) 2130 return out, req.Send() 2131 } 2132 2133 const opDescribeVirtualService = "DescribeVirtualService" 2134 2135 // DescribeVirtualServiceRequest generates a "aws/request.Request" representing the 2136 // client's request for the DescribeVirtualService operation. The "output" return 2137 // value will be populated with the request's response once the request completes 2138 // successfully. 2139 // 2140 // Use "Send" method on the returned Request to send the API call to the service. 2141 // the "output" return value is not valid until after Send returns without error. 2142 // 2143 // See DescribeVirtualService for more information on using the DescribeVirtualService 2144 // API call, and error handling. 2145 // 2146 // This method is useful when you want to inject custom logic or configuration 2147 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2148 // 2149 // 2150 // // Example sending a request using the DescribeVirtualServiceRequest method. 2151 // req, resp := client.DescribeVirtualServiceRequest(params) 2152 // 2153 // err := req.Send() 2154 // if err == nil { // resp is now filled 2155 // fmt.Println(resp) 2156 // } 2157 // 2158 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualService 2159 func (c *AppMesh) DescribeVirtualServiceRequest(input *DescribeVirtualServiceInput) (req *request.Request, output *DescribeVirtualServiceOutput) { 2160 op := &request.Operation{ 2161 Name: opDescribeVirtualService, 2162 HTTPMethod: "GET", 2163 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", 2164 } 2165 2166 if input == nil { 2167 input = &DescribeVirtualServiceInput{} 2168 } 2169 2170 output = &DescribeVirtualServiceOutput{} 2171 req = c.newRequest(op, input, output) 2172 return 2173 } 2174 2175 // DescribeVirtualService API operation for AWS App Mesh. 2176 // 2177 // Describes an existing virtual service. 2178 // 2179 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2180 // with awserr.Error's Code and Message methods to get detailed information about 2181 // the error. 2182 // 2183 // See the AWS API reference guide for AWS App Mesh's 2184 // API operation DescribeVirtualService for usage and error information. 2185 // 2186 // Returned Error Types: 2187 // * NotFoundException 2188 // The specified resource doesn't exist. Check your request syntax and try again. 2189 // 2190 // * BadRequestException 2191 // The request syntax was malformed. Check your request syntax and try again. 2192 // 2193 // * TooManyRequestsException 2194 // The maximum request rate permitted by the App Mesh APIs has been exceeded 2195 // for your account. For best results, use an increasing or variable sleep interval 2196 // between requests. 2197 // 2198 // * ForbiddenException 2199 // You don't have permissions to perform this action. 2200 // 2201 // * ServiceUnavailableException 2202 // The request has failed due to a temporary failure of the service. 2203 // 2204 // * InternalServerErrorException 2205 // The request processing has failed because of an unknown error, exception, 2206 // or failure. 2207 // 2208 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualService 2209 func (c *AppMesh) DescribeVirtualService(input *DescribeVirtualServiceInput) (*DescribeVirtualServiceOutput, error) { 2210 req, out := c.DescribeVirtualServiceRequest(input) 2211 return out, req.Send() 2212 } 2213 2214 // DescribeVirtualServiceWithContext is the same as DescribeVirtualService with the addition of 2215 // the ability to pass a context and additional request options. 2216 // 2217 // See DescribeVirtualService for details on how to use this API operation. 2218 // 2219 // The context must be non-nil and will be used for request cancellation. If 2220 // the context is nil a panic will occur. In the future the SDK may create 2221 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2222 // for more information on using Contexts. 2223 func (c *AppMesh) DescribeVirtualServiceWithContext(ctx aws.Context, input *DescribeVirtualServiceInput, opts ...request.Option) (*DescribeVirtualServiceOutput, error) { 2224 req, out := c.DescribeVirtualServiceRequest(input) 2225 req.SetContext(ctx) 2226 req.ApplyOptions(opts...) 2227 return out, req.Send() 2228 } 2229 2230 const opListGatewayRoutes = "ListGatewayRoutes" 2231 2232 // ListGatewayRoutesRequest generates a "aws/request.Request" representing the 2233 // client's request for the ListGatewayRoutes operation. The "output" return 2234 // value will be populated with the request's response once the request completes 2235 // successfully. 2236 // 2237 // Use "Send" method on the returned Request to send the API call to the service. 2238 // the "output" return value is not valid until after Send returns without error. 2239 // 2240 // See ListGatewayRoutes for more information on using the ListGatewayRoutes 2241 // API call, and error handling. 2242 // 2243 // This method is useful when you want to inject custom logic or configuration 2244 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2245 // 2246 // 2247 // // Example sending a request using the ListGatewayRoutesRequest method. 2248 // req, resp := client.ListGatewayRoutesRequest(params) 2249 // 2250 // err := req.Send() 2251 // if err == nil { // resp is now filled 2252 // fmt.Println(resp) 2253 // } 2254 // 2255 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes 2256 func (c *AppMesh) ListGatewayRoutesRequest(input *ListGatewayRoutesInput) (req *request.Request, output *ListGatewayRoutesOutput) { 2257 op := &request.Operation{ 2258 Name: opListGatewayRoutes, 2259 HTTPMethod: "GET", 2260 HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes", 2261 Paginator: &request.Paginator{ 2262 InputTokens: []string{"nextToken"}, 2263 OutputTokens: []string{"nextToken"}, 2264 LimitToken: "limit", 2265 TruncationToken: "", 2266 }, 2267 } 2268 2269 if input == nil { 2270 input = &ListGatewayRoutesInput{} 2271 } 2272 2273 output = &ListGatewayRoutesOutput{} 2274 req = c.newRequest(op, input, output) 2275 return 2276 } 2277 2278 // ListGatewayRoutes API operation for AWS App Mesh. 2279 // 2280 // Returns a list of existing gateway routes that are associated to a virtual 2281 // gateway. 2282 // 2283 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2284 // with awserr.Error's Code and Message methods to get detailed information about 2285 // the error. 2286 // 2287 // See the AWS API reference guide for AWS App Mesh's 2288 // API operation ListGatewayRoutes for usage and error information. 2289 // 2290 // Returned Error Types: 2291 // * NotFoundException 2292 // The specified resource doesn't exist. Check your request syntax and try again. 2293 // 2294 // * BadRequestException 2295 // The request syntax was malformed. Check your request syntax and try again. 2296 // 2297 // * TooManyRequestsException 2298 // The maximum request rate permitted by the App Mesh APIs has been exceeded 2299 // for your account. For best results, use an increasing or variable sleep interval 2300 // between requests. 2301 // 2302 // * ForbiddenException 2303 // You don't have permissions to perform this action. 2304 // 2305 // * ServiceUnavailableException 2306 // The request has failed due to a temporary failure of the service. 2307 // 2308 // * InternalServerErrorException 2309 // The request processing has failed because of an unknown error, exception, 2310 // or failure. 2311 // 2312 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes 2313 func (c *AppMesh) ListGatewayRoutes(input *ListGatewayRoutesInput) (*ListGatewayRoutesOutput, error) { 2314 req, out := c.ListGatewayRoutesRequest(input) 2315 return out, req.Send() 2316 } 2317 2318 // ListGatewayRoutesWithContext is the same as ListGatewayRoutes with the addition of 2319 // the ability to pass a context and additional request options. 2320 // 2321 // See ListGatewayRoutes for details on how to use this API operation. 2322 // 2323 // The context must be non-nil and will be used for request cancellation. If 2324 // the context is nil a panic will occur. In the future the SDK may create 2325 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2326 // for more information on using Contexts. 2327 func (c *AppMesh) ListGatewayRoutesWithContext(ctx aws.Context, input *ListGatewayRoutesInput, opts ...request.Option) (*ListGatewayRoutesOutput, error) { 2328 req, out := c.ListGatewayRoutesRequest(input) 2329 req.SetContext(ctx) 2330 req.ApplyOptions(opts...) 2331 return out, req.Send() 2332 } 2333 2334 // ListGatewayRoutesPages iterates over the pages of a ListGatewayRoutes operation, 2335 // calling the "fn" function with the response data for each page. To stop 2336 // iterating, return false from the fn function. 2337 // 2338 // See ListGatewayRoutes method for more information on how to use this operation. 2339 // 2340 // Note: This operation can generate multiple requests to a service. 2341 // 2342 // // Example iterating over at most 3 pages of a ListGatewayRoutes operation. 2343 // pageNum := 0 2344 // err := client.ListGatewayRoutesPages(params, 2345 // func(page *appmesh.ListGatewayRoutesOutput, lastPage bool) bool { 2346 // pageNum++ 2347 // fmt.Println(page) 2348 // return pageNum <= 3 2349 // }) 2350 // 2351 func (c *AppMesh) ListGatewayRoutesPages(input *ListGatewayRoutesInput, fn func(*ListGatewayRoutesOutput, bool) bool) error { 2352 return c.ListGatewayRoutesPagesWithContext(aws.BackgroundContext(), input, fn) 2353 } 2354 2355 // ListGatewayRoutesPagesWithContext same as ListGatewayRoutesPages except 2356 // it takes a Context and allows setting request options on the pages. 2357 // 2358 // The context must be non-nil and will be used for request cancellation. If 2359 // the context is nil a panic will occur. In the future the SDK may create 2360 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2361 // for more information on using Contexts. 2362 func (c *AppMesh) ListGatewayRoutesPagesWithContext(ctx aws.Context, input *ListGatewayRoutesInput, fn func(*ListGatewayRoutesOutput, bool) bool, opts ...request.Option) error { 2363 p := request.Pagination{ 2364 NewRequest: func() (*request.Request, error) { 2365 var inCpy *ListGatewayRoutesInput 2366 if input != nil { 2367 tmp := *input 2368 inCpy = &tmp 2369 } 2370 req, _ := c.ListGatewayRoutesRequest(inCpy) 2371 req.SetContext(ctx) 2372 req.ApplyOptions(opts...) 2373 return req, nil 2374 }, 2375 } 2376 2377 for p.Next() { 2378 if !fn(p.Page().(*ListGatewayRoutesOutput), !p.HasNextPage()) { 2379 break 2380 } 2381 } 2382 2383 return p.Err() 2384 } 2385 2386 const opListMeshes = "ListMeshes" 2387 2388 // ListMeshesRequest generates a "aws/request.Request" representing the 2389 // client's request for the ListMeshes operation. The "output" return 2390 // value will be populated with the request's response once the request completes 2391 // successfully. 2392 // 2393 // Use "Send" method on the returned Request to send the API call to the service. 2394 // the "output" return value is not valid until after Send returns without error. 2395 // 2396 // See ListMeshes for more information on using the ListMeshes 2397 // API call, and error handling. 2398 // 2399 // This method is useful when you want to inject custom logic or configuration 2400 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2401 // 2402 // 2403 // // Example sending a request using the ListMeshesRequest method. 2404 // req, resp := client.ListMeshesRequest(params) 2405 // 2406 // err := req.Send() 2407 // if err == nil { // resp is now filled 2408 // fmt.Println(resp) 2409 // } 2410 // 2411 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes 2412 func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Request, output *ListMeshesOutput) { 2413 op := &request.Operation{ 2414 Name: opListMeshes, 2415 HTTPMethod: "GET", 2416 HTTPPath: "/v20190125/meshes", 2417 Paginator: &request.Paginator{ 2418 InputTokens: []string{"nextToken"}, 2419 OutputTokens: []string{"nextToken"}, 2420 LimitToken: "limit", 2421 TruncationToken: "", 2422 }, 2423 } 2424 2425 if input == nil { 2426 input = &ListMeshesInput{} 2427 } 2428 2429 output = &ListMeshesOutput{} 2430 req = c.newRequest(op, input, output) 2431 return 2432 } 2433 2434 // ListMeshes API operation for AWS App Mesh. 2435 // 2436 // Returns a list of existing service meshes. 2437 // 2438 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2439 // with awserr.Error's Code and Message methods to get detailed information about 2440 // the error. 2441 // 2442 // See the AWS API reference guide for AWS App Mesh's 2443 // API operation ListMeshes for usage and error information. 2444 // 2445 // Returned Error Types: 2446 // * NotFoundException 2447 // The specified resource doesn't exist. Check your request syntax and try again. 2448 // 2449 // * BadRequestException 2450 // The request syntax was malformed. Check your request syntax and try again. 2451 // 2452 // * TooManyRequestsException 2453 // The maximum request rate permitted by the App Mesh APIs has been exceeded 2454 // for your account. For best results, use an increasing or variable sleep interval 2455 // between requests. 2456 // 2457 // * ForbiddenException 2458 // You don't have permissions to perform this action. 2459 // 2460 // * ServiceUnavailableException 2461 // The request has failed due to a temporary failure of the service. 2462 // 2463 // * InternalServerErrorException 2464 // The request processing has failed because of an unknown error, exception, 2465 // or failure. 2466 // 2467 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes 2468 func (c *AppMesh) ListMeshes(input *ListMeshesInput) (*ListMeshesOutput, error) { 2469 req, out := c.ListMeshesRequest(input) 2470 return out, req.Send() 2471 } 2472 2473 // ListMeshesWithContext is the same as ListMeshes with the addition of 2474 // the ability to pass a context and additional request options. 2475 // 2476 // See ListMeshes for details on how to use this API operation. 2477 // 2478 // The context must be non-nil and will be used for request cancellation. If 2479 // the context is nil a panic will occur. In the future the SDK may create 2480 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2481 // for more information on using Contexts. 2482 func (c *AppMesh) ListMeshesWithContext(ctx aws.Context, input *ListMeshesInput, opts ...request.Option) (*ListMeshesOutput, error) { 2483 req, out := c.ListMeshesRequest(input) 2484 req.SetContext(ctx) 2485 req.ApplyOptions(opts...) 2486 return out, req.Send() 2487 } 2488 2489 // ListMeshesPages iterates over the pages of a ListMeshes operation, 2490 // calling the "fn" function with the response data for each page. To stop 2491 // iterating, return false from the fn function. 2492 // 2493 // See ListMeshes method for more information on how to use this operation. 2494 // 2495 // Note: This operation can generate multiple requests to a service. 2496 // 2497 // // Example iterating over at most 3 pages of a ListMeshes operation. 2498 // pageNum := 0 2499 // err := client.ListMeshesPages(params, 2500 // func(page *appmesh.ListMeshesOutput, lastPage bool) bool { 2501 // pageNum++ 2502 // fmt.Println(page) 2503 // return pageNum <= 3 2504 // }) 2505 // 2506 func (c *AppMesh) ListMeshesPages(input *ListMeshesInput, fn func(*ListMeshesOutput, bool) bool) error { 2507 return c.ListMeshesPagesWithContext(aws.BackgroundContext(), input, fn) 2508 } 2509 2510 // ListMeshesPagesWithContext same as ListMeshesPages except 2511 // it takes a Context and allows setting request options on the pages. 2512 // 2513 // The context must be non-nil and will be used for request cancellation. If 2514 // the context is nil a panic will occur. In the future the SDK may create 2515 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2516 // for more information on using Contexts. 2517 func (c *AppMesh) ListMeshesPagesWithContext(ctx aws.Context, input *ListMeshesInput, fn func(*ListMeshesOutput, bool) bool, opts ...request.Option) error { 2518 p := request.Pagination{ 2519 NewRequest: func() (*request.Request, error) { 2520 var inCpy *ListMeshesInput 2521 if input != nil { 2522 tmp := *input 2523 inCpy = &tmp 2524 } 2525 req, _ := c.ListMeshesRequest(inCpy) 2526 req.SetContext(ctx) 2527 req.ApplyOptions(opts...) 2528 return req, nil 2529 }, 2530 } 2531 2532 for p.Next() { 2533 if !fn(p.Page().(*ListMeshesOutput), !p.HasNextPage()) { 2534 break 2535 } 2536 } 2537 2538 return p.Err() 2539 } 2540 2541 const opListRoutes = "ListRoutes" 2542 2543 // ListRoutesRequest generates a "aws/request.Request" representing the 2544 // client's request for the ListRoutes operation. The "output" return 2545 // value will be populated with the request's response once the request completes 2546 // successfully. 2547 // 2548 // Use "Send" method on the returned Request to send the API call to the service. 2549 // the "output" return value is not valid until after Send returns without error. 2550 // 2551 // See ListRoutes for more information on using the ListRoutes 2552 // API call, and error handling. 2553 // 2554 // This method is useful when you want to inject custom logic or configuration 2555 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2556 // 2557 // 2558 // // Example sending a request using the ListRoutesRequest method. 2559 // req, resp := client.ListRoutesRequest(params) 2560 // 2561 // err := req.Send() 2562 // if err == nil { // resp is now filled 2563 // fmt.Println(resp) 2564 // } 2565 // 2566 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListRoutes 2567 func (c *AppMesh) ListRoutesRequest(input *ListRoutesInput) (req *request.Request, output *ListRoutesOutput) { 2568 op := &request.Operation{ 2569 Name: opListRoutes, 2570 HTTPMethod: "GET", 2571 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", 2572 Paginator: &request.Paginator{ 2573 InputTokens: []string{"nextToken"}, 2574 OutputTokens: []string{"nextToken"}, 2575 LimitToken: "limit", 2576 TruncationToken: "", 2577 }, 2578 } 2579 2580 if input == nil { 2581 input = &ListRoutesInput{} 2582 } 2583 2584 output = &ListRoutesOutput{} 2585 req = c.newRequest(op, input, output) 2586 return 2587 } 2588 2589 // ListRoutes API operation for AWS App Mesh. 2590 // 2591 // Returns a list of existing routes in a service mesh. 2592 // 2593 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2594 // with awserr.Error's Code and Message methods to get detailed information about 2595 // the error. 2596 // 2597 // See the AWS API reference guide for AWS App Mesh's 2598 // API operation ListRoutes for usage and error information. 2599 // 2600 // Returned Error Types: 2601 // * NotFoundException 2602 // The specified resource doesn't exist. Check your request syntax and try again. 2603 // 2604 // * BadRequestException 2605 // The request syntax was malformed. Check your request syntax and try again. 2606 // 2607 // * TooManyRequestsException 2608 // The maximum request rate permitted by the App Mesh APIs has been exceeded 2609 // for your account. For best results, use an increasing or variable sleep interval 2610 // between requests. 2611 // 2612 // * ForbiddenException 2613 // You don't have permissions to perform this action. 2614 // 2615 // * ServiceUnavailableException 2616 // The request has failed due to a temporary failure of the service. 2617 // 2618 // * InternalServerErrorException 2619 // The request processing has failed because of an unknown error, exception, 2620 // or failure. 2621 // 2622 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListRoutes 2623 func (c *AppMesh) ListRoutes(input *ListRoutesInput) (*ListRoutesOutput, error) { 2624 req, out := c.ListRoutesRequest(input) 2625 return out, req.Send() 2626 } 2627 2628 // ListRoutesWithContext is the same as ListRoutes with the addition of 2629 // the ability to pass a context and additional request options. 2630 // 2631 // See ListRoutes for details on how to use this API operation. 2632 // 2633 // The context must be non-nil and will be used for request cancellation. If 2634 // the context is nil a panic will occur. In the future the SDK may create 2635 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2636 // for more information on using Contexts. 2637 func (c *AppMesh) ListRoutesWithContext(ctx aws.Context, input *ListRoutesInput, opts ...request.Option) (*ListRoutesOutput, error) { 2638 req, out := c.ListRoutesRequest(input) 2639 req.SetContext(ctx) 2640 req.ApplyOptions(opts...) 2641 return out, req.Send() 2642 } 2643 2644 // ListRoutesPages iterates over the pages of a ListRoutes operation, 2645 // calling the "fn" function with the response data for each page. To stop 2646 // iterating, return false from the fn function. 2647 // 2648 // See ListRoutes method for more information on how to use this operation. 2649 // 2650 // Note: This operation can generate multiple requests to a service. 2651 // 2652 // // Example iterating over at most 3 pages of a ListRoutes operation. 2653 // pageNum := 0 2654 // err := client.ListRoutesPages(params, 2655 // func(page *appmesh.ListRoutesOutput, lastPage bool) bool { 2656 // pageNum++ 2657 // fmt.Println(page) 2658 // return pageNum <= 3 2659 // }) 2660 // 2661 func (c *AppMesh) ListRoutesPages(input *ListRoutesInput, fn func(*ListRoutesOutput, bool) bool) error { 2662 return c.ListRoutesPagesWithContext(aws.BackgroundContext(), input, fn) 2663 } 2664 2665 // ListRoutesPagesWithContext same as ListRoutesPages except 2666 // it takes a Context and allows setting request options on the pages. 2667 // 2668 // The context must be non-nil and will be used for request cancellation. If 2669 // the context is nil a panic will occur. In the future the SDK may create 2670 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2671 // for more information on using Contexts. 2672 func (c *AppMesh) ListRoutesPagesWithContext(ctx aws.Context, input *ListRoutesInput, fn func(*ListRoutesOutput, bool) bool, opts ...request.Option) error { 2673 p := request.Pagination{ 2674 NewRequest: func() (*request.Request, error) { 2675 var inCpy *ListRoutesInput 2676 if input != nil { 2677 tmp := *input 2678 inCpy = &tmp 2679 } 2680 req, _ := c.ListRoutesRequest(inCpy) 2681 req.SetContext(ctx) 2682 req.ApplyOptions(opts...) 2683 return req, nil 2684 }, 2685 } 2686 2687 for p.Next() { 2688 if !fn(p.Page().(*ListRoutesOutput), !p.HasNextPage()) { 2689 break 2690 } 2691 } 2692 2693 return p.Err() 2694 } 2695 2696 const opListTagsForResource = "ListTagsForResource" 2697 2698 // ListTagsForResourceRequest generates a "aws/request.Request" representing the 2699 // client's request for the ListTagsForResource operation. The "output" return 2700 // value will be populated with the request's response once the request completes 2701 // successfully. 2702 // 2703 // Use "Send" method on the returned Request to send the API call to the service. 2704 // the "output" return value is not valid until after Send returns without error. 2705 // 2706 // See ListTagsForResource for more information on using the ListTagsForResource 2707 // API call, and error handling. 2708 // 2709 // This method is useful when you want to inject custom logic or configuration 2710 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2711 // 2712 // 2713 // // Example sending a request using the ListTagsForResourceRequest method. 2714 // req, resp := client.ListTagsForResourceRequest(params) 2715 // 2716 // err := req.Send() 2717 // if err == nil { // resp is now filled 2718 // fmt.Println(resp) 2719 // } 2720 // 2721 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource 2722 func (c *AppMesh) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2723 op := &request.Operation{ 2724 Name: opListTagsForResource, 2725 HTTPMethod: "GET", 2726 HTTPPath: "/v20190125/tags", 2727 Paginator: &request.Paginator{ 2728 InputTokens: []string{"nextToken"}, 2729 OutputTokens: []string{"nextToken"}, 2730 LimitToken: "limit", 2731 TruncationToken: "", 2732 }, 2733 } 2734 2735 if input == nil { 2736 input = &ListTagsForResourceInput{} 2737 } 2738 2739 output = &ListTagsForResourceOutput{} 2740 req = c.newRequest(op, input, output) 2741 return 2742 } 2743 2744 // ListTagsForResource API operation for AWS App Mesh. 2745 // 2746 // List the tags for an App Mesh resource. 2747 // 2748 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2749 // with awserr.Error's Code and Message methods to get detailed information about 2750 // the error. 2751 // 2752 // See the AWS API reference guide for AWS App Mesh's 2753 // API operation ListTagsForResource for usage and error information. 2754 // 2755 // Returned Error Types: 2756 // * NotFoundException 2757 // The specified resource doesn't exist. Check your request syntax and try again. 2758 // 2759 // * BadRequestException 2760 // The request syntax was malformed. Check your request syntax and try again. 2761 // 2762 // * TooManyRequestsException 2763 // The maximum request rate permitted by the App Mesh APIs has been exceeded 2764 // for your account. For best results, use an increasing or variable sleep interval 2765 // between requests. 2766 // 2767 // * ForbiddenException 2768 // You don't have permissions to perform this action. 2769 // 2770 // * ServiceUnavailableException 2771 // The request has failed due to a temporary failure of the service. 2772 // 2773 // * InternalServerErrorException 2774 // The request processing has failed because of an unknown error, exception, 2775 // or failure. 2776 // 2777 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource 2778 func (c *AppMesh) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2779 req, out := c.ListTagsForResourceRequest(input) 2780 return out, req.Send() 2781 } 2782 2783 // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2784 // the ability to pass a context and additional request options. 2785 // 2786 // See ListTagsForResource for details on how to use this API operation. 2787 // 2788 // The context must be non-nil and will be used for request cancellation. If 2789 // the context is nil a panic will occur. In the future the SDK may create 2790 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2791 // for more information on using Contexts. 2792 func (c *AppMesh) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2793 req, out := c.ListTagsForResourceRequest(input) 2794 req.SetContext(ctx) 2795 req.ApplyOptions(opts...) 2796 return out, req.Send() 2797 } 2798 2799 // ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, 2800 // calling the "fn" function with the response data for each page. To stop 2801 // iterating, return false from the fn function. 2802 // 2803 // See ListTagsForResource method for more information on how to use this operation. 2804 // 2805 // Note: This operation can generate multiple requests to a service. 2806 // 2807 // // Example iterating over at most 3 pages of a ListTagsForResource operation. 2808 // pageNum := 0 2809 // err := client.ListTagsForResourcePages(params, 2810 // func(page *appmesh.ListTagsForResourceOutput, lastPage bool) bool { 2811 // pageNum++ 2812 // fmt.Println(page) 2813 // return pageNum <= 3 2814 // }) 2815 // 2816 func (c *AppMesh) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { 2817 return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) 2818 } 2819 2820 // ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except 2821 // it takes a Context and allows setting request options on the pages. 2822 // 2823 // The context must be non-nil and will be used for request cancellation. If 2824 // the context is nil a panic will occur. In the future the SDK may create 2825 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2826 // for more information on using Contexts. 2827 func (c *AppMesh) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { 2828 p := request.Pagination{ 2829 NewRequest: func() (*request.Request, error) { 2830 var inCpy *ListTagsForResourceInput 2831 if input != nil { 2832 tmp := *input 2833 inCpy = &tmp 2834 } 2835 req, _ := c.ListTagsForResourceRequest(inCpy) 2836 req.SetContext(ctx) 2837 req.ApplyOptions(opts...) 2838 return req, nil 2839 }, 2840 } 2841 2842 for p.Next() { 2843 if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { 2844 break 2845 } 2846 } 2847 2848 return p.Err() 2849 } 2850 2851 const opListVirtualGateways = "ListVirtualGateways" 2852 2853 // ListVirtualGatewaysRequest generates a "aws/request.Request" representing the 2854 // client's request for the ListVirtualGateways operation. The "output" return 2855 // value will be populated with the request's response once the request completes 2856 // successfully. 2857 // 2858 // Use "Send" method on the returned Request to send the API call to the service. 2859 // the "output" return value is not valid until after Send returns without error. 2860 // 2861 // See ListVirtualGateways for more information on using the ListVirtualGateways 2862 // API call, and error handling. 2863 // 2864 // This method is useful when you want to inject custom logic or configuration 2865 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2866 // 2867 // 2868 // // Example sending a request using the ListVirtualGatewaysRequest method. 2869 // req, resp := client.ListVirtualGatewaysRequest(params) 2870 // 2871 // err := req.Send() 2872 // if err == nil { // resp is now filled 2873 // fmt.Println(resp) 2874 // } 2875 // 2876 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways 2877 func (c *AppMesh) ListVirtualGatewaysRequest(input *ListVirtualGatewaysInput) (req *request.Request, output *ListVirtualGatewaysOutput) { 2878 op := &request.Operation{ 2879 Name: opListVirtualGateways, 2880 HTTPMethod: "GET", 2881 HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways", 2882 Paginator: &request.Paginator{ 2883 InputTokens: []string{"nextToken"}, 2884 OutputTokens: []string{"nextToken"}, 2885 LimitToken: "limit", 2886 TruncationToken: "", 2887 }, 2888 } 2889 2890 if input == nil { 2891 input = &ListVirtualGatewaysInput{} 2892 } 2893 2894 output = &ListVirtualGatewaysOutput{} 2895 req = c.newRequest(op, input, output) 2896 return 2897 } 2898 2899 // ListVirtualGateways API operation for AWS App Mesh. 2900 // 2901 // Returns a list of existing virtual gateways in a service mesh. 2902 // 2903 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2904 // with awserr.Error's Code and Message methods to get detailed information about 2905 // the error. 2906 // 2907 // See the AWS API reference guide for AWS App Mesh's 2908 // API operation ListVirtualGateways for usage and error information. 2909 // 2910 // Returned Error Types: 2911 // * NotFoundException 2912 // The specified resource doesn't exist. Check your request syntax and try again. 2913 // 2914 // * BadRequestException 2915 // The request syntax was malformed. Check your request syntax and try again. 2916 // 2917 // * TooManyRequestsException 2918 // The maximum request rate permitted by the App Mesh APIs has been exceeded 2919 // for your account. For best results, use an increasing or variable sleep interval 2920 // between requests. 2921 // 2922 // * ForbiddenException 2923 // You don't have permissions to perform this action. 2924 // 2925 // * ServiceUnavailableException 2926 // The request has failed due to a temporary failure of the service. 2927 // 2928 // * InternalServerErrorException 2929 // The request processing has failed because of an unknown error, exception, 2930 // or failure. 2931 // 2932 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways 2933 func (c *AppMesh) ListVirtualGateways(input *ListVirtualGatewaysInput) (*ListVirtualGatewaysOutput, error) { 2934 req, out := c.ListVirtualGatewaysRequest(input) 2935 return out, req.Send() 2936 } 2937 2938 // ListVirtualGatewaysWithContext is the same as ListVirtualGateways with the addition of 2939 // the ability to pass a context and additional request options. 2940 // 2941 // See ListVirtualGateways for details on how to use this API operation. 2942 // 2943 // The context must be non-nil and will be used for request cancellation. If 2944 // the context is nil a panic will occur. In the future the SDK may create 2945 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2946 // for more information on using Contexts. 2947 func (c *AppMesh) ListVirtualGatewaysWithContext(ctx aws.Context, input *ListVirtualGatewaysInput, opts ...request.Option) (*ListVirtualGatewaysOutput, error) { 2948 req, out := c.ListVirtualGatewaysRequest(input) 2949 req.SetContext(ctx) 2950 req.ApplyOptions(opts...) 2951 return out, req.Send() 2952 } 2953 2954 // ListVirtualGatewaysPages iterates over the pages of a ListVirtualGateways operation, 2955 // calling the "fn" function with the response data for each page. To stop 2956 // iterating, return false from the fn function. 2957 // 2958 // See ListVirtualGateways method for more information on how to use this operation. 2959 // 2960 // Note: This operation can generate multiple requests to a service. 2961 // 2962 // // Example iterating over at most 3 pages of a ListVirtualGateways operation. 2963 // pageNum := 0 2964 // err := client.ListVirtualGatewaysPages(params, 2965 // func(page *appmesh.ListVirtualGatewaysOutput, lastPage bool) bool { 2966 // pageNum++ 2967 // fmt.Println(page) 2968 // return pageNum <= 3 2969 // }) 2970 // 2971 func (c *AppMesh) ListVirtualGatewaysPages(input *ListVirtualGatewaysInput, fn func(*ListVirtualGatewaysOutput, bool) bool) error { 2972 return c.ListVirtualGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) 2973 } 2974 2975 // ListVirtualGatewaysPagesWithContext same as ListVirtualGatewaysPages except 2976 // it takes a Context and allows setting request options on the pages. 2977 // 2978 // The context must be non-nil and will be used for request cancellation. If 2979 // the context is nil a panic will occur. In the future the SDK may create 2980 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2981 // for more information on using Contexts. 2982 func (c *AppMesh) ListVirtualGatewaysPagesWithContext(ctx aws.Context, input *ListVirtualGatewaysInput, fn func(*ListVirtualGatewaysOutput, bool) bool, opts ...request.Option) error { 2983 p := request.Pagination{ 2984 NewRequest: func() (*request.Request, error) { 2985 var inCpy *ListVirtualGatewaysInput 2986 if input != nil { 2987 tmp := *input 2988 inCpy = &tmp 2989 } 2990 req, _ := c.ListVirtualGatewaysRequest(inCpy) 2991 req.SetContext(ctx) 2992 req.ApplyOptions(opts...) 2993 return req, nil 2994 }, 2995 } 2996 2997 for p.Next() { 2998 if !fn(p.Page().(*ListVirtualGatewaysOutput), !p.HasNextPage()) { 2999 break 3000 } 3001 } 3002 3003 return p.Err() 3004 } 3005 3006 const opListVirtualNodes = "ListVirtualNodes" 3007 3008 // ListVirtualNodesRequest generates a "aws/request.Request" representing the 3009 // client's request for the ListVirtualNodes operation. The "output" return 3010 // value will be populated with the request's response once the request completes 3011 // successfully. 3012 // 3013 // Use "Send" method on the returned Request to send the API call to the service. 3014 // the "output" return value is not valid until after Send returns without error. 3015 // 3016 // See ListVirtualNodes for more information on using the ListVirtualNodes 3017 // API call, and error handling. 3018 // 3019 // This method is useful when you want to inject custom logic or configuration 3020 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3021 // 3022 // 3023 // // Example sending a request using the ListVirtualNodesRequest method. 3024 // req, resp := client.ListVirtualNodesRequest(params) 3025 // 3026 // err := req.Send() 3027 // if err == nil { // resp is now filled 3028 // fmt.Println(resp) 3029 // } 3030 // 3031 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes 3032 func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *request.Request, output *ListVirtualNodesOutput) { 3033 op := &request.Operation{ 3034 Name: opListVirtualNodes, 3035 HTTPMethod: "GET", 3036 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes", 3037 Paginator: &request.Paginator{ 3038 InputTokens: []string{"nextToken"}, 3039 OutputTokens: []string{"nextToken"}, 3040 LimitToken: "limit", 3041 TruncationToken: "", 3042 }, 3043 } 3044 3045 if input == nil { 3046 input = &ListVirtualNodesInput{} 3047 } 3048 3049 output = &ListVirtualNodesOutput{} 3050 req = c.newRequest(op, input, output) 3051 return 3052 } 3053 3054 // ListVirtualNodes API operation for AWS App Mesh. 3055 // 3056 // Returns a list of existing virtual nodes. 3057 // 3058 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3059 // with awserr.Error's Code and Message methods to get detailed information about 3060 // the error. 3061 // 3062 // See the AWS API reference guide for AWS App Mesh's 3063 // API operation ListVirtualNodes for usage and error information. 3064 // 3065 // Returned Error Types: 3066 // * NotFoundException 3067 // The specified resource doesn't exist. Check your request syntax and try again. 3068 // 3069 // * BadRequestException 3070 // The request syntax was malformed. Check your request syntax and try again. 3071 // 3072 // * TooManyRequestsException 3073 // The maximum request rate permitted by the App Mesh APIs has been exceeded 3074 // for your account. For best results, use an increasing or variable sleep interval 3075 // between requests. 3076 // 3077 // * ForbiddenException 3078 // You don't have permissions to perform this action. 3079 // 3080 // * ServiceUnavailableException 3081 // The request has failed due to a temporary failure of the service. 3082 // 3083 // * InternalServerErrorException 3084 // The request processing has failed because of an unknown error, exception, 3085 // or failure. 3086 // 3087 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes 3088 func (c *AppMesh) ListVirtualNodes(input *ListVirtualNodesInput) (*ListVirtualNodesOutput, error) { 3089 req, out := c.ListVirtualNodesRequest(input) 3090 return out, req.Send() 3091 } 3092 3093 // ListVirtualNodesWithContext is the same as ListVirtualNodes with the addition of 3094 // the ability to pass a context and additional request options. 3095 // 3096 // See ListVirtualNodes for details on how to use this API operation. 3097 // 3098 // The context must be non-nil and will be used for request cancellation. If 3099 // the context is nil a panic will occur. In the future the SDK may create 3100 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3101 // for more information on using Contexts. 3102 func (c *AppMesh) ListVirtualNodesWithContext(ctx aws.Context, input *ListVirtualNodesInput, opts ...request.Option) (*ListVirtualNodesOutput, error) { 3103 req, out := c.ListVirtualNodesRequest(input) 3104 req.SetContext(ctx) 3105 req.ApplyOptions(opts...) 3106 return out, req.Send() 3107 } 3108 3109 // ListVirtualNodesPages iterates over the pages of a ListVirtualNodes operation, 3110 // calling the "fn" function with the response data for each page. To stop 3111 // iterating, return false from the fn function. 3112 // 3113 // See ListVirtualNodes method for more information on how to use this operation. 3114 // 3115 // Note: This operation can generate multiple requests to a service. 3116 // 3117 // // Example iterating over at most 3 pages of a ListVirtualNodes operation. 3118 // pageNum := 0 3119 // err := client.ListVirtualNodesPages(params, 3120 // func(page *appmesh.ListVirtualNodesOutput, lastPage bool) bool { 3121 // pageNum++ 3122 // fmt.Println(page) 3123 // return pageNum <= 3 3124 // }) 3125 // 3126 func (c *AppMesh) ListVirtualNodesPages(input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool) error { 3127 return c.ListVirtualNodesPagesWithContext(aws.BackgroundContext(), input, fn) 3128 } 3129 3130 // ListVirtualNodesPagesWithContext same as ListVirtualNodesPages except 3131 // it takes a Context and allows setting request options on the pages. 3132 // 3133 // The context must be non-nil and will be used for request cancellation. If 3134 // the context is nil a panic will occur. In the future the SDK may create 3135 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3136 // for more information on using Contexts. 3137 func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool, opts ...request.Option) error { 3138 p := request.Pagination{ 3139 NewRequest: func() (*request.Request, error) { 3140 var inCpy *ListVirtualNodesInput 3141 if input != nil { 3142 tmp := *input 3143 inCpy = &tmp 3144 } 3145 req, _ := c.ListVirtualNodesRequest(inCpy) 3146 req.SetContext(ctx) 3147 req.ApplyOptions(opts...) 3148 return req, nil 3149 }, 3150 } 3151 3152 for p.Next() { 3153 if !fn(p.Page().(*ListVirtualNodesOutput), !p.HasNextPage()) { 3154 break 3155 } 3156 } 3157 3158 return p.Err() 3159 } 3160 3161 const opListVirtualRouters = "ListVirtualRouters" 3162 3163 // ListVirtualRoutersRequest generates a "aws/request.Request" representing the 3164 // client's request for the ListVirtualRouters operation. The "output" return 3165 // value will be populated with the request's response once the request completes 3166 // successfully. 3167 // 3168 // Use "Send" method on the returned Request to send the API call to the service. 3169 // the "output" return value is not valid until after Send returns without error. 3170 // 3171 // See ListVirtualRouters for more information on using the ListVirtualRouters 3172 // API call, and error handling. 3173 // 3174 // This method is useful when you want to inject custom logic or configuration 3175 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3176 // 3177 // 3178 // // Example sending a request using the ListVirtualRoutersRequest method. 3179 // req, resp := client.ListVirtualRoutersRequest(params) 3180 // 3181 // err := req.Send() 3182 // if err == nil { // resp is now filled 3183 // fmt.Println(resp) 3184 // } 3185 // 3186 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters 3187 func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req *request.Request, output *ListVirtualRoutersOutput) { 3188 op := &request.Operation{ 3189 Name: opListVirtualRouters, 3190 HTTPMethod: "GET", 3191 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters", 3192 Paginator: &request.Paginator{ 3193 InputTokens: []string{"nextToken"}, 3194 OutputTokens: []string{"nextToken"}, 3195 LimitToken: "limit", 3196 TruncationToken: "", 3197 }, 3198 } 3199 3200 if input == nil { 3201 input = &ListVirtualRoutersInput{} 3202 } 3203 3204 output = &ListVirtualRoutersOutput{} 3205 req = c.newRequest(op, input, output) 3206 return 3207 } 3208 3209 // ListVirtualRouters API operation for AWS App Mesh. 3210 // 3211 // Returns a list of existing virtual routers in a service mesh. 3212 // 3213 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3214 // with awserr.Error's Code and Message methods to get detailed information about 3215 // the error. 3216 // 3217 // See the AWS API reference guide for AWS App Mesh's 3218 // API operation ListVirtualRouters for usage and error information. 3219 // 3220 // Returned Error Types: 3221 // * NotFoundException 3222 // The specified resource doesn't exist. Check your request syntax and try again. 3223 // 3224 // * BadRequestException 3225 // The request syntax was malformed. Check your request syntax and try again. 3226 // 3227 // * TooManyRequestsException 3228 // The maximum request rate permitted by the App Mesh APIs has been exceeded 3229 // for your account. For best results, use an increasing or variable sleep interval 3230 // between requests. 3231 // 3232 // * ForbiddenException 3233 // You don't have permissions to perform this action. 3234 // 3235 // * ServiceUnavailableException 3236 // The request has failed due to a temporary failure of the service. 3237 // 3238 // * InternalServerErrorException 3239 // The request processing has failed because of an unknown error, exception, 3240 // or failure. 3241 // 3242 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters 3243 func (c *AppMesh) ListVirtualRouters(input *ListVirtualRoutersInput) (*ListVirtualRoutersOutput, error) { 3244 req, out := c.ListVirtualRoutersRequest(input) 3245 return out, req.Send() 3246 } 3247 3248 // ListVirtualRoutersWithContext is the same as ListVirtualRouters with the addition of 3249 // the ability to pass a context and additional request options. 3250 // 3251 // See ListVirtualRouters for details on how to use this API operation. 3252 // 3253 // The context must be non-nil and will be used for request cancellation. If 3254 // the context is nil a panic will occur. In the future the SDK may create 3255 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3256 // for more information on using Contexts. 3257 func (c *AppMesh) ListVirtualRoutersWithContext(ctx aws.Context, input *ListVirtualRoutersInput, opts ...request.Option) (*ListVirtualRoutersOutput, error) { 3258 req, out := c.ListVirtualRoutersRequest(input) 3259 req.SetContext(ctx) 3260 req.ApplyOptions(opts...) 3261 return out, req.Send() 3262 } 3263 3264 // ListVirtualRoutersPages iterates over the pages of a ListVirtualRouters operation, 3265 // calling the "fn" function with the response data for each page. To stop 3266 // iterating, return false from the fn function. 3267 // 3268 // See ListVirtualRouters method for more information on how to use this operation. 3269 // 3270 // Note: This operation can generate multiple requests to a service. 3271 // 3272 // // Example iterating over at most 3 pages of a ListVirtualRouters operation. 3273 // pageNum := 0 3274 // err := client.ListVirtualRoutersPages(params, 3275 // func(page *appmesh.ListVirtualRoutersOutput, lastPage bool) bool { 3276 // pageNum++ 3277 // fmt.Println(page) 3278 // return pageNum <= 3 3279 // }) 3280 // 3281 func (c *AppMesh) ListVirtualRoutersPages(input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool) error { 3282 return c.ListVirtualRoutersPagesWithContext(aws.BackgroundContext(), input, fn) 3283 } 3284 3285 // ListVirtualRoutersPagesWithContext same as ListVirtualRoutersPages except 3286 // it takes a Context and allows setting request options on the pages. 3287 // 3288 // The context must be non-nil and will be used for request cancellation. If 3289 // the context is nil a panic will occur. In the future the SDK may create 3290 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3291 // for more information on using Contexts. 3292 func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool, opts ...request.Option) error { 3293 p := request.Pagination{ 3294 NewRequest: func() (*request.Request, error) { 3295 var inCpy *ListVirtualRoutersInput 3296 if input != nil { 3297 tmp := *input 3298 inCpy = &tmp 3299 } 3300 req, _ := c.ListVirtualRoutersRequest(inCpy) 3301 req.SetContext(ctx) 3302 req.ApplyOptions(opts...) 3303 return req, nil 3304 }, 3305 } 3306 3307 for p.Next() { 3308 if !fn(p.Page().(*ListVirtualRoutersOutput), !p.HasNextPage()) { 3309 break 3310 } 3311 } 3312 3313 return p.Err() 3314 } 3315 3316 const opListVirtualServices = "ListVirtualServices" 3317 3318 // ListVirtualServicesRequest generates a "aws/request.Request" representing the 3319 // client's request for the ListVirtualServices operation. The "output" return 3320 // value will be populated with the request's response once the request completes 3321 // successfully. 3322 // 3323 // Use "Send" method on the returned Request to send the API call to the service. 3324 // the "output" return value is not valid until after Send returns without error. 3325 // 3326 // See ListVirtualServices for more information on using the ListVirtualServices 3327 // API call, and error handling. 3328 // 3329 // This method is useful when you want to inject custom logic or configuration 3330 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3331 // 3332 // 3333 // // Example sending a request using the ListVirtualServicesRequest method. 3334 // req, resp := client.ListVirtualServicesRequest(params) 3335 // 3336 // err := req.Send() 3337 // if err == nil { // resp is now filled 3338 // fmt.Println(resp) 3339 // } 3340 // 3341 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualServices 3342 func (c *AppMesh) ListVirtualServicesRequest(input *ListVirtualServicesInput) (req *request.Request, output *ListVirtualServicesOutput) { 3343 op := &request.Operation{ 3344 Name: opListVirtualServices, 3345 HTTPMethod: "GET", 3346 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices", 3347 Paginator: &request.Paginator{ 3348 InputTokens: []string{"nextToken"}, 3349 OutputTokens: []string{"nextToken"}, 3350 LimitToken: "limit", 3351 TruncationToken: "", 3352 }, 3353 } 3354 3355 if input == nil { 3356 input = &ListVirtualServicesInput{} 3357 } 3358 3359 output = &ListVirtualServicesOutput{} 3360 req = c.newRequest(op, input, output) 3361 return 3362 } 3363 3364 // ListVirtualServices API operation for AWS App Mesh. 3365 // 3366 // Returns a list of existing virtual services in a service mesh. 3367 // 3368 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3369 // with awserr.Error's Code and Message methods to get detailed information about 3370 // the error. 3371 // 3372 // See the AWS API reference guide for AWS App Mesh's 3373 // API operation ListVirtualServices for usage and error information. 3374 // 3375 // Returned Error Types: 3376 // * NotFoundException 3377 // The specified resource doesn't exist. Check your request syntax and try again. 3378 // 3379 // * BadRequestException 3380 // The request syntax was malformed. Check your request syntax and try again. 3381 // 3382 // * TooManyRequestsException 3383 // The maximum request rate permitted by the App Mesh APIs has been exceeded 3384 // for your account. For best results, use an increasing or variable sleep interval 3385 // between requests. 3386 // 3387 // * ForbiddenException 3388 // You don't have permissions to perform this action. 3389 // 3390 // * ServiceUnavailableException 3391 // The request has failed due to a temporary failure of the service. 3392 // 3393 // * InternalServerErrorException 3394 // The request processing has failed because of an unknown error, exception, 3395 // or failure. 3396 // 3397 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualServices 3398 func (c *AppMesh) ListVirtualServices(input *ListVirtualServicesInput) (*ListVirtualServicesOutput, error) { 3399 req, out := c.ListVirtualServicesRequest(input) 3400 return out, req.Send() 3401 } 3402 3403 // ListVirtualServicesWithContext is the same as ListVirtualServices with the addition of 3404 // the ability to pass a context and additional request options. 3405 // 3406 // See ListVirtualServices for details on how to use this API operation. 3407 // 3408 // The context must be non-nil and will be used for request cancellation. If 3409 // the context is nil a panic will occur. In the future the SDK may create 3410 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3411 // for more information on using Contexts. 3412 func (c *AppMesh) ListVirtualServicesWithContext(ctx aws.Context, input *ListVirtualServicesInput, opts ...request.Option) (*ListVirtualServicesOutput, error) { 3413 req, out := c.ListVirtualServicesRequest(input) 3414 req.SetContext(ctx) 3415 req.ApplyOptions(opts...) 3416 return out, req.Send() 3417 } 3418 3419 // ListVirtualServicesPages iterates over the pages of a ListVirtualServices operation, 3420 // calling the "fn" function with the response data for each page. To stop 3421 // iterating, return false from the fn function. 3422 // 3423 // See ListVirtualServices method for more information on how to use this operation. 3424 // 3425 // Note: This operation can generate multiple requests to a service. 3426 // 3427 // // Example iterating over at most 3 pages of a ListVirtualServices operation. 3428 // pageNum := 0 3429 // err := client.ListVirtualServicesPages(params, 3430 // func(page *appmesh.ListVirtualServicesOutput, lastPage bool) bool { 3431 // pageNum++ 3432 // fmt.Println(page) 3433 // return pageNum <= 3 3434 // }) 3435 // 3436 func (c *AppMesh) ListVirtualServicesPages(input *ListVirtualServicesInput, fn func(*ListVirtualServicesOutput, bool) bool) error { 3437 return c.ListVirtualServicesPagesWithContext(aws.BackgroundContext(), input, fn) 3438 } 3439 3440 // ListVirtualServicesPagesWithContext same as ListVirtualServicesPages except 3441 // it takes a Context and allows setting request options on the pages. 3442 // 3443 // The context must be non-nil and will be used for request cancellation. If 3444 // the context is nil a panic will occur. In the future the SDK may create 3445 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3446 // for more information on using Contexts. 3447 func (c *AppMesh) ListVirtualServicesPagesWithContext(ctx aws.Context, input *ListVirtualServicesInput, fn func(*ListVirtualServicesOutput, bool) bool, opts ...request.Option) error { 3448 p := request.Pagination{ 3449 NewRequest: func() (*request.Request, error) { 3450 var inCpy *ListVirtualServicesInput 3451 if input != nil { 3452 tmp := *input 3453 inCpy = &tmp 3454 } 3455 req, _ := c.ListVirtualServicesRequest(inCpy) 3456 req.SetContext(ctx) 3457 req.ApplyOptions(opts...) 3458 return req, nil 3459 }, 3460 } 3461 3462 for p.Next() { 3463 if !fn(p.Page().(*ListVirtualServicesOutput), !p.HasNextPage()) { 3464 break 3465 } 3466 } 3467 3468 return p.Err() 3469 } 3470 3471 const opTagResource = "TagResource" 3472 3473 // TagResourceRequest generates a "aws/request.Request" representing the 3474 // client's request for the TagResource operation. The "output" return 3475 // value will be populated with the request's response once the request completes 3476 // successfully. 3477 // 3478 // Use "Send" method on the returned Request to send the API call to the service. 3479 // the "output" return value is not valid until after Send returns without error. 3480 // 3481 // See TagResource for more information on using the TagResource 3482 // API call, and error handling. 3483 // 3484 // This method is useful when you want to inject custom logic or configuration 3485 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3486 // 3487 // 3488 // // Example sending a request using the TagResourceRequest method. 3489 // req, resp := client.TagResourceRequest(params) 3490 // 3491 // err := req.Send() 3492 // if err == nil { // resp is now filled 3493 // fmt.Println(resp) 3494 // } 3495 // 3496 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource 3497 func (c *AppMesh) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 3498 op := &request.Operation{ 3499 Name: opTagResource, 3500 HTTPMethod: "PUT", 3501 HTTPPath: "/v20190125/tag", 3502 } 3503 3504 if input == nil { 3505 input = &TagResourceInput{} 3506 } 3507 3508 output = &TagResourceOutput{} 3509 req = c.newRequest(op, input, output) 3510 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3511 return 3512 } 3513 3514 // TagResource API operation for AWS App Mesh. 3515 // 3516 // Associates the specified tags to a resource with the specified resourceArn. 3517 // If existing tags on a resource aren't specified in the request parameters, 3518 // they aren't changed. When a resource is deleted, the tags associated with 3519 // that resource are also deleted. 3520 // 3521 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3522 // with awserr.Error's Code and Message methods to get detailed information about 3523 // the error. 3524 // 3525 // See the AWS API reference guide for AWS App Mesh's 3526 // API operation TagResource for usage and error information. 3527 // 3528 // Returned Error Types: 3529 // * NotFoundException 3530 // The specified resource doesn't exist. Check your request syntax and try again. 3531 // 3532 // * BadRequestException 3533 // The request syntax was malformed. Check your request syntax and try again. 3534 // 3535 // * TooManyTagsException 3536 // The request exceeds the maximum allowed number of tags allowed per resource. 3537 // The current limit is 50 user tags per resource. You must reduce the number 3538 // of tags in the request. None of the tags in this request were applied. 3539 // 3540 // * TooManyRequestsException 3541 // The maximum request rate permitted by the App Mesh APIs has been exceeded 3542 // for your account. For best results, use an increasing or variable sleep interval 3543 // between requests. 3544 // 3545 // * ForbiddenException 3546 // You don't have permissions to perform this action. 3547 // 3548 // * ServiceUnavailableException 3549 // The request has failed due to a temporary failure of the service. 3550 // 3551 // * InternalServerErrorException 3552 // The request processing has failed because of an unknown error, exception, 3553 // or failure. 3554 // 3555 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource 3556 func (c *AppMesh) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 3557 req, out := c.TagResourceRequest(input) 3558 return out, req.Send() 3559 } 3560 3561 // TagResourceWithContext is the same as TagResource with the addition of 3562 // the ability to pass a context and additional request options. 3563 // 3564 // See TagResource for details on how to use this API operation. 3565 // 3566 // The context must be non-nil and will be used for request cancellation. If 3567 // the context is nil a panic will occur. In the future the SDK may create 3568 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3569 // for more information on using Contexts. 3570 func (c *AppMesh) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 3571 req, out := c.TagResourceRequest(input) 3572 req.SetContext(ctx) 3573 req.ApplyOptions(opts...) 3574 return out, req.Send() 3575 } 3576 3577 const opUntagResource = "UntagResource" 3578 3579 // UntagResourceRequest generates a "aws/request.Request" representing the 3580 // client's request for the UntagResource operation. The "output" return 3581 // value will be populated with the request's response once the request completes 3582 // successfully. 3583 // 3584 // Use "Send" method on the returned Request to send the API call to the service. 3585 // the "output" return value is not valid until after Send returns without error. 3586 // 3587 // See UntagResource for more information on using the UntagResource 3588 // API call, and error handling. 3589 // 3590 // This method is useful when you want to inject custom logic or configuration 3591 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3592 // 3593 // 3594 // // Example sending a request using the UntagResourceRequest method. 3595 // req, resp := client.UntagResourceRequest(params) 3596 // 3597 // err := req.Send() 3598 // if err == nil { // resp is now filled 3599 // fmt.Println(resp) 3600 // } 3601 // 3602 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource 3603 func (c *AppMesh) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 3604 op := &request.Operation{ 3605 Name: opUntagResource, 3606 HTTPMethod: "PUT", 3607 HTTPPath: "/v20190125/untag", 3608 } 3609 3610 if input == nil { 3611 input = &UntagResourceInput{} 3612 } 3613 3614 output = &UntagResourceOutput{} 3615 req = c.newRequest(op, input, output) 3616 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3617 return 3618 } 3619 3620 // UntagResource API operation for AWS App Mesh. 3621 // 3622 // Deletes specified tags from a resource. 3623 // 3624 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3625 // with awserr.Error's Code and Message methods to get detailed information about 3626 // the error. 3627 // 3628 // See the AWS API reference guide for AWS App Mesh's 3629 // API operation UntagResource for usage and error information. 3630 // 3631 // Returned Error Types: 3632 // * NotFoundException 3633 // The specified resource doesn't exist. Check your request syntax and try again. 3634 // 3635 // * BadRequestException 3636 // The request syntax was malformed. Check your request syntax and try again. 3637 // 3638 // * TooManyRequestsException 3639 // The maximum request rate permitted by the App Mesh APIs has been exceeded 3640 // for your account. For best results, use an increasing or variable sleep interval 3641 // between requests. 3642 // 3643 // * ForbiddenException 3644 // You don't have permissions to perform this action. 3645 // 3646 // * ServiceUnavailableException 3647 // The request has failed due to a temporary failure of the service. 3648 // 3649 // * InternalServerErrorException 3650 // The request processing has failed because of an unknown error, exception, 3651 // or failure. 3652 // 3653 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource 3654 func (c *AppMesh) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 3655 req, out := c.UntagResourceRequest(input) 3656 return out, req.Send() 3657 } 3658 3659 // UntagResourceWithContext is the same as UntagResource with the addition of 3660 // the ability to pass a context and additional request options. 3661 // 3662 // See UntagResource for details on how to use this API operation. 3663 // 3664 // The context must be non-nil and will be used for request cancellation. If 3665 // the context is nil a panic will occur. In the future the SDK may create 3666 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3667 // for more information on using Contexts. 3668 func (c *AppMesh) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 3669 req, out := c.UntagResourceRequest(input) 3670 req.SetContext(ctx) 3671 req.ApplyOptions(opts...) 3672 return out, req.Send() 3673 } 3674 3675 const opUpdateGatewayRoute = "UpdateGatewayRoute" 3676 3677 // UpdateGatewayRouteRequest generates a "aws/request.Request" representing the 3678 // client's request for the UpdateGatewayRoute operation. The "output" return 3679 // value will be populated with the request's response once the request completes 3680 // successfully. 3681 // 3682 // Use "Send" method on the returned Request to send the API call to the service. 3683 // the "output" return value is not valid until after Send returns without error. 3684 // 3685 // See UpdateGatewayRoute for more information on using the UpdateGatewayRoute 3686 // API call, and error handling. 3687 // 3688 // This method is useful when you want to inject custom logic or configuration 3689 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3690 // 3691 // 3692 // // Example sending a request using the UpdateGatewayRouteRequest method. 3693 // req, resp := client.UpdateGatewayRouteRequest(params) 3694 // 3695 // err := req.Send() 3696 // if err == nil { // resp is now filled 3697 // fmt.Println(resp) 3698 // } 3699 // 3700 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute 3701 func (c *AppMesh) UpdateGatewayRouteRequest(input *UpdateGatewayRouteInput) (req *request.Request, output *UpdateGatewayRouteOutput) { 3702 op := &request.Operation{ 3703 Name: opUpdateGatewayRoute, 3704 HTTPMethod: "PUT", 3705 HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", 3706 } 3707 3708 if input == nil { 3709 input = &UpdateGatewayRouteInput{} 3710 } 3711 3712 output = &UpdateGatewayRouteOutput{} 3713 req = c.newRequest(op, input, output) 3714 return 3715 } 3716 3717 // UpdateGatewayRoute API operation for AWS App Mesh. 3718 // 3719 // Updates an existing gateway route that is associated to a specified virtual 3720 // gateway in a service mesh. 3721 // 3722 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3723 // with awserr.Error's Code and Message methods to get detailed information about 3724 // the error. 3725 // 3726 // See the AWS API reference guide for AWS App Mesh's 3727 // API operation UpdateGatewayRoute for usage and error information. 3728 // 3729 // Returned Error Types: 3730 // * NotFoundException 3731 // The specified resource doesn't exist. Check your request syntax and try again. 3732 // 3733 // * BadRequestException 3734 // The request syntax was malformed. Check your request syntax and try again. 3735 // 3736 // * ConflictException 3737 // The request contains a client token that was used for a previous update resource 3738 // call with different specifications. Try the request again with a new client 3739 // token. 3740 // 3741 // * TooManyRequestsException 3742 // The maximum request rate permitted by the App Mesh APIs has been exceeded 3743 // for your account. For best results, use an increasing or variable sleep interval 3744 // between requests. 3745 // 3746 // * ForbiddenException 3747 // You don't have permissions to perform this action. 3748 // 3749 // * ServiceUnavailableException 3750 // The request has failed due to a temporary failure of the service. 3751 // 3752 // * InternalServerErrorException 3753 // The request processing has failed because of an unknown error, exception, 3754 // or failure. 3755 // 3756 // * LimitExceededException 3757 // You have exceeded a service limit for your account. For more information, 3758 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 3759 // in the AWS App Mesh User Guide. 3760 // 3761 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute 3762 func (c *AppMesh) UpdateGatewayRoute(input *UpdateGatewayRouteInput) (*UpdateGatewayRouteOutput, error) { 3763 req, out := c.UpdateGatewayRouteRequest(input) 3764 return out, req.Send() 3765 } 3766 3767 // UpdateGatewayRouteWithContext is the same as UpdateGatewayRoute with the addition of 3768 // the ability to pass a context and additional request options. 3769 // 3770 // See UpdateGatewayRoute for details on how to use this API operation. 3771 // 3772 // The context must be non-nil and will be used for request cancellation. If 3773 // the context is nil a panic will occur. In the future the SDK may create 3774 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3775 // for more information on using Contexts. 3776 func (c *AppMesh) UpdateGatewayRouteWithContext(ctx aws.Context, input *UpdateGatewayRouteInput, opts ...request.Option) (*UpdateGatewayRouteOutput, error) { 3777 req, out := c.UpdateGatewayRouteRequest(input) 3778 req.SetContext(ctx) 3779 req.ApplyOptions(opts...) 3780 return out, req.Send() 3781 } 3782 3783 const opUpdateMesh = "UpdateMesh" 3784 3785 // UpdateMeshRequest generates a "aws/request.Request" representing the 3786 // client's request for the UpdateMesh operation. The "output" return 3787 // value will be populated with the request's response once the request completes 3788 // successfully. 3789 // 3790 // Use "Send" method on the returned Request to send the API call to the service. 3791 // the "output" return value is not valid until after Send returns without error. 3792 // 3793 // See UpdateMesh for more information on using the UpdateMesh 3794 // API call, and error handling. 3795 // 3796 // This method is useful when you want to inject custom logic or configuration 3797 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3798 // 3799 // 3800 // // Example sending a request using the UpdateMeshRequest method. 3801 // req, resp := client.UpdateMeshRequest(params) 3802 // 3803 // err := req.Send() 3804 // if err == nil { // resp is now filled 3805 // fmt.Println(resp) 3806 // } 3807 // 3808 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh 3809 func (c *AppMesh) UpdateMeshRequest(input *UpdateMeshInput) (req *request.Request, output *UpdateMeshOutput) { 3810 op := &request.Operation{ 3811 Name: opUpdateMesh, 3812 HTTPMethod: "PUT", 3813 HTTPPath: "/v20190125/meshes/{meshName}", 3814 } 3815 3816 if input == nil { 3817 input = &UpdateMeshInput{} 3818 } 3819 3820 output = &UpdateMeshOutput{} 3821 req = c.newRequest(op, input, output) 3822 return 3823 } 3824 3825 // UpdateMesh API operation for AWS App Mesh. 3826 // 3827 // Updates an existing service mesh. 3828 // 3829 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3830 // with awserr.Error's Code and Message methods to get detailed information about 3831 // the error. 3832 // 3833 // See the AWS API reference guide for AWS App Mesh's 3834 // API operation UpdateMesh for usage and error information. 3835 // 3836 // Returned Error Types: 3837 // * NotFoundException 3838 // The specified resource doesn't exist. Check your request syntax and try again. 3839 // 3840 // * BadRequestException 3841 // The request syntax was malformed. Check your request syntax and try again. 3842 // 3843 // * ConflictException 3844 // The request contains a client token that was used for a previous update resource 3845 // call with different specifications. Try the request again with a new client 3846 // token. 3847 // 3848 // * TooManyRequestsException 3849 // The maximum request rate permitted by the App Mesh APIs has been exceeded 3850 // for your account. For best results, use an increasing or variable sleep interval 3851 // between requests. 3852 // 3853 // * ForbiddenException 3854 // You don't have permissions to perform this action. 3855 // 3856 // * ServiceUnavailableException 3857 // The request has failed due to a temporary failure of the service. 3858 // 3859 // * InternalServerErrorException 3860 // The request processing has failed because of an unknown error, exception, 3861 // or failure. 3862 // 3863 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh 3864 func (c *AppMesh) UpdateMesh(input *UpdateMeshInput) (*UpdateMeshOutput, error) { 3865 req, out := c.UpdateMeshRequest(input) 3866 return out, req.Send() 3867 } 3868 3869 // UpdateMeshWithContext is the same as UpdateMesh with the addition of 3870 // the ability to pass a context and additional request options. 3871 // 3872 // See UpdateMesh for details on how to use this API operation. 3873 // 3874 // The context must be non-nil and will be used for request cancellation. If 3875 // the context is nil a panic will occur. In the future the SDK may create 3876 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3877 // for more information on using Contexts. 3878 func (c *AppMesh) UpdateMeshWithContext(ctx aws.Context, input *UpdateMeshInput, opts ...request.Option) (*UpdateMeshOutput, error) { 3879 req, out := c.UpdateMeshRequest(input) 3880 req.SetContext(ctx) 3881 req.ApplyOptions(opts...) 3882 return out, req.Send() 3883 } 3884 3885 const opUpdateRoute = "UpdateRoute" 3886 3887 // UpdateRouteRequest generates a "aws/request.Request" representing the 3888 // client's request for the UpdateRoute operation. The "output" return 3889 // value will be populated with the request's response once the request completes 3890 // successfully. 3891 // 3892 // Use "Send" method on the returned Request to send the API call to the service. 3893 // the "output" return value is not valid until after Send returns without error. 3894 // 3895 // See UpdateRoute for more information on using the UpdateRoute 3896 // API call, and error handling. 3897 // 3898 // This method is useful when you want to inject custom logic or configuration 3899 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3900 // 3901 // 3902 // // Example sending a request using the UpdateRouteRequest method. 3903 // req, resp := client.UpdateRouteRequest(params) 3904 // 3905 // err := req.Send() 3906 // if err == nil { // resp is now filled 3907 // fmt.Println(resp) 3908 // } 3909 // 3910 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute 3911 func (c *AppMesh) UpdateRouteRequest(input *UpdateRouteInput) (req *request.Request, output *UpdateRouteOutput) { 3912 op := &request.Operation{ 3913 Name: opUpdateRoute, 3914 HTTPMethod: "PUT", 3915 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", 3916 } 3917 3918 if input == nil { 3919 input = &UpdateRouteInput{} 3920 } 3921 3922 output = &UpdateRouteOutput{} 3923 req = c.newRequest(op, input, output) 3924 return 3925 } 3926 3927 // UpdateRoute API operation for AWS App Mesh. 3928 // 3929 // Updates an existing route for a specified service mesh and virtual router. 3930 // 3931 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3932 // with awserr.Error's Code and Message methods to get detailed information about 3933 // the error. 3934 // 3935 // See the AWS API reference guide for AWS App Mesh's 3936 // API operation UpdateRoute for usage and error information. 3937 // 3938 // Returned Error Types: 3939 // * NotFoundException 3940 // The specified resource doesn't exist. Check your request syntax and try again. 3941 // 3942 // * BadRequestException 3943 // The request syntax was malformed. Check your request syntax and try again. 3944 // 3945 // * ConflictException 3946 // The request contains a client token that was used for a previous update resource 3947 // call with different specifications. Try the request again with a new client 3948 // token. 3949 // 3950 // * TooManyRequestsException 3951 // The maximum request rate permitted by the App Mesh APIs has been exceeded 3952 // for your account. For best results, use an increasing or variable sleep interval 3953 // between requests. 3954 // 3955 // * ForbiddenException 3956 // You don't have permissions to perform this action. 3957 // 3958 // * ServiceUnavailableException 3959 // The request has failed due to a temporary failure of the service. 3960 // 3961 // * InternalServerErrorException 3962 // The request processing has failed because of an unknown error, exception, 3963 // or failure. 3964 // 3965 // * LimitExceededException 3966 // You have exceeded a service limit for your account. For more information, 3967 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 3968 // in the AWS App Mesh User Guide. 3969 // 3970 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute 3971 func (c *AppMesh) UpdateRoute(input *UpdateRouteInput) (*UpdateRouteOutput, error) { 3972 req, out := c.UpdateRouteRequest(input) 3973 return out, req.Send() 3974 } 3975 3976 // UpdateRouteWithContext is the same as UpdateRoute with the addition of 3977 // the ability to pass a context and additional request options. 3978 // 3979 // See UpdateRoute for details on how to use this API operation. 3980 // 3981 // The context must be non-nil and will be used for request cancellation. If 3982 // the context is nil a panic will occur. In the future the SDK may create 3983 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3984 // for more information on using Contexts. 3985 func (c *AppMesh) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInput, opts ...request.Option) (*UpdateRouteOutput, error) { 3986 req, out := c.UpdateRouteRequest(input) 3987 req.SetContext(ctx) 3988 req.ApplyOptions(opts...) 3989 return out, req.Send() 3990 } 3991 3992 const opUpdateVirtualGateway = "UpdateVirtualGateway" 3993 3994 // UpdateVirtualGatewayRequest generates a "aws/request.Request" representing the 3995 // client's request for the UpdateVirtualGateway operation. The "output" return 3996 // value will be populated with the request's response once the request completes 3997 // successfully. 3998 // 3999 // Use "Send" method on the returned Request to send the API call to the service. 4000 // the "output" return value is not valid until after Send returns without error. 4001 // 4002 // See UpdateVirtualGateway for more information on using the UpdateVirtualGateway 4003 // API call, and error handling. 4004 // 4005 // This method is useful when you want to inject custom logic or configuration 4006 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4007 // 4008 // 4009 // // Example sending a request using the UpdateVirtualGatewayRequest method. 4010 // req, resp := client.UpdateVirtualGatewayRequest(params) 4011 // 4012 // err := req.Send() 4013 // if err == nil { // resp is now filled 4014 // fmt.Println(resp) 4015 // } 4016 // 4017 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway 4018 func (c *AppMesh) UpdateVirtualGatewayRequest(input *UpdateVirtualGatewayInput) (req *request.Request, output *UpdateVirtualGatewayOutput) { 4019 op := &request.Operation{ 4020 Name: opUpdateVirtualGateway, 4021 HTTPMethod: "PUT", 4022 HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", 4023 } 4024 4025 if input == nil { 4026 input = &UpdateVirtualGatewayInput{} 4027 } 4028 4029 output = &UpdateVirtualGatewayOutput{} 4030 req = c.newRequest(op, input, output) 4031 return 4032 } 4033 4034 // UpdateVirtualGateway API operation for AWS App Mesh. 4035 // 4036 // Updates an existing virtual gateway in a specified service mesh. 4037 // 4038 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4039 // with awserr.Error's Code and Message methods to get detailed information about 4040 // the error. 4041 // 4042 // See the AWS API reference guide for AWS App Mesh's 4043 // API operation UpdateVirtualGateway for usage and error information. 4044 // 4045 // Returned Error Types: 4046 // * NotFoundException 4047 // The specified resource doesn't exist. Check your request syntax and try again. 4048 // 4049 // * BadRequestException 4050 // The request syntax was malformed. Check your request syntax and try again. 4051 // 4052 // * ConflictException 4053 // The request contains a client token that was used for a previous update resource 4054 // call with different specifications. Try the request again with a new client 4055 // token. 4056 // 4057 // * TooManyRequestsException 4058 // The maximum request rate permitted by the App Mesh APIs has been exceeded 4059 // for your account. For best results, use an increasing or variable sleep interval 4060 // between requests. 4061 // 4062 // * ForbiddenException 4063 // You don't have permissions to perform this action. 4064 // 4065 // * ServiceUnavailableException 4066 // The request has failed due to a temporary failure of the service. 4067 // 4068 // * InternalServerErrorException 4069 // The request processing has failed because of an unknown error, exception, 4070 // or failure. 4071 // 4072 // * LimitExceededException 4073 // You have exceeded a service limit for your account. For more information, 4074 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 4075 // in the AWS App Mesh User Guide. 4076 // 4077 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway 4078 func (c *AppMesh) UpdateVirtualGateway(input *UpdateVirtualGatewayInput) (*UpdateVirtualGatewayOutput, error) { 4079 req, out := c.UpdateVirtualGatewayRequest(input) 4080 return out, req.Send() 4081 } 4082 4083 // UpdateVirtualGatewayWithContext is the same as UpdateVirtualGateway with the addition of 4084 // the ability to pass a context and additional request options. 4085 // 4086 // See UpdateVirtualGateway for details on how to use this API operation. 4087 // 4088 // The context must be non-nil and will be used for request cancellation. If 4089 // the context is nil a panic will occur. In the future the SDK may create 4090 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4091 // for more information on using Contexts. 4092 func (c *AppMesh) UpdateVirtualGatewayWithContext(ctx aws.Context, input *UpdateVirtualGatewayInput, opts ...request.Option) (*UpdateVirtualGatewayOutput, error) { 4093 req, out := c.UpdateVirtualGatewayRequest(input) 4094 req.SetContext(ctx) 4095 req.ApplyOptions(opts...) 4096 return out, req.Send() 4097 } 4098 4099 const opUpdateVirtualNode = "UpdateVirtualNode" 4100 4101 // UpdateVirtualNodeRequest generates a "aws/request.Request" representing the 4102 // client's request for the UpdateVirtualNode operation. The "output" return 4103 // value will be populated with the request's response once the request completes 4104 // successfully. 4105 // 4106 // Use "Send" method on the returned Request to send the API call to the service. 4107 // the "output" return value is not valid until after Send returns without error. 4108 // 4109 // See UpdateVirtualNode for more information on using the UpdateVirtualNode 4110 // API call, and error handling. 4111 // 4112 // This method is useful when you want to inject custom logic or configuration 4113 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4114 // 4115 // 4116 // // Example sending a request using the UpdateVirtualNodeRequest method. 4117 // req, resp := client.UpdateVirtualNodeRequest(params) 4118 // 4119 // err := req.Send() 4120 // if err == nil { // resp is now filled 4121 // fmt.Println(resp) 4122 // } 4123 // 4124 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode 4125 func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) { 4126 op := &request.Operation{ 4127 Name: opUpdateVirtualNode, 4128 HTTPMethod: "PUT", 4129 HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", 4130 } 4131 4132 if input == nil { 4133 input = &UpdateVirtualNodeInput{} 4134 } 4135 4136 output = &UpdateVirtualNodeOutput{} 4137 req = c.newRequest(op, input, output) 4138 return 4139 } 4140 4141 // UpdateVirtualNode API operation for AWS App Mesh. 4142 // 4143 // Updates an existing virtual node in a specified service mesh. 4144 // 4145 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4146 // with awserr.Error's Code and Message methods to get detailed information about 4147 // the error. 4148 // 4149 // See the AWS API reference guide for AWS App Mesh's 4150 // API operation UpdateVirtualNode for usage and error information. 4151 // 4152 // Returned Error Types: 4153 // * NotFoundException 4154 // The specified resource doesn't exist. Check your request syntax and try again. 4155 // 4156 // * BadRequestException 4157 // The request syntax was malformed. Check your request syntax and try again. 4158 // 4159 // * ConflictException 4160 // The request contains a client token that was used for a previous update resource 4161 // call with different specifications. Try the request again with a new client 4162 // token. 4163 // 4164 // * TooManyRequestsException 4165 // The maximum request rate permitted by the App Mesh APIs has been exceeded 4166 // for your account. For best results, use an increasing or variable sleep interval 4167 // between requests. 4168 // 4169 // * ForbiddenException 4170 // You don't have permissions to perform this action. 4171 // 4172 // * ServiceUnavailableException 4173 // The request has failed due to a temporary failure of the service. 4174 // 4175 // * InternalServerErrorException 4176 // The request processing has failed because of an unknown error, exception, 4177 // or failure. 4178 // 4179 // * LimitExceededException 4180 // You have exceeded a service limit for your account. For more information, 4181 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 4182 // in the AWS App Mesh User Guide. 4183 // 4184 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode 4185 func (c *AppMesh) UpdateVirtualNode(input *UpdateVirtualNodeInput) (*UpdateVirtualNodeOutput, error) { 4186 req, out := c.UpdateVirtualNodeRequest(input) 4187 return out, req.Send() 4188 } 4189 4190 // UpdateVirtualNodeWithContext is the same as UpdateVirtualNode with the addition of 4191 // the ability to pass a context and additional request options. 4192 // 4193 // See UpdateVirtualNode for details on how to use this API operation. 4194 // 4195 // The context must be non-nil and will be used for request cancellation. If 4196 // the context is nil a panic will occur. In the future the SDK may create 4197 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4198 // for more information on using Contexts. 4199 func (c *AppMesh) UpdateVirtualNodeWithContext(ctx aws.Context, input *UpdateVirtualNodeInput, opts ...request.Option) (*UpdateVirtualNodeOutput, error) { 4200 req, out := c.UpdateVirtualNodeRequest(input) 4201 req.SetContext(ctx) 4202 req.ApplyOptions(opts...) 4203 return out, req.Send() 4204 } 4205 4206 const opUpdateVirtualRouter = "UpdateVirtualRouter" 4207 4208 // UpdateVirtualRouterRequest generates a "aws/request.Request" representing the 4209 // client's request for the UpdateVirtualRouter operation. The "output" return 4210 // value will be populated with the request's response once the request completes 4211 // successfully. 4212 // 4213 // Use "Send" method on the returned Request to send the API call to the service. 4214 // the "output" return value is not valid until after Send returns without error. 4215 // 4216 // See UpdateVirtualRouter for more information on using the UpdateVirtualRouter 4217 // API call, and error handling. 4218 // 4219 // This method is useful when you want to inject custom logic or configuration 4220 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4221 // 4222 // 4223 // // Example sending a request using the UpdateVirtualRouterRequest method. 4224 // req, resp := client.UpdateVirtualRouterRequest(params) 4225 // 4226 // err := req.Send() 4227 // if err == nil { // resp is now filled 4228 // fmt.Println(resp) 4229 // } 4230 // 4231 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter 4232 func (c *AppMesh) UpdateVirtualRouterRequest(input *UpdateVirtualRouterInput) (req *request.Request, output *UpdateVirtualRouterOutput) { 4233 op := &request.Operation{ 4234 Name: opUpdateVirtualRouter, 4235 HTTPMethod: "PUT", 4236 HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", 4237 } 4238 4239 if input == nil { 4240 input = &UpdateVirtualRouterInput{} 4241 } 4242 4243 output = &UpdateVirtualRouterOutput{} 4244 req = c.newRequest(op, input, output) 4245 return 4246 } 4247 4248 // UpdateVirtualRouter API operation for AWS App Mesh. 4249 // 4250 // Updates an existing virtual router in a specified service mesh. 4251 // 4252 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4253 // with awserr.Error's Code and Message methods to get detailed information about 4254 // the error. 4255 // 4256 // See the AWS API reference guide for AWS App Mesh's 4257 // API operation UpdateVirtualRouter for usage and error information. 4258 // 4259 // Returned Error Types: 4260 // * NotFoundException 4261 // The specified resource doesn't exist. Check your request syntax and try again. 4262 // 4263 // * BadRequestException 4264 // The request syntax was malformed. Check your request syntax and try again. 4265 // 4266 // * ConflictException 4267 // The request contains a client token that was used for a previous update resource 4268 // call with different specifications. Try the request again with a new client 4269 // token. 4270 // 4271 // * TooManyRequestsException 4272 // The maximum request rate permitted by the App Mesh APIs has been exceeded 4273 // for your account. For best results, use an increasing or variable sleep interval 4274 // between requests. 4275 // 4276 // * ForbiddenException 4277 // You don't have permissions to perform this action. 4278 // 4279 // * ServiceUnavailableException 4280 // The request has failed due to a temporary failure of the service. 4281 // 4282 // * InternalServerErrorException 4283 // The request processing has failed because of an unknown error, exception, 4284 // or failure. 4285 // 4286 // * LimitExceededException 4287 // You have exceeded a service limit for your account. For more information, 4288 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 4289 // in the AWS App Mesh User Guide. 4290 // 4291 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter 4292 func (c *AppMesh) UpdateVirtualRouter(input *UpdateVirtualRouterInput) (*UpdateVirtualRouterOutput, error) { 4293 req, out := c.UpdateVirtualRouterRequest(input) 4294 return out, req.Send() 4295 } 4296 4297 // UpdateVirtualRouterWithContext is the same as UpdateVirtualRouter with the addition of 4298 // the ability to pass a context and additional request options. 4299 // 4300 // See UpdateVirtualRouter for details on how to use this API operation. 4301 // 4302 // The context must be non-nil and will be used for request cancellation. If 4303 // the context is nil a panic will occur. In the future the SDK may create 4304 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4305 // for more information on using Contexts. 4306 func (c *AppMesh) UpdateVirtualRouterWithContext(ctx aws.Context, input *UpdateVirtualRouterInput, opts ...request.Option) (*UpdateVirtualRouterOutput, error) { 4307 req, out := c.UpdateVirtualRouterRequest(input) 4308 req.SetContext(ctx) 4309 req.ApplyOptions(opts...) 4310 return out, req.Send() 4311 } 4312 4313 const opUpdateVirtualService = "UpdateVirtualService" 4314 4315 // UpdateVirtualServiceRequest generates a "aws/request.Request" representing the 4316 // client's request for the UpdateVirtualService operation. The "output" return 4317 // value will be populated with the request's response once the request completes 4318 // successfully. 4319 // 4320 // Use "Send" method on the returned Request to send the API call to the service. 4321 // the "output" return value is not valid until after Send returns without error. 4322 // 4323 // See UpdateVirtualService for more information on using the UpdateVirtualService 4324 // API call, and error handling. 4325 // 4326 // This method is useful when you want to inject custom logic or configuration 4327 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4328 // 4329 // 4330 // // Example sending a request using the UpdateVirtualServiceRequest method. 4331 // req, resp := client.UpdateVirtualServiceRequest(params) 4332 // 4333 // err := req.Send() 4334 // if err == nil { // resp is now filled 4335 // fmt.Println(resp) 4336 // } 4337 // 4338 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService 4339 func (c *AppMesh) UpdateVirtualServiceRequest(input *UpdateVirtualServiceInput) (req *request.Request, output *UpdateVirtualServiceOutput) { 4340 op := &request.Operation{ 4341 Name: opUpdateVirtualService, 4342 HTTPMethod: "PUT", 4343 HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", 4344 } 4345 4346 if input == nil { 4347 input = &UpdateVirtualServiceInput{} 4348 } 4349 4350 output = &UpdateVirtualServiceOutput{} 4351 req = c.newRequest(op, input, output) 4352 return 4353 } 4354 4355 // UpdateVirtualService API operation for AWS App Mesh. 4356 // 4357 // Updates an existing virtual service in a specified service mesh. 4358 // 4359 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4360 // with awserr.Error's Code and Message methods to get detailed information about 4361 // the error. 4362 // 4363 // See the AWS API reference guide for AWS App Mesh's 4364 // API operation UpdateVirtualService for usage and error information. 4365 // 4366 // Returned Error Types: 4367 // * NotFoundException 4368 // The specified resource doesn't exist. Check your request syntax and try again. 4369 // 4370 // * BadRequestException 4371 // The request syntax was malformed. Check your request syntax and try again. 4372 // 4373 // * ConflictException 4374 // The request contains a client token that was used for a previous update resource 4375 // call with different specifications. Try the request again with a new client 4376 // token. 4377 // 4378 // * TooManyRequestsException 4379 // The maximum request rate permitted by the App Mesh APIs has been exceeded 4380 // for your account. For best results, use an increasing or variable sleep interval 4381 // between requests. 4382 // 4383 // * ForbiddenException 4384 // You don't have permissions to perform this action. 4385 // 4386 // * ServiceUnavailableException 4387 // The request has failed due to a temporary failure of the service. 4388 // 4389 // * InternalServerErrorException 4390 // The request processing has failed because of an unknown error, exception, 4391 // or failure. 4392 // 4393 // * LimitExceededException 4394 // You have exceeded a service limit for your account. For more information, 4395 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 4396 // in the AWS App Mesh User Guide. 4397 // 4398 // See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService 4399 func (c *AppMesh) UpdateVirtualService(input *UpdateVirtualServiceInput) (*UpdateVirtualServiceOutput, error) { 4400 req, out := c.UpdateVirtualServiceRequest(input) 4401 return out, req.Send() 4402 } 4403 4404 // UpdateVirtualServiceWithContext is the same as UpdateVirtualService with the addition of 4405 // the ability to pass a context and additional request options. 4406 // 4407 // See UpdateVirtualService for details on how to use this API operation. 4408 // 4409 // The context must be non-nil and will be used for request cancellation. If 4410 // the context is nil a panic will occur. In the future the SDK may create 4411 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4412 // for more information on using Contexts. 4413 func (c *AppMesh) UpdateVirtualServiceWithContext(ctx aws.Context, input *UpdateVirtualServiceInput, opts ...request.Option) (*UpdateVirtualServiceOutput, error) { 4414 req, out := c.UpdateVirtualServiceRequest(input) 4415 req.SetContext(ctx) 4416 req.ApplyOptions(opts...) 4417 return out, req.Send() 4418 } 4419 4420 // An object that represents the access logging information for a virtual node. 4421 type AccessLog struct { 4422 _ struct{} `type:"structure"` 4423 4424 // The file object to send virtual node access logs to. 4425 File *FileAccessLog `locationName:"file" type:"structure"` 4426 } 4427 4428 // String returns the string representation. 4429 // 4430 // API parameter values that are decorated as "sensitive" in the API will not 4431 // be included in the string output. The member name will be present, but the 4432 // value will be replaced with "sensitive". 4433 func (s AccessLog) String() string { 4434 return awsutil.Prettify(s) 4435 } 4436 4437 // GoString returns the string representation. 4438 // 4439 // API parameter values that are decorated as "sensitive" in the API will not 4440 // be included in the string output. The member name will be present, but the 4441 // value will be replaced with "sensitive". 4442 func (s AccessLog) GoString() string { 4443 return s.String() 4444 } 4445 4446 // Validate inspects the fields of the type to determine if they are valid. 4447 func (s *AccessLog) Validate() error { 4448 invalidParams := request.ErrInvalidParams{Context: "AccessLog"} 4449 if s.File != nil { 4450 if err := s.File.Validate(); err != nil { 4451 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 4452 } 4453 } 4454 4455 if invalidParams.Len() > 0 { 4456 return invalidParams 4457 } 4458 return nil 4459 } 4460 4461 // SetFile sets the File field's value. 4462 func (s *AccessLog) SetFile(v *FileAccessLog) *AccessLog { 4463 s.File = v 4464 return s 4465 } 4466 4467 // An object that represents the Cloud Map attribute information for your virtual 4468 // node. 4469 // 4470 // AWS Cloud Map is not available in the eu-south-1 Region. 4471 type AwsCloudMapInstanceAttribute struct { 4472 _ struct{} `type:"structure"` 4473 4474 // The name of an Cloud Map service instance attribute key. Any Cloud Map service 4475 // instance that contains the specified key and value is returned. 4476 // 4477 // Key is a required field 4478 Key *string `locationName:"key" min:"1" type:"string" required:"true"` 4479 4480 // The value of an Cloud Map service instance attribute key. Any Cloud Map service 4481 // instance that contains the specified key and value is returned. 4482 // 4483 // Value is a required field 4484 Value *string `locationName:"value" min:"1" type:"string" required:"true"` 4485 } 4486 4487 // String returns the string representation. 4488 // 4489 // API parameter values that are decorated as "sensitive" in the API will not 4490 // be included in the string output. The member name will be present, but the 4491 // value will be replaced with "sensitive". 4492 func (s AwsCloudMapInstanceAttribute) String() string { 4493 return awsutil.Prettify(s) 4494 } 4495 4496 // GoString returns the string representation. 4497 // 4498 // API parameter values that are decorated as "sensitive" in the API will not 4499 // be included in the string output. The member name will be present, but the 4500 // value will be replaced with "sensitive". 4501 func (s AwsCloudMapInstanceAttribute) GoString() string { 4502 return s.String() 4503 } 4504 4505 // Validate inspects the fields of the type to determine if they are valid. 4506 func (s *AwsCloudMapInstanceAttribute) Validate() error { 4507 invalidParams := request.ErrInvalidParams{Context: "AwsCloudMapInstanceAttribute"} 4508 if s.Key == nil { 4509 invalidParams.Add(request.NewErrParamRequired("Key")) 4510 } 4511 if s.Key != nil && len(*s.Key) < 1 { 4512 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 4513 } 4514 if s.Value == nil { 4515 invalidParams.Add(request.NewErrParamRequired("Value")) 4516 } 4517 if s.Value != nil && len(*s.Value) < 1 { 4518 invalidParams.Add(request.NewErrParamMinLen("Value", 1)) 4519 } 4520 4521 if invalidParams.Len() > 0 { 4522 return invalidParams 4523 } 4524 return nil 4525 } 4526 4527 // SetKey sets the Key field's value. 4528 func (s *AwsCloudMapInstanceAttribute) SetKey(v string) *AwsCloudMapInstanceAttribute { 4529 s.Key = &v 4530 return s 4531 } 4532 4533 // SetValue sets the Value field's value. 4534 func (s *AwsCloudMapInstanceAttribute) SetValue(v string) *AwsCloudMapInstanceAttribute { 4535 s.Value = &v 4536 return s 4537 } 4538 4539 // An object that represents the Cloud Map service discovery information for 4540 // your virtual node. 4541 // 4542 // Cloud Map is not available in the eu-south-1 Region. 4543 type AwsCloudMapServiceDiscovery struct { 4544 _ struct{} `type:"structure"` 4545 4546 // A string map that contains attributes with values that you can use to filter 4547 // instances by any custom attribute that you specified when you registered 4548 // the instance. Only instances that match all of the specified key/value pairs 4549 // will be returned. 4550 Attributes []*AwsCloudMapInstanceAttribute `locationName:"attributes" type:"list"` 4551 4552 // The name of the Cloud Map namespace to use. 4553 // 4554 // NamespaceName is a required field 4555 NamespaceName *string `locationName:"namespaceName" min:"1" type:"string" required:"true"` 4556 4557 // The name of the Cloud Map service to use. 4558 // 4559 // ServiceName is a required field 4560 ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"` 4561 } 4562 4563 // String returns the string representation. 4564 // 4565 // API parameter values that are decorated as "sensitive" in the API will not 4566 // be included in the string output. The member name will be present, but the 4567 // value will be replaced with "sensitive". 4568 func (s AwsCloudMapServiceDiscovery) String() string { 4569 return awsutil.Prettify(s) 4570 } 4571 4572 // GoString returns the string representation. 4573 // 4574 // API parameter values that are decorated as "sensitive" in the API will not 4575 // be included in the string output. The member name will be present, but the 4576 // value will be replaced with "sensitive". 4577 func (s AwsCloudMapServiceDiscovery) GoString() string { 4578 return s.String() 4579 } 4580 4581 // Validate inspects the fields of the type to determine if they are valid. 4582 func (s *AwsCloudMapServiceDiscovery) Validate() error { 4583 invalidParams := request.ErrInvalidParams{Context: "AwsCloudMapServiceDiscovery"} 4584 if s.NamespaceName == nil { 4585 invalidParams.Add(request.NewErrParamRequired("NamespaceName")) 4586 } 4587 if s.NamespaceName != nil && len(*s.NamespaceName) < 1 { 4588 invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 1)) 4589 } 4590 if s.ServiceName == nil { 4591 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 4592 } 4593 if s.ServiceName != nil && len(*s.ServiceName) < 1 { 4594 invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1)) 4595 } 4596 if s.Attributes != nil { 4597 for i, v := range s.Attributes { 4598 if v == nil { 4599 continue 4600 } 4601 if err := v.Validate(); err != nil { 4602 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 4603 } 4604 } 4605 } 4606 4607 if invalidParams.Len() > 0 { 4608 return invalidParams 4609 } 4610 return nil 4611 } 4612 4613 // SetAttributes sets the Attributes field's value. 4614 func (s *AwsCloudMapServiceDiscovery) SetAttributes(v []*AwsCloudMapInstanceAttribute) *AwsCloudMapServiceDiscovery { 4615 s.Attributes = v 4616 return s 4617 } 4618 4619 // SetNamespaceName sets the NamespaceName field's value. 4620 func (s *AwsCloudMapServiceDiscovery) SetNamespaceName(v string) *AwsCloudMapServiceDiscovery { 4621 s.NamespaceName = &v 4622 return s 4623 } 4624 4625 // SetServiceName sets the ServiceName field's value. 4626 func (s *AwsCloudMapServiceDiscovery) SetServiceName(v string) *AwsCloudMapServiceDiscovery { 4627 s.ServiceName = &v 4628 return s 4629 } 4630 4631 // An object that represents the backends that a virtual node is expected to 4632 // send outbound traffic to. 4633 type Backend struct { 4634 _ struct{} `type:"structure"` 4635 4636 // Specifies a virtual service to use as a backend. 4637 VirtualService *VirtualServiceBackend `locationName:"virtualService" type:"structure"` 4638 } 4639 4640 // String returns the string representation. 4641 // 4642 // API parameter values that are decorated as "sensitive" in the API will not 4643 // be included in the string output. The member name will be present, but the 4644 // value will be replaced with "sensitive". 4645 func (s Backend) String() string { 4646 return awsutil.Prettify(s) 4647 } 4648 4649 // GoString returns the string representation. 4650 // 4651 // API parameter values that are decorated as "sensitive" in the API will not 4652 // be included in the string output. The member name will be present, but the 4653 // value will be replaced with "sensitive". 4654 func (s Backend) GoString() string { 4655 return s.String() 4656 } 4657 4658 // Validate inspects the fields of the type to determine if they are valid. 4659 func (s *Backend) Validate() error { 4660 invalidParams := request.ErrInvalidParams{Context: "Backend"} 4661 if s.VirtualService != nil { 4662 if err := s.VirtualService.Validate(); err != nil { 4663 invalidParams.AddNested("VirtualService", err.(request.ErrInvalidParams)) 4664 } 4665 } 4666 4667 if invalidParams.Len() > 0 { 4668 return invalidParams 4669 } 4670 return nil 4671 } 4672 4673 // SetVirtualService sets the VirtualService field's value. 4674 func (s *Backend) SetVirtualService(v *VirtualServiceBackend) *Backend { 4675 s.VirtualService = v 4676 return s 4677 } 4678 4679 // An object that represents the default properties for a backend. 4680 type BackendDefaults struct { 4681 _ struct{} `type:"structure"` 4682 4683 // A reference to an object that represents a client policy. 4684 ClientPolicy *ClientPolicy `locationName:"clientPolicy" type:"structure"` 4685 } 4686 4687 // String returns the string representation. 4688 // 4689 // API parameter values that are decorated as "sensitive" in the API will not 4690 // be included in the string output. The member name will be present, but the 4691 // value will be replaced with "sensitive". 4692 func (s BackendDefaults) String() string { 4693 return awsutil.Prettify(s) 4694 } 4695 4696 // GoString returns the string representation. 4697 // 4698 // API parameter values that are decorated as "sensitive" in the API will not 4699 // be included in the string output. The member name will be present, but the 4700 // value will be replaced with "sensitive". 4701 func (s BackendDefaults) GoString() string { 4702 return s.String() 4703 } 4704 4705 // Validate inspects the fields of the type to determine if they are valid. 4706 func (s *BackendDefaults) Validate() error { 4707 invalidParams := request.ErrInvalidParams{Context: "BackendDefaults"} 4708 if s.ClientPolicy != nil { 4709 if err := s.ClientPolicy.Validate(); err != nil { 4710 invalidParams.AddNested("ClientPolicy", err.(request.ErrInvalidParams)) 4711 } 4712 } 4713 4714 if invalidParams.Len() > 0 { 4715 return invalidParams 4716 } 4717 return nil 4718 } 4719 4720 // SetClientPolicy sets the ClientPolicy field's value. 4721 func (s *BackendDefaults) SetClientPolicy(v *ClientPolicy) *BackendDefaults { 4722 s.ClientPolicy = v 4723 return s 4724 } 4725 4726 // The request syntax was malformed. Check your request syntax and try again. 4727 type BadRequestException struct { 4728 _ struct{} `type:"structure"` 4729 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4730 4731 Message_ *string `locationName:"message" type:"string"` 4732 } 4733 4734 // String returns the string representation. 4735 // 4736 // API parameter values that are decorated as "sensitive" in the API will not 4737 // be included in the string output. The member name will be present, but the 4738 // value will be replaced with "sensitive". 4739 func (s BadRequestException) String() string { 4740 return awsutil.Prettify(s) 4741 } 4742 4743 // GoString returns the string representation. 4744 // 4745 // API parameter values that are decorated as "sensitive" in the API will not 4746 // be included in the string output. The member name will be present, but the 4747 // value will be replaced with "sensitive". 4748 func (s BadRequestException) GoString() string { 4749 return s.String() 4750 } 4751 4752 func newErrorBadRequestException(v protocol.ResponseMetadata) error { 4753 return &BadRequestException{ 4754 RespMetadata: v, 4755 } 4756 } 4757 4758 // Code returns the exception type name. 4759 func (s *BadRequestException) Code() string { 4760 return "BadRequestException" 4761 } 4762 4763 // Message returns the exception's message. 4764 func (s *BadRequestException) Message() string { 4765 if s.Message_ != nil { 4766 return *s.Message_ 4767 } 4768 return "" 4769 } 4770 4771 // OrigErr always returns nil, satisfies awserr.Error interface. 4772 func (s *BadRequestException) OrigErr() error { 4773 return nil 4774 } 4775 4776 func (s *BadRequestException) Error() string { 4777 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4778 } 4779 4780 // Status code returns the HTTP status code for the request's response error. 4781 func (s *BadRequestException) StatusCode() int { 4782 return s.RespMetadata.StatusCode 4783 } 4784 4785 // RequestID returns the service's response RequestID for request. 4786 func (s *BadRequestException) RequestID() string { 4787 return s.RespMetadata.RequestID 4788 } 4789 4790 // An object that represents a client policy. 4791 type ClientPolicy struct { 4792 _ struct{} `type:"structure"` 4793 4794 // A reference to an object that represents a Transport Layer Security (TLS) 4795 // client policy. 4796 Tls *ClientPolicyTls `locationName:"tls" type:"structure"` 4797 } 4798 4799 // String returns the string representation. 4800 // 4801 // API parameter values that are decorated as "sensitive" in the API will not 4802 // be included in the string output. The member name will be present, but the 4803 // value will be replaced with "sensitive". 4804 func (s ClientPolicy) String() string { 4805 return awsutil.Prettify(s) 4806 } 4807 4808 // GoString returns the string representation. 4809 // 4810 // API parameter values that are decorated as "sensitive" in the API will not 4811 // be included in the string output. The member name will be present, but the 4812 // value will be replaced with "sensitive". 4813 func (s ClientPolicy) GoString() string { 4814 return s.String() 4815 } 4816 4817 // Validate inspects the fields of the type to determine if they are valid. 4818 func (s *ClientPolicy) Validate() error { 4819 invalidParams := request.ErrInvalidParams{Context: "ClientPolicy"} 4820 if s.Tls != nil { 4821 if err := s.Tls.Validate(); err != nil { 4822 invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) 4823 } 4824 } 4825 4826 if invalidParams.Len() > 0 { 4827 return invalidParams 4828 } 4829 return nil 4830 } 4831 4832 // SetTls sets the Tls field's value. 4833 func (s *ClientPolicy) SetTls(v *ClientPolicyTls) *ClientPolicy { 4834 s.Tls = v 4835 return s 4836 } 4837 4838 // A reference to an object that represents a Transport Layer Security (TLS) 4839 // client policy. 4840 type ClientPolicyTls struct { 4841 _ struct{} `type:"structure"` 4842 4843 // A reference to an object that represents a client's TLS certificate. 4844 Certificate *ClientTlsCertificate `locationName:"certificate" type:"structure"` 4845 4846 // Whether the policy is enforced. The default is True, if a value isn't specified. 4847 Enforce *bool `locationName:"enforce" type:"boolean"` 4848 4849 // One or more ports that the policy is enforced for. 4850 Ports []*int64 `locationName:"ports" type:"list"` 4851 4852 // A reference to an object that represents a TLS validation context. 4853 // 4854 // Validation is a required field 4855 Validation *TlsValidationContext `locationName:"validation" type:"structure" required:"true"` 4856 } 4857 4858 // String returns the string representation. 4859 // 4860 // API parameter values that are decorated as "sensitive" in the API will not 4861 // be included in the string output. The member name will be present, but the 4862 // value will be replaced with "sensitive". 4863 func (s ClientPolicyTls) String() string { 4864 return awsutil.Prettify(s) 4865 } 4866 4867 // GoString returns the string representation. 4868 // 4869 // API parameter values that are decorated as "sensitive" in the API will not 4870 // be included in the string output. The member name will be present, but the 4871 // value will be replaced with "sensitive". 4872 func (s ClientPolicyTls) GoString() string { 4873 return s.String() 4874 } 4875 4876 // Validate inspects the fields of the type to determine if they are valid. 4877 func (s *ClientPolicyTls) Validate() error { 4878 invalidParams := request.ErrInvalidParams{Context: "ClientPolicyTls"} 4879 if s.Validation == nil { 4880 invalidParams.Add(request.NewErrParamRequired("Validation")) 4881 } 4882 if s.Certificate != nil { 4883 if err := s.Certificate.Validate(); err != nil { 4884 invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) 4885 } 4886 } 4887 if s.Validation != nil { 4888 if err := s.Validation.Validate(); err != nil { 4889 invalidParams.AddNested("Validation", err.(request.ErrInvalidParams)) 4890 } 4891 } 4892 4893 if invalidParams.Len() > 0 { 4894 return invalidParams 4895 } 4896 return nil 4897 } 4898 4899 // SetCertificate sets the Certificate field's value. 4900 func (s *ClientPolicyTls) SetCertificate(v *ClientTlsCertificate) *ClientPolicyTls { 4901 s.Certificate = v 4902 return s 4903 } 4904 4905 // SetEnforce sets the Enforce field's value. 4906 func (s *ClientPolicyTls) SetEnforce(v bool) *ClientPolicyTls { 4907 s.Enforce = &v 4908 return s 4909 } 4910 4911 // SetPorts sets the Ports field's value. 4912 func (s *ClientPolicyTls) SetPorts(v []*int64) *ClientPolicyTls { 4913 s.Ports = v 4914 return s 4915 } 4916 4917 // SetValidation sets the Validation field's value. 4918 func (s *ClientPolicyTls) SetValidation(v *TlsValidationContext) *ClientPolicyTls { 4919 s.Validation = v 4920 return s 4921 } 4922 4923 // An object that represents the client's certificate. 4924 type ClientTlsCertificate struct { 4925 _ struct{} `type:"structure"` 4926 4927 // An object that represents a local file certificate. The certificate must 4928 // meet specific requirements and you must have proxy authorization enabled. 4929 // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html). 4930 File *ListenerTlsFileCertificate `locationName:"file" type:"structure"` 4931 4932 // A reference to an object that represents a client's TLS Secret Discovery 4933 // Service certificate. 4934 Sds *ListenerTlsSdsCertificate `locationName:"sds" type:"structure"` 4935 } 4936 4937 // String returns the string representation. 4938 // 4939 // API parameter values that are decorated as "sensitive" in the API will not 4940 // be included in the string output. The member name will be present, but the 4941 // value will be replaced with "sensitive". 4942 func (s ClientTlsCertificate) String() string { 4943 return awsutil.Prettify(s) 4944 } 4945 4946 // GoString returns the string representation. 4947 // 4948 // API parameter values that are decorated as "sensitive" in the API will not 4949 // be included in the string output. The member name will be present, but the 4950 // value will be replaced with "sensitive". 4951 func (s ClientTlsCertificate) GoString() string { 4952 return s.String() 4953 } 4954 4955 // Validate inspects the fields of the type to determine if they are valid. 4956 func (s *ClientTlsCertificate) Validate() error { 4957 invalidParams := request.ErrInvalidParams{Context: "ClientTlsCertificate"} 4958 if s.File != nil { 4959 if err := s.File.Validate(); err != nil { 4960 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 4961 } 4962 } 4963 if s.Sds != nil { 4964 if err := s.Sds.Validate(); err != nil { 4965 invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) 4966 } 4967 } 4968 4969 if invalidParams.Len() > 0 { 4970 return invalidParams 4971 } 4972 return nil 4973 } 4974 4975 // SetFile sets the File field's value. 4976 func (s *ClientTlsCertificate) SetFile(v *ListenerTlsFileCertificate) *ClientTlsCertificate { 4977 s.File = v 4978 return s 4979 } 4980 4981 // SetSds sets the Sds field's value. 4982 func (s *ClientTlsCertificate) SetSds(v *ListenerTlsSdsCertificate) *ClientTlsCertificate { 4983 s.Sds = v 4984 return s 4985 } 4986 4987 // The request contains a client token that was used for a previous update resource 4988 // call with different specifications. Try the request again with a new client 4989 // token. 4990 type ConflictException struct { 4991 _ struct{} `type:"structure"` 4992 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4993 4994 Message_ *string `locationName:"message" type:"string"` 4995 } 4996 4997 // String returns the string representation. 4998 // 4999 // API parameter values that are decorated as "sensitive" in the API will not 5000 // be included in the string output. The member name will be present, but the 5001 // value will be replaced with "sensitive". 5002 func (s ConflictException) String() string { 5003 return awsutil.Prettify(s) 5004 } 5005 5006 // GoString returns the string representation. 5007 // 5008 // API parameter values that are decorated as "sensitive" in the API will not 5009 // be included in the string output. The member name will be present, but the 5010 // value will be replaced with "sensitive". 5011 func (s ConflictException) GoString() string { 5012 return s.String() 5013 } 5014 5015 func newErrorConflictException(v protocol.ResponseMetadata) error { 5016 return &ConflictException{ 5017 RespMetadata: v, 5018 } 5019 } 5020 5021 // Code returns the exception type name. 5022 func (s *ConflictException) Code() string { 5023 return "ConflictException" 5024 } 5025 5026 // Message returns the exception's message. 5027 func (s *ConflictException) Message() string { 5028 if s.Message_ != nil { 5029 return *s.Message_ 5030 } 5031 return "" 5032 } 5033 5034 // OrigErr always returns nil, satisfies awserr.Error interface. 5035 func (s *ConflictException) OrigErr() error { 5036 return nil 5037 } 5038 5039 func (s *ConflictException) Error() string { 5040 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5041 } 5042 5043 // Status code returns the HTTP status code for the request's response error. 5044 func (s *ConflictException) StatusCode() int { 5045 return s.RespMetadata.StatusCode 5046 } 5047 5048 // RequestID returns the service's response RequestID for request. 5049 func (s *ConflictException) RequestID() string { 5050 return s.RespMetadata.RequestID 5051 } 5052 5053 type CreateGatewayRouteInput struct { 5054 _ struct{} `type:"structure"` 5055 5056 // Unique, case-sensitive identifier that you provide to ensure the idempotency 5057 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 5058 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 5059 5060 // The name to use for the gateway route. 5061 // 5062 // GatewayRouteName is a required field 5063 GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` 5064 5065 // The name of the service mesh to create the gateway route in. 5066 // 5067 // MeshName is a required field 5068 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 5069 5070 // The AWS IAM account ID of the service mesh owner. If the account ID is not 5071 // your own, then the account that you specify must share the mesh with your 5072 // account before you can create the resource in the service mesh. For more 5073 // information about mesh sharing, see Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 5074 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 5075 5076 // The gateway route specification to apply. 5077 // 5078 // Spec is a required field 5079 Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` 5080 5081 // Optional metadata that you can apply to the gateway route to assist with 5082 // categorization and organization. Each tag consists of a key and an optional 5083 // value, both of which you define. Tag keys can have a maximum character length 5084 // of 128 characters, and tag values can have a maximum length of 256 characters. 5085 Tags []*TagRef `locationName:"tags" type:"list"` 5086 5087 // The name of the virtual gateway to associate the gateway route with. If the 5088 // virtual gateway is in a shared mesh, then you must be the owner of the virtual 5089 // gateway resource. 5090 // 5091 // VirtualGatewayName is a required field 5092 VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 5093 } 5094 5095 // String returns the string representation. 5096 // 5097 // API parameter values that are decorated as "sensitive" in the API will not 5098 // be included in the string output. The member name will be present, but the 5099 // value will be replaced with "sensitive". 5100 func (s CreateGatewayRouteInput) String() string { 5101 return awsutil.Prettify(s) 5102 } 5103 5104 // GoString returns the string representation. 5105 // 5106 // API parameter values that are decorated as "sensitive" in the API will not 5107 // be included in the string output. The member name will be present, but the 5108 // value will be replaced with "sensitive". 5109 func (s CreateGatewayRouteInput) GoString() string { 5110 return s.String() 5111 } 5112 5113 // Validate inspects the fields of the type to determine if they are valid. 5114 func (s *CreateGatewayRouteInput) Validate() error { 5115 invalidParams := request.ErrInvalidParams{Context: "CreateGatewayRouteInput"} 5116 if s.GatewayRouteName == nil { 5117 invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) 5118 } 5119 if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { 5120 invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) 5121 } 5122 if s.MeshName == nil { 5123 invalidParams.Add(request.NewErrParamRequired("MeshName")) 5124 } 5125 if s.MeshName != nil && len(*s.MeshName) < 1 { 5126 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 5127 } 5128 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 5129 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 5130 } 5131 if s.Spec == nil { 5132 invalidParams.Add(request.NewErrParamRequired("Spec")) 5133 } 5134 if s.VirtualGatewayName == nil { 5135 invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) 5136 } 5137 if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { 5138 invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) 5139 } 5140 if s.Spec != nil { 5141 if err := s.Spec.Validate(); err != nil { 5142 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 5143 } 5144 } 5145 if s.Tags != nil { 5146 for i, v := range s.Tags { 5147 if v == nil { 5148 continue 5149 } 5150 if err := v.Validate(); err != nil { 5151 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 5152 } 5153 } 5154 } 5155 5156 if invalidParams.Len() > 0 { 5157 return invalidParams 5158 } 5159 return nil 5160 } 5161 5162 // SetClientToken sets the ClientToken field's value. 5163 func (s *CreateGatewayRouteInput) SetClientToken(v string) *CreateGatewayRouteInput { 5164 s.ClientToken = &v 5165 return s 5166 } 5167 5168 // SetGatewayRouteName sets the GatewayRouteName field's value. 5169 func (s *CreateGatewayRouteInput) SetGatewayRouteName(v string) *CreateGatewayRouteInput { 5170 s.GatewayRouteName = &v 5171 return s 5172 } 5173 5174 // SetMeshName sets the MeshName field's value. 5175 func (s *CreateGatewayRouteInput) SetMeshName(v string) *CreateGatewayRouteInput { 5176 s.MeshName = &v 5177 return s 5178 } 5179 5180 // SetMeshOwner sets the MeshOwner field's value. 5181 func (s *CreateGatewayRouteInput) SetMeshOwner(v string) *CreateGatewayRouteInput { 5182 s.MeshOwner = &v 5183 return s 5184 } 5185 5186 // SetSpec sets the Spec field's value. 5187 func (s *CreateGatewayRouteInput) SetSpec(v *GatewayRouteSpec) *CreateGatewayRouteInput { 5188 s.Spec = v 5189 return s 5190 } 5191 5192 // SetTags sets the Tags field's value. 5193 func (s *CreateGatewayRouteInput) SetTags(v []*TagRef) *CreateGatewayRouteInput { 5194 s.Tags = v 5195 return s 5196 } 5197 5198 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 5199 func (s *CreateGatewayRouteInput) SetVirtualGatewayName(v string) *CreateGatewayRouteInput { 5200 s.VirtualGatewayName = &v 5201 return s 5202 } 5203 5204 type CreateGatewayRouteOutput struct { 5205 _ struct{} `type:"structure" payload:"GatewayRoute"` 5206 5207 // The full description of your gateway route following the create call. 5208 // 5209 // GatewayRoute is a required field 5210 GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` 5211 } 5212 5213 // String returns the string representation. 5214 // 5215 // API parameter values that are decorated as "sensitive" in the API will not 5216 // be included in the string output. The member name will be present, but the 5217 // value will be replaced with "sensitive". 5218 func (s CreateGatewayRouteOutput) String() string { 5219 return awsutil.Prettify(s) 5220 } 5221 5222 // GoString returns the string representation. 5223 // 5224 // API parameter values that are decorated as "sensitive" in the API will not 5225 // be included in the string output. The member name will be present, but the 5226 // value will be replaced with "sensitive". 5227 func (s CreateGatewayRouteOutput) GoString() string { 5228 return s.String() 5229 } 5230 5231 // SetGatewayRoute sets the GatewayRoute field's value. 5232 func (s *CreateGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *CreateGatewayRouteOutput { 5233 s.GatewayRoute = v 5234 return s 5235 } 5236 5237 type CreateMeshInput struct { 5238 _ struct{} `type:"structure"` 5239 5240 // Unique, case-sensitive identifier that you provide to ensure the idempotency 5241 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 5242 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 5243 5244 // The name to use for the service mesh. 5245 // 5246 // MeshName is a required field 5247 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 5248 5249 // The service mesh specification to apply. 5250 Spec *MeshSpec `locationName:"spec" type:"structure"` 5251 5252 // Optional metadata that you can apply to the service mesh to assist with categorization 5253 // and organization. Each tag consists of a key and an optional value, both 5254 // of which you define. Tag keys can have a maximum character length of 128 5255 // characters, and tag values can have a maximum length of 256 characters. 5256 Tags []*TagRef `locationName:"tags" type:"list"` 5257 } 5258 5259 // String returns the string representation. 5260 // 5261 // API parameter values that are decorated as "sensitive" in the API will not 5262 // be included in the string output. The member name will be present, but the 5263 // value will be replaced with "sensitive". 5264 func (s CreateMeshInput) String() string { 5265 return awsutil.Prettify(s) 5266 } 5267 5268 // GoString returns the string representation. 5269 // 5270 // API parameter values that are decorated as "sensitive" in the API will not 5271 // be included in the string output. The member name will be present, but the 5272 // value will be replaced with "sensitive". 5273 func (s CreateMeshInput) GoString() string { 5274 return s.String() 5275 } 5276 5277 // Validate inspects the fields of the type to determine if they are valid. 5278 func (s *CreateMeshInput) Validate() error { 5279 invalidParams := request.ErrInvalidParams{Context: "CreateMeshInput"} 5280 if s.MeshName == nil { 5281 invalidParams.Add(request.NewErrParamRequired("MeshName")) 5282 } 5283 if s.MeshName != nil && len(*s.MeshName) < 1 { 5284 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 5285 } 5286 if s.Spec != nil { 5287 if err := s.Spec.Validate(); err != nil { 5288 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 5289 } 5290 } 5291 if s.Tags != nil { 5292 for i, v := range s.Tags { 5293 if v == nil { 5294 continue 5295 } 5296 if err := v.Validate(); err != nil { 5297 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 5298 } 5299 } 5300 } 5301 5302 if invalidParams.Len() > 0 { 5303 return invalidParams 5304 } 5305 return nil 5306 } 5307 5308 // SetClientToken sets the ClientToken field's value. 5309 func (s *CreateMeshInput) SetClientToken(v string) *CreateMeshInput { 5310 s.ClientToken = &v 5311 return s 5312 } 5313 5314 // SetMeshName sets the MeshName field's value. 5315 func (s *CreateMeshInput) SetMeshName(v string) *CreateMeshInput { 5316 s.MeshName = &v 5317 return s 5318 } 5319 5320 // SetSpec sets the Spec field's value. 5321 func (s *CreateMeshInput) SetSpec(v *MeshSpec) *CreateMeshInput { 5322 s.Spec = v 5323 return s 5324 } 5325 5326 // SetTags sets the Tags field's value. 5327 func (s *CreateMeshInput) SetTags(v []*TagRef) *CreateMeshInput { 5328 s.Tags = v 5329 return s 5330 } 5331 5332 type CreateMeshOutput struct { 5333 _ struct{} `type:"structure" payload:"Mesh"` 5334 5335 // The full description of your service mesh following the create call. 5336 // 5337 // Mesh is a required field 5338 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 5339 } 5340 5341 // String returns the string representation. 5342 // 5343 // API parameter values that are decorated as "sensitive" in the API will not 5344 // be included in the string output. The member name will be present, but the 5345 // value will be replaced with "sensitive". 5346 func (s CreateMeshOutput) String() string { 5347 return awsutil.Prettify(s) 5348 } 5349 5350 // GoString returns the string representation. 5351 // 5352 // API parameter values that are decorated as "sensitive" in the API will not 5353 // be included in the string output. The member name will be present, but the 5354 // value will be replaced with "sensitive". 5355 func (s CreateMeshOutput) GoString() string { 5356 return s.String() 5357 } 5358 5359 // SetMesh sets the Mesh field's value. 5360 func (s *CreateMeshOutput) SetMesh(v *MeshData) *CreateMeshOutput { 5361 s.Mesh = v 5362 return s 5363 } 5364 5365 type CreateRouteInput struct { 5366 _ struct{} `type:"structure"` 5367 5368 // Unique, case-sensitive identifier that you provide to ensure the idempotency 5369 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 5370 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 5371 5372 // The name of the service mesh to create the route in. 5373 // 5374 // MeshName is a required field 5375 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 5376 5377 // The AWS IAM account ID of the service mesh owner. If the account ID is not 5378 // your own, then the account that you specify must share the mesh with your 5379 // account before you can create the resource in the service mesh. For more 5380 // information about mesh sharing, see Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 5381 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 5382 5383 // The name to use for the route. 5384 // 5385 // RouteName is a required field 5386 RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` 5387 5388 // The route specification to apply. 5389 // 5390 // Spec is a required field 5391 Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` 5392 5393 // Optional metadata that you can apply to the route to assist with categorization 5394 // and organization. Each tag consists of a key and an optional value, both 5395 // of which you define. Tag keys can have a maximum character length of 128 5396 // characters, and tag values can have a maximum length of 256 characters. 5397 Tags []*TagRef `locationName:"tags" type:"list"` 5398 5399 // The name of the virtual router in which to create the route. If the virtual 5400 // router is in a shared mesh, then you must be the owner of the virtual router 5401 // resource. 5402 // 5403 // VirtualRouterName is a required field 5404 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 5405 } 5406 5407 // String returns the string representation. 5408 // 5409 // API parameter values that are decorated as "sensitive" in the API will not 5410 // be included in the string output. The member name will be present, but the 5411 // value will be replaced with "sensitive". 5412 func (s CreateRouteInput) String() string { 5413 return awsutil.Prettify(s) 5414 } 5415 5416 // GoString returns the string representation. 5417 // 5418 // API parameter values that are decorated as "sensitive" in the API will not 5419 // be included in the string output. The member name will be present, but the 5420 // value will be replaced with "sensitive". 5421 func (s CreateRouteInput) GoString() string { 5422 return s.String() 5423 } 5424 5425 // Validate inspects the fields of the type to determine if they are valid. 5426 func (s *CreateRouteInput) Validate() error { 5427 invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"} 5428 if s.MeshName == nil { 5429 invalidParams.Add(request.NewErrParamRequired("MeshName")) 5430 } 5431 if s.MeshName != nil && len(*s.MeshName) < 1 { 5432 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 5433 } 5434 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 5435 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 5436 } 5437 if s.RouteName == nil { 5438 invalidParams.Add(request.NewErrParamRequired("RouteName")) 5439 } 5440 if s.RouteName != nil && len(*s.RouteName) < 1 { 5441 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 5442 } 5443 if s.Spec == nil { 5444 invalidParams.Add(request.NewErrParamRequired("Spec")) 5445 } 5446 if s.VirtualRouterName == nil { 5447 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 5448 } 5449 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 5450 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 5451 } 5452 if s.Spec != nil { 5453 if err := s.Spec.Validate(); err != nil { 5454 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 5455 } 5456 } 5457 if s.Tags != nil { 5458 for i, v := range s.Tags { 5459 if v == nil { 5460 continue 5461 } 5462 if err := v.Validate(); err != nil { 5463 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 5464 } 5465 } 5466 } 5467 5468 if invalidParams.Len() > 0 { 5469 return invalidParams 5470 } 5471 return nil 5472 } 5473 5474 // SetClientToken sets the ClientToken field's value. 5475 func (s *CreateRouteInput) SetClientToken(v string) *CreateRouteInput { 5476 s.ClientToken = &v 5477 return s 5478 } 5479 5480 // SetMeshName sets the MeshName field's value. 5481 func (s *CreateRouteInput) SetMeshName(v string) *CreateRouteInput { 5482 s.MeshName = &v 5483 return s 5484 } 5485 5486 // SetMeshOwner sets the MeshOwner field's value. 5487 func (s *CreateRouteInput) SetMeshOwner(v string) *CreateRouteInput { 5488 s.MeshOwner = &v 5489 return s 5490 } 5491 5492 // SetRouteName sets the RouteName field's value. 5493 func (s *CreateRouteInput) SetRouteName(v string) *CreateRouteInput { 5494 s.RouteName = &v 5495 return s 5496 } 5497 5498 // SetSpec sets the Spec field's value. 5499 func (s *CreateRouteInput) SetSpec(v *RouteSpec) *CreateRouteInput { 5500 s.Spec = v 5501 return s 5502 } 5503 5504 // SetTags sets the Tags field's value. 5505 func (s *CreateRouteInput) SetTags(v []*TagRef) *CreateRouteInput { 5506 s.Tags = v 5507 return s 5508 } 5509 5510 // SetVirtualRouterName sets the VirtualRouterName field's value. 5511 func (s *CreateRouteInput) SetVirtualRouterName(v string) *CreateRouteInput { 5512 s.VirtualRouterName = &v 5513 return s 5514 } 5515 5516 type CreateRouteOutput struct { 5517 _ struct{} `type:"structure" payload:"Route"` 5518 5519 // The full description of your mesh following the create call. 5520 // 5521 // Route is a required field 5522 Route *RouteData `locationName:"route" type:"structure" required:"true"` 5523 } 5524 5525 // String returns the string representation. 5526 // 5527 // API parameter values that are decorated as "sensitive" in the API will not 5528 // be included in the string output. The member name will be present, but the 5529 // value will be replaced with "sensitive". 5530 func (s CreateRouteOutput) String() string { 5531 return awsutil.Prettify(s) 5532 } 5533 5534 // GoString returns the string representation. 5535 // 5536 // API parameter values that are decorated as "sensitive" in the API will not 5537 // be included in the string output. The member name will be present, but the 5538 // value will be replaced with "sensitive". 5539 func (s CreateRouteOutput) GoString() string { 5540 return s.String() 5541 } 5542 5543 // SetRoute sets the Route field's value. 5544 func (s *CreateRouteOutput) SetRoute(v *RouteData) *CreateRouteOutput { 5545 s.Route = v 5546 return s 5547 } 5548 5549 type CreateVirtualGatewayInput struct { 5550 _ struct{} `type:"structure"` 5551 5552 // Unique, case-sensitive identifier that you provide to ensure the idempotency 5553 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 5554 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 5555 5556 // The name of the service mesh to create the virtual gateway in. 5557 // 5558 // MeshName is a required field 5559 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 5560 5561 // The AWS IAM account ID of the service mesh owner. If the account ID is not 5562 // your own, then the account that you specify must share the mesh with your 5563 // account before you can create the resource in the service mesh. For more 5564 // information about mesh sharing, see Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 5565 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 5566 5567 // The virtual gateway specification to apply. 5568 // 5569 // Spec is a required field 5570 Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` 5571 5572 // Optional metadata that you can apply to the virtual gateway to assist with 5573 // categorization and organization. Each tag consists of a key and an optional 5574 // value, both of which you define. Tag keys can have a maximum character length 5575 // of 128 characters, and tag values can have a maximum length of 256 characters. 5576 Tags []*TagRef `locationName:"tags" type:"list"` 5577 5578 // The name to use for the virtual gateway. 5579 // 5580 // VirtualGatewayName is a required field 5581 VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 5582 } 5583 5584 // String returns the string representation. 5585 // 5586 // API parameter values that are decorated as "sensitive" in the API will not 5587 // be included in the string output. The member name will be present, but the 5588 // value will be replaced with "sensitive". 5589 func (s CreateVirtualGatewayInput) String() string { 5590 return awsutil.Prettify(s) 5591 } 5592 5593 // GoString returns the string representation. 5594 // 5595 // API parameter values that are decorated as "sensitive" in the API will not 5596 // be included in the string output. The member name will be present, but the 5597 // value will be replaced with "sensitive". 5598 func (s CreateVirtualGatewayInput) GoString() string { 5599 return s.String() 5600 } 5601 5602 // Validate inspects the fields of the type to determine if they are valid. 5603 func (s *CreateVirtualGatewayInput) Validate() error { 5604 invalidParams := request.ErrInvalidParams{Context: "CreateVirtualGatewayInput"} 5605 if s.MeshName == nil { 5606 invalidParams.Add(request.NewErrParamRequired("MeshName")) 5607 } 5608 if s.MeshName != nil && len(*s.MeshName) < 1 { 5609 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 5610 } 5611 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 5612 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 5613 } 5614 if s.Spec == nil { 5615 invalidParams.Add(request.NewErrParamRequired("Spec")) 5616 } 5617 if s.VirtualGatewayName == nil { 5618 invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) 5619 } 5620 if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { 5621 invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) 5622 } 5623 if s.Spec != nil { 5624 if err := s.Spec.Validate(); err != nil { 5625 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 5626 } 5627 } 5628 if s.Tags != nil { 5629 for i, v := range s.Tags { 5630 if v == nil { 5631 continue 5632 } 5633 if err := v.Validate(); err != nil { 5634 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 5635 } 5636 } 5637 } 5638 5639 if invalidParams.Len() > 0 { 5640 return invalidParams 5641 } 5642 return nil 5643 } 5644 5645 // SetClientToken sets the ClientToken field's value. 5646 func (s *CreateVirtualGatewayInput) SetClientToken(v string) *CreateVirtualGatewayInput { 5647 s.ClientToken = &v 5648 return s 5649 } 5650 5651 // SetMeshName sets the MeshName field's value. 5652 func (s *CreateVirtualGatewayInput) SetMeshName(v string) *CreateVirtualGatewayInput { 5653 s.MeshName = &v 5654 return s 5655 } 5656 5657 // SetMeshOwner sets the MeshOwner field's value. 5658 func (s *CreateVirtualGatewayInput) SetMeshOwner(v string) *CreateVirtualGatewayInput { 5659 s.MeshOwner = &v 5660 return s 5661 } 5662 5663 // SetSpec sets the Spec field's value. 5664 func (s *CreateVirtualGatewayInput) SetSpec(v *VirtualGatewaySpec) *CreateVirtualGatewayInput { 5665 s.Spec = v 5666 return s 5667 } 5668 5669 // SetTags sets the Tags field's value. 5670 func (s *CreateVirtualGatewayInput) SetTags(v []*TagRef) *CreateVirtualGatewayInput { 5671 s.Tags = v 5672 return s 5673 } 5674 5675 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 5676 func (s *CreateVirtualGatewayInput) SetVirtualGatewayName(v string) *CreateVirtualGatewayInput { 5677 s.VirtualGatewayName = &v 5678 return s 5679 } 5680 5681 type CreateVirtualGatewayOutput struct { 5682 _ struct{} `type:"structure" payload:"VirtualGateway"` 5683 5684 // The full description of your virtual gateway following the create call. 5685 // 5686 // VirtualGateway is a required field 5687 VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` 5688 } 5689 5690 // String returns the string representation. 5691 // 5692 // API parameter values that are decorated as "sensitive" in the API will not 5693 // be included in the string output. The member name will be present, but the 5694 // value will be replaced with "sensitive". 5695 func (s CreateVirtualGatewayOutput) String() string { 5696 return awsutil.Prettify(s) 5697 } 5698 5699 // GoString returns the string representation. 5700 // 5701 // API parameter values that are decorated as "sensitive" in the API will not 5702 // be included in the string output. The member name will be present, but the 5703 // value will be replaced with "sensitive". 5704 func (s CreateVirtualGatewayOutput) GoString() string { 5705 return s.String() 5706 } 5707 5708 // SetVirtualGateway sets the VirtualGateway field's value. 5709 func (s *CreateVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *CreateVirtualGatewayOutput { 5710 s.VirtualGateway = v 5711 return s 5712 } 5713 5714 type CreateVirtualNodeInput struct { 5715 _ struct{} `type:"structure"` 5716 5717 // Unique, case-sensitive identifier that you provide to ensure the idempotency 5718 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 5719 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 5720 5721 // The name of the service mesh to create the virtual node in. 5722 // 5723 // MeshName is a required field 5724 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 5725 5726 // The AWS IAM account ID of the service mesh owner. If the account ID is not 5727 // your own, then the account that you specify must share the mesh with your 5728 // account before you can create the resource in the service mesh. For more 5729 // information about mesh sharing, see Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 5730 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 5731 5732 // The virtual node specification to apply. 5733 // 5734 // Spec is a required field 5735 Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` 5736 5737 // Optional metadata that you can apply to the virtual node to assist with categorization 5738 // and organization. Each tag consists of a key and an optional value, both 5739 // of which you define. Tag keys can have a maximum character length of 128 5740 // characters, and tag values can have a maximum length of 256 characters. 5741 Tags []*TagRef `locationName:"tags" type:"list"` 5742 5743 // The name to use for the virtual node. 5744 // 5745 // VirtualNodeName is a required field 5746 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 5747 } 5748 5749 // String returns the string representation. 5750 // 5751 // API parameter values that are decorated as "sensitive" in the API will not 5752 // be included in the string output. The member name will be present, but the 5753 // value will be replaced with "sensitive". 5754 func (s CreateVirtualNodeInput) String() string { 5755 return awsutil.Prettify(s) 5756 } 5757 5758 // GoString returns the string representation. 5759 // 5760 // API parameter values that are decorated as "sensitive" in the API will not 5761 // be included in the string output. The member name will be present, but the 5762 // value will be replaced with "sensitive". 5763 func (s CreateVirtualNodeInput) GoString() string { 5764 return s.String() 5765 } 5766 5767 // Validate inspects the fields of the type to determine if they are valid. 5768 func (s *CreateVirtualNodeInput) Validate() error { 5769 invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"} 5770 if s.MeshName == nil { 5771 invalidParams.Add(request.NewErrParamRequired("MeshName")) 5772 } 5773 if s.MeshName != nil && len(*s.MeshName) < 1 { 5774 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 5775 } 5776 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 5777 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 5778 } 5779 if s.Spec == nil { 5780 invalidParams.Add(request.NewErrParamRequired("Spec")) 5781 } 5782 if s.VirtualNodeName == nil { 5783 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 5784 } 5785 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 5786 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 5787 } 5788 if s.Spec != nil { 5789 if err := s.Spec.Validate(); err != nil { 5790 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 5791 } 5792 } 5793 if s.Tags != nil { 5794 for i, v := range s.Tags { 5795 if v == nil { 5796 continue 5797 } 5798 if err := v.Validate(); err != nil { 5799 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 5800 } 5801 } 5802 } 5803 5804 if invalidParams.Len() > 0 { 5805 return invalidParams 5806 } 5807 return nil 5808 } 5809 5810 // SetClientToken sets the ClientToken field's value. 5811 func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput { 5812 s.ClientToken = &v 5813 return s 5814 } 5815 5816 // SetMeshName sets the MeshName field's value. 5817 func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput { 5818 s.MeshName = &v 5819 return s 5820 } 5821 5822 // SetMeshOwner sets the MeshOwner field's value. 5823 func (s *CreateVirtualNodeInput) SetMeshOwner(v string) *CreateVirtualNodeInput { 5824 s.MeshOwner = &v 5825 return s 5826 } 5827 5828 // SetSpec sets the Spec field's value. 5829 func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput { 5830 s.Spec = v 5831 return s 5832 } 5833 5834 // SetTags sets the Tags field's value. 5835 func (s *CreateVirtualNodeInput) SetTags(v []*TagRef) *CreateVirtualNodeInput { 5836 s.Tags = v 5837 return s 5838 } 5839 5840 // SetVirtualNodeName sets the VirtualNodeName field's value. 5841 func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput { 5842 s.VirtualNodeName = &v 5843 return s 5844 } 5845 5846 type CreateVirtualNodeOutput struct { 5847 _ struct{} `type:"structure" payload:"VirtualNode"` 5848 5849 // The full description of your virtual node following the create call. 5850 // 5851 // VirtualNode is a required field 5852 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 5853 } 5854 5855 // String returns the string representation. 5856 // 5857 // API parameter values that are decorated as "sensitive" in the API will not 5858 // be included in the string output. The member name will be present, but the 5859 // value will be replaced with "sensitive". 5860 func (s CreateVirtualNodeOutput) String() string { 5861 return awsutil.Prettify(s) 5862 } 5863 5864 // GoString returns the string representation. 5865 // 5866 // API parameter values that are decorated as "sensitive" in the API will not 5867 // be included in the string output. The member name will be present, but the 5868 // value will be replaced with "sensitive". 5869 func (s CreateVirtualNodeOutput) GoString() string { 5870 return s.String() 5871 } 5872 5873 // SetVirtualNode sets the VirtualNode field's value. 5874 func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput { 5875 s.VirtualNode = v 5876 return s 5877 } 5878 5879 type CreateVirtualRouterInput struct { 5880 _ struct{} `type:"structure"` 5881 5882 // Unique, case-sensitive identifier that you provide to ensure the idempotency 5883 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 5884 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 5885 5886 // The name of the service mesh to create the virtual router in. 5887 // 5888 // MeshName is a required field 5889 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 5890 5891 // The AWS IAM account ID of the service mesh owner. If the account ID is not 5892 // your own, then the account that you specify must share the mesh with your 5893 // account before you can create the resource in the service mesh. For more 5894 // information about mesh sharing, see Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 5895 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 5896 5897 // The virtual router specification to apply. 5898 // 5899 // Spec is a required field 5900 Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` 5901 5902 // Optional metadata that you can apply to the virtual router to assist with 5903 // categorization and organization. Each tag consists of a key and an optional 5904 // value, both of which you define. Tag keys can have a maximum character length 5905 // of 128 characters, and tag values can have a maximum length of 256 characters. 5906 Tags []*TagRef `locationName:"tags" type:"list"` 5907 5908 // The name to use for the virtual router. 5909 // 5910 // VirtualRouterName is a required field 5911 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 5912 } 5913 5914 // String returns the string representation. 5915 // 5916 // API parameter values that are decorated as "sensitive" in the API will not 5917 // be included in the string output. The member name will be present, but the 5918 // value will be replaced with "sensitive". 5919 func (s CreateVirtualRouterInput) String() string { 5920 return awsutil.Prettify(s) 5921 } 5922 5923 // GoString returns the string representation. 5924 // 5925 // API parameter values that are decorated as "sensitive" in the API will not 5926 // be included in the string output. The member name will be present, but the 5927 // value will be replaced with "sensitive". 5928 func (s CreateVirtualRouterInput) GoString() string { 5929 return s.String() 5930 } 5931 5932 // Validate inspects the fields of the type to determine if they are valid. 5933 func (s *CreateVirtualRouterInput) Validate() error { 5934 invalidParams := request.ErrInvalidParams{Context: "CreateVirtualRouterInput"} 5935 if s.MeshName == nil { 5936 invalidParams.Add(request.NewErrParamRequired("MeshName")) 5937 } 5938 if s.MeshName != nil && len(*s.MeshName) < 1 { 5939 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 5940 } 5941 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 5942 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 5943 } 5944 if s.Spec == nil { 5945 invalidParams.Add(request.NewErrParamRequired("Spec")) 5946 } 5947 if s.VirtualRouterName == nil { 5948 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 5949 } 5950 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 5951 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 5952 } 5953 if s.Spec != nil { 5954 if err := s.Spec.Validate(); err != nil { 5955 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 5956 } 5957 } 5958 if s.Tags != nil { 5959 for i, v := range s.Tags { 5960 if v == nil { 5961 continue 5962 } 5963 if err := v.Validate(); err != nil { 5964 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 5965 } 5966 } 5967 } 5968 5969 if invalidParams.Len() > 0 { 5970 return invalidParams 5971 } 5972 return nil 5973 } 5974 5975 // SetClientToken sets the ClientToken field's value. 5976 func (s *CreateVirtualRouterInput) SetClientToken(v string) *CreateVirtualRouterInput { 5977 s.ClientToken = &v 5978 return s 5979 } 5980 5981 // SetMeshName sets the MeshName field's value. 5982 func (s *CreateVirtualRouterInput) SetMeshName(v string) *CreateVirtualRouterInput { 5983 s.MeshName = &v 5984 return s 5985 } 5986 5987 // SetMeshOwner sets the MeshOwner field's value. 5988 func (s *CreateVirtualRouterInput) SetMeshOwner(v string) *CreateVirtualRouterInput { 5989 s.MeshOwner = &v 5990 return s 5991 } 5992 5993 // SetSpec sets the Spec field's value. 5994 func (s *CreateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *CreateVirtualRouterInput { 5995 s.Spec = v 5996 return s 5997 } 5998 5999 // SetTags sets the Tags field's value. 6000 func (s *CreateVirtualRouterInput) SetTags(v []*TagRef) *CreateVirtualRouterInput { 6001 s.Tags = v 6002 return s 6003 } 6004 6005 // SetVirtualRouterName sets the VirtualRouterName field's value. 6006 func (s *CreateVirtualRouterInput) SetVirtualRouterName(v string) *CreateVirtualRouterInput { 6007 s.VirtualRouterName = &v 6008 return s 6009 } 6010 6011 type CreateVirtualRouterOutput struct { 6012 _ struct{} `type:"structure" payload:"VirtualRouter"` 6013 6014 // The full description of your virtual router following the create call. 6015 // 6016 // VirtualRouter is a required field 6017 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 6018 } 6019 6020 // String returns the string representation. 6021 // 6022 // API parameter values that are decorated as "sensitive" in the API will not 6023 // be included in the string output. The member name will be present, but the 6024 // value will be replaced with "sensitive". 6025 func (s CreateVirtualRouterOutput) String() string { 6026 return awsutil.Prettify(s) 6027 } 6028 6029 // GoString returns the string representation. 6030 // 6031 // API parameter values that are decorated as "sensitive" in the API will not 6032 // be included in the string output. The member name will be present, but the 6033 // value will be replaced with "sensitive". 6034 func (s CreateVirtualRouterOutput) GoString() string { 6035 return s.String() 6036 } 6037 6038 // SetVirtualRouter sets the VirtualRouter field's value. 6039 func (s *CreateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *CreateVirtualRouterOutput { 6040 s.VirtualRouter = v 6041 return s 6042 } 6043 6044 type CreateVirtualServiceInput struct { 6045 _ struct{} `type:"structure"` 6046 6047 // Unique, case-sensitive identifier that you provide to ensure the idempotency 6048 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 6049 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 6050 6051 // The name of the service mesh to create the virtual service in. 6052 // 6053 // MeshName is a required field 6054 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6055 6056 // The AWS IAM account ID of the service mesh owner. If the account ID is not 6057 // your own, then the account that you specify must share the mesh with your 6058 // account before you can create the resource in the service mesh. For more 6059 // information about mesh sharing, see Working with shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 6060 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 6061 6062 // The virtual service specification to apply. 6063 // 6064 // Spec is a required field 6065 Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` 6066 6067 // Optional metadata that you can apply to the virtual service to assist with 6068 // categorization and organization. Each tag consists of a key and an optional 6069 // value, both of which you define. Tag keys can have a maximum character length 6070 // of 128 characters, and tag values can have a maximum length of 256 characters. 6071 Tags []*TagRef `locationName:"tags" type:"list"` 6072 6073 // The name to use for the virtual service. 6074 // 6075 // VirtualServiceName is a required field 6076 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 6077 } 6078 6079 // String returns the string representation. 6080 // 6081 // API parameter values that are decorated as "sensitive" in the API will not 6082 // be included in the string output. The member name will be present, but the 6083 // value will be replaced with "sensitive". 6084 func (s CreateVirtualServiceInput) String() string { 6085 return awsutil.Prettify(s) 6086 } 6087 6088 // GoString returns the string representation. 6089 // 6090 // API parameter values that are decorated as "sensitive" in the API will not 6091 // be included in the string output. The member name will be present, but the 6092 // value will be replaced with "sensitive". 6093 func (s CreateVirtualServiceInput) GoString() string { 6094 return s.String() 6095 } 6096 6097 // Validate inspects the fields of the type to determine if they are valid. 6098 func (s *CreateVirtualServiceInput) Validate() error { 6099 invalidParams := request.ErrInvalidParams{Context: "CreateVirtualServiceInput"} 6100 if s.MeshName == nil { 6101 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6102 } 6103 if s.MeshName != nil && len(*s.MeshName) < 1 { 6104 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6105 } 6106 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 6107 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 6108 } 6109 if s.Spec == nil { 6110 invalidParams.Add(request.NewErrParamRequired("Spec")) 6111 } 6112 if s.VirtualServiceName == nil { 6113 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 6114 } 6115 if s.Spec != nil { 6116 if err := s.Spec.Validate(); err != nil { 6117 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 6118 } 6119 } 6120 if s.Tags != nil { 6121 for i, v := range s.Tags { 6122 if v == nil { 6123 continue 6124 } 6125 if err := v.Validate(); err != nil { 6126 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 6127 } 6128 } 6129 } 6130 6131 if invalidParams.Len() > 0 { 6132 return invalidParams 6133 } 6134 return nil 6135 } 6136 6137 // SetClientToken sets the ClientToken field's value. 6138 func (s *CreateVirtualServiceInput) SetClientToken(v string) *CreateVirtualServiceInput { 6139 s.ClientToken = &v 6140 return s 6141 } 6142 6143 // SetMeshName sets the MeshName field's value. 6144 func (s *CreateVirtualServiceInput) SetMeshName(v string) *CreateVirtualServiceInput { 6145 s.MeshName = &v 6146 return s 6147 } 6148 6149 // SetMeshOwner sets the MeshOwner field's value. 6150 func (s *CreateVirtualServiceInput) SetMeshOwner(v string) *CreateVirtualServiceInput { 6151 s.MeshOwner = &v 6152 return s 6153 } 6154 6155 // SetSpec sets the Spec field's value. 6156 func (s *CreateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *CreateVirtualServiceInput { 6157 s.Spec = v 6158 return s 6159 } 6160 6161 // SetTags sets the Tags field's value. 6162 func (s *CreateVirtualServiceInput) SetTags(v []*TagRef) *CreateVirtualServiceInput { 6163 s.Tags = v 6164 return s 6165 } 6166 6167 // SetVirtualServiceName sets the VirtualServiceName field's value. 6168 func (s *CreateVirtualServiceInput) SetVirtualServiceName(v string) *CreateVirtualServiceInput { 6169 s.VirtualServiceName = &v 6170 return s 6171 } 6172 6173 type CreateVirtualServiceOutput struct { 6174 _ struct{} `type:"structure" payload:"VirtualService"` 6175 6176 // The full description of your virtual service following the create call. 6177 // 6178 // VirtualService is a required field 6179 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 6180 } 6181 6182 // String returns the string representation. 6183 // 6184 // API parameter values that are decorated as "sensitive" in the API will not 6185 // be included in the string output. The member name will be present, but the 6186 // value will be replaced with "sensitive". 6187 func (s CreateVirtualServiceOutput) String() string { 6188 return awsutil.Prettify(s) 6189 } 6190 6191 // GoString returns the string representation. 6192 // 6193 // API parameter values that are decorated as "sensitive" in the API will not 6194 // be included in the string output. The member name will be present, but the 6195 // value will be replaced with "sensitive". 6196 func (s CreateVirtualServiceOutput) GoString() string { 6197 return s.String() 6198 } 6199 6200 // SetVirtualService sets the VirtualService field's value. 6201 func (s *CreateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *CreateVirtualServiceOutput { 6202 s.VirtualService = v 6203 return s 6204 } 6205 6206 type DeleteGatewayRouteInput struct { 6207 _ struct{} `type:"structure" nopayload:"true"` 6208 6209 // The name of the gateway route to delete. 6210 // 6211 // GatewayRouteName is a required field 6212 GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` 6213 6214 // The name of the service mesh to delete the gateway route from. 6215 // 6216 // MeshName is a required field 6217 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6218 6219 // The AWS IAM account ID of the service mesh owner. If the account ID is not 6220 // your own, then it's the ID of the account that shared the mesh with your 6221 // account. For more information about mesh sharing, see Working with shared 6222 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 6223 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 6224 6225 // The name of the virtual gateway to delete the route from. 6226 // 6227 // VirtualGatewayName is a required field 6228 VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 6229 } 6230 6231 // String returns the string representation. 6232 // 6233 // API parameter values that are decorated as "sensitive" in the API will not 6234 // be included in the string output. The member name will be present, but the 6235 // value will be replaced with "sensitive". 6236 func (s DeleteGatewayRouteInput) String() string { 6237 return awsutil.Prettify(s) 6238 } 6239 6240 // GoString returns the string representation. 6241 // 6242 // API parameter values that are decorated as "sensitive" in the API will not 6243 // be included in the string output. The member name will be present, but the 6244 // value will be replaced with "sensitive". 6245 func (s DeleteGatewayRouteInput) GoString() string { 6246 return s.String() 6247 } 6248 6249 // Validate inspects the fields of the type to determine if they are valid. 6250 func (s *DeleteGatewayRouteInput) Validate() error { 6251 invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayRouteInput"} 6252 if s.GatewayRouteName == nil { 6253 invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) 6254 } 6255 if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { 6256 invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) 6257 } 6258 if s.MeshName == nil { 6259 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6260 } 6261 if s.MeshName != nil && len(*s.MeshName) < 1 { 6262 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6263 } 6264 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 6265 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 6266 } 6267 if s.VirtualGatewayName == nil { 6268 invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) 6269 } 6270 if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { 6271 invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) 6272 } 6273 6274 if invalidParams.Len() > 0 { 6275 return invalidParams 6276 } 6277 return nil 6278 } 6279 6280 // SetGatewayRouteName sets the GatewayRouteName field's value. 6281 func (s *DeleteGatewayRouteInput) SetGatewayRouteName(v string) *DeleteGatewayRouteInput { 6282 s.GatewayRouteName = &v 6283 return s 6284 } 6285 6286 // SetMeshName sets the MeshName field's value. 6287 func (s *DeleteGatewayRouteInput) SetMeshName(v string) *DeleteGatewayRouteInput { 6288 s.MeshName = &v 6289 return s 6290 } 6291 6292 // SetMeshOwner sets the MeshOwner field's value. 6293 func (s *DeleteGatewayRouteInput) SetMeshOwner(v string) *DeleteGatewayRouteInput { 6294 s.MeshOwner = &v 6295 return s 6296 } 6297 6298 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 6299 func (s *DeleteGatewayRouteInput) SetVirtualGatewayName(v string) *DeleteGatewayRouteInput { 6300 s.VirtualGatewayName = &v 6301 return s 6302 } 6303 6304 type DeleteGatewayRouteOutput struct { 6305 _ struct{} `type:"structure" payload:"GatewayRoute"` 6306 6307 // The gateway route that was deleted. 6308 // 6309 // GatewayRoute is a required field 6310 GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` 6311 } 6312 6313 // String returns the string representation. 6314 // 6315 // API parameter values that are decorated as "sensitive" in the API will not 6316 // be included in the string output. The member name will be present, but the 6317 // value will be replaced with "sensitive". 6318 func (s DeleteGatewayRouteOutput) String() string { 6319 return awsutil.Prettify(s) 6320 } 6321 6322 // GoString returns the string representation. 6323 // 6324 // API parameter values that are decorated as "sensitive" in the API will not 6325 // be included in the string output. The member name will be present, but the 6326 // value will be replaced with "sensitive". 6327 func (s DeleteGatewayRouteOutput) GoString() string { 6328 return s.String() 6329 } 6330 6331 // SetGatewayRoute sets the GatewayRoute field's value. 6332 func (s *DeleteGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *DeleteGatewayRouteOutput { 6333 s.GatewayRoute = v 6334 return s 6335 } 6336 6337 type DeleteMeshInput struct { 6338 _ struct{} `type:"structure" nopayload:"true"` 6339 6340 // The name of the service mesh to delete. 6341 // 6342 // MeshName is a required field 6343 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6344 } 6345 6346 // String returns the string representation. 6347 // 6348 // API parameter values that are decorated as "sensitive" in the API will not 6349 // be included in the string output. The member name will be present, but the 6350 // value will be replaced with "sensitive". 6351 func (s DeleteMeshInput) String() string { 6352 return awsutil.Prettify(s) 6353 } 6354 6355 // GoString returns the string representation. 6356 // 6357 // API parameter values that are decorated as "sensitive" in the API will not 6358 // be included in the string output. The member name will be present, but the 6359 // value will be replaced with "sensitive". 6360 func (s DeleteMeshInput) GoString() string { 6361 return s.String() 6362 } 6363 6364 // Validate inspects the fields of the type to determine if they are valid. 6365 func (s *DeleteMeshInput) Validate() error { 6366 invalidParams := request.ErrInvalidParams{Context: "DeleteMeshInput"} 6367 if s.MeshName == nil { 6368 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6369 } 6370 if s.MeshName != nil && len(*s.MeshName) < 1 { 6371 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6372 } 6373 6374 if invalidParams.Len() > 0 { 6375 return invalidParams 6376 } 6377 return nil 6378 } 6379 6380 // SetMeshName sets the MeshName field's value. 6381 func (s *DeleteMeshInput) SetMeshName(v string) *DeleteMeshInput { 6382 s.MeshName = &v 6383 return s 6384 } 6385 6386 type DeleteMeshOutput struct { 6387 _ struct{} `type:"structure" payload:"Mesh"` 6388 6389 // The service mesh that was deleted. 6390 // 6391 // Mesh is a required field 6392 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 6393 } 6394 6395 // String returns the string representation. 6396 // 6397 // API parameter values that are decorated as "sensitive" in the API will not 6398 // be included in the string output. The member name will be present, but the 6399 // value will be replaced with "sensitive". 6400 func (s DeleteMeshOutput) String() string { 6401 return awsutil.Prettify(s) 6402 } 6403 6404 // GoString returns the string representation. 6405 // 6406 // API parameter values that are decorated as "sensitive" in the API will not 6407 // be included in the string output. The member name will be present, but the 6408 // value will be replaced with "sensitive". 6409 func (s DeleteMeshOutput) GoString() string { 6410 return s.String() 6411 } 6412 6413 // SetMesh sets the Mesh field's value. 6414 func (s *DeleteMeshOutput) SetMesh(v *MeshData) *DeleteMeshOutput { 6415 s.Mesh = v 6416 return s 6417 } 6418 6419 type DeleteRouteInput struct { 6420 _ struct{} `type:"structure" nopayload:"true"` 6421 6422 // The name of the service mesh to delete the route in. 6423 // 6424 // MeshName is a required field 6425 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6426 6427 // The AWS IAM account ID of the service mesh owner. If the account ID is not 6428 // your own, then it's the ID of the account that shared the mesh with your 6429 // account. For more information about mesh sharing, see Working with shared 6430 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 6431 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 6432 6433 // The name of the route to delete. 6434 // 6435 // RouteName is a required field 6436 RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` 6437 6438 // The name of the virtual router to delete the route in. 6439 // 6440 // VirtualRouterName is a required field 6441 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 6442 } 6443 6444 // String returns the string representation. 6445 // 6446 // API parameter values that are decorated as "sensitive" in the API will not 6447 // be included in the string output. The member name will be present, but the 6448 // value will be replaced with "sensitive". 6449 func (s DeleteRouteInput) String() string { 6450 return awsutil.Prettify(s) 6451 } 6452 6453 // GoString returns the string representation. 6454 // 6455 // API parameter values that are decorated as "sensitive" in the API will not 6456 // be included in the string output. The member name will be present, but the 6457 // value will be replaced with "sensitive". 6458 func (s DeleteRouteInput) GoString() string { 6459 return s.String() 6460 } 6461 6462 // Validate inspects the fields of the type to determine if they are valid. 6463 func (s *DeleteRouteInput) Validate() error { 6464 invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"} 6465 if s.MeshName == nil { 6466 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6467 } 6468 if s.MeshName != nil && len(*s.MeshName) < 1 { 6469 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6470 } 6471 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 6472 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 6473 } 6474 if s.RouteName == nil { 6475 invalidParams.Add(request.NewErrParamRequired("RouteName")) 6476 } 6477 if s.RouteName != nil && len(*s.RouteName) < 1 { 6478 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 6479 } 6480 if s.VirtualRouterName == nil { 6481 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 6482 } 6483 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 6484 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 6485 } 6486 6487 if invalidParams.Len() > 0 { 6488 return invalidParams 6489 } 6490 return nil 6491 } 6492 6493 // SetMeshName sets the MeshName field's value. 6494 func (s *DeleteRouteInput) SetMeshName(v string) *DeleteRouteInput { 6495 s.MeshName = &v 6496 return s 6497 } 6498 6499 // SetMeshOwner sets the MeshOwner field's value. 6500 func (s *DeleteRouteInput) SetMeshOwner(v string) *DeleteRouteInput { 6501 s.MeshOwner = &v 6502 return s 6503 } 6504 6505 // SetRouteName sets the RouteName field's value. 6506 func (s *DeleteRouteInput) SetRouteName(v string) *DeleteRouteInput { 6507 s.RouteName = &v 6508 return s 6509 } 6510 6511 // SetVirtualRouterName sets the VirtualRouterName field's value. 6512 func (s *DeleteRouteInput) SetVirtualRouterName(v string) *DeleteRouteInput { 6513 s.VirtualRouterName = &v 6514 return s 6515 } 6516 6517 type DeleteRouteOutput struct { 6518 _ struct{} `type:"structure" payload:"Route"` 6519 6520 // The route that was deleted. 6521 // 6522 // Route is a required field 6523 Route *RouteData `locationName:"route" type:"structure" required:"true"` 6524 } 6525 6526 // String returns the string representation. 6527 // 6528 // API parameter values that are decorated as "sensitive" in the API will not 6529 // be included in the string output. The member name will be present, but the 6530 // value will be replaced with "sensitive". 6531 func (s DeleteRouteOutput) String() string { 6532 return awsutil.Prettify(s) 6533 } 6534 6535 // GoString returns the string representation. 6536 // 6537 // API parameter values that are decorated as "sensitive" in the API will not 6538 // be included in the string output. The member name will be present, but the 6539 // value will be replaced with "sensitive". 6540 func (s DeleteRouteOutput) GoString() string { 6541 return s.String() 6542 } 6543 6544 // SetRoute sets the Route field's value. 6545 func (s *DeleteRouteOutput) SetRoute(v *RouteData) *DeleteRouteOutput { 6546 s.Route = v 6547 return s 6548 } 6549 6550 type DeleteVirtualGatewayInput struct { 6551 _ struct{} `type:"structure" nopayload:"true"` 6552 6553 // The name of the service mesh to delete the virtual gateway from. 6554 // 6555 // MeshName is a required field 6556 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6557 6558 // The AWS IAM account ID of the service mesh owner. If the account ID is not 6559 // your own, then it's the ID of the account that shared the mesh with your 6560 // account. For more information about mesh sharing, see Working with shared 6561 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 6562 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 6563 6564 // The name of the virtual gateway to delete. 6565 // 6566 // VirtualGatewayName is a required field 6567 VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 6568 } 6569 6570 // String returns the string representation. 6571 // 6572 // API parameter values that are decorated as "sensitive" in the API will not 6573 // be included in the string output. The member name will be present, but the 6574 // value will be replaced with "sensitive". 6575 func (s DeleteVirtualGatewayInput) String() string { 6576 return awsutil.Prettify(s) 6577 } 6578 6579 // GoString returns the string representation. 6580 // 6581 // API parameter values that are decorated as "sensitive" in the API will not 6582 // be included in the string output. The member name will be present, but the 6583 // value will be replaced with "sensitive". 6584 func (s DeleteVirtualGatewayInput) GoString() string { 6585 return s.String() 6586 } 6587 6588 // Validate inspects the fields of the type to determine if they are valid. 6589 func (s *DeleteVirtualGatewayInput) Validate() error { 6590 invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualGatewayInput"} 6591 if s.MeshName == nil { 6592 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6593 } 6594 if s.MeshName != nil && len(*s.MeshName) < 1 { 6595 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6596 } 6597 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 6598 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 6599 } 6600 if s.VirtualGatewayName == nil { 6601 invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) 6602 } 6603 if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { 6604 invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) 6605 } 6606 6607 if invalidParams.Len() > 0 { 6608 return invalidParams 6609 } 6610 return nil 6611 } 6612 6613 // SetMeshName sets the MeshName field's value. 6614 func (s *DeleteVirtualGatewayInput) SetMeshName(v string) *DeleteVirtualGatewayInput { 6615 s.MeshName = &v 6616 return s 6617 } 6618 6619 // SetMeshOwner sets the MeshOwner field's value. 6620 func (s *DeleteVirtualGatewayInput) SetMeshOwner(v string) *DeleteVirtualGatewayInput { 6621 s.MeshOwner = &v 6622 return s 6623 } 6624 6625 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 6626 func (s *DeleteVirtualGatewayInput) SetVirtualGatewayName(v string) *DeleteVirtualGatewayInput { 6627 s.VirtualGatewayName = &v 6628 return s 6629 } 6630 6631 type DeleteVirtualGatewayOutput struct { 6632 _ struct{} `type:"structure" payload:"VirtualGateway"` 6633 6634 // The virtual gateway that was deleted. 6635 // 6636 // VirtualGateway is a required field 6637 VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` 6638 } 6639 6640 // String returns the string representation. 6641 // 6642 // API parameter values that are decorated as "sensitive" in the API will not 6643 // be included in the string output. The member name will be present, but the 6644 // value will be replaced with "sensitive". 6645 func (s DeleteVirtualGatewayOutput) String() string { 6646 return awsutil.Prettify(s) 6647 } 6648 6649 // GoString returns the string representation. 6650 // 6651 // API parameter values that are decorated as "sensitive" in the API will not 6652 // be included in the string output. The member name will be present, but the 6653 // value will be replaced with "sensitive". 6654 func (s DeleteVirtualGatewayOutput) GoString() string { 6655 return s.String() 6656 } 6657 6658 // SetVirtualGateway sets the VirtualGateway field's value. 6659 func (s *DeleteVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *DeleteVirtualGatewayOutput { 6660 s.VirtualGateway = v 6661 return s 6662 } 6663 6664 // Deletes a virtual node input. 6665 type DeleteVirtualNodeInput struct { 6666 _ struct{} `type:"structure" nopayload:"true"` 6667 6668 // The name of the service mesh to delete the virtual node in. 6669 // 6670 // MeshName is a required field 6671 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6672 6673 // The AWS IAM account ID of the service mesh owner. If the account ID is not 6674 // your own, then it's the ID of the account that shared the mesh with your 6675 // account. For more information about mesh sharing, see Working with shared 6676 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 6677 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 6678 6679 // The name of the virtual node to delete. 6680 // 6681 // VirtualNodeName is a required field 6682 VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 6683 } 6684 6685 // String returns the string representation. 6686 // 6687 // API parameter values that are decorated as "sensitive" in the API will not 6688 // be included in the string output. The member name will be present, but the 6689 // value will be replaced with "sensitive". 6690 func (s DeleteVirtualNodeInput) String() string { 6691 return awsutil.Prettify(s) 6692 } 6693 6694 // GoString returns the string representation. 6695 // 6696 // API parameter values that are decorated as "sensitive" in the API will not 6697 // be included in the string output. The member name will be present, but the 6698 // value will be replaced with "sensitive". 6699 func (s DeleteVirtualNodeInput) GoString() string { 6700 return s.String() 6701 } 6702 6703 // Validate inspects the fields of the type to determine if they are valid. 6704 func (s *DeleteVirtualNodeInput) Validate() error { 6705 invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"} 6706 if s.MeshName == nil { 6707 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6708 } 6709 if s.MeshName != nil && len(*s.MeshName) < 1 { 6710 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6711 } 6712 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 6713 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 6714 } 6715 if s.VirtualNodeName == nil { 6716 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 6717 } 6718 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 6719 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 6720 } 6721 6722 if invalidParams.Len() > 0 { 6723 return invalidParams 6724 } 6725 return nil 6726 } 6727 6728 // SetMeshName sets the MeshName field's value. 6729 func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput { 6730 s.MeshName = &v 6731 return s 6732 } 6733 6734 // SetMeshOwner sets the MeshOwner field's value. 6735 func (s *DeleteVirtualNodeInput) SetMeshOwner(v string) *DeleteVirtualNodeInput { 6736 s.MeshOwner = &v 6737 return s 6738 } 6739 6740 // SetVirtualNodeName sets the VirtualNodeName field's value. 6741 func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput { 6742 s.VirtualNodeName = &v 6743 return s 6744 } 6745 6746 type DeleteVirtualNodeOutput struct { 6747 _ struct{} `type:"structure" payload:"VirtualNode"` 6748 6749 // The virtual node that was deleted. 6750 // 6751 // VirtualNode is a required field 6752 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 6753 } 6754 6755 // String returns the string representation. 6756 // 6757 // API parameter values that are decorated as "sensitive" in the API will not 6758 // be included in the string output. The member name will be present, but the 6759 // value will be replaced with "sensitive". 6760 func (s DeleteVirtualNodeOutput) String() string { 6761 return awsutil.Prettify(s) 6762 } 6763 6764 // GoString returns the string representation. 6765 // 6766 // API parameter values that are decorated as "sensitive" in the API will not 6767 // be included in the string output. The member name will be present, but the 6768 // value will be replaced with "sensitive". 6769 func (s DeleteVirtualNodeOutput) GoString() string { 6770 return s.String() 6771 } 6772 6773 // SetVirtualNode sets the VirtualNode field's value. 6774 func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput { 6775 s.VirtualNode = v 6776 return s 6777 } 6778 6779 type DeleteVirtualRouterInput struct { 6780 _ struct{} `type:"structure" nopayload:"true"` 6781 6782 // The name of the service mesh to delete the virtual router in. 6783 // 6784 // MeshName is a required field 6785 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6786 6787 // The AWS IAM account ID of the service mesh owner. If the account ID is not 6788 // your own, then it's the ID of the account that shared the mesh with your 6789 // account. For more information about mesh sharing, see Working with shared 6790 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 6791 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 6792 6793 // The name of the virtual router to delete. 6794 // 6795 // VirtualRouterName is a required field 6796 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 6797 } 6798 6799 // String returns the string representation. 6800 // 6801 // API parameter values that are decorated as "sensitive" in the API will not 6802 // be included in the string output. The member name will be present, but the 6803 // value will be replaced with "sensitive". 6804 func (s DeleteVirtualRouterInput) String() string { 6805 return awsutil.Prettify(s) 6806 } 6807 6808 // GoString returns the string representation. 6809 // 6810 // API parameter values that are decorated as "sensitive" in the API will not 6811 // be included in the string output. The member name will be present, but the 6812 // value will be replaced with "sensitive". 6813 func (s DeleteVirtualRouterInput) GoString() string { 6814 return s.String() 6815 } 6816 6817 // Validate inspects the fields of the type to determine if they are valid. 6818 func (s *DeleteVirtualRouterInput) Validate() error { 6819 invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"} 6820 if s.MeshName == nil { 6821 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6822 } 6823 if s.MeshName != nil && len(*s.MeshName) < 1 { 6824 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6825 } 6826 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 6827 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 6828 } 6829 if s.VirtualRouterName == nil { 6830 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 6831 } 6832 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 6833 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 6834 } 6835 6836 if invalidParams.Len() > 0 { 6837 return invalidParams 6838 } 6839 return nil 6840 } 6841 6842 // SetMeshName sets the MeshName field's value. 6843 func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput { 6844 s.MeshName = &v 6845 return s 6846 } 6847 6848 // SetMeshOwner sets the MeshOwner field's value. 6849 func (s *DeleteVirtualRouterInput) SetMeshOwner(v string) *DeleteVirtualRouterInput { 6850 s.MeshOwner = &v 6851 return s 6852 } 6853 6854 // SetVirtualRouterName sets the VirtualRouterName field's value. 6855 func (s *DeleteVirtualRouterInput) SetVirtualRouterName(v string) *DeleteVirtualRouterInput { 6856 s.VirtualRouterName = &v 6857 return s 6858 } 6859 6860 type DeleteVirtualRouterOutput struct { 6861 _ struct{} `type:"structure" payload:"VirtualRouter"` 6862 6863 // The virtual router that was deleted. 6864 // 6865 // VirtualRouter is a required field 6866 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 6867 } 6868 6869 // String returns the string representation. 6870 // 6871 // API parameter values that are decorated as "sensitive" in the API will not 6872 // be included in the string output. The member name will be present, but the 6873 // value will be replaced with "sensitive". 6874 func (s DeleteVirtualRouterOutput) String() string { 6875 return awsutil.Prettify(s) 6876 } 6877 6878 // GoString returns the string representation. 6879 // 6880 // API parameter values that are decorated as "sensitive" in the API will not 6881 // be included in the string output. The member name will be present, but the 6882 // value will be replaced with "sensitive". 6883 func (s DeleteVirtualRouterOutput) GoString() string { 6884 return s.String() 6885 } 6886 6887 // SetVirtualRouter sets the VirtualRouter field's value. 6888 func (s *DeleteVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DeleteVirtualRouterOutput { 6889 s.VirtualRouter = v 6890 return s 6891 } 6892 6893 type DeleteVirtualServiceInput struct { 6894 _ struct{} `type:"structure" nopayload:"true"` 6895 6896 // The name of the service mesh to delete the virtual service in. 6897 // 6898 // MeshName is a required field 6899 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 6900 6901 // The AWS IAM account ID of the service mesh owner. If the account ID is not 6902 // your own, then it's the ID of the account that shared the mesh with your 6903 // account. For more information about mesh sharing, see Working with shared 6904 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 6905 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 6906 6907 // The name of the virtual service to delete. 6908 // 6909 // VirtualServiceName is a required field 6910 VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` 6911 } 6912 6913 // String returns the string representation. 6914 // 6915 // API parameter values that are decorated as "sensitive" in the API will not 6916 // be included in the string output. The member name will be present, but the 6917 // value will be replaced with "sensitive". 6918 func (s DeleteVirtualServiceInput) String() string { 6919 return awsutil.Prettify(s) 6920 } 6921 6922 // GoString returns the string representation. 6923 // 6924 // API parameter values that are decorated as "sensitive" in the API will not 6925 // be included in the string output. The member name will be present, but the 6926 // value will be replaced with "sensitive". 6927 func (s DeleteVirtualServiceInput) GoString() string { 6928 return s.String() 6929 } 6930 6931 // Validate inspects the fields of the type to determine if they are valid. 6932 func (s *DeleteVirtualServiceInput) Validate() error { 6933 invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualServiceInput"} 6934 if s.MeshName == nil { 6935 invalidParams.Add(request.NewErrParamRequired("MeshName")) 6936 } 6937 if s.MeshName != nil && len(*s.MeshName) < 1 { 6938 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 6939 } 6940 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 6941 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 6942 } 6943 if s.VirtualServiceName == nil { 6944 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 6945 } 6946 if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { 6947 invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) 6948 } 6949 6950 if invalidParams.Len() > 0 { 6951 return invalidParams 6952 } 6953 return nil 6954 } 6955 6956 // SetMeshName sets the MeshName field's value. 6957 func (s *DeleteVirtualServiceInput) SetMeshName(v string) *DeleteVirtualServiceInput { 6958 s.MeshName = &v 6959 return s 6960 } 6961 6962 // SetMeshOwner sets the MeshOwner field's value. 6963 func (s *DeleteVirtualServiceInput) SetMeshOwner(v string) *DeleteVirtualServiceInput { 6964 s.MeshOwner = &v 6965 return s 6966 } 6967 6968 // SetVirtualServiceName sets the VirtualServiceName field's value. 6969 func (s *DeleteVirtualServiceInput) SetVirtualServiceName(v string) *DeleteVirtualServiceInput { 6970 s.VirtualServiceName = &v 6971 return s 6972 } 6973 6974 type DeleteVirtualServiceOutput struct { 6975 _ struct{} `type:"structure" payload:"VirtualService"` 6976 6977 // The virtual service that was deleted. 6978 // 6979 // VirtualService is a required field 6980 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 6981 } 6982 6983 // String returns the string representation. 6984 // 6985 // API parameter values that are decorated as "sensitive" in the API will not 6986 // be included in the string output. The member name will be present, but the 6987 // value will be replaced with "sensitive". 6988 func (s DeleteVirtualServiceOutput) String() string { 6989 return awsutil.Prettify(s) 6990 } 6991 6992 // GoString returns the string representation. 6993 // 6994 // API parameter values that are decorated as "sensitive" in the API will not 6995 // be included in the string output. The member name will be present, but the 6996 // value will be replaced with "sensitive". 6997 func (s DeleteVirtualServiceOutput) GoString() string { 6998 return s.String() 6999 } 7000 7001 // SetVirtualService sets the VirtualService field's value. 7002 func (s *DeleteVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DeleteVirtualServiceOutput { 7003 s.VirtualService = v 7004 return s 7005 } 7006 7007 type DescribeGatewayRouteInput struct { 7008 _ struct{} `type:"structure" nopayload:"true"` 7009 7010 // The name of the gateway route to describe. 7011 // 7012 // GatewayRouteName is a required field 7013 GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` 7014 7015 // The name of the service mesh that the gateway route resides in. 7016 // 7017 // MeshName is a required field 7018 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7019 7020 // The AWS IAM account ID of the service mesh owner. If the account ID is not 7021 // your own, then it's the ID of the account that shared the mesh with your 7022 // account. For more information about mesh sharing, see Working with shared 7023 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 7024 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 7025 7026 // The name of the virtual gateway that the gateway route is associated with. 7027 // 7028 // VirtualGatewayName is a required field 7029 VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 7030 } 7031 7032 // String returns the string representation. 7033 // 7034 // API parameter values that are decorated as "sensitive" in the API will not 7035 // be included in the string output. The member name will be present, but the 7036 // value will be replaced with "sensitive". 7037 func (s DescribeGatewayRouteInput) String() string { 7038 return awsutil.Prettify(s) 7039 } 7040 7041 // GoString returns the string representation. 7042 // 7043 // API parameter values that are decorated as "sensitive" in the API will not 7044 // be included in the string output. The member name will be present, but the 7045 // value will be replaced with "sensitive". 7046 func (s DescribeGatewayRouteInput) GoString() string { 7047 return s.String() 7048 } 7049 7050 // Validate inspects the fields of the type to determine if they are valid. 7051 func (s *DescribeGatewayRouteInput) Validate() error { 7052 invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayRouteInput"} 7053 if s.GatewayRouteName == nil { 7054 invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) 7055 } 7056 if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { 7057 invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) 7058 } 7059 if s.MeshName == nil { 7060 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7061 } 7062 if s.MeshName != nil && len(*s.MeshName) < 1 { 7063 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7064 } 7065 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 7066 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 7067 } 7068 if s.VirtualGatewayName == nil { 7069 invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) 7070 } 7071 if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { 7072 invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) 7073 } 7074 7075 if invalidParams.Len() > 0 { 7076 return invalidParams 7077 } 7078 return nil 7079 } 7080 7081 // SetGatewayRouteName sets the GatewayRouteName field's value. 7082 func (s *DescribeGatewayRouteInput) SetGatewayRouteName(v string) *DescribeGatewayRouteInput { 7083 s.GatewayRouteName = &v 7084 return s 7085 } 7086 7087 // SetMeshName sets the MeshName field's value. 7088 func (s *DescribeGatewayRouteInput) SetMeshName(v string) *DescribeGatewayRouteInput { 7089 s.MeshName = &v 7090 return s 7091 } 7092 7093 // SetMeshOwner sets the MeshOwner field's value. 7094 func (s *DescribeGatewayRouteInput) SetMeshOwner(v string) *DescribeGatewayRouteInput { 7095 s.MeshOwner = &v 7096 return s 7097 } 7098 7099 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 7100 func (s *DescribeGatewayRouteInput) SetVirtualGatewayName(v string) *DescribeGatewayRouteInput { 7101 s.VirtualGatewayName = &v 7102 return s 7103 } 7104 7105 type DescribeGatewayRouteOutput struct { 7106 _ struct{} `type:"structure" payload:"GatewayRoute"` 7107 7108 // The full description of your gateway route. 7109 // 7110 // GatewayRoute is a required field 7111 GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` 7112 } 7113 7114 // String returns the string representation. 7115 // 7116 // API parameter values that are decorated as "sensitive" in the API will not 7117 // be included in the string output. The member name will be present, but the 7118 // value will be replaced with "sensitive". 7119 func (s DescribeGatewayRouteOutput) String() string { 7120 return awsutil.Prettify(s) 7121 } 7122 7123 // GoString returns the string representation. 7124 // 7125 // API parameter values that are decorated as "sensitive" in the API will not 7126 // be included in the string output. The member name will be present, but the 7127 // value will be replaced with "sensitive". 7128 func (s DescribeGatewayRouteOutput) GoString() string { 7129 return s.String() 7130 } 7131 7132 // SetGatewayRoute sets the GatewayRoute field's value. 7133 func (s *DescribeGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *DescribeGatewayRouteOutput { 7134 s.GatewayRoute = v 7135 return s 7136 } 7137 7138 type DescribeMeshInput struct { 7139 _ struct{} `type:"structure" nopayload:"true"` 7140 7141 // The name of the service mesh to describe. 7142 // 7143 // MeshName is a required field 7144 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7145 7146 // The AWS IAM account ID of the service mesh owner. If the account ID is not 7147 // your own, then it's the ID of the account that shared the mesh with your 7148 // account. For more information about mesh sharing, see Working with shared 7149 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 7150 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 7151 } 7152 7153 // String returns the string representation. 7154 // 7155 // API parameter values that are decorated as "sensitive" in the API will not 7156 // be included in the string output. The member name will be present, but the 7157 // value will be replaced with "sensitive". 7158 func (s DescribeMeshInput) String() string { 7159 return awsutil.Prettify(s) 7160 } 7161 7162 // GoString returns the string representation. 7163 // 7164 // API parameter values that are decorated as "sensitive" in the API will not 7165 // be included in the string output. The member name will be present, but the 7166 // value will be replaced with "sensitive". 7167 func (s DescribeMeshInput) GoString() string { 7168 return s.String() 7169 } 7170 7171 // Validate inspects the fields of the type to determine if they are valid. 7172 func (s *DescribeMeshInput) Validate() error { 7173 invalidParams := request.ErrInvalidParams{Context: "DescribeMeshInput"} 7174 if s.MeshName == nil { 7175 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7176 } 7177 if s.MeshName != nil && len(*s.MeshName) < 1 { 7178 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7179 } 7180 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 7181 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 7182 } 7183 7184 if invalidParams.Len() > 0 { 7185 return invalidParams 7186 } 7187 return nil 7188 } 7189 7190 // SetMeshName sets the MeshName field's value. 7191 func (s *DescribeMeshInput) SetMeshName(v string) *DescribeMeshInput { 7192 s.MeshName = &v 7193 return s 7194 } 7195 7196 // SetMeshOwner sets the MeshOwner field's value. 7197 func (s *DescribeMeshInput) SetMeshOwner(v string) *DescribeMeshInput { 7198 s.MeshOwner = &v 7199 return s 7200 } 7201 7202 type DescribeMeshOutput struct { 7203 _ struct{} `type:"structure" payload:"Mesh"` 7204 7205 // The full description of your service mesh. 7206 // 7207 // Mesh is a required field 7208 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 7209 } 7210 7211 // String returns the string representation. 7212 // 7213 // API parameter values that are decorated as "sensitive" in the API will not 7214 // be included in the string output. The member name will be present, but the 7215 // value will be replaced with "sensitive". 7216 func (s DescribeMeshOutput) String() string { 7217 return awsutil.Prettify(s) 7218 } 7219 7220 // GoString returns the string representation. 7221 // 7222 // API parameter values that are decorated as "sensitive" in the API will not 7223 // be included in the string output. The member name will be present, but the 7224 // value will be replaced with "sensitive". 7225 func (s DescribeMeshOutput) GoString() string { 7226 return s.String() 7227 } 7228 7229 // SetMesh sets the Mesh field's value. 7230 func (s *DescribeMeshOutput) SetMesh(v *MeshData) *DescribeMeshOutput { 7231 s.Mesh = v 7232 return s 7233 } 7234 7235 type DescribeRouteInput struct { 7236 _ struct{} `type:"structure" nopayload:"true"` 7237 7238 // The name of the service mesh that the route resides in. 7239 // 7240 // MeshName is a required field 7241 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7242 7243 // The AWS IAM account ID of the service mesh owner. If the account ID is not 7244 // your own, then it's the ID of the account that shared the mesh with your 7245 // account. For more information about mesh sharing, see Working with shared 7246 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 7247 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 7248 7249 // The name of the route to describe. 7250 // 7251 // RouteName is a required field 7252 RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` 7253 7254 // The name of the virtual router that the route is associated with. 7255 // 7256 // VirtualRouterName is a required field 7257 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 7258 } 7259 7260 // String returns the string representation. 7261 // 7262 // API parameter values that are decorated as "sensitive" in the API will not 7263 // be included in the string output. The member name will be present, but the 7264 // value will be replaced with "sensitive". 7265 func (s DescribeRouteInput) String() string { 7266 return awsutil.Prettify(s) 7267 } 7268 7269 // GoString returns the string representation. 7270 // 7271 // API parameter values that are decorated as "sensitive" in the API will not 7272 // be included in the string output. The member name will be present, but the 7273 // value will be replaced with "sensitive". 7274 func (s DescribeRouteInput) GoString() string { 7275 return s.String() 7276 } 7277 7278 // Validate inspects the fields of the type to determine if they are valid. 7279 func (s *DescribeRouteInput) Validate() error { 7280 invalidParams := request.ErrInvalidParams{Context: "DescribeRouteInput"} 7281 if s.MeshName == nil { 7282 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7283 } 7284 if s.MeshName != nil && len(*s.MeshName) < 1 { 7285 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7286 } 7287 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 7288 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 7289 } 7290 if s.RouteName == nil { 7291 invalidParams.Add(request.NewErrParamRequired("RouteName")) 7292 } 7293 if s.RouteName != nil && len(*s.RouteName) < 1 { 7294 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 7295 } 7296 if s.VirtualRouterName == nil { 7297 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 7298 } 7299 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 7300 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 7301 } 7302 7303 if invalidParams.Len() > 0 { 7304 return invalidParams 7305 } 7306 return nil 7307 } 7308 7309 // SetMeshName sets the MeshName field's value. 7310 func (s *DescribeRouteInput) SetMeshName(v string) *DescribeRouteInput { 7311 s.MeshName = &v 7312 return s 7313 } 7314 7315 // SetMeshOwner sets the MeshOwner field's value. 7316 func (s *DescribeRouteInput) SetMeshOwner(v string) *DescribeRouteInput { 7317 s.MeshOwner = &v 7318 return s 7319 } 7320 7321 // SetRouteName sets the RouteName field's value. 7322 func (s *DescribeRouteInput) SetRouteName(v string) *DescribeRouteInput { 7323 s.RouteName = &v 7324 return s 7325 } 7326 7327 // SetVirtualRouterName sets the VirtualRouterName field's value. 7328 func (s *DescribeRouteInput) SetVirtualRouterName(v string) *DescribeRouteInput { 7329 s.VirtualRouterName = &v 7330 return s 7331 } 7332 7333 type DescribeRouteOutput struct { 7334 _ struct{} `type:"structure" payload:"Route"` 7335 7336 // The full description of your route. 7337 // 7338 // Route is a required field 7339 Route *RouteData `locationName:"route" type:"structure" required:"true"` 7340 } 7341 7342 // String returns the string representation. 7343 // 7344 // API parameter values that are decorated as "sensitive" in the API will not 7345 // be included in the string output. The member name will be present, but the 7346 // value will be replaced with "sensitive". 7347 func (s DescribeRouteOutput) String() string { 7348 return awsutil.Prettify(s) 7349 } 7350 7351 // GoString returns the string representation. 7352 // 7353 // API parameter values that are decorated as "sensitive" in the API will not 7354 // be included in the string output. The member name will be present, but the 7355 // value will be replaced with "sensitive". 7356 func (s DescribeRouteOutput) GoString() string { 7357 return s.String() 7358 } 7359 7360 // SetRoute sets the Route field's value. 7361 func (s *DescribeRouteOutput) SetRoute(v *RouteData) *DescribeRouteOutput { 7362 s.Route = v 7363 return s 7364 } 7365 7366 type DescribeVirtualGatewayInput struct { 7367 _ struct{} `type:"structure" nopayload:"true"` 7368 7369 // The name of the service mesh that the gateway route resides in. 7370 // 7371 // MeshName is a required field 7372 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7373 7374 // The AWS IAM account ID of the service mesh owner. If the account ID is not 7375 // your own, then it's the ID of the account that shared the mesh with your 7376 // account. For more information about mesh sharing, see Working with shared 7377 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 7378 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 7379 7380 // The name of the virtual gateway to describe. 7381 // 7382 // VirtualGatewayName is a required field 7383 VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 7384 } 7385 7386 // String returns the string representation. 7387 // 7388 // API parameter values that are decorated as "sensitive" in the API will not 7389 // be included in the string output. The member name will be present, but the 7390 // value will be replaced with "sensitive". 7391 func (s DescribeVirtualGatewayInput) String() string { 7392 return awsutil.Prettify(s) 7393 } 7394 7395 // GoString returns the string representation. 7396 // 7397 // API parameter values that are decorated as "sensitive" in the API will not 7398 // be included in the string output. The member name will be present, but the 7399 // value will be replaced with "sensitive". 7400 func (s DescribeVirtualGatewayInput) GoString() string { 7401 return s.String() 7402 } 7403 7404 // Validate inspects the fields of the type to determine if they are valid. 7405 func (s *DescribeVirtualGatewayInput) Validate() error { 7406 invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualGatewayInput"} 7407 if s.MeshName == nil { 7408 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7409 } 7410 if s.MeshName != nil && len(*s.MeshName) < 1 { 7411 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7412 } 7413 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 7414 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 7415 } 7416 if s.VirtualGatewayName == nil { 7417 invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) 7418 } 7419 if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { 7420 invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) 7421 } 7422 7423 if invalidParams.Len() > 0 { 7424 return invalidParams 7425 } 7426 return nil 7427 } 7428 7429 // SetMeshName sets the MeshName field's value. 7430 func (s *DescribeVirtualGatewayInput) SetMeshName(v string) *DescribeVirtualGatewayInput { 7431 s.MeshName = &v 7432 return s 7433 } 7434 7435 // SetMeshOwner sets the MeshOwner field's value. 7436 func (s *DescribeVirtualGatewayInput) SetMeshOwner(v string) *DescribeVirtualGatewayInput { 7437 s.MeshOwner = &v 7438 return s 7439 } 7440 7441 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 7442 func (s *DescribeVirtualGatewayInput) SetVirtualGatewayName(v string) *DescribeVirtualGatewayInput { 7443 s.VirtualGatewayName = &v 7444 return s 7445 } 7446 7447 type DescribeVirtualGatewayOutput struct { 7448 _ struct{} `type:"structure" payload:"VirtualGateway"` 7449 7450 // The full description of your virtual gateway. 7451 // 7452 // VirtualGateway is a required field 7453 VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` 7454 } 7455 7456 // String returns the string representation. 7457 // 7458 // API parameter values that are decorated as "sensitive" in the API will not 7459 // be included in the string output. The member name will be present, but the 7460 // value will be replaced with "sensitive". 7461 func (s DescribeVirtualGatewayOutput) String() string { 7462 return awsutil.Prettify(s) 7463 } 7464 7465 // GoString returns the string representation. 7466 // 7467 // API parameter values that are decorated as "sensitive" in the API will not 7468 // be included in the string output. The member name will be present, but the 7469 // value will be replaced with "sensitive". 7470 func (s DescribeVirtualGatewayOutput) GoString() string { 7471 return s.String() 7472 } 7473 7474 // SetVirtualGateway sets the VirtualGateway field's value. 7475 func (s *DescribeVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *DescribeVirtualGatewayOutput { 7476 s.VirtualGateway = v 7477 return s 7478 } 7479 7480 type DescribeVirtualNodeInput struct { 7481 _ struct{} `type:"structure" nopayload:"true"` 7482 7483 // The name of the service mesh that the virtual node resides in. 7484 // 7485 // MeshName is a required field 7486 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7487 7488 // The AWS IAM account ID of the service mesh owner. If the account ID is not 7489 // your own, then it's the ID of the account that shared the mesh with your 7490 // account. For more information about mesh sharing, see Working with shared 7491 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 7492 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 7493 7494 // The name of the virtual node to describe. 7495 // 7496 // VirtualNodeName is a required field 7497 VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 7498 } 7499 7500 // String returns the string representation. 7501 // 7502 // API parameter values that are decorated as "sensitive" in the API will not 7503 // be included in the string output. The member name will be present, but the 7504 // value will be replaced with "sensitive". 7505 func (s DescribeVirtualNodeInput) String() string { 7506 return awsutil.Prettify(s) 7507 } 7508 7509 // GoString returns the string representation. 7510 // 7511 // API parameter values that are decorated as "sensitive" in the API will not 7512 // be included in the string output. The member name will be present, but the 7513 // value will be replaced with "sensitive". 7514 func (s DescribeVirtualNodeInput) GoString() string { 7515 return s.String() 7516 } 7517 7518 // Validate inspects the fields of the type to determine if they are valid. 7519 func (s *DescribeVirtualNodeInput) Validate() error { 7520 invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualNodeInput"} 7521 if s.MeshName == nil { 7522 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7523 } 7524 if s.MeshName != nil && len(*s.MeshName) < 1 { 7525 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7526 } 7527 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 7528 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 7529 } 7530 if s.VirtualNodeName == nil { 7531 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 7532 } 7533 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 7534 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 7535 } 7536 7537 if invalidParams.Len() > 0 { 7538 return invalidParams 7539 } 7540 return nil 7541 } 7542 7543 // SetMeshName sets the MeshName field's value. 7544 func (s *DescribeVirtualNodeInput) SetMeshName(v string) *DescribeVirtualNodeInput { 7545 s.MeshName = &v 7546 return s 7547 } 7548 7549 // SetMeshOwner sets the MeshOwner field's value. 7550 func (s *DescribeVirtualNodeInput) SetMeshOwner(v string) *DescribeVirtualNodeInput { 7551 s.MeshOwner = &v 7552 return s 7553 } 7554 7555 // SetVirtualNodeName sets the VirtualNodeName field's value. 7556 func (s *DescribeVirtualNodeInput) SetVirtualNodeName(v string) *DescribeVirtualNodeInput { 7557 s.VirtualNodeName = &v 7558 return s 7559 } 7560 7561 type DescribeVirtualNodeOutput struct { 7562 _ struct{} `type:"structure" payload:"VirtualNode"` 7563 7564 // The full description of your virtual node. 7565 // 7566 // VirtualNode is a required field 7567 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 7568 } 7569 7570 // String returns the string representation. 7571 // 7572 // API parameter values that are decorated as "sensitive" in the API will not 7573 // be included in the string output. The member name will be present, but the 7574 // value will be replaced with "sensitive". 7575 func (s DescribeVirtualNodeOutput) String() string { 7576 return awsutil.Prettify(s) 7577 } 7578 7579 // GoString returns the string representation. 7580 // 7581 // API parameter values that are decorated as "sensitive" in the API will not 7582 // be included in the string output. The member name will be present, but the 7583 // value will be replaced with "sensitive". 7584 func (s DescribeVirtualNodeOutput) GoString() string { 7585 return s.String() 7586 } 7587 7588 // SetVirtualNode sets the VirtualNode field's value. 7589 func (s *DescribeVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DescribeVirtualNodeOutput { 7590 s.VirtualNode = v 7591 return s 7592 } 7593 7594 type DescribeVirtualRouterInput struct { 7595 _ struct{} `type:"structure" nopayload:"true"` 7596 7597 // The name of the service mesh that the virtual router resides in. 7598 // 7599 // MeshName is a required field 7600 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7601 7602 // The AWS IAM account ID of the service mesh owner. If the account ID is not 7603 // your own, then it's the ID of the account that shared the mesh with your 7604 // account. For more information about mesh sharing, see Working with shared 7605 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 7606 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 7607 7608 // The name of the virtual router to describe. 7609 // 7610 // VirtualRouterName is a required field 7611 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 7612 } 7613 7614 // String returns the string representation. 7615 // 7616 // API parameter values that are decorated as "sensitive" in the API will not 7617 // be included in the string output. The member name will be present, but the 7618 // value will be replaced with "sensitive". 7619 func (s DescribeVirtualRouterInput) String() string { 7620 return awsutil.Prettify(s) 7621 } 7622 7623 // GoString returns the string representation. 7624 // 7625 // API parameter values that are decorated as "sensitive" in the API will not 7626 // be included in the string output. The member name will be present, but the 7627 // value will be replaced with "sensitive". 7628 func (s DescribeVirtualRouterInput) GoString() string { 7629 return s.String() 7630 } 7631 7632 // Validate inspects the fields of the type to determine if they are valid. 7633 func (s *DescribeVirtualRouterInput) Validate() error { 7634 invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualRouterInput"} 7635 if s.MeshName == nil { 7636 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7637 } 7638 if s.MeshName != nil && len(*s.MeshName) < 1 { 7639 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7640 } 7641 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 7642 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 7643 } 7644 if s.VirtualRouterName == nil { 7645 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 7646 } 7647 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 7648 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 7649 } 7650 7651 if invalidParams.Len() > 0 { 7652 return invalidParams 7653 } 7654 return nil 7655 } 7656 7657 // SetMeshName sets the MeshName field's value. 7658 func (s *DescribeVirtualRouterInput) SetMeshName(v string) *DescribeVirtualRouterInput { 7659 s.MeshName = &v 7660 return s 7661 } 7662 7663 // SetMeshOwner sets the MeshOwner field's value. 7664 func (s *DescribeVirtualRouterInput) SetMeshOwner(v string) *DescribeVirtualRouterInput { 7665 s.MeshOwner = &v 7666 return s 7667 } 7668 7669 // SetVirtualRouterName sets the VirtualRouterName field's value. 7670 func (s *DescribeVirtualRouterInput) SetVirtualRouterName(v string) *DescribeVirtualRouterInput { 7671 s.VirtualRouterName = &v 7672 return s 7673 } 7674 7675 type DescribeVirtualRouterOutput struct { 7676 _ struct{} `type:"structure" payload:"VirtualRouter"` 7677 7678 // The full description of your virtual router. 7679 // 7680 // VirtualRouter is a required field 7681 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 7682 } 7683 7684 // String returns the string representation. 7685 // 7686 // API parameter values that are decorated as "sensitive" in the API will not 7687 // be included in the string output. The member name will be present, but the 7688 // value will be replaced with "sensitive". 7689 func (s DescribeVirtualRouterOutput) String() string { 7690 return awsutil.Prettify(s) 7691 } 7692 7693 // GoString returns the string representation. 7694 // 7695 // API parameter values that are decorated as "sensitive" in the API will not 7696 // be included in the string output. The member name will be present, but the 7697 // value will be replaced with "sensitive". 7698 func (s DescribeVirtualRouterOutput) GoString() string { 7699 return s.String() 7700 } 7701 7702 // SetVirtualRouter sets the VirtualRouter field's value. 7703 func (s *DescribeVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DescribeVirtualRouterOutput { 7704 s.VirtualRouter = v 7705 return s 7706 } 7707 7708 type DescribeVirtualServiceInput struct { 7709 _ struct{} `type:"structure" nopayload:"true"` 7710 7711 // The name of the service mesh that the virtual service resides in. 7712 // 7713 // MeshName is a required field 7714 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 7715 7716 // The AWS IAM account ID of the service mesh owner. If the account ID is not 7717 // your own, then it's the ID of the account that shared the mesh with your 7718 // account. For more information about mesh sharing, see Working with shared 7719 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 7720 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 7721 7722 // The name of the virtual service to describe. 7723 // 7724 // VirtualServiceName is a required field 7725 VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` 7726 } 7727 7728 // String returns the string representation. 7729 // 7730 // API parameter values that are decorated as "sensitive" in the API will not 7731 // be included in the string output. The member name will be present, but the 7732 // value will be replaced with "sensitive". 7733 func (s DescribeVirtualServiceInput) String() string { 7734 return awsutil.Prettify(s) 7735 } 7736 7737 // GoString returns the string representation. 7738 // 7739 // API parameter values that are decorated as "sensitive" in the API will not 7740 // be included in the string output. The member name will be present, but the 7741 // value will be replaced with "sensitive". 7742 func (s DescribeVirtualServiceInput) GoString() string { 7743 return s.String() 7744 } 7745 7746 // Validate inspects the fields of the type to determine if they are valid. 7747 func (s *DescribeVirtualServiceInput) Validate() error { 7748 invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualServiceInput"} 7749 if s.MeshName == nil { 7750 invalidParams.Add(request.NewErrParamRequired("MeshName")) 7751 } 7752 if s.MeshName != nil && len(*s.MeshName) < 1 { 7753 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 7754 } 7755 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 7756 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 7757 } 7758 if s.VirtualServiceName == nil { 7759 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 7760 } 7761 if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { 7762 invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) 7763 } 7764 7765 if invalidParams.Len() > 0 { 7766 return invalidParams 7767 } 7768 return nil 7769 } 7770 7771 // SetMeshName sets the MeshName field's value. 7772 func (s *DescribeVirtualServiceInput) SetMeshName(v string) *DescribeVirtualServiceInput { 7773 s.MeshName = &v 7774 return s 7775 } 7776 7777 // SetMeshOwner sets the MeshOwner field's value. 7778 func (s *DescribeVirtualServiceInput) SetMeshOwner(v string) *DescribeVirtualServiceInput { 7779 s.MeshOwner = &v 7780 return s 7781 } 7782 7783 // SetVirtualServiceName sets the VirtualServiceName field's value. 7784 func (s *DescribeVirtualServiceInput) SetVirtualServiceName(v string) *DescribeVirtualServiceInput { 7785 s.VirtualServiceName = &v 7786 return s 7787 } 7788 7789 type DescribeVirtualServiceOutput struct { 7790 _ struct{} `type:"structure" payload:"VirtualService"` 7791 7792 // The full description of your virtual service. 7793 // 7794 // VirtualService is a required field 7795 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 7796 } 7797 7798 // String returns the string representation. 7799 // 7800 // API parameter values that are decorated as "sensitive" in the API will not 7801 // be included in the string output. The member name will be present, but the 7802 // value will be replaced with "sensitive". 7803 func (s DescribeVirtualServiceOutput) String() string { 7804 return awsutil.Prettify(s) 7805 } 7806 7807 // GoString returns the string representation. 7808 // 7809 // API parameter values that are decorated as "sensitive" in the API will not 7810 // be included in the string output. The member name will be present, but the 7811 // value will be replaced with "sensitive". 7812 func (s DescribeVirtualServiceOutput) GoString() string { 7813 return s.String() 7814 } 7815 7816 // SetVirtualService sets the VirtualService field's value. 7817 func (s *DescribeVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DescribeVirtualServiceOutput { 7818 s.VirtualService = v 7819 return s 7820 } 7821 7822 // An object that represents the DNS service discovery information for your 7823 // virtual node. 7824 type DnsServiceDiscovery struct { 7825 _ struct{} `type:"structure"` 7826 7827 // Specifies the DNS service discovery hostname for the virtual node. 7828 // 7829 // Hostname is a required field 7830 Hostname *string `locationName:"hostname" type:"string" required:"true"` 7831 7832 // Specifies the DNS response type for the virtual node. 7833 ResponseType *string `locationName:"responseType" type:"string" enum:"DnsResponseType"` 7834 } 7835 7836 // String returns the string representation. 7837 // 7838 // API parameter values that are decorated as "sensitive" in the API will not 7839 // be included in the string output. The member name will be present, but the 7840 // value will be replaced with "sensitive". 7841 func (s DnsServiceDiscovery) String() string { 7842 return awsutil.Prettify(s) 7843 } 7844 7845 // GoString returns the string representation. 7846 // 7847 // API parameter values that are decorated as "sensitive" in the API will not 7848 // be included in the string output. The member name will be present, but the 7849 // value will be replaced with "sensitive". 7850 func (s DnsServiceDiscovery) GoString() string { 7851 return s.String() 7852 } 7853 7854 // Validate inspects the fields of the type to determine if they are valid. 7855 func (s *DnsServiceDiscovery) Validate() error { 7856 invalidParams := request.ErrInvalidParams{Context: "DnsServiceDiscovery"} 7857 if s.Hostname == nil { 7858 invalidParams.Add(request.NewErrParamRequired("Hostname")) 7859 } 7860 7861 if invalidParams.Len() > 0 { 7862 return invalidParams 7863 } 7864 return nil 7865 } 7866 7867 // SetHostname sets the Hostname field's value. 7868 func (s *DnsServiceDiscovery) SetHostname(v string) *DnsServiceDiscovery { 7869 s.Hostname = &v 7870 return s 7871 } 7872 7873 // SetResponseType sets the ResponseType field's value. 7874 func (s *DnsServiceDiscovery) SetResponseType(v string) *DnsServiceDiscovery { 7875 s.ResponseType = &v 7876 return s 7877 } 7878 7879 // An object that represents a duration of time. 7880 type Duration struct { 7881 _ struct{} `type:"structure"` 7882 7883 // A unit of time. 7884 Unit *string `locationName:"unit" type:"string" enum:"DurationUnit"` 7885 7886 // A number of time units. 7887 Value *int64 `locationName:"value" type:"long"` 7888 } 7889 7890 // String returns the string representation. 7891 // 7892 // API parameter values that are decorated as "sensitive" in the API will not 7893 // be included in the string output. The member name will be present, but the 7894 // value will be replaced with "sensitive". 7895 func (s Duration) String() string { 7896 return awsutil.Prettify(s) 7897 } 7898 7899 // GoString returns the string representation. 7900 // 7901 // API parameter values that are decorated as "sensitive" in the API will not 7902 // be included in the string output. The member name will be present, but the 7903 // value will be replaced with "sensitive". 7904 func (s Duration) GoString() string { 7905 return s.String() 7906 } 7907 7908 // SetUnit sets the Unit field's value. 7909 func (s *Duration) SetUnit(v string) *Duration { 7910 s.Unit = &v 7911 return s 7912 } 7913 7914 // SetValue sets the Value field's value. 7915 func (s *Duration) SetValue(v int64) *Duration { 7916 s.Value = &v 7917 return s 7918 } 7919 7920 // An object that represents the egress filter rules for a service mesh. 7921 type EgressFilter struct { 7922 _ struct{} `type:"structure"` 7923 7924 // The egress filter type. By default, the type is DROP_ALL, which allows egress 7925 // only from virtual nodes to other defined resources in the service mesh (and 7926 // any traffic to *.amazonaws.com for Amazon Web Services API calls). You can 7927 // set the egress filter type to ALLOW_ALL to allow egress to any endpoint inside 7928 // or outside of the service mesh. 7929 // 7930 // Type is a required field 7931 Type *string `locationName:"type" type:"string" required:"true" enum:"EgressFilterType"` 7932 } 7933 7934 // String returns the string representation. 7935 // 7936 // API parameter values that are decorated as "sensitive" in the API will not 7937 // be included in the string output. The member name will be present, but the 7938 // value will be replaced with "sensitive". 7939 func (s EgressFilter) String() string { 7940 return awsutil.Prettify(s) 7941 } 7942 7943 // GoString returns the string representation. 7944 // 7945 // API parameter values that are decorated as "sensitive" in the API will not 7946 // be included in the string output. The member name will be present, but the 7947 // value will be replaced with "sensitive". 7948 func (s EgressFilter) GoString() string { 7949 return s.String() 7950 } 7951 7952 // Validate inspects the fields of the type to determine if they are valid. 7953 func (s *EgressFilter) Validate() error { 7954 invalidParams := request.ErrInvalidParams{Context: "EgressFilter"} 7955 if s.Type == nil { 7956 invalidParams.Add(request.NewErrParamRequired("Type")) 7957 } 7958 7959 if invalidParams.Len() > 0 { 7960 return invalidParams 7961 } 7962 return nil 7963 } 7964 7965 // SetType sets the Type field's value. 7966 func (s *EgressFilter) SetType(v string) *EgressFilter { 7967 s.Type = &v 7968 return s 7969 } 7970 7971 // An object that represents an access log file. 7972 type FileAccessLog struct { 7973 _ struct{} `type:"structure"` 7974 7975 // The file path to write access logs to. You can use /dev/stdout to send access 7976 // logs to standard out and configure your Envoy container to use a log driver, 7977 // such as awslogs, to export the access logs to a log storage service such 7978 // as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's 7979 // file system to write the files to disk. 7980 // 7981 // The Envoy process must have write permissions to the path that you specify 7982 // here. Otherwise, Envoy fails to bootstrap properly. 7983 // 7984 // Path is a required field 7985 Path *string `locationName:"path" min:"1" type:"string" required:"true"` 7986 } 7987 7988 // String returns the string representation. 7989 // 7990 // API parameter values that are decorated as "sensitive" in the API will not 7991 // be included in the string output. The member name will be present, but the 7992 // value will be replaced with "sensitive". 7993 func (s FileAccessLog) String() string { 7994 return awsutil.Prettify(s) 7995 } 7996 7997 // GoString returns the string representation. 7998 // 7999 // API parameter values that are decorated as "sensitive" in the API will not 8000 // be included in the string output. The member name will be present, but the 8001 // value will be replaced with "sensitive". 8002 func (s FileAccessLog) GoString() string { 8003 return s.String() 8004 } 8005 8006 // Validate inspects the fields of the type to determine if they are valid. 8007 func (s *FileAccessLog) Validate() error { 8008 invalidParams := request.ErrInvalidParams{Context: "FileAccessLog"} 8009 if s.Path == nil { 8010 invalidParams.Add(request.NewErrParamRequired("Path")) 8011 } 8012 if s.Path != nil && len(*s.Path) < 1 { 8013 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 8014 } 8015 8016 if invalidParams.Len() > 0 { 8017 return invalidParams 8018 } 8019 return nil 8020 } 8021 8022 // SetPath sets the Path field's value. 8023 func (s *FileAccessLog) SetPath(v string) *FileAccessLog { 8024 s.Path = &v 8025 return s 8026 } 8027 8028 // You don't have permissions to perform this action. 8029 type ForbiddenException struct { 8030 _ struct{} `type:"structure"` 8031 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8032 8033 Message_ *string `locationName:"message" type:"string"` 8034 } 8035 8036 // String returns the string representation. 8037 // 8038 // API parameter values that are decorated as "sensitive" in the API will not 8039 // be included in the string output. The member name will be present, but the 8040 // value will be replaced with "sensitive". 8041 func (s ForbiddenException) String() string { 8042 return awsutil.Prettify(s) 8043 } 8044 8045 // GoString returns the string representation. 8046 // 8047 // API parameter values that are decorated as "sensitive" in the API will not 8048 // be included in the string output. The member name will be present, but the 8049 // value will be replaced with "sensitive". 8050 func (s ForbiddenException) GoString() string { 8051 return s.String() 8052 } 8053 8054 func newErrorForbiddenException(v protocol.ResponseMetadata) error { 8055 return &ForbiddenException{ 8056 RespMetadata: v, 8057 } 8058 } 8059 8060 // Code returns the exception type name. 8061 func (s *ForbiddenException) Code() string { 8062 return "ForbiddenException" 8063 } 8064 8065 // Message returns the exception's message. 8066 func (s *ForbiddenException) Message() string { 8067 if s.Message_ != nil { 8068 return *s.Message_ 8069 } 8070 return "" 8071 } 8072 8073 // OrigErr always returns nil, satisfies awserr.Error interface. 8074 func (s *ForbiddenException) OrigErr() error { 8075 return nil 8076 } 8077 8078 func (s *ForbiddenException) Error() string { 8079 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8080 } 8081 8082 // Status code returns the HTTP status code for the request's response error. 8083 func (s *ForbiddenException) StatusCode() int { 8084 return s.RespMetadata.StatusCode 8085 } 8086 8087 // RequestID returns the service's response RequestID for request. 8088 func (s *ForbiddenException) RequestID() string { 8089 return s.RespMetadata.RequestID 8090 } 8091 8092 // An object that represents a gateway route returned by a describe operation. 8093 type GatewayRouteData struct { 8094 _ struct{} `type:"structure"` 8095 8096 // The name of the gateway route. 8097 // 8098 // GatewayRouteName is a required field 8099 GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` 8100 8101 // The name of the service mesh that the resource resides in. 8102 // 8103 // MeshName is a required field 8104 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 8105 8106 // An object that represents metadata for a resource. 8107 // 8108 // Metadata is a required field 8109 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 8110 8111 // The specifications of the gateway route. 8112 // 8113 // Spec is a required field 8114 Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` 8115 8116 // The status of the gateway route. 8117 // 8118 // Status is a required field 8119 Status *GatewayRouteStatus `locationName:"status" type:"structure" required:"true"` 8120 8121 // The virtual gateway that the gateway route is associated with. 8122 // 8123 // VirtualGatewayName is a required field 8124 VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 8125 } 8126 8127 // String returns the string representation. 8128 // 8129 // API parameter values that are decorated as "sensitive" in the API will not 8130 // be included in the string output. The member name will be present, but the 8131 // value will be replaced with "sensitive". 8132 func (s GatewayRouteData) String() string { 8133 return awsutil.Prettify(s) 8134 } 8135 8136 // GoString returns the string representation. 8137 // 8138 // API parameter values that are decorated as "sensitive" in the API will not 8139 // be included in the string output. The member name will be present, but the 8140 // value will be replaced with "sensitive". 8141 func (s GatewayRouteData) GoString() string { 8142 return s.String() 8143 } 8144 8145 // SetGatewayRouteName sets the GatewayRouteName field's value. 8146 func (s *GatewayRouteData) SetGatewayRouteName(v string) *GatewayRouteData { 8147 s.GatewayRouteName = &v 8148 return s 8149 } 8150 8151 // SetMeshName sets the MeshName field's value. 8152 func (s *GatewayRouteData) SetMeshName(v string) *GatewayRouteData { 8153 s.MeshName = &v 8154 return s 8155 } 8156 8157 // SetMetadata sets the Metadata field's value. 8158 func (s *GatewayRouteData) SetMetadata(v *ResourceMetadata) *GatewayRouteData { 8159 s.Metadata = v 8160 return s 8161 } 8162 8163 // SetSpec sets the Spec field's value. 8164 func (s *GatewayRouteData) SetSpec(v *GatewayRouteSpec) *GatewayRouteData { 8165 s.Spec = v 8166 return s 8167 } 8168 8169 // SetStatus sets the Status field's value. 8170 func (s *GatewayRouteData) SetStatus(v *GatewayRouteStatus) *GatewayRouteData { 8171 s.Status = v 8172 return s 8173 } 8174 8175 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 8176 func (s *GatewayRouteData) SetVirtualGatewayName(v string) *GatewayRouteData { 8177 s.VirtualGatewayName = &v 8178 return s 8179 } 8180 8181 // An object representing the gateway route host name to match. 8182 type GatewayRouteHostnameMatch struct { 8183 _ struct{} `type:"structure"` 8184 8185 // The exact host name to match on. 8186 Exact *string `locationName:"exact" min:"1" type:"string"` 8187 8188 // The specified ending characters of the host name to match on. 8189 Suffix *string `locationName:"suffix" min:"1" type:"string"` 8190 } 8191 8192 // String returns the string representation. 8193 // 8194 // API parameter values that are decorated as "sensitive" in the API will not 8195 // be included in the string output. The member name will be present, but the 8196 // value will be replaced with "sensitive". 8197 func (s GatewayRouteHostnameMatch) String() string { 8198 return awsutil.Prettify(s) 8199 } 8200 8201 // GoString returns the string representation. 8202 // 8203 // API parameter values that are decorated as "sensitive" in the API will not 8204 // be included in the string output. The member name will be present, but the 8205 // value will be replaced with "sensitive". 8206 func (s GatewayRouteHostnameMatch) GoString() string { 8207 return s.String() 8208 } 8209 8210 // Validate inspects the fields of the type to determine if they are valid. 8211 func (s *GatewayRouteHostnameMatch) Validate() error { 8212 invalidParams := request.ErrInvalidParams{Context: "GatewayRouteHostnameMatch"} 8213 if s.Exact != nil && len(*s.Exact) < 1 { 8214 invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) 8215 } 8216 if s.Suffix != nil && len(*s.Suffix) < 1 { 8217 invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) 8218 } 8219 8220 if invalidParams.Len() > 0 { 8221 return invalidParams 8222 } 8223 return nil 8224 } 8225 8226 // SetExact sets the Exact field's value. 8227 func (s *GatewayRouteHostnameMatch) SetExact(v string) *GatewayRouteHostnameMatch { 8228 s.Exact = &v 8229 return s 8230 } 8231 8232 // SetSuffix sets the Suffix field's value. 8233 func (s *GatewayRouteHostnameMatch) SetSuffix(v string) *GatewayRouteHostnameMatch { 8234 s.Suffix = &v 8235 return s 8236 } 8237 8238 // An object representing the gateway route host name to rewrite. 8239 type GatewayRouteHostnameRewrite struct { 8240 _ struct{} `type:"structure"` 8241 8242 // The default target host name to write to. 8243 DefaultTargetHostname *string `locationName:"defaultTargetHostname" type:"string" enum:"DefaultGatewayRouteRewrite"` 8244 } 8245 8246 // String returns the string representation. 8247 // 8248 // API parameter values that are decorated as "sensitive" in the API will not 8249 // be included in the string output. The member name will be present, but the 8250 // value will be replaced with "sensitive". 8251 func (s GatewayRouteHostnameRewrite) String() string { 8252 return awsutil.Prettify(s) 8253 } 8254 8255 // GoString returns the string representation. 8256 // 8257 // API parameter values that are decorated as "sensitive" in the API will not 8258 // be included in the string output. The member name will be present, but the 8259 // value will be replaced with "sensitive". 8260 func (s GatewayRouteHostnameRewrite) GoString() string { 8261 return s.String() 8262 } 8263 8264 // SetDefaultTargetHostname sets the DefaultTargetHostname field's value. 8265 func (s *GatewayRouteHostnameRewrite) SetDefaultTargetHostname(v string) *GatewayRouteHostnameRewrite { 8266 s.DefaultTargetHostname = &v 8267 return s 8268 } 8269 8270 // An object that represents a gateway route returned by a list operation. 8271 type GatewayRouteRef struct { 8272 _ struct{} `type:"structure"` 8273 8274 // The full Amazon Resource Name (ARN) for the gateway route. 8275 // 8276 // Arn is a required field 8277 Arn *string `locationName:"arn" type:"string" required:"true"` 8278 8279 // The Unix epoch timestamp in seconds for when the resource was created. 8280 // 8281 // CreatedAt is a required field 8282 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` 8283 8284 // The name of the gateway route. 8285 // 8286 // GatewayRouteName is a required field 8287 GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` 8288 8289 // The Unix epoch timestamp in seconds for when the resource was last updated. 8290 // 8291 // LastUpdatedAt is a required field 8292 LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` 8293 8294 // The name of the service mesh that the resource resides in. 8295 // 8296 // MeshName is a required field 8297 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 8298 8299 // The AWS IAM account ID of the service mesh owner. If the account ID is not 8300 // your own, then it's the ID of the account that shared the mesh with your 8301 // account. For more information about mesh sharing, see Working with shared 8302 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 8303 // 8304 // MeshOwner is a required field 8305 MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` 8306 8307 // The AWS IAM account ID of the resource owner. If the account ID is not your 8308 // own, then it's the ID of the mesh owner or of another account that the mesh 8309 // is shared with. For more information about mesh sharing, see Working with 8310 // shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 8311 // 8312 // ResourceOwner is a required field 8313 ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` 8314 8315 // The version of the resource. Resources are created at version 1, and this 8316 // version is incremented each time that they're updated. 8317 // 8318 // Version is a required field 8319 Version *int64 `locationName:"version" type:"long" required:"true"` 8320 8321 // The virtual gateway that the gateway route is associated with. 8322 // 8323 // VirtualGatewayName is a required field 8324 VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 8325 } 8326 8327 // String returns the string representation. 8328 // 8329 // API parameter values that are decorated as "sensitive" in the API will not 8330 // be included in the string output. The member name will be present, but the 8331 // value will be replaced with "sensitive". 8332 func (s GatewayRouteRef) String() string { 8333 return awsutil.Prettify(s) 8334 } 8335 8336 // GoString returns the string representation. 8337 // 8338 // API parameter values that are decorated as "sensitive" in the API will not 8339 // be included in the string output. The member name will be present, but the 8340 // value will be replaced with "sensitive". 8341 func (s GatewayRouteRef) GoString() string { 8342 return s.String() 8343 } 8344 8345 // SetArn sets the Arn field's value. 8346 func (s *GatewayRouteRef) SetArn(v string) *GatewayRouteRef { 8347 s.Arn = &v 8348 return s 8349 } 8350 8351 // SetCreatedAt sets the CreatedAt field's value. 8352 func (s *GatewayRouteRef) SetCreatedAt(v time.Time) *GatewayRouteRef { 8353 s.CreatedAt = &v 8354 return s 8355 } 8356 8357 // SetGatewayRouteName sets the GatewayRouteName field's value. 8358 func (s *GatewayRouteRef) SetGatewayRouteName(v string) *GatewayRouteRef { 8359 s.GatewayRouteName = &v 8360 return s 8361 } 8362 8363 // SetLastUpdatedAt sets the LastUpdatedAt field's value. 8364 func (s *GatewayRouteRef) SetLastUpdatedAt(v time.Time) *GatewayRouteRef { 8365 s.LastUpdatedAt = &v 8366 return s 8367 } 8368 8369 // SetMeshName sets the MeshName field's value. 8370 func (s *GatewayRouteRef) SetMeshName(v string) *GatewayRouteRef { 8371 s.MeshName = &v 8372 return s 8373 } 8374 8375 // SetMeshOwner sets the MeshOwner field's value. 8376 func (s *GatewayRouteRef) SetMeshOwner(v string) *GatewayRouteRef { 8377 s.MeshOwner = &v 8378 return s 8379 } 8380 8381 // SetResourceOwner sets the ResourceOwner field's value. 8382 func (s *GatewayRouteRef) SetResourceOwner(v string) *GatewayRouteRef { 8383 s.ResourceOwner = &v 8384 return s 8385 } 8386 8387 // SetVersion sets the Version field's value. 8388 func (s *GatewayRouteRef) SetVersion(v int64) *GatewayRouteRef { 8389 s.Version = &v 8390 return s 8391 } 8392 8393 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 8394 func (s *GatewayRouteRef) SetVirtualGatewayName(v string) *GatewayRouteRef { 8395 s.VirtualGatewayName = &v 8396 return s 8397 } 8398 8399 // An object that represents a gateway route specification. Specify one gateway 8400 // route type. 8401 type GatewayRouteSpec struct { 8402 _ struct{} `type:"structure"` 8403 8404 // An object that represents the specification of a gRPC gateway route. 8405 GrpcRoute *GrpcGatewayRoute `locationName:"grpcRoute" type:"structure"` 8406 8407 // An object that represents the specification of an HTTP/2 gateway route. 8408 Http2Route *HttpGatewayRoute `locationName:"http2Route" type:"structure"` 8409 8410 // An object that represents the specification of an HTTP gateway route. 8411 HttpRoute *HttpGatewayRoute `locationName:"httpRoute" type:"structure"` 8412 8413 // The ordering of the gateway routes spec. 8414 Priority *int64 `locationName:"priority" type:"integer"` 8415 } 8416 8417 // String returns the string representation. 8418 // 8419 // API parameter values that are decorated as "sensitive" in the API will not 8420 // be included in the string output. The member name will be present, but the 8421 // value will be replaced with "sensitive". 8422 func (s GatewayRouteSpec) String() string { 8423 return awsutil.Prettify(s) 8424 } 8425 8426 // GoString returns the string representation. 8427 // 8428 // API parameter values that are decorated as "sensitive" in the API will not 8429 // be included in the string output. The member name will be present, but the 8430 // value will be replaced with "sensitive". 8431 func (s GatewayRouteSpec) GoString() string { 8432 return s.String() 8433 } 8434 8435 // Validate inspects the fields of the type to determine if they are valid. 8436 func (s *GatewayRouteSpec) Validate() error { 8437 invalidParams := request.ErrInvalidParams{Context: "GatewayRouteSpec"} 8438 if s.GrpcRoute != nil { 8439 if err := s.GrpcRoute.Validate(); err != nil { 8440 invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) 8441 } 8442 } 8443 if s.Http2Route != nil { 8444 if err := s.Http2Route.Validate(); err != nil { 8445 invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) 8446 } 8447 } 8448 if s.HttpRoute != nil { 8449 if err := s.HttpRoute.Validate(); err != nil { 8450 invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) 8451 } 8452 } 8453 8454 if invalidParams.Len() > 0 { 8455 return invalidParams 8456 } 8457 return nil 8458 } 8459 8460 // SetGrpcRoute sets the GrpcRoute field's value. 8461 func (s *GatewayRouteSpec) SetGrpcRoute(v *GrpcGatewayRoute) *GatewayRouteSpec { 8462 s.GrpcRoute = v 8463 return s 8464 } 8465 8466 // SetHttp2Route sets the Http2Route field's value. 8467 func (s *GatewayRouteSpec) SetHttp2Route(v *HttpGatewayRoute) *GatewayRouteSpec { 8468 s.Http2Route = v 8469 return s 8470 } 8471 8472 // SetHttpRoute sets the HttpRoute field's value. 8473 func (s *GatewayRouteSpec) SetHttpRoute(v *HttpGatewayRoute) *GatewayRouteSpec { 8474 s.HttpRoute = v 8475 return s 8476 } 8477 8478 // SetPriority sets the Priority field's value. 8479 func (s *GatewayRouteSpec) SetPriority(v int64) *GatewayRouteSpec { 8480 s.Priority = &v 8481 return s 8482 } 8483 8484 // An object that represents the current status of a gateway route. 8485 type GatewayRouteStatus struct { 8486 _ struct{} `type:"structure"` 8487 8488 // The current status for the gateway route. 8489 // 8490 // Status is a required field 8491 Status *string `locationName:"status" type:"string" required:"true" enum:"GatewayRouteStatusCode"` 8492 } 8493 8494 // String returns the string representation. 8495 // 8496 // API parameter values that are decorated as "sensitive" in the API will not 8497 // be included in the string output. The member name will be present, but the 8498 // value will be replaced with "sensitive". 8499 func (s GatewayRouteStatus) String() string { 8500 return awsutil.Prettify(s) 8501 } 8502 8503 // GoString returns the string representation. 8504 // 8505 // API parameter values that are decorated as "sensitive" in the API will not 8506 // be included in the string output. The member name will be present, but the 8507 // value will be replaced with "sensitive". 8508 func (s GatewayRouteStatus) GoString() string { 8509 return s.String() 8510 } 8511 8512 // SetStatus sets the Status field's value. 8513 func (s *GatewayRouteStatus) SetStatus(v string) *GatewayRouteStatus { 8514 s.Status = &v 8515 return s 8516 } 8517 8518 // An object that represents a gateway route target. 8519 type GatewayRouteTarget struct { 8520 _ struct{} `type:"structure"` 8521 8522 // An object that represents a virtual service gateway route target. 8523 // 8524 // VirtualService is a required field 8525 VirtualService *GatewayRouteVirtualService `locationName:"virtualService" type:"structure" required:"true"` 8526 } 8527 8528 // String returns the string representation. 8529 // 8530 // API parameter values that are decorated as "sensitive" in the API will not 8531 // be included in the string output. The member name will be present, but the 8532 // value will be replaced with "sensitive". 8533 func (s GatewayRouteTarget) String() string { 8534 return awsutil.Prettify(s) 8535 } 8536 8537 // GoString returns the string representation. 8538 // 8539 // API parameter values that are decorated as "sensitive" in the API will not 8540 // be included in the string output. The member name will be present, but the 8541 // value will be replaced with "sensitive". 8542 func (s GatewayRouteTarget) GoString() string { 8543 return s.String() 8544 } 8545 8546 // Validate inspects the fields of the type to determine if they are valid. 8547 func (s *GatewayRouteTarget) Validate() error { 8548 invalidParams := request.ErrInvalidParams{Context: "GatewayRouteTarget"} 8549 if s.VirtualService == nil { 8550 invalidParams.Add(request.NewErrParamRequired("VirtualService")) 8551 } 8552 if s.VirtualService != nil { 8553 if err := s.VirtualService.Validate(); err != nil { 8554 invalidParams.AddNested("VirtualService", err.(request.ErrInvalidParams)) 8555 } 8556 } 8557 8558 if invalidParams.Len() > 0 { 8559 return invalidParams 8560 } 8561 return nil 8562 } 8563 8564 // SetVirtualService sets the VirtualService field's value. 8565 func (s *GatewayRouteTarget) SetVirtualService(v *GatewayRouteVirtualService) *GatewayRouteTarget { 8566 s.VirtualService = v 8567 return s 8568 } 8569 8570 // An object that represents the virtual service that traffic is routed to. 8571 type GatewayRouteVirtualService struct { 8572 _ struct{} `type:"structure"` 8573 8574 // The name of the virtual service that traffic is routed to. 8575 // 8576 // VirtualServiceName is a required field 8577 VirtualServiceName *string `locationName:"virtualServiceName" min:"1" type:"string" required:"true"` 8578 } 8579 8580 // String returns the string representation. 8581 // 8582 // API parameter values that are decorated as "sensitive" in the API will not 8583 // be included in the string output. The member name will be present, but the 8584 // value will be replaced with "sensitive". 8585 func (s GatewayRouteVirtualService) String() string { 8586 return awsutil.Prettify(s) 8587 } 8588 8589 // GoString returns the string representation. 8590 // 8591 // API parameter values that are decorated as "sensitive" in the API will not 8592 // be included in the string output. The member name will be present, but the 8593 // value will be replaced with "sensitive". 8594 func (s GatewayRouteVirtualService) GoString() string { 8595 return s.String() 8596 } 8597 8598 // Validate inspects the fields of the type to determine if they are valid. 8599 func (s *GatewayRouteVirtualService) Validate() error { 8600 invalidParams := request.ErrInvalidParams{Context: "GatewayRouteVirtualService"} 8601 if s.VirtualServiceName == nil { 8602 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 8603 } 8604 if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { 8605 invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) 8606 } 8607 8608 if invalidParams.Len() > 0 { 8609 return invalidParams 8610 } 8611 return nil 8612 } 8613 8614 // SetVirtualServiceName sets the VirtualServiceName field's value. 8615 func (s *GatewayRouteVirtualService) SetVirtualServiceName(v string) *GatewayRouteVirtualService { 8616 s.VirtualServiceName = &v 8617 return s 8618 } 8619 8620 // An object that represents a gRPC gateway route. 8621 type GrpcGatewayRoute struct { 8622 _ struct{} `type:"structure"` 8623 8624 // An object that represents the action to take if a match is determined. 8625 // 8626 // Action is a required field 8627 Action *GrpcGatewayRouteAction `locationName:"action" type:"structure" required:"true"` 8628 8629 // An object that represents the criteria for determining a request match. 8630 // 8631 // Match is a required field 8632 Match *GrpcGatewayRouteMatch `locationName:"match" type:"structure" required:"true"` 8633 } 8634 8635 // String returns the string representation. 8636 // 8637 // API parameter values that are decorated as "sensitive" in the API will not 8638 // be included in the string output. The member name will be present, but the 8639 // value will be replaced with "sensitive". 8640 func (s GrpcGatewayRoute) String() string { 8641 return awsutil.Prettify(s) 8642 } 8643 8644 // GoString returns the string representation. 8645 // 8646 // API parameter values that are decorated as "sensitive" in the API will not 8647 // be included in the string output. The member name will be present, but the 8648 // value will be replaced with "sensitive". 8649 func (s GrpcGatewayRoute) GoString() string { 8650 return s.String() 8651 } 8652 8653 // Validate inspects the fields of the type to determine if they are valid. 8654 func (s *GrpcGatewayRoute) Validate() error { 8655 invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRoute"} 8656 if s.Action == nil { 8657 invalidParams.Add(request.NewErrParamRequired("Action")) 8658 } 8659 if s.Match == nil { 8660 invalidParams.Add(request.NewErrParamRequired("Match")) 8661 } 8662 if s.Action != nil { 8663 if err := s.Action.Validate(); err != nil { 8664 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 8665 } 8666 } 8667 if s.Match != nil { 8668 if err := s.Match.Validate(); err != nil { 8669 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 8670 } 8671 } 8672 8673 if invalidParams.Len() > 0 { 8674 return invalidParams 8675 } 8676 return nil 8677 } 8678 8679 // SetAction sets the Action field's value. 8680 func (s *GrpcGatewayRoute) SetAction(v *GrpcGatewayRouteAction) *GrpcGatewayRoute { 8681 s.Action = v 8682 return s 8683 } 8684 8685 // SetMatch sets the Match field's value. 8686 func (s *GrpcGatewayRoute) SetMatch(v *GrpcGatewayRouteMatch) *GrpcGatewayRoute { 8687 s.Match = v 8688 return s 8689 } 8690 8691 // An object that represents the action to take if a match is determined. 8692 type GrpcGatewayRouteAction struct { 8693 _ struct{} `type:"structure"` 8694 8695 // The gateway route action to rewrite. 8696 Rewrite *GrpcGatewayRouteRewrite `locationName:"rewrite" type:"structure"` 8697 8698 // An object that represents the target that traffic is routed to when a request 8699 // matches the gateway route. 8700 // 8701 // Target is a required field 8702 Target *GatewayRouteTarget `locationName:"target" type:"structure" required:"true"` 8703 } 8704 8705 // String returns the string representation. 8706 // 8707 // API parameter values that are decorated as "sensitive" in the API will not 8708 // be included in the string output. The member name will be present, but the 8709 // value will be replaced with "sensitive". 8710 func (s GrpcGatewayRouteAction) String() string { 8711 return awsutil.Prettify(s) 8712 } 8713 8714 // GoString returns the string representation. 8715 // 8716 // API parameter values that are decorated as "sensitive" in the API will not 8717 // be included in the string output. The member name will be present, but the 8718 // value will be replaced with "sensitive". 8719 func (s GrpcGatewayRouteAction) GoString() string { 8720 return s.String() 8721 } 8722 8723 // Validate inspects the fields of the type to determine if they are valid. 8724 func (s *GrpcGatewayRouteAction) Validate() error { 8725 invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRouteAction"} 8726 if s.Target == nil { 8727 invalidParams.Add(request.NewErrParamRequired("Target")) 8728 } 8729 if s.Target != nil { 8730 if err := s.Target.Validate(); err != nil { 8731 invalidParams.AddNested("Target", err.(request.ErrInvalidParams)) 8732 } 8733 } 8734 8735 if invalidParams.Len() > 0 { 8736 return invalidParams 8737 } 8738 return nil 8739 } 8740 8741 // SetRewrite sets the Rewrite field's value. 8742 func (s *GrpcGatewayRouteAction) SetRewrite(v *GrpcGatewayRouteRewrite) *GrpcGatewayRouteAction { 8743 s.Rewrite = v 8744 return s 8745 } 8746 8747 // SetTarget sets the Target field's value. 8748 func (s *GrpcGatewayRouteAction) SetTarget(v *GatewayRouteTarget) *GrpcGatewayRouteAction { 8749 s.Target = v 8750 return s 8751 } 8752 8753 // An object that represents the criteria for determining a request match. 8754 type GrpcGatewayRouteMatch struct { 8755 _ struct{} `type:"structure"` 8756 8757 // The gateway route host name to be matched on. 8758 Hostname *GatewayRouteHostnameMatch `locationName:"hostname" type:"structure"` 8759 8760 // The gateway route metadata to be matched on. 8761 Metadata []*GrpcGatewayRouteMetadata `locationName:"metadata" min:"1" type:"list"` 8762 8763 // The fully qualified domain name for the service to match from the request. 8764 ServiceName *string `locationName:"serviceName" type:"string"` 8765 } 8766 8767 // String returns the string representation. 8768 // 8769 // API parameter values that are decorated as "sensitive" in the API will not 8770 // be included in the string output. The member name will be present, but the 8771 // value will be replaced with "sensitive". 8772 func (s GrpcGatewayRouteMatch) String() string { 8773 return awsutil.Prettify(s) 8774 } 8775 8776 // GoString returns the string representation. 8777 // 8778 // API parameter values that are decorated as "sensitive" in the API will not 8779 // be included in the string output. The member name will be present, but the 8780 // value will be replaced with "sensitive". 8781 func (s GrpcGatewayRouteMatch) GoString() string { 8782 return s.String() 8783 } 8784 8785 // Validate inspects the fields of the type to determine if they are valid. 8786 func (s *GrpcGatewayRouteMatch) Validate() error { 8787 invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRouteMatch"} 8788 if s.Metadata != nil && len(s.Metadata) < 1 { 8789 invalidParams.Add(request.NewErrParamMinLen("Metadata", 1)) 8790 } 8791 if s.Hostname != nil { 8792 if err := s.Hostname.Validate(); err != nil { 8793 invalidParams.AddNested("Hostname", err.(request.ErrInvalidParams)) 8794 } 8795 } 8796 if s.Metadata != nil { 8797 for i, v := range s.Metadata { 8798 if v == nil { 8799 continue 8800 } 8801 if err := v.Validate(); err != nil { 8802 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams)) 8803 } 8804 } 8805 } 8806 8807 if invalidParams.Len() > 0 { 8808 return invalidParams 8809 } 8810 return nil 8811 } 8812 8813 // SetHostname sets the Hostname field's value. 8814 func (s *GrpcGatewayRouteMatch) SetHostname(v *GatewayRouteHostnameMatch) *GrpcGatewayRouteMatch { 8815 s.Hostname = v 8816 return s 8817 } 8818 8819 // SetMetadata sets the Metadata field's value. 8820 func (s *GrpcGatewayRouteMatch) SetMetadata(v []*GrpcGatewayRouteMetadata) *GrpcGatewayRouteMatch { 8821 s.Metadata = v 8822 return s 8823 } 8824 8825 // SetServiceName sets the ServiceName field's value. 8826 func (s *GrpcGatewayRouteMatch) SetServiceName(v string) *GrpcGatewayRouteMatch { 8827 s.ServiceName = &v 8828 return s 8829 } 8830 8831 // An object representing the metadata of the gateway route. 8832 type GrpcGatewayRouteMetadata struct { 8833 _ struct{} `type:"structure"` 8834 8835 // Specify True to match anything except the match criteria. The default value 8836 // is False. 8837 Invert *bool `locationName:"invert" type:"boolean"` 8838 8839 // The criteria for determining a metadata match. 8840 Match *GrpcMetadataMatchMethod `locationName:"match" type:"structure"` 8841 8842 // A name for the gateway route metadata. 8843 // 8844 // Name is a required field 8845 Name *string `locationName:"name" min:"1" type:"string" required:"true"` 8846 } 8847 8848 // String returns the string representation. 8849 // 8850 // API parameter values that are decorated as "sensitive" in the API will not 8851 // be included in the string output. The member name will be present, but the 8852 // value will be replaced with "sensitive". 8853 func (s GrpcGatewayRouteMetadata) String() string { 8854 return awsutil.Prettify(s) 8855 } 8856 8857 // GoString returns the string representation. 8858 // 8859 // API parameter values that are decorated as "sensitive" in the API will not 8860 // be included in the string output. The member name will be present, but the 8861 // value will be replaced with "sensitive". 8862 func (s GrpcGatewayRouteMetadata) GoString() string { 8863 return s.String() 8864 } 8865 8866 // Validate inspects the fields of the type to determine if they are valid. 8867 func (s *GrpcGatewayRouteMetadata) Validate() error { 8868 invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRouteMetadata"} 8869 if s.Name == nil { 8870 invalidParams.Add(request.NewErrParamRequired("Name")) 8871 } 8872 if s.Name != nil && len(*s.Name) < 1 { 8873 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 8874 } 8875 if s.Match != nil { 8876 if err := s.Match.Validate(); err != nil { 8877 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 8878 } 8879 } 8880 8881 if invalidParams.Len() > 0 { 8882 return invalidParams 8883 } 8884 return nil 8885 } 8886 8887 // SetInvert sets the Invert field's value. 8888 func (s *GrpcGatewayRouteMetadata) SetInvert(v bool) *GrpcGatewayRouteMetadata { 8889 s.Invert = &v 8890 return s 8891 } 8892 8893 // SetMatch sets the Match field's value. 8894 func (s *GrpcGatewayRouteMetadata) SetMatch(v *GrpcMetadataMatchMethod) *GrpcGatewayRouteMetadata { 8895 s.Match = v 8896 return s 8897 } 8898 8899 // SetName sets the Name field's value. 8900 func (s *GrpcGatewayRouteMetadata) SetName(v string) *GrpcGatewayRouteMetadata { 8901 s.Name = &v 8902 return s 8903 } 8904 8905 // An object that represents the gateway route to rewrite. 8906 type GrpcGatewayRouteRewrite struct { 8907 _ struct{} `type:"structure"` 8908 8909 // The host name of the gateway route to rewrite. 8910 Hostname *GatewayRouteHostnameRewrite `locationName:"hostname" type:"structure"` 8911 } 8912 8913 // String returns the string representation. 8914 // 8915 // API parameter values that are decorated as "sensitive" in the API will not 8916 // be included in the string output. The member name will be present, but the 8917 // value will be replaced with "sensitive". 8918 func (s GrpcGatewayRouteRewrite) String() string { 8919 return awsutil.Prettify(s) 8920 } 8921 8922 // GoString returns the string representation. 8923 // 8924 // API parameter values that are decorated as "sensitive" in the API will not 8925 // be included in the string output. The member name will be present, but the 8926 // value will be replaced with "sensitive". 8927 func (s GrpcGatewayRouteRewrite) GoString() string { 8928 return s.String() 8929 } 8930 8931 // SetHostname sets the Hostname field's value. 8932 func (s *GrpcGatewayRouteRewrite) SetHostname(v *GatewayRouteHostnameRewrite) *GrpcGatewayRouteRewrite { 8933 s.Hostname = v 8934 return s 8935 } 8936 8937 // An object representing the method header to be matched. 8938 type GrpcMetadataMatchMethod struct { 8939 _ struct{} `type:"structure"` 8940 8941 // The exact method header to be matched on. 8942 Exact *string `locationName:"exact" min:"1" type:"string"` 8943 8944 // The specified beginning characters of the method header to be matched on. 8945 Prefix *string `locationName:"prefix" min:"1" type:"string"` 8946 8947 // An object that represents the range of values to match on. The first character 8948 // of the range is included in the range, though the last character is not. 8949 // For example, if the range specified were 1-100, only values 1-99 would be 8950 // matched. 8951 Range *MatchRange `locationName:"range" type:"structure"` 8952 8953 // The regex used to match the method header. 8954 Regex *string `locationName:"regex" min:"1" type:"string"` 8955 8956 // The specified ending characters of the method header to match on. 8957 Suffix *string `locationName:"suffix" min:"1" type:"string"` 8958 } 8959 8960 // String returns the string representation. 8961 // 8962 // API parameter values that are decorated as "sensitive" in the API will not 8963 // be included in the string output. The member name will be present, but the 8964 // value will be replaced with "sensitive". 8965 func (s GrpcMetadataMatchMethod) String() string { 8966 return awsutil.Prettify(s) 8967 } 8968 8969 // GoString returns the string representation. 8970 // 8971 // API parameter values that are decorated as "sensitive" in the API will not 8972 // be included in the string output. The member name will be present, but the 8973 // value will be replaced with "sensitive". 8974 func (s GrpcMetadataMatchMethod) GoString() string { 8975 return s.String() 8976 } 8977 8978 // Validate inspects the fields of the type to determine if they are valid. 8979 func (s *GrpcMetadataMatchMethod) Validate() error { 8980 invalidParams := request.ErrInvalidParams{Context: "GrpcMetadataMatchMethod"} 8981 if s.Exact != nil && len(*s.Exact) < 1 { 8982 invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) 8983 } 8984 if s.Prefix != nil && len(*s.Prefix) < 1 { 8985 invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) 8986 } 8987 if s.Regex != nil && len(*s.Regex) < 1 { 8988 invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) 8989 } 8990 if s.Suffix != nil && len(*s.Suffix) < 1 { 8991 invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) 8992 } 8993 if s.Range != nil { 8994 if err := s.Range.Validate(); err != nil { 8995 invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) 8996 } 8997 } 8998 8999 if invalidParams.Len() > 0 { 9000 return invalidParams 9001 } 9002 return nil 9003 } 9004 9005 // SetExact sets the Exact field's value. 9006 func (s *GrpcMetadataMatchMethod) SetExact(v string) *GrpcMetadataMatchMethod { 9007 s.Exact = &v 9008 return s 9009 } 9010 9011 // SetPrefix sets the Prefix field's value. 9012 func (s *GrpcMetadataMatchMethod) SetPrefix(v string) *GrpcMetadataMatchMethod { 9013 s.Prefix = &v 9014 return s 9015 } 9016 9017 // SetRange sets the Range field's value. 9018 func (s *GrpcMetadataMatchMethod) SetRange(v *MatchRange) *GrpcMetadataMatchMethod { 9019 s.Range = v 9020 return s 9021 } 9022 9023 // SetRegex sets the Regex field's value. 9024 func (s *GrpcMetadataMatchMethod) SetRegex(v string) *GrpcMetadataMatchMethod { 9025 s.Regex = &v 9026 return s 9027 } 9028 9029 // SetSuffix sets the Suffix field's value. 9030 func (s *GrpcMetadataMatchMethod) SetSuffix(v string) *GrpcMetadataMatchMethod { 9031 s.Suffix = &v 9032 return s 9033 } 9034 9035 // An object that represents a retry policy. Specify at least one value for 9036 // at least one of the types of RetryEvents, a value for maxRetries, and a value 9037 // for perRetryTimeout. Both server-error and gateway-error under httpRetryEvents 9038 // include the Envoy reset policy. For more information on the reset policy, 9039 // see the Envoy documentation (https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on). 9040 type GrpcRetryPolicy struct { 9041 _ struct{} `type:"structure"` 9042 9043 // Specify at least one of the valid values. 9044 GrpcRetryEvents []*string `locationName:"grpcRetryEvents" min:"1" type:"list"` 9045 9046 // Specify at least one of the following values. 9047 // 9048 // * server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 9049 // 507, 508, 510, and 511 9050 // 9051 // * gateway-error – HTTP status codes 502, 503, and 504 9052 // 9053 // * client-error – HTTP status code 409 9054 // 9055 // * stream-error – Retry on refused stream 9056 HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` 9057 9058 // The maximum number of retry attempts. 9059 // 9060 // MaxRetries is a required field 9061 MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` 9062 9063 // The timeout for each retry attempt. 9064 // 9065 // PerRetryTimeout is a required field 9066 PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` 9067 9068 // Specify a valid value. The event occurs before any processing of a request 9069 // has started and is encountered when the upstream is temporarily or permanently 9070 // unavailable. 9071 TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` 9072 } 9073 9074 // String returns the string representation. 9075 // 9076 // API parameter values that are decorated as "sensitive" in the API will not 9077 // be included in the string output. The member name will be present, but the 9078 // value will be replaced with "sensitive". 9079 func (s GrpcRetryPolicy) String() string { 9080 return awsutil.Prettify(s) 9081 } 9082 9083 // GoString returns the string representation. 9084 // 9085 // API parameter values that are decorated as "sensitive" in the API will not 9086 // be included in the string output. The member name will be present, but the 9087 // value will be replaced with "sensitive". 9088 func (s GrpcRetryPolicy) GoString() string { 9089 return s.String() 9090 } 9091 9092 // Validate inspects the fields of the type to determine if they are valid. 9093 func (s *GrpcRetryPolicy) Validate() error { 9094 invalidParams := request.ErrInvalidParams{Context: "GrpcRetryPolicy"} 9095 if s.GrpcRetryEvents != nil && len(s.GrpcRetryEvents) < 1 { 9096 invalidParams.Add(request.NewErrParamMinLen("GrpcRetryEvents", 1)) 9097 } 9098 if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { 9099 invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) 9100 } 9101 if s.MaxRetries == nil { 9102 invalidParams.Add(request.NewErrParamRequired("MaxRetries")) 9103 } 9104 if s.PerRetryTimeout == nil { 9105 invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) 9106 } 9107 if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { 9108 invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) 9109 } 9110 9111 if invalidParams.Len() > 0 { 9112 return invalidParams 9113 } 9114 return nil 9115 } 9116 9117 // SetGrpcRetryEvents sets the GrpcRetryEvents field's value. 9118 func (s *GrpcRetryPolicy) SetGrpcRetryEvents(v []*string) *GrpcRetryPolicy { 9119 s.GrpcRetryEvents = v 9120 return s 9121 } 9122 9123 // SetHttpRetryEvents sets the HttpRetryEvents field's value. 9124 func (s *GrpcRetryPolicy) SetHttpRetryEvents(v []*string) *GrpcRetryPolicy { 9125 s.HttpRetryEvents = v 9126 return s 9127 } 9128 9129 // SetMaxRetries sets the MaxRetries field's value. 9130 func (s *GrpcRetryPolicy) SetMaxRetries(v int64) *GrpcRetryPolicy { 9131 s.MaxRetries = &v 9132 return s 9133 } 9134 9135 // SetPerRetryTimeout sets the PerRetryTimeout field's value. 9136 func (s *GrpcRetryPolicy) SetPerRetryTimeout(v *Duration) *GrpcRetryPolicy { 9137 s.PerRetryTimeout = v 9138 return s 9139 } 9140 9141 // SetTcpRetryEvents sets the TcpRetryEvents field's value. 9142 func (s *GrpcRetryPolicy) SetTcpRetryEvents(v []*string) *GrpcRetryPolicy { 9143 s.TcpRetryEvents = v 9144 return s 9145 } 9146 9147 // An object that represents a gRPC route type. 9148 type GrpcRoute struct { 9149 _ struct{} `type:"structure"` 9150 9151 // An object that represents the action to take if a match is determined. 9152 // 9153 // Action is a required field 9154 Action *GrpcRouteAction `locationName:"action" type:"structure" required:"true"` 9155 9156 // An object that represents the criteria for determining a request match. 9157 // 9158 // Match is a required field 9159 Match *GrpcRouteMatch `locationName:"match" type:"structure" required:"true"` 9160 9161 // An object that represents a retry policy. 9162 RetryPolicy *GrpcRetryPolicy `locationName:"retryPolicy" type:"structure"` 9163 9164 // An object that represents types of timeouts. 9165 Timeout *GrpcTimeout `locationName:"timeout" type:"structure"` 9166 } 9167 9168 // String returns the string representation. 9169 // 9170 // API parameter values that are decorated as "sensitive" in the API will not 9171 // be included in the string output. The member name will be present, but the 9172 // value will be replaced with "sensitive". 9173 func (s GrpcRoute) String() string { 9174 return awsutil.Prettify(s) 9175 } 9176 9177 // GoString returns the string representation. 9178 // 9179 // API parameter values that are decorated as "sensitive" in the API will not 9180 // be included in the string output. The member name will be present, but the 9181 // value will be replaced with "sensitive". 9182 func (s GrpcRoute) GoString() string { 9183 return s.String() 9184 } 9185 9186 // Validate inspects the fields of the type to determine if they are valid. 9187 func (s *GrpcRoute) Validate() error { 9188 invalidParams := request.ErrInvalidParams{Context: "GrpcRoute"} 9189 if s.Action == nil { 9190 invalidParams.Add(request.NewErrParamRequired("Action")) 9191 } 9192 if s.Match == nil { 9193 invalidParams.Add(request.NewErrParamRequired("Match")) 9194 } 9195 if s.Action != nil { 9196 if err := s.Action.Validate(); err != nil { 9197 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 9198 } 9199 } 9200 if s.Match != nil { 9201 if err := s.Match.Validate(); err != nil { 9202 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 9203 } 9204 } 9205 if s.RetryPolicy != nil { 9206 if err := s.RetryPolicy.Validate(); err != nil { 9207 invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) 9208 } 9209 } 9210 9211 if invalidParams.Len() > 0 { 9212 return invalidParams 9213 } 9214 return nil 9215 } 9216 9217 // SetAction sets the Action field's value. 9218 func (s *GrpcRoute) SetAction(v *GrpcRouteAction) *GrpcRoute { 9219 s.Action = v 9220 return s 9221 } 9222 9223 // SetMatch sets the Match field's value. 9224 func (s *GrpcRoute) SetMatch(v *GrpcRouteMatch) *GrpcRoute { 9225 s.Match = v 9226 return s 9227 } 9228 9229 // SetRetryPolicy sets the RetryPolicy field's value. 9230 func (s *GrpcRoute) SetRetryPolicy(v *GrpcRetryPolicy) *GrpcRoute { 9231 s.RetryPolicy = v 9232 return s 9233 } 9234 9235 // SetTimeout sets the Timeout field's value. 9236 func (s *GrpcRoute) SetTimeout(v *GrpcTimeout) *GrpcRoute { 9237 s.Timeout = v 9238 return s 9239 } 9240 9241 // An object that represents the action to take if a match is determined. 9242 type GrpcRouteAction struct { 9243 _ struct{} `type:"structure"` 9244 9245 // An object that represents the targets that traffic is routed to when a request 9246 // matches the route. 9247 // 9248 // WeightedTargets is a required field 9249 WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` 9250 } 9251 9252 // String returns the string representation. 9253 // 9254 // API parameter values that are decorated as "sensitive" in the API will not 9255 // be included in the string output. The member name will be present, but the 9256 // value will be replaced with "sensitive". 9257 func (s GrpcRouteAction) String() string { 9258 return awsutil.Prettify(s) 9259 } 9260 9261 // GoString returns the string representation. 9262 // 9263 // API parameter values that are decorated as "sensitive" in the API will not 9264 // be included in the string output. The member name will be present, but the 9265 // value will be replaced with "sensitive". 9266 func (s GrpcRouteAction) GoString() string { 9267 return s.String() 9268 } 9269 9270 // Validate inspects the fields of the type to determine if they are valid. 9271 func (s *GrpcRouteAction) Validate() error { 9272 invalidParams := request.ErrInvalidParams{Context: "GrpcRouteAction"} 9273 if s.WeightedTargets == nil { 9274 invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) 9275 } 9276 if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { 9277 invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) 9278 } 9279 if s.WeightedTargets != nil { 9280 for i, v := range s.WeightedTargets { 9281 if v == nil { 9282 continue 9283 } 9284 if err := v.Validate(); err != nil { 9285 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) 9286 } 9287 } 9288 } 9289 9290 if invalidParams.Len() > 0 { 9291 return invalidParams 9292 } 9293 return nil 9294 } 9295 9296 // SetWeightedTargets sets the WeightedTargets field's value. 9297 func (s *GrpcRouteAction) SetWeightedTargets(v []*WeightedTarget) *GrpcRouteAction { 9298 s.WeightedTargets = v 9299 return s 9300 } 9301 9302 // An object that represents the criteria for determining a request match. 9303 type GrpcRouteMatch struct { 9304 _ struct{} `type:"structure"` 9305 9306 // An object that represents the data to match from the request. 9307 Metadata []*GrpcRouteMetadata `locationName:"metadata" min:"1" type:"list"` 9308 9309 // The method name to match from the request. If you specify a name, you must 9310 // also specify a serviceName. 9311 MethodName *string `locationName:"methodName" min:"1" type:"string"` 9312 9313 // The fully qualified domain name for the service to match from the request. 9314 ServiceName *string `locationName:"serviceName" type:"string"` 9315 } 9316 9317 // String returns the string representation. 9318 // 9319 // API parameter values that are decorated as "sensitive" in the API will not 9320 // be included in the string output. The member name will be present, but the 9321 // value will be replaced with "sensitive". 9322 func (s GrpcRouteMatch) String() string { 9323 return awsutil.Prettify(s) 9324 } 9325 9326 // GoString returns the string representation. 9327 // 9328 // API parameter values that are decorated as "sensitive" in the API will not 9329 // be included in the string output. The member name will be present, but the 9330 // value will be replaced with "sensitive". 9331 func (s GrpcRouteMatch) GoString() string { 9332 return s.String() 9333 } 9334 9335 // Validate inspects the fields of the type to determine if they are valid. 9336 func (s *GrpcRouteMatch) Validate() error { 9337 invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMatch"} 9338 if s.Metadata != nil && len(s.Metadata) < 1 { 9339 invalidParams.Add(request.NewErrParamMinLen("Metadata", 1)) 9340 } 9341 if s.MethodName != nil && len(*s.MethodName) < 1 { 9342 invalidParams.Add(request.NewErrParamMinLen("MethodName", 1)) 9343 } 9344 if s.Metadata != nil { 9345 for i, v := range s.Metadata { 9346 if v == nil { 9347 continue 9348 } 9349 if err := v.Validate(); err != nil { 9350 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams)) 9351 } 9352 } 9353 } 9354 9355 if invalidParams.Len() > 0 { 9356 return invalidParams 9357 } 9358 return nil 9359 } 9360 9361 // SetMetadata sets the Metadata field's value. 9362 func (s *GrpcRouteMatch) SetMetadata(v []*GrpcRouteMetadata) *GrpcRouteMatch { 9363 s.Metadata = v 9364 return s 9365 } 9366 9367 // SetMethodName sets the MethodName field's value. 9368 func (s *GrpcRouteMatch) SetMethodName(v string) *GrpcRouteMatch { 9369 s.MethodName = &v 9370 return s 9371 } 9372 9373 // SetServiceName sets the ServiceName field's value. 9374 func (s *GrpcRouteMatch) SetServiceName(v string) *GrpcRouteMatch { 9375 s.ServiceName = &v 9376 return s 9377 } 9378 9379 // An object that represents the match metadata for the route. 9380 type GrpcRouteMetadata struct { 9381 _ struct{} `type:"structure"` 9382 9383 // Specify True to match anything except the match criteria. The default value 9384 // is False. 9385 Invert *bool `locationName:"invert" type:"boolean"` 9386 9387 // An object that represents the data to match from the request. 9388 Match *GrpcRouteMetadataMatchMethod `locationName:"match" type:"structure"` 9389 9390 // The name of the route. 9391 // 9392 // Name is a required field 9393 Name *string `locationName:"name" min:"1" type:"string" required:"true"` 9394 } 9395 9396 // String returns the string representation. 9397 // 9398 // API parameter values that are decorated as "sensitive" in the API will not 9399 // be included in the string output. The member name will be present, but the 9400 // value will be replaced with "sensitive". 9401 func (s GrpcRouteMetadata) String() string { 9402 return awsutil.Prettify(s) 9403 } 9404 9405 // GoString returns the string representation. 9406 // 9407 // API parameter values that are decorated as "sensitive" in the API will not 9408 // be included in the string output. The member name will be present, but the 9409 // value will be replaced with "sensitive". 9410 func (s GrpcRouteMetadata) GoString() string { 9411 return s.String() 9412 } 9413 9414 // Validate inspects the fields of the type to determine if they are valid. 9415 func (s *GrpcRouteMetadata) Validate() error { 9416 invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadata"} 9417 if s.Name == nil { 9418 invalidParams.Add(request.NewErrParamRequired("Name")) 9419 } 9420 if s.Name != nil && len(*s.Name) < 1 { 9421 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 9422 } 9423 if s.Match != nil { 9424 if err := s.Match.Validate(); err != nil { 9425 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 9426 } 9427 } 9428 9429 if invalidParams.Len() > 0 { 9430 return invalidParams 9431 } 9432 return nil 9433 } 9434 9435 // SetInvert sets the Invert field's value. 9436 func (s *GrpcRouteMetadata) SetInvert(v bool) *GrpcRouteMetadata { 9437 s.Invert = &v 9438 return s 9439 } 9440 9441 // SetMatch sets the Match field's value. 9442 func (s *GrpcRouteMetadata) SetMatch(v *GrpcRouteMetadataMatchMethod) *GrpcRouteMetadata { 9443 s.Match = v 9444 return s 9445 } 9446 9447 // SetName sets the Name field's value. 9448 func (s *GrpcRouteMetadata) SetName(v string) *GrpcRouteMetadata { 9449 s.Name = &v 9450 return s 9451 } 9452 9453 // An object that represents the match method. Specify one of the match values. 9454 type GrpcRouteMetadataMatchMethod struct { 9455 _ struct{} `type:"structure"` 9456 9457 // The value sent by the client must match the specified value exactly. 9458 Exact *string `locationName:"exact" min:"1" type:"string"` 9459 9460 // The value sent by the client must begin with the specified characters. 9461 Prefix *string `locationName:"prefix" min:"1" type:"string"` 9462 9463 // An object that represents the range of values to match on. 9464 Range *MatchRange `locationName:"range" type:"structure"` 9465 9466 // The value sent by the client must include the specified characters. 9467 Regex *string `locationName:"regex" min:"1" type:"string"` 9468 9469 // The value sent by the client must end with the specified characters. 9470 Suffix *string `locationName:"suffix" min:"1" type:"string"` 9471 } 9472 9473 // String returns the string representation. 9474 // 9475 // API parameter values that are decorated as "sensitive" in the API will not 9476 // be included in the string output. The member name will be present, but the 9477 // value will be replaced with "sensitive". 9478 func (s GrpcRouteMetadataMatchMethod) String() string { 9479 return awsutil.Prettify(s) 9480 } 9481 9482 // GoString returns the string representation. 9483 // 9484 // API parameter values that are decorated as "sensitive" in the API will not 9485 // be included in the string output. The member name will be present, but the 9486 // value will be replaced with "sensitive". 9487 func (s GrpcRouteMetadataMatchMethod) GoString() string { 9488 return s.String() 9489 } 9490 9491 // Validate inspects the fields of the type to determine if they are valid. 9492 func (s *GrpcRouteMetadataMatchMethod) Validate() error { 9493 invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadataMatchMethod"} 9494 if s.Exact != nil && len(*s.Exact) < 1 { 9495 invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) 9496 } 9497 if s.Prefix != nil && len(*s.Prefix) < 1 { 9498 invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) 9499 } 9500 if s.Regex != nil && len(*s.Regex) < 1 { 9501 invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) 9502 } 9503 if s.Suffix != nil && len(*s.Suffix) < 1 { 9504 invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) 9505 } 9506 if s.Range != nil { 9507 if err := s.Range.Validate(); err != nil { 9508 invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) 9509 } 9510 } 9511 9512 if invalidParams.Len() > 0 { 9513 return invalidParams 9514 } 9515 return nil 9516 } 9517 9518 // SetExact sets the Exact field's value. 9519 func (s *GrpcRouteMetadataMatchMethod) SetExact(v string) *GrpcRouteMetadataMatchMethod { 9520 s.Exact = &v 9521 return s 9522 } 9523 9524 // SetPrefix sets the Prefix field's value. 9525 func (s *GrpcRouteMetadataMatchMethod) SetPrefix(v string) *GrpcRouteMetadataMatchMethod { 9526 s.Prefix = &v 9527 return s 9528 } 9529 9530 // SetRange sets the Range field's value. 9531 func (s *GrpcRouteMetadataMatchMethod) SetRange(v *MatchRange) *GrpcRouteMetadataMatchMethod { 9532 s.Range = v 9533 return s 9534 } 9535 9536 // SetRegex sets the Regex field's value. 9537 func (s *GrpcRouteMetadataMatchMethod) SetRegex(v string) *GrpcRouteMetadataMatchMethod { 9538 s.Regex = &v 9539 return s 9540 } 9541 9542 // SetSuffix sets the Suffix field's value. 9543 func (s *GrpcRouteMetadataMatchMethod) SetSuffix(v string) *GrpcRouteMetadataMatchMethod { 9544 s.Suffix = &v 9545 return s 9546 } 9547 9548 // An object that represents types of timeouts. 9549 type GrpcTimeout struct { 9550 _ struct{} `type:"structure"` 9551 9552 // An object that represents an idle timeout. An idle timeout bounds the amount 9553 // of time that a connection may be idle. The default value is none. 9554 Idle *Duration `locationName:"idle" type:"structure"` 9555 9556 // An object that represents a per request timeout. The default value is 15 9557 // seconds. If you set a higher timeout, then make sure that the higher value 9558 // is set for each App Mesh resource in a conversation. For example, if a virtual 9559 // node backend uses a virtual router provider to route to another virtual node, 9560 // then the timeout should be greater than 15 seconds for the source and destination 9561 // virtual node and the route. 9562 PerRequest *Duration `locationName:"perRequest" type:"structure"` 9563 } 9564 9565 // String returns the string representation. 9566 // 9567 // API parameter values that are decorated as "sensitive" in the API will not 9568 // be included in the string output. The member name will be present, but the 9569 // value will be replaced with "sensitive". 9570 func (s GrpcTimeout) String() string { 9571 return awsutil.Prettify(s) 9572 } 9573 9574 // GoString returns the string representation. 9575 // 9576 // API parameter values that are decorated as "sensitive" in the API will not 9577 // be included in the string output. The member name will be present, but the 9578 // value will be replaced with "sensitive". 9579 func (s GrpcTimeout) GoString() string { 9580 return s.String() 9581 } 9582 9583 // SetIdle sets the Idle field's value. 9584 func (s *GrpcTimeout) SetIdle(v *Duration) *GrpcTimeout { 9585 s.Idle = v 9586 return s 9587 } 9588 9589 // SetPerRequest sets the PerRequest field's value. 9590 func (s *GrpcTimeout) SetPerRequest(v *Duration) *GrpcTimeout { 9591 s.PerRequest = v 9592 return s 9593 } 9594 9595 // An object that represents the method and value to match with the header value 9596 // sent in a request. Specify one match method. 9597 type HeaderMatchMethod struct { 9598 _ struct{} `type:"structure"` 9599 9600 // The value sent by the client must match the specified value exactly. 9601 Exact *string `locationName:"exact" min:"1" type:"string"` 9602 9603 // The value sent by the client must begin with the specified characters. 9604 Prefix *string `locationName:"prefix" min:"1" type:"string"` 9605 9606 // An object that represents the range of values to match on. 9607 Range *MatchRange `locationName:"range" type:"structure"` 9608 9609 // The value sent by the client must include the specified characters. 9610 Regex *string `locationName:"regex" min:"1" type:"string"` 9611 9612 // The value sent by the client must end with the specified characters. 9613 Suffix *string `locationName:"suffix" min:"1" type:"string"` 9614 } 9615 9616 // String returns the string representation. 9617 // 9618 // API parameter values that are decorated as "sensitive" in the API will not 9619 // be included in the string output. The member name will be present, but the 9620 // value will be replaced with "sensitive". 9621 func (s HeaderMatchMethod) String() string { 9622 return awsutil.Prettify(s) 9623 } 9624 9625 // GoString returns the string representation. 9626 // 9627 // API parameter values that are decorated as "sensitive" in the API will not 9628 // be included in the string output. The member name will be present, but the 9629 // value will be replaced with "sensitive". 9630 func (s HeaderMatchMethod) GoString() string { 9631 return s.String() 9632 } 9633 9634 // Validate inspects the fields of the type to determine if they are valid. 9635 func (s *HeaderMatchMethod) Validate() error { 9636 invalidParams := request.ErrInvalidParams{Context: "HeaderMatchMethod"} 9637 if s.Exact != nil && len(*s.Exact) < 1 { 9638 invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) 9639 } 9640 if s.Prefix != nil && len(*s.Prefix) < 1 { 9641 invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) 9642 } 9643 if s.Regex != nil && len(*s.Regex) < 1 { 9644 invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) 9645 } 9646 if s.Suffix != nil && len(*s.Suffix) < 1 { 9647 invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) 9648 } 9649 if s.Range != nil { 9650 if err := s.Range.Validate(); err != nil { 9651 invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) 9652 } 9653 } 9654 9655 if invalidParams.Len() > 0 { 9656 return invalidParams 9657 } 9658 return nil 9659 } 9660 9661 // SetExact sets the Exact field's value. 9662 func (s *HeaderMatchMethod) SetExact(v string) *HeaderMatchMethod { 9663 s.Exact = &v 9664 return s 9665 } 9666 9667 // SetPrefix sets the Prefix field's value. 9668 func (s *HeaderMatchMethod) SetPrefix(v string) *HeaderMatchMethod { 9669 s.Prefix = &v 9670 return s 9671 } 9672 9673 // SetRange sets the Range field's value. 9674 func (s *HeaderMatchMethod) SetRange(v *MatchRange) *HeaderMatchMethod { 9675 s.Range = v 9676 return s 9677 } 9678 9679 // SetRegex sets the Regex field's value. 9680 func (s *HeaderMatchMethod) SetRegex(v string) *HeaderMatchMethod { 9681 s.Regex = &v 9682 return s 9683 } 9684 9685 // SetSuffix sets the Suffix field's value. 9686 func (s *HeaderMatchMethod) SetSuffix(v string) *HeaderMatchMethod { 9687 s.Suffix = &v 9688 return s 9689 } 9690 9691 // An object that represents the health check policy for a virtual node's listener. 9692 type HealthCheckPolicy struct { 9693 _ struct{} `type:"structure"` 9694 9695 // The number of consecutive successful health checks that must occur before 9696 // declaring listener healthy. 9697 // 9698 // HealthyThreshold is a required field 9699 HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` 9700 9701 // The time period in milliseconds between each health check execution. 9702 // 9703 // IntervalMillis is a required field 9704 IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` 9705 9706 // The destination path for the health check request. This value is only used 9707 // if the specified protocol is HTTP or HTTP/2. For any other protocol, this 9708 // value is ignored. 9709 Path *string `locationName:"path" type:"string"` 9710 9711 // The destination port for the health check request. This port must match the 9712 // port defined in the PortMapping for the listener. 9713 Port *int64 `locationName:"port" min:"1" type:"integer"` 9714 9715 // The protocol for the health check request. If you specify grpc, then your 9716 // service must conform to the GRPC Health Checking Protocol (https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 9717 // 9718 // Protocol is a required field 9719 Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` 9720 9721 // The amount of time to wait when receiving a response from the health check, 9722 // in milliseconds. 9723 // 9724 // TimeoutMillis is a required field 9725 TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` 9726 9727 // The number of consecutive failed health checks that must occur before declaring 9728 // a virtual node unhealthy. 9729 // 9730 // UnhealthyThreshold is a required field 9731 UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` 9732 } 9733 9734 // String returns the string representation. 9735 // 9736 // API parameter values that are decorated as "sensitive" in the API will not 9737 // be included in the string output. The member name will be present, but the 9738 // value will be replaced with "sensitive". 9739 func (s HealthCheckPolicy) String() string { 9740 return awsutil.Prettify(s) 9741 } 9742 9743 // GoString returns the string representation. 9744 // 9745 // API parameter values that are decorated as "sensitive" in the API will not 9746 // be included in the string output. The member name will be present, but the 9747 // value will be replaced with "sensitive". 9748 func (s HealthCheckPolicy) GoString() string { 9749 return s.String() 9750 } 9751 9752 // Validate inspects the fields of the type to determine if they are valid. 9753 func (s *HealthCheckPolicy) Validate() error { 9754 invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"} 9755 if s.HealthyThreshold == nil { 9756 invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) 9757 } 9758 if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { 9759 invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) 9760 } 9761 if s.IntervalMillis == nil { 9762 invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) 9763 } 9764 if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { 9765 invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) 9766 } 9767 if s.Port != nil && *s.Port < 1 { 9768 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 9769 } 9770 if s.Protocol == nil { 9771 invalidParams.Add(request.NewErrParamRequired("Protocol")) 9772 } 9773 if s.TimeoutMillis == nil { 9774 invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) 9775 } 9776 if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { 9777 invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) 9778 } 9779 if s.UnhealthyThreshold == nil { 9780 invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) 9781 } 9782 if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { 9783 invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) 9784 } 9785 9786 if invalidParams.Len() > 0 { 9787 return invalidParams 9788 } 9789 return nil 9790 } 9791 9792 // SetHealthyThreshold sets the HealthyThreshold field's value. 9793 func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy { 9794 s.HealthyThreshold = &v 9795 return s 9796 } 9797 9798 // SetIntervalMillis sets the IntervalMillis field's value. 9799 func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy { 9800 s.IntervalMillis = &v 9801 return s 9802 } 9803 9804 // SetPath sets the Path field's value. 9805 func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy { 9806 s.Path = &v 9807 return s 9808 } 9809 9810 // SetPort sets the Port field's value. 9811 func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy { 9812 s.Port = &v 9813 return s 9814 } 9815 9816 // SetProtocol sets the Protocol field's value. 9817 func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy { 9818 s.Protocol = &v 9819 return s 9820 } 9821 9822 // SetTimeoutMillis sets the TimeoutMillis field's value. 9823 func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy { 9824 s.TimeoutMillis = &v 9825 return s 9826 } 9827 9828 // SetUnhealthyThreshold sets the UnhealthyThreshold field's value. 9829 func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy { 9830 s.UnhealthyThreshold = &v 9831 return s 9832 } 9833 9834 // An object that represents an HTTP gateway route. 9835 type HttpGatewayRoute struct { 9836 _ struct{} `type:"structure"` 9837 9838 // An object that represents the action to take if a match is determined. 9839 // 9840 // Action is a required field 9841 Action *HttpGatewayRouteAction `locationName:"action" type:"structure" required:"true"` 9842 9843 // An object that represents the criteria for determining a request match. 9844 // 9845 // Match is a required field 9846 Match *HttpGatewayRouteMatch `locationName:"match" type:"structure" required:"true"` 9847 } 9848 9849 // String returns the string representation. 9850 // 9851 // API parameter values that are decorated as "sensitive" in the API will not 9852 // be included in the string output. The member name will be present, but the 9853 // value will be replaced with "sensitive". 9854 func (s HttpGatewayRoute) String() string { 9855 return awsutil.Prettify(s) 9856 } 9857 9858 // GoString returns the string representation. 9859 // 9860 // API parameter values that are decorated as "sensitive" in the API will not 9861 // be included in the string output. The member name will be present, but the 9862 // value will be replaced with "sensitive". 9863 func (s HttpGatewayRoute) GoString() string { 9864 return s.String() 9865 } 9866 9867 // Validate inspects the fields of the type to determine if they are valid. 9868 func (s *HttpGatewayRoute) Validate() error { 9869 invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRoute"} 9870 if s.Action == nil { 9871 invalidParams.Add(request.NewErrParamRequired("Action")) 9872 } 9873 if s.Match == nil { 9874 invalidParams.Add(request.NewErrParamRequired("Match")) 9875 } 9876 if s.Action != nil { 9877 if err := s.Action.Validate(); err != nil { 9878 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 9879 } 9880 } 9881 if s.Match != nil { 9882 if err := s.Match.Validate(); err != nil { 9883 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 9884 } 9885 } 9886 9887 if invalidParams.Len() > 0 { 9888 return invalidParams 9889 } 9890 return nil 9891 } 9892 9893 // SetAction sets the Action field's value. 9894 func (s *HttpGatewayRoute) SetAction(v *HttpGatewayRouteAction) *HttpGatewayRoute { 9895 s.Action = v 9896 return s 9897 } 9898 9899 // SetMatch sets the Match field's value. 9900 func (s *HttpGatewayRoute) SetMatch(v *HttpGatewayRouteMatch) *HttpGatewayRoute { 9901 s.Match = v 9902 return s 9903 } 9904 9905 // An object that represents the action to take if a match is determined. 9906 type HttpGatewayRouteAction struct { 9907 _ struct{} `type:"structure"` 9908 9909 // The gateway route action to rewrite. 9910 Rewrite *HttpGatewayRouteRewrite `locationName:"rewrite" type:"structure"` 9911 9912 // An object that represents the target that traffic is routed to when a request 9913 // matches the gateway route. 9914 // 9915 // Target is a required field 9916 Target *GatewayRouteTarget `locationName:"target" type:"structure" required:"true"` 9917 } 9918 9919 // String returns the string representation. 9920 // 9921 // API parameter values that are decorated as "sensitive" in the API will not 9922 // be included in the string output. The member name will be present, but the 9923 // value will be replaced with "sensitive". 9924 func (s HttpGatewayRouteAction) String() string { 9925 return awsutil.Prettify(s) 9926 } 9927 9928 // GoString returns the string representation. 9929 // 9930 // API parameter values that are decorated as "sensitive" in the API will not 9931 // be included in the string output. The member name will be present, but the 9932 // value will be replaced with "sensitive". 9933 func (s HttpGatewayRouteAction) GoString() string { 9934 return s.String() 9935 } 9936 9937 // Validate inspects the fields of the type to determine if they are valid. 9938 func (s *HttpGatewayRouteAction) Validate() error { 9939 invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteAction"} 9940 if s.Target == nil { 9941 invalidParams.Add(request.NewErrParamRequired("Target")) 9942 } 9943 if s.Rewrite != nil { 9944 if err := s.Rewrite.Validate(); err != nil { 9945 invalidParams.AddNested("Rewrite", err.(request.ErrInvalidParams)) 9946 } 9947 } 9948 if s.Target != nil { 9949 if err := s.Target.Validate(); err != nil { 9950 invalidParams.AddNested("Target", err.(request.ErrInvalidParams)) 9951 } 9952 } 9953 9954 if invalidParams.Len() > 0 { 9955 return invalidParams 9956 } 9957 return nil 9958 } 9959 9960 // SetRewrite sets the Rewrite field's value. 9961 func (s *HttpGatewayRouteAction) SetRewrite(v *HttpGatewayRouteRewrite) *HttpGatewayRouteAction { 9962 s.Rewrite = v 9963 return s 9964 } 9965 9966 // SetTarget sets the Target field's value. 9967 func (s *HttpGatewayRouteAction) SetTarget(v *GatewayRouteTarget) *HttpGatewayRouteAction { 9968 s.Target = v 9969 return s 9970 } 9971 9972 // An object that represents the HTTP header in the gateway route. 9973 type HttpGatewayRouteHeader struct { 9974 _ struct{} `type:"structure"` 9975 9976 // Specify True to match anything except the match criteria. The default value 9977 // is False. 9978 Invert *bool `locationName:"invert" type:"boolean"` 9979 9980 // An object that represents the method and value to match with the header value 9981 // sent in a request. Specify one match method. 9982 Match *HeaderMatchMethod `locationName:"match" type:"structure"` 9983 9984 // A name for the HTTP header in the gateway route that will be matched on. 9985 // 9986 // Name is a required field 9987 Name *string `locationName:"name" min:"1" type:"string" required:"true"` 9988 } 9989 9990 // String returns the string representation. 9991 // 9992 // API parameter values that are decorated as "sensitive" in the API will not 9993 // be included in the string output. The member name will be present, but the 9994 // value will be replaced with "sensitive". 9995 func (s HttpGatewayRouteHeader) String() string { 9996 return awsutil.Prettify(s) 9997 } 9998 9999 // GoString returns the string representation. 10000 // 10001 // API parameter values that are decorated as "sensitive" in the API will not 10002 // be included in the string output. The member name will be present, but the 10003 // value will be replaced with "sensitive". 10004 func (s HttpGatewayRouteHeader) GoString() string { 10005 return s.String() 10006 } 10007 10008 // Validate inspects the fields of the type to determine if they are valid. 10009 func (s *HttpGatewayRouteHeader) Validate() error { 10010 invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteHeader"} 10011 if s.Name == nil { 10012 invalidParams.Add(request.NewErrParamRequired("Name")) 10013 } 10014 if s.Name != nil && len(*s.Name) < 1 { 10015 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 10016 } 10017 if s.Match != nil { 10018 if err := s.Match.Validate(); err != nil { 10019 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 10020 } 10021 } 10022 10023 if invalidParams.Len() > 0 { 10024 return invalidParams 10025 } 10026 return nil 10027 } 10028 10029 // SetInvert sets the Invert field's value. 10030 func (s *HttpGatewayRouteHeader) SetInvert(v bool) *HttpGatewayRouteHeader { 10031 s.Invert = &v 10032 return s 10033 } 10034 10035 // SetMatch sets the Match field's value. 10036 func (s *HttpGatewayRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpGatewayRouteHeader { 10037 s.Match = v 10038 return s 10039 } 10040 10041 // SetName sets the Name field's value. 10042 func (s *HttpGatewayRouteHeader) SetName(v string) *HttpGatewayRouteHeader { 10043 s.Name = &v 10044 return s 10045 } 10046 10047 // An object that represents the criteria for determining a request match. 10048 type HttpGatewayRouteMatch struct { 10049 _ struct{} `type:"structure"` 10050 10051 // The client request headers to match on. 10052 Headers []*HttpGatewayRouteHeader `locationName:"headers" min:"1" type:"list"` 10053 10054 // The host name to match on. 10055 Hostname *GatewayRouteHostnameMatch `locationName:"hostname" type:"structure"` 10056 10057 // The method to match on. 10058 Method *string `locationName:"method" type:"string" enum:"HttpMethod"` 10059 10060 // The path to match on. 10061 Path *HttpPathMatch `locationName:"path" type:"structure"` 10062 10063 // Specifies the path to match requests with. This parameter must always start 10064 // with /, which by itself matches all requests to the virtual service name. 10065 // You can also match for path-based routing of requests. For example, if your 10066 // virtual service name is my-service.local and you want the route to match 10067 // requests to my-service.local/metrics, your prefix should be /metrics. 10068 Prefix *string `locationName:"prefix" type:"string"` 10069 10070 // The query parameter to match on. 10071 QueryParameters []*HttpQueryParameter `locationName:"queryParameters" min:"1" type:"list"` 10072 } 10073 10074 // String returns the string representation. 10075 // 10076 // API parameter values that are decorated as "sensitive" in the API will not 10077 // be included in the string output. The member name will be present, but the 10078 // value will be replaced with "sensitive". 10079 func (s HttpGatewayRouteMatch) String() string { 10080 return awsutil.Prettify(s) 10081 } 10082 10083 // GoString returns the string representation. 10084 // 10085 // API parameter values that are decorated as "sensitive" in the API will not 10086 // be included in the string output. The member name will be present, but the 10087 // value will be replaced with "sensitive". 10088 func (s HttpGatewayRouteMatch) GoString() string { 10089 return s.String() 10090 } 10091 10092 // Validate inspects the fields of the type to determine if they are valid. 10093 func (s *HttpGatewayRouteMatch) Validate() error { 10094 invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteMatch"} 10095 if s.Headers != nil && len(s.Headers) < 1 { 10096 invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) 10097 } 10098 if s.QueryParameters != nil && len(s.QueryParameters) < 1 { 10099 invalidParams.Add(request.NewErrParamMinLen("QueryParameters", 1)) 10100 } 10101 if s.Headers != nil { 10102 for i, v := range s.Headers { 10103 if v == nil { 10104 continue 10105 } 10106 if err := v.Validate(); err != nil { 10107 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams)) 10108 } 10109 } 10110 } 10111 if s.Hostname != nil { 10112 if err := s.Hostname.Validate(); err != nil { 10113 invalidParams.AddNested("Hostname", err.(request.ErrInvalidParams)) 10114 } 10115 } 10116 if s.Path != nil { 10117 if err := s.Path.Validate(); err != nil { 10118 invalidParams.AddNested("Path", err.(request.ErrInvalidParams)) 10119 } 10120 } 10121 if s.QueryParameters != nil { 10122 for i, v := range s.QueryParameters { 10123 if v == nil { 10124 continue 10125 } 10126 if err := v.Validate(); err != nil { 10127 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueryParameters", i), err.(request.ErrInvalidParams)) 10128 } 10129 } 10130 } 10131 10132 if invalidParams.Len() > 0 { 10133 return invalidParams 10134 } 10135 return nil 10136 } 10137 10138 // SetHeaders sets the Headers field's value. 10139 func (s *HttpGatewayRouteMatch) SetHeaders(v []*HttpGatewayRouteHeader) *HttpGatewayRouteMatch { 10140 s.Headers = v 10141 return s 10142 } 10143 10144 // SetHostname sets the Hostname field's value. 10145 func (s *HttpGatewayRouteMatch) SetHostname(v *GatewayRouteHostnameMatch) *HttpGatewayRouteMatch { 10146 s.Hostname = v 10147 return s 10148 } 10149 10150 // SetMethod sets the Method field's value. 10151 func (s *HttpGatewayRouteMatch) SetMethod(v string) *HttpGatewayRouteMatch { 10152 s.Method = &v 10153 return s 10154 } 10155 10156 // SetPath sets the Path field's value. 10157 func (s *HttpGatewayRouteMatch) SetPath(v *HttpPathMatch) *HttpGatewayRouteMatch { 10158 s.Path = v 10159 return s 10160 } 10161 10162 // SetPrefix sets the Prefix field's value. 10163 func (s *HttpGatewayRouteMatch) SetPrefix(v string) *HttpGatewayRouteMatch { 10164 s.Prefix = &v 10165 return s 10166 } 10167 10168 // SetQueryParameters sets the QueryParameters field's value. 10169 func (s *HttpGatewayRouteMatch) SetQueryParameters(v []*HttpQueryParameter) *HttpGatewayRouteMatch { 10170 s.QueryParameters = v 10171 return s 10172 } 10173 10174 // An object that represents the path to rewrite. 10175 type HttpGatewayRoutePathRewrite struct { 10176 _ struct{} `type:"structure"` 10177 10178 // The exact path to rewrite. 10179 Exact *string `locationName:"exact" min:"1" type:"string"` 10180 } 10181 10182 // String returns the string representation. 10183 // 10184 // API parameter values that are decorated as "sensitive" in the API will not 10185 // be included in the string output. The member name will be present, but the 10186 // value will be replaced with "sensitive". 10187 func (s HttpGatewayRoutePathRewrite) String() string { 10188 return awsutil.Prettify(s) 10189 } 10190 10191 // GoString returns the string representation. 10192 // 10193 // API parameter values that are decorated as "sensitive" in the API will not 10194 // be included in the string output. The member name will be present, but the 10195 // value will be replaced with "sensitive". 10196 func (s HttpGatewayRoutePathRewrite) GoString() string { 10197 return s.String() 10198 } 10199 10200 // Validate inspects the fields of the type to determine if they are valid. 10201 func (s *HttpGatewayRoutePathRewrite) Validate() error { 10202 invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRoutePathRewrite"} 10203 if s.Exact != nil && len(*s.Exact) < 1 { 10204 invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) 10205 } 10206 10207 if invalidParams.Len() > 0 { 10208 return invalidParams 10209 } 10210 return nil 10211 } 10212 10213 // SetExact sets the Exact field's value. 10214 func (s *HttpGatewayRoutePathRewrite) SetExact(v string) *HttpGatewayRoutePathRewrite { 10215 s.Exact = &v 10216 return s 10217 } 10218 10219 // An object representing the beginning characters of the route to rewrite. 10220 type HttpGatewayRoutePrefixRewrite struct { 10221 _ struct{} `type:"structure"` 10222 10223 // The default prefix used to replace the incoming route prefix when rewritten. 10224 DefaultPrefix *string `locationName:"defaultPrefix" type:"string" enum:"DefaultGatewayRouteRewrite"` 10225 10226 // The value used to replace the incoming route prefix when rewritten. 10227 Value *string `locationName:"value" min:"1" type:"string"` 10228 } 10229 10230 // String returns the string representation. 10231 // 10232 // API parameter values that are decorated as "sensitive" in the API will not 10233 // be included in the string output. The member name will be present, but the 10234 // value will be replaced with "sensitive". 10235 func (s HttpGatewayRoutePrefixRewrite) String() string { 10236 return awsutil.Prettify(s) 10237 } 10238 10239 // GoString returns the string representation. 10240 // 10241 // API parameter values that are decorated as "sensitive" in the API will not 10242 // be included in the string output. The member name will be present, but the 10243 // value will be replaced with "sensitive". 10244 func (s HttpGatewayRoutePrefixRewrite) GoString() string { 10245 return s.String() 10246 } 10247 10248 // Validate inspects the fields of the type to determine if they are valid. 10249 func (s *HttpGatewayRoutePrefixRewrite) Validate() error { 10250 invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRoutePrefixRewrite"} 10251 if s.Value != nil && len(*s.Value) < 1 { 10252 invalidParams.Add(request.NewErrParamMinLen("Value", 1)) 10253 } 10254 10255 if invalidParams.Len() > 0 { 10256 return invalidParams 10257 } 10258 return nil 10259 } 10260 10261 // SetDefaultPrefix sets the DefaultPrefix field's value. 10262 func (s *HttpGatewayRoutePrefixRewrite) SetDefaultPrefix(v string) *HttpGatewayRoutePrefixRewrite { 10263 s.DefaultPrefix = &v 10264 return s 10265 } 10266 10267 // SetValue sets the Value field's value. 10268 func (s *HttpGatewayRoutePrefixRewrite) SetValue(v string) *HttpGatewayRoutePrefixRewrite { 10269 s.Value = &v 10270 return s 10271 } 10272 10273 // An object representing the gateway route to rewrite. 10274 type HttpGatewayRouteRewrite struct { 10275 _ struct{} `type:"structure"` 10276 10277 // The host name to rewrite. 10278 Hostname *GatewayRouteHostnameRewrite `locationName:"hostname" type:"structure"` 10279 10280 // The path to rewrite. 10281 Path *HttpGatewayRoutePathRewrite `locationName:"path" type:"structure"` 10282 10283 // The specified beginning characters to rewrite. 10284 Prefix *HttpGatewayRoutePrefixRewrite `locationName:"prefix" type:"structure"` 10285 } 10286 10287 // String returns the string representation. 10288 // 10289 // API parameter values that are decorated as "sensitive" in the API will not 10290 // be included in the string output. The member name will be present, but the 10291 // value will be replaced with "sensitive". 10292 func (s HttpGatewayRouteRewrite) String() string { 10293 return awsutil.Prettify(s) 10294 } 10295 10296 // GoString returns the string representation. 10297 // 10298 // API parameter values that are decorated as "sensitive" in the API will not 10299 // be included in the string output. The member name will be present, but the 10300 // value will be replaced with "sensitive". 10301 func (s HttpGatewayRouteRewrite) GoString() string { 10302 return s.String() 10303 } 10304 10305 // Validate inspects the fields of the type to determine if they are valid. 10306 func (s *HttpGatewayRouteRewrite) Validate() error { 10307 invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteRewrite"} 10308 if s.Path != nil { 10309 if err := s.Path.Validate(); err != nil { 10310 invalidParams.AddNested("Path", err.(request.ErrInvalidParams)) 10311 } 10312 } 10313 if s.Prefix != nil { 10314 if err := s.Prefix.Validate(); err != nil { 10315 invalidParams.AddNested("Prefix", err.(request.ErrInvalidParams)) 10316 } 10317 } 10318 10319 if invalidParams.Len() > 0 { 10320 return invalidParams 10321 } 10322 return nil 10323 } 10324 10325 // SetHostname sets the Hostname field's value. 10326 func (s *HttpGatewayRouteRewrite) SetHostname(v *GatewayRouteHostnameRewrite) *HttpGatewayRouteRewrite { 10327 s.Hostname = v 10328 return s 10329 } 10330 10331 // SetPath sets the Path field's value. 10332 func (s *HttpGatewayRouteRewrite) SetPath(v *HttpGatewayRoutePathRewrite) *HttpGatewayRouteRewrite { 10333 s.Path = v 10334 return s 10335 } 10336 10337 // SetPrefix sets the Prefix field's value. 10338 func (s *HttpGatewayRouteRewrite) SetPrefix(v *HttpGatewayRoutePrefixRewrite) *HttpGatewayRouteRewrite { 10339 s.Prefix = v 10340 return s 10341 } 10342 10343 // An object representing the path to match in the request. 10344 type HttpPathMatch struct { 10345 _ struct{} `type:"structure"` 10346 10347 // The exact path to match on. 10348 Exact *string `locationName:"exact" min:"1" type:"string"` 10349 10350 // The regex used to match the path. 10351 Regex *string `locationName:"regex" min:"1" type:"string"` 10352 } 10353 10354 // String returns the string representation. 10355 // 10356 // API parameter values that are decorated as "sensitive" in the API will not 10357 // be included in the string output. The member name will be present, but the 10358 // value will be replaced with "sensitive". 10359 func (s HttpPathMatch) String() string { 10360 return awsutil.Prettify(s) 10361 } 10362 10363 // GoString returns the string representation. 10364 // 10365 // API parameter values that are decorated as "sensitive" in the API will not 10366 // be included in the string output. The member name will be present, but the 10367 // value will be replaced with "sensitive". 10368 func (s HttpPathMatch) GoString() string { 10369 return s.String() 10370 } 10371 10372 // Validate inspects the fields of the type to determine if they are valid. 10373 func (s *HttpPathMatch) Validate() error { 10374 invalidParams := request.ErrInvalidParams{Context: "HttpPathMatch"} 10375 if s.Exact != nil && len(*s.Exact) < 1 { 10376 invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) 10377 } 10378 if s.Regex != nil && len(*s.Regex) < 1 { 10379 invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) 10380 } 10381 10382 if invalidParams.Len() > 0 { 10383 return invalidParams 10384 } 10385 return nil 10386 } 10387 10388 // SetExact sets the Exact field's value. 10389 func (s *HttpPathMatch) SetExact(v string) *HttpPathMatch { 10390 s.Exact = &v 10391 return s 10392 } 10393 10394 // SetRegex sets the Regex field's value. 10395 func (s *HttpPathMatch) SetRegex(v string) *HttpPathMatch { 10396 s.Regex = &v 10397 return s 10398 } 10399 10400 // An object that represents the query parameter in the request. 10401 type HttpQueryParameter struct { 10402 _ struct{} `type:"structure"` 10403 10404 // The query parameter to match on. 10405 Match *QueryParameterMatch `locationName:"match" type:"structure"` 10406 10407 // A name for the query parameter that will be matched on. 10408 // 10409 // Name is a required field 10410 Name *string `locationName:"name" type:"string" required:"true"` 10411 } 10412 10413 // String returns the string representation. 10414 // 10415 // API parameter values that are decorated as "sensitive" in the API will not 10416 // be included in the string output. The member name will be present, but the 10417 // value will be replaced with "sensitive". 10418 func (s HttpQueryParameter) String() string { 10419 return awsutil.Prettify(s) 10420 } 10421 10422 // GoString returns the string representation. 10423 // 10424 // API parameter values that are decorated as "sensitive" in the API will not 10425 // be included in the string output. The member name will be present, but the 10426 // value will be replaced with "sensitive". 10427 func (s HttpQueryParameter) GoString() string { 10428 return s.String() 10429 } 10430 10431 // Validate inspects the fields of the type to determine if they are valid. 10432 func (s *HttpQueryParameter) Validate() error { 10433 invalidParams := request.ErrInvalidParams{Context: "HttpQueryParameter"} 10434 if s.Name == nil { 10435 invalidParams.Add(request.NewErrParamRequired("Name")) 10436 } 10437 10438 if invalidParams.Len() > 0 { 10439 return invalidParams 10440 } 10441 return nil 10442 } 10443 10444 // SetMatch sets the Match field's value. 10445 func (s *HttpQueryParameter) SetMatch(v *QueryParameterMatch) *HttpQueryParameter { 10446 s.Match = v 10447 return s 10448 } 10449 10450 // SetName sets the Name field's value. 10451 func (s *HttpQueryParameter) SetName(v string) *HttpQueryParameter { 10452 s.Name = &v 10453 return s 10454 } 10455 10456 // An object that represents a retry policy. Specify at least one value for 10457 // at least one of the types of RetryEvents, a value for maxRetries, and a value 10458 // for perRetryTimeout. Both server-error and gateway-error under httpRetryEvents 10459 // include the Envoy reset policy. For more information on the reset policy, 10460 // see the Envoy documentation (https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on). 10461 type HttpRetryPolicy struct { 10462 _ struct{} `type:"structure"` 10463 10464 // Specify at least one of the following values. 10465 // 10466 // * server-error – HTTP status codes 500, 501, 502, 503, 504, 505, 506, 10467 // 507, 508, 510, and 511 10468 // 10469 // * gateway-error – HTTP status codes 502, 503, and 504 10470 // 10471 // * client-error – HTTP status code 409 10472 // 10473 // * stream-error – Retry on refused stream 10474 HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` 10475 10476 // The maximum number of retry attempts. 10477 // 10478 // MaxRetries is a required field 10479 MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` 10480 10481 // The timeout for each retry attempt. 10482 // 10483 // PerRetryTimeout is a required field 10484 PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` 10485 10486 // Specify a valid value. The event occurs before any processing of a request 10487 // has started and is encountered when the upstream is temporarily or permanently 10488 // unavailable. 10489 TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` 10490 } 10491 10492 // String returns the string representation. 10493 // 10494 // API parameter values that are decorated as "sensitive" in the API will not 10495 // be included in the string output. The member name will be present, but the 10496 // value will be replaced with "sensitive". 10497 func (s HttpRetryPolicy) String() string { 10498 return awsutil.Prettify(s) 10499 } 10500 10501 // GoString returns the string representation. 10502 // 10503 // API parameter values that are decorated as "sensitive" in the API will not 10504 // be included in the string output. The member name will be present, but the 10505 // value will be replaced with "sensitive". 10506 func (s HttpRetryPolicy) GoString() string { 10507 return s.String() 10508 } 10509 10510 // Validate inspects the fields of the type to determine if they are valid. 10511 func (s *HttpRetryPolicy) Validate() error { 10512 invalidParams := request.ErrInvalidParams{Context: "HttpRetryPolicy"} 10513 if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { 10514 invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) 10515 } 10516 if s.MaxRetries == nil { 10517 invalidParams.Add(request.NewErrParamRequired("MaxRetries")) 10518 } 10519 if s.PerRetryTimeout == nil { 10520 invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) 10521 } 10522 if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { 10523 invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) 10524 } 10525 10526 if invalidParams.Len() > 0 { 10527 return invalidParams 10528 } 10529 return nil 10530 } 10531 10532 // SetHttpRetryEvents sets the HttpRetryEvents field's value. 10533 func (s *HttpRetryPolicy) SetHttpRetryEvents(v []*string) *HttpRetryPolicy { 10534 s.HttpRetryEvents = v 10535 return s 10536 } 10537 10538 // SetMaxRetries sets the MaxRetries field's value. 10539 func (s *HttpRetryPolicy) SetMaxRetries(v int64) *HttpRetryPolicy { 10540 s.MaxRetries = &v 10541 return s 10542 } 10543 10544 // SetPerRetryTimeout sets the PerRetryTimeout field's value. 10545 func (s *HttpRetryPolicy) SetPerRetryTimeout(v *Duration) *HttpRetryPolicy { 10546 s.PerRetryTimeout = v 10547 return s 10548 } 10549 10550 // SetTcpRetryEvents sets the TcpRetryEvents field's value. 10551 func (s *HttpRetryPolicy) SetTcpRetryEvents(v []*string) *HttpRetryPolicy { 10552 s.TcpRetryEvents = v 10553 return s 10554 } 10555 10556 // An object that represents an HTTP or HTTP/2 route type. 10557 type HttpRoute struct { 10558 _ struct{} `type:"structure"` 10559 10560 // An object that represents the action to take if a match is determined. 10561 // 10562 // Action is a required field 10563 Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"` 10564 10565 // An object that represents the criteria for determining a request match. 10566 // 10567 // Match is a required field 10568 Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"` 10569 10570 // An object that represents a retry policy. 10571 RetryPolicy *HttpRetryPolicy `locationName:"retryPolicy" type:"structure"` 10572 10573 // An object that represents types of timeouts. 10574 Timeout *HttpTimeout `locationName:"timeout" type:"structure"` 10575 } 10576 10577 // String returns the string representation. 10578 // 10579 // API parameter values that are decorated as "sensitive" in the API will not 10580 // be included in the string output. The member name will be present, but the 10581 // value will be replaced with "sensitive". 10582 func (s HttpRoute) String() string { 10583 return awsutil.Prettify(s) 10584 } 10585 10586 // GoString returns the string representation. 10587 // 10588 // API parameter values that are decorated as "sensitive" in the API will not 10589 // be included in the string output. The member name will be present, but the 10590 // value will be replaced with "sensitive". 10591 func (s HttpRoute) GoString() string { 10592 return s.String() 10593 } 10594 10595 // Validate inspects the fields of the type to determine if they are valid. 10596 func (s *HttpRoute) Validate() error { 10597 invalidParams := request.ErrInvalidParams{Context: "HttpRoute"} 10598 if s.Action == nil { 10599 invalidParams.Add(request.NewErrParamRequired("Action")) 10600 } 10601 if s.Match == nil { 10602 invalidParams.Add(request.NewErrParamRequired("Match")) 10603 } 10604 if s.Action != nil { 10605 if err := s.Action.Validate(); err != nil { 10606 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 10607 } 10608 } 10609 if s.Match != nil { 10610 if err := s.Match.Validate(); err != nil { 10611 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 10612 } 10613 } 10614 if s.RetryPolicy != nil { 10615 if err := s.RetryPolicy.Validate(); err != nil { 10616 invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) 10617 } 10618 } 10619 10620 if invalidParams.Len() > 0 { 10621 return invalidParams 10622 } 10623 return nil 10624 } 10625 10626 // SetAction sets the Action field's value. 10627 func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute { 10628 s.Action = v 10629 return s 10630 } 10631 10632 // SetMatch sets the Match field's value. 10633 func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute { 10634 s.Match = v 10635 return s 10636 } 10637 10638 // SetRetryPolicy sets the RetryPolicy field's value. 10639 func (s *HttpRoute) SetRetryPolicy(v *HttpRetryPolicy) *HttpRoute { 10640 s.RetryPolicy = v 10641 return s 10642 } 10643 10644 // SetTimeout sets the Timeout field's value. 10645 func (s *HttpRoute) SetTimeout(v *HttpTimeout) *HttpRoute { 10646 s.Timeout = v 10647 return s 10648 } 10649 10650 // An object that represents the action to take if a match is determined. 10651 type HttpRouteAction struct { 10652 _ struct{} `type:"structure"` 10653 10654 // An object that represents the targets that traffic is routed to when a request 10655 // matches the route. 10656 // 10657 // WeightedTargets is a required field 10658 WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` 10659 } 10660 10661 // String returns the string representation. 10662 // 10663 // API parameter values that are decorated as "sensitive" in the API will not 10664 // be included in the string output. The member name will be present, but the 10665 // value will be replaced with "sensitive". 10666 func (s HttpRouteAction) String() string { 10667 return awsutil.Prettify(s) 10668 } 10669 10670 // GoString returns the string representation. 10671 // 10672 // API parameter values that are decorated as "sensitive" in the API will not 10673 // be included in the string output. The member name will be present, but the 10674 // value will be replaced with "sensitive". 10675 func (s HttpRouteAction) GoString() string { 10676 return s.String() 10677 } 10678 10679 // Validate inspects the fields of the type to determine if they are valid. 10680 func (s *HttpRouteAction) Validate() error { 10681 invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"} 10682 if s.WeightedTargets == nil { 10683 invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) 10684 } 10685 if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { 10686 invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) 10687 } 10688 if s.WeightedTargets != nil { 10689 for i, v := range s.WeightedTargets { 10690 if v == nil { 10691 continue 10692 } 10693 if err := v.Validate(); err != nil { 10694 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) 10695 } 10696 } 10697 } 10698 10699 if invalidParams.Len() > 0 { 10700 return invalidParams 10701 } 10702 return nil 10703 } 10704 10705 // SetWeightedTargets sets the WeightedTargets field's value. 10706 func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction { 10707 s.WeightedTargets = v 10708 return s 10709 } 10710 10711 // An object that represents the HTTP header in the request. 10712 type HttpRouteHeader struct { 10713 _ struct{} `type:"structure"` 10714 10715 // Specify True to match anything except the match criteria. The default value 10716 // is False. 10717 Invert *bool `locationName:"invert" type:"boolean"` 10718 10719 // The HeaderMatchMethod object. 10720 Match *HeaderMatchMethod `locationName:"match" type:"structure"` 10721 10722 // A name for the HTTP header in the client request that will be matched on. 10723 // 10724 // Name is a required field 10725 Name *string `locationName:"name" min:"1" type:"string" required:"true"` 10726 } 10727 10728 // String returns the string representation. 10729 // 10730 // API parameter values that are decorated as "sensitive" in the API will not 10731 // be included in the string output. The member name will be present, but the 10732 // value will be replaced with "sensitive". 10733 func (s HttpRouteHeader) String() string { 10734 return awsutil.Prettify(s) 10735 } 10736 10737 // GoString returns the string representation. 10738 // 10739 // API parameter values that are decorated as "sensitive" in the API will not 10740 // be included in the string output. The member name will be present, but the 10741 // value will be replaced with "sensitive". 10742 func (s HttpRouteHeader) GoString() string { 10743 return s.String() 10744 } 10745 10746 // Validate inspects the fields of the type to determine if they are valid. 10747 func (s *HttpRouteHeader) Validate() error { 10748 invalidParams := request.ErrInvalidParams{Context: "HttpRouteHeader"} 10749 if s.Name == nil { 10750 invalidParams.Add(request.NewErrParamRequired("Name")) 10751 } 10752 if s.Name != nil && len(*s.Name) < 1 { 10753 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 10754 } 10755 if s.Match != nil { 10756 if err := s.Match.Validate(); err != nil { 10757 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 10758 } 10759 } 10760 10761 if invalidParams.Len() > 0 { 10762 return invalidParams 10763 } 10764 return nil 10765 } 10766 10767 // SetInvert sets the Invert field's value. 10768 func (s *HttpRouteHeader) SetInvert(v bool) *HttpRouteHeader { 10769 s.Invert = &v 10770 return s 10771 } 10772 10773 // SetMatch sets the Match field's value. 10774 func (s *HttpRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpRouteHeader { 10775 s.Match = v 10776 return s 10777 } 10778 10779 // SetName sets the Name field's value. 10780 func (s *HttpRouteHeader) SetName(v string) *HttpRouteHeader { 10781 s.Name = &v 10782 return s 10783 } 10784 10785 // An object that represents the requirements for a route to match HTTP requests 10786 // for a virtual router. 10787 type HttpRouteMatch struct { 10788 _ struct{} `type:"structure"` 10789 10790 // The client request headers to match on. 10791 Headers []*HttpRouteHeader `locationName:"headers" min:"1" type:"list"` 10792 10793 // The client request method to match on. Specify only one. 10794 Method *string `locationName:"method" type:"string" enum:"HttpMethod"` 10795 10796 // The client request path to match on. 10797 Path *HttpPathMatch `locationName:"path" type:"structure"` 10798 10799 // Specifies the path to match requests with. This parameter must always start 10800 // with /, which by itself matches all requests to the virtual service name. 10801 // You can also match for path-based routing of requests. For example, if your 10802 // virtual service name is my-service.local and you want the route to match 10803 // requests to my-service.local/metrics, your prefix should be /metrics. 10804 Prefix *string `locationName:"prefix" type:"string"` 10805 10806 // The client request query parameters to match on. 10807 QueryParameters []*HttpQueryParameter `locationName:"queryParameters" min:"1" type:"list"` 10808 10809 // The client request scheme to match on. Specify only one. Applicable only 10810 // for HTTP2 routes. 10811 Scheme *string `locationName:"scheme" type:"string" enum:"HttpScheme"` 10812 } 10813 10814 // String returns the string representation. 10815 // 10816 // API parameter values that are decorated as "sensitive" in the API will not 10817 // be included in the string output. The member name will be present, but the 10818 // value will be replaced with "sensitive". 10819 func (s HttpRouteMatch) String() string { 10820 return awsutil.Prettify(s) 10821 } 10822 10823 // GoString returns the string representation. 10824 // 10825 // API parameter values that are decorated as "sensitive" in the API will not 10826 // be included in the string output. The member name will be present, but the 10827 // value will be replaced with "sensitive". 10828 func (s HttpRouteMatch) GoString() string { 10829 return s.String() 10830 } 10831 10832 // Validate inspects the fields of the type to determine if they are valid. 10833 func (s *HttpRouteMatch) Validate() error { 10834 invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"} 10835 if s.Headers != nil && len(s.Headers) < 1 { 10836 invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) 10837 } 10838 if s.QueryParameters != nil && len(s.QueryParameters) < 1 { 10839 invalidParams.Add(request.NewErrParamMinLen("QueryParameters", 1)) 10840 } 10841 if s.Headers != nil { 10842 for i, v := range s.Headers { 10843 if v == nil { 10844 continue 10845 } 10846 if err := v.Validate(); err != nil { 10847 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams)) 10848 } 10849 } 10850 } 10851 if s.Path != nil { 10852 if err := s.Path.Validate(); err != nil { 10853 invalidParams.AddNested("Path", err.(request.ErrInvalidParams)) 10854 } 10855 } 10856 if s.QueryParameters != nil { 10857 for i, v := range s.QueryParameters { 10858 if v == nil { 10859 continue 10860 } 10861 if err := v.Validate(); err != nil { 10862 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueryParameters", i), err.(request.ErrInvalidParams)) 10863 } 10864 } 10865 } 10866 10867 if invalidParams.Len() > 0 { 10868 return invalidParams 10869 } 10870 return nil 10871 } 10872 10873 // SetHeaders sets the Headers field's value. 10874 func (s *HttpRouteMatch) SetHeaders(v []*HttpRouteHeader) *HttpRouteMatch { 10875 s.Headers = v 10876 return s 10877 } 10878 10879 // SetMethod sets the Method field's value. 10880 func (s *HttpRouteMatch) SetMethod(v string) *HttpRouteMatch { 10881 s.Method = &v 10882 return s 10883 } 10884 10885 // SetPath sets the Path field's value. 10886 func (s *HttpRouteMatch) SetPath(v *HttpPathMatch) *HttpRouteMatch { 10887 s.Path = v 10888 return s 10889 } 10890 10891 // SetPrefix sets the Prefix field's value. 10892 func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { 10893 s.Prefix = &v 10894 return s 10895 } 10896 10897 // SetQueryParameters sets the QueryParameters field's value. 10898 func (s *HttpRouteMatch) SetQueryParameters(v []*HttpQueryParameter) *HttpRouteMatch { 10899 s.QueryParameters = v 10900 return s 10901 } 10902 10903 // SetScheme sets the Scheme field's value. 10904 func (s *HttpRouteMatch) SetScheme(v string) *HttpRouteMatch { 10905 s.Scheme = &v 10906 return s 10907 } 10908 10909 // An object that represents types of timeouts. 10910 type HttpTimeout struct { 10911 _ struct{} `type:"structure"` 10912 10913 // An object that represents an idle timeout. An idle timeout bounds the amount 10914 // of time that a connection may be idle. The default value is none. 10915 Idle *Duration `locationName:"idle" type:"structure"` 10916 10917 // An object that represents a per request timeout. The default value is 15 10918 // seconds. If you set a higher timeout, then make sure that the higher value 10919 // is set for each App Mesh resource in a conversation. For example, if a virtual 10920 // node backend uses a virtual router provider to route to another virtual node, 10921 // then the timeout should be greater than 15 seconds for the source and destination 10922 // virtual node and the route. 10923 PerRequest *Duration `locationName:"perRequest" type:"structure"` 10924 } 10925 10926 // String returns the string representation. 10927 // 10928 // API parameter values that are decorated as "sensitive" in the API will not 10929 // be included in the string output. The member name will be present, but the 10930 // value will be replaced with "sensitive". 10931 func (s HttpTimeout) String() string { 10932 return awsutil.Prettify(s) 10933 } 10934 10935 // GoString returns the string representation. 10936 // 10937 // API parameter values that are decorated as "sensitive" in the API will not 10938 // be included in the string output. The member name will be present, but the 10939 // value will be replaced with "sensitive". 10940 func (s HttpTimeout) GoString() string { 10941 return s.String() 10942 } 10943 10944 // SetIdle sets the Idle field's value. 10945 func (s *HttpTimeout) SetIdle(v *Duration) *HttpTimeout { 10946 s.Idle = v 10947 return s 10948 } 10949 10950 // SetPerRequest sets the PerRequest field's value. 10951 func (s *HttpTimeout) SetPerRequest(v *Duration) *HttpTimeout { 10952 s.PerRequest = v 10953 return s 10954 } 10955 10956 // The request processing has failed because of an unknown error, exception, 10957 // or failure. 10958 type InternalServerErrorException struct { 10959 _ struct{} `type:"structure"` 10960 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 10961 10962 Message_ *string `locationName:"message" type:"string"` 10963 } 10964 10965 // String returns the string representation. 10966 // 10967 // API parameter values that are decorated as "sensitive" in the API will not 10968 // be included in the string output. The member name will be present, but the 10969 // value will be replaced with "sensitive". 10970 func (s InternalServerErrorException) String() string { 10971 return awsutil.Prettify(s) 10972 } 10973 10974 // GoString returns the string representation. 10975 // 10976 // API parameter values that are decorated as "sensitive" in the API will not 10977 // be included in the string output. The member name will be present, but the 10978 // value will be replaced with "sensitive". 10979 func (s InternalServerErrorException) GoString() string { 10980 return s.String() 10981 } 10982 10983 func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { 10984 return &InternalServerErrorException{ 10985 RespMetadata: v, 10986 } 10987 } 10988 10989 // Code returns the exception type name. 10990 func (s *InternalServerErrorException) Code() string { 10991 return "InternalServerErrorException" 10992 } 10993 10994 // Message returns the exception's message. 10995 func (s *InternalServerErrorException) Message() string { 10996 if s.Message_ != nil { 10997 return *s.Message_ 10998 } 10999 return "" 11000 } 11001 11002 // OrigErr always returns nil, satisfies awserr.Error interface. 11003 func (s *InternalServerErrorException) OrigErr() error { 11004 return nil 11005 } 11006 11007 func (s *InternalServerErrorException) Error() string { 11008 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11009 } 11010 11011 // Status code returns the HTTP status code for the request's response error. 11012 func (s *InternalServerErrorException) StatusCode() int { 11013 return s.RespMetadata.StatusCode 11014 } 11015 11016 // RequestID returns the service's response RequestID for request. 11017 func (s *InternalServerErrorException) RequestID() string { 11018 return s.RespMetadata.RequestID 11019 } 11020 11021 // You have exceeded a service limit for your account. For more information, 11022 // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) 11023 // in the AWS App Mesh User Guide. 11024 type LimitExceededException struct { 11025 _ struct{} `type:"structure"` 11026 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11027 11028 Message_ *string `locationName:"message" type:"string"` 11029 } 11030 11031 // String returns the string representation. 11032 // 11033 // API parameter values that are decorated as "sensitive" in the API will not 11034 // be included in the string output. The member name will be present, but the 11035 // value will be replaced with "sensitive". 11036 func (s LimitExceededException) String() string { 11037 return awsutil.Prettify(s) 11038 } 11039 11040 // GoString returns the string representation. 11041 // 11042 // API parameter values that are decorated as "sensitive" in the API will not 11043 // be included in the string output. The member name will be present, but the 11044 // value will be replaced with "sensitive". 11045 func (s LimitExceededException) GoString() string { 11046 return s.String() 11047 } 11048 11049 func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 11050 return &LimitExceededException{ 11051 RespMetadata: v, 11052 } 11053 } 11054 11055 // Code returns the exception type name. 11056 func (s *LimitExceededException) Code() string { 11057 return "LimitExceededException" 11058 } 11059 11060 // Message returns the exception's message. 11061 func (s *LimitExceededException) Message() string { 11062 if s.Message_ != nil { 11063 return *s.Message_ 11064 } 11065 return "" 11066 } 11067 11068 // OrigErr always returns nil, satisfies awserr.Error interface. 11069 func (s *LimitExceededException) OrigErr() error { 11070 return nil 11071 } 11072 11073 func (s *LimitExceededException) Error() string { 11074 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11075 } 11076 11077 // Status code returns the HTTP status code for the request's response error. 11078 func (s *LimitExceededException) StatusCode() int { 11079 return s.RespMetadata.StatusCode 11080 } 11081 11082 // RequestID returns the service's response RequestID for request. 11083 func (s *LimitExceededException) RequestID() string { 11084 return s.RespMetadata.RequestID 11085 } 11086 11087 type ListGatewayRoutesInput struct { 11088 _ struct{} `type:"structure" nopayload:"true"` 11089 11090 // The maximum number of results returned by ListGatewayRoutes in paginated 11091 // output. When you use this parameter, ListGatewayRoutes returns only limit 11092 // results in a single page along with a nextToken response element. You can 11093 // see the remaining results of the initial request by sending another ListGatewayRoutes 11094 // request with the returned nextToken value. This value can be between 1 and 11095 // 100. If you don't use this parameter, ListGatewayRoutes returns up to 100 11096 // results and a nextToken value if applicable. 11097 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 11098 11099 // The name of the service mesh to list gateway routes in. 11100 // 11101 // MeshName is a required field 11102 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 11103 11104 // The AWS IAM account ID of the service mesh owner. If the account ID is not 11105 // your own, then it's the ID of the account that shared the mesh with your 11106 // account. For more information about mesh sharing, see Working with shared 11107 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 11108 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 11109 11110 // The nextToken value returned from a previous paginated ListGatewayRoutes 11111 // request where limit was used and the results exceeded the value of that parameter. 11112 // Pagination continues from the end of the previous results that returned the 11113 // nextToken value. 11114 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 11115 11116 // The name of the virtual gateway to list gateway routes in. 11117 // 11118 // VirtualGatewayName is a required field 11119 VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 11120 } 11121 11122 // String returns the string representation. 11123 // 11124 // API parameter values that are decorated as "sensitive" in the API will not 11125 // be included in the string output. The member name will be present, but the 11126 // value will be replaced with "sensitive". 11127 func (s ListGatewayRoutesInput) String() string { 11128 return awsutil.Prettify(s) 11129 } 11130 11131 // GoString returns the string representation. 11132 // 11133 // API parameter values that are decorated as "sensitive" in the API will not 11134 // be included in the string output. The member name will be present, but the 11135 // value will be replaced with "sensitive". 11136 func (s ListGatewayRoutesInput) GoString() string { 11137 return s.String() 11138 } 11139 11140 // Validate inspects the fields of the type to determine if they are valid. 11141 func (s *ListGatewayRoutesInput) Validate() error { 11142 invalidParams := request.ErrInvalidParams{Context: "ListGatewayRoutesInput"} 11143 if s.Limit != nil && *s.Limit < 1 { 11144 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 11145 } 11146 if s.MeshName == nil { 11147 invalidParams.Add(request.NewErrParamRequired("MeshName")) 11148 } 11149 if s.MeshName != nil && len(*s.MeshName) < 1 { 11150 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 11151 } 11152 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 11153 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 11154 } 11155 if s.VirtualGatewayName == nil { 11156 invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) 11157 } 11158 if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { 11159 invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) 11160 } 11161 11162 if invalidParams.Len() > 0 { 11163 return invalidParams 11164 } 11165 return nil 11166 } 11167 11168 // SetLimit sets the Limit field's value. 11169 func (s *ListGatewayRoutesInput) SetLimit(v int64) *ListGatewayRoutesInput { 11170 s.Limit = &v 11171 return s 11172 } 11173 11174 // SetMeshName sets the MeshName field's value. 11175 func (s *ListGatewayRoutesInput) SetMeshName(v string) *ListGatewayRoutesInput { 11176 s.MeshName = &v 11177 return s 11178 } 11179 11180 // SetMeshOwner sets the MeshOwner field's value. 11181 func (s *ListGatewayRoutesInput) SetMeshOwner(v string) *ListGatewayRoutesInput { 11182 s.MeshOwner = &v 11183 return s 11184 } 11185 11186 // SetNextToken sets the NextToken field's value. 11187 func (s *ListGatewayRoutesInput) SetNextToken(v string) *ListGatewayRoutesInput { 11188 s.NextToken = &v 11189 return s 11190 } 11191 11192 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 11193 func (s *ListGatewayRoutesInput) SetVirtualGatewayName(v string) *ListGatewayRoutesInput { 11194 s.VirtualGatewayName = &v 11195 return s 11196 } 11197 11198 type ListGatewayRoutesOutput struct { 11199 _ struct{} `type:"structure"` 11200 11201 // The list of existing gateway routes for the specified service mesh and virtual 11202 // gateway. 11203 // 11204 // GatewayRoutes is a required field 11205 GatewayRoutes []*GatewayRouteRef `locationName:"gatewayRoutes" type:"list" required:"true"` 11206 11207 // The nextToken value to include in a future ListGatewayRoutes request. When 11208 // the results of a ListGatewayRoutes request exceed limit, you can use this 11209 // value to retrieve the next page of results. This value is null when there 11210 // are no more results to return. 11211 NextToken *string `locationName:"nextToken" type:"string"` 11212 } 11213 11214 // String returns the string representation. 11215 // 11216 // API parameter values that are decorated as "sensitive" in the API will not 11217 // be included in the string output. The member name will be present, but the 11218 // value will be replaced with "sensitive". 11219 func (s ListGatewayRoutesOutput) String() string { 11220 return awsutil.Prettify(s) 11221 } 11222 11223 // GoString returns the string representation. 11224 // 11225 // API parameter values that are decorated as "sensitive" in the API will not 11226 // be included in the string output. The member name will be present, but the 11227 // value will be replaced with "sensitive". 11228 func (s ListGatewayRoutesOutput) GoString() string { 11229 return s.String() 11230 } 11231 11232 // SetGatewayRoutes sets the GatewayRoutes field's value. 11233 func (s *ListGatewayRoutesOutput) SetGatewayRoutes(v []*GatewayRouteRef) *ListGatewayRoutesOutput { 11234 s.GatewayRoutes = v 11235 return s 11236 } 11237 11238 // SetNextToken sets the NextToken field's value. 11239 func (s *ListGatewayRoutesOutput) SetNextToken(v string) *ListGatewayRoutesOutput { 11240 s.NextToken = &v 11241 return s 11242 } 11243 11244 type ListMeshesInput struct { 11245 _ struct{} `type:"structure" nopayload:"true"` 11246 11247 // The maximum number of results returned by ListMeshes in paginated output. 11248 // When you use this parameter, ListMeshes returns only limit results in a single 11249 // page along with a nextToken response element. You can see the remaining results 11250 // of the initial request by sending another ListMeshes request with the returned 11251 // nextToken value. This value can be between 1 and 100. If you don't use this 11252 // parameter, ListMeshes returns up to 100 results and a nextToken value if 11253 // applicable. 11254 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 11255 11256 // The nextToken value returned from a previous paginated ListMeshes request 11257 // where limit was used and the results exceeded the value of that parameter. 11258 // Pagination continues from the end of the previous results that returned the 11259 // nextToken value. 11260 // 11261 // This token should be treated as an opaque identifier that is used only to 11262 // retrieve the next items in a list and not for other programmatic purposes. 11263 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 11264 } 11265 11266 // String returns the string representation. 11267 // 11268 // API parameter values that are decorated as "sensitive" in the API will not 11269 // be included in the string output. The member name will be present, but the 11270 // value will be replaced with "sensitive". 11271 func (s ListMeshesInput) String() string { 11272 return awsutil.Prettify(s) 11273 } 11274 11275 // GoString returns the string representation. 11276 // 11277 // API parameter values that are decorated as "sensitive" in the API will not 11278 // be included in the string output. The member name will be present, but the 11279 // value will be replaced with "sensitive". 11280 func (s ListMeshesInput) GoString() string { 11281 return s.String() 11282 } 11283 11284 // Validate inspects the fields of the type to determine if they are valid. 11285 func (s *ListMeshesInput) Validate() error { 11286 invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"} 11287 if s.Limit != nil && *s.Limit < 1 { 11288 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 11289 } 11290 11291 if invalidParams.Len() > 0 { 11292 return invalidParams 11293 } 11294 return nil 11295 } 11296 11297 // SetLimit sets the Limit field's value. 11298 func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput { 11299 s.Limit = &v 11300 return s 11301 } 11302 11303 // SetNextToken sets the NextToken field's value. 11304 func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput { 11305 s.NextToken = &v 11306 return s 11307 } 11308 11309 type ListMeshesOutput struct { 11310 _ struct{} `type:"structure"` 11311 11312 // The list of existing service meshes. 11313 // 11314 // Meshes is a required field 11315 Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"` 11316 11317 // The nextToken value to include in a future ListMeshes request. When the results 11318 // of a ListMeshes request exceed limit, you can use this value to retrieve 11319 // the next page of results. This value is null when there are no more results 11320 // to return. 11321 NextToken *string `locationName:"nextToken" type:"string"` 11322 } 11323 11324 // String returns the string representation. 11325 // 11326 // API parameter values that are decorated as "sensitive" in the API will not 11327 // be included in the string output. The member name will be present, but the 11328 // value will be replaced with "sensitive". 11329 func (s ListMeshesOutput) String() string { 11330 return awsutil.Prettify(s) 11331 } 11332 11333 // GoString returns the string representation. 11334 // 11335 // API parameter values that are decorated as "sensitive" in the API will not 11336 // be included in the string output. The member name will be present, but the 11337 // value will be replaced with "sensitive". 11338 func (s ListMeshesOutput) GoString() string { 11339 return s.String() 11340 } 11341 11342 // SetMeshes sets the Meshes field's value. 11343 func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput { 11344 s.Meshes = v 11345 return s 11346 } 11347 11348 // SetNextToken sets the NextToken field's value. 11349 func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput { 11350 s.NextToken = &v 11351 return s 11352 } 11353 11354 type ListRoutesInput struct { 11355 _ struct{} `type:"structure" nopayload:"true"` 11356 11357 // The maximum number of results returned by ListRoutes in paginated output. 11358 // When you use this parameter, ListRoutes returns only limit results in a single 11359 // page along with a nextToken response element. You can see the remaining results 11360 // of the initial request by sending another ListRoutes request with the returned 11361 // nextToken value. This value can be between 1 and 100. If you don't use this 11362 // parameter, ListRoutes returns up to 100 results and a nextToken value if 11363 // applicable. 11364 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 11365 11366 // The name of the service mesh to list routes in. 11367 // 11368 // MeshName is a required field 11369 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 11370 11371 // The AWS IAM account ID of the service mesh owner. If the account ID is not 11372 // your own, then it's the ID of the account that shared the mesh with your 11373 // account. For more information about mesh sharing, see Working with shared 11374 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 11375 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 11376 11377 // The nextToken value returned from a previous paginated ListRoutes request 11378 // where limit was used and the results exceeded the value of that parameter. 11379 // Pagination continues from the end of the previous results that returned the 11380 // nextToken value. 11381 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 11382 11383 // The name of the virtual router to list routes in. 11384 // 11385 // VirtualRouterName is a required field 11386 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 11387 } 11388 11389 // String returns the string representation. 11390 // 11391 // API parameter values that are decorated as "sensitive" in the API will not 11392 // be included in the string output. The member name will be present, but the 11393 // value will be replaced with "sensitive". 11394 func (s ListRoutesInput) String() string { 11395 return awsutil.Prettify(s) 11396 } 11397 11398 // GoString returns the string representation. 11399 // 11400 // API parameter values that are decorated as "sensitive" in the API will not 11401 // be included in the string output. The member name will be present, but the 11402 // value will be replaced with "sensitive". 11403 func (s ListRoutesInput) GoString() string { 11404 return s.String() 11405 } 11406 11407 // Validate inspects the fields of the type to determine if they are valid. 11408 func (s *ListRoutesInput) Validate() error { 11409 invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"} 11410 if s.Limit != nil && *s.Limit < 1 { 11411 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 11412 } 11413 if s.MeshName == nil { 11414 invalidParams.Add(request.NewErrParamRequired("MeshName")) 11415 } 11416 if s.MeshName != nil && len(*s.MeshName) < 1 { 11417 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 11418 } 11419 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 11420 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 11421 } 11422 if s.VirtualRouterName == nil { 11423 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 11424 } 11425 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 11426 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 11427 } 11428 11429 if invalidParams.Len() > 0 { 11430 return invalidParams 11431 } 11432 return nil 11433 } 11434 11435 // SetLimit sets the Limit field's value. 11436 func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput { 11437 s.Limit = &v 11438 return s 11439 } 11440 11441 // SetMeshName sets the MeshName field's value. 11442 func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput { 11443 s.MeshName = &v 11444 return s 11445 } 11446 11447 // SetMeshOwner sets the MeshOwner field's value. 11448 func (s *ListRoutesInput) SetMeshOwner(v string) *ListRoutesInput { 11449 s.MeshOwner = &v 11450 return s 11451 } 11452 11453 // SetNextToken sets the NextToken field's value. 11454 func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput { 11455 s.NextToken = &v 11456 return s 11457 } 11458 11459 // SetVirtualRouterName sets the VirtualRouterName field's value. 11460 func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput { 11461 s.VirtualRouterName = &v 11462 return s 11463 } 11464 11465 type ListRoutesOutput struct { 11466 _ struct{} `type:"structure"` 11467 11468 // The nextToken value to include in a future ListRoutes request. When the results 11469 // of a ListRoutes request exceed limit, you can use this value to retrieve 11470 // the next page of results. This value is null when there are no more results 11471 // to return. 11472 NextToken *string `locationName:"nextToken" type:"string"` 11473 11474 // The list of existing routes for the specified service mesh and virtual router. 11475 // 11476 // Routes is a required field 11477 Routes []*RouteRef `locationName:"routes" type:"list" required:"true"` 11478 } 11479 11480 // String returns the string representation. 11481 // 11482 // API parameter values that are decorated as "sensitive" in the API will not 11483 // be included in the string output. The member name will be present, but the 11484 // value will be replaced with "sensitive". 11485 func (s ListRoutesOutput) String() string { 11486 return awsutil.Prettify(s) 11487 } 11488 11489 // GoString returns the string representation. 11490 // 11491 // API parameter values that are decorated as "sensitive" in the API will not 11492 // be included in the string output. The member name will be present, but the 11493 // value will be replaced with "sensitive". 11494 func (s ListRoutesOutput) GoString() string { 11495 return s.String() 11496 } 11497 11498 // SetNextToken sets the NextToken field's value. 11499 func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput { 11500 s.NextToken = &v 11501 return s 11502 } 11503 11504 // SetRoutes sets the Routes field's value. 11505 func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput { 11506 s.Routes = v 11507 return s 11508 } 11509 11510 type ListTagsForResourceInput struct { 11511 _ struct{} `type:"structure" nopayload:"true"` 11512 11513 // The maximum number of tag results returned by ListTagsForResource in paginated 11514 // output. When this parameter is used, ListTagsForResource returns only limit 11515 // results in a single page along with a nextToken response element. You can 11516 // see the remaining results of the initial request by sending another ListTagsForResource 11517 // request with the returned nextToken value. This value can be between 1 and 11518 // 100. If you don't use this parameter, ListTagsForResource returns up to 100 11519 // results and a nextToken value if applicable. 11520 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 11521 11522 // The nextToken value returned from a previous paginated ListTagsForResource 11523 // request where limit was used and the results exceeded the value of that parameter. 11524 // Pagination continues from the end of the previous results that returned the 11525 // nextToken value. 11526 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 11527 11528 // The Amazon Resource Name (ARN) that identifies the resource to list the tags 11529 // for. 11530 // 11531 // ResourceArn is a required field 11532 ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` 11533 } 11534 11535 // String returns the string representation. 11536 // 11537 // API parameter values that are decorated as "sensitive" in the API will not 11538 // be included in the string output. The member name will be present, but the 11539 // value will be replaced with "sensitive". 11540 func (s ListTagsForResourceInput) String() string { 11541 return awsutil.Prettify(s) 11542 } 11543 11544 // GoString returns the string representation. 11545 // 11546 // API parameter values that are decorated as "sensitive" in the API will not 11547 // be included in the string output. The member name will be present, but the 11548 // value will be replaced with "sensitive". 11549 func (s ListTagsForResourceInput) GoString() string { 11550 return s.String() 11551 } 11552 11553 // Validate inspects the fields of the type to determine if they are valid. 11554 func (s *ListTagsForResourceInput) Validate() error { 11555 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 11556 if s.Limit != nil && *s.Limit < 1 { 11557 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 11558 } 11559 if s.ResourceArn == nil { 11560 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 11561 } 11562 11563 if invalidParams.Len() > 0 { 11564 return invalidParams 11565 } 11566 return nil 11567 } 11568 11569 // SetLimit sets the Limit field's value. 11570 func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput { 11571 s.Limit = &v 11572 return s 11573 } 11574 11575 // SetNextToken sets the NextToken field's value. 11576 func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { 11577 s.NextToken = &v 11578 return s 11579 } 11580 11581 // SetResourceArn sets the ResourceArn field's value. 11582 func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 11583 s.ResourceArn = &v 11584 return s 11585 } 11586 11587 type ListTagsForResourceOutput struct { 11588 _ struct{} `type:"structure"` 11589 11590 // The nextToken value to include in a future ListTagsForResource request. When 11591 // the results of a ListTagsForResource request exceed limit, you can use this 11592 // value to retrieve the next page of results. This value is null when there 11593 // are no more results to return. 11594 NextToken *string `locationName:"nextToken" type:"string"` 11595 11596 // The tags for the resource. 11597 // 11598 // Tags is a required field 11599 Tags []*TagRef `locationName:"tags" type:"list" required:"true"` 11600 } 11601 11602 // String returns the string representation. 11603 // 11604 // API parameter values that are decorated as "sensitive" in the API will not 11605 // be included in the string output. The member name will be present, but the 11606 // value will be replaced with "sensitive". 11607 func (s ListTagsForResourceOutput) String() string { 11608 return awsutil.Prettify(s) 11609 } 11610 11611 // GoString returns the string representation. 11612 // 11613 // API parameter values that are decorated as "sensitive" in the API will not 11614 // be included in the string output. The member name will be present, but the 11615 // value will be replaced with "sensitive". 11616 func (s ListTagsForResourceOutput) GoString() string { 11617 return s.String() 11618 } 11619 11620 // SetNextToken sets the NextToken field's value. 11621 func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { 11622 s.NextToken = &v 11623 return s 11624 } 11625 11626 // SetTags sets the Tags field's value. 11627 func (s *ListTagsForResourceOutput) SetTags(v []*TagRef) *ListTagsForResourceOutput { 11628 s.Tags = v 11629 return s 11630 } 11631 11632 type ListVirtualGatewaysInput struct { 11633 _ struct{} `type:"structure" nopayload:"true"` 11634 11635 // The maximum number of results returned by ListVirtualGateways in paginated 11636 // output. When you use this parameter, ListVirtualGateways returns only limit 11637 // results in a single page along with a nextToken response element. You can 11638 // see the remaining results of the initial request by sending another ListVirtualGateways 11639 // request with the returned nextToken value. This value can be between 1 and 11640 // 100. If you don't use this parameter, ListVirtualGateways returns up to 100 11641 // results and a nextToken value if applicable. 11642 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 11643 11644 // The name of the service mesh to list virtual gateways in. 11645 // 11646 // MeshName is a required field 11647 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 11648 11649 // The AWS IAM account ID of the service mesh owner. If the account ID is not 11650 // your own, then it's the ID of the account that shared the mesh with your 11651 // account. For more information about mesh sharing, see Working with shared 11652 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 11653 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 11654 11655 // The nextToken value returned from a previous paginated ListVirtualGateways 11656 // request where limit was used and the results exceeded the value of that parameter. 11657 // Pagination continues from the end of the previous results that returned the 11658 // nextToken value. 11659 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 11660 } 11661 11662 // String returns the string representation. 11663 // 11664 // API parameter values that are decorated as "sensitive" in the API will not 11665 // be included in the string output. The member name will be present, but the 11666 // value will be replaced with "sensitive". 11667 func (s ListVirtualGatewaysInput) String() string { 11668 return awsutil.Prettify(s) 11669 } 11670 11671 // GoString returns the string representation. 11672 // 11673 // API parameter values that are decorated as "sensitive" in the API will not 11674 // be included in the string output. The member name will be present, but the 11675 // value will be replaced with "sensitive". 11676 func (s ListVirtualGatewaysInput) GoString() string { 11677 return s.String() 11678 } 11679 11680 // Validate inspects the fields of the type to determine if they are valid. 11681 func (s *ListVirtualGatewaysInput) Validate() error { 11682 invalidParams := request.ErrInvalidParams{Context: "ListVirtualGatewaysInput"} 11683 if s.Limit != nil && *s.Limit < 1 { 11684 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 11685 } 11686 if s.MeshName == nil { 11687 invalidParams.Add(request.NewErrParamRequired("MeshName")) 11688 } 11689 if s.MeshName != nil && len(*s.MeshName) < 1 { 11690 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 11691 } 11692 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 11693 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 11694 } 11695 11696 if invalidParams.Len() > 0 { 11697 return invalidParams 11698 } 11699 return nil 11700 } 11701 11702 // SetLimit sets the Limit field's value. 11703 func (s *ListVirtualGatewaysInput) SetLimit(v int64) *ListVirtualGatewaysInput { 11704 s.Limit = &v 11705 return s 11706 } 11707 11708 // SetMeshName sets the MeshName field's value. 11709 func (s *ListVirtualGatewaysInput) SetMeshName(v string) *ListVirtualGatewaysInput { 11710 s.MeshName = &v 11711 return s 11712 } 11713 11714 // SetMeshOwner sets the MeshOwner field's value. 11715 func (s *ListVirtualGatewaysInput) SetMeshOwner(v string) *ListVirtualGatewaysInput { 11716 s.MeshOwner = &v 11717 return s 11718 } 11719 11720 // SetNextToken sets the NextToken field's value. 11721 func (s *ListVirtualGatewaysInput) SetNextToken(v string) *ListVirtualGatewaysInput { 11722 s.NextToken = &v 11723 return s 11724 } 11725 11726 type ListVirtualGatewaysOutput struct { 11727 _ struct{} `type:"structure"` 11728 11729 // The nextToken value to include in a future ListVirtualGateways request. When 11730 // the results of a ListVirtualGateways request exceed limit, you can use this 11731 // value to retrieve the next page of results. This value is null when there 11732 // are no more results to return. 11733 NextToken *string `locationName:"nextToken" type:"string"` 11734 11735 // The list of existing virtual gateways for the specified service mesh. 11736 // 11737 // VirtualGateways is a required field 11738 VirtualGateways []*VirtualGatewayRef `locationName:"virtualGateways" type:"list" required:"true"` 11739 } 11740 11741 // String returns the string representation. 11742 // 11743 // API parameter values that are decorated as "sensitive" in the API will not 11744 // be included in the string output. The member name will be present, but the 11745 // value will be replaced with "sensitive". 11746 func (s ListVirtualGatewaysOutput) String() string { 11747 return awsutil.Prettify(s) 11748 } 11749 11750 // GoString returns the string representation. 11751 // 11752 // API parameter values that are decorated as "sensitive" in the API will not 11753 // be included in the string output. The member name will be present, but the 11754 // value will be replaced with "sensitive". 11755 func (s ListVirtualGatewaysOutput) GoString() string { 11756 return s.String() 11757 } 11758 11759 // SetNextToken sets the NextToken field's value. 11760 func (s *ListVirtualGatewaysOutput) SetNextToken(v string) *ListVirtualGatewaysOutput { 11761 s.NextToken = &v 11762 return s 11763 } 11764 11765 // SetVirtualGateways sets the VirtualGateways field's value. 11766 func (s *ListVirtualGatewaysOutput) SetVirtualGateways(v []*VirtualGatewayRef) *ListVirtualGatewaysOutput { 11767 s.VirtualGateways = v 11768 return s 11769 } 11770 11771 type ListVirtualNodesInput struct { 11772 _ struct{} `type:"structure" nopayload:"true"` 11773 11774 // The maximum number of results returned by ListVirtualNodes in paginated output. 11775 // When you use this parameter, ListVirtualNodes returns only limit results 11776 // in a single page along with a nextToken response element. You can see the 11777 // remaining results of the initial request by sending another ListVirtualNodes 11778 // request with the returned nextToken value. This value can be between 1 and 11779 // 100. If you don't use this parameter, ListVirtualNodes returns up to 100 11780 // results and a nextToken value if applicable. 11781 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 11782 11783 // The name of the service mesh to list virtual nodes in. 11784 // 11785 // MeshName is a required field 11786 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 11787 11788 // The AWS IAM account ID of the service mesh owner. If the account ID is not 11789 // your own, then it's the ID of the account that shared the mesh with your 11790 // account. For more information about mesh sharing, see Working with shared 11791 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 11792 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 11793 11794 // The nextToken value returned from a previous paginated ListVirtualNodes request 11795 // where limit was used and the results exceeded the value of that parameter. 11796 // Pagination continues from the end of the previous results that returned the 11797 // nextToken value. 11798 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 11799 } 11800 11801 // String returns the string representation. 11802 // 11803 // API parameter values that are decorated as "sensitive" in the API will not 11804 // be included in the string output. The member name will be present, but the 11805 // value will be replaced with "sensitive". 11806 func (s ListVirtualNodesInput) String() string { 11807 return awsutil.Prettify(s) 11808 } 11809 11810 // GoString returns the string representation. 11811 // 11812 // API parameter values that are decorated as "sensitive" in the API will not 11813 // be included in the string output. The member name will be present, but the 11814 // value will be replaced with "sensitive". 11815 func (s ListVirtualNodesInput) GoString() string { 11816 return s.String() 11817 } 11818 11819 // Validate inspects the fields of the type to determine if they are valid. 11820 func (s *ListVirtualNodesInput) Validate() error { 11821 invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"} 11822 if s.Limit != nil && *s.Limit < 1 { 11823 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 11824 } 11825 if s.MeshName == nil { 11826 invalidParams.Add(request.NewErrParamRequired("MeshName")) 11827 } 11828 if s.MeshName != nil && len(*s.MeshName) < 1 { 11829 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 11830 } 11831 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 11832 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 11833 } 11834 11835 if invalidParams.Len() > 0 { 11836 return invalidParams 11837 } 11838 return nil 11839 } 11840 11841 // SetLimit sets the Limit field's value. 11842 func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput { 11843 s.Limit = &v 11844 return s 11845 } 11846 11847 // SetMeshName sets the MeshName field's value. 11848 func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput { 11849 s.MeshName = &v 11850 return s 11851 } 11852 11853 // SetMeshOwner sets the MeshOwner field's value. 11854 func (s *ListVirtualNodesInput) SetMeshOwner(v string) *ListVirtualNodesInput { 11855 s.MeshOwner = &v 11856 return s 11857 } 11858 11859 // SetNextToken sets the NextToken field's value. 11860 func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput { 11861 s.NextToken = &v 11862 return s 11863 } 11864 11865 type ListVirtualNodesOutput struct { 11866 _ struct{} `type:"structure"` 11867 11868 // The nextToken value to include in a future ListVirtualNodes request. When 11869 // the results of a ListVirtualNodes request exceed limit, you can use this 11870 // value to retrieve the next page of results. This value is null when there 11871 // are no more results to return. 11872 NextToken *string `locationName:"nextToken" type:"string"` 11873 11874 // The list of existing virtual nodes for the specified service mesh. 11875 // 11876 // VirtualNodes is a required field 11877 VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" type:"list" required:"true"` 11878 } 11879 11880 // String returns the string representation. 11881 // 11882 // API parameter values that are decorated as "sensitive" in the API will not 11883 // be included in the string output. The member name will be present, but the 11884 // value will be replaced with "sensitive". 11885 func (s ListVirtualNodesOutput) String() string { 11886 return awsutil.Prettify(s) 11887 } 11888 11889 // GoString returns the string representation. 11890 // 11891 // API parameter values that are decorated as "sensitive" in the API will not 11892 // be included in the string output. The member name will be present, but the 11893 // value will be replaced with "sensitive". 11894 func (s ListVirtualNodesOutput) GoString() string { 11895 return s.String() 11896 } 11897 11898 // SetNextToken sets the NextToken field's value. 11899 func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput { 11900 s.NextToken = &v 11901 return s 11902 } 11903 11904 // SetVirtualNodes sets the VirtualNodes field's value. 11905 func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput { 11906 s.VirtualNodes = v 11907 return s 11908 } 11909 11910 type ListVirtualRoutersInput struct { 11911 _ struct{} `type:"structure" nopayload:"true"` 11912 11913 // The maximum number of results returned by ListVirtualRouters in paginated 11914 // output. When you use this parameter, ListVirtualRouters returns only limit 11915 // results in a single page along with a nextToken response element. You can 11916 // see the remaining results of the initial request by sending another ListVirtualRouters 11917 // request with the returned nextToken value. This value can be between 1 and 11918 // 100. If you don't use this parameter, ListVirtualRouters returns up to 100 11919 // results and a nextToken value if applicable. 11920 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 11921 11922 // The name of the service mesh to list virtual routers in. 11923 // 11924 // MeshName is a required field 11925 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 11926 11927 // The AWS IAM account ID of the service mesh owner. If the account ID is not 11928 // your own, then it's the ID of the account that shared the mesh with your 11929 // account. For more information about mesh sharing, see Working with shared 11930 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 11931 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 11932 11933 // The nextToken value returned from a previous paginated ListVirtualRouters 11934 // request where limit was used and the results exceeded the value of that parameter. 11935 // Pagination continues from the end of the previous results that returned the 11936 // nextToken value. 11937 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 11938 } 11939 11940 // String returns the string representation. 11941 // 11942 // API parameter values that are decorated as "sensitive" in the API will not 11943 // be included in the string output. The member name will be present, but the 11944 // value will be replaced with "sensitive". 11945 func (s ListVirtualRoutersInput) String() string { 11946 return awsutil.Prettify(s) 11947 } 11948 11949 // GoString returns the string representation. 11950 // 11951 // API parameter values that are decorated as "sensitive" in the API will not 11952 // be included in the string output. The member name will be present, but the 11953 // value will be replaced with "sensitive". 11954 func (s ListVirtualRoutersInput) GoString() string { 11955 return s.String() 11956 } 11957 11958 // Validate inspects the fields of the type to determine if they are valid. 11959 func (s *ListVirtualRoutersInput) Validate() error { 11960 invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"} 11961 if s.Limit != nil && *s.Limit < 1 { 11962 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 11963 } 11964 if s.MeshName == nil { 11965 invalidParams.Add(request.NewErrParamRequired("MeshName")) 11966 } 11967 if s.MeshName != nil && len(*s.MeshName) < 1 { 11968 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 11969 } 11970 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 11971 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 11972 } 11973 11974 if invalidParams.Len() > 0 { 11975 return invalidParams 11976 } 11977 return nil 11978 } 11979 11980 // SetLimit sets the Limit field's value. 11981 func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput { 11982 s.Limit = &v 11983 return s 11984 } 11985 11986 // SetMeshName sets the MeshName field's value. 11987 func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput { 11988 s.MeshName = &v 11989 return s 11990 } 11991 11992 // SetMeshOwner sets the MeshOwner field's value. 11993 func (s *ListVirtualRoutersInput) SetMeshOwner(v string) *ListVirtualRoutersInput { 11994 s.MeshOwner = &v 11995 return s 11996 } 11997 11998 // SetNextToken sets the NextToken field's value. 11999 func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput { 12000 s.NextToken = &v 12001 return s 12002 } 12003 12004 type ListVirtualRoutersOutput struct { 12005 _ struct{} `type:"structure"` 12006 12007 // The nextToken value to include in a future ListVirtualRouters request. When 12008 // the results of a ListVirtualRouters request exceed limit, you can use this 12009 // value to retrieve the next page of results. This value is null when there 12010 // are no more results to return. 12011 NextToken *string `locationName:"nextToken" type:"string"` 12012 12013 // The list of existing virtual routers for the specified service mesh. 12014 // 12015 // VirtualRouters is a required field 12016 VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" type:"list" required:"true"` 12017 } 12018 12019 // String returns the string representation. 12020 // 12021 // API parameter values that are decorated as "sensitive" in the API will not 12022 // be included in the string output. The member name will be present, but the 12023 // value will be replaced with "sensitive". 12024 func (s ListVirtualRoutersOutput) String() string { 12025 return awsutil.Prettify(s) 12026 } 12027 12028 // GoString returns the string representation. 12029 // 12030 // API parameter values that are decorated as "sensitive" in the API will not 12031 // be included in the string output. The member name will be present, but the 12032 // value will be replaced with "sensitive". 12033 func (s ListVirtualRoutersOutput) GoString() string { 12034 return s.String() 12035 } 12036 12037 // SetNextToken sets the NextToken field's value. 12038 func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput { 12039 s.NextToken = &v 12040 return s 12041 } 12042 12043 // SetVirtualRouters sets the VirtualRouters field's value. 12044 func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput { 12045 s.VirtualRouters = v 12046 return s 12047 } 12048 12049 type ListVirtualServicesInput struct { 12050 _ struct{} `type:"structure" nopayload:"true"` 12051 12052 // The maximum number of results returned by ListVirtualServices in paginated 12053 // output. When you use this parameter, ListVirtualServices returns only limit 12054 // results in a single page along with a nextToken response element. You can 12055 // see the remaining results of the initial request by sending another ListVirtualServices 12056 // request with the returned nextToken value. This value can be between 1 and 12057 // 100. If you don't use this parameter, ListVirtualServices returns up to 100 12058 // results and a nextToken value if applicable. 12059 Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` 12060 12061 // The name of the service mesh to list virtual services in. 12062 // 12063 // MeshName is a required field 12064 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 12065 12066 // The AWS IAM account ID of the service mesh owner. If the account ID is not 12067 // your own, then it's the ID of the account that shared the mesh with your 12068 // account. For more information about mesh sharing, see Working with shared 12069 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 12070 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 12071 12072 // The nextToken value returned from a previous paginated ListVirtualServices 12073 // request where limit was used and the results exceeded the value of that parameter. 12074 // Pagination continues from the end of the previous results that returned the 12075 // nextToken value. 12076 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 12077 } 12078 12079 // String returns the string representation. 12080 // 12081 // API parameter values that are decorated as "sensitive" in the API will not 12082 // be included in the string output. The member name will be present, but the 12083 // value will be replaced with "sensitive". 12084 func (s ListVirtualServicesInput) String() string { 12085 return awsutil.Prettify(s) 12086 } 12087 12088 // GoString returns the string representation. 12089 // 12090 // API parameter values that are decorated as "sensitive" in the API will not 12091 // be included in the string output. The member name will be present, but the 12092 // value will be replaced with "sensitive". 12093 func (s ListVirtualServicesInput) GoString() string { 12094 return s.String() 12095 } 12096 12097 // Validate inspects the fields of the type to determine if they are valid. 12098 func (s *ListVirtualServicesInput) Validate() error { 12099 invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"} 12100 if s.Limit != nil && *s.Limit < 1 { 12101 invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) 12102 } 12103 if s.MeshName == nil { 12104 invalidParams.Add(request.NewErrParamRequired("MeshName")) 12105 } 12106 if s.MeshName != nil && len(*s.MeshName) < 1 { 12107 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 12108 } 12109 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 12110 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 12111 } 12112 12113 if invalidParams.Len() > 0 { 12114 return invalidParams 12115 } 12116 return nil 12117 } 12118 12119 // SetLimit sets the Limit field's value. 12120 func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput { 12121 s.Limit = &v 12122 return s 12123 } 12124 12125 // SetMeshName sets the MeshName field's value. 12126 func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput { 12127 s.MeshName = &v 12128 return s 12129 } 12130 12131 // SetMeshOwner sets the MeshOwner field's value. 12132 func (s *ListVirtualServicesInput) SetMeshOwner(v string) *ListVirtualServicesInput { 12133 s.MeshOwner = &v 12134 return s 12135 } 12136 12137 // SetNextToken sets the NextToken field's value. 12138 func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput { 12139 s.NextToken = &v 12140 return s 12141 } 12142 12143 type ListVirtualServicesOutput struct { 12144 _ struct{} `type:"structure"` 12145 12146 // The nextToken value to include in a future ListVirtualServices request. When 12147 // the results of a ListVirtualServices request exceed limit, you can use this 12148 // value to retrieve the next page of results. This value is null when there 12149 // are no more results to return. 12150 NextToken *string `locationName:"nextToken" type:"string"` 12151 12152 // The list of existing virtual services for the specified service mesh. 12153 // 12154 // VirtualServices is a required field 12155 VirtualServices []*VirtualServiceRef `locationName:"virtualServices" type:"list" required:"true"` 12156 } 12157 12158 // String returns the string representation. 12159 // 12160 // API parameter values that are decorated as "sensitive" in the API will not 12161 // be included in the string output. The member name will be present, but the 12162 // value will be replaced with "sensitive". 12163 func (s ListVirtualServicesOutput) String() string { 12164 return awsutil.Prettify(s) 12165 } 12166 12167 // GoString returns the string representation. 12168 // 12169 // API parameter values that are decorated as "sensitive" in the API will not 12170 // be included in the string output. The member name will be present, but the 12171 // value will be replaced with "sensitive". 12172 func (s ListVirtualServicesOutput) GoString() string { 12173 return s.String() 12174 } 12175 12176 // SetNextToken sets the NextToken field's value. 12177 func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput { 12178 s.NextToken = &v 12179 return s 12180 } 12181 12182 // SetVirtualServices sets the VirtualServices field's value. 12183 func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput { 12184 s.VirtualServices = v 12185 return s 12186 } 12187 12188 // An object that represents a listener for a virtual node. 12189 type Listener struct { 12190 _ struct{} `type:"structure"` 12191 12192 // The connection pool information for the listener. 12193 ConnectionPool *VirtualNodeConnectionPool `locationName:"connectionPool" type:"structure"` 12194 12195 // The health check information for the listener. 12196 HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` 12197 12198 // The outlier detection information for the listener. 12199 OutlierDetection *OutlierDetection `locationName:"outlierDetection" type:"structure"` 12200 12201 // The port mapping information for the listener. 12202 // 12203 // PortMapping is a required field 12204 PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` 12205 12206 // An object that represents timeouts for different protocols. 12207 Timeout *ListenerTimeout `locationName:"timeout" type:"structure"` 12208 12209 // A reference to an object that represents the Transport Layer Security (TLS) 12210 // properties for a listener. 12211 Tls *ListenerTls `locationName:"tls" type:"structure"` 12212 } 12213 12214 // String returns the string representation. 12215 // 12216 // API parameter values that are decorated as "sensitive" in the API will not 12217 // be included in the string output. The member name will be present, but the 12218 // value will be replaced with "sensitive". 12219 func (s Listener) String() string { 12220 return awsutil.Prettify(s) 12221 } 12222 12223 // GoString returns the string representation. 12224 // 12225 // API parameter values that are decorated as "sensitive" in the API will not 12226 // be included in the string output. The member name will be present, but the 12227 // value will be replaced with "sensitive". 12228 func (s Listener) GoString() string { 12229 return s.String() 12230 } 12231 12232 // Validate inspects the fields of the type to determine if they are valid. 12233 func (s *Listener) Validate() error { 12234 invalidParams := request.ErrInvalidParams{Context: "Listener"} 12235 if s.PortMapping == nil { 12236 invalidParams.Add(request.NewErrParamRequired("PortMapping")) 12237 } 12238 if s.ConnectionPool != nil { 12239 if err := s.ConnectionPool.Validate(); err != nil { 12240 invalidParams.AddNested("ConnectionPool", err.(request.ErrInvalidParams)) 12241 } 12242 } 12243 if s.HealthCheck != nil { 12244 if err := s.HealthCheck.Validate(); err != nil { 12245 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 12246 } 12247 } 12248 if s.OutlierDetection != nil { 12249 if err := s.OutlierDetection.Validate(); err != nil { 12250 invalidParams.AddNested("OutlierDetection", err.(request.ErrInvalidParams)) 12251 } 12252 } 12253 if s.PortMapping != nil { 12254 if err := s.PortMapping.Validate(); err != nil { 12255 invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) 12256 } 12257 } 12258 if s.Tls != nil { 12259 if err := s.Tls.Validate(); err != nil { 12260 invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) 12261 } 12262 } 12263 12264 if invalidParams.Len() > 0 { 12265 return invalidParams 12266 } 12267 return nil 12268 } 12269 12270 // SetConnectionPool sets the ConnectionPool field's value. 12271 func (s *Listener) SetConnectionPool(v *VirtualNodeConnectionPool) *Listener { 12272 s.ConnectionPool = v 12273 return s 12274 } 12275 12276 // SetHealthCheck sets the HealthCheck field's value. 12277 func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener { 12278 s.HealthCheck = v 12279 return s 12280 } 12281 12282 // SetOutlierDetection sets the OutlierDetection field's value. 12283 func (s *Listener) SetOutlierDetection(v *OutlierDetection) *Listener { 12284 s.OutlierDetection = v 12285 return s 12286 } 12287 12288 // SetPortMapping sets the PortMapping field's value. 12289 func (s *Listener) SetPortMapping(v *PortMapping) *Listener { 12290 s.PortMapping = v 12291 return s 12292 } 12293 12294 // SetTimeout sets the Timeout field's value. 12295 func (s *Listener) SetTimeout(v *ListenerTimeout) *Listener { 12296 s.Timeout = v 12297 return s 12298 } 12299 12300 // SetTls sets the Tls field's value. 12301 func (s *Listener) SetTls(v *ListenerTls) *Listener { 12302 s.Tls = v 12303 return s 12304 } 12305 12306 // An object that represents timeouts for different protocols. 12307 type ListenerTimeout struct { 12308 _ struct{} `type:"structure"` 12309 12310 // An object that represents types of timeouts. 12311 Grpc *GrpcTimeout `locationName:"grpc" type:"structure"` 12312 12313 // An object that represents types of timeouts. 12314 Http *HttpTimeout `locationName:"http" type:"structure"` 12315 12316 // An object that represents types of timeouts. 12317 Http2 *HttpTimeout `locationName:"http2" type:"structure"` 12318 12319 // An object that represents types of timeouts. 12320 Tcp *TcpTimeout `locationName:"tcp" type:"structure"` 12321 } 12322 12323 // String returns the string representation. 12324 // 12325 // API parameter values that are decorated as "sensitive" in the API will not 12326 // be included in the string output. The member name will be present, but the 12327 // value will be replaced with "sensitive". 12328 func (s ListenerTimeout) String() string { 12329 return awsutil.Prettify(s) 12330 } 12331 12332 // GoString returns the string representation. 12333 // 12334 // API parameter values that are decorated as "sensitive" in the API will not 12335 // be included in the string output. The member name will be present, but the 12336 // value will be replaced with "sensitive". 12337 func (s ListenerTimeout) GoString() string { 12338 return s.String() 12339 } 12340 12341 // SetGrpc sets the Grpc field's value. 12342 func (s *ListenerTimeout) SetGrpc(v *GrpcTimeout) *ListenerTimeout { 12343 s.Grpc = v 12344 return s 12345 } 12346 12347 // SetHttp sets the Http field's value. 12348 func (s *ListenerTimeout) SetHttp(v *HttpTimeout) *ListenerTimeout { 12349 s.Http = v 12350 return s 12351 } 12352 12353 // SetHttp2 sets the Http2 field's value. 12354 func (s *ListenerTimeout) SetHttp2(v *HttpTimeout) *ListenerTimeout { 12355 s.Http2 = v 12356 return s 12357 } 12358 12359 // SetTcp sets the Tcp field's value. 12360 func (s *ListenerTimeout) SetTcp(v *TcpTimeout) *ListenerTimeout { 12361 s.Tcp = v 12362 return s 12363 } 12364 12365 // An object that represents the Transport Layer Security (TLS) properties for 12366 // a listener. 12367 type ListenerTls struct { 12368 _ struct{} `type:"structure"` 12369 12370 // A reference to an object that represents a listener's Transport Layer Security 12371 // (TLS) certificate. 12372 // 12373 // Certificate is a required field 12374 Certificate *ListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"` 12375 12376 // Specify one of the following modes. 12377 // 12378 // * STRICT – Listener only accepts connections with TLS enabled. 12379 // 12380 // * PERMISSIVE – Listener accepts connections with or without TLS enabled. 12381 // 12382 // * DISABLED – Listener only accepts connections without TLS. 12383 // 12384 // Mode is a required field 12385 Mode *string `locationName:"mode" type:"string" required:"true" enum:"ListenerTlsMode"` 12386 12387 // A reference to an object that represents a listener's Transport Layer Security 12388 // (TLS) validation context. 12389 Validation *ListenerTlsValidationContext `locationName:"validation" type:"structure"` 12390 } 12391 12392 // String returns the string representation. 12393 // 12394 // API parameter values that are decorated as "sensitive" in the API will not 12395 // be included in the string output. The member name will be present, but the 12396 // value will be replaced with "sensitive". 12397 func (s ListenerTls) String() string { 12398 return awsutil.Prettify(s) 12399 } 12400 12401 // GoString returns the string representation. 12402 // 12403 // API parameter values that are decorated as "sensitive" in the API will not 12404 // be included in the string output. The member name will be present, but the 12405 // value will be replaced with "sensitive". 12406 func (s ListenerTls) GoString() string { 12407 return s.String() 12408 } 12409 12410 // Validate inspects the fields of the type to determine if they are valid. 12411 func (s *ListenerTls) Validate() error { 12412 invalidParams := request.ErrInvalidParams{Context: "ListenerTls"} 12413 if s.Certificate == nil { 12414 invalidParams.Add(request.NewErrParamRequired("Certificate")) 12415 } 12416 if s.Mode == nil { 12417 invalidParams.Add(request.NewErrParamRequired("Mode")) 12418 } 12419 if s.Certificate != nil { 12420 if err := s.Certificate.Validate(); err != nil { 12421 invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) 12422 } 12423 } 12424 if s.Validation != nil { 12425 if err := s.Validation.Validate(); err != nil { 12426 invalidParams.AddNested("Validation", err.(request.ErrInvalidParams)) 12427 } 12428 } 12429 12430 if invalidParams.Len() > 0 { 12431 return invalidParams 12432 } 12433 return nil 12434 } 12435 12436 // SetCertificate sets the Certificate field's value. 12437 func (s *ListenerTls) SetCertificate(v *ListenerTlsCertificate) *ListenerTls { 12438 s.Certificate = v 12439 return s 12440 } 12441 12442 // SetMode sets the Mode field's value. 12443 func (s *ListenerTls) SetMode(v string) *ListenerTls { 12444 s.Mode = &v 12445 return s 12446 } 12447 12448 // SetValidation sets the Validation field's value. 12449 func (s *ListenerTls) SetValidation(v *ListenerTlsValidationContext) *ListenerTls { 12450 s.Validation = v 12451 return s 12452 } 12453 12454 // An object that represents an AWS Certicate Manager (ACM) certificate. 12455 type ListenerTlsAcmCertificate struct { 12456 _ struct{} `type:"structure"` 12457 12458 // The Amazon Resource Name (ARN) for the certificate. The certificate must 12459 // meet specific requirements and you must have proxy authorization enabled. 12460 // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). 12461 // 12462 // CertificateArn is a required field 12463 CertificateArn *string `locationName:"certificateArn" type:"string" required:"true"` 12464 } 12465 12466 // String returns the string representation. 12467 // 12468 // API parameter values that are decorated as "sensitive" in the API will not 12469 // be included in the string output. The member name will be present, but the 12470 // value will be replaced with "sensitive". 12471 func (s ListenerTlsAcmCertificate) String() string { 12472 return awsutil.Prettify(s) 12473 } 12474 12475 // GoString returns the string representation. 12476 // 12477 // API parameter values that are decorated as "sensitive" in the API will not 12478 // be included in the string output. The member name will be present, but the 12479 // value will be replaced with "sensitive". 12480 func (s ListenerTlsAcmCertificate) GoString() string { 12481 return s.String() 12482 } 12483 12484 // Validate inspects the fields of the type to determine if they are valid. 12485 func (s *ListenerTlsAcmCertificate) Validate() error { 12486 invalidParams := request.ErrInvalidParams{Context: "ListenerTlsAcmCertificate"} 12487 if s.CertificateArn == nil { 12488 invalidParams.Add(request.NewErrParamRequired("CertificateArn")) 12489 } 12490 12491 if invalidParams.Len() > 0 { 12492 return invalidParams 12493 } 12494 return nil 12495 } 12496 12497 // SetCertificateArn sets the CertificateArn field's value. 12498 func (s *ListenerTlsAcmCertificate) SetCertificateArn(v string) *ListenerTlsAcmCertificate { 12499 s.CertificateArn = &v 12500 return s 12501 } 12502 12503 // An object that represents a listener's Transport Layer Security (TLS) certificate. 12504 type ListenerTlsCertificate struct { 12505 _ struct{} `type:"structure"` 12506 12507 // A reference to an object that represents an AWS Certicate Manager (ACM) certificate. 12508 Acm *ListenerTlsAcmCertificate `locationName:"acm" type:"structure"` 12509 12510 // A reference to an object that represents a local file certificate. 12511 File *ListenerTlsFileCertificate `locationName:"file" type:"structure"` 12512 12513 // A reference to an object that represents a listener's Secret Discovery Service 12514 // certificate. 12515 Sds *ListenerTlsSdsCertificate `locationName:"sds" type:"structure"` 12516 } 12517 12518 // String returns the string representation. 12519 // 12520 // API parameter values that are decorated as "sensitive" in the API will not 12521 // be included in the string output. The member name will be present, but the 12522 // value will be replaced with "sensitive". 12523 func (s ListenerTlsCertificate) String() string { 12524 return awsutil.Prettify(s) 12525 } 12526 12527 // GoString returns the string representation. 12528 // 12529 // API parameter values that are decorated as "sensitive" in the API will not 12530 // be included in the string output. The member name will be present, but the 12531 // value will be replaced with "sensitive". 12532 func (s ListenerTlsCertificate) GoString() string { 12533 return s.String() 12534 } 12535 12536 // Validate inspects the fields of the type to determine if they are valid. 12537 func (s *ListenerTlsCertificate) Validate() error { 12538 invalidParams := request.ErrInvalidParams{Context: "ListenerTlsCertificate"} 12539 if s.Acm != nil { 12540 if err := s.Acm.Validate(); err != nil { 12541 invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) 12542 } 12543 } 12544 if s.File != nil { 12545 if err := s.File.Validate(); err != nil { 12546 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 12547 } 12548 } 12549 if s.Sds != nil { 12550 if err := s.Sds.Validate(); err != nil { 12551 invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) 12552 } 12553 } 12554 12555 if invalidParams.Len() > 0 { 12556 return invalidParams 12557 } 12558 return nil 12559 } 12560 12561 // SetAcm sets the Acm field's value. 12562 func (s *ListenerTlsCertificate) SetAcm(v *ListenerTlsAcmCertificate) *ListenerTlsCertificate { 12563 s.Acm = v 12564 return s 12565 } 12566 12567 // SetFile sets the File field's value. 12568 func (s *ListenerTlsCertificate) SetFile(v *ListenerTlsFileCertificate) *ListenerTlsCertificate { 12569 s.File = v 12570 return s 12571 } 12572 12573 // SetSds sets the Sds field's value. 12574 func (s *ListenerTlsCertificate) SetSds(v *ListenerTlsSdsCertificate) *ListenerTlsCertificate { 12575 s.Sds = v 12576 return s 12577 } 12578 12579 // An object that represents a local file certificate. The certificate must 12580 // meet specific requirements and you must have proxy authorization enabled. 12581 // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). 12582 type ListenerTlsFileCertificate struct { 12583 _ struct{} `type:"structure"` 12584 12585 // The certificate chain for the certificate. 12586 // 12587 // CertificateChain is a required field 12588 CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` 12589 12590 // The private key for a certificate stored on the file system of the virtual 12591 // node that the proxy is running on. 12592 // 12593 // PrivateKey is a required field 12594 PrivateKey *string `locationName:"privateKey" min:"1" type:"string" required:"true"` 12595 } 12596 12597 // String returns the string representation. 12598 // 12599 // API parameter values that are decorated as "sensitive" in the API will not 12600 // be included in the string output. The member name will be present, but the 12601 // value will be replaced with "sensitive". 12602 func (s ListenerTlsFileCertificate) String() string { 12603 return awsutil.Prettify(s) 12604 } 12605 12606 // GoString returns the string representation. 12607 // 12608 // API parameter values that are decorated as "sensitive" in the API will not 12609 // be included in the string output. The member name will be present, but the 12610 // value will be replaced with "sensitive". 12611 func (s ListenerTlsFileCertificate) GoString() string { 12612 return s.String() 12613 } 12614 12615 // Validate inspects the fields of the type to determine if they are valid. 12616 func (s *ListenerTlsFileCertificate) Validate() error { 12617 invalidParams := request.ErrInvalidParams{Context: "ListenerTlsFileCertificate"} 12618 if s.CertificateChain == nil { 12619 invalidParams.Add(request.NewErrParamRequired("CertificateChain")) 12620 } 12621 if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { 12622 invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) 12623 } 12624 if s.PrivateKey == nil { 12625 invalidParams.Add(request.NewErrParamRequired("PrivateKey")) 12626 } 12627 if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { 12628 invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) 12629 } 12630 12631 if invalidParams.Len() > 0 { 12632 return invalidParams 12633 } 12634 return nil 12635 } 12636 12637 // SetCertificateChain sets the CertificateChain field's value. 12638 func (s *ListenerTlsFileCertificate) SetCertificateChain(v string) *ListenerTlsFileCertificate { 12639 s.CertificateChain = &v 12640 return s 12641 } 12642 12643 // SetPrivateKey sets the PrivateKey field's value. 12644 func (s *ListenerTlsFileCertificate) SetPrivateKey(v string) *ListenerTlsFileCertificate { 12645 s.PrivateKey = &v 12646 return s 12647 } 12648 12649 // An object that represents the listener's Secret Discovery Service certificate. 12650 // The proxy must be configured with a local SDS provider via a Unix Domain 12651 // Socket. See App Mesh TLS documentation (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) 12652 // for more info. 12653 type ListenerTlsSdsCertificate struct { 12654 _ struct{} `type:"structure"` 12655 12656 // A reference to an object that represents the name of the secret requested 12657 // from the Secret Discovery Service provider representing Transport Layer Security 12658 // (TLS) materials like a certificate or certificate chain. 12659 // 12660 // SecretName is a required field 12661 SecretName *string `locationName:"secretName" type:"string" required:"true"` 12662 } 12663 12664 // String returns the string representation. 12665 // 12666 // API parameter values that are decorated as "sensitive" in the API will not 12667 // be included in the string output. The member name will be present, but the 12668 // value will be replaced with "sensitive". 12669 func (s ListenerTlsSdsCertificate) String() string { 12670 return awsutil.Prettify(s) 12671 } 12672 12673 // GoString returns the string representation. 12674 // 12675 // API parameter values that are decorated as "sensitive" in the API will not 12676 // be included in the string output. The member name will be present, but the 12677 // value will be replaced with "sensitive". 12678 func (s ListenerTlsSdsCertificate) GoString() string { 12679 return s.String() 12680 } 12681 12682 // Validate inspects the fields of the type to determine if they are valid. 12683 func (s *ListenerTlsSdsCertificate) Validate() error { 12684 invalidParams := request.ErrInvalidParams{Context: "ListenerTlsSdsCertificate"} 12685 if s.SecretName == nil { 12686 invalidParams.Add(request.NewErrParamRequired("SecretName")) 12687 } 12688 12689 if invalidParams.Len() > 0 { 12690 return invalidParams 12691 } 12692 return nil 12693 } 12694 12695 // SetSecretName sets the SecretName field's value. 12696 func (s *ListenerTlsSdsCertificate) SetSecretName(v string) *ListenerTlsSdsCertificate { 12697 s.SecretName = &v 12698 return s 12699 } 12700 12701 // An object that represents a listener's Transport Layer Security (TLS) validation 12702 // context. 12703 type ListenerTlsValidationContext struct { 12704 _ struct{} `type:"structure"` 12705 12706 // A reference to an object that represents the SANs for a listener's Transport 12707 // Layer Security (TLS) validation context. 12708 SubjectAlternativeNames *SubjectAlternativeNames `locationName:"subjectAlternativeNames" type:"structure"` 12709 12710 // A reference to where to retrieve the trust chain when validating a peer’s 12711 // Transport Layer Security (TLS) certificate. 12712 // 12713 // Trust is a required field 12714 Trust *ListenerTlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"` 12715 } 12716 12717 // String returns the string representation. 12718 // 12719 // API parameter values that are decorated as "sensitive" in the API will not 12720 // be included in the string output. The member name will be present, but the 12721 // value will be replaced with "sensitive". 12722 func (s ListenerTlsValidationContext) String() string { 12723 return awsutil.Prettify(s) 12724 } 12725 12726 // GoString returns the string representation. 12727 // 12728 // API parameter values that are decorated as "sensitive" in the API will not 12729 // be included in the string output. The member name will be present, but the 12730 // value will be replaced with "sensitive". 12731 func (s ListenerTlsValidationContext) GoString() string { 12732 return s.String() 12733 } 12734 12735 // Validate inspects the fields of the type to determine if they are valid. 12736 func (s *ListenerTlsValidationContext) Validate() error { 12737 invalidParams := request.ErrInvalidParams{Context: "ListenerTlsValidationContext"} 12738 if s.Trust == nil { 12739 invalidParams.Add(request.NewErrParamRequired("Trust")) 12740 } 12741 if s.SubjectAlternativeNames != nil { 12742 if err := s.SubjectAlternativeNames.Validate(); err != nil { 12743 invalidParams.AddNested("SubjectAlternativeNames", err.(request.ErrInvalidParams)) 12744 } 12745 } 12746 if s.Trust != nil { 12747 if err := s.Trust.Validate(); err != nil { 12748 invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) 12749 } 12750 } 12751 12752 if invalidParams.Len() > 0 { 12753 return invalidParams 12754 } 12755 return nil 12756 } 12757 12758 // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. 12759 func (s *ListenerTlsValidationContext) SetSubjectAlternativeNames(v *SubjectAlternativeNames) *ListenerTlsValidationContext { 12760 s.SubjectAlternativeNames = v 12761 return s 12762 } 12763 12764 // SetTrust sets the Trust field's value. 12765 func (s *ListenerTlsValidationContext) SetTrust(v *ListenerTlsValidationContextTrust) *ListenerTlsValidationContext { 12766 s.Trust = v 12767 return s 12768 } 12769 12770 // An object that represents a listener's Transport Layer Security (TLS) validation 12771 // context trust. 12772 type ListenerTlsValidationContextTrust struct { 12773 _ struct{} `type:"structure"` 12774 12775 // An object that represents a Transport Layer Security (TLS) validation context 12776 // trust for a local file. 12777 File *TlsValidationContextFileTrust `locationName:"file" type:"structure"` 12778 12779 // A reference to an object that represents a listener's Transport Layer Security 12780 // (TLS) Secret Discovery Service validation context trust. 12781 Sds *TlsValidationContextSdsTrust `locationName:"sds" type:"structure"` 12782 } 12783 12784 // String returns the string representation. 12785 // 12786 // API parameter values that are decorated as "sensitive" in the API will not 12787 // be included in the string output. The member name will be present, but the 12788 // value will be replaced with "sensitive". 12789 func (s ListenerTlsValidationContextTrust) String() string { 12790 return awsutil.Prettify(s) 12791 } 12792 12793 // GoString returns the string representation. 12794 // 12795 // API parameter values that are decorated as "sensitive" in the API will not 12796 // be included in the string output. The member name will be present, but the 12797 // value will be replaced with "sensitive". 12798 func (s ListenerTlsValidationContextTrust) GoString() string { 12799 return s.String() 12800 } 12801 12802 // Validate inspects the fields of the type to determine if they are valid. 12803 func (s *ListenerTlsValidationContextTrust) Validate() error { 12804 invalidParams := request.ErrInvalidParams{Context: "ListenerTlsValidationContextTrust"} 12805 if s.File != nil { 12806 if err := s.File.Validate(); err != nil { 12807 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 12808 } 12809 } 12810 if s.Sds != nil { 12811 if err := s.Sds.Validate(); err != nil { 12812 invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) 12813 } 12814 } 12815 12816 if invalidParams.Len() > 0 { 12817 return invalidParams 12818 } 12819 return nil 12820 } 12821 12822 // SetFile sets the File field's value. 12823 func (s *ListenerTlsValidationContextTrust) SetFile(v *TlsValidationContextFileTrust) *ListenerTlsValidationContextTrust { 12824 s.File = v 12825 return s 12826 } 12827 12828 // SetSds sets the Sds field's value. 12829 func (s *ListenerTlsValidationContextTrust) SetSds(v *TlsValidationContextSdsTrust) *ListenerTlsValidationContextTrust { 12830 s.Sds = v 12831 return s 12832 } 12833 12834 // An object that represents the logging information for a virtual node. 12835 type Logging struct { 12836 _ struct{} `type:"structure"` 12837 12838 // The access log configuration for a virtual node. 12839 AccessLog *AccessLog `locationName:"accessLog" type:"structure"` 12840 } 12841 12842 // String returns the string representation. 12843 // 12844 // API parameter values that are decorated as "sensitive" in the API will not 12845 // be included in the string output. The member name will be present, but the 12846 // value will be replaced with "sensitive". 12847 func (s Logging) String() string { 12848 return awsutil.Prettify(s) 12849 } 12850 12851 // GoString returns the string representation. 12852 // 12853 // API parameter values that are decorated as "sensitive" in the API will not 12854 // be included in the string output. The member name will be present, but the 12855 // value will be replaced with "sensitive". 12856 func (s Logging) GoString() string { 12857 return s.String() 12858 } 12859 12860 // Validate inspects the fields of the type to determine if they are valid. 12861 func (s *Logging) Validate() error { 12862 invalidParams := request.ErrInvalidParams{Context: "Logging"} 12863 if s.AccessLog != nil { 12864 if err := s.AccessLog.Validate(); err != nil { 12865 invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) 12866 } 12867 } 12868 12869 if invalidParams.Len() > 0 { 12870 return invalidParams 12871 } 12872 return nil 12873 } 12874 12875 // SetAccessLog sets the AccessLog field's value. 12876 func (s *Logging) SetAccessLog(v *AccessLog) *Logging { 12877 s.AccessLog = v 12878 return s 12879 } 12880 12881 // An object that represents the range of values to match on. The first character 12882 // of the range is included in the range, though the last character is not. 12883 // For example, if the range specified were 1-100, only values 1-99 would be 12884 // matched. 12885 type MatchRange struct { 12886 _ struct{} `type:"structure"` 12887 12888 // The end of the range. 12889 // 12890 // End is a required field 12891 End *int64 `locationName:"end" type:"long" required:"true"` 12892 12893 // The start of the range. 12894 // 12895 // Start is a required field 12896 Start *int64 `locationName:"start" type:"long" required:"true"` 12897 } 12898 12899 // String returns the string representation. 12900 // 12901 // API parameter values that are decorated as "sensitive" in the API will not 12902 // be included in the string output. The member name will be present, but the 12903 // value will be replaced with "sensitive". 12904 func (s MatchRange) String() string { 12905 return awsutil.Prettify(s) 12906 } 12907 12908 // GoString returns the string representation. 12909 // 12910 // API parameter values that are decorated as "sensitive" in the API will not 12911 // be included in the string output. The member name will be present, but the 12912 // value will be replaced with "sensitive". 12913 func (s MatchRange) GoString() string { 12914 return s.String() 12915 } 12916 12917 // Validate inspects the fields of the type to determine if they are valid. 12918 func (s *MatchRange) Validate() error { 12919 invalidParams := request.ErrInvalidParams{Context: "MatchRange"} 12920 if s.End == nil { 12921 invalidParams.Add(request.NewErrParamRequired("End")) 12922 } 12923 if s.Start == nil { 12924 invalidParams.Add(request.NewErrParamRequired("Start")) 12925 } 12926 12927 if invalidParams.Len() > 0 { 12928 return invalidParams 12929 } 12930 return nil 12931 } 12932 12933 // SetEnd sets the End field's value. 12934 func (s *MatchRange) SetEnd(v int64) *MatchRange { 12935 s.End = &v 12936 return s 12937 } 12938 12939 // SetStart sets the Start field's value. 12940 func (s *MatchRange) SetStart(v int64) *MatchRange { 12941 s.Start = &v 12942 return s 12943 } 12944 12945 // An object that represents a service mesh returned by a describe operation. 12946 type MeshData struct { 12947 _ struct{} `type:"structure"` 12948 12949 // The name of the service mesh. 12950 // 12951 // MeshName is a required field 12952 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 12953 12954 // The associated metadata for the service mesh. 12955 // 12956 // Metadata is a required field 12957 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 12958 12959 // The associated specification for the service mesh. 12960 // 12961 // Spec is a required field 12962 Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"` 12963 12964 // The status of the service mesh. 12965 // 12966 // Status is a required field 12967 Status *MeshStatus `locationName:"status" type:"structure" required:"true"` 12968 } 12969 12970 // String returns the string representation. 12971 // 12972 // API parameter values that are decorated as "sensitive" in the API will not 12973 // be included in the string output. The member name will be present, but the 12974 // value will be replaced with "sensitive". 12975 func (s MeshData) String() string { 12976 return awsutil.Prettify(s) 12977 } 12978 12979 // GoString returns the string representation. 12980 // 12981 // API parameter values that are decorated as "sensitive" in the API will not 12982 // be included in the string output. The member name will be present, but the 12983 // value will be replaced with "sensitive". 12984 func (s MeshData) GoString() string { 12985 return s.String() 12986 } 12987 12988 // SetMeshName sets the MeshName field's value. 12989 func (s *MeshData) SetMeshName(v string) *MeshData { 12990 s.MeshName = &v 12991 return s 12992 } 12993 12994 // SetMetadata sets the Metadata field's value. 12995 func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData { 12996 s.Metadata = v 12997 return s 12998 } 12999 13000 // SetSpec sets the Spec field's value. 13001 func (s *MeshData) SetSpec(v *MeshSpec) *MeshData { 13002 s.Spec = v 13003 return s 13004 } 13005 13006 // SetStatus sets the Status field's value. 13007 func (s *MeshData) SetStatus(v *MeshStatus) *MeshData { 13008 s.Status = v 13009 return s 13010 } 13011 13012 // An object that represents a service mesh returned by a list operation. 13013 type MeshRef struct { 13014 _ struct{} `type:"structure"` 13015 13016 // The full Amazon Resource Name (ARN) of the service mesh. 13017 // 13018 // Arn is a required field 13019 Arn *string `locationName:"arn" type:"string" required:"true"` 13020 13021 // The Unix epoch timestamp in seconds for when the resource was created. 13022 // 13023 // CreatedAt is a required field 13024 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` 13025 13026 // The Unix epoch timestamp in seconds for when the resource was last updated. 13027 // 13028 // LastUpdatedAt is a required field 13029 LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` 13030 13031 // The name of the service mesh. 13032 // 13033 // MeshName is a required field 13034 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 13035 13036 // The AWS IAM account ID of the service mesh owner. If the account ID is not 13037 // your own, then it's the ID of the account that shared the mesh with your 13038 // account. For more information about mesh sharing, see Working with shared 13039 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 13040 // 13041 // MeshOwner is a required field 13042 MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` 13043 13044 // The AWS IAM account ID of the resource owner. If the account ID is not your 13045 // own, then it's the ID of the mesh owner or of another account that the mesh 13046 // is shared with. For more information about mesh sharing, see Working with 13047 // shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 13048 // 13049 // ResourceOwner is a required field 13050 ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` 13051 13052 // The version of the resource. Resources are created at version 1, and this 13053 // version is incremented each time that they're updated. 13054 // 13055 // Version is a required field 13056 Version *int64 `locationName:"version" type:"long" required:"true"` 13057 } 13058 13059 // String returns the string representation. 13060 // 13061 // API parameter values that are decorated as "sensitive" in the API will not 13062 // be included in the string output. The member name will be present, but the 13063 // value will be replaced with "sensitive". 13064 func (s MeshRef) String() string { 13065 return awsutil.Prettify(s) 13066 } 13067 13068 // GoString returns the string representation. 13069 // 13070 // API parameter values that are decorated as "sensitive" in the API will not 13071 // be included in the string output. The member name will be present, but the 13072 // value will be replaced with "sensitive". 13073 func (s MeshRef) GoString() string { 13074 return s.String() 13075 } 13076 13077 // SetArn sets the Arn field's value. 13078 func (s *MeshRef) SetArn(v string) *MeshRef { 13079 s.Arn = &v 13080 return s 13081 } 13082 13083 // SetCreatedAt sets the CreatedAt field's value. 13084 func (s *MeshRef) SetCreatedAt(v time.Time) *MeshRef { 13085 s.CreatedAt = &v 13086 return s 13087 } 13088 13089 // SetLastUpdatedAt sets the LastUpdatedAt field's value. 13090 func (s *MeshRef) SetLastUpdatedAt(v time.Time) *MeshRef { 13091 s.LastUpdatedAt = &v 13092 return s 13093 } 13094 13095 // SetMeshName sets the MeshName field's value. 13096 func (s *MeshRef) SetMeshName(v string) *MeshRef { 13097 s.MeshName = &v 13098 return s 13099 } 13100 13101 // SetMeshOwner sets the MeshOwner field's value. 13102 func (s *MeshRef) SetMeshOwner(v string) *MeshRef { 13103 s.MeshOwner = &v 13104 return s 13105 } 13106 13107 // SetResourceOwner sets the ResourceOwner field's value. 13108 func (s *MeshRef) SetResourceOwner(v string) *MeshRef { 13109 s.ResourceOwner = &v 13110 return s 13111 } 13112 13113 // SetVersion sets the Version field's value. 13114 func (s *MeshRef) SetVersion(v int64) *MeshRef { 13115 s.Version = &v 13116 return s 13117 } 13118 13119 // An object that represents the specification of a service mesh. 13120 type MeshSpec struct { 13121 _ struct{} `type:"structure"` 13122 13123 // The egress filter rules for the service mesh. 13124 EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"` 13125 } 13126 13127 // String returns the string representation. 13128 // 13129 // API parameter values that are decorated as "sensitive" in the API will not 13130 // be included in the string output. The member name will be present, but the 13131 // value will be replaced with "sensitive". 13132 func (s MeshSpec) String() string { 13133 return awsutil.Prettify(s) 13134 } 13135 13136 // GoString returns the string representation. 13137 // 13138 // API parameter values that are decorated as "sensitive" in the API will not 13139 // be included in the string output. The member name will be present, but the 13140 // value will be replaced with "sensitive". 13141 func (s MeshSpec) GoString() string { 13142 return s.String() 13143 } 13144 13145 // Validate inspects the fields of the type to determine if they are valid. 13146 func (s *MeshSpec) Validate() error { 13147 invalidParams := request.ErrInvalidParams{Context: "MeshSpec"} 13148 if s.EgressFilter != nil { 13149 if err := s.EgressFilter.Validate(); err != nil { 13150 invalidParams.AddNested("EgressFilter", err.(request.ErrInvalidParams)) 13151 } 13152 } 13153 13154 if invalidParams.Len() > 0 { 13155 return invalidParams 13156 } 13157 return nil 13158 } 13159 13160 // SetEgressFilter sets the EgressFilter field's value. 13161 func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec { 13162 s.EgressFilter = v 13163 return s 13164 } 13165 13166 // An object that represents the status of a service mesh. 13167 type MeshStatus struct { 13168 _ struct{} `type:"structure"` 13169 13170 // The current mesh status. 13171 Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"` 13172 } 13173 13174 // String returns the string representation. 13175 // 13176 // API parameter values that are decorated as "sensitive" in the API will not 13177 // be included in the string output. The member name will be present, but the 13178 // value will be replaced with "sensitive". 13179 func (s MeshStatus) String() string { 13180 return awsutil.Prettify(s) 13181 } 13182 13183 // GoString returns the string representation. 13184 // 13185 // API parameter values that are decorated as "sensitive" in the API will not 13186 // be included in the string output. The member name will be present, but the 13187 // value will be replaced with "sensitive". 13188 func (s MeshStatus) GoString() string { 13189 return s.String() 13190 } 13191 13192 // SetStatus sets the Status field's value. 13193 func (s *MeshStatus) SetStatus(v string) *MeshStatus { 13194 s.Status = &v 13195 return s 13196 } 13197 13198 // The specified resource doesn't exist. Check your request syntax and try again. 13199 type NotFoundException struct { 13200 _ struct{} `type:"structure"` 13201 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13202 13203 Message_ *string `locationName:"message" type:"string"` 13204 } 13205 13206 // String returns the string representation. 13207 // 13208 // API parameter values that are decorated as "sensitive" in the API will not 13209 // be included in the string output. The member name will be present, but the 13210 // value will be replaced with "sensitive". 13211 func (s NotFoundException) String() string { 13212 return awsutil.Prettify(s) 13213 } 13214 13215 // GoString returns the string representation. 13216 // 13217 // API parameter values that are decorated as "sensitive" in the API will not 13218 // be included in the string output. The member name will be present, but the 13219 // value will be replaced with "sensitive". 13220 func (s NotFoundException) GoString() string { 13221 return s.String() 13222 } 13223 13224 func newErrorNotFoundException(v protocol.ResponseMetadata) error { 13225 return &NotFoundException{ 13226 RespMetadata: v, 13227 } 13228 } 13229 13230 // Code returns the exception type name. 13231 func (s *NotFoundException) Code() string { 13232 return "NotFoundException" 13233 } 13234 13235 // Message returns the exception's message. 13236 func (s *NotFoundException) Message() string { 13237 if s.Message_ != nil { 13238 return *s.Message_ 13239 } 13240 return "" 13241 } 13242 13243 // OrigErr always returns nil, satisfies awserr.Error interface. 13244 func (s *NotFoundException) OrigErr() error { 13245 return nil 13246 } 13247 13248 func (s *NotFoundException) Error() string { 13249 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13250 } 13251 13252 // Status code returns the HTTP status code for the request's response error. 13253 func (s *NotFoundException) StatusCode() int { 13254 return s.RespMetadata.StatusCode 13255 } 13256 13257 // RequestID returns the service's response RequestID for request. 13258 func (s *NotFoundException) RequestID() string { 13259 return s.RespMetadata.RequestID 13260 } 13261 13262 // An object that represents the outlier detection for a virtual node's listener. 13263 type OutlierDetection struct { 13264 _ struct{} `type:"structure"` 13265 13266 // The base amount of time for which a host is ejected. 13267 // 13268 // BaseEjectionDuration is a required field 13269 BaseEjectionDuration *Duration `locationName:"baseEjectionDuration" type:"structure" required:"true"` 13270 13271 // The time interval between ejection sweep analysis. 13272 // 13273 // Interval is a required field 13274 Interval *Duration `locationName:"interval" type:"structure" required:"true"` 13275 13276 // Maximum percentage of hosts in load balancing pool for upstream service that 13277 // can be ejected. Will eject at least one host regardless of the value. 13278 // 13279 // MaxEjectionPercent is a required field 13280 MaxEjectionPercent *int64 `locationName:"maxEjectionPercent" type:"integer" required:"true"` 13281 13282 // Number of consecutive 5xx errors required for ejection. 13283 // 13284 // MaxServerErrors is a required field 13285 MaxServerErrors *int64 `locationName:"maxServerErrors" min:"1" type:"long" required:"true"` 13286 } 13287 13288 // String returns the string representation. 13289 // 13290 // API parameter values that are decorated as "sensitive" in the API will not 13291 // be included in the string output. The member name will be present, but the 13292 // value will be replaced with "sensitive". 13293 func (s OutlierDetection) String() string { 13294 return awsutil.Prettify(s) 13295 } 13296 13297 // GoString returns the string representation. 13298 // 13299 // API parameter values that are decorated as "sensitive" in the API will not 13300 // be included in the string output. The member name will be present, but the 13301 // value will be replaced with "sensitive". 13302 func (s OutlierDetection) GoString() string { 13303 return s.String() 13304 } 13305 13306 // Validate inspects the fields of the type to determine if they are valid. 13307 func (s *OutlierDetection) Validate() error { 13308 invalidParams := request.ErrInvalidParams{Context: "OutlierDetection"} 13309 if s.BaseEjectionDuration == nil { 13310 invalidParams.Add(request.NewErrParamRequired("BaseEjectionDuration")) 13311 } 13312 if s.Interval == nil { 13313 invalidParams.Add(request.NewErrParamRequired("Interval")) 13314 } 13315 if s.MaxEjectionPercent == nil { 13316 invalidParams.Add(request.NewErrParamRequired("MaxEjectionPercent")) 13317 } 13318 if s.MaxServerErrors == nil { 13319 invalidParams.Add(request.NewErrParamRequired("MaxServerErrors")) 13320 } 13321 if s.MaxServerErrors != nil && *s.MaxServerErrors < 1 { 13322 invalidParams.Add(request.NewErrParamMinValue("MaxServerErrors", 1)) 13323 } 13324 13325 if invalidParams.Len() > 0 { 13326 return invalidParams 13327 } 13328 return nil 13329 } 13330 13331 // SetBaseEjectionDuration sets the BaseEjectionDuration field's value. 13332 func (s *OutlierDetection) SetBaseEjectionDuration(v *Duration) *OutlierDetection { 13333 s.BaseEjectionDuration = v 13334 return s 13335 } 13336 13337 // SetInterval sets the Interval field's value. 13338 func (s *OutlierDetection) SetInterval(v *Duration) *OutlierDetection { 13339 s.Interval = v 13340 return s 13341 } 13342 13343 // SetMaxEjectionPercent sets the MaxEjectionPercent field's value. 13344 func (s *OutlierDetection) SetMaxEjectionPercent(v int64) *OutlierDetection { 13345 s.MaxEjectionPercent = &v 13346 return s 13347 } 13348 13349 // SetMaxServerErrors sets the MaxServerErrors field's value. 13350 func (s *OutlierDetection) SetMaxServerErrors(v int64) *OutlierDetection { 13351 s.MaxServerErrors = &v 13352 return s 13353 } 13354 13355 // An object that represents a port mapping. 13356 type PortMapping struct { 13357 _ struct{} `type:"structure"` 13358 13359 // The port used for the port mapping. 13360 // 13361 // Port is a required field 13362 Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` 13363 13364 // The protocol used for the port mapping. Specify one protocol. 13365 // 13366 // Protocol is a required field 13367 Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` 13368 } 13369 13370 // String returns the string representation. 13371 // 13372 // API parameter values that are decorated as "sensitive" in the API will not 13373 // be included in the string output. The member name will be present, but the 13374 // value will be replaced with "sensitive". 13375 func (s PortMapping) String() string { 13376 return awsutil.Prettify(s) 13377 } 13378 13379 // GoString returns the string representation. 13380 // 13381 // API parameter values that are decorated as "sensitive" in the API will not 13382 // be included in the string output. The member name will be present, but the 13383 // value will be replaced with "sensitive". 13384 func (s PortMapping) GoString() string { 13385 return s.String() 13386 } 13387 13388 // Validate inspects the fields of the type to determine if they are valid. 13389 func (s *PortMapping) Validate() error { 13390 invalidParams := request.ErrInvalidParams{Context: "PortMapping"} 13391 if s.Port == nil { 13392 invalidParams.Add(request.NewErrParamRequired("Port")) 13393 } 13394 if s.Port != nil && *s.Port < 1 { 13395 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 13396 } 13397 if s.Protocol == nil { 13398 invalidParams.Add(request.NewErrParamRequired("Protocol")) 13399 } 13400 13401 if invalidParams.Len() > 0 { 13402 return invalidParams 13403 } 13404 return nil 13405 } 13406 13407 // SetPort sets the Port field's value. 13408 func (s *PortMapping) SetPort(v int64) *PortMapping { 13409 s.Port = &v 13410 return s 13411 } 13412 13413 // SetProtocol sets the Protocol field's value. 13414 func (s *PortMapping) SetProtocol(v string) *PortMapping { 13415 s.Protocol = &v 13416 return s 13417 } 13418 13419 // An object representing the query parameter to match. 13420 type QueryParameterMatch struct { 13421 _ struct{} `type:"structure"` 13422 13423 // The exact query parameter to match on. 13424 Exact *string `locationName:"exact" type:"string"` 13425 } 13426 13427 // String returns the string representation. 13428 // 13429 // API parameter values that are decorated as "sensitive" in the API will not 13430 // be included in the string output. The member name will be present, but the 13431 // value will be replaced with "sensitive". 13432 func (s QueryParameterMatch) String() string { 13433 return awsutil.Prettify(s) 13434 } 13435 13436 // GoString returns the string representation. 13437 // 13438 // API parameter values that are decorated as "sensitive" in the API will not 13439 // be included in the string output. The member name will be present, but the 13440 // value will be replaced with "sensitive". 13441 func (s QueryParameterMatch) GoString() string { 13442 return s.String() 13443 } 13444 13445 // SetExact sets the Exact field's value. 13446 func (s *QueryParameterMatch) SetExact(v string) *QueryParameterMatch { 13447 s.Exact = &v 13448 return s 13449 } 13450 13451 // You can't delete the specified resource because it's in use or required by 13452 // another resource. 13453 type ResourceInUseException struct { 13454 _ struct{} `type:"structure"` 13455 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13456 13457 Message_ *string `locationName:"message" type:"string"` 13458 } 13459 13460 // String returns the string representation. 13461 // 13462 // API parameter values that are decorated as "sensitive" in the API will not 13463 // be included in the string output. The member name will be present, but the 13464 // value will be replaced with "sensitive". 13465 func (s ResourceInUseException) String() string { 13466 return awsutil.Prettify(s) 13467 } 13468 13469 // GoString returns the string representation. 13470 // 13471 // API parameter values that are decorated as "sensitive" in the API will not 13472 // be included in the string output. The member name will be present, but the 13473 // value will be replaced with "sensitive". 13474 func (s ResourceInUseException) GoString() string { 13475 return s.String() 13476 } 13477 13478 func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 13479 return &ResourceInUseException{ 13480 RespMetadata: v, 13481 } 13482 } 13483 13484 // Code returns the exception type name. 13485 func (s *ResourceInUseException) Code() string { 13486 return "ResourceInUseException" 13487 } 13488 13489 // Message returns the exception's message. 13490 func (s *ResourceInUseException) Message() string { 13491 if s.Message_ != nil { 13492 return *s.Message_ 13493 } 13494 return "" 13495 } 13496 13497 // OrigErr always returns nil, satisfies awserr.Error interface. 13498 func (s *ResourceInUseException) OrigErr() error { 13499 return nil 13500 } 13501 13502 func (s *ResourceInUseException) Error() string { 13503 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13504 } 13505 13506 // Status code returns the HTTP status code for the request's response error. 13507 func (s *ResourceInUseException) StatusCode() int { 13508 return s.RespMetadata.StatusCode 13509 } 13510 13511 // RequestID returns the service's response RequestID for request. 13512 func (s *ResourceInUseException) RequestID() string { 13513 return s.RespMetadata.RequestID 13514 } 13515 13516 // An object that represents metadata for a resource. 13517 type ResourceMetadata struct { 13518 _ struct{} `type:"structure"` 13519 13520 // The full Amazon Resource Name (ARN) for the resource. 13521 // 13522 // Arn is a required field 13523 Arn *string `locationName:"arn" type:"string" required:"true"` 13524 13525 // The Unix epoch timestamp in seconds for when the resource was created. 13526 // 13527 // CreatedAt is a required field 13528 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` 13529 13530 // The Unix epoch timestamp in seconds for when the resource was last updated. 13531 // 13532 // LastUpdatedAt is a required field 13533 LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` 13534 13535 // The AWS IAM account ID of the service mesh owner. If the account ID is not 13536 // your own, then it's the ID of the account that shared the mesh with your 13537 // account. For more information about mesh sharing, see Working with shared 13538 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 13539 // 13540 // MeshOwner is a required field 13541 MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` 13542 13543 // The AWS IAM account ID of the resource owner. If the account ID is not your 13544 // own, then it's the ID of the mesh owner or of another account that the mesh 13545 // is shared with. For more information about mesh sharing, see Working with 13546 // shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 13547 // 13548 // ResourceOwner is a required field 13549 ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` 13550 13551 // The unique identifier for the resource. 13552 // 13553 // Uid is a required field 13554 Uid *string `locationName:"uid" type:"string" required:"true"` 13555 13556 // The version of the resource. Resources are created at version 1, and this 13557 // version is incremented each time that they're updated. 13558 // 13559 // Version is a required field 13560 Version *int64 `locationName:"version" type:"long" required:"true"` 13561 } 13562 13563 // String returns the string representation. 13564 // 13565 // API parameter values that are decorated as "sensitive" in the API will not 13566 // be included in the string output. The member name will be present, but the 13567 // value will be replaced with "sensitive". 13568 func (s ResourceMetadata) String() string { 13569 return awsutil.Prettify(s) 13570 } 13571 13572 // GoString returns the string representation. 13573 // 13574 // API parameter values that are decorated as "sensitive" in the API will not 13575 // be included in the string output. The member name will be present, but the 13576 // value will be replaced with "sensitive". 13577 func (s ResourceMetadata) GoString() string { 13578 return s.String() 13579 } 13580 13581 // SetArn sets the Arn field's value. 13582 func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata { 13583 s.Arn = &v 13584 return s 13585 } 13586 13587 // SetCreatedAt sets the CreatedAt field's value. 13588 func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata { 13589 s.CreatedAt = &v 13590 return s 13591 } 13592 13593 // SetLastUpdatedAt sets the LastUpdatedAt field's value. 13594 func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata { 13595 s.LastUpdatedAt = &v 13596 return s 13597 } 13598 13599 // SetMeshOwner sets the MeshOwner field's value. 13600 func (s *ResourceMetadata) SetMeshOwner(v string) *ResourceMetadata { 13601 s.MeshOwner = &v 13602 return s 13603 } 13604 13605 // SetResourceOwner sets the ResourceOwner field's value. 13606 func (s *ResourceMetadata) SetResourceOwner(v string) *ResourceMetadata { 13607 s.ResourceOwner = &v 13608 return s 13609 } 13610 13611 // SetUid sets the Uid field's value. 13612 func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata { 13613 s.Uid = &v 13614 return s 13615 } 13616 13617 // SetVersion sets the Version field's value. 13618 func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata { 13619 s.Version = &v 13620 return s 13621 } 13622 13623 // An object that represents a route returned by a describe operation. 13624 type RouteData struct { 13625 _ struct{} `type:"structure"` 13626 13627 // The name of the service mesh that the route resides in. 13628 // 13629 // MeshName is a required field 13630 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 13631 13632 // The associated metadata for the route. 13633 // 13634 // Metadata is a required field 13635 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 13636 13637 // The name of the route. 13638 // 13639 // RouteName is a required field 13640 RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` 13641 13642 // The specifications of the route. 13643 // 13644 // Spec is a required field 13645 Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` 13646 13647 // The status of the route. 13648 // 13649 // Status is a required field 13650 Status *RouteStatus `locationName:"status" type:"structure" required:"true"` 13651 13652 // The virtual router that the route is associated with. 13653 // 13654 // VirtualRouterName is a required field 13655 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 13656 } 13657 13658 // String returns the string representation. 13659 // 13660 // API parameter values that are decorated as "sensitive" in the API will not 13661 // be included in the string output. The member name will be present, but the 13662 // value will be replaced with "sensitive". 13663 func (s RouteData) String() string { 13664 return awsutil.Prettify(s) 13665 } 13666 13667 // GoString returns the string representation. 13668 // 13669 // API parameter values that are decorated as "sensitive" in the API will not 13670 // be included in the string output. The member name will be present, but the 13671 // value will be replaced with "sensitive". 13672 func (s RouteData) GoString() string { 13673 return s.String() 13674 } 13675 13676 // SetMeshName sets the MeshName field's value. 13677 func (s *RouteData) SetMeshName(v string) *RouteData { 13678 s.MeshName = &v 13679 return s 13680 } 13681 13682 // SetMetadata sets the Metadata field's value. 13683 func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData { 13684 s.Metadata = v 13685 return s 13686 } 13687 13688 // SetRouteName sets the RouteName field's value. 13689 func (s *RouteData) SetRouteName(v string) *RouteData { 13690 s.RouteName = &v 13691 return s 13692 } 13693 13694 // SetSpec sets the Spec field's value. 13695 func (s *RouteData) SetSpec(v *RouteSpec) *RouteData { 13696 s.Spec = v 13697 return s 13698 } 13699 13700 // SetStatus sets the Status field's value. 13701 func (s *RouteData) SetStatus(v *RouteStatus) *RouteData { 13702 s.Status = v 13703 return s 13704 } 13705 13706 // SetVirtualRouterName sets the VirtualRouterName field's value. 13707 func (s *RouteData) SetVirtualRouterName(v string) *RouteData { 13708 s.VirtualRouterName = &v 13709 return s 13710 } 13711 13712 // An object that represents a route returned by a list operation. 13713 type RouteRef struct { 13714 _ struct{} `type:"structure"` 13715 13716 // The full Amazon Resource Name (ARN) for the route. 13717 // 13718 // Arn is a required field 13719 Arn *string `locationName:"arn" type:"string" required:"true"` 13720 13721 // The Unix epoch timestamp in seconds for when the resource was created. 13722 // 13723 // CreatedAt is a required field 13724 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` 13725 13726 // The Unix epoch timestamp in seconds for when the resource was last updated. 13727 // 13728 // LastUpdatedAt is a required field 13729 LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` 13730 13731 // The name of the service mesh that the route resides in. 13732 // 13733 // MeshName is a required field 13734 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 13735 13736 // The AWS IAM account ID of the service mesh owner. If the account ID is not 13737 // your own, then it's the ID of the account that shared the mesh with your 13738 // account. For more information about mesh sharing, see Working with shared 13739 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 13740 // 13741 // MeshOwner is a required field 13742 MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` 13743 13744 // The AWS IAM account ID of the resource owner. If the account ID is not your 13745 // own, then it's the ID of the mesh owner or of another account that the mesh 13746 // is shared with. For more information about mesh sharing, see Working with 13747 // shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 13748 // 13749 // ResourceOwner is a required field 13750 ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` 13751 13752 // The name of the route. 13753 // 13754 // RouteName is a required field 13755 RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` 13756 13757 // The version of the resource. Resources are created at version 1, and this 13758 // version is incremented each time that they're updated. 13759 // 13760 // Version is a required field 13761 Version *int64 `locationName:"version" type:"long" required:"true"` 13762 13763 // The virtual router that the route is associated with. 13764 // 13765 // VirtualRouterName is a required field 13766 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 13767 } 13768 13769 // String returns the string representation. 13770 // 13771 // API parameter values that are decorated as "sensitive" in the API will not 13772 // be included in the string output. The member name will be present, but the 13773 // value will be replaced with "sensitive". 13774 func (s RouteRef) String() string { 13775 return awsutil.Prettify(s) 13776 } 13777 13778 // GoString returns the string representation. 13779 // 13780 // API parameter values that are decorated as "sensitive" in the API will not 13781 // be included in the string output. The member name will be present, but the 13782 // value will be replaced with "sensitive". 13783 func (s RouteRef) GoString() string { 13784 return s.String() 13785 } 13786 13787 // SetArn sets the Arn field's value. 13788 func (s *RouteRef) SetArn(v string) *RouteRef { 13789 s.Arn = &v 13790 return s 13791 } 13792 13793 // SetCreatedAt sets the CreatedAt field's value. 13794 func (s *RouteRef) SetCreatedAt(v time.Time) *RouteRef { 13795 s.CreatedAt = &v 13796 return s 13797 } 13798 13799 // SetLastUpdatedAt sets the LastUpdatedAt field's value. 13800 func (s *RouteRef) SetLastUpdatedAt(v time.Time) *RouteRef { 13801 s.LastUpdatedAt = &v 13802 return s 13803 } 13804 13805 // SetMeshName sets the MeshName field's value. 13806 func (s *RouteRef) SetMeshName(v string) *RouteRef { 13807 s.MeshName = &v 13808 return s 13809 } 13810 13811 // SetMeshOwner sets the MeshOwner field's value. 13812 func (s *RouteRef) SetMeshOwner(v string) *RouteRef { 13813 s.MeshOwner = &v 13814 return s 13815 } 13816 13817 // SetResourceOwner sets the ResourceOwner field's value. 13818 func (s *RouteRef) SetResourceOwner(v string) *RouteRef { 13819 s.ResourceOwner = &v 13820 return s 13821 } 13822 13823 // SetRouteName sets the RouteName field's value. 13824 func (s *RouteRef) SetRouteName(v string) *RouteRef { 13825 s.RouteName = &v 13826 return s 13827 } 13828 13829 // SetVersion sets the Version field's value. 13830 func (s *RouteRef) SetVersion(v int64) *RouteRef { 13831 s.Version = &v 13832 return s 13833 } 13834 13835 // SetVirtualRouterName sets the VirtualRouterName field's value. 13836 func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef { 13837 s.VirtualRouterName = &v 13838 return s 13839 } 13840 13841 // An object that represents a route specification. Specify one route type. 13842 type RouteSpec struct { 13843 _ struct{} `type:"structure"` 13844 13845 // An object that represents the specification of a gRPC route. 13846 GrpcRoute *GrpcRoute `locationName:"grpcRoute" type:"structure"` 13847 13848 // An object that represents the specification of an HTTP/2 route. 13849 Http2Route *HttpRoute `locationName:"http2Route" type:"structure"` 13850 13851 // An object that represents the specification of an HTTP route. 13852 HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` 13853 13854 // The priority for the route. Routes are matched based on the specified value, 13855 // where 0 is the highest priority. 13856 Priority *int64 `locationName:"priority" type:"integer"` 13857 13858 // An object that represents the specification of a TCP route. 13859 TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"` 13860 } 13861 13862 // String returns the string representation. 13863 // 13864 // API parameter values that are decorated as "sensitive" in the API will not 13865 // be included in the string output. The member name will be present, but the 13866 // value will be replaced with "sensitive". 13867 func (s RouteSpec) String() string { 13868 return awsutil.Prettify(s) 13869 } 13870 13871 // GoString returns the string representation. 13872 // 13873 // API parameter values that are decorated as "sensitive" in the API will not 13874 // be included in the string output. The member name will be present, but the 13875 // value will be replaced with "sensitive". 13876 func (s RouteSpec) GoString() string { 13877 return s.String() 13878 } 13879 13880 // Validate inspects the fields of the type to determine if they are valid. 13881 func (s *RouteSpec) Validate() error { 13882 invalidParams := request.ErrInvalidParams{Context: "RouteSpec"} 13883 if s.GrpcRoute != nil { 13884 if err := s.GrpcRoute.Validate(); err != nil { 13885 invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) 13886 } 13887 } 13888 if s.Http2Route != nil { 13889 if err := s.Http2Route.Validate(); err != nil { 13890 invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) 13891 } 13892 } 13893 if s.HttpRoute != nil { 13894 if err := s.HttpRoute.Validate(); err != nil { 13895 invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) 13896 } 13897 } 13898 if s.TcpRoute != nil { 13899 if err := s.TcpRoute.Validate(); err != nil { 13900 invalidParams.AddNested("TcpRoute", err.(request.ErrInvalidParams)) 13901 } 13902 } 13903 13904 if invalidParams.Len() > 0 { 13905 return invalidParams 13906 } 13907 return nil 13908 } 13909 13910 // SetGrpcRoute sets the GrpcRoute field's value. 13911 func (s *RouteSpec) SetGrpcRoute(v *GrpcRoute) *RouteSpec { 13912 s.GrpcRoute = v 13913 return s 13914 } 13915 13916 // SetHttp2Route sets the Http2Route field's value. 13917 func (s *RouteSpec) SetHttp2Route(v *HttpRoute) *RouteSpec { 13918 s.Http2Route = v 13919 return s 13920 } 13921 13922 // SetHttpRoute sets the HttpRoute field's value. 13923 func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { 13924 s.HttpRoute = v 13925 return s 13926 } 13927 13928 // SetPriority sets the Priority field's value. 13929 func (s *RouteSpec) SetPriority(v int64) *RouteSpec { 13930 s.Priority = &v 13931 return s 13932 } 13933 13934 // SetTcpRoute sets the TcpRoute field's value. 13935 func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec { 13936 s.TcpRoute = v 13937 return s 13938 } 13939 13940 // An object that represents the current status of a route. 13941 type RouteStatus struct { 13942 _ struct{} `type:"structure"` 13943 13944 // The current status for the route. 13945 // 13946 // Status is a required field 13947 Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"` 13948 } 13949 13950 // String returns the string representation. 13951 // 13952 // API parameter values that are decorated as "sensitive" in the API will not 13953 // be included in the string output. The member name will be present, but the 13954 // value will be replaced with "sensitive". 13955 func (s RouteStatus) String() string { 13956 return awsutil.Prettify(s) 13957 } 13958 13959 // GoString returns the string representation. 13960 // 13961 // API parameter values that are decorated as "sensitive" in the API will not 13962 // be included in the string output. The member name will be present, but the 13963 // value will be replaced with "sensitive". 13964 func (s RouteStatus) GoString() string { 13965 return s.String() 13966 } 13967 13968 // SetStatus sets the Status field's value. 13969 func (s *RouteStatus) SetStatus(v string) *RouteStatus { 13970 s.Status = &v 13971 return s 13972 } 13973 13974 // An object that represents the service discovery information for a virtual 13975 // node. 13976 type ServiceDiscovery struct { 13977 _ struct{} `type:"structure"` 13978 13979 // Specifies any Cloud Map information for the virtual node. 13980 AwsCloudMap *AwsCloudMapServiceDiscovery `locationName:"awsCloudMap" type:"structure"` 13981 13982 // Specifies the DNS information for the virtual node. 13983 Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"` 13984 } 13985 13986 // String returns the string representation. 13987 // 13988 // API parameter values that are decorated as "sensitive" in the API will not 13989 // be included in the string output. The member name will be present, but the 13990 // value will be replaced with "sensitive". 13991 func (s ServiceDiscovery) String() string { 13992 return awsutil.Prettify(s) 13993 } 13994 13995 // GoString returns the string representation. 13996 // 13997 // API parameter values that are decorated as "sensitive" in the API will not 13998 // be included in the string output. The member name will be present, but the 13999 // value will be replaced with "sensitive". 14000 func (s ServiceDiscovery) GoString() string { 14001 return s.String() 14002 } 14003 14004 // Validate inspects the fields of the type to determine if they are valid. 14005 func (s *ServiceDiscovery) Validate() error { 14006 invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"} 14007 if s.AwsCloudMap != nil { 14008 if err := s.AwsCloudMap.Validate(); err != nil { 14009 invalidParams.AddNested("AwsCloudMap", err.(request.ErrInvalidParams)) 14010 } 14011 } 14012 if s.Dns != nil { 14013 if err := s.Dns.Validate(); err != nil { 14014 invalidParams.AddNested("Dns", err.(request.ErrInvalidParams)) 14015 } 14016 } 14017 14018 if invalidParams.Len() > 0 { 14019 return invalidParams 14020 } 14021 return nil 14022 } 14023 14024 // SetAwsCloudMap sets the AwsCloudMap field's value. 14025 func (s *ServiceDiscovery) SetAwsCloudMap(v *AwsCloudMapServiceDiscovery) *ServiceDiscovery { 14026 s.AwsCloudMap = v 14027 return s 14028 } 14029 14030 // SetDns sets the Dns field's value. 14031 func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery { 14032 s.Dns = v 14033 return s 14034 } 14035 14036 // The request has failed due to a temporary failure of the service. 14037 type ServiceUnavailableException struct { 14038 _ struct{} `type:"structure"` 14039 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14040 14041 Message_ *string `locationName:"message" type:"string"` 14042 } 14043 14044 // String returns the string representation. 14045 // 14046 // API parameter values that are decorated as "sensitive" in the API will not 14047 // be included in the string output. The member name will be present, but the 14048 // value will be replaced with "sensitive". 14049 func (s ServiceUnavailableException) String() string { 14050 return awsutil.Prettify(s) 14051 } 14052 14053 // GoString returns the string representation. 14054 // 14055 // API parameter values that are decorated as "sensitive" in the API will not 14056 // be included in the string output. The member name will be present, but the 14057 // value will be replaced with "sensitive". 14058 func (s ServiceUnavailableException) GoString() string { 14059 return s.String() 14060 } 14061 14062 func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { 14063 return &ServiceUnavailableException{ 14064 RespMetadata: v, 14065 } 14066 } 14067 14068 // Code returns the exception type name. 14069 func (s *ServiceUnavailableException) Code() string { 14070 return "ServiceUnavailableException" 14071 } 14072 14073 // Message returns the exception's message. 14074 func (s *ServiceUnavailableException) Message() string { 14075 if s.Message_ != nil { 14076 return *s.Message_ 14077 } 14078 return "" 14079 } 14080 14081 // OrigErr always returns nil, satisfies awserr.Error interface. 14082 func (s *ServiceUnavailableException) OrigErr() error { 14083 return nil 14084 } 14085 14086 func (s *ServiceUnavailableException) Error() string { 14087 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14088 } 14089 14090 // Status code returns the HTTP status code for the request's response error. 14091 func (s *ServiceUnavailableException) StatusCode() int { 14092 return s.RespMetadata.StatusCode 14093 } 14094 14095 // RequestID returns the service's response RequestID for request. 14096 func (s *ServiceUnavailableException) RequestID() string { 14097 return s.RespMetadata.RequestID 14098 } 14099 14100 // An object that represents the methods by which a subject alternative name 14101 // on a peer Transport Layer Security (TLS) certificate can be matched. 14102 type SubjectAlternativeNameMatchers struct { 14103 _ struct{} `type:"structure"` 14104 14105 // The values sent must match the specified values exactly. 14106 // 14107 // Exact is a required field 14108 Exact []*string `locationName:"exact" type:"list" required:"true"` 14109 } 14110 14111 // String returns the string representation. 14112 // 14113 // API parameter values that are decorated as "sensitive" in the API will not 14114 // be included in the string output. The member name will be present, but the 14115 // value will be replaced with "sensitive". 14116 func (s SubjectAlternativeNameMatchers) String() string { 14117 return awsutil.Prettify(s) 14118 } 14119 14120 // GoString returns the string representation. 14121 // 14122 // API parameter values that are decorated as "sensitive" in the API will not 14123 // be included in the string output. The member name will be present, but the 14124 // value will be replaced with "sensitive". 14125 func (s SubjectAlternativeNameMatchers) GoString() string { 14126 return s.String() 14127 } 14128 14129 // Validate inspects the fields of the type to determine if they are valid. 14130 func (s *SubjectAlternativeNameMatchers) Validate() error { 14131 invalidParams := request.ErrInvalidParams{Context: "SubjectAlternativeNameMatchers"} 14132 if s.Exact == nil { 14133 invalidParams.Add(request.NewErrParamRequired("Exact")) 14134 } 14135 14136 if invalidParams.Len() > 0 { 14137 return invalidParams 14138 } 14139 return nil 14140 } 14141 14142 // SetExact sets the Exact field's value. 14143 func (s *SubjectAlternativeNameMatchers) SetExact(v []*string) *SubjectAlternativeNameMatchers { 14144 s.Exact = v 14145 return s 14146 } 14147 14148 // An object that represents the subject alternative names secured by the certificate. 14149 type SubjectAlternativeNames struct { 14150 _ struct{} `type:"structure"` 14151 14152 // An object that represents the criteria for determining a SANs match. 14153 // 14154 // Match is a required field 14155 Match *SubjectAlternativeNameMatchers `locationName:"match" type:"structure" required:"true"` 14156 } 14157 14158 // String returns the string representation. 14159 // 14160 // API parameter values that are decorated as "sensitive" in the API will not 14161 // be included in the string output. The member name will be present, but the 14162 // value will be replaced with "sensitive". 14163 func (s SubjectAlternativeNames) String() string { 14164 return awsutil.Prettify(s) 14165 } 14166 14167 // GoString returns the string representation. 14168 // 14169 // API parameter values that are decorated as "sensitive" in the API will not 14170 // be included in the string output. The member name will be present, but the 14171 // value will be replaced with "sensitive". 14172 func (s SubjectAlternativeNames) GoString() string { 14173 return s.String() 14174 } 14175 14176 // Validate inspects the fields of the type to determine if they are valid. 14177 func (s *SubjectAlternativeNames) Validate() error { 14178 invalidParams := request.ErrInvalidParams{Context: "SubjectAlternativeNames"} 14179 if s.Match == nil { 14180 invalidParams.Add(request.NewErrParamRequired("Match")) 14181 } 14182 if s.Match != nil { 14183 if err := s.Match.Validate(); err != nil { 14184 invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) 14185 } 14186 } 14187 14188 if invalidParams.Len() > 0 { 14189 return invalidParams 14190 } 14191 return nil 14192 } 14193 14194 // SetMatch sets the Match field's value. 14195 func (s *SubjectAlternativeNames) SetMatch(v *SubjectAlternativeNameMatchers) *SubjectAlternativeNames { 14196 s.Match = v 14197 return s 14198 } 14199 14200 // Optional metadata that you apply to a resource to assist with categorization 14201 // and organization. Each tag consists of a key and an optional value, both 14202 // of which you define. Tag keys can have a maximum character length of 128 14203 // characters, and tag values can have a maximum length of 256 characters. 14204 type TagRef struct { 14205 _ struct{} `type:"structure"` 14206 14207 // One part of a key-value pair that make up a tag. A key is a general label 14208 // that acts like a category for more specific tag values. 14209 // 14210 // Key is a required field 14211 Key *string `locationName:"key" min:"1" type:"string" required:"true"` 14212 14213 // The optional part of a key-value pair that make up a tag. A value acts as 14214 // a descriptor within a tag category (key). 14215 // 14216 // Value is a required field 14217 Value *string `locationName:"value" type:"string" required:"true"` 14218 } 14219 14220 // String returns the string representation. 14221 // 14222 // API parameter values that are decorated as "sensitive" in the API will not 14223 // be included in the string output. The member name will be present, but the 14224 // value will be replaced with "sensitive". 14225 func (s TagRef) String() string { 14226 return awsutil.Prettify(s) 14227 } 14228 14229 // GoString returns the string representation. 14230 // 14231 // API parameter values that are decorated as "sensitive" in the API will not 14232 // be included in the string output. The member name will be present, but the 14233 // value will be replaced with "sensitive". 14234 func (s TagRef) GoString() string { 14235 return s.String() 14236 } 14237 14238 // Validate inspects the fields of the type to determine if they are valid. 14239 func (s *TagRef) Validate() error { 14240 invalidParams := request.ErrInvalidParams{Context: "TagRef"} 14241 if s.Key == nil { 14242 invalidParams.Add(request.NewErrParamRequired("Key")) 14243 } 14244 if s.Key != nil && len(*s.Key) < 1 { 14245 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 14246 } 14247 if s.Value == nil { 14248 invalidParams.Add(request.NewErrParamRequired("Value")) 14249 } 14250 14251 if invalidParams.Len() > 0 { 14252 return invalidParams 14253 } 14254 return nil 14255 } 14256 14257 // SetKey sets the Key field's value. 14258 func (s *TagRef) SetKey(v string) *TagRef { 14259 s.Key = &v 14260 return s 14261 } 14262 14263 // SetValue sets the Value field's value. 14264 func (s *TagRef) SetValue(v string) *TagRef { 14265 s.Value = &v 14266 return s 14267 } 14268 14269 type TagResourceInput struct { 14270 _ struct{} `type:"structure"` 14271 14272 // The Amazon Resource Name (ARN) of the resource to add tags to. 14273 // 14274 // ResourceArn is a required field 14275 ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` 14276 14277 // The tags to add to the resource. A tag is an array of key-value pairs. Tag 14278 // keys can have a maximum character length of 128 characters, and tag values 14279 // can have a maximum length of 256 characters. 14280 // 14281 // Tags is a required field 14282 Tags []*TagRef `locationName:"tags" type:"list" required:"true"` 14283 } 14284 14285 // String returns the string representation. 14286 // 14287 // API parameter values that are decorated as "sensitive" in the API will not 14288 // be included in the string output. The member name will be present, but the 14289 // value will be replaced with "sensitive". 14290 func (s TagResourceInput) String() string { 14291 return awsutil.Prettify(s) 14292 } 14293 14294 // GoString returns the string representation. 14295 // 14296 // API parameter values that are decorated as "sensitive" in the API will not 14297 // be included in the string output. The member name will be present, but the 14298 // value will be replaced with "sensitive". 14299 func (s TagResourceInput) GoString() string { 14300 return s.String() 14301 } 14302 14303 // Validate inspects the fields of the type to determine if they are valid. 14304 func (s *TagResourceInput) Validate() error { 14305 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 14306 if s.ResourceArn == nil { 14307 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 14308 } 14309 if s.Tags == nil { 14310 invalidParams.Add(request.NewErrParamRequired("Tags")) 14311 } 14312 if s.Tags != nil { 14313 for i, v := range s.Tags { 14314 if v == nil { 14315 continue 14316 } 14317 if err := v.Validate(); err != nil { 14318 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 14319 } 14320 } 14321 } 14322 14323 if invalidParams.Len() > 0 { 14324 return invalidParams 14325 } 14326 return nil 14327 } 14328 14329 // SetResourceArn sets the ResourceArn field's value. 14330 func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 14331 s.ResourceArn = &v 14332 return s 14333 } 14334 14335 // SetTags sets the Tags field's value. 14336 func (s *TagResourceInput) SetTags(v []*TagRef) *TagResourceInput { 14337 s.Tags = v 14338 return s 14339 } 14340 14341 type TagResourceOutput struct { 14342 _ struct{} `type:"structure" nopayload:"true"` 14343 } 14344 14345 // String returns the string representation. 14346 // 14347 // API parameter values that are decorated as "sensitive" in the API will not 14348 // be included in the string output. The member name will be present, but the 14349 // value will be replaced with "sensitive". 14350 func (s TagResourceOutput) String() string { 14351 return awsutil.Prettify(s) 14352 } 14353 14354 // GoString returns the string representation. 14355 // 14356 // API parameter values that are decorated as "sensitive" in the API will not 14357 // be included in the string output. The member name will be present, but the 14358 // value will be replaced with "sensitive". 14359 func (s TagResourceOutput) GoString() string { 14360 return s.String() 14361 } 14362 14363 // An object that represents a TCP route type. 14364 type TcpRoute struct { 14365 _ struct{} `type:"structure"` 14366 14367 // The action to take if a match is determined. 14368 // 14369 // Action is a required field 14370 Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"` 14371 14372 // An object that represents types of timeouts. 14373 Timeout *TcpTimeout `locationName:"timeout" type:"structure"` 14374 } 14375 14376 // String returns the string representation. 14377 // 14378 // API parameter values that are decorated as "sensitive" in the API will not 14379 // be included in the string output. The member name will be present, but the 14380 // value will be replaced with "sensitive". 14381 func (s TcpRoute) String() string { 14382 return awsutil.Prettify(s) 14383 } 14384 14385 // GoString returns the string representation. 14386 // 14387 // API parameter values that are decorated as "sensitive" in the API will not 14388 // be included in the string output. The member name will be present, but the 14389 // value will be replaced with "sensitive". 14390 func (s TcpRoute) GoString() string { 14391 return s.String() 14392 } 14393 14394 // Validate inspects the fields of the type to determine if they are valid. 14395 func (s *TcpRoute) Validate() error { 14396 invalidParams := request.ErrInvalidParams{Context: "TcpRoute"} 14397 if s.Action == nil { 14398 invalidParams.Add(request.NewErrParamRequired("Action")) 14399 } 14400 if s.Action != nil { 14401 if err := s.Action.Validate(); err != nil { 14402 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 14403 } 14404 } 14405 14406 if invalidParams.Len() > 0 { 14407 return invalidParams 14408 } 14409 return nil 14410 } 14411 14412 // SetAction sets the Action field's value. 14413 func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute { 14414 s.Action = v 14415 return s 14416 } 14417 14418 // SetTimeout sets the Timeout field's value. 14419 func (s *TcpRoute) SetTimeout(v *TcpTimeout) *TcpRoute { 14420 s.Timeout = v 14421 return s 14422 } 14423 14424 // An object that represents the action to take if a match is determined. 14425 type TcpRouteAction struct { 14426 _ struct{} `type:"structure"` 14427 14428 // An object that represents the targets that traffic is routed to when a request 14429 // matches the route. 14430 // 14431 // WeightedTargets is a required field 14432 WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` 14433 } 14434 14435 // String returns the string representation. 14436 // 14437 // API parameter values that are decorated as "sensitive" in the API will not 14438 // be included in the string output. The member name will be present, but the 14439 // value will be replaced with "sensitive". 14440 func (s TcpRouteAction) String() string { 14441 return awsutil.Prettify(s) 14442 } 14443 14444 // GoString returns the string representation. 14445 // 14446 // API parameter values that are decorated as "sensitive" in the API will not 14447 // be included in the string output. The member name will be present, but the 14448 // value will be replaced with "sensitive". 14449 func (s TcpRouteAction) GoString() string { 14450 return s.String() 14451 } 14452 14453 // Validate inspects the fields of the type to determine if they are valid. 14454 func (s *TcpRouteAction) Validate() error { 14455 invalidParams := request.ErrInvalidParams{Context: "TcpRouteAction"} 14456 if s.WeightedTargets == nil { 14457 invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) 14458 } 14459 if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { 14460 invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) 14461 } 14462 if s.WeightedTargets != nil { 14463 for i, v := range s.WeightedTargets { 14464 if v == nil { 14465 continue 14466 } 14467 if err := v.Validate(); err != nil { 14468 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) 14469 } 14470 } 14471 } 14472 14473 if invalidParams.Len() > 0 { 14474 return invalidParams 14475 } 14476 return nil 14477 } 14478 14479 // SetWeightedTargets sets the WeightedTargets field's value. 14480 func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction { 14481 s.WeightedTargets = v 14482 return s 14483 } 14484 14485 // An object that represents types of timeouts. 14486 type TcpTimeout struct { 14487 _ struct{} `type:"structure"` 14488 14489 // An object that represents an idle timeout. An idle timeout bounds the amount 14490 // of time that a connection may be idle. The default value is none. 14491 Idle *Duration `locationName:"idle" type:"structure"` 14492 } 14493 14494 // String returns the string representation. 14495 // 14496 // API parameter values that are decorated as "sensitive" in the API will not 14497 // be included in the string output. The member name will be present, but the 14498 // value will be replaced with "sensitive". 14499 func (s TcpTimeout) String() string { 14500 return awsutil.Prettify(s) 14501 } 14502 14503 // GoString returns the string representation. 14504 // 14505 // API parameter values that are decorated as "sensitive" in the API will not 14506 // be included in the string output. The member name will be present, but the 14507 // value will be replaced with "sensitive". 14508 func (s TcpTimeout) GoString() string { 14509 return s.String() 14510 } 14511 14512 // SetIdle sets the Idle field's value. 14513 func (s *TcpTimeout) SetIdle(v *Duration) *TcpTimeout { 14514 s.Idle = v 14515 return s 14516 } 14517 14518 // An object that represents how the proxy will validate its peer during Transport 14519 // Layer Security (TLS) negotiation. 14520 type TlsValidationContext struct { 14521 _ struct{} `type:"structure"` 14522 14523 // A reference to an object that represents the SANs for a Transport Layer Security 14524 // (TLS) validation context. 14525 SubjectAlternativeNames *SubjectAlternativeNames `locationName:"subjectAlternativeNames" type:"structure"` 14526 14527 // A reference to where to retrieve the trust chain when validating a peer’s 14528 // Transport Layer Security (TLS) certificate. 14529 // 14530 // Trust is a required field 14531 Trust *TlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"` 14532 } 14533 14534 // String returns the string representation. 14535 // 14536 // API parameter values that are decorated as "sensitive" in the API will not 14537 // be included in the string output. The member name will be present, but the 14538 // value will be replaced with "sensitive". 14539 func (s TlsValidationContext) String() string { 14540 return awsutil.Prettify(s) 14541 } 14542 14543 // GoString returns the string representation. 14544 // 14545 // API parameter values that are decorated as "sensitive" in the API will not 14546 // be included in the string output. The member name will be present, but the 14547 // value will be replaced with "sensitive". 14548 func (s TlsValidationContext) GoString() string { 14549 return s.String() 14550 } 14551 14552 // Validate inspects the fields of the type to determine if they are valid. 14553 func (s *TlsValidationContext) Validate() error { 14554 invalidParams := request.ErrInvalidParams{Context: "TlsValidationContext"} 14555 if s.Trust == nil { 14556 invalidParams.Add(request.NewErrParamRequired("Trust")) 14557 } 14558 if s.SubjectAlternativeNames != nil { 14559 if err := s.SubjectAlternativeNames.Validate(); err != nil { 14560 invalidParams.AddNested("SubjectAlternativeNames", err.(request.ErrInvalidParams)) 14561 } 14562 } 14563 if s.Trust != nil { 14564 if err := s.Trust.Validate(); err != nil { 14565 invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) 14566 } 14567 } 14568 14569 if invalidParams.Len() > 0 { 14570 return invalidParams 14571 } 14572 return nil 14573 } 14574 14575 // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. 14576 func (s *TlsValidationContext) SetSubjectAlternativeNames(v *SubjectAlternativeNames) *TlsValidationContext { 14577 s.SubjectAlternativeNames = v 14578 return s 14579 } 14580 14581 // SetTrust sets the Trust field's value. 14582 func (s *TlsValidationContext) SetTrust(v *TlsValidationContextTrust) *TlsValidationContext { 14583 s.Trust = v 14584 return s 14585 } 14586 14587 // An object that represents a Transport Layer Security (TLS) validation context 14588 // trust for an Certificate Manager certificate. 14589 type TlsValidationContextAcmTrust struct { 14590 _ struct{} `type:"structure"` 14591 14592 // One or more ACM Amazon Resource Name (ARN)s. 14593 // 14594 // CertificateAuthorityArns is a required field 14595 CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" min:"1" type:"list" required:"true"` 14596 } 14597 14598 // String returns the string representation. 14599 // 14600 // API parameter values that are decorated as "sensitive" in the API will not 14601 // be included in the string output. The member name will be present, but the 14602 // value will be replaced with "sensitive". 14603 func (s TlsValidationContextAcmTrust) String() string { 14604 return awsutil.Prettify(s) 14605 } 14606 14607 // GoString returns the string representation. 14608 // 14609 // API parameter values that are decorated as "sensitive" in the API will not 14610 // be included in the string output. The member name will be present, but the 14611 // value will be replaced with "sensitive". 14612 func (s TlsValidationContextAcmTrust) GoString() string { 14613 return s.String() 14614 } 14615 14616 // Validate inspects the fields of the type to determine if they are valid. 14617 func (s *TlsValidationContextAcmTrust) Validate() error { 14618 invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextAcmTrust"} 14619 if s.CertificateAuthorityArns == nil { 14620 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns")) 14621 } 14622 if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 { 14623 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1)) 14624 } 14625 14626 if invalidParams.Len() > 0 { 14627 return invalidParams 14628 } 14629 return nil 14630 } 14631 14632 // SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value. 14633 func (s *TlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *TlsValidationContextAcmTrust { 14634 s.CertificateAuthorityArns = v 14635 return s 14636 } 14637 14638 // An object that represents a Transport Layer Security (TLS) validation context 14639 // trust for a local file. 14640 type TlsValidationContextFileTrust struct { 14641 _ struct{} `type:"structure"` 14642 14643 // The certificate trust chain for a certificate stored on the file system of 14644 // the virtual node that the proxy is running on. 14645 // 14646 // CertificateChain is a required field 14647 CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` 14648 } 14649 14650 // String returns the string representation. 14651 // 14652 // API parameter values that are decorated as "sensitive" in the API will not 14653 // be included in the string output. The member name will be present, but the 14654 // value will be replaced with "sensitive". 14655 func (s TlsValidationContextFileTrust) String() string { 14656 return awsutil.Prettify(s) 14657 } 14658 14659 // GoString returns the string representation. 14660 // 14661 // API parameter values that are decorated as "sensitive" in the API will not 14662 // be included in the string output. The member name will be present, but the 14663 // value will be replaced with "sensitive". 14664 func (s TlsValidationContextFileTrust) GoString() string { 14665 return s.String() 14666 } 14667 14668 // Validate inspects the fields of the type to determine if they are valid. 14669 func (s *TlsValidationContextFileTrust) Validate() error { 14670 invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextFileTrust"} 14671 if s.CertificateChain == nil { 14672 invalidParams.Add(request.NewErrParamRequired("CertificateChain")) 14673 } 14674 if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { 14675 invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) 14676 } 14677 14678 if invalidParams.Len() > 0 { 14679 return invalidParams 14680 } 14681 return nil 14682 } 14683 14684 // SetCertificateChain sets the CertificateChain field's value. 14685 func (s *TlsValidationContextFileTrust) SetCertificateChain(v string) *TlsValidationContextFileTrust { 14686 s.CertificateChain = &v 14687 return s 14688 } 14689 14690 // An object that represents a Transport Layer Security (TLS) Secret Discovery 14691 // Service validation context trust. The proxy must be configured with a local 14692 // SDS provider via a Unix Domain Socket. See App Mesh TLS documentation (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) 14693 // for more info. 14694 type TlsValidationContextSdsTrust struct { 14695 _ struct{} `type:"structure"` 14696 14697 // A reference to an object that represents the name of the secret for a Transport 14698 // Layer Security (TLS) Secret Discovery Service validation context trust. 14699 // 14700 // SecretName is a required field 14701 SecretName *string `locationName:"secretName" type:"string" required:"true"` 14702 } 14703 14704 // String returns the string representation. 14705 // 14706 // API parameter values that are decorated as "sensitive" in the API will not 14707 // be included in the string output. The member name will be present, but the 14708 // value will be replaced with "sensitive". 14709 func (s TlsValidationContextSdsTrust) String() string { 14710 return awsutil.Prettify(s) 14711 } 14712 14713 // GoString returns the string representation. 14714 // 14715 // API parameter values that are decorated as "sensitive" in the API will not 14716 // be included in the string output. The member name will be present, but the 14717 // value will be replaced with "sensitive". 14718 func (s TlsValidationContextSdsTrust) GoString() string { 14719 return s.String() 14720 } 14721 14722 // Validate inspects the fields of the type to determine if they are valid. 14723 func (s *TlsValidationContextSdsTrust) Validate() error { 14724 invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextSdsTrust"} 14725 if s.SecretName == nil { 14726 invalidParams.Add(request.NewErrParamRequired("SecretName")) 14727 } 14728 14729 if invalidParams.Len() > 0 { 14730 return invalidParams 14731 } 14732 return nil 14733 } 14734 14735 // SetSecretName sets the SecretName field's value. 14736 func (s *TlsValidationContextSdsTrust) SetSecretName(v string) *TlsValidationContextSdsTrust { 14737 s.SecretName = &v 14738 return s 14739 } 14740 14741 // An object that represents a Transport Layer Security (TLS) validation context 14742 // trust. 14743 type TlsValidationContextTrust struct { 14744 _ struct{} `type:"structure"` 14745 14746 // A reference to an object that represents a Transport Layer Security (TLS) 14747 // validation context trust for an Certificate Manager certificate. 14748 Acm *TlsValidationContextAcmTrust `locationName:"acm" type:"structure"` 14749 14750 // An object that represents a Transport Layer Security (TLS) validation context 14751 // trust for a local file. 14752 File *TlsValidationContextFileTrust `locationName:"file" type:"structure"` 14753 14754 // A reference to an object that represents a Transport Layer Security (TLS) 14755 // Secret Discovery Service validation context trust. 14756 Sds *TlsValidationContextSdsTrust `locationName:"sds" type:"structure"` 14757 } 14758 14759 // String returns the string representation. 14760 // 14761 // API parameter values that are decorated as "sensitive" in the API will not 14762 // be included in the string output. The member name will be present, but the 14763 // value will be replaced with "sensitive". 14764 func (s TlsValidationContextTrust) String() string { 14765 return awsutil.Prettify(s) 14766 } 14767 14768 // GoString returns the string representation. 14769 // 14770 // API parameter values that are decorated as "sensitive" in the API will not 14771 // be included in the string output. The member name will be present, but the 14772 // value will be replaced with "sensitive". 14773 func (s TlsValidationContextTrust) GoString() string { 14774 return s.String() 14775 } 14776 14777 // Validate inspects the fields of the type to determine if they are valid. 14778 func (s *TlsValidationContextTrust) Validate() error { 14779 invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextTrust"} 14780 if s.Acm != nil { 14781 if err := s.Acm.Validate(); err != nil { 14782 invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) 14783 } 14784 } 14785 if s.File != nil { 14786 if err := s.File.Validate(); err != nil { 14787 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 14788 } 14789 } 14790 if s.Sds != nil { 14791 if err := s.Sds.Validate(); err != nil { 14792 invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) 14793 } 14794 } 14795 14796 if invalidParams.Len() > 0 { 14797 return invalidParams 14798 } 14799 return nil 14800 } 14801 14802 // SetAcm sets the Acm field's value. 14803 func (s *TlsValidationContextTrust) SetAcm(v *TlsValidationContextAcmTrust) *TlsValidationContextTrust { 14804 s.Acm = v 14805 return s 14806 } 14807 14808 // SetFile sets the File field's value. 14809 func (s *TlsValidationContextTrust) SetFile(v *TlsValidationContextFileTrust) *TlsValidationContextTrust { 14810 s.File = v 14811 return s 14812 } 14813 14814 // SetSds sets the Sds field's value. 14815 func (s *TlsValidationContextTrust) SetSds(v *TlsValidationContextSdsTrust) *TlsValidationContextTrust { 14816 s.Sds = v 14817 return s 14818 } 14819 14820 // The maximum request rate permitted by the App Mesh APIs has been exceeded 14821 // for your account. For best results, use an increasing or variable sleep interval 14822 // between requests. 14823 type TooManyRequestsException struct { 14824 _ struct{} `type:"structure"` 14825 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14826 14827 Message_ *string `locationName:"message" type:"string"` 14828 } 14829 14830 // String returns the string representation. 14831 // 14832 // API parameter values that are decorated as "sensitive" in the API will not 14833 // be included in the string output. The member name will be present, but the 14834 // value will be replaced with "sensitive". 14835 func (s TooManyRequestsException) String() string { 14836 return awsutil.Prettify(s) 14837 } 14838 14839 // GoString returns the string representation. 14840 // 14841 // API parameter values that are decorated as "sensitive" in the API will not 14842 // be included in the string output. The member name will be present, but the 14843 // value will be replaced with "sensitive". 14844 func (s TooManyRequestsException) GoString() string { 14845 return s.String() 14846 } 14847 14848 func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { 14849 return &TooManyRequestsException{ 14850 RespMetadata: v, 14851 } 14852 } 14853 14854 // Code returns the exception type name. 14855 func (s *TooManyRequestsException) Code() string { 14856 return "TooManyRequestsException" 14857 } 14858 14859 // Message returns the exception's message. 14860 func (s *TooManyRequestsException) Message() string { 14861 if s.Message_ != nil { 14862 return *s.Message_ 14863 } 14864 return "" 14865 } 14866 14867 // OrigErr always returns nil, satisfies awserr.Error interface. 14868 func (s *TooManyRequestsException) OrigErr() error { 14869 return nil 14870 } 14871 14872 func (s *TooManyRequestsException) Error() string { 14873 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14874 } 14875 14876 // Status code returns the HTTP status code for the request's response error. 14877 func (s *TooManyRequestsException) StatusCode() int { 14878 return s.RespMetadata.StatusCode 14879 } 14880 14881 // RequestID returns the service's response RequestID for request. 14882 func (s *TooManyRequestsException) RequestID() string { 14883 return s.RespMetadata.RequestID 14884 } 14885 14886 // The request exceeds the maximum allowed number of tags allowed per resource. 14887 // The current limit is 50 user tags per resource. You must reduce the number 14888 // of tags in the request. None of the tags in this request were applied. 14889 type TooManyTagsException struct { 14890 _ struct{} `type:"structure"` 14891 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14892 14893 Message_ *string `locationName:"message" type:"string"` 14894 } 14895 14896 // String returns the string representation. 14897 // 14898 // API parameter values that are decorated as "sensitive" in the API will not 14899 // be included in the string output. The member name will be present, but the 14900 // value will be replaced with "sensitive". 14901 func (s TooManyTagsException) String() string { 14902 return awsutil.Prettify(s) 14903 } 14904 14905 // GoString returns the string representation. 14906 // 14907 // API parameter values that are decorated as "sensitive" in the API will not 14908 // be included in the string output. The member name will be present, but the 14909 // value will be replaced with "sensitive". 14910 func (s TooManyTagsException) GoString() string { 14911 return s.String() 14912 } 14913 14914 func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { 14915 return &TooManyTagsException{ 14916 RespMetadata: v, 14917 } 14918 } 14919 14920 // Code returns the exception type name. 14921 func (s *TooManyTagsException) Code() string { 14922 return "TooManyTagsException" 14923 } 14924 14925 // Message returns the exception's message. 14926 func (s *TooManyTagsException) Message() string { 14927 if s.Message_ != nil { 14928 return *s.Message_ 14929 } 14930 return "" 14931 } 14932 14933 // OrigErr always returns nil, satisfies awserr.Error interface. 14934 func (s *TooManyTagsException) OrigErr() error { 14935 return nil 14936 } 14937 14938 func (s *TooManyTagsException) Error() string { 14939 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14940 } 14941 14942 // Status code returns the HTTP status code for the request's response error. 14943 func (s *TooManyTagsException) StatusCode() int { 14944 return s.RespMetadata.StatusCode 14945 } 14946 14947 // RequestID returns the service's response RequestID for request. 14948 func (s *TooManyTagsException) RequestID() string { 14949 return s.RespMetadata.RequestID 14950 } 14951 14952 type UntagResourceInput struct { 14953 _ struct{} `type:"structure"` 14954 14955 // The Amazon Resource Name (ARN) of the resource to delete tags from. 14956 // 14957 // ResourceArn is a required field 14958 ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` 14959 14960 // The keys of the tags to be removed. 14961 // 14962 // TagKeys is a required field 14963 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 14964 } 14965 14966 // String returns the string representation. 14967 // 14968 // API parameter values that are decorated as "sensitive" in the API will not 14969 // be included in the string output. The member name will be present, but the 14970 // value will be replaced with "sensitive". 14971 func (s UntagResourceInput) String() string { 14972 return awsutil.Prettify(s) 14973 } 14974 14975 // GoString returns the string representation. 14976 // 14977 // API parameter values that are decorated as "sensitive" in the API will not 14978 // be included in the string output. The member name will be present, but the 14979 // value will be replaced with "sensitive". 14980 func (s UntagResourceInput) GoString() string { 14981 return s.String() 14982 } 14983 14984 // Validate inspects the fields of the type to determine if they are valid. 14985 func (s *UntagResourceInput) Validate() error { 14986 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 14987 if s.ResourceArn == nil { 14988 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 14989 } 14990 if s.TagKeys == nil { 14991 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 14992 } 14993 14994 if invalidParams.Len() > 0 { 14995 return invalidParams 14996 } 14997 return nil 14998 } 14999 15000 // SetResourceArn sets the ResourceArn field's value. 15001 func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 15002 s.ResourceArn = &v 15003 return s 15004 } 15005 15006 // SetTagKeys sets the TagKeys field's value. 15007 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 15008 s.TagKeys = v 15009 return s 15010 } 15011 15012 type UntagResourceOutput struct { 15013 _ struct{} `type:"structure" nopayload:"true"` 15014 } 15015 15016 // String returns the string representation. 15017 // 15018 // API parameter values that are decorated as "sensitive" in the API will not 15019 // be included in the string output. The member name will be present, but the 15020 // value will be replaced with "sensitive". 15021 func (s UntagResourceOutput) String() string { 15022 return awsutil.Prettify(s) 15023 } 15024 15025 // GoString returns the string representation. 15026 // 15027 // API parameter values that are decorated as "sensitive" in the API will not 15028 // be included in the string output. The member name will be present, but the 15029 // value will be replaced with "sensitive". 15030 func (s UntagResourceOutput) GoString() string { 15031 return s.String() 15032 } 15033 15034 type UpdateGatewayRouteInput struct { 15035 _ struct{} `type:"structure"` 15036 15037 // Unique, case-sensitive identifier that you provide to ensure the idempotency 15038 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 15039 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 15040 15041 // The name of the gateway route to update. 15042 // 15043 // GatewayRouteName is a required field 15044 GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` 15045 15046 // The name of the service mesh that the gateway route resides in. 15047 // 15048 // MeshName is a required field 15049 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 15050 15051 // The AWS IAM account ID of the service mesh owner. If the account ID is not 15052 // your own, then it's the ID of the account that shared the mesh with your 15053 // account. For more information about mesh sharing, see Working with shared 15054 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 15055 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 15056 15057 // The new gateway route specification to apply. This overwrites the existing 15058 // data. 15059 // 15060 // Spec is a required field 15061 Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` 15062 15063 // The name of the virtual gateway that the gateway route is associated with. 15064 // 15065 // VirtualGatewayName is a required field 15066 VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 15067 } 15068 15069 // String returns the string representation. 15070 // 15071 // API parameter values that are decorated as "sensitive" in the API will not 15072 // be included in the string output. The member name will be present, but the 15073 // value will be replaced with "sensitive". 15074 func (s UpdateGatewayRouteInput) String() string { 15075 return awsutil.Prettify(s) 15076 } 15077 15078 // GoString returns the string representation. 15079 // 15080 // API parameter values that are decorated as "sensitive" in the API will not 15081 // be included in the string output. The member name will be present, but the 15082 // value will be replaced with "sensitive". 15083 func (s UpdateGatewayRouteInput) GoString() string { 15084 return s.String() 15085 } 15086 15087 // Validate inspects the fields of the type to determine if they are valid. 15088 func (s *UpdateGatewayRouteInput) Validate() error { 15089 invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayRouteInput"} 15090 if s.GatewayRouteName == nil { 15091 invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) 15092 } 15093 if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { 15094 invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) 15095 } 15096 if s.MeshName == nil { 15097 invalidParams.Add(request.NewErrParamRequired("MeshName")) 15098 } 15099 if s.MeshName != nil && len(*s.MeshName) < 1 { 15100 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 15101 } 15102 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 15103 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 15104 } 15105 if s.Spec == nil { 15106 invalidParams.Add(request.NewErrParamRequired("Spec")) 15107 } 15108 if s.VirtualGatewayName == nil { 15109 invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) 15110 } 15111 if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { 15112 invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) 15113 } 15114 if s.Spec != nil { 15115 if err := s.Spec.Validate(); err != nil { 15116 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 15117 } 15118 } 15119 15120 if invalidParams.Len() > 0 { 15121 return invalidParams 15122 } 15123 return nil 15124 } 15125 15126 // SetClientToken sets the ClientToken field's value. 15127 func (s *UpdateGatewayRouteInput) SetClientToken(v string) *UpdateGatewayRouteInput { 15128 s.ClientToken = &v 15129 return s 15130 } 15131 15132 // SetGatewayRouteName sets the GatewayRouteName field's value. 15133 func (s *UpdateGatewayRouteInput) SetGatewayRouteName(v string) *UpdateGatewayRouteInput { 15134 s.GatewayRouteName = &v 15135 return s 15136 } 15137 15138 // SetMeshName sets the MeshName field's value. 15139 func (s *UpdateGatewayRouteInput) SetMeshName(v string) *UpdateGatewayRouteInput { 15140 s.MeshName = &v 15141 return s 15142 } 15143 15144 // SetMeshOwner sets the MeshOwner field's value. 15145 func (s *UpdateGatewayRouteInput) SetMeshOwner(v string) *UpdateGatewayRouteInput { 15146 s.MeshOwner = &v 15147 return s 15148 } 15149 15150 // SetSpec sets the Spec field's value. 15151 func (s *UpdateGatewayRouteInput) SetSpec(v *GatewayRouteSpec) *UpdateGatewayRouteInput { 15152 s.Spec = v 15153 return s 15154 } 15155 15156 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 15157 func (s *UpdateGatewayRouteInput) SetVirtualGatewayName(v string) *UpdateGatewayRouteInput { 15158 s.VirtualGatewayName = &v 15159 return s 15160 } 15161 15162 type UpdateGatewayRouteOutput struct { 15163 _ struct{} `type:"structure" payload:"GatewayRoute"` 15164 15165 // A full description of the gateway route that was updated. 15166 // 15167 // GatewayRoute is a required field 15168 GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` 15169 } 15170 15171 // String returns the string representation. 15172 // 15173 // API parameter values that are decorated as "sensitive" in the API will not 15174 // be included in the string output. The member name will be present, but the 15175 // value will be replaced with "sensitive". 15176 func (s UpdateGatewayRouteOutput) String() string { 15177 return awsutil.Prettify(s) 15178 } 15179 15180 // GoString returns the string representation. 15181 // 15182 // API parameter values that are decorated as "sensitive" in the API will not 15183 // be included in the string output. The member name will be present, but the 15184 // value will be replaced with "sensitive". 15185 func (s UpdateGatewayRouteOutput) GoString() string { 15186 return s.String() 15187 } 15188 15189 // SetGatewayRoute sets the GatewayRoute field's value. 15190 func (s *UpdateGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *UpdateGatewayRouteOutput { 15191 s.GatewayRoute = v 15192 return s 15193 } 15194 15195 type UpdateMeshInput struct { 15196 _ struct{} `type:"structure"` 15197 15198 // Unique, case-sensitive identifier that you provide to ensure the idempotency 15199 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 15200 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 15201 15202 // The name of the service mesh to update. 15203 // 15204 // MeshName is a required field 15205 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 15206 15207 // The service mesh specification to apply. 15208 Spec *MeshSpec `locationName:"spec" type:"structure"` 15209 } 15210 15211 // String returns the string representation. 15212 // 15213 // API parameter values that are decorated as "sensitive" in the API will not 15214 // be included in the string output. The member name will be present, but the 15215 // value will be replaced with "sensitive". 15216 func (s UpdateMeshInput) String() string { 15217 return awsutil.Prettify(s) 15218 } 15219 15220 // GoString returns the string representation. 15221 // 15222 // API parameter values that are decorated as "sensitive" in the API will not 15223 // be included in the string output. The member name will be present, but the 15224 // value will be replaced with "sensitive". 15225 func (s UpdateMeshInput) GoString() string { 15226 return s.String() 15227 } 15228 15229 // Validate inspects the fields of the type to determine if they are valid. 15230 func (s *UpdateMeshInput) Validate() error { 15231 invalidParams := request.ErrInvalidParams{Context: "UpdateMeshInput"} 15232 if s.MeshName == nil { 15233 invalidParams.Add(request.NewErrParamRequired("MeshName")) 15234 } 15235 if s.MeshName != nil && len(*s.MeshName) < 1 { 15236 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 15237 } 15238 if s.Spec != nil { 15239 if err := s.Spec.Validate(); err != nil { 15240 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 15241 } 15242 } 15243 15244 if invalidParams.Len() > 0 { 15245 return invalidParams 15246 } 15247 return nil 15248 } 15249 15250 // SetClientToken sets the ClientToken field's value. 15251 func (s *UpdateMeshInput) SetClientToken(v string) *UpdateMeshInput { 15252 s.ClientToken = &v 15253 return s 15254 } 15255 15256 // SetMeshName sets the MeshName field's value. 15257 func (s *UpdateMeshInput) SetMeshName(v string) *UpdateMeshInput { 15258 s.MeshName = &v 15259 return s 15260 } 15261 15262 // SetSpec sets the Spec field's value. 15263 func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput { 15264 s.Spec = v 15265 return s 15266 } 15267 15268 type UpdateMeshOutput struct { 15269 _ struct{} `type:"structure" payload:"Mesh"` 15270 15271 // An object that represents a service mesh returned by a describe operation. 15272 // 15273 // Mesh is a required field 15274 Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` 15275 } 15276 15277 // String returns the string representation. 15278 // 15279 // API parameter values that are decorated as "sensitive" in the API will not 15280 // be included in the string output. The member name will be present, but the 15281 // value will be replaced with "sensitive". 15282 func (s UpdateMeshOutput) String() string { 15283 return awsutil.Prettify(s) 15284 } 15285 15286 // GoString returns the string representation. 15287 // 15288 // API parameter values that are decorated as "sensitive" in the API will not 15289 // be included in the string output. The member name will be present, but the 15290 // value will be replaced with "sensitive". 15291 func (s UpdateMeshOutput) GoString() string { 15292 return s.String() 15293 } 15294 15295 // SetMesh sets the Mesh field's value. 15296 func (s *UpdateMeshOutput) SetMesh(v *MeshData) *UpdateMeshOutput { 15297 s.Mesh = v 15298 return s 15299 } 15300 15301 type UpdateRouteInput struct { 15302 _ struct{} `type:"structure"` 15303 15304 // Unique, case-sensitive identifier that you provide to ensure the idempotency 15305 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 15306 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 15307 15308 // The name of the service mesh that the route resides in. 15309 // 15310 // MeshName is a required field 15311 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 15312 15313 // The AWS IAM account ID of the service mesh owner. If the account ID is not 15314 // your own, then it's the ID of the account that shared the mesh with your 15315 // account. For more information about mesh sharing, see Working with shared 15316 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 15317 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 15318 15319 // The name of the route to update. 15320 // 15321 // RouteName is a required field 15322 RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` 15323 15324 // The new route specification to apply. This overwrites the existing data. 15325 // 15326 // Spec is a required field 15327 Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` 15328 15329 // The name of the virtual router that the route is associated with. 15330 // 15331 // VirtualRouterName is a required field 15332 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 15333 } 15334 15335 // String returns the string representation. 15336 // 15337 // API parameter values that are decorated as "sensitive" in the API will not 15338 // be included in the string output. The member name will be present, but the 15339 // value will be replaced with "sensitive". 15340 func (s UpdateRouteInput) String() string { 15341 return awsutil.Prettify(s) 15342 } 15343 15344 // GoString returns the string representation. 15345 // 15346 // API parameter values that are decorated as "sensitive" in the API will not 15347 // be included in the string output. The member name will be present, but the 15348 // value will be replaced with "sensitive". 15349 func (s UpdateRouteInput) GoString() string { 15350 return s.String() 15351 } 15352 15353 // Validate inspects the fields of the type to determine if they are valid. 15354 func (s *UpdateRouteInput) Validate() error { 15355 invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"} 15356 if s.MeshName == nil { 15357 invalidParams.Add(request.NewErrParamRequired("MeshName")) 15358 } 15359 if s.MeshName != nil && len(*s.MeshName) < 1 { 15360 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 15361 } 15362 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 15363 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 15364 } 15365 if s.RouteName == nil { 15366 invalidParams.Add(request.NewErrParamRequired("RouteName")) 15367 } 15368 if s.RouteName != nil && len(*s.RouteName) < 1 { 15369 invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) 15370 } 15371 if s.Spec == nil { 15372 invalidParams.Add(request.NewErrParamRequired("Spec")) 15373 } 15374 if s.VirtualRouterName == nil { 15375 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 15376 } 15377 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 15378 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 15379 } 15380 if s.Spec != nil { 15381 if err := s.Spec.Validate(); err != nil { 15382 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 15383 } 15384 } 15385 15386 if invalidParams.Len() > 0 { 15387 return invalidParams 15388 } 15389 return nil 15390 } 15391 15392 // SetClientToken sets the ClientToken field's value. 15393 func (s *UpdateRouteInput) SetClientToken(v string) *UpdateRouteInput { 15394 s.ClientToken = &v 15395 return s 15396 } 15397 15398 // SetMeshName sets the MeshName field's value. 15399 func (s *UpdateRouteInput) SetMeshName(v string) *UpdateRouteInput { 15400 s.MeshName = &v 15401 return s 15402 } 15403 15404 // SetMeshOwner sets the MeshOwner field's value. 15405 func (s *UpdateRouteInput) SetMeshOwner(v string) *UpdateRouteInput { 15406 s.MeshOwner = &v 15407 return s 15408 } 15409 15410 // SetRouteName sets the RouteName field's value. 15411 func (s *UpdateRouteInput) SetRouteName(v string) *UpdateRouteInput { 15412 s.RouteName = &v 15413 return s 15414 } 15415 15416 // SetSpec sets the Spec field's value. 15417 func (s *UpdateRouteInput) SetSpec(v *RouteSpec) *UpdateRouteInput { 15418 s.Spec = v 15419 return s 15420 } 15421 15422 // SetVirtualRouterName sets the VirtualRouterName field's value. 15423 func (s *UpdateRouteInput) SetVirtualRouterName(v string) *UpdateRouteInput { 15424 s.VirtualRouterName = &v 15425 return s 15426 } 15427 15428 type UpdateRouteOutput struct { 15429 _ struct{} `type:"structure" payload:"Route"` 15430 15431 // A full description of the route that was updated. 15432 // 15433 // Route is a required field 15434 Route *RouteData `locationName:"route" type:"structure" required:"true"` 15435 } 15436 15437 // String returns the string representation. 15438 // 15439 // API parameter values that are decorated as "sensitive" in the API will not 15440 // be included in the string output. The member name will be present, but the 15441 // value will be replaced with "sensitive". 15442 func (s UpdateRouteOutput) String() string { 15443 return awsutil.Prettify(s) 15444 } 15445 15446 // GoString returns the string representation. 15447 // 15448 // API parameter values that are decorated as "sensitive" in the API will not 15449 // be included in the string output. The member name will be present, but the 15450 // value will be replaced with "sensitive". 15451 func (s UpdateRouteOutput) GoString() string { 15452 return s.String() 15453 } 15454 15455 // SetRoute sets the Route field's value. 15456 func (s *UpdateRouteOutput) SetRoute(v *RouteData) *UpdateRouteOutput { 15457 s.Route = v 15458 return s 15459 } 15460 15461 type UpdateVirtualGatewayInput struct { 15462 _ struct{} `type:"structure"` 15463 15464 // Unique, case-sensitive identifier that you provide to ensure the idempotency 15465 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 15466 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 15467 15468 // The name of the service mesh that the virtual gateway resides in. 15469 // 15470 // MeshName is a required field 15471 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 15472 15473 // The AWS IAM account ID of the service mesh owner. If the account ID is not 15474 // your own, then it's the ID of the account that shared the mesh with your 15475 // account. For more information about mesh sharing, see Working with shared 15476 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 15477 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 15478 15479 // The new virtual gateway specification to apply. This overwrites the existing 15480 // data. 15481 // 15482 // Spec is a required field 15483 Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` 15484 15485 // The name of the virtual gateway to update. 15486 // 15487 // VirtualGatewayName is a required field 15488 VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 15489 } 15490 15491 // String returns the string representation. 15492 // 15493 // API parameter values that are decorated as "sensitive" in the API will not 15494 // be included in the string output. The member name will be present, but the 15495 // value will be replaced with "sensitive". 15496 func (s UpdateVirtualGatewayInput) String() string { 15497 return awsutil.Prettify(s) 15498 } 15499 15500 // GoString returns the string representation. 15501 // 15502 // API parameter values that are decorated as "sensitive" in the API will not 15503 // be included in the string output. The member name will be present, but the 15504 // value will be replaced with "sensitive". 15505 func (s UpdateVirtualGatewayInput) GoString() string { 15506 return s.String() 15507 } 15508 15509 // Validate inspects the fields of the type to determine if they are valid. 15510 func (s *UpdateVirtualGatewayInput) Validate() error { 15511 invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualGatewayInput"} 15512 if s.MeshName == nil { 15513 invalidParams.Add(request.NewErrParamRequired("MeshName")) 15514 } 15515 if s.MeshName != nil && len(*s.MeshName) < 1 { 15516 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 15517 } 15518 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 15519 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 15520 } 15521 if s.Spec == nil { 15522 invalidParams.Add(request.NewErrParamRequired("Spec")) 15523 } 15524 if s.VirtualGatewayName == nil { 15525 invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) 15526 } 15527 if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { 15528 invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) 15529 } 15530 if s.Spec != nil { 15531 if err := s.Spec.Validate(); err != nil { 15532 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 15533 } 15534 } 15535 15536 if invalidParams.Len() > 0 { 15537 return invalidParams 15538 } 15539 return nil 15540 } 15541 15542 // SetClientToken sets the ClientToken field's value. 15543 func (s *UpdateVirtualGatewayInput) SetClientToken(v string) *UpdateVirtualGatewayInput { 15544 s.ClientToken = &v 15545 return s 15546 } 15547 15548 // SetMeshName sets the MeshName field's value. 15549 func (s *UpdateVirtualGatewayInput) SetMeshName(v string) *UpdateVirtualGatewayInput { 15550 s.MeshName = &v 15551 return s 15552 } 15553 15554 // SetMeshOwner sets the MeshOwner field's value. 15555 func (s *UpdateVirtualGatewayInput) SetMeshOwner(v string) *UpdateVirtualGatewayInput { 15556 s.MeshOwner = &v 15557 return s 15558 } 15559 15560 // SetSpec sets the Spec field's value. 15561 func (s *UpdateVirtualGatewayInput) SetSpec(v *VirtualGatewaySpec) *UpdateVirtualGatewayInput { 15562 s.Spec = v 15563 return s 15564 } 15565 15566 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 15567 func (s *UpdateVirtualGatewayInput) SetVirtualGatewayName(v string) *UpdateVirtualGatewayInput { 15568 s.VirtualGatewayName = &v 15569 return s 15570 } 15571 15572 type UpdateVirtualGatewayOutput struct { 15573 _ struct{} `type:"structure" payload:"VirtualGateway"` 15574 15575 // A full description of the virtual gateway that was updated. 15576 // 15577 // VirtualGateway is a required field 15578 VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` 15579 } 15580 15581 // String returns the string representation. 15582 // 15583 // API parameter values that are decorated as "sensitive" in the API will not 15584 // be included in the string output. The member name will be present, but the 15585 // value will be replaced with "sensitive". 15586 func (s UpdateVirtualGatewayOutput) String() string { 15587 return awsutil.Prettify(s) 15588 } 15589 15590 // GoString returns the string representation. 15591 // 15592 // API parameter values that are decorated as "sensitive" in the API will not 15593 // be included in the string output. The member name will be present, but the 15594 // value will be replaced with "sensitive". 15595 func (s UpdateVirtualGatewayOutput) GoString() string { 15596 return s.String() 15597 } 15598 15599 // SetVirtualGateway sets the VirtualGateway field's value. 15600 func (s *UpdateVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *UpdateVirtualGatewayOutput { 15601 s.VirtualGateway = v 15602 return s 15603 } 15604 15605 type UpdateVirtualNodeInput struct { 15606 _ struct{} `type:"structure"` 15607 15608 // Unique, case-sensitive identifier that you provide to ensure the idempotency 15609 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 15610 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 15611 15612 // The name of the service mesh that the virtual node resides in. 15613 // 15614 // MeshName is a required field 15615 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 15616 15617 // The AWS IAM account ID of the service mesh owner. If the account ID is not 15618 // your own, then it's the ID of the account that shared the mesh with your 15619 // account. For more information about mesh sharing, see Working with shared 15620 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 15621 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 15622 15623 // The new virtual node specification to apply. This overwrites the existing 15624 // data. 15625 // 15626 // Spec is a required field 15627 Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` 15628 15629 // The name of the virtual node to update. 15630 // 15631 // VirtualNodeName is a required field 15632 VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 15633 } 15634 15635 // String returns the string representation. 15636 // 15637 // API parameter values that are decorated as "sensitive" in the API will not 15638 // be included in the string output. The member name will be present, but the 15639 // value will be replaced with "sensitive". 15640 func (s UpdateVirtualNodeInput) String() string { 15641 return awsutil.Prettify(s) 15642 } 15643 15644 // GoString returns the string representation. 15645 // 15646 // API parameter values that are decorated as "sensitive" in the API will not 15647 // be included in the string output. The member name will be present, but the 15648 // value will be replaced with "sensitive". 15649 func (s UpdateVirtualNodeInput) GoString() string { 15650 return s.String() 15651 } 15652 15653 // Validate inspects the fields of the type to determine if they are valid. 15654 func (s *UpdateVirtualNodeInput) Validate() error { 15655 invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualNodeInput"} 15656 if s.MeshName == nil { 15657 invalidParams.Add(request.NewErrParamRequired("MeshName")) 15658 } 15659 if s.MeshName != nil && len(*s.MeshName) < 1 { 15660 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 15661 } 15662 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 15663 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 15664 } 15665 if s.Spec == nil { 15666 invalidParams.Add(request.NewErrParamRequired("Spec")) 15667 } 15668 if s.VirtualNodeName == nil { 15669 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 15670 } 15671 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 15672 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 15673 } 15674 if s.Spec != nil { 15675 if err := s.Spec.Validate(); err != nil { 15676 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 15677 } 15678 } 15679 15680 if invalidParams.Len() > 0 { 15681 return invalidParams 15682 } 15683 return nil 15684 } 15685 15686 // SetClientToken sets the ClientToken field's value. 15687 func (s *UpdateVirtualNodeInput) SetClientToken(v string) *UpdateVirtualNodeInput { 15688 s.ClientToken = &v 15689 return s 15690 } 15691 15692 // SetMeshName sets the MeshName field's value. 15693 func (s *UpdateVirtualNodeInput) SetMeshName(v string) *UpdateVirtualNodeInput { 15694 s.MeshName = &v 15695 return s 15696 } 15697 15698 // SetMeshOwner sets the MeshOwner field's value. 15699 func (s *UpdateVirtualNodeInput) SetMeshOwner(v string) *UpdateVirtualNodeInput { 15700 s.MeshOwner = &v 15701 return s 15702 } 15703 15704 // SetSpec sets the Spec field's value. 15705 func (s *UpdateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *UpdateVirtualNodeInput { 15706 s.Spec = v 15707 return s 15708 } 15709 15710 // SetVirtualNodeName sets the VirtualNodeName field's value. 15711 func (s *UpdateVirtualNodeInput) SetVirtualNodeName(v string) *UpdateVirtualNodeInput { 15712 s.VirtualNodeName = &v 15713 return s 15714 } 15715 15716 type UpdateVirtualNodeOutput struct { 15717 _ struct{} `type:"structure" payload:"VirtualNode"` 15718 15719 // A full description of the virtual node that was updated. 15720 // 15721 // VirtualNode is a required field 15722 VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` 15723 } 15724 15725 // String returns the string representation. 15726 // 15727 // API parameter values that are decorated as "sensitive" in the API will not 15728 // be included in the string output. The member name will be present, but the 15729 // value will be replaced with "sensitive". 15730 func (s UpdateVirtualNodeOutput) String() string { 15731 return awsutil.Prettify(s) 15732 } 15733 15734 // GoString returns the string representation. 15735 // 15736 // API parameter values that are decorated as "sensitive" in the API will not 15737 // be included in the string output. The member name will be present, but the 15738 // value will be replaced with "sensitive". 15739 func (s UpdateVirtualNodeOutput) GoString() string { 15740 return s.String() 15741 } 15742 15743 // SetVirtualNode sets the VirtualNode field's value. 15744 func (s *UpdateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *UpdateVirtualNodeOutput { 15745 s.VirtualNode = v 15746 return s 15747 } 15748 15749 type UpdateVirtualRouterInput struct { 15750 _ struct{} `type:"structure"` 15751 15752 // Unique, case-sensitive identifier that you provide to ensure the idempotency 15753 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 15754 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 15755 15756 // The name of the service mesh that the virtual router resides in. 15757 // 15758 // MeshName is a required field 15759 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 15760 15761 // The AWS IAM account ID of the service mesh owner. If the account ID is not 15762 // your own, then it's the ID of the account that shared the mesh with your 15763 // account. For more information about mesh sharing, see Working with shared 15764 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 15765 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 15766 15767 // The new virtual router specification to apply. This overwrites the existing 15768 // data. 15769 // 15770 // Spec is a required field 15771 Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` 15772 15773 // The name of the virtual router to update. 15774 // 15775 // VirtualRouterName is a required field 15776 VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 15777 } 15778 15779 // String returns the string representation. 15780 // 15781 // API parameter values that are decorated as "sensitive" in the API will not 15782 // be included in the string output. The member name will be present, but the 15783 // value will be replaced with "sensitive". 15784 func (s UpdateVirtualRouterInput) String() string { 15785 return awsutil.Prettify(s) 15786 } 15787 15788 // GoString returns the string representation. 15789 // 15790 // API parameter values that are decorated as "sensitive" in the API will not 15791 // be included in the string output. The member name will be present, but the 15792 // value will be replaced with "sensitive". 15793 func (s UpdateVirtualRouterInput) GoString() string { 15794 return s.String() 15795 } 15796 15797 // Validate inspects the fields of the type to determine if they are valid. 15798 func (s *UpdateVirtualRouterInput) Validate() error { 15799 invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualRouterInput"} 15800 if s.MeshName == nil { 15801 invalidParams.Add(request.NewErrParamRequired("MeshName")) 15802 } 15803 if s.MeshName != nil && len(*s.MeshName) < 1 { 15804 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 15805 } 15806 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 15807 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 15808 } 15809 if s.Spec == nil { 15810 invalidParams.Add(request.NewErrParamRequired("Spec")) 15811 } 15812 if s.VirtualRouterName == nil { 15813 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 15814 } 15815 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 15816 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 15817 } 15818 if s.Spec != nil { 15819 if err := s.Spec.Validate(); err != nil { 15820 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 15821 } 15822 } 15823 15824 if invalidParams.Len() > 0 { 15825 return invalidParams 15826 } 15827 return nil 15828 } 15829 15830 // SetClientToken sets the ClientToken field's value. 15831 func (s *UpdateVirtualRouterInput) SetClientToken(v string) *UpdateVirtualRouterInput { 15832 s.ClientToken = &v 15833 return s 15834 } 15835 15836 // SetMeshName sets the MeshName field's value. 15837 func (s *UpdateVirtualRouterInput) SetMeshName(v string) *UpdateVirtualRouterInput { 15838 s.MeshName = &v 15839 return s 15840 } 15841 15842 // SetMeshOwner sets the MeshOwner field's value. 15843 func (s *UpdateVirtualRouterInput) SetMeshOwner(v string) *UpdateVirtualRouterInput { 15844 s.MeshOwner = &v 15845 return s 15846 } 15847 15848 // SetSpec sets the Spec field's value. 15849 func (s *UpdateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *UpdateVirtualRouterInput { 15850 s.Spec = v 15851 return s 15852 } 15853 15854 // SetVirtualRouterName sets the VirtualRouterName field's value. 15855 func (s *UpdateVirtualRouterInput) SetVirtualRouterName(v string) *UpdateVirtualRouterInput { 15856 s.VirtualRouterName = &v 15857 return s 15858 } 15859 15860 type UpdateVirtualRouterOutput struct { 15861 _ struct{} `type:"structure" payload:"VirtualRouter"` 15862 15863 // A full description of the virtual router that was updated. 15864 // 15865 // VirtualRouter is a required field 15866 VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` 15867 } 15868 15869 // String returns the string representation. 15870 // 15871 // API parameter values that are decorated as "sensitive" in the API will not 15872 // be included in the string output. The member name will be present, but the 15873 // value will be replaced with "sensitive". 15874 func (s UpdateVirtualRouterOutput) String() string { 15875 return awsutil.Prettify(s) 15876 } 15877 15878 // GoString returns the string representation. 15879 // 15880 // API parameter values that are decorated as "sensitive" in the API will not 15881 // be included in the string output. The member name will be present, but the 15882 // value will be replaced with "sensitive". 15883 func (s UpdateVirtualRouterOutput) GoString() string { 15884 return s.String() 15885 } 15886 15887 // SetVirtualRouter sets the VirtualRouter field's value. 15888 func (s *UpdateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *UpdateVirtualRouterOutput { 15889 s.VirtualRouter = v 15890 return s 15891 } 15892 15893 type UpdateVirtualServiceInput struct { 15894 _ struct{} `type:"structure"` 15895 15896 // Unique, case-sensitive identifier that you provide to ensure the idempotency 15897 // of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed. 15898 ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` 15899 15900 // The name of the service mesh that the virtual service resides in. 15901 // 15902 // MeshName is a required field 15903 MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` 15904 15905 // The AWS IAM account ID of the service mesh owner. If the account ID is not 15906 // your own, then it's the ID of the account that shared the mesh with your 15907 // account. For more information about mesh sharing, see Working with shared 15908 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 15909 MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` 15910 15911 // The new virtual service specification to apply. This overwrites the existing 15912 // data. 15913 // 15914 // Spec is a required field 15915 Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` 15916 15917 // The name of the virtual service to update. 15918 // 15919 // VirtualServiceName is a required field 15920 VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` 15921 } 15922 15923 // String returns the string representation. 15924 // 15925 // API parameter values that are decorated as "sensitive" in the API will not 15926 // be included in the string output. The member name will be present, but the 15927 // value will be replaced with "sensitive". 15928 func (s UpdateVirtualServiceInput) String() string { 15929 return awsutil.Prettify(s) 15930 } 15931 15932 // GoString returns the string representation. 15933 // 15934 // API parameter values that are decorated as "sensitive" in the API will not 15935 // be included in the string output. The member name will be present, but the 15936 // value will be replaced with "sensitive". 15937 func (s UpdateVirtualServiceInput) GoString() string { 15938 return s.String() 15939 } 15940 15941 // Validate inspects the fields of the type to determine if they are valid. 15942 func (s *UpdateVirtualServiceInput) Validate() error { 15943 invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualServiceInput"} 15944 if s.MeshName == nil { 15945 invalidParams.Add(request.NewErrParamRequired("MeshName")) 15946 } 15947 if s.MeshName != nil && len(*s.MeshName) < 1 { 15948 invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) 15949 } 15950 if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { 15951 invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) 15952 } 15953 if s.Spec == nil { 15954 invalidParams.Add(request.NewErrParamRequired("Spec")) 15955 } 15956 if s.VirtualServiceName == nil { 15957 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 15958 } 15959 if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { 15960 invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) 15961 } 15962 if s.Spec != nil { 15963 if err := s.Spec.Validate(); err != nil { 15964 invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) 15965 } 15966 } 15967 15968 if invalidParams.Len() > 0 { 15969 return invalidParams 15970 } 15971 return nil 15972 } 15973 15974 // SetClientToken sets the ClientToken field's value. 15975 func (s *UpdateVirtualServiceInput) SetClientToken(v string) *UpdateVirtualServiceInput { 15976 s.ClientToken = &v 15977 return s 15978 } 15979 15980 // SetMeshName sets the MeshName field's value. 15981 func (s *UpdateVirtualServiceInput) SetMeshName(v string) *UpdateVirtualServiceInput { 15982 s.MeshName = &v 15983 return s 15984 } 15985 15986 // SetMeshOwner sets the MeshOwner field's value. 15987 func (s *UpdateVirtualServiceInput) SetMeshOwner(v string) *UpdateVirtualServiceInput { 15988 s.MeshOwner = &v 15989 return s 15990 } 15991 15992 // SetSpec sets the Spec field's value. 15993 func (s *UpdateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *UpdateVirtualServiceInput { 15994 s.Spec = v 15995 return s 15996 } 15997 15998 // SetVirtualServiceName sets the VirtualServiceName field's value. 15999 func (s *UpdateVirtualServiceInput) SetVirtualServiceName(v string) *UpdateVirtualServiceInput { 16000 s.VirtualServiceName = &v 16001 return s 16002 } 16003 16004 type UpdateVirtualServiceOutput struct { 16005 _ struct{} `type:"structure" payload:"VirtualService"` 16006 16007 // A full description of the virtual service that was updated. 16008 // 16009 // VirtualService is a required field 16010 VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` 16011 } 16012 16013 // String returns the string representation. 16014 // 16015 // API parameter values that are decorated as "sensitive" in the API will not 16016 // be included in the string output. The member name will be present, but the 16017 // value will be replaced with "sensitive". 16018 func (s UpdateVirtualServiceOutput) String() string { 16019 return awsutil.Prettify(s) 16020 } 16021 16022 // GoString returns the string representation. 16023 // 16024 // API parameter values that are decorated as "sensitive" in the API will not 16025 // be included in the string output. The member name will be present, but the 16026 // value will be replaced with "sensitive". 16027 func (s UpdateVirtualServiceOutput) GoString() string { 16028 return s.String() 16029 } 16030 16031 // SetVirtualService sets the VirtualService field's value. 16032 func (s *UpdateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *UpdateVirtualServiceOutput { 16033 s.VirtualService = v 16034 return s 16035 } 16036 16037 // The access log configuration for a virtual gateway. 16038 type VirtualGatewayAccessLog struct { 16039 _ struct{} `type:"structure"` 16040 16041 // The file object to send virtual gateway access logs to. 16042 File *VirtualGatewayFileAccessLog `locationName:"file" type:"structure"` 16043 } 16044 16045 // String returns the string representation. 16046 // 16047 // API parameter values that are decorated as "sensitive" in the API will not 16048 // be included in the string output. The member name will be present, but the 16049 // value will be replaced with "sensitive". 16050 func (s VirtualGatewayAccessLog) String() string { 16051 return awsutil.Prettify(s) 16052 } 16053 16054 // GoString returns the string representation. 16055 // 16056 // API parameter values that are decorated as "sensitive" in the API will not 16057 // be included in the string output. The member name will be present, but the 16058 // value will be replaced with "sensitive". 16059 func (s VirtualGatewayAccessLog) GoString() string { 16060 return s.String() 16061 } 16062 16063 // Validate inspects the fields of the type to determine if they are valid. 16064 func (s *VirtualGatewayAccessLog) Validate() error { 16065 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayAccessLog"} 16066 if s.File != nil { 16067 if err := s.File.Validate(); err != nil { 16068 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 16069 } 16070 } 16071 16072 if invalidParams.Len() > 0 { 16073 return invalidParams 16074 } 16075 return nil 16076 } 16077 16078 // SetFile sets the File field's value. 16079 func (s *VirtualGatewayAccessLog) SetFile(v *VirtualGatewayFileAccessLog) *VirtualGatewayAccessLog { 16080 s.File = v 16081 return s 16082 } 16083 16084 // An object that represents the default properties for a backend. 16085 type VirtualGatewayBackendDefaults struct { 16086 _ struct{} `type:"structure"` 16087 16088 // A reference to an object that represents a client policy. 16089 ClientPolicy *VirtualGatewayClientPolicy `locationName:"clientPolicy" type:"structure"` 16090 } 16091 16092 // String returns the string representation. 16093 // 16094 // API parameter values that are decorated as "sensitive" in the API will not 16095 // be included in the string output. The member name will be present, but the 16096 // value will be replaced with "sensitive". 16097 func (s VirtualGatewayBackendDefaults) String() string { 16098 return awsutil.Prettify(s) 16099 } 16100 16101 // GoString returns the string representation. 16102 // 16103 // API parameter values that are decorated as "sensitive" in the API will not 16104 // be included in the string output. The member name will be present, but the 16105 // value will be replaced with "sensitive". 16106 func (s VirtualGatewayBackendDefaults) GoString() string { 16107 return s.String() 16108 } 16109 16110 // Validate inspects the fields of the type to determine if they are valid. 16111 func (s *VirtualGatewayBackendDefaults) Validate() error { 16112 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayBackendDefaults"} 16113 if s.ClientPolicy != nil { 16114 if err := s.ClientPolicy.Validate(); err != nil { 16115 invalidParams.AddNested("ClientPolicy", err.(request.ErrInvalidParams)) 16116 } 16117 } 16118 16119 if invalidParams.Len() > 0 { 16120 return invalidParams 16121 } 16122 return nil 16123 } 16124 16125 // SetClientPolicy sets the ClientPolicy field's value. 16126 func (s *VirtualGatewayBackendDefaults) SetClientPolicy(v *VirtualGatewayClientPolicy) *VirtualGatewayBackendDefaults { 16127 s.ClientPolicy = v 16128 return s 16129 } 16130 16131 // An object that represents a client policy. 16132 type VirtualGatewayClientPolicy struct { 16133 _ struct{} `type:"structure"` 16134 16135 // A reference to an object that represents a Transport Layer Security (TLS) 16136 // client policy. 16137 Tls *VirtualGatewayClientPolicyTls `locationName:"tls" type:"structure"` 16138 } 16139 16140 // String returns the string representation. 16141 // 16142 // API parameter values that are decorated as "sensitive" in the API will not 16143 // be included in the string output. The member name will be present, but the 16144 // value will be replaced with "sensitive". 16145 func (s VirtualGatewayClientPolicy) String() string { 16146 return awsutil.Prettify(s) 16147 } 16148 16149 // GoString returns the string representation. 16150 // 16151 // API parameter values that are decorated as "sensitive" in the API will not 16152 // be included in the string output. The member name will be present, but the 16153 // value will be replaced with "sensitive". 16154 func (s VirtualGatewayClientPolicy) GoString() string { 16155 return s.String() 16156 } 16157 16158 // Validate inspects the fields of the type to determine if they are valid. 16159 func (s *VirtualGatewayClientPolicy) Validate() error { 16160 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientPolicy"} 16161 if s.Tls != nil { 16162 if err := s.Tls.Validate(); err != nil { 16163 invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) 16164 } 16165 } 16166 16167 if invalidParams.Len() > 0 { 16168 return invalidParams 16169 } 16170 return nil 16171 } 16172 16173 // SetTls sets the Tls field's value. 16174 func (s *VirtualGatewayClientPolicy) SetTls(v *VirtualGatewayClientPolicyTls) *VirtualGatewayClientPolicy { 16175 s.Tls = v 16176 return s 16177 } 16178 16179 // An object that represents a Transport Layer Security (TLS) client policy. 16180 type VirtualGatewayClientPolicyTls struct { 16181 _ struct{} `type:"structure"` 16182 16183 // A reference to an object that represents a virtual gateway's client's Transport 16184 // Layer Security (TLS) certificate. 16185 Certificate *VirtualGatewayClientTlsCertificate `locationName:"certificate" type:"structure"` 16186 16187 // Whether the policy is enforced. The default is True, if a value isn't specified. 16188 Enforce *bool `locationName:"enforce" type:"boolean"` 16189 16190 // One or more ports that the policy is enforced for. 16191 Ports []*int64 `locationName:"ports" type:"list"` 16192 16193 // A reference to an object that represents a Transport Layer Security (TLS) 16194 // validation context. 16195 // 16196 // Validation is a required field 16197 Validation *VirtualGatewayTlsValidationContext `locationName:"validation" type:"structure" required:"true"` 16198 } 16199 16200 // String returns the string representation. 16201 // 16202 // API parameter values that are decorated as "sensitive" in the API will not 16203 // be included in the string output. The member name will be present, but the 16204 // value will be replaced with "sensitive". 16205 func (s VirtualGatewayClientPolicyTls) String() string { 16206 return awsutil.Prettify(s) 16207 } 16208 16209 // GoString returns the string representation. 16210 // 16211 // API parameter values that are decorated as "sensitive" in the API will not 16212 // be included in the string output. The member name will be present, but the 16213 // value will be replaced with "sensitive". 16214 func (s VirtualGatewayClientPolicyTls) GoString() string { 16215 return s.String() 16216 } 16217 16218 // Validate inspects the fields of the type to determine if they are valid. 16219 func (s *VirtualGatewayClientPolicyTls) Validate() error { 16220 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientPolicyTls"} 16221 if s.Validation == nil { 16222 invalidParams.Add(request.NewErrParamRequired("Validation")) 16223 } 16224 if s.Certificate != nil { 16225 if err := s.Certificate.Validate(); err != nil { 16226 invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) 16227 } 16228 } 16229 if s.Validation != nil { 16230 if err := s.Validation.Validate(); err != nil { 16231 invalidParams.AddNested("Validation", err.(request.ErrInvalidParams)) 16232 } 16233 } 16234 16235 if invalidParams.Len() > 0 { 16236 return invalidParams 16237 } 16238 return nil 16239 } 16240 16241 // SetCertificate sets the Certificate field's value. 16242 func (s *VirtualGatewayClientPolicyTls) SetCertificate(v *VirtualGatewayClientTlsCertificate) *VirtualGatewayClientPolicyTls { 16243 s.Certificate = v 16244 return s 16245 } 16246 16247 // SetEnforce sets the Enforce field's value. 16248 func (s *VirtualGatewayClientPolicyTls) SetEnforce(v bool) *VirtualGatewayClientPolicyTls { 16249 s.Enforce = &v 16250 return s 16251 } 16252 16253 // SetPorts sets the Ports field's value. 16254 func (s *VirtualGatewayClientPolicyTls) SetPorts(v []*int64) *VirtualGatewayClientPolicyTls { 16255 s.Ports = v 16256 return s 16257 } 16258 16259 // SetValidation sets the Validation field's value. 16260 func (s *VirtualGatewayClientPolicyTls) SetValidation(v *VirtualGatewayTlsValidationContext) *VirtualGatewayClientPolicyTls { 16261 s.Validation = v 16262 return s 16263 } 16264 16265 // An object that represents the virtual gateway's client's Transport Layer 16266 // Security (TLS) certificate. 16267 type VirtualGatewayClientTlsCertificate struct { 16268 _ struct{} `type:"structure"` 16269 16270 // An object that represents a local file certificate. The certificate must 16271 // meet specific requirements and you must have proxy authorization enabled. 16272 // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html). 16273 File *VirtualGatewayListenerTlsFileCertificate `locationName:"file" type:"structure"` 16274 16275 // A reference to an object that represents a virtual gateway's client's Secret 16276 // Discovery Service certificate. 16277 Sds *VirtualGatewayListenerTlsSdsCertificate `locationName:"sds" type:"structure"` 16278 } 16279 16280 // String returns the string representation. 16281 // 16282 // API parameter values that are decorated as "sensitive" in the API will not 16283 // be included in the string output. The member name will be present, but the 16284 // value will be replaced with "sensitive". 16285 func (s VirtualGatewayClientTlsCertificate) String() string { 16286 return awsutil.Prettify(s) 16287 } 16288 16289 // GoString returns the string representation. 16290 // 16291 // API parameter values that are decorated as "sensitive" in the API will not 16292 // be included in the string output. The member name will be present, but the 16293 // value will be replaced with "sensitive". 16294 func (s VirtualGatewayClientTlsCertificate) GoString() string { 16295 return s.String() 16296 } 16297 16298 // Validate inspects the fields of the type to determine if they are valid. 16299 func (s *VirtualGatewayClientTlsCertificate) Validate() error { 16300 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientTlsCertificate"} 16301 if s.File != nil { 16302 if err := s.File.Validate(); err != nil { 16303 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 16304 } 16305 } 16306 if s.Sds != nil { 16307 if err := s.Sds.Validate(); err != nil { 16308 invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) 16309 } 16310 } 16311 16312 if invalidParams.Len() > 0 { 16313 return invalidParams 16314 } 16315 return nil 16316 } 16317 16318 // SetFile sets the File field's value. 16319 func (s *VirtualGatewayClientTlsCertificate) SetFile(v *VirtualGatewayListenerTlsFileCertificate) *VirtualGatewayClientTlsCertificate { 16320 s.File = v 16321 return s 16322 } 16323 16324 // SetSds sets the Sds field's value. 16325 func (s *VirtualGatewayClientTlsCertificate) SetSds(v *VirtualGatewayListenerTlsSdsCertificate) *VirtualGatewayClientTlsCertificate { 16326 s.Sds = v 16327 return s 16328 } 16329 16330 // An object that represents the type of virtual gateway connection pool. 16331 // 16332 // Only one protocol is used at a time and should be the same protocol as the 16333 // one chosen under port mapping. 16334 // 16335 // If not present the default value for maxPendingRequests is 2147483647. 16336 type VirtualGatewayConnectionPool struct { 16337 _ struct{} `type:"structure"` 16338 16339 // An object that represents a type of connection pool. 16340 Grpc *VirtualGatewayGrpcConnectionPool `locationName:"grpc" type:"structure"` 16341 16342 // An object that represents a type of connection pool. 16343 Http *VirtualGatewayHttpConnectionPool `locationName:"http" type:"structure"` 16344 16345 // An object that represents a type of connection pool. 16346 Http2 *VirtualGatewayHttp2ConnectionPool `locationName:"http2" type:"structure"` 16347 } 16348 16349 // String returns the string representation. 16350 // 16351 // API parameter values that are decorated as "sensitive" in the API will not 16352 // be included in the string output. The member name will be present, but the 16353 // value will be replaced with "sensitive". 16354 func (s VirtualGatewayConnectionPool) String() string { 16355 return awsutil.Prettify(s) 16356 } 16357 16358 // GoString returns the string representation. 16359 // 16360 // API parameter values that are decorated as "sensitive" in the API will not 16361 // be included in the string output. The member name will be present, but the 16362 // value will be replaced with "sensitive". 16363 func (s VirtualGatewayConnectionPool) GoString() string { 16364 return s.String() 16365 } 16366 16367 // Validate inspects the fields of the type to determine if they are valid. 16368 func (s *VirtualGatewayConnectionPool) Validate() error { 16369 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayConnectionPool"} 16370 if s.Grpc != nil { 16371 if err := s.Grpc.Validate(); err != nil { 16372 invalidParams.AddNested("Grpc", err.(request.ErrInvalidParams)) 16373 } 16374 } 16375 if s.Http != nil { 16376 if err := s.Http.Validate(); err != nil { 16377 invalidParams.AddNested("Http", err.(request.ErrInvalidParams)) 16378 } 16379 } 16380 if s.Http2 != nil { 16381 if err := s.Http2.Validate(); err != nil { 16382 invalidParams.AddNested("Http2", err.(request.ErrInvalidParams)) 16383 } 16384 } 16385 16386 if invalidParams.Len() > 0 { 16387 return invalidParams 16388 } 16389 return nil 16390 } 16391 16392 // SetGrpc sets the Grpc field's value. 16393 func (s *VirtualGatewayConnectionPool) SetGrpc(v *VirtualGatewayGrpcConnectionPool) *VirtualGatewayConnectionPool { 16394 s.Grpc = v 16395 return s 16396 } 16397 16398 // SetHttp sets the Http field's value. 16399 func (s *VirtualGatewayConnectionPool) SetHttp(v *VirtualGatewayHttpConnectionPool) *VirtualGatewayConnectionPool { 16400 s.Http = v 16401 return s 16402 } 16403 16404 // SetHttp2 sets the Http2 field's value. 16405 func (s *VirtualGatewayConnectionPool) SetHttp2(v *VirtualGatewayHttp2ConnectionPool) *VirtualGatewayConnectionPool { 16406 s.Http2 = v 16407 return s 16408 } 16409 16410 // An object that represents a virtual gateway returned by a describe operation. 16411 type VirtualGatewayData struct { 16412 _ struct{} `type:"structure"` 16413 16414 // The name of the service mesh that the virtual gateway resides in. 16415 // 16416 // MeshName is a required field 16417 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 16418 16419 // An object that represents metadata for a resource. 16420 // 16421 // Metadata is a required field 16422 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 16423 16424 // The specifications of the virtual gateway. 16425 // 16426 // Spec is a required field 16427 Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` 16428 16429 // The current status of the virtual gateway. 16430 // 16431 // Status is a required field 16432 Status *VirtualGatewayStatus `locationName:"status" type:"structure" required:"true"` 16433 16434 // The name of the virtual gateway. 16435 // 16436 // VirtualGatewayName is a required field 16437 VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 16438 } 16439 16440 // String returns the string representation. 16441 // 16442 // API parameter values that are decorated as "sensitive" in the API will not 16443 // be included in the string output. The member name will be present, but the 16444 // value will be replaced with "sensitive". 16445 func (s VirtualGatewayData) String() string { 16446 return awsutil.Prettify(s) 16447 } 16448 16449 // GoString returns the string representation. 16450 // 16451 // API parameter values that are decorated as "sensitive" in the API will not 16452 // be included in the string output. The member name will be present, but the 16453 // value will be replaced with "sensitive". 16454 func (s VirtualGatewayData) GoString() string { 16455 return s.String() 16456 } 16457 16458 // SetMeshName sets the MeshName field's value. 16459 func (s *VirtualGatewayData) SetMeshName(v string) *VirtualGatewayData { 16460 s.MeshName = &v 16461 return s 16462 } 16463 16464 // SetMetadata sets the Metadata field's value. 16465 func (s *VirtualGatewayData) SetMetadata(v *ResourceMetadata) *VirtualGatewayData { 16466 s.Metadata = v 16467 return s 16468 } 16469 16470 // SetSpec sets the Spec field's value. 16471 func (s *VirtualGatewayData) SetSpec(v *VirtualGatewaySpec) *VirtualGatewayData { 16472 s.Spec = v 16473 return s 16474 } 16475 16476 // SetStatus sets the Status field's value. 16477 func (s *VirtualGatewayData) SetStatus(v *VirtualGatewayStatus) *VirtualGatewayData { 16478 s.Status = v 16479 return s 16480 } 16481 16482 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 16483 func (s *VirtualGatewayData) SetVirtualGatewayName(v string) *VirtualGatewayData { 16484 s.VirtualGatewayName = &v 16485 return s 16486 } 16487 16488 // An object that represents an access log file. 16489 type VirtualGatewayFileAccessLog struct { 16490 _ struct{} `type:"structure"` 16491 16492 // The file path to write access logs to. You can use /dev/stdout to send access 16493 // logs to standard out and configure your Envoy container to use a log driver, 16494 // such as awslogs, to export the access logs to a log storage service such 16495 // as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's 16496 // file system to write the files to disk. 16497 // 16498 // Path is a required field 16499 Path *string `locationName:"path" min:"1" type:"string" required:"true"` 16500 } 16501 16502 // String returns the string representation. 16503 // 16504 // API parameter values that are decorated as "sensitive" in the API will not 16505 // be included in the string output. The member name will be present, but the 16506 // value will be replaced with "sensitive". 16507 func (s VirtualGatewayFileAccessLog) String() string { 16508 return awsutil.Prettify(s) 16509 } 16510 16511 // GoString returns the string representation. 16512 // 16513 // API parameter values that are decorated as "sensitive" in the API will not 16514 // be included in the string output. The member name will be present, but the 16515 // value will be replaced with "sensitive". 16516 func (s VirtualGatewayFileAccessLog) GoString() string { 16517 return s.String() 16518 } 16519 16520 // Validate inspects the fields of the type to determine if they are valid. 16521 func (s *VirtualGatewayFileAccessLog) Validate() error { 16522 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayFileAccessLog"} 16523 if s.Path == nil { 16524 invalidParams.Add(request.NewErrParamRequired("Path")) 16525 } 16526 if s.Path != nil && len(*s.Path) < 1 { 16527 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 16528 } 16529 16530 if invalidParams.Len() > 0 { 16531 return invalidParams 16532 } 16533 return nil 16534 } 16535 16536 // SetPath sets the Path field's value. 16537 func (s *VirtualGatewayFileAccessLog) SetPath(v string) *VirtualGatewayFileAccessLog { 16538 s.Path = &v 16539 return s 16540 } 16541 16542 // An object that represents a type of connection pool. 16543 type VirtualGatewayGrpcConnectionPool struct { 16544 _ struct{} `type:"structure"` 16545 16546 // Maximum number of inflight requests Envoy can concurrently support across 16547 // hosts in upstream cluster. 16548 // 16549 // MaxRequests is a required field 16550 MaxRequests *int64 `locationName:"maxRequests" min:"1" type:"integer" required:"true"` 16551 } 16552 16553 // String returns the string representation. 16554 // 16555 // API parameter values that are decorated as "sensitive" in the API will not 16556 // be included in the string output. The member name will be present, but the 16557 // value will be replaced with "sensitive". 16558 func (s VirtualGatewayGrpcConnectionPool) String() string { 16559 return awsutil.Prettify(s) 16560 } 16561 16562 // GoString returns the string representation. 16563 // 16564 // API parameter values that are decorated as "sensitive" in the API will not 16565 // be included in the string output. The member name will be present, but the 16566 // value will be replaced with "sensitive". 16567 func (s VirtualGatewayGrpcConnectionPool) GoString() string { 16568 return s.String() 16569 } 16570 16571 // Validate inspects the fields of the type to determine if they are valid. 16572 func (s *VirtualGatewayGrpcConnectionPool) Validate() error { 16573 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayGrpcConnectionPool"} 16574 if s.MaxRequests == nil { 16575 invalidParams.Add(request.NewErrParamRequired("MaxRequests")) 16576 } 16577 if s.MaxRequests != nil && *s.MaxRequests < 1 { 16578 invalidParams.Add(request.NewErrParamMinValue("MaxRequests", 1)) 16579 } 16580 16581 if invalidParams.Len() > 0 { 16582 return invalidParams 16583 } 16584 return nil 16585 } 16586 16587 // SetMaxRequests sets the MaxRequests field's value. 16588 func (s *VirtualGatewayGrpcConnectionPool) SetMaxRequests(v int64) *VirtualGatewayGrpcConnectionPool { 16589 s.MaxRequests = &v 16590 return s 16591 } 16592 16593 // An object that represents the health check policy for a virtual gateway's 16594 // listener. 16595 type VirtualGatewayHealthCheckPolicy struct { 16596 _ struct{} `type:"structure"` 16597 16598 // The number of consecutive successful health checks that must occur before 16599 // declaring the listener healthy. 16600 // 16601 // HealthyThreshold is a required field 16602 HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` 16603 16604 // The time period in milliseconds between each health check execution. 16605 // 16606 // IntervalMillis is a required field 16607 IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` 16608 16609 // The destination path for the health check request. This value is only used 16610 // if the specified protocol is HTTP or HTTP/2. For any other protocol, this 16611 // value is ignored. 16612 Path *string `locationName:"path" type:"string"` 16613 16614 // The destination port for the health check request. This port must match the 16615 // port defined in the PortMapping for the listener. 16616 Port *int64 `locationName:"port" min:"1" type:"integer"` 16617 16618 // The protocol for the health check request. If you specify grpc, then your 16619 // service must conform to the GRPC Health Checking Protocol (https://github.com/grpc/grpc/blob/master/doc/health-checking.md). 16620 // 16621 // Protocol is a required field 16622 Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"VirtualGatewayPortProtocol"` 16623 16624 // The amount of time to wait when receiving a response from the health check, 16625 // in milliseconds. 16626 // 16627 // TimeoutMillis is a required field 16628 TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` 16629 16630 // The number of consecutive failed health checks that must occur before declaring 16631 // a virtual gateway unhealthy. 16632 // 16633 // UnhealthyThreshold is a required field 16634 UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` 16635 } 16636 16637 // String returns the string representation. 16638 // 16639 // API parameter values that are decorated as "sensitive" in the API will not 16640 // be included in the string output. The member name will be present, but the 16641 // value will be replaced with "sensitive". 16642 func (s VirtualGatewayHealthCheckPolicy) String() string { 16643 return awsutil.Prettify(s) 16644 } 16645 16646 // GoString returns the string representation. 16647 // 16648 // API parameter values that are decorated as "sensitive" in the API will not 16649 // be included in the string output. The member name will be present, but the 16650 // value will be replaced with "sensitive". 16651 func (s VirtualGatewayHealthCheckPolicy) GoString() string { 16652 return s.String() 16653 } 16654 16655 // Validate inspects the fields of the type to determine if they are valid. 16656 func (s *VirtualGatewayHealthCheckPolicy) Validate() error { 16657 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayHealthCheckPolicy"} 16658 if s.HealthyThreshold == nil { 16659 invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) 16660 } 16661 if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { 16662 invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) 16663 } 16664 if s.IntervalMillis == nil { 16665 invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) 16666 } 16667 if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { 16668 invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) 16669 } 16670 if s.Port != nil && *s.Port < 1 { 16671 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 16672 } 16673 if s.Protocol == nil { 16674 invalidParams.Add(request.NewErrParamRequired("Protocol")) 16675 } 16676 if s.TimeoutMillis == nil { 16677 invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) 16678 } 16679 if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { 16680 invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) 16681 } 16682 if s.UnhealthyThreshold == nil { 16683 invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) 16684 } 16685 if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { 16686 invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) 16687 } 16688 16689 if invalidParams.Len() > 0 { 16690 return invalidParams 16691 } 16692 return nil 16693 } 16694 16695 // SetHealthyThreshold sets the HealthyThreshold field's value. 16696 func (s *VirtualGatewayHealthCheckPolicy) SetHealthyThreshold(v int64) *VirtualGatewayHealthCheckPolicy { 16697 s.HealthyThreshold = &v 16698 return s 16699 } 16700 16701 // SetIntervalMillis sets the IntervalMillis field's value. 16702 func (s *VirtualGatewayHealthCheckPolicy) SetIntervalMillis(v int64) *VirtualGatewayHealthCheckPolicy { 16703 s.IntervalMillis = &v 16704 return s 16705 } 16706 16707 // SetPath sets the Path field's value. 16708 func (s *VirtualGatewayHealthCheckPolicy) SetPath(v string) *VirtualGatewayHealthCheckPolicy { 16709 s.Path = &v 16710 return s 16711 } 16712 16713 // SetPort sets the Port field's value. 16714 func (s *VirtualGatewayHealthCheckPolicy) SetPort(v int64) *VirtualGatewayHealthCheckPolicy { 16715 s.Port = &v 16716 return s 16717 } 16718 16719 // SetProtocol sets the Protocol field's value. 16720 func (s *VirtualGatewayHealthCheckPolicy) SetProtocol(v string) *VirtualGatewayHealthCheckPolicy { 16721 s.Protocol = &v 16722 return s 16723 } 16724 16725 // SetTimeoutMillis sets the TimeoutMillis field's value. 16726 func (s *VirtualGatewayHealthCheckPolicy) SetTimeoutMillis(v int64) *VirtualGatewayHealthCheckPolicy { 16727 s.TimeoutMillis = &v 16728 return s 16729 } 16730 16731 // SetUnhealthyThreshold sets the UnhealthyThreshold field's value. 16732 func (s *VirtualGatewayHealthCheckPolicy) SetUnhealthyThreshold(v int64) *VirtualGatewayHealthCheckPolicy { 16733 s.UnhealthyThreshold = &v 16734 return s 16735 } 16736 16737 // An object that represents a type of connection pool. 16738 type VirtualGatewayHttp2ConnectionPool struct { 16739 _ struct{} `type:"structure"` 16740 16741 // Maximum number of inflight requests Envoy can concurrently support across 16742 // hosts in upstream cluster. 16743 // 16744 // MaxRequests is a required field 16745 MaxRequests *int64 `locationName:"maxRequests" min:"1" type:"integer" required:"true"` 16746 } 16747 16748 // String returns the string representation. 16749 // 16750 // API parameter values that are decorated as "sensitive" in the API will not 16751 // be included in the string output. The member name will be present, but the 16752 // value will be replaced with "sensitive". 16753 func (s VirtualGatewayHttp2ConnectionPool) String() string { 16754 return awsutil.Prettify(s) 16755 } 16756 16757 // GoString returns the string representation. 16758 // 16759 // API parameter values that are decorated as "sensitive" in the API will not 16760 // be included in the string output. The member name will be present, but the 16761 // value will be replaced with "sensitive". 16762 func (s VirtualGatewayHttp2ConnectionPool) GoString() string { 16763 return s.String() 16764 } 16765 16766 // Validate inspects the fields of the type to determine if they are valid. 16767 func (s *VirtualGatewayHttp2ConnectionPool) Validate() error { 16768 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayHttp2ConnectionPool"} 16769 if s.MaxRequests == nil { 16770 invalidParams.Add(request.NewErrParamRequired("MaxRequests")) 16771 } 16772 if s.MaxRequests != nil && *s.MaxRequests < 1 { 16773 invalidParams.Add(request.NewErrParamMinValue("MaxRequests", 1)) 16774 } 16775 16776 if invalidParams.Len() > 0 { 16777 return invalidParams 16778 } 16779 return nil 16780 } 16781 16782 // SetMaxRequests sets the MaxRequests field's value. 16783 func (s *VirtualGatewayHttp2ConnectionPool) SetMaxRequests(v int64) *VirtualGatewayHttp2ConnectionPool { 16784 s.MaxRequests = &v 16785 return s 16786 } 16787 16788 // An object that represents a type of connection pool. 16789 type VirtualGatewayHttpConnectionPool struct { 16790 _ struct{} `type:"structure"` 16791 16792 // Maximum number of outbound TCP connections Envoy can establish concurrently 16793 // with all hosts in upstream cluster. 16794 // 16795 // MaxConnections is a required field 16796 MaxConnections *int64 `locationName:"maxConnections" min:"1" type:"integer" required:"true"` 16797 16798 // Number of overflowing requests after max_connections Envoy will queue to 16799 // upstream cluster. 16800 MaxPendingRequests *int64 `locationName:"maxPendingRequests" min:"1" type:"integer"` 16801 } 16802 16803 // String returns the string representation. 16804 // 16805 // API parameter values that are decorated as "sensitive" in the API will not 16806 // be included in the string output. The member name will be present, but the 16807 // value will be replaced with "sensitive". 16808 func (s VirtualGatewayHttpConnectionPool) String() string { 16809 return awsutil.Prettify(s) 16810 } 16811 16812 // GoString returns the string representation. 16813 // 16814 // API parameter values that are decorated as "sensitive" in the API will not 16815 // be included in the string output. The member name will be present, but the 16816 // value will be replaced with "sensitive". 16817 func (s VirtualGatewayHttpConnectionPool) GoString() string { 16818 return s.String() 16819 } 16820 16821 // Validate inspects the fields of the type to determine if they are valid. 16822 func (s *VirtualGatewayHttpConnectionPool) Validate() error { 16823 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayHttpConnectionPool"} 16824 if s.MaxConnections == nil { 16825 invalidParams.Add(request.NewErrParamRequired("MaxConnections")) 16826 } 16827 if s.MaxConnections != nil && *s.MaxConnections < 1 { 16828 invalidParams.Add(request.NewErrParamMinValue("MaxConnections", 1)) 16829 } 16830 if s.MaxPendingRequests != nil && *s.MaxPendingRequests < 1 { 16831 invalidParams.Add(request.NewErrParamMinValue("MaxPendingRequests", 1)) 16832 } 16833 16834 if invalidParams.Len() > 0 { 16835 return invalidParams 16836 } 16837 return nil 16838 } 16839 16840 // SetMaxConnections sets the MaxConnections field's value. 16841 func (s *VirtualGatewayHttpConnectionPool) SetMaxConnections(v int64) *VirtualGatewayHttpConnectionPool { 16842 s.MaxConnections = &v 16843 return s 16844 } 16845 16846 // SetMaxPendingRequests sets the MaxPendingRequests field's value. 16847 func (s *VirtualGatewayHttpConnectionPool) SetMaxPendingRequests(v int64) *VirtualGatewayHttpConnectionPool { 16848 s.MaxPendingRequests = &v 16849 return s 16850 } 16851 16852 // An object that represents a listener for a virtual gateway. 16853 type VirtualGatewayListener struct { 16854 _ struct{} `type:"structure"` 16855 16856 // The connection pool information for the virtual gateway listener. 16857 ConnectionPool *VirtualGatewayConnectionPool `locationName:"connectionPool" type:"structure"` 16858 16859 // The health check information for the listener. 16860 HealthCheck *VirtualGatewayHealthCheckPolicy `locationName:"healthCheck" type:"structure"` 16861 16862 // The port mapping information for the listener. 16863 // 16864 // PortMapping is a required field 16865 PortMapping *VirtualGatewayPortMapping `locationName:"portMapping" type:"structure" required:"true"` 16866 16867 // A reference to an object that represents the Transport Layer Security (TLS) 16868 // properties for the listener. 16869 Tls *VirtualGatewayListenerTls `locationName:"tls" type:"structure"` 16870 } 16871 16872 // String returns the string representation. 16873 // 16874 // API parameter values that are decorated as "sensitive" in the API will not 16875 // be included in the string output. The member name will be present, but the 16876 // value will be replaced with "sensitive". 16877 func (s VirtualGatewayListener) String() string { 16878 return awsutil.Prettify(s) 16879 } 16880 16881 // GoString returns the string representation. 16882 // 16883 // API parameter values that are decorated as "sensitive" in the API will not 16884 // be included in the string output. The member name will be present, but the 16885 // value will be replaced with "sensitive". 16886 func (s VirtualGatewayListener) GoString() string { 16887 return s.String() 16888 } 16889 16890 // Validate inspects the fields of the type to determine if they are valid. 16891 func (s *VirtualGatewayListener) Validate() error { 16892 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListener"} 16893 if s.PortMapping == nil { 16894 invalidParams.Add(request.NewErrParamRequired("PortMapping")) 16895 } 16896 if s.ConnectionPool != nil { 16897 if err := s.ConnectionPool.Validate(); err != nil { 16898 invalidParams.AddNested("ConnectionPool", err.(request.ErrInvalidParams)) 16899 } 16900 } 16901 if s.HealthCheck != nil { 16902 if err := s.HealthCheck.Validate(); err != nil { 16903 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 16904 } 16905 } 16906 if s.PortMapping != nil { 16907 if err := s.PortMapping.Validate(); err != nil { 16908 invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) 16909 } 16910 } 16911 if s.Tls != nil { 16912 if err := s.Tls.Validate(); err != nil { 16913 invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) 16914 } 16915 } 16916 16917 if invalidParams.Len() > 0 { 16918 return invalidParams 16919 } 16920 return nil 16921 } 16922 16923 // SetConnectionPool sets the ConnectionPool field's value. 16924 func (s *VirtualGatewayListener) SetConnectionPool(v *VirtualGatewayConnectionPool) *VirtualGatewayListener { 16925 s.ConnectionPool = v 16926 return s 16927 } 16928 16929 // SetHealthCheck sets the HealthCheck field's value. 16930 func (s *VirtualGatewayListener) SetHealthCheck(v *VirtualGatewayHealthCheckPolicy) *VirtualGatewayListener { 16931 s.HealthCheck = v 16932 return s 16933 } 16934 16935 // SetPortMapping sets the PortMapping field's value. 16936 func (s *VirtualGatewayListener) SetPortMapping(v *VirtualGatewayPortMapping) *VirtualGatewayListener { 16937 s.PortMapping = v 16938 return s 16939 } 16940 16941 // SetTls sets the Tls field's value. 16942 func (s *VirtualGatewayListener) SetTls(v *VirtualGatewayListenerTls) *VirtualGatewayListener { 16943 s.Tls = v 16944 return s 16945 } 16946 16947 // An object that represents the Transport Layer Security (TLS) properties for 16948 // a listener. 16949 type VirtualGatewayListenerTls struct { 16950 _ struct{} `type:"structure"` 16951 16952 // An object that represents a Transport Layer Security (TLS) certificate. 16953 // 16954 // Certificate is a required field 16955 Certificate *VirtualGatewayListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"` 16956 16957 // Specify one of the following modes. 16958 // 16959 // * STRICT – Listener only accepts connections with TLS enabled. 16960 // 16961 // * PERMISSIVE – Listener accepts connections with or without TLS enabled. 16962 // 16963 // * DISABLED – Listener only accepts connections without TLS. 16964 // 16965 // Mode is a required field 16966 Mode *string `locationName:"mode" type:"string" required:"true" enum:"VirtualGatewayListenerTlsMode"` 16967 16968 // A reference to an object that represents a virtual gateway's listener's Transport 16969 // Layer Security (TLS) validation context. 16970 Validation *VirtualGatewayListenerTlsValidationContext `locationName:"validation" type:"structure"` 16971 } 16972 16973 // String returns the string representation. 16974 // 16975 // API parameter values that are decorated as "sensitive" in the API will not 16976 // be included in the string output. The member name will be present, but the 16977 // value will be replaced with "sensitive". 16978 func (s VirtualGatewayListenerTls) String() string { 16979 return awsutil.Prettify(s) 16980 } 16981 16982 // GoString returns the string representation. 16983 // 16984 // API parameter values that are decorated as "sensitive" in the API will not 16985 // be included in the string output. The member name will be present, but the 16986 // value will be replaced with "sensitive". 16987 func (s VirtualGatewayListenerTls) GoString() string { 16988 return s.String() 16989 } 16990 16991 // Validate inspects the fields of the type to determine if they are valid. 16992 func (s *VirtualGatewayListenerTls) Validate() error { 16993 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTls"} 16994 if s.Certificate == nil { 16995 invalidParams.Add(request.NewErrParamRequired("Certificate")) 16996 } 16997 if s.Mode == nil { 16998 invalidParams.Add(request.NewErrParamRequired("Mode")) 16999 } 17000 if s.Certificate != nil { 17001 if err := s.Certificate.Validate(); err != nil { 17002 invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) 17003 } 17004 } 17005 if s.Validation != nil { 17006 if err := s.Validation.Validate(); err != nil { 17007 invalidParams.AddNested("Validation", err.(request.ErrInvalidParams)) 17008 } 17009 } 17010 17011 if invalidParams.Len() > 0 { 17012 return invalidParams 17013 } 17014 return nil 17015 } 17016 17017 // SetCertificate sets the Certificate field's value. 17018 func (s *VirtualGatewayListenerTls) SetCertificate(v *VirtualGatewayListenerTlsCertificate) *VirtualGatewayListenerTls { 17019 s.Certificate = v 17020 return s 17021 } 17022 17023 // SetMode sets the Mode field's value. 17024 func (s *VirtualGatewayListenerTls) SetMode(v string) *VirtualGatewayListenerTls { 17025 s.Mode = &v 17026 return s 17027 } 17028 17029 // SetValidation sets the Validation field's value. 17030 func (s *VirtualGatewayListenerTls) SetValidation(v *VirtualGatewayListenerTlsValidationContext) *VirtualGatewayListenerTls { 17031 s.Validation = v 17032 return s 17033 } 17034 17035 // An object that represents an Certificate Manager certificate. 17036 type VirtualGatewayListenerTlsAcmCertificate struct { 17037 _ struct{} `type:"structure"` 17038 17039 // The Amazon Resource Name (ARN) for the certificate. The certificate must 17040 // meet specific requirements and you must have proxy authorization enabled. 17041 // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). 17042 // 17043 // CertificateArn is a required field 17044 CertificateArn *string `locationName:"certificateArn" type:"string" required:"true"` 17045 } 17046 17047 // String returns the string representation. 17048 // 17049 // API parameter values that are decorated as "sensitive" in the API will not 17050 // be included in the string output. The member name will be present, but the 17051 // value will be replaced with "sensitive". 17052 func (s VirtualGatewayListenerTlsAcmCertificate) String() string { 17053 return awsutil.Prettify(s) 17054 } 17055 17056 // GoString returns the string representation. 17057 // 17058 // API parameter values that are decorated as "sensitive" in the API will not 17059 // be included in the string output. The member name will be present, but the 17060 // value will be replaced with "sensitive". 17061 func (s VirtualGatewayListenerTlsAcmCertificate) GoString() string { 17062 return s.String() 17063 } 17064 17065 // Validate inspects the fields of the type to determine if they are valid. 17066 func (s *VirtualGatewayListenerTlsAcmCertificate) Validate() error { 17067 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsAcmCertificate"} 17068 if s.CertificateArn == nil { 17069 invalidParams.Add(request.NewErrParamRequired("CertificateArn")) 17070 } 17071 17072 if invalidParams.Len() > 0 { 17073 return invalidParams 17074 } 17075 return nil 17076 } 17077 17078 // SetCertificateArn sets the CertificateArn field's value. 17079 func (s *VirtualGatewayListenerTlsAcmCertificate) SetCertificateArn(v string) *VirtualGatewayListenerTlsAcmCertificate { 17080 s.CertificateArn = &v 17081 return s 17082 } 17083 17084 // An object that represents a listener's Transport Layer Security (TLS) certificate. 17085 type VirtualGatewayListenerTlsCertificate struct { 17086 _ struct{} `type:"structure"` 17087 17088 // A reference to an object that represents an Certificate Manager certificate. 17089 Acm *VirtualGatewayListenerTlsAcmCertificate `locationName:"acm" type:"structure"` 17090 17091 // A reference to an object that represents a local file certificate. 17092 File *VirtualGatewayListenerTlsFileCertificate `locationName:"file" type:"structure"` 17093 17094 // A reference to an object that represents a virtual gateway's listener's Secret 17095 // Discovery Service certificate. 17096 Sds *VirtualGatewayListenerTlsSdsCertificate `locationName:"sds" type:"structure"` 17097 } 17098 17099 // String returns the string representation. 17100 // 17101 // API parameter values that are decorated as "sensitive" in the API will not 17102 // be included in the string output. The member name will be present, but the 17103 // value will be replaced with "sensitive". 17104 func (s VirtualGatewayListenerTlsCertificate) String() string { 17105 return awsutil.Prettify(s) 17106 } 17107 17108 // GoString returns the string representation. 17109 // 17110 // API parameter values that are decorated as "sensitive" in the API will not 17111 // be included in the string output. The member name will be present, but the 17112 // value will be replaced with "sensitive". 17113 func (s VirtualGatewayListenerTlsCertificate) GoString() string { 17114 return s.String() 17115 } 17116 17117 // Validate inspects the fields of the type to determine if they are valid. 17118 func (s *VirtualGatewayListenerTlsCertificate) Validate() error { 17119 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsCertificate"} 17120 if s.Acm != nil { 17121 if err := s.Acm.Validate(); err != nil { 17122 invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) 17123 } 17124 } 17125 if s.File != nil { 17126 if err := s.File.Validate(); err != nil { 17127 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 17128 } 17129 } 17130 if s.Sds != nil { 17131 if err := s.Sds.Validate(); err != nil { 17132 invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) 17133 } 17134 } 17135 17136 if invalidParams.Len() > 0 { 17137 return invalidParams 17138 } 17139 return nil 17140 } 17141 17142 // SetAcm sets the Acm field's value. 17143 func (s *VirtualGatewayListenerTlsCertificate) SetAcm(v *VirtualGatewayListenerTlsAcmCertificate) *VirtualGatewayListenerTlsCertificate { 17144 s.Acm = v 17145 return s 17146 } 17147 17148 // SetFile sets the File field's value. 17149 func (s *VirtualGatewayListenerTlsCertificate) SetFile(v *VirtualGatewayListenerTlsFileCertificate) *VirtualGatewayListenerTlsCertificate { 17150 s.File = v 17151 return s 17152 } 17153 17154 // SetSds sets the Sds field's value. 17155 func (s *VirtualGatewayListenerTlsCertificate) SetSds(v *VirtualGatewayListenerTlsSdsCertificate) *VirtualGatewayListenerTlsCertificate { 17156 s.Sds = v 17157 return s 17158 } 17159 17160 // An object that represents a local file certificate. The certificate must 17161 // meet specific requirements and you must have proxy authorization enabled. 17162 // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). 17163 type VirtualGatewayListenerTlsFileCertificate struct { 17164 _ struct{} `type:"structure"` 17165 17166 // The certificate chain for the certificate. 17167 // 17168 // CertificateChain is a required field 17169 CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` 17170 17171 // The private key for a certificate stored on the file system of the mesh endpoint 17172 // that the proxy is running on. 17173 // 17174 // PrivateKey is a required field 17175 PrivateKey *string `locationName:"privateKey" min:"1" type:"string" required:"true"` 17176 } 17177 17178 // String returns the string representation. 17179 // 17180 // API parameter values that are decorated as "sensitive" in the API will not 17181 // be included in the string output. The member name will be present, but the 17182 // value will be replaced with "sensitive". 17183 func (s VirtualGatewayListenerTlsFileCertificate) String() string { 17184 return awsutil.Prettify(s) 17185 } 17186 17187 // GoString returns the string representation. 17188 // 17189 // API parameter values that are decorated as "sensitive" in the API will not 17190 // be included in the string output. The member name will be present, but the 17191 // value will be replaced with "sensitive". 17192 func (s VirtualGatewayListenerTlsFileCertificate) GoString() string { 17193 return s.String() 17194 } 17195 17196 // Validate inspects the fields of the type to determine if they are valid. 17197 func (s *VirtualGatewayListenerTlsFileCertificate) Validate() error { 17198 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsFileCertificate"} 17199 if s.CertificateChain == nil { 17200 invalidParams.Add(request.NewErrParamRequired("CertificateChain")) 17201 } 17202 if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { 17203 invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) 17204 } 17205 if s.PrivateKey == nil { 17206 invalidParams.Add(request.NewErrParamRequired("PrivateKey")) 17207 } 17208 if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { 17209 invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) 17210 } 17211 17212 if invalidParams.Len() > 0 { 17213 return invalidParams 17214 } 17215 return nil 17216 } 17217 17218 // SetCertificateChain sets the CertificateChain field's value. 17219 func (s *VirtualGatewayListenerTlsFileCertificate) SetCertificateChain(v string) *VirtualGatewayListenerTlsFileCertificate { 17220 s.CertificateChain = &v 17221 return s 17222 } 17223 17224 // SetPrivateKey sets the PrivateKey field's value. 17225 func (s *VirtualGatewayListenerTlsFileCertificate) SetPrivateKey(v string) *VirtualGatewayListenerTlsFileCertificate { 17226 s.PrivateKey = &v 17227 return s 17228 } 17229 17230 // An object that represents the virtual gateway's listener's Secret Discovery 17231 // Service certificate.The proxy must be configured with a local SDS provider 17232 // via a Unix Domain Socket. See App MeshTLS documentation (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) 17233 // for more info. 17234 type VirtualGatewayListenerTlsSdsCertificate struct { 17235 _ struct{} `type:"structure"` 17236 17237 // A reference to an object that represents the name of the secret secret requested 17238 // from the Secret Discovery Service provider representing Transport Layer Security 17239 // (TLS) materials like a certificate or certificate chain. 17240 // 17241 // SecretName is a required field 17242 SecretName *string `locationName:"secretName" type:"string" required:"true"` 17243 } 17244 17245 // String returns the string representation. 17246 // 17247 // API parameter values that are decorated as "sensitive" in the API will not 17248 // be included in the string output. The member name will be present, but the 17249 // value will be replaced with "sensitive". 17250 func (s VirtualGatewayListenerTlsSdsCertificate) String() string { 17251 return awsutil.Prettify(s) 17252 } 17253 17254 // GoString returns the string representation. 17255 // 17256 // API parameter values that are decorated as "sensitive" in the API will not 17257 // be included in the string output. The member name will be present, but the 17258 // value will be replaced with "sensitive". 17259 func (s VirtualGatewayListenerTlsSdsCertificate) GoString() string { 17260 return s.String() 17261 } 17262 17263 // Validate inspects the fields of the type to determine if they are valid. 17264 func (s *VirtualGatewayListenerTlsSdsCertificate) Validate() error { 17265 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsSdsCertificate"} 17266 if s.SecretName == nil { 17267 invalidParams.Add(request.NewErrParamRequired("SecretName")) 17268 } 17269 17270 if invalidParams.Len() > 0 { 17271 return invalidParams 17272 } 17273 return nil 17274 } 17275 17276 // SetSecretName sets the SecretName field's value. 17277 func (s *VirtualGatewayListenerTlsSdsCertificate) SetSecretName(v string) *VirtualGatewayListenerTlsSdsCertificate { 17278 s.SecretName = &v 17279 return s 17280 } 17281 17282 // An object that represents a virtual gateway's listener's Transport Layer 17283 // Security (TLS) validation context. 17284 type VirtualGatewayListenerTlsValidationContext struct { 17285 _ struct{} `type:"structure"` 17286 17287 // A reference to an object that represents the SANs for a virtual gateway listener's 17288 // Transport Layer Security (TLS) validation context. 17289 SubjectAlternativeNames *SubjectAlternativeNames `locationName:"subjectAlternativeNames" type:"structure"` 17290 17291 // A reference to where to retrieve the trust chain when validating a peer’s 17292 // Transport Layer Security (TLS) certificate. 17293 // 17294 // Trust is a required field 17295 Trust *VirtualGatewayListenerTlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"` 17296 } 17297 17298 // String returns the string representation. 17299 // 17300 // API parameter values that are decorated as "sensitive" in the API will not 17301 // be included in the string output. The member name will be present, but the 17302 // value will be replaced with "sensitive". 17303 func (s VirtualGatewayListenerTlsValidationContext) String() string { 17304 return awsutil.Prettify(s) 17305 } 17306 17307 // GoString returns the string representation. 17308 // 17309 // API parameter values that are decorated as "sensitive" in the API will not 17310 // be included in the string output. The member name will be present, but the 17311 // value will be replaced with "sensitive". 17312 func (s VirtualGatewayListenerTlsValidationContext) GoString() string { 17313 return s.String() 17314 } 17315 17316 // Validate inspects the fields of the type to determine if they are valid. 17317 func (s *VirtualGatewayListenerTlsValidationContext) Validate() error { 17318 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsValidationContext"} 17319 if s.Trust == nil { 17320 invalidParams.Add(request.NewErrParamRequired("Trust")) 17321 } 17322 if s.SubjectAlternativeNames != nil { 17323 if err := s.SubjectAlternativeNames.Validate(); err != nil { 17324 invalidParams.AddNested("SubjectAlternativeNames", err.(request.ErrInvalidParams)) 17325 } 17326 } 17327 if s.Trust != nil { 17328 if err := s.Trust.Validate(); err != nil { 17329 invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) 17330 } 17331 } 17332 17333 if invalidParams.Len() > 0 { 17334 return invalidParams 17335 } 17336 return nil 17337 } 17338 17339 // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. 17340 func (s *VirtualGatewayListenerTlsValidationContext) SetSubjectAlternativeNames(v *SubjectAlternativeNames) *VirtualGatewayListenerTlsValidationContext { 17341 s.SubjectAlternativeNames = v 17342 return s 17343 } 17344 17345 // SetTrust sets the Trust field's value. 17346 func (s *VirtualGatewayListenerTlsValidationContext) SetTrust(v *VirtualGatewayListenerTlsValidationContextTrust) *VirtualGatewayListenerTlsValidationContext { 17347 s.Trust = v 17348 return s 17349 } 17350 17351 // An object that represents a virtual gateway's listener's Transport Layer 17352 // Security (TLS) validation context trust. 17353 type VirtualGatewayListenerTlsValidationContextTrust struct { 17354 _ struct{} `type:"structure"` 17355 17356 // An object that represents a Transport Layer Security (TLS) validation context 17357 // trust for a local file. 17358 File *VirtualGatewayTlsValidationContextFileTrust `locationName:"file" type:"structure"` 17359 17360 // A reference to an object that represents a virtual gateway's listener's Transport 17361 // Layer Security (TLS) Secret Discovery Service validation context trust. 17362 Sds *VirtualGatewayTlsValidationContextSdsTrust `locationName:"sds" type:"structure"` 17363 } 17364 17365 // String returns the string representation. 17366 // 17367 // API parameter values that are decorated as "sensitive" in the API will not 17368 // be included in the string output. The member name will be present, but the 17369 // value will be replaced with "sensitive". 17370 func (s VirtualGatewayListenerTlsValidationContextTrust) String() string { 17371 return awsutil.Prettify(s) 17372 } 17373 17374 // GoString returns the string representation. 17375 // 17376 // API parameter values that are decorated as "sensitive" in the API will not 17377 // be included in the string output. The member name will be present, but the 17378 // value will be replaced with "sensitive". 17379 func (s VirtualGatewayListenerTlsValidationContextTrust) GoString() string { 17380 return s.String() 17381 } 17382 17383 // Validate inspects the fields of the type to determine if they are valid. 17384 func (s *VirtualGatewayListenerTlsValidationContextTrust) Validate() error { 17385 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsValidationContextTrust"} 17386 if s.File != nil { 17387 if err := s.File.Validate(); err != nil { 17388 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 17389 } 17390 } 17391 if s.Sds != nil { 17392 if err := s.Sds.Validate(); err != nil { 17393 invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) 17394 } 17395 } 17396 17397 if invalidParams.Len() > 0 { 17398 return invalidParams 17399 } 17400 return nil 17401 } 17402 17403 // SetFile sets the File field's value. 17404 func (s *VirtualGatewayListenerTlsValidationContextTrust) SetFile(v *VirtualGatewayTlsValidationContextFileTrust) *VirtualGatewayListenerTlsValidationContextTrust { 17405 s.File = v 17406 return s 17407 } 17408 17409 // SetSds sets the Sds field's value. 17410 func (s *VirtualGatewayListenerTlsValidationContextTrust) SetSds(v *VirtualGatewayTlsValidationContextSdsTrust) *VirtualGatewayListenerTlsValidationContextTrust { 17411 s.Sds = v 17412 return s 17413 } 17414 17415 // An object that represents logging information. 17416 type VirtualGatewayLogging struct { 17417 _ struct{} `type:"structure"` 17418 17419 // The access log configuration. 17420 AccessLog *VirtualGatewayAccessLog `locationName:"accessLog" type:"structure"` 17421 } 17422 17423 // String returns the string representation. 17424 // 17425 // API parameter values that are decorated as "sensitive" in the API will not 17426 // be included in the string output. The member name will be present, but the 17427 // value will be replaced with "sensitive". 17428 func (s VirtualGatewayLogging) String() string { 17429 return awsutil.Prettify(s) 17430 } 17431 17432 // GoString returns the string representation. 17433 // 17434 // API parameter values that are decorated as "sensitive" in the API will not 17435 // be included in the string output. The member name will be present, but the 17436 // value will be replaced with "sensitive". 17437 func (s VirtualGatewayLogging) GoString() string { 17438 return s.String() 17439 } 17440 17441 // Validate inspects the fields of the type to determine if they are valid. 17442 func (s *VirtualGatewayLogging) Validate() error { 17443 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayLogging"} 17444 if s.AccessLog != nil { 17445 if err := s.AccessLog.Validate(); err != nil { 17446 invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) 17447 } 17448 } 17449 17450 if invalidParams.Len() > 0 { 17451 return invalidParams 17452 } 17453 return nil 17454 } 17455 17456 // SetAccessLog sets the AccessLog field's value. 17457 func (s *VirtualGatewayLogging) SetAccessLog(v *VirtualGatewayAccessLog) *VirtualGatewayLogging { 17458 s.AccessLog = v 17459 return s 17460 } 17461 17462 // An object that represents a port mapping. 17463 type VirtualGatewayPortMapping struct { 17464 _ struct{} `type:"structure"` 17465 17466 // The port used for the port mapping. Specify one protocol. 17467 // 17468 // Port is a required field 17469 Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` 17470 17471 // The protocol used for the port mapping. 17472 // 17473 // Protocol is a required field 17474 Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"VirtualGatewayPortProtocol"` 17475 } 17476 17477 // String returns the string representation. 17478 // 17479 // API parameter values that are decorated as "sensitive" in the API will not 17480 // be included in the string output. The member name will be present, but the 17481 // value will be replaced with "sensitive". 17482 func (s VirtualGatewayPortMapping) String() string { 17483 return awsutil.Prettify(s) 17484 } 17485 17486 // GoString returns the string representation. 17487 // 17488 // API parameter values that are decorated as "sensitive" in the API will not 17489 // be included in the string output. The member name will be present, but the 17490 // value will be replaced with "sensitive". 17491 func (s VirtualGatewayPortMapping) GoString() string { 17492 return s.String() 17493 } 17494 17495 // Validate inspects the fields of the type to determine if they are valid. 17496 func (s *VirtualGatewayPortMapping) Validate() error { 17497 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayPortMapping"} 17498 if s.Port == nil { 17499 invalidParams.Add(request.NewErrParamRequired("Port")) 17500 } 17501 if s.Port != nil && *s.Port < 1 { 17502 invalidParams.Add(request.NewErrParamMinValue("Port", 1)) 17503 } 17504 if s.Protocol == nil { 17505 invalidParams.Add(request.NewErrParamRequired("Protocol")) 17506 } 17507 17508 if invalidParams.Len() > 0 { 17509 return invalidParams 17510 } 17511 return nil 17512 } 17513 17514 // SetPort sets the Port field's value. 17515 func (s *VirtualGatewayPortMapping) SetPort(v int64) *VirtualGatewayPortMapping { 17516 s.Port = &v 17517 return s 17518 } 17519 17520 // SetProtocol sets the Protocol field's value. 17521 func (s *VirtualGatewayPortMapping) SetProtocol(v string) *VirtualGatewayPortMapping { 17522 s.Protocol = &v 17523 return s 17524 } 17525 17526 // An object that represents a virtual gateway returned by a list operation. 17527 type VirtualGatewayRef struct { 17528 _ struct{} `type:"structure"` 17529 17530 // The full Amazon Resource Name (ARN) for the resource. 17531 // 17532 // Arn is a required field 17533 Arn *string `locationName:"arn" type:"string" required:"true"` 17534 17535 // The Unix epoch timestamp in seconds for when the resource was created. 17536 // 17537 // CreatedAt is a required field 17538 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` 17539 17540 // The Unix epoch timestamp in seconds for when the resource was last updated. 17541 // 17542 // LastUpdatedAt is a required field 17543 LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` 17544 17545 // The name of the service mesh that the resource resides in. 17546 // 17547 // MeshName is a required field 17548 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 17549 17550 // The AWS IAM account ID of the service mesh owner. If the account ID is not 17551 // your own, then it's the ID of the account that shared the mesh with your 17552 // account. For more information about mesh sharing, see Working with shared 17553 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 17554 // 17555 // MeshOwner is a required field 17556 MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` 17557 17558 // The AWS IAM account ID of the resource owner. If the account ID is not your 17559 // own, then it's the ID of the mesh owner or of another account that the mesh 17560 // is shared with. For more information about mesh sharing, see Working with 17561 // shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 17562 // 17563 // ResourceOwner is a required field 17564 ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` 17565 17566 // The version of the resource. Resources are created at version 1, and this 17567 // version is incremented each time that they're updated. 17568 // 17569 // Version is a required field 17570 Version *int64 `locationName:"version" type:"long" required:"true"` 17571 17572 // The name of the resource. 17573 // 17574 // VirtualGatewayName is a required field 17575 VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` 17576 } 17577 17578 // String returns the string representation. 17579 // 17580 // API parameter values that are decorated as "sensitive" in the API will not 17581 // be included in the string output. The member name will be present, but the 17582 // value will be replaced with "sensitive". 17583 func (s VirtualGatewayRef) String() string { 17584 return awsutil.Prettify(s) 17585 } 17586 17587 // GoString returns the string representation. 17588 // 17589 // API parameter values that are decorated as "sensitive" in the API will not 17590 // be included in the string output. The member name will be present, but the 17591 // value will be replaced with "sensitive". 17592 func (s VirtualGatewayRef) GoString() string { 17593 return s.String() 17594 } 17595 17596 // SetArn sets the Arn field's value. 17597 func (s *VirtualGatewayRef) SetArn(v string) *VirtualGatewayRef { 17598 s.Arn = &v 17599 return s 17600 } 17601 17602 // SetCreatedAt sets the CreatedAt field's value. 17603 func (s *VirtualGatewayRef) SetCreatedAt(v time.Time) *VirtualGatewayRef { 17604 s.CreatedAt = &v 17605 return s 17606 } 17607 17608 // SetLastUpdatedAt sets the LastUpdatedAt field's value. 17609 func (s *VirtualGatewayRef) SetLastUpdatedAt(v time.Time) *VirtualGatewayRef { 17610 s.LastUpdatedAt = &v 17611 return s 17612 } 17613 17614 // SetMeshName sets the MeshName field's value. 17615 func (s *VirtualGatewayRef) SetMeshName(v string) *VirtualGatewayRef { 17616 s.MeshName = &v 17617 return s 17618 } 17619 17620 // SetMeshOwner sets the MeshOwner field's value. 17621 func (s *VirtualGatewayRef) SetMeshOwner(v string) *VirtualGatewayRef { 17622 s.MeshOwner = &v 17623 return s 17624 } 17625 17626 // SetResourceOwner sets the ResourceOwner field's value. 17627 func (s *VirtualGatewayRef) SetResourceOwner(v string) *VirtualGatewayRef { 17628 s.ResourceOwner = &v 17629 return s 17630 } 17631 17632 // SetVersion sets the Version field's value. 17633 func (s *VirtualGatewayRef) SetVersion(v int64) *VirtualGatewayRef { 17634 s.Version = &v 17635 return s 17636 } 17637 17638 // SetVirtualGatewayName sets the VirtualGatewayName field's value. 17639 func (s *VirtualGatewayRef) SetVirtualGatewayName(v string) *VirtualGatewayRef { 17640 s.VirtualGatewayName = &v 17641 return s 17642 } 17643 17644 // An object that represents the specification of a service mesh resource. 17645 type VirtualGatewaySpec struct { 17646 _ struct{} `type:"structure"` 17647 17648 // A reference to an object that represents the defaults for backends. 17649 BackendDefaults *VirtualGatewayBackendDefaults `locationName:"backendDefaults" type:"structure"` 17650 17651 // The listeners that the mesh endpoint is expected to receive inbound traffic 17652 // from. You can specify one listener. 17653 // 17654 // Listeners is a required field 17655 Listeners []*VirtualGatewayListener `locationName:"listeners" type:"list" required:"true"` 17656 17657 // An object that represents logging information. 17658 Logging *VirtualGatewayLogging `locationName:"logging" type:"structure"` 17659 } 17660 17661 // String returns the string representation. 17662 // 17663 // API parameter values that are decorated as "sensitive" in the API will not 17664 // be included in the string output. The member name will be present, but the 17665 // value will be replaced with "sensitive". 17666 func (s VirtualGatewaySpec) String() string { 17667 return awsutil.Prettify(s) 17668 } 17669 17670 // GoString returns the string representation. 17671 // 17672 // API parameter values that are decorated as "sensitive" in the API will not 17673 // be included in the string output. The member name will be present, but the 17674 // value will be replaced with "sensitive". 17675 func (s VirtualGatewaySpec) GoString() string { 17676 return s.String() 17677 } 17678 17679 // Validate inspects the fields of the type to determine if they are valid. 17680 func (s *VirtualGatewaySpec) Validate() error { 17681 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewaySpec"} 17682 if s.Listeners == nil { 17683 invalidParams.Add(request.NewErrParamRequired("Listeners")) 17684 } 17685 if s.BackendDefaults != nil { 17686 if err := s.BackendDefaults.Validate(); err != nil { 17687 invalidParams.AddNested("BackendDefaults", err.(request.ErrInvalidParams)) 17688 } 17689 } 17690 if s.Listeners != nil { 17691 for i, v := range s.Listeners { 17692 if v == nil { 17693 continue 17694 } 17695 if err := v.Validate(); err != nil { 17696 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) 17697 } 17698 } 17699 } 17700 if s.Logging != nil { 17701 if err := s.Logging.Validate(); err != nil { 17702 invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) 17703 } 17704 } 17705 17706 if invalidParams.Len() > 0 { 17707 return invalidParams 17708 } 17709 return nil 17710 } 17711 17712 // SetBackendDefaults sets the BackendDefaults field's value. 17713 func (s *VirtualGatewaySpec) SetBackendDefaults(v *VirtualGatewayBackendDefaults) *VirtualGatewaySpec { 17714 s.BackendDefaults = v 17715 return s 17716 } 17717 17718 // SetListeners sets the Listeners field's value. 17719 func (s *VirtualGatewaySpec) SetListeners(v []*VirtualGatewayListener) *VirtualGatewaySpec { 17720 s.Listeners = v 17721 return s 17722 } 17723 17724 // SetLogging sets the Logging field's value. 17725 func (s *VirtualGatewaySpec) SetLogging(v *VirtualGatewayLogging) *VirtualGatewaySpec { 17726 s.Logging = v 17727 return s 17728 } 17729 17730 // An object that represents the status of the mesh resource. 17731 type VirtualGatewayStatus struct { 17732 _ struct{} `type:"structure"` 17733 17734 // The current status. 17735 // 17736 // Status is a required field 17737 Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualGatewayStatusCode"` 17738 } 17739 17740 // String returns the string representation. 17741 // 17742 // API parameter values that are decorated as "sensitive" in the API will not 17743 // be included in the string output. The member name will be present, but the 17744 // value will be replaced with "sensitive". 17745 func (s VirtualGatewayStatus) String() string { 17746 return awsutil.Prettify(s) 17747 } 17748 17749 // GoString returns the string representation. 17750 // 17751 // API parameter values that are decorated as "sensitive" in the API will not 17752 // be included in the string output. The member name will be present, but the 17753 // value will be replaced with "sensitive". 17754 func (s VirtualGatewayStatus) GoString() string { 17755 return s.String() 17756 } 17757 17758 // SetStatus sets the Status field's value. 17759 func (s *VirtualGatewayStatus) SetStatus(v string) *VirtualGatewayStatus { 17760 s.Status = &v 17761 return s 17762 } 17763 17764 // An object that represents a Transport Layer Security (TLS) validation context. 17765 type VirtualGatewayTlsValidationContext struct { 17766 _ struct{} `type:"structure"` 17767 17768 // A reference to an object that represents the SANs for a virtual gateway's 17769 // listener's Transport Layer Security (TLS) validation context. 17770 SubjectAlternativeNames *SubjectAlternativeNames `locationName:"subjectAlternativeNames" type:"structure"` 17771 17772 // A reference to where to retrieve the trust chain when validating a peer’s 17773 // Transport Layer Security (TLS) certificate. 17774 // 17775 // Trust is a required field 17776 Trust *VirtualGatewayTlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"` 17777 } 17778 17779 // String returns the string representation. 17780 // 17781 // API parameter values that are decorated as "sensitive" in the API will not 17782 // be included in the string output. The member name will be present, but the 17783 // value will be replaced with "sensitive". 17784 func (s VirtualGatewayTlsValidationContext) String() string { 17785 return awsutil.Prettify(s) 17786 } 17787 17788 // GoString returns the string representation. 17789 // 17790 // API parameter values that are decorated as "sensitive" in the API will not 17791 // be included in the string output. The member name will be present, but the 17792 // value will be replaced with "sensitive". 17793 func (s VirtualGatewayTlsValidationContext) GoString() string { 17794 return s.String() 17795 } 17796 17797 // Validate inspects the fields of the type to determine if they are valid. 17798 func (s *VirtualGatewayTlsValidationContext) Validate() error { 17799 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContext"} 17800 if s.Trust == nil { 17801 invalidParams.Add(request.NewErrParamRequired("Trust")) 17802 } 17803 if s.SubjectAlternativeNames != nil { 17804 if err := s.SubjectAlternativeNames.Validate(); err != nil { 17805 invalidParams.AddNested("SubjectAlternativeNames", err.(request.ErrInvalidParams)) 17806 } 17807 } 17808 if s.Trust != nil { 17809 if err := s.Trust.Validate(); err != nil { 17810 invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) 17811 } 17812 } 17813 17814 if invalidParams.Len() > 0 { 17815 return invalidParams 17816 } 17817 return nil 17818 } 17819 17820 // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. 17821 func (s *VirtualGatewayTlsValidationContext) SetSubjectAlternativeNames(v *SubjectAlternativeNames) *VirtualGatewayTlsValidationContext { 17822 s.SubjectAlternativeNames = v 17823 return s 17824 } 17825 17826 // SetTrust sets the Trust field's value. 17827 func (s *VirtualGatewayTlsValidationContext) SetTrust(v *VirtualGatewayTlsValidationContextTrust) *VirtualGatewayTlsValidationContext { 17828 s.Trust = v 17829 return s 17830 } 17831 17832 // An object that represents a Transport Layer Security (TLS) validation context 17833 // trust for an Certificate Manager certificate. 17834 type VirtualGatewayTlsValidationContextAcmTrust struct { 17835 _ struct{} `type:"structure"` 17836 17837 // One or more ACM Amazon Resource Name (ARN)s. 17838 // 17839 // CertificateAuthorityArns is a required field 17840 CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" min:"1" type:"list" required:"true"` 17841 } 17842 17843 // String returns the string representation. 17844 // 17845 // API parameter values that are decorated as "sensitive" in the API will not 17846 // be included in the string output. The member name will be present, but the 17847 // value will be replaced with "sensitive". 17848 func (s VirtualGatewayTlsValidationContextAcmTrust) String() string { 17849 return awsutil.Prettify(s) 17850 } 17851 17852 // GoString returns the string representation. 17853 // 17854 // API parameter values that are decorated as "sensitive" in the API will not 17855 // be included in the string output. The member name will be present, but the 17856 // value will be replaced with "sensitive". 17857 func (s VirtualGatewayTlsValidationContextAcmTrust) GoString() string { 17858 return s.String() 17859 } 17860 17861 // Validate inspects the fields of the type to determine if they are valid. 17862 func (s *VirtualGatewayTlsValidationContextAcmTrust) Validate() error { 17863 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextAcmTrust"} 17864 if s.CertificateAuthorityArns == nil { 17865 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns")) 17866 } 17867 if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 { 17868 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1)) 17869 } 17870 17871 if invalidParams.Len() > 0 { 17872 return invalidParams 17873 } 17874 return nil 17875 } 17876 17877 // SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value. 17878 func (s *VirtualGatewayTlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *VirtualGatewayTlsValidationContextAcmTrust { 17879 s.CertificateAuthorityArns = v 17880 return s 17881 } 17882 17883 // An object that represents a Transport Layer Security (TLS) validation context 17884 // trust for a local file. 17885 type VirtualGatewayTlsValidationContextFileTrust struct { 17886 _ struct{} `type:"structure"` 17887 17888 // The certificate trust chain for a certificate stored on the file system of 17889 // the virtual node that the proxy is running on. 17890 // 17891 // CertificateChain is a required field 17892 CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` 17893 } 17894 17895 // String returns the string representation. 17896 // 17897 // API parameter values that are decorated as "sensitive" in the API will not 17898 // be included in the string output. The member name will be present, but the 17899 // value will be replaced with "sensitive". 17900 func (s VirtualGatewayTlsValidationContextFileTrust) String() string { 17901 return awsutil.Prettify(s) 17902 } 17903 17904 // GoString returns the string representation. 17905 // 17906 // API parameter values that are decorated as "sensitive" in the API will not 17907 // be included in the string output. The member name will be present, but the 17908 // value will be replaced with "sensitive". 17909 func (s VirtualGatewayTlsValidationContextFileTrust) GoString() string { 17910 return s.String() 17911 } 17912 17913 // Validate inspects the fields of the type to determine if they are valid. 17914 func (s *VirtualGatewayTlsValidationContextFileTrust) Validate() error { 17915 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextFileTrust"} 17916 if s.CertificateChain == nil { 17917 invalidParams.Add(request.NewErrParamRequired("CertificateChain")) 17918 } 17919 if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { 17920 invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) 17921 } 17922 17923 if invalidParams.Len() > 0 { 17924 return invalidParams 17925 } 17926 return nil 17927 } 17928 17929 // SetCertificateChain sets the CertificateChain field's value. 17930 func (s *VirtualGatewayTlsValidationContextFileTrust) SetCertificateChain(v string) *VirtualGatewayTlsValidationContextFileTrust { 17931 s.CertificateChain = &v 17932 return s 17933 } 17934 17935 // An object that represents a virtual gateway's listener's Transport Layer 17936 // Security (TLS) Secret Discovery Service validation context trust. The proxy 17937 // must be configured with a local SDS provider via a Unix Domain Socket. See 17938 // App Mesh TLS documentation (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) 17939 // for more info. 17940 type VirtualGatewayTlsValidationContextSdsTrust struct { 17941 _ struct{} `type:"structure"` 17942 17943 // A reference to an object that represents the name of the secret for a virtual 17944 // gateway's Transport Layer Security (TLS) Secret Discovery Service validation 17945 // context trust. 17946 // 17947 // SecretName is a required field 17948 SecretName *string `locationName:"secretName" type:"string" required:"true"` 17949 } 17950 17951 // String returns the string representation. 17952 // 17953 // API parameter values that are decorated as "sensitive" in the API will not 17954 // be included in the string output. The member name will be present, but the 17955 // value will be replaced with "sensitive". 17956 func (s VirtualGatewayTlsValidationContextSdsTrust) String() string { 17957 return awsutil.Prettify(s) 17958 } 17959 17960 // GoString returns the string representation. 17961 // 17962 // API parameter values that are decorated as "sensitive" in the API will not 17963 // be included in the string output. The member name will be present, but the 17964 // value will be replaced with "sensitive". 17965 func (s VirtualGatewayTlsValidationContextSdsTrust) GoString() string { 17966 return s.String() 17967 } 17968 17969 // Validate inspects the fields of the type to determine if they are valid. 17970 func (s *VirtualGatewayTlsValidationContextSdsTrust) Validate() error { 17971 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextSdsTrust"} 17972 if s.SecretName == nil { 17973 invalidParams.Add(request.NewErrParamRequired("SecretName")) 17974 } 17975 17976 if invalidParams.Len() > 0 { 17977 return invalidParams 17978 } 17979 return nil 17980 } 17981 17982 // SetSecretName sets the SecretName field's value. 17983 func (s *VirtualGatewayTlsValidationContextSdsTrust) SetSecretName(v string) *VirtualGatewayTlsValidationContextSdsTrust { 17984 s.SecretName = &v 17985 return s 17986 } 17987 17988 // An object that represents a Transport Layer Security (TLS) validation context 17989 // trust. 17990 type VirtualGatewayTlsValidationContextTrust struct { 17991 _ struct{} `type:"structure"` 17992 17993 // A reference to an object that represents a Transport Layer Security (TLS) 17994 // validation context trust for an Certificate Manager certificate. 17995 Acm *VirtualGatewayTlsValidationContextAcmTrust `locationName:"acm" type:"structure"` 17996 17997 // An object that represents a Transport Layer Security (TLS) validation context 17998 // trust for a local file. 17999 File *VirtualGatewayTlsValidationContextFileTrust `locationName:"file" type:"structure"` 18000 18001 // A reference to an object that represents a virtual gateway's Transport Layer 18002 // Security (TLS) Secret Discovery Service validation context trust. 18003 Sds *VirtualGatewayTlsValidationContextSdsTrust `locationName:"sds" type:"structure"` 18004 } 18005 18006 // String returns the string representation. 18007 // 18008 // API parameter values that are decorated as "sensitive" in the API will not 18009 // be included in the string output. The member name will be present, but the 18010 // value will be replaced with "sensitive". 18011 func (s VirtualGatewayTlsValidationContextTrust) String() string { 18012 return awsutil.Prettify(s) 18013 } 18014 18015 // GoString returns the string representation. 18016 // 18017 // API parameter values that are decorated as "sensitive" in the API will not 18018 // be included in the string output. The member name will be present, but the 18019 // value will be replaced with "sensitive". 18020 func (s VirtualGatewayTlsValidationContextTrust) GoString() string { 18021 return s.String() 18022 } 18023 18024 // Validate inspects the fields of the type to determine if they are valid. 18025 func (s *VirtualGatewayTlsValidationContextTrust) Validate() error { 18026 invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextTrust"} 18027 if s.Acm != nil { 18028 if err := s.Acm.Validate(); err != nil { 18029 invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) 18030 } 18031 } 18032 if s.File != nil { 18033 if err := s.File.Validate(); err != nil { 18034 invalidParams.AddNested("File", err.(request.ErrInvalidParams)) 18035 } 18036 } 18037 if s.Sds != nil { 18038 if err := s.Sds.Validate(); err != nil { 18039 invalidParams.AddNested("Sds", err.(request.ErrInvalidParams)) 18040 } 18041 } 18042 18043 if invalidParams.Len() > 0 { 18044 return invalidParams 18045 } 18046 return nil 18047 } 18048 18049 // SetAcm sets the Acm field's value. 18050 func (s *VirtualGatewayTlsValidationContextTrust) SetAcm(v *VirtualGatewayTlsValidationContextAcmTrust) *VirtualGatewayTlsValidationContextTrust { 18051 s.Acm = v 18052 return s 18053 } 18054 18055 // SetFile sets the File field's value. 18056 func (s *VirtualGatewayTlsValidationContextTrust) SetFile(v *VirtualGatewayTlsValidationContextFileTrust) *VirtualGatewayTlsValidationContextTrust { 18057 s.File = v 18058 return s 18059 } 18060 18061 // SetSds sets the Sds field's value. 18062 func (s *VirtualGatewayTlsValidationContextTrust) SetSds(v *VirtualGatewayTlsValidationContextSdsTrust) *VirtualGatewayTlsValidationContextTrust { 18063 s.Sds = v 18064 return s 18065 } 18066 18067 // An object that represents the type of virtual node connection pool. 18068 // 18069 // Only one protocol is used at a time and should be the same protocol as the 18070 // one chosen under port mapping. 18071 // 18072 // If not present the default value for maxPendingRequests is 2147483647. 18073 type VirtualNodeConnectionPool struct { 18074 _ struct{} `type:"structure"` 18075 18076 // An object that represents a type of connection pool. 18077 Grpc *VirtualNodeGrpcConnectionPool `locationName:"grpc" type:"structure"` 18078 18079 // An object that represents a type of connection pool. 18080 Http *VirtualNodeHttpConnectionPool `locationName:"http" type:"structure"` 18081 18082 // An object that represents a type of connection pool. 18083 Http2 *VirtualNodeHttp2ConnectionPool `locationName:"http2" type:"structure"` 18084 18085 // An object that represents a type of connection pool. 18086 Tcp *VirtualNodeTcpConnectionPool `locationName:"tcp" type:"structure"` 18087 } 18088 18089 // String returns the string representation. 18090 // 18091 // API parameter values that are decorated as "sensitive" in the API will not 18092 // be included in the string output. The member name will be present, but the 18093 // value will be replaced with "sensitive". 18094 func (s VirtualNodeConnectionPool) String() string { 18095 return awsutil.Prettify(s) 18096 } 18097 18098 // GoString returns the string representation. 18099 // 18100 // API parameter values that are decorated as "sensitive" in the API will not 18101 // be included in the string output. The member name will be present, but the 18102 // value will be replaced with "sensitive". 18103 func (s VirtualNodeConnectionPool) GoString() string { 18104 return s.String() 18105 } 18106 18107 // Validate inspects the fields of the type to determine if they are valid. 18108 func (s *VirtualNodeConnectionPool) Validate() error { 18109 invalidParams := request.ErrInvalidParams{Context: "VirtualNodeConnectionPool"} 18110 if s.Grpc != nil { 18111 if err := s.Grpc.Validate(); err != nil { 18112 invalidParams.AddNested("Grpc", err.(request.ErrInvalidParams)) 18113 } 18114 } 18115 if s.Http != nil { 18116 if err := s.Http.Validate(); err != nil { 18117 invalidParams.AddNested("Http", err.(request.ErrInvalidParams)) 18118 } 18119 } 18120 if s.Http2 != nil { 18121 if err := s.Http2.Validate(); err != nil { 18122 invalidParams.AddNested("Http2", err.(request.ErrInvalidParams)) 18123 } 18124 } 18125 if s.Tcp != nil { 18126 if err := s.Tcp.Validate(); err != nil { 18127 invalidParams.AddNested("Tcp", err.(request.ErrInvalidParams)) 18128 } 18129 } 18130 18131 if invalidParams.Len() > 0 { 18132 return invalidParams 18133 } 18134 return nil 18135 } 18136 18137 // SetGrpc sets the Grpc field's value. 18138 func (s *VirtualNodeConnectionPool) SetGrpc(v *VirtualNodeGrpcConnectionPool) *VirtualNodeConnectionPool { 18139 s.Grpc = v 18140 return s 18141 } 18142 18143 // SetHttp sets the Http field's value. 18144 func (s *VirtualNodeConnectionPool) SetHttp(v *VirtualNodeHttpConnectionPool) *VirtualNodeConnectionPool { 18145 s.Http = v 18146 return s 18147 } 18148 18149 // SetHttp2 sets the Http2 field's value. 18150 func (s *VirtualNodeConnectionPool) SetHttp2(v *VirtualNodeHttp2ConnectionPool) *VirtualNodeConnectionPool { 18151 s.Http2 = v 18152 return s 18153 } 18154 18155 // SetTcp sets the Tcp field's value. 18156 func (s *VirtualNodeConnectionPool) SetTcp(v *VirtualNodeTcpConnectionPool) *VirtualNodeConnectionPool { 18157 s.Tcp = v 18158 return s 18159 } 18160 18161 // An object that represents a virtual node returned by a describe operation. 18162 type VirtualNodeData struct { 18163 _ struct{} `type:"structure"` 18164 18165 // The name of the service mesh that the virtual node resides in. 18166 // 18167 // MeshName is a required field 18168 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 18169 18170 // The associated metadata for the virtual node. 18171 // 18172 // Metadata is a required field 18173 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 18174 18175 // The specifications of the virtual node. 18176 // 18177 // Spec is a required field 18178 Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` 18179 18180 // The current status for the virtual node. 18181 // 18182 // Status is a required field 18183 Status *VirtualNodeStatus `locationName:"status" type:"structure" required:"true"` 18184 18185 // The name of the virtual node. 18186 // 18187 // VirtualNodeName is a required field 18188 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 18189 } 18190 18191 // String returns the string representation. 18192 // 18193 // API parameter values that are decorated as "sensitive" in the API will not 18194 // be included in the string output. The member name will be present, but the 18195 // value will be replaced with "sensitive". 18196 func (s VirtualNodeData) String() string { 18197 return awsutil.Prettify(s) 18198 } 18199 18200 // GoString returns the string representation. 18201 // 18202 // API parameter values that are decorated as "sensitive" in the API will not 18203 // be included in the string output. The member name will be present, but the 18204 // value will be replaced with "sensitive". 18205 func (s VirtualNodeData) GoString() string { 18206 return s.String() 18207 } 18208 18209 // SetMeshName sets the MeshName field's value. 18210 func (s *VirtualNodeData) SetMeshName(v string) *VirtualNodeData { 18211 s.MeshName = &v 18212 return s 18213 } 18214 18215 // SetMetadata sets the Metadata field's value. 18216 func (s *VirtualNodeData) SetMetadata(v *ResourceMetadata) *VirtualNodeData { 18217 s.Metadata = v 18218 return s 18219 } 18220 18221 // SetSpec sets the Spec field's value. 18222 func (s *VirtualNodeData) SetSpec(v *VirtualNodeSpec) *VirtualNodeData { 18223 s.Spec = v 18224 return s 18225 } 18226 18227 // SetStatus sets the Status field's value. 18228 func (s *VirtualNodeData) SetStatus(v *VirtualNodeStatus) *VirtualNodeData { 18229 s.Status = v 18230 return s 18231 } 18232 18233 // SetVirtualNodeName sets the VirtualNodeName field's value. 18234 func (s *VirtualNodeData) SetVirtualNodeName(v string) *VirtualNodeData { 18235 s.VirtualNodeName = &v 18236 return s 18237 } 18238 18239 // An object that represents a type of connection pool. 18240 type VirtualNodeGrpcConnectionPool struct { 18241 _ struct{} `type:"structure"` 18242 18243 // Maximum number of inflight requests Envoy can concurrently support across 18244 // hosts in upstream cluster. 18245 // 18246 // MaxRequests is a required field 18247 MaxRequests *int64 `locationName:"maxRequests" min:"1" type:"integer" required:"true"` 18248 } 18249 18250 // String returns the string representation. 18251 // 18252 // API parameter values that are decorated as "sensitive" in the API will not 18253 // be included in the string output. The member name will be present, but the 18254 // value will be replaced with "sensitive". 18255 func (s VirtualNodeGrpcConnectionPool) String() string { 18256 return awsutil.Prettify(s) 18257 } 18258 18259 // GoString returns the string representation. 18260 // 18261 // API parameter values that are decorated as "sensitive" in the API will not 18262 // be included in the string output. The member name will be present, but the 18263 // value will be replaced with "sensitive". 18264 func (s VirtualNodeGrpcConnectionPool) GoString() string { 18265 return s.String() 18266 } 18267 18268 // Validate inspects the fields of the type to determine if they are valid. 18269 func (s *VirtualNodeGrpcConnectionPool) Validate() error { 18270 invalidParams := request.ErrInvalidParams{Context: "VirtualNodeGrpcConnectionPool"} 18271 if s.MaxRequests == nil { 18272 invalidParams.Add(request.NewErrParamRequired("MaxRequests")) 18273 } 18274 if s.MaxRequests != nil && *s.MaxRequests < 1 { 18275 invalidParams.Add(request.NewErrParamMinValue("MaxRequests", 1)) 18276 } 18277 18278 if invalidParams.Len() > 0 { 18279 return invalidParams 18280 } 18281 return nil 18282 } 18283 18284 // SetMaxRequests sets the MaxRequests field's value. 18285 func (s *VirtualNodeGrpcConnectionPool) SetMaxRequests(v int64) *VirtualNodeGrpcConnectionPool { 18286 s.MaxRequests = &v 18287 return s 18288 } 18289 18290 // An object that represents a type of connection pool. 18291 type VirtualNodeHttp2ConnectionPool struct { 18292 _ struct{} `type:"structure"` 18293 18294 // Maximum number of inflight requests Envoy can concurrently support across 18295 // hosts in upstream cluster. 18296 // 18297 // MaxRequests is a required field 18298 MaxRequests *int64 `locationName:"maxRequests" min:"1" type:"integer" required:"true"` 18299 } 18300 18301 // String returns the string representation. 18302 // 18303 // API parameter values that are decorated as "sensitive" in the API will not 18304 // be included in the string output. The member name will be present, but the 18305 // value will be replaced with "sensitive". 18306 func (s VirtualNodeHttp2ConnectionPool) String() string { 18307 return awsutil.Prettify(s) 18308 } 18309 18310 // GoString returns the string representation. 18311 // 18312 // API parameter values that are decorated as "sensitive" in the API will not 18313 // be included in the string output. The member name will be present, but the 18314 // value will be replaced with "sensitive". 18315 func (s VirtualNodeHttp2ConnectionPool) GoString() string { 18316 return s.String() 18317 } 18318 18319 // Validate inspects the fields of the type to determine if they are valid. 18320 func (s *VirtualNodeHttp2ConnectionPool) Validate() error { 18321 invalidParams := request.ErrInvalidParams{Context: "VirtualNodeHttp2ConnectionPool"} 18322 if s.MaxRequests == nil { 18323 invalidParams.Add(request.NewErrParamRequired("MaxRequests")) 18324 } 18325 if s.MaxRequests != nil && *s.MaxRequests < 1 { 18326 invalidParams.Add(request.NewErrParamMinValue("MaxRequests", 1)) 18327 } 18328 18329 if invalidParams.Len() > 0 { 18330 return invalidParams 18331 } 18332 return nil 18333 } 18334 18335 // SetMaxRequests sets the MaxRequests field's value. 18336 func (s *VirtualNodeHttp2ConnectionPool) SetMaxRequests(v int64) *VirtualNodeHttp2ConnectionPool { 18337 s.MaxRequests = &v 18338 return s 18339 } 18340 18341 // An object that represents a type of connection pool. 18342 type VirtualNodeHttpConnectionPool struct { 18343 _ struct{} `type:"structure"` 18344 18345 // Maximum number of outbound TCP connections Envoy can establish concurrently 18346 // with all hosts in upstream cluster. 18347 // 18348 // MaxConnections is a required field 18349 MaxConnections *int64 `locationName:"maxConnections" min:"1" type:"integer" required:"true"` 18350 18351 // Number of overflowing requests after max_connections Envoy will queue to 18352 // upstream cluster. 18353 MaxPendingRequests *int64 `locationName:"maxPendingRequests" min:"1" type:"integer"` 18354 } 18355 18356 // String returns the string representation. 18357 // 18358 // API parameter values that are decorated as "sensitive" in the API will not 18359 // be included in the string output. The member name will be present, but the 18360 // value will be replaced with "sensitive". 18361 func (s VirtualNodeHttpConnectionPool) String() string { 18362 return awsutil.Prettify(s) 18363 } 18364 18365 // GoString returns the string representation. 18366 // 18367 // API parameter values that are decorated as "sensitive" in the API will not 18368 // be included in the string output. The member name will be present, but the 18369 // value will be replaced with "sensitive". 18370 func (s VirtualNodeHttpConnectionPool) GoString() string { 18371 return s.String() 18372 } 18373 18374 // Validate inspects the fields of the type to determine if they are valid. 18375 func (s *VirtualNodeHttpConnectionPool) Validate() error { 18376 invalidParams := request.ErrInvalidParams{Context: "VirtualNodeHttpConnectionPool"} 18377 if s.MaxConnections == nil { 18378 invalidParams.Add(request.NewErrParamRequired("MaxConnections")) 18379 } 18380 if s.MaxConnections != nil && *s.MaxConnections < 1 { 18381 invalidParams.Add(request.NewErrParamMinValue("MaxConnections", 1)) 18382 } 18383 if s.MaxPendingRequests != nil && *s.MaxPendingRequests < 1 { 18384 invalidParams.Add(request.NewErrParamMinValue("MaxPendingRequests", 1)) 18385 } 18386 18387 if invalidParams.Len() > 0 { 18388 return invalidParams 18389 } 18390 return nil 18391 } 18392 18393 // SetMaxConnections sets the MaxConnections field's value. 18394 func (s *VirtualNodeHttpConnectionPool) SetMaxConnections(v int64) *VirtualNodeHttpConnectionPool { 18395 s.MaxConnections = &v 18396 return s 18397 } 18398 18399 // SetMaxPendingRequests sets the MaxPendingRequests field's value. 18400 func (s *VirtualNodeHttpConnectionPool) SetMaxPendingRequests(v int64) *VirtualNodeHttpConnectionPool { 18401 s.MaxPendingRequests = &v 18402 return s 18403 } 18404 18405 // An object that represents a virtual node returned by a list operation. 18406 type VirtualNodeRef struct { 18407 _ struct{} `type:"structure"` 18408 18409 // The full Amazon Resource Name (ARN) for the virtual node. 18410 // 18411 // Arn is a required field 18412 Arn *string `locationName:"arn" type:"string" required:"true"` 18413 18414 // The Unix epoch timestamp in seconds for when the resource was created. 18415 // 18416 // CreatedAt is a required field 18417 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` 18418 18419 // The Unix epoch timestamp in seconds for when the resource was last updated. 18420 // 18421 // LastUpdatedAt is a required field 18422 LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` 18423 18424 // The name of the service mesh that the virtual node resides in. 18425 // 18426 // MeshName is a required field 18427 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 18428 18429 // The AWS IAM account ID of the service mesh owner. If the account ID is not 18430 // your own, then it's the ID of the account that shared the mesh with your 18431 // account. For more information about mesh sharing, see Working with shared 18432 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 18433 // 18434 // MeshOwner is a required field 18435 MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` 18436 18437 // The AWS IAM account ID of the resource owner. If the account ID is not your 18438 // own, then it's the ID of the mesh owner or of another account that the mesh 18439 // is shared with. For more information about mesh sharing, see Working with 18440 // shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 18441 // 18442 // ResourceOwner is a required field 18443 ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` 18444 18445 // The version of the resource. Resources are created at version 1, and this 18446 // version is incremented each time that they're updated. 18447 // 18448 // Version is a required field 18449 Version *int64 `locationName:"version" type:"long" required:"true"` 18450 18451 // The name of the virtual node. 18452 // 18453 // VirtualNodeName is a required field 18454 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 18455 } 18456 18457 // String returns the string representation. 18458 // 18459 // API parameter values that are decorated as "sensitive" in the API will not 18460 // be included in the string output. The member name will be present, but the 18461 // value will be replaced with "sensitive". 18462 func (s VirtualNodeRef) String() string { 18463 return awsutil.Prettify(s) 18464 } 18465 18466 // GoString returns the string representation. 18467 // 18468 // API parameter values that are decorated as "sensitive" in the API will not 18469 // be included in the string output. The member name will be present, but the 18470 // value will be replaced with "sensitive". 18471 func (s VirtualNodeRef) GoString() string { 18472 return s.String() 18473 } 18474 18475 // SetArn sets the Arn field's value. 18476 func (s *VirtualNodeRef) SetArn(v string) *VirtualNodeRef { 18477 s.Arn = &v 18478 return s 18479 } 18480 18481 // SetCreatedAt sets the CreatedAt field's value. 18482 func (s *VirtualNodeRef) SetCreatedAt(v time.Time) *VirtualNodeRef { 18483 s.CreatedAt = &v 18484 return s 18485 } 18486 18487 // SetLastUpdatedAt sets the LastUpdatedAt field's value. 18488 func (s *VirtualNodeRef) SetLastUpdatedAt(v time.Time) *VirtualNodeRef { 18489 s.LastUpdatedAt = &v 18490 return s 18491 } 18492 18493 // SetMeshName sets the MeshName field's value. 18494 func (s *VirtualNodeRef) SetMeshName(v string) *VirtualNodeRef { 18495 s.MeshName = &v 18496 return s 18497 } 18498 18499 // SetMeshOwner sets the MeshOwner field's value. 18500 func (s *VirtualNodeRef) SetMeshOwner(v string) *VirtualNodeRef { 18501 s.MeshOwner = &v 18502 return s 18503 } 18504 18505 // SetResourceOwner sets the ResourceOwner field's value. 18506 func (s *VirtualNodeRef) SetResourceOwner(v string) *VirtualNodeRef { 18507 s.ResourceOwner = &v 18508 return s 18509 } 18510 18511 // SetVersion sets the Version field's value. 18512 func (s *VirtualNodeRef) SetVersion(v int64) *VirtualNodeRef { 18513 s.Version = &v 18514 return s 18515 } 18516 18517 // SetVirtualNodeName sets the VirtualNodeName field's value. 18518 func (s *VirtualNodeRef) SetVirtualNodeName(v string) *VirtualNodeRef { 18519 s.VirtualNodeName = &v 18520 return s 18521 } 18522 18523 // An object that represents a virtual node service provider. 18524 type VirtualNodeServiceProvider struct { 18525 _ struct{} `type:"structure"` 18526 18527 // The name of the virtual node that is acting as a service provider. 18528 // 18529 // VirtualNodeName is a required field 18530 VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` 18531 } 18532 18533 // String returns the string representation. 18534 // 18535 // API parameter values that are decorated as "sensitive" in the API will not 18536 // be included in the string output. The member name will be present, but the 18537 // value will be replaced with "sensitive". 18538 func (s VirtualNodeServiceProvider) String() string { 18539 return awsutil.Prettify(s) 18540 } 18541 18542 // GoString returns the string representation. 18543 // 18544 // API parameter values that are decorated as "sensitive" in the API will not 18545 // be included in the string output. The member name will be present, but the 18546 // value will be replaced with "sensitive". 18547 func (s VirtualNodeServiceProvider) GoString() string { 18548 return s.String() 18549 } 18550 18551 // Validate inspects the fields of the type to determine if they are valid. 18552 func (s *VirtualNodeServiceProvider) Validate() error { 18553 invalidParams := request.ErrInvalidParams{Context: "VirtualNodeServiceProvider"} 18554 if s.VirtualNodeName == nil { 18555 invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) 18556 } 18557 if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { 18558 invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) 18559 } 18560 18561 if invalidParams.Len() > 0 { 18562 return invalidParams 18563 } 18564 return nil 18565 } 18566 18567 // SetVirtualNodeName sets the VirtualNodeName field's value. 18568 func (s *VirtualNodeServiceProvider) SetVirtualNodeName(v string) *VirtualNodeServiceProvider { 18569 s.VirtualNodeName = &v 18570 return s 18571 } 18572 18573 // An object that represents the specification of a virtual node. 18574 type VirtualNodeSpec struct { 18575 _ struct{} `type:"structure"` 18576 18577 // A reference to an object that represents the defaults for backends. 18578 BackendDefaults *BackendDefaults `locationName:"backendDefaults" type:"structure"` 18579 18580 // The backends that the virtual node is expected to send outbound traffic to. 18581 Backends []*Backend `locationName:"backends" type:"list"` 18582 18583 // The listener that the virtual node is expected to receive inbound traffic 18584 // from. You can specify one listener. 18585 Listeners []*Listener `locationName:"listeners" type:"list"` 18586 18587 // The inbound and outbound access logging information for the virtual node. 18588 Logging *Logging `locationName:"logging" type:"structure"` 18589 18590 // The service discovery information for the virtual node. If your virtual node 18591 // does not expect ingress traffic, you can omit this parameter. If you specify 18592 // a listener, then you must specify service discovery information. 18593 ServiceDiscovery *ServiceDiscovery `locationName:"serviceDiscovery" type:"structure"` 18594 } 18595 18596 // String returns the string representation. 18597 // 18598 // API parameter values that are decorated as "sensitive" in the API will not 18599 // be included in the string output. The member name will be present, but the 18600 // value will be replaced with "sensitive". 18601 func (s VirtualNodeSpec) String() string { 18602 return awsutil.Prettify(s) 18603 } 18604 18605 // GoString returns the string representation. 18606 // 18607 // API parameter values that are decorated as "sensitive" in the API will not 18608 // be included in the string output. The member name will be present, but the 18609 // value will be replaced with "sensitive". 18610 func (s VirtualNodeSpec) GoString() string { 18611 return s.String() 18612 } 18613 18614 // Validate inspects the fields of the type to determine if they are valid. 18615 func (s *VirtualNodeSpec) Validate() error { 18616 invalidParams := request.ErrInvalidParams{Context: "VirtualNodeSpec"} 18617 if s.BackendDefaults != nil { 18618 if err := s.BackendDefaults.Validate(); err != nil { 18619 invalidParams.AddNested("BackendDefaults", err.(request.ErrInvalidParams)) 18620 } 18621 } 18622 if s.Backends != nil { 18623 for i, v := range s.Backends { 18624 if v == nil { 18625 continue 18626 } 18627 if err := v.Validate(); err != nil { 18628 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Backends", i), err.(request.ErrInvalidParams)) 18629 } 18630 } 18631 } 18632 if s.Listeners != nil { 18633 for i, v := range s.Listeners { 18634 if v == nil { 18635 continue 18636 } 18637 if err := v.Validate(); err != nil { 18638 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) 18639 } 18640 } 18641 } 18642 if s.Logging != nil { 18643 if err := s.Logging.Validate(); err != nil { 18644 invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) 18645 } 18646 } 18647 if s.ServiceDiscovery != nil { 18648 if err := s.ServiceDiscovery.Validate(); err != nil { 18649 invalidParams.AddNested("ServiceDiscovery", err.(request.ErrInvalidParams)) 18650 } 18651 } 18652 18653 if invalidParams.Len() > 0 { 18654 return invalidParams 18655 } 18656 return nil 18657 } 18658 18659 // SetBackendDefaults sets the BackendDefaults field's value. 18660 func (s *VirtualNodeSpec) SetBackendDefaults(v *BackendDefaults) *VirtualNodeSpec { 18661 s.BackendDefaults = v 18662 return s 18663 } 18664 18665 // SetBackends sets the Backends field's value. 18666 func (s *VirtualNodeSpec) SetBackends(v []*Backend) *VirtualNodeSpec { 18667 s.Backends = v 18668 return s 18669 } 18670 18671 // SetListeners sets the Listeners field's value. 18672 func (s *VirtualNodeSpec) SetListeners(v []*Listener) *VirtualNodeSpec { 18673 s.Listeners = v 18674 return s 18675 } 18676 18677 // SetLogging sets the Logging field's value. 18678 func (s *VirtualNodeSpec) SetLogging(v *Logging) *VirtualNodeSpec { 18679 s.Logging = v 18680 return s 18681 } 18682 18683 // SetServiceDiscovery sets the ServiceDiscovery field's value. 18684 func (s *VirtualNodeSpec) SetServiceDiscovery(v *ServiceDiscovery) *VirtualNodeSpec { 18685 s.ServiceDiscovery = v 18686 return s 18687 } 18688 18689 // An object that represents the current status of the virtual node. 18690 type VirtualNodeStatus struct { 18691 _ struct{} `type:"structure"` 18692 18693 // The current status of the virtual node. 18694 // 18695 // Status is a required field 18696 Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualNodeStatusCode"` 18697 } 18698 18699 // String returns the string representation. 18700 // 18701 // API parameter values that are decorated as "sensitive" in the API will not 18702 // be included in the string output. The member name will be present, but the 18703 // value will be replaced with "sensitive". 18704 func (s VirtualNodeStatus) String() string { 18705 return awsutil.Prettify(s) 18706 } 18707 18708 // GoString returns the string representation. 18709 // 18710 // API parameter values that are decorated as "sensitive" in the API will not 18711 // be included in the string output. The member name will be present, but the 18712 // value will be replaced with "sensitive". 18713 func (s VirtualNodeStatus) GoString() string { 18714 return s.String() 18715 } 18716 18717 // SetStatus sets the Status field's value. 18718 func (s *VirtualNodeStatus) SetStatus(v string) *VirtualNodeStatus { 18719 s.Status = &v 18720 return s 18721 } 18722 18723 // An object that represents a type of connection pool. 18724 type VirtualNodeTcpConnectionPool struct { 18725 _ struct{} `type:"structure"` 18726 18727 // Maximum number of outbound TCP connections Envoy can establish concurrently 18728 // with all hosts in upstream cluster. 18729 // 18730 // MaxConnections is a required field 18731 MaxConnections *int64 `locationName:"maxConnections" min:"1" type:"integer" required:"true"` 18732 } 18733 18734 // String returns the string representation. 18735 // 18736 // API parameter values that are decorated as "sensitive" in the API will not 18737 // be included in the string output. The member name will be present, but the 18738 // value will be replaced with "sensitive". 18739 func (s VirtualNodeTcpConnectionPool) String() string { 18740 return awsutil.Prettify(s) 18741 } 18742 18743 // GoString returns the string representation. 18744 // 18745 // API parameter values that are decorated as "sensitive" in the API will not 18746 // be included in the string output. The member name will be present, but the 18747 // value will be replaced with "sensitive". 18748 func (s VirtualNodeTcpConnectionPool) GoString() string { 18749 return s.String() 18750 } 18751 18752 // Validate inspects the fields of the type to determine if they are valid. 18753 func (s *VirtualNodeTcpConnectionPool) Validate() error { 18754 invalidParams := request.ErrInvalidParams{Context: "VirtualNodeTcpConnectionPool"} 18755 if s.MaxConnections == nil { 18756 invalidParams.Add(request.NewErrParamRequired("MaxConnections")) 18757 } 18758 if s.MaxConnections != nil && *s.MaxConnections < 1 { 18759 invalidParams.Add(request.NewErrParamMinValue("MaxConnections", 1)) 18760 } 18761 18762 if invalidParams.Len() > 0 { 18763 return invalidParams 18764 } 18765 return nil 18766 } 18767 18768 // SetMaxConnections sets the MaxConnections field's value. 18769 func (s *VirtualNodeTcpConnectionPool) SetMaxConnections(v int64) *VirtualNodeTcpConnectionPool { 18770 s.MaxConnections = &v 18771 return s 18772 } 18773 18774 // An object that represents a virtual router returned by a describe operation. 18775 type VirtualRouterData struct { 18776 _ struct{} `type:"structure"` 18777 18778 // The name of the service mesh that the virtual router resides in. 18779 // 18780 // MeshName is a required field 18781 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 18782 18783 // The associated metadata for the virtual router. 18784 // 18785 // Metadata is a required field 18786 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 18787 18788 // The specifications of the virtual router. 18789 // 18790 // Spec is a required field 18791 Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` 18792 18793 // The current status of the virtual router. 18794 // 18795 // Status is a required field 18796 Status *VirtualRouterStatus `locationName:"status" type:"structure" required:"true"` 18797 18798 // The name of the virtual router. 18799 // 18800 // VirtualRouterName is a required field 18801 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 18802 } 18803 18804 // String returns the string representation. 18805 // 18806 // API parameter values that are decorated as "sensitive" in the API will not 18807 // be included in the string output. The member name will be present, but the 18808 // value will be replaced with "sensitive". 18809 func (s VirtualRouterData) String() string { 18810 return awsutil.Prettify(s) 18811 } 18812 18813 // GoString returns the string representation. 18814 // 18815 // API parameter values that are decorated as "sensitive" in the API will not 18816 // be included in the string output. The member name will be present, but the 18817 // value will be replaced with "sensitive". 18818 func (s VirtualRouterData) GoString() string { 18819 return s.String() 18820 } 18821 18822 // SetMeshName sets the MeshName field's value. 18823 func (s *VirtualRouterData) SetMeshName(v string) *VirtualRouterData { 18824 s.MeshName = &v 18825 return s 18826 } 18827 18828 // SetMetadata sets the Metadata field's value. 18829 func (s *VirtualRouterData) SetMetadata(v *ResourceMetadata) *VirtualRouterData { 18830 s.Metadata = v 18831 return s 18832 } 18833 18834 // SetSpec sets the Spec field's value. 18835 func (s *VirtualRouterData) SetSpec(v *VirtualRouterSpec) *VirtualRouterData { 18836 s.Spec = v 18837 return s 18838 } 18839 18840 // SetStatus sets the Status field's value. 18841 func (s *VirtualRouterData) SetStatus(v *VirtualRouterStatus) *VirtualRouterData { 18842 s.Status = v 18843 return s 18844 } 18845 18846 // SetVirtualRouterName sets the VirtualRouterName field's value. 18847 func (s *VirtualRouterData) SetVirtualRouterName(v string) *VirtualRouterData { 18848 s.VirtualRouterName = &v 18849 return s 18850 } 18851 18852 // An object that represents a virtual router listener. 18853 type VirtualRouterListener struct { 18854 _ struct{} `type:"structure"` 18855 18856 // An object that represents a port mapping. 18857 // 18858 // PortMapping is a required field 18859 PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` 18860 } 18861 18862 // String returns the string representation. 18863 // 18864 // API parameter values that are decorated as "sensitive" in the API will not 18865 // be included in the string output. The member name will be present, but the 18866 // value will be replaced with "sensitive". 18867 func (s VirtualRouterListener) String() string { 18868 return awsutil.Prettify(s) 18869 } 18870 18871 // GoString returns the string representation. 18872 // 18873 // API parameter values that are decorated as "sensitive" in the API will not 18874 // be included in the string output. The member name will be present, but the 18875 // value will be replaced with "sensitive". 18876 func (s VirtualRouterListener) GoString() string { 18877 return s.String() 18878 } 18879 18880 // Validate inspects the fields of the type to determine if they are valid. 18881 func (s *VirtualRouterListener) Validate() error { 18882 invalidParams := request.ErrInvalidParams{Context: "VirtualRouterListener"} 18883 if s.PortMapping == nil { 18884 invalidParams.Add(request.NewErrParamRequired("PortMapping")) 18885 } 18886 if s.PortMapping != nil { 18887 if err := s.PortMapping.Validate(); err != nil { 18888 invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) 18889 } 18890 } 18891 18892 if invalidParams.Len() > 0 { 18893 return invalidParams 18894 } 18895 return nil 18896 } 18897 18898 // SetPortMapping sets the PortMapping field's value. 18899 func (s *VirtualRouterListener) SetPortMapping(v *PortMapping) *VirtualRouterListener { 18900 s.PortMapping = v 18901 return s 18902 } 18903 18904 // An object that represents a virtual router returned by a list operation. 18905 type VirtualRouterRef struct { 18906 _ struct{} `type:"structure"` 18907 18908 // The full Amazon Resource Name (ARN) for the virtual router. 18909 // 18910 // Arn is a required field 18911 Arn *string `locationName:"arn" type:"string" required:"true"` 18912 18913 // The Unix epoch timestamp in seconds for when the resource was created. 18914 // 18915 // CreatedAt is a required field 18916 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` 18917 18918 // The Unix epoch timestamp in seconds for when the resource was last updated. 18919 // 18920 // LastUpdatedAt is a required field 18921 LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` 18922 18923 // The name of the service mesh that the virtual router resides in. 18924 // 18925 // MeshName is a required field 18926 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 18927 18928 // The AWS IAM account ID of the service mesh owner. If the account ID is not 18929 // your own, then it's the ID of the account that shared the mesh with your 18930 // account. For more information about mesh sharing, see Working with shared 18931 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 18932 // 18933 // MeshOwner is a required field 18934 MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` 18935 18936 // The AWS IAM account ID of the resource owner. If the account ID is not your 18937 // own, then it's the ID of the mesh owner or of another account that the mesh 18938 // is shared with. For more information about mesh sharing, see Working with 18939 // shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 18940 // 18941 // ResourceOwner is a required field 18942 ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` 18943 18944 // The version of the resource. Resources are created at version 1, and this 18945 // version is incremented each time that they're updated. 18946 // 18947 // Version is a required field 18948 Version *int64 `locationName:"version" type:"long" required:"true"` 18949 18950 // The name of the virtual router. 18951 // 18952 // VirtualRouterName is a required field 18953 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 18954 } 18955 18956 // String returns the string representation. 18957 // 18958 // API parameter values that are decorated as "sensitive" in the API will not 18959 // be included in the string output. The member name will be present, but the 18960 // value will be replaced with "sensitive". 18961 func (s VirtualRouterRef) String() string { 18962 return awsutil.Prettify(s) 18963 } 18964 18965 // GoString returns the string representation. 18966 // 18967 // API parameter values that are decorated as "sensitive" in the API will not 18968 // be included in the string output. The member name will be present, but the 18969 // value will be replaced with "sensitive". 18970 func (s VirtualRouterRef) GoString() string { 18971 return s.String() 18972 } 18973 18974 // SetArn sets the Arn field's value. 18975 func (s *VirtualRouterRef) SetArn(v string) *VirtualRouterRef { 18976 s.Arn = &v 18977 return s 18978 } 18979 18980 // SetCreatedAt sets the CreatedAt field's value. 18981 func (s *VirtualRouterRef) SetCreatedAt(v time.Time) *VirtualRouterRef { 18982 s.CreatedAt = &v 18983 return s 18984 } 18985 18986 // SetLastUpdatedAt sets the LastUpdatedAt field's value. 18987 func (s *VirtualRouterRef) SetLastUpdatedAt(v time.Time) *VirtualRouterRef { 18988 s.LastUpdatedAt = &v 18989 return s 18990 } 18991 18992 // SetMeshName sets the MeshName field's value. 18993 func (s *VirtualRouterRef) SetMeshName(v string) *VirtualRouterRef { 18994 s.MeshName = &v 18995 return s 18996 } 18997 18998 // SetMeshOwner sets the MeshOwner field's value. 18999 func (s *VirtualRouterRef) SetMeshOwner(v string) *VirtualRouterRef { 19000 s.MeshOwner = &v 19001 return s 19002 } 19003 19004 // SetResourceOwner sets the ResourceOwner field's value. 19005 func (s *VirtualRouterRef) SetResourceOwner(v string) *VirtualRouterRef { 19006 s.ResourceOwner = &v 19007 return s 19008 } 19009 19010 // SetVersion sets the Version field's value. 19011 func (s *VirtualRouterRef) SetVersion(v int64) *VirtualRouterRef { 19012 s.Version = &v 19013 return s 19014 } 19015 19016 // SetVirtualRouterName sets the VirtualRouterName field's value. 19017 func (s *VirtualRouterRef) SetVirtualRouterName(v string) *VirtualRouterRef { 19018 s.VirtualRouterName = &v 19019 return s 19020 } 19021 19022 // An object that represents a virtual node service provider. 19023 type VirtualRouterServiceProvider struct { 19024 _ struct{} `type:"structure"` 19025 19026 // The name of the virtual router that is acting as a service provider. 19027 // 19028 // VirtualRouterName is a required field 19029 VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` 19030 } 19031 19032 // String returns the string representation. 19033 // 19034 // API parameter values that are decorated as "sensitive" in the API will not 19035 // be included in the string output. The member name will be present, but the 19036 // value will be replaced with "sensitive". 19037 func (s VirtualRouterServiceProvider) String() string { 19038 return awsutil.Prettify(s) 19039 } 19040 19041 // GoString returns the string representation. 19042 // 19043 // API parameter values that are decorated as "sensitive" in the API will not 19044 // be included in the string output. The member name will be present, but the 19045 // value will be replaced with "sensitive". 19046 func (s VirtualRouterServiceProvider) GoString() string { 19047 return s.String() 19048 } 19049 19050 // Validate inspects the fields of the type to determine if they are valid. 19051 func (s *VirtualRouterServiceProvider) Validate() error { 19052 invalidParams := request.ErrInvalidParams{Context: "VirtualRouterServiceProvider"} 19053 if s.VirtualRouterName == nil { 19054 invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) 19055 } 19056 if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { 19057 invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) 19058 } 19059 19060 if invalidParams.Len() > 0 { 19061 return invalidParams 19062 } 19063 return nil 19064 } 19065 19066 // SetVirtualRouterName sets the VirtualRouterName field's value. 19067 func (s *VirtualRouterServiceProvider) SetVirtualRouterName(v string) *VirtualRouterServiceProvider { 19068 s.VirtualRouterName = &v 19069 return s 19070 } 19071 19072 // An object that represents the specification of a virtual router. 19073 type VirtualRouterSpec struct { 19074 _ struct{} `type:"structure"` 19075 19076 // The listeners that the virtual router is expected to receive inbound traffic 19077 // from. You can specify one listener. 19078 Listeners []*VirtualRouterListener `locationName:"listeners" min:"1" type:"list"` 19079 } 19080 19081 // String returns the string representation. 19082 // 19083 // API parameter values that are decorated as "sensitive" in the API will not 19084 // be included in the string output. The member name will be present, but the 19085 // value will be replaced with "sensitive". 19086 func (s VirtualRouterSpec) String() string { 19087 return awsutil.Prettify(s) 19088 } 19089 19090 // GoString returns the string representation. 19091 // 19092 // API parameter values that are decorated as "sensitive" in the API will not 19093 // be included in the string output. The member name will be present, but the 19094 // value will be replaced with "sensitive". 19095 func (s VirtualRouterSpec) GoString() string { 19096 return s.String() 19097 } 19098 19099 // Validate inspects the fields of the type to determine if they are valid. 19100 func (s *VirtualRouterSpec) Validate() error { 19101 invalidParams := request.ErrInvalidParams{Context: "VirtualRouterSpec"} 19102 if s.Listeners != nil && len(s.Listeners) < 1 { 19103 invalidParams.Add(request.NewErrParamMinLen("Listeners", 1)) 19104 } 19105 if s.Listeners != nil { 19106 for i, v := range s.Listeners { 19107 if v == nil { 19108 continue 19109 } 19110 if err := v.Validate(); err != nil { 19111 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) 19112 } 19113 } 19114 } 19115 19116 if invalidParams.Len() > 0 { 19117 return invalidParams 19118 } 19119 return nil 19120 } 19121 19122 // SetListeners sets the Listeners field's value. 19123 func (s *VirtualRouterSpec) SetListeners(v []*VirtualRouterListener) *VirtualRouterSpec { 19124 s.Listeners = v 19125 return s 19126 } 19127 19128 // An object that represents the status of a virtual router. 19129 type VirtualRouterStatus struct { 19130 _ struct{} `type:"structure"` 19131 19132 // The current status of the virtual router. 19133 // 19134 // Status is a required field 19135 Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualRouterStatusCode"` 19136 } 19137 19138 // String returns the string representation. 19139 // 19140 // API parameter values that are decorated as "sensitive" in the API will not 19141 // be included in the string output. The member name will be present, but the 19142 // value will be replaced with "sensitive". 19143 func (s VirtualRouterStatus) String() string { 19144 return awsutil.Prettify(s) 19145 } 19146 19147 // GoString returns the string representation. 19148 // 19149 // API parameter values that are decorated as "sensitive" in the API will not 19150 // be included in the string output. The member name will be present, but the 19151 // value will be replaced with "sensitive". 19152 func (s VirtualRouterStatus) GoString() string { 19153 return s.String() 19154 } 19155 19156 // SetStatus sets the Status field's value. 19157 func (s *VirtualRouterStatus) SetStatus(v string) *VirtualRouterStatus { 19158 s.Status = &v 19159 return s 19160 } 19161 19162 // An object that represents a virtual service backend for a virtual node. 19163 type VirtualServiceBackend struct { 19164 _ struct{} `type:"structure"` 19165 19166 // A reference to an object that represents the client policy for a backend. 19167 ClientPolicy *ClientPolicy `locationName:"clientPolicy" type:"structure"` 19168 19169 // The name of the virtual service that is acting as a virtual node backend. 19170 // 19171 // VirtualServiceName is a required field 19172 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 19173 } 19174 19175 // String returns the string representation. 19176 // 19177 // API parameter values that are decorated as "sensitive" in the API will not 19178 // be included in the string output. The member name will be present, but the 19179 // value will be replaced with "sensitive". 19180 func (s VirtualServiceBackend) String() string { 19181 return awsutil.Prettify(s) 19182 } 19183 19184 // GoString returns the string representation. 19185 // 19186 // API parameter values that are decorated as "sensitive" in the API will not 19187 // be included in the string output. The member name will be present, but the 19188 // value will be replaced with "sensitive". 19189 func (s VirtualServiceBackend) GoString() string { 19190 return s.String() 19191 } 19192 19193 // Validate inspects the fields of the type to determine if they are valid. 19194 func (s *VirtualServiceBackend) Validate() error { 19195 invalidParams := request.ErrInvalidParams{Context: "VirtualServiceBackend"} 19196 if s.VirtualServiceName == nil { 19197 invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) 19198 } 19199 if s.ClientPolicy != nil { 19200 if err := s.ClientPolicy.Validate(); err != nil { 19201 invalidParams.AddNested("ClientPolicy", err.(request.ErrInvalidParams)) 19202 } 19203 } 19204 19205 if invalidParams.Len() > 0 { 19206 return invalidParams 19207 } 19208 return nil 19209 } 19210 19211 // SetClientPolicy sets the ClientPolicy field's value. 19212 func (s *VirtualServiceBackend) SetClientPolicy(v *ClientPolicy) *VirtualServiceBackend { 19213 s.ClientPolicy = v 19214 return s 19215 } 19216 19217 // SetVirtualServiceName sets the VirtualServiceName field's value. 19218 func (s *VirtualServiceBackend) SetVirtualServiceName(v string) *VirtualServiceBackend { 19219 s.VirtualServiceName = &v 19220 return s 19221 } 19222 19223 // An object that represents a virtual service returned by a describe operation. 19224 type VirtualServiceData struct { 19225 _ struct{} `type:"structure"` 19226 19227 // The name of the service mesh that the virtual service resides in. 19228 // 19229 // MeshName is a required field 19230 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 19231 19232 // An object that represents metadata for a resource. 19233 // 19234 // Metadata is a required field 19235 Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` 19236 19237 // The specifications of the virtual service. 19238 // 19239 // Spec is a required field 19240 Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` 19241 19242 // The current status of the virtual service. 19243 // 19244 // Status is a required field 19245 Status *VirtualServiceStatus `locationName:"status" type:"structure" required:"true"` 19246 19247 // The name of the virtual service. 19248 // 19249 // VirtualServiceName is a required field 19250 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 19251 } 19252 19253 // String returns the string representation. 19254 // 19255 // API parameter values that are decorated as "sensitive" in the API will not 19256 // be included in the string output. The member name will be present, but the 19257 // value will be replaced with "sensitive". 19258 func (s VirtualServiceData) String() string { 19259 return awsutil.Prettify(s) 19260 } 19261 19262 // GoString returns the string representation. 19263 // 19264 // API parameter values that are decorated as "sensitive" in the API will not 19265 // be included in the string output. The member name will be present, but the 19266 // value will be replaced with "sensitive". 19267 func (s VirtualServiceData) GoString() string { 19268 return s.String() 19269 } 19270 19271 // SetMeshName sets the MeshName field's value. 19272 func (s *VirtualServiceData) SetMeshName(v string) *VirtualServiceData { 19273 s.MeshName = &v 19274 return s 19275 } 19276 19277 // SetMetadata sets the Metadata field's value. 19278 func (s *VirtualServiceData) SetMetadata(v *ResourceMetadata) *VirtualServiceData { 19279 s.Metadata = v 19280 return s 19281 } 19282 19283 // SetSpec sets the Spec field's value. 19284 func (s *VirtualServiceData) SetSpec(v *VirtualServiceSpec) *VirtualServiceData { 19285 s.Spec = v 19286 return s 19287 } 19288 19289 // SetStatus sets the Status field's value. 19290 func (s *VirtualServiceData) SetStatus(v *VirtualServiceStatus) *VirtualServiceData { 19291 s.Status = v 19292 return s 19293 } 19294 19295 // SetVirtualServiceName sets the VirtualServiceName field's value. 19296 func (s *VirtualServiceData) SetVirtualServiceName(v string) *VirtualServiceData { 19297 s.VirtualServiceName = &v 19298 return s 19299 } 19300 19301 // An object that represents the provider for a virtual service. 19302 type VirtualServiceProvider struct { 19303 _ struct{} `type:"structure"` 19304 19305 // The virtual node associated with a virtual service. 19306 VirtualNode *VirtualNodeServiceProvider `locationName:"virtualNode" type:"structure"` 19307 19308 // The virtual router associated with a virtual service. 19309 VirtualRouter *VirtualRouterServiceProvider `locationName:"virtualRouter" type:"structure"` 19310 } 19311 19312 // String returns the string representation. 19313 // 19314 // API parameter values that are decorated as "sensitive" in the API will not 19315 // be included in the string output. The member name will be present, but the 19316 // value will be replaced with "sensitive". 19317 func (s VirtualServiceProvider) String() string { 19318 return awsutil.Prettify(s) 19319 } 19320 19321 // GoString returns the string representation. 19322 // 19323 // API parameter values that are decorated as "sensitive" in the API will not 19324 // be included in the string output. The member name will be present, but the 19325 // value will be replaced with "sensitive". 19326 func (s VirtualServiceProvider) GoString() string { 19327 return s.String() 19328 } 19329 19330 // Validate inspects the fields of the type to determine if they are valid. 19331 func (s *VirtualServiceProvider) Validate() error { 19332 invalidParams := request.ErrInvalidParams{Context: "VirtualServiceProvider"} 19333 if s.VirtualNode != nil { 19334 if err := s.VirtualNode.Validate(); err != nil { 19335 invalidParams.AddNested("VirtualNode", err.(request.ErrInvalidParams)) 19336 } 19337 } 19338 if s.VirtualRouter != nil { 19339 if err := s.VirtualRouter.Validate(); err != nil { 19340 invalidParams.AddNested("VirtualRouter", err.(request.ErrInvalidParams)) 19341 } 19342 } 19343 19344 if invalidParams.Len() > 0 { 19345 return invalidParams 19346 } 19347 return nil 19348 } 19349 19350 // SetVirtualNode sets the VirtualNode field's value. 19351 func (s *VirtualServiceProvider) SetVirtualNode(v *VirtualNodeServiceProvider) *VirtualServiceProvider { 19352 s.VirtualNode = v 19353 return s 19354 } 19355 19356 // SetVirtualRouter sets the VirtualRouter field's value. 19357 func (s *VirtualServiceProvider) SetVirtualRouter(v *VirtualRouterServiceProvider) *VirtualServiceProvider { 19358 s.VirtualRouter = v 19359 return s 19360 } 19361 19362 // An object that represents a virtual service returned by a list operation. 19363 type VirtualServiceRef struct { 19364 _ struct{} `type:"structure"` 19365 19366 // The full Amazon Resource Name (ARN) for the virtual service. 19367 // 19368 // Arn is a required field 19369 Arn *string `locationName:"arn" type:"string" required:"true"` 19370 19371 // The Unix epoch timestamp in seconds for when the resource was created. 19372 // 19373 // CreatedAt is a required field 19374 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` 19375 19376 // The Unix epoch timestamp in seconds for when the resource was last updated. 19377 // 19378 // LastUpdatedAt is a required field 19379 LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` 19380 19381 // The name of the service mesh that the virtual service resides in. 19382 // 19383 // MeshName is a required field 19384 MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` 19385 19386 // The AWS IAM account ID of the service mesh owner. If the account ID is not 19387 // your own, then it's the ID of the account that shared the mesh with your 19388 // account. For more information about mesh sharing, see Working with shared 19389 // meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 19390 // 19391 // MeshOwner is a required field 19392 MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` 19393 19394 // The AWS IAM account ID of the resource owner. If the account ID is not your 19395 // own, then it's the ID of the mesh owner or of another account that the mesh 19396 // is shared with. For more information about mesh sharing, see Working with 19397 // shared meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html). 19398 // 19399 // ResourceOwner is a required field 19400 ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` 19401 19402 // The version of the resource. Resources are created at version 1, and this 19403 // version is incremented each time that they're updated. 19404 // 19405 // Version is a required field 19406 Version *int64 `locationName:"version" type:"long" required:"true"` 19407 19408 // The name of the virtual service. 19409 // 19410 // VirtualServiceName is a required field 19411 VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` 19412 } 19413 19414 // String returns the string representation. 19415 // 19416 // API parameter values that are decorated as "sensitive" in the API will not 19417 // be included in the string output. The member name will be present, but the 19418 // value will be replaced with "sensitive". 19419 func (s VirtualServiceRef) String() string { 19420 return awsutil.Prettify(s) 19421 } 19422 19423 // GoString returns the string representation. 19424 // 19425 // API parameter values that are decorated as "sensitive" in the API will not 19426 // be included in the string output. The member name will be present, but the 19427 // value will be replaced with "sensitive". 19428 func (s VirtualServiceRef) GoString() string { 19429 return s.String() 19430 } 19431 19432 // SetArn sets the Arn field's value. 19433 func (s *VirtualServiceRef) SetArn(v string) *VirtualServiceRef { 19434 s.Arn = &v 19435 return s 19436 } 19437 19438 // SetCreatedAt sets the CreatedAt field's value. 19439 func (s *VirtualServiceRef) SetCreatedAt(v time.Time) *VirtualServiceRef { 19440 s.CreatedAt = &v 19441 return s 19442 } 19443 19444 // SetLastUpdatedAt sets the LastUpdatedAt field's value. 19445 func (s *VirtualServiceRef) SetLastUpdatedAt(v time.Time) *VirtualServiceRef { 19446 s.LastUpdatedAt = &v 19447 return s 19448 } 19449 19450 // SetMeshName sets the MeshName field's value. 19451 func (s *VirtualServiceRef) SetMeshName(v string) *VirtualServiceRef { 19452 s.MeshName = &v 19453 return s 19454 } 19455 19456 // SetMeshOwner sets the MeshOwner field's value. 19457 func (s *VirtualServiceRef) SetMeshOwner(v string) *VirtualServiceRef { 19458 s.MeshOwner = &v 19459 return s 19460 } 19461 19462 // SetResourceOwner sets the ResourceOwner field's value. 19463 func (s *VirtualServiceRef) SetResourceOwner(v string) *VirtualServiceRef { 19464 s.ResourceOwner = &v 19465 return s 19466 } 19467 19468 // SetVersion sets the Version field's value. 19469 func (s *VirtualServiceRef) SetVersion(v int64) *VirtualServiceRef { 19470 s.Version = &v 19471 return s 19472 } 19473 19474 // SetVirtualServiceName sets the VirtualServiceName field's value. 19475 func (s *VirtualServiceRef) SetVirtualServiceName(v string) *VirtualServiceRef { 19476 s.VirtualServiceName = &v 19477 return s 19478 } 19479 19480 // An object that represents the specification of a virtual service. 19481 type VirtualServiceSpec struct { 19482 _ struct{} `type:"structure"` 19483 19484 // The App Mesh object that is acting as the provider for a virtual service. 19485 // You can specify a single virtual node or virtual router. 19486 Provider *VirtualServiceProvider `locationName:"provider" type:"structure"` 19487 } 19488 19489 // String returns the string representation. 19490 // 19491 // API parameter values that are decorated as "sensitive" in the API will not 19492 // be included in the string output. The member name will be present, but the 19493 // value will be replaced with "sensitive". 19494 func (s VirtualServiceSpec) String() string { 19495 return awsutil.Prettify(s) 19496 } 19497 19498 // GoString returns the string representation. 19499 // 19500 // API parameter values that are decorated as "sensitive" in the API will not 19501 // be included in the string output. The member name will be present, but the 19502 // value will be replaced with "sensitive". 19503 func (s VirtualServiceSpec) GoString() string { 19504 return s.String() 19505 } 19506 19507 // Validate inspects the fields of the type to determine if they are valid. 19508 func (s *VirtualServiceSpec) Validate() error { 19509 invalidParams := request.ErrInvalidParams{Context: "VirtualServiceSpec"} 19510 if s.Provider != nil { 19511 if err := s.Provider.Validate(); err != nil { 19512 invalidParams.AddNested("Provider", err.(request.ErrInvalidParams)) 19513 } 19514 } 19515 19516 if invalidParams.Len() > 0 { 19517 return invalidParams 19518 } 19519 return nil 19520 } 19521 19522 // SetProvider sets the Provider field's value. 19523 func (s *VirtualServiceSpec) SetProvider(v *VirtualServiceProvider) *VirtualServiceSpec { 19524 s.Provider = v 19525 return s 19526 } 19527 19528 // An object that represents the status of a virtual service. 19529 type VirtualServiceStatus struct { 19530 _ struct{} `type:"structure"` 19531 19532 // The current status of the virtual service. 19533 // 19534 // Status is a required field 19535 Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualServiceStatusCode"` 19536 } 19537 19538 // String returns the string representation. 19539 // 19540 // API parameter values that are decorated as "sensitive" in the API will not 19541 // be included in the string output. The member name will be present, but the 19542 // value will be replaced with "sensitive". 19543 func (s VirtualServiceStatus) String() string { 19544 return awsutil.Prettify(s) 19545 } 19546 19547 // GoString returns the string representation. 19548 // 19549 // API parameter values that are decorated as "sensitive" in the API will not 19550 // be included in the string output. The member name will be present, but the 19551 // value will be replaced with "sensitive". 19552 func (s VirtualServiceStatus) GoString() string { 19553 return s.String() 19554 } 19555 19556 // SetStatus sets the Status field's value. 19557 func (s *VirtualServiceStatus) SetStatus(v string) *VirtualServiceStatus { 19558 s.Status = &v 19559 return s 19560 } 19561 19562 // An object that represents a target and its relative weight. Traffic is distributed 19563 // across targets according to their relative weight. For example, a weighted 19564 // target with a relative weight of 50 receives five times as much traffic as 19565 // one with a relative weight of 10. The total weight for all targets combined 19566 // must be less than or equal to 100. 19567 type WeightedTarget struct { 19568 _ struct{} `type:"structure"` 19569 19570 // The virtual node to associate with the weighted target. 19571 // 19572 // VirtualNode is a required field 19573 VirtualNode *string `locationName:"virtualNode" min:"1" type:"string" required:"true"` 19574 19575 // The relative weight of the weighted target. 19576 // 19577 // Weight is a required field 19578 Weight *int64 `locationName:"weight" type:"integer" required:"true"` 19579 } 19580 19581 // String returns the string representation. 19582 // 19583 // API parameter values that are decorated as "sensitive" in the API will not 19584 // be included in the string output. The member name will be present, but the 19585 // value will be replaced with "sensitive". 19586 func (s WeightedTarget) String() string { 19587 return awsutil.Prettify(s) 19588 } 19589 19590 // GoString returns the string representation. 19591 // 19592 // API parameter values that are decorated as "sensitive" in the API will not 19593 // be included in the string output. The member name will be present, but the 19594 // value will be replaced with "sensitive". 19595 func (s WeightedTarget) GoString() string { 19596 return s.String() 19597 } 19598 19599 // Validate inspects the fields of the type to determine if they are valid. 19600 func (s *WeightedTarget) Validate() error { 19601 invalidParams := request.ErrInvalidParams{Context: "WeightedTarget"} 19602 if s.VirtualNode == nil { 19603 invalidParams.Add(request.NewErrParamRequired("VirtualNode")) 19604 } 19605 if s.VirtualNode != nil && len(*s.VirtualNode) < 1 { 19606 invalidParams.Add(request.NewErrParamMinLen("VirtualNode", 1)) 19607 } 19608 if s.Weight == nil { 19609 invalidParams.Add(request.NewErrParamRequired("Weight")) 19610 } 19611 19612 if invalidParams.Len() > 0 { 19613 return invalidParams 19614 } 19615 return nil 19616 } 19617 19618 // SetVirtualNode sets the VirtualNode field's value. 19619 func (s *WeightedTarget) SetVirtualNode(v string) *WeightedTarget { 19620 s.VirtualNode = &v 19621 return s 19622 } 19623 19624 // SetWeight sets the Weight field's value. 19625 func (s *WeightedTarget) SetWeight(v int64) *WeightedTarget { 19626 s.Weight = &v 19627 return s 19628 } 19629 19630 const ( 19631 // DefaultGatewayRouteRewriteEnabled is a DefaultGatewayRouteRewrite enum value 19632 DefaultGatewayRouteRewriteEnabled = "ENABLED" 19633 19634 // DefaultGatewayRouteRewriteDisabled is a DefaultGatewayRouteRewrite enum value 19635 DefaultGatewayRouteRewriteDisabled = "DISABLED" 19636 ) 19637 19638 // DefaultGatewayRouteRewrite_Values returns all elements of the DefaultGatewayRouteRewrite enum 19639 func DefaultGatewayRouteRewrite_Values() []string { 19640 return []string{ 19641 DefaultGatewayRouteRewriteEnabled, 19642 DefaultGatewayRouteRewriteDisabled, 19643 } 19644 } 19645 19646 const ( 19647 // DnsResponseTypeLoadbalancer is a DnsResponseType enum value 19648 DnsResponseTypeLoadbalancer = "LOADBALANCER" 19649 19650 // DnsResponseTypeEndpoints is a DnsResponseType enum value 19651 DnsResponseTypeEndpoints = "ENDPOINTS" 19652 ) 19653 19654 // DnsResponseType_Values returns all elements of the DnsResponseType enum 19655 func DnsResponseType_Values() []string { 19656 return []string{ 19657 DnsResponseTypeLoadbalancer, 19658 DnsResponseTypeEndpoints, 19659 } 19660 } 19661 19662 const ( 19663 // DurationUnitS is a DurationUnit enum value 19664 DurationUnitS = "s" 19665 19666 // DurationUnitMs is a DurationUnit enum value 19667 DurationUnitMs = "ms" 19668 ) 19669 19670 // DurationUnit_Values returns all elements of the DurationUnit enum 19671 func DurationUnit_Values() []string { 19672 return []string{ 19673 DurationUnitS, 19674 DurationUnitMs, 19675 } 19676 } 19677 19678 const ( 19679 // EgressFilterTypeAllowAll is a EgressFilterType enum value 19680 EgressFilterTypeAllowAll = "ALLOW_ALL" 19681 19682 // EgressFilterTypeDropAll is a EgressFilterType enum value 19683 EgressFilterTypeDropAll = "DROP_ALL" 19684 ) 19685 19686 // EgressFilterType_Values returns all elements of the EgressFilterType enum 19687 func EgressFilterType_Values() []string { 19688 return []string{ 19689 EgressFilterTypeAllowAll, 19690 EgressFilterTypeDropAll, 19691 } 19692 } 19693 19694 const ( 19695 // GatewayRouteStatusCodeActive is a GatewayRouteStatusCode enum value 19696 GatewayRouteStatusCodeActive = "ACTIVE" 19697 19698 // GatewayRouteStatusCodeInactive is a GatewayRouteStatusCode enum value 19699 GatewayRouteStatusCodeInactive = "INACTIVE" 19700 19701 // GatewayRouteStatusCodeDeleted is a GatewayRouteStatusCode enum value 19702 GatewayRouteStatusCodeDeleted = "DELETED" 19703 ) 19704 19705 // GatewayRouteStatusCode_Values returns all elements of the GatewayRouteStatusCode enum 19706 func GatewayRouteStatusCode_Values() []string { 19707 return []string{ 19708 GatewayRouteStatusCodeActive, 19709 GatewayRouteStatusCodeInactive, 19710 GatewayRouteStatusCodeDeleted, 19711 } 19712 } 19713 19714 const ( 19715 // GrpcRetryPolicyEventCancelled is a GrpcRetryPolicyEvent enum value 19716 GrpcRetryPolicyEventCancelled = "cancelled" 19717 19718 // GrpcRetryPolicyEventDeadlineExceeded is a GrpcRetryPolicyEvent enum value 19719 GrpcRetryPolicyEventDeadlineExceeded = "deadline-exceeded" 19720 19721 // GrpcRetryPolicyEventInternal is a GrpcRetryPolicyEvent enum value 19722 GrpcRetryPolicyEventInternal = "internal" 19723 19724 // GrpcRetryPolicyEventResourceExhausted is a GrpcRetryPolicyEvent enum value 19725 GrpcRetryPolicyEventResourceExhausted = "resource-exhausted" 19726 19727 // GrpcRetryPolicyEventUnavailable is a GrpcRetryPolicyEvent enum value 19728 GrpcRetryPolicyEventUnavailable = "unavailable" 19729 ) 19730 19731 // GrpcRetryPolicyEvent_Values returns all elements of the GrpcRetryPolicyEvent enum 19732 func GrpcRetryPolicyEvent_Values() []string { 19733 return []string{ 19734 GrpcRetryPolicyEventCancelled, 19735 GrpcRetryPolicyEventDeadlineExceeded, 19736 GrpcRetryPolicyEventInternal, 19737 GrpcRetryPolicyEventResourceExhausted, 19738 GrpcRetryPolicyEventUnavailable, 19739 } 19740 } 19741 19742 const ( 19743 // HttpMethodGet is a HttpMethod enum value 19744 HttpMethodGet = "GET" 19745 19746 // HttpMethodHead is a HttpMethod enum value 19747 HttpMethodHead = "HEAD" 19748 19749 // HttpMethodPost is a HttpMethod enum value 19750 HttpMethodPost = "POST" 19751 19752 // HttpMethodPut is a HttpMethod enum value 19753 HttpMethodPut = "PUT" 19754 19755 // HttpMethodDelete is a HttpMethod enum value 19756 HttpMethodDelete = "DELETE" 19757 19758 // HttpMethodConnect is a HttpMethod enum value 19759 HttpMethodConnect = "CONNECT" 19760 19761 // HttpMethodOptions is a HttpMethod enum value 19762 HttpMethodOptions = "OPTIONS" 19763 19764 // HttpMethodTrace is a HttpMethod enum value 19765 HttpMethodTrace = "TRACE" 19766 19767 // HttpMethodPatch is a HttpMethod enum value 19768 HttpMethodPatch = "PATCH" 19769 ) 19770 19771 // HttpMethod_Values returns all elements of the HttpMethod enum 19772 func HttpMethod_Values() []string { 19773 return []string{ 19774 HttpMethodGet, 19775 HttpMethodHead, 19776 HttpMethodPost, 19777 HttpMethodPut, 19778 HttpMethodDelete, 19779 HttpMethodConnect, 19780 HttpMethodOptions, 19781 HttpMethodTrace, 19782 HttpMethodPatch, 19783 } 19784 } 19785 19786 const ( 19787 // HttpSchemeHttp is a HttpScheme enum value 19788 HttpSchemeHttp = "http" 19789 19790 // HttpSchemeHttps is a HttpScheme enum value 19791 HttpSchemeHttps = "https" 19792 ) 19793 19794 // HttpScheme_Values returns all elements of the HttpScheme enum 19795 func HttpScheme_Values() []string { 19796 return []string{ 19797 HttpSchemeHttp, 19798 HttpSchemeHttps, 19799 } 19800 } 19801 19802 const ( 19803 // ListenerTlsModeStrict is a ListenerTlsMode enum value 19804 ListenerTlsModeStrict = "STRICT" 19805 19806 // ListenerTlsModePermissive is a ListenerTlsMode enum value 19807 ListenerTlsModePermissive = "PERMISSIVE" 19808 19809 // ListenerTlsModeDisabled is a ListenerTlsMode enum value 19810 ListenerTlsModeDisabled = "DISABLED" 19811 ) 19812 19813 // ListenerTlsMode_Values returns all elements of the ListenerTlsMode enum 19814 func ListenerTlsMode_Values() []string { 19815 return []string{ 19816 ListenerTlsModeStrict, 19817 ListenerTlsModePermissive, 19818 ListenerTlsModeDisabled, 19819 } 19820 } 19821 19822 const ( 19823 // MeshStatusCodeActive is a MeshStatusCode enum value 19824 MeshStatusCodeActive = "ACTIVE" 19825 19826 // MeshStatusCodeInactive is a MeshStatusCode enum value 19827 MeshStatusCodeInactive = "INACTIVE" 19828 19829 // MeshStatusCodeDeleted is a MeshStatusCode enum value 19830 MeshStatusCodeDeleted = "DELETED" 19831 ) 19832 19833 // MeshStatusCode_Values returns all elements of the MeshStatusCode enum 19834 func MeshStatusCode_Values() []string { 19835 return []string{ 19836 MeshStatusCodeActive, 19837 MeshStatusCodeInactive, 19838 MeshStatusCodeDeleted, 19839 } 19840 } 19841 19842 const ( 19843 // PortProtocolHttp is a PortProtocol enum value 19844 PortProtocolHttp = "http" 19845 19846 // PortProtocolTcp is a PortProtocol enum value 19847 PortProtocolTcp = "tcp" 19848 19849 // PortProtocolHttp2 is a PortProtocol enum value 19850 PortProtocolHttp2 = "http2" 19851 19852 // PortProtocolGrpc is a PortProtocol enum value 19853 PortProtocolGrpc = "grpc" 19854 ) 19855 19856 // PortProtocol_Values returns all elements of the PortProtocol enum 19857 func PortProtocol_Values() []string { 19858 return []string{ 19859 PortProtocolHttp, 19860 PortProtocolTcp, 19861 PortProtocolHttp2, 19862 PortProtocolGrpc, 19863 } 19864 } 19865 19866 const ( 19867 // RouteStatusCodeActive is a RouteStatusCode enum value 19868 RouteStatusCodeActive = "ACTIVE" 19869 19870 // RouteStatusCodeInactive is a RouteStatusCode enum value 19871 RouteStatusCodeInactive = "INACTIVE" 19872 19873 // RouteStatusCodeDeleted is a RouteStatusCode enum value 19874 RouteStatusCodeDeleted = "DELETED" 19875 ) 19876 19877 // RouteStatusCode_Values returns all elements of the RouteStatusCode enum 19878 func RouteStatusCode_Values() []string { 19879 return []string{ 19880 RouteStatusCodeActive, 19881 RouteStatusCodeInactive, 19882 RouteStatusCodeDeleted, 19883 } 19884 } 19885 19886 const ( 19887 // TcpRetryPolicyEventConnectionError is a TcpRetryPolicyEvent enum value 19888 TcpRetryPolicyEventConnectionError = "connection-error" 19889 ) 19890 19891 // TcpRetryPolicyEvent_Values returns all elements of the TcpRetryPolicyEvent enum 19892 func TcpRetryPolicyEvent_Values() []string { 19893 return []string{ 19894 TcpRetryPolicyEventConnectionError, 19895 } 19896 } 19897 19898 const ( 19899 // VirtualGatewayListenerTlsModeStrict is a VirtualGatewayListenerTlsMode enum value 19900 VirtualGatewayListenerTlsModeStrict = "STRICT" 19901 19902 // VirtualGatewayListenerTlsModePermissive is a VirtualGatewayListenerTlsMode enum value 19903 VirtualGatewayListenerTlsModePermissive = "PERMISSIVE" 19904 19905 // VirtualGatewayListenerTlsModeDisabled is a VirtualGatewayListenerTlsMode enum value 19906 VirtualGatewayListenerTlsModeDisabled = "DISABLED" 19907 ) 19908 19909 // VirtualGatewayListenerTlsMode_Values returns all elements of the VirtualGatewayListenerTlsMode enum 19910 func VirtualGatewayListenerTlsMode_Values() []string { 19911 return []string{ 19912 VirtualGatewayListenerTlsModeStrict, 19913 VirtualGatewayListenerTlsModePermissive, 19914 VirtualGatewayListenerTlsModeDisabled, 19915 } 19916 } 19917 19918 const ( 19919 // VirtualGatewayPortProtocolHttp is a VirtualGatewayPortProtocol enum value 19920 VirtualGatewayPortProtocolHttp = "http" 19921 19922 // VirtualGatewayPortProtocolHttp2 is a VirtualGatewayPortProtocol enum value 19923 VirtualGatewayPortProtocolHttp2 = "http2" 19924 19925 // VirtualGatewayPortProtocolGrpc is a VirtualGatewayPortProtocol enum value 19926 VirtualGatewayPortProtocolGrpc = "grpc" 19927 ) 19928 19929 // VirtualGatewayPortProtocol_Values returns all elements of the VirtualGatewayPortProtocol enum 19930 func VirtualGatewayPortProtocol_Values() []string { 19931 return []string{ 19932 VirtualGatewayPortProtocolHttp, 19933 VirtualGatewayPortProtocolHttp2, 19934 VirtualGatewayPortProtocolGrpc, 19935 } 19936 } 19937 19938 const ( 19939 // VirtualGatewayStatusCodeActive is a VirtualGatewayStatusCode enum value 19940 VirtualGatewayStatusCodeActive = "ACTIVE" 19941 19942 // VirtualGatewayStatusCodeInactive is a VirtualGatewayStatusCode enum value 19943 VirtualGatewayStatusCodeInactive = "INACTIVE" 19944 19945 // VirtualGatewayStatusCodeDeleted is a VirtualGatewayStatusCode enum value 19946 VirtualGatewayStatusCodeDeleted = "DELETED" 19947 ) 19948 19949 // VirtualGatewayStatusCode_Values returns all elements of the VirtualGatewayStatusCode enum 19950 func VirtualGatewayStatusCode_Values() []string { 19951 return []string{ 19952 VirtualGatewayStatusCodeActive, 19953 VirtualGatewayStatusCodeInactive, 19954 VirtualGatewayStatusCodeDeleted, 19955 } 19956 } 19957 19958 const ( 19959 // VirtualNodeStatusCodeActive is a VirtualNodeStatusCode enum value 19960 VirtualNodeStatusCodeActive = "ACTIVE" 19961 19962 // VirtualNodeStatusCodeInactive is a VirtualNodeStatusCode enum value 19963 VirtualNodeStatusCodeInactive = "INACTIVE" 19964 19965 // VirtualNodeStatusCodeDeleted is a VirtualNodeStatusCode enum value 19966 VirtualNodeStatusCodeDeleted = "DELETED" 19967 ) 19968 19969 // VirtualNodeStatusCode_Values returns all elements of the VirtualNodeStatusCode enum 19970 func VirtualNodeStatusCode_Values() []string { 19971 return []string{ 19972 VirtualNodeStatusCodeActive, 19973 VirtualNodeStatusCodeInactive, 19974 VirtualNodeStatusCodeDeleted, 19975 } 19976 } 19977 19978 const ( 19979 // VirtualRouterStatusCodeActive is a VirtualRouterStatusCode enum value 19980 VirtualRouterStatusCodeActive = "ACTIVE" 19981 19982 // VirtualRouterStatusCodeInactive is a VirtualRouterStatusCode enum value 19983 VirtualRouterStatusCodeInactive = "INACTIVE" 19984 19985 // VirtualRouterStatusCodeDeleted is a VirtualRouterStatusCode enum value 19986 VirtualRouterStatusCodeDeleted = "DELETED" 19987 ) 19988 19989 // VirtualRouterStatusCode_Values returns all elements of the VirtualRouterStatusCode enum 19990 func VirtualRouterStatusCode_Values() []string { 19991 return []string{ 19992 VirtualRouterStatusCodeActive, 19993 VirtualRouterStatusCodeInactive, 19994 VirtualRouterStatusCodeDeleted, 19995 } 19996 } 19997 19998 const ( 19999 // VirtualServiceStatusCodeActive is a VirtualServiceStatusCode enum value 20000 VirtualServiceStatusCodeActive = "ACTIVE" 20001 20002 // VirtualServiceStatusCodeInactive is a VirtualServiceStatusCode enum value 20003 VirtualServiceStatusCodeInactive = "INACTIVE" 20004 20005 // VirtualServiceStatusCodeDeleted is a VirtualServiceStatusCode enum value 20006 VirtualServiceStatusCodeDeleted = "DELETED" 20007 ) 20008 20009 // VirtualServiceStatusCode_Values returns all elements of the VirtualServiceStatusCode enum 20010 func VirtualServiceStatusCode_Values() []string { 20011 return []string{ 20012 VirtualServiceStatusCodeActive, 20013 VirtualServiceStatusCodeInactive, 20014 VirtualServiceStatusCodeDeleted, 20015 } 20016 }