github.com/aavshr/aws-sdk-go@v1.41.3/service/ecs/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package ecs 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/jsonrpc" 14 ) 15 16 const opCreateCapacityProvider = "CreateCapacityProvider" 17 18 // CreateCapacityProviderRequest generates a "aws/request.Request" representing the 19 // client's request for the CreateCapacityProvider 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 CreateCapacityProvider for more information on using the CreateCapacityProvider 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 CreateCapacityProviderRequest method. 34 // req, resp := client.CreateCapacityProviderRequest(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/ecs-2014-11-13/CreateCapacityProvider 42 func (c *ECS) CreateCapacityProviderRequest(input *CreateCapacityProviderInput) (req *request.Request, output *CreateCapacityProviderOutput) { 43 op := &request.Operation{ 44 Name: opCreateCapacityProvider, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CreateCapacityProviderInput{} 51 } 52 53 output = &CreateCapacityProviderOutput{} 54 req = c.newRequest(op, input, output) 55 return 56 } 57 58 // CreateCapacityProvider API operation for Amazon EC2 Container Service. 59 // 60 // Creates a new capacity provider. Capacity providers are associated with an 61 // Amazon ECS cluster and are used in capacity provider strategies to facilitate 62 // cluster auto scaling. 63 // 64 // Only capacity providers using an Auto Scaling group can be created. Amazon 65 // ECS tasks on Fargate use the FARGATE and FARGATE_SPOT capacity providers 66 // which are already created and available to all accounts in Regions supported 67 // by Fargate. 68 // 69 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 70 // with awserr.Error's Code and Message methods to get detailed information about 71 // the error. 72 // 73 // See the AWS API reference guide for Amazon EC2 Container Service's 74 // API operation CreateCapacityProvider for usage and error information. 75 // 76 // Returned Error Types: 77 // * ServerException 78 // These errors are usually caused by a server issue. 79 // 80 // * ClientException 81 // These errors are usually caused by a client action, such as using an action 82 // or resource on behalf of a user that doesn't have permissions to use the 83 // action or resource, or specifying an identifier that is not valid. 84 // 85 // * InvalidParameterException 86 // The specified parameter is invalid. Review the available parameters for the 87 // API request. 88 // 89 // * LimitExceededException 90 // The limit for the resource has been exceeded. 91 // 92 // * UpdateInProgressException 93 // There is already a current Amazon ECS container agent update in progress 94 // on the specified container instance. If the container agent becomes disconnected 95 // while it is in a transitional stage, such as PENDING or STAGING, the update 96 // process can get stuck in that state. However, when the agent reconnects, 97 // it resumes where it stopped previously. 98 // 99 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCapacityProvider 100 func (c *ECS) CreateCapacityProvider(input *CreateCapacityProviderInput) (*CreateCapacityProviderOutput, error) { 101 req, out := c.CreateCapacityProviderRequest(input) 102 return out, req.Send() 103 } 104 105 // CreateCapacityProviderWithContext is the same as CreateCapacityProvider with the addition of 106 // the ability to pass a context and additional request options. 107 // 108 // See CreateCapacityProvider for details on how to use this API operation. 109 // 110 // The context must be non-nil and will be used for request cancellation. If 111 // the context is nil a panic will occur. In the future the SDK may create 112 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 113 // for more information on using Contexts. 114 func (c *ECS) CreateCapacityProviderWithContext(ctx aws.Context, input *CreateCapacityProviderInput, opts ...request.Option) (*CreateCapacityProviderOutput, error) { 115 req, out := c.CreateCapacityProviderRequest(input) 116 req.SetContext(ctx) 117 req.ApplyOptions(opts...) 118 return out, req.Send() 119 } 120 121 const opCreateCluster = "CreateCluster" 122 123 // CreateClusterRequest generates a "aws/request.Request" representing the 124 // client's request for the CreateCluster operation. The "output" return 125 // value will be populated with the request's response once the request completes 126 // successfully. 127 // 128 // Use "Send" method on the returned Request to send the API call to the service. 129 // the "output" return value is not valid until after Send returns without error. 130 // 131 // See CreateCluster for more information on using the CreateCluster 132 // API call, and error handling. 133 // 134 // This method is useful when you want to inject custom logic or configuration 135 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 136 // 137 // 138 // // Example sending a request using the CreateClusterRequest method. 139 // req, resp := client.CreateClusterRequest(params) 140 // 141 // err := req.Send() 142 // if err == nil { // resp is now filled 143 // fmt.Println(resp) 144 // } 145 // 146 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster 147 func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { 148 op := &request.Operation{ 149 Name: opCreateCluster, 150 HTTPMethod: "POST", 151 HTTPPath: "/", 152 } 153 154 if input == nil { 155 input = &CreateClusterInput{} 156 } 157 158 output = &CreateClusterOutput{} 159 req = c.newRequest(op, input, output) 160 return 161 } 162 163 // CreateCluster API operation for Amazon EC2 Container Service. 164 // 165 // Creates a new Amazon ECS cluster. By default, your account receives a default 166 // cluster when you launch your first container instance. However, you can create 167 // your own cluster with a unique name with the CreateCluster action. 168 // 169 // When you call the CreateCluster API operation, Amazon ECS attempts to create 170 // the Amazon ECS service-linked role for your account so that required resources 171 // in other Amazon Web Services services can be managed on your behalf. However, 172 // if the IAM user that makes the call does not have permissions to create the 173 // service-linked role, it is not created. For more information, see Using Service-Linked 174 // Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 175 // in the Amazon Elastic Container Service Developer Guide. 176 // 177 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 178 // with awserr.Error's Code and Message methods to get detailed information about 179 // the error. 180 // 181 // See the AWS API reference guide for Amazon EC2 Container Service's 182 // API operation CreateCluster for usage and error information. 183 // 184 // Returned Error Types: 185 // * ServerException 186 // These errors are usually caused by a server issue. 187 // 188 // * ClientException 189 // These errors are usually caused by a client action, such as using an action 190 // or resource on behalf of a user that doesn't have permissions to use the 191 // action or resource, or specifying an identifier that is not valid. 192 // 193 // * InvalidParameterException 194 // The specified parameter is invalid. Review the available parameters for the 195 // API request. 196 // 197 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster 198 func (c *ECS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { 199 req, out := c.CreateClusterRequest(input) 200 return out, req.Send() 201 } 202 203 // CreateClusterWithContext is the same as CreateCluster with the addition of 204 // the ability to pass a context and additional request options. 205 // 206 // See CreateCluster for details on how to use this API operation. 207 // 208 // The context must be non-nil and will be used for request cancellation. If 209 // the context is nil a panic will occur. In the future the SDK may create 210 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 211 // for more information on using Contexts. 212 func (c *ECS) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { 213 req, out := c.CreateClusterRequest(input) 214 req.SetContext(ctx) 215 req.ApplyOptions(opts...) 216 return out, req.Send() 217 } 218 219 const opCreateService = "CreateService" 220 221 // CreateServiceRequest generates a "aws/request.Request" representing the 222 // client's request for the CreateService operation. The "output" return 223 // value will be populated with the request's response once the request completes 224 // successfully. 225 // 226 // Use "Send" method on the returned Request to send the API call to the service. 227 // the "output" return value is not valid until after Send returns without error. 228 // 229 // See CreateService for more information on using the CreateService 230 // API call, and error handling. 231 // 232 // This method is useful when you want to inject custom logic or configuration 233 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 234 // 235 // 236 // // Example sending a request using the CreateServiceRequest method. 237 // req, resp := client.CreateServiceRequest(params) 238 // 239 // err := req.Send() 240 // if err == nil { // resp is now filled 241 // fmt.Println(resp) 242 // } 243 // 244 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 245 func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) { 246 op := &request.Operation{ 247 Name: opCreateService, 248 HTTPMethod: "POST", 249 HTTPPath: "/", 250 } 251 252 if input == nil { 253 input = &CreateServiceInput{} 254 } 255 256 output = &CreateServiceOutput{} 257 req = c.newRequest(op, input, output) 258 return 259 } 260 261 // CreateService API operation for Amazon EC2 Container Service. 262 // 263 // Runs and maintains a desired number of tasks from a specified task definition. 264 // If the number of tasks running in a service drops below the desiredCount, 265 // Amazon ECS runs another copy of the task in the specified cluster. To update 266 // an existing service, see the UpdateService action. 267 // 268 // In addition to maintaining the desired count of tasks in your service, you 269 // can optionally run your service behind one or more load balancers. The load 270 // balancers distribute traffic across the tasks that are associated with the 271 // service. For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 272 // in the Amazon Elastic Container Service Developer Guide. 273 // 274 // Tasks for services that do not use a load balancer are considered healthy 275 // if they're in the RUNNING state. Tasks for services that do use a load balancer 276 // are considered healthy if they're in the RUNNING state and the container 277 // instance that they're hosted on is reported as healthy by the load balancer. 278 // 279 // There are two service scheduler strategies available: 280 // 281 // * REPLICA - The replica scheduling strategy places and maintains the desired 282 // number of tasks across your cluster. By default, the service scheduler 283 // spreads tasks across Availability Zones. You can use task placement strategies 284 // and constraints to customize task placement decisions. For more information, 285 // see Service Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) 286 // in the Amazon Elastic Container Service Developer Guide. 287 // 288 // * DAEMON - The daemon scheduling strategy deploys exactly one task on 289 // each active container instance that meets all of the task placement constraints 290 // that you specify in your cluster. The service scheduler also evaluates 291 // the task placement constraints for running tasks and will stop tasks that 292 // do not meet the placement constraints. When using this strategy, you don't 293 // need to specify a desired number of tasks, a task placement strategy, 294 // or use Service Auto Scaling policies. For more information, see Service 295 // Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) 296 // in the Amazon Elastic Container Service Developer Guide. 297 // 298 // You can optionally specify a deployment configuration for your service. The 299 // deployment is triggered by changing properties, such as the task definition 300 // or the desired count of a service, with an UpdateService operation. The default 301 // value for a replica service for minimumHealthyPercent is 100%. The default 302 // value for a daemon service for minimumHealthyPercent is 0%. 303 // 304 // If a service is using the ECS deployment controller, the minimum healthy 305 // percent represents a lower limit on the number of tasks in a service that 306 // must remain in the RUNNING state during a deployment, as a percentage of 307 // the desired number of tasks (rounded up to the nearest integer), and while 308 // any container instances are in the DRAINING state if the service contains 309 // tasks using the EC2 launch type. This parameter enables you to deploy without 310 // using additional cluster capacity. For example, if your service has a desired 311 // number of four tasks and a minimum healthy percent of 50%, the scheduler 312 // might stop two existing tasks to free up cluster capacity before starting 313 // two new tasks. Tasks for services that do not use a load balancer are considered 314 // healthy if they're in the RUNNING state. Tasks for services that do use a 315 // load balancer are considered healthy if they're in the RUNNING state and 316 // they're reported as healthy by the load balancer. The default value for minimum 317 // healthy percent is 100%. 318 // 319 // If a service is using the ECS deployment controller, the maximum percent 320 // parameter represents an upper limit on the number of tasks in a service that 321 // are allowed in the RUNNING or PENDING state during a deployment, as a percentage 322 // of the desired number of tasks (rounded down to the nearest integer), and 323 // while any container instances are in the DRAINING state if the service contains 324 // tasks using the EC2 launch type. This parameter enables you to define the 325 // deployment batch size. For example, if your service has a desired number 326 // of four tasks and a maximum percent value of 200%, the scheduler may start 327 // four new tasks before stopping the four older tasks (provided that the cluster 328 // resources required to do this are available). The default value for maximum 329 // percent is 200%. 330 // 331 // If a service is using either the CODE_DEPLOY or EXTERNAL deployment controller 332 // types and tasks that use the EC2 launch type, the minimum healthy percent 333 // and maximum percent values are used only to define the lower and upper limit 334 // on the number of the tasks in the service that remain in the RUNNING state 335 // while the container instances are in the DRAINING state. If the tasks in 336 // the service use the Fargate launch type, the minimum healthy percent and 337 // maximum percent values aren't used, although they're currently visible when 338 // describing your service. 339 // 340 // When creating a service that uses the EXTERNAL deployment controller, you 341 // can specify only parameters that aren't controlled at the task set level. 342 // The only required parameter is the service name. You control your services 343 // using the CreateTaskSet operation. For more information, see Amazon ECS Deployment 344 // Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 345 // in the Amazon Elastic Container Service Developer Guide. 346 // 347 // When the service scheduler launches new tasks, it determines task placement 348 // in your cluster using the following logic: 349 // 350 // * Determine which of the container instances in your cluster can support 351 // your service's task definition (for example, they have the required CPU, 352 // memory, ports, and container instance attributes). 353 // 354 // * By default, the service scheduler attempts to balance tasks across Availability 355 // Zones in this manner (although you can choose a different placement strategy) 356 // with the placementStrategy parameter): Sort the valid container instances, 357 // giving priority to instances that have the fewest number of running tasks 358 // for this service in their respective Availability Zone. For example, if 359 // zone A has one running service task and zones B and C each have zero, 360 // valid container instances in either zone B or C are considered optimal 361 // for placement. Place the new service task on a valid container instance 362 // in an optimal Availability Zone (based on the previous steps), favoring 363 // container instances with the fewest number of running tasks for this service. 364 // 365 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 366 // with awserr.Error's Code and Message methods to get detailed information about 367 // the error. 368 // 369 // See the AWS API reference guide for Amazon EC2 Container Service's 370 // API operation CreateService for usage and error information. 371 // 372 // Returned Error Types: 373 // * ServerException 374 // These errors are usually caused by a server issue. 375 // 376 // * ClientException 377 // These errors are usually caused by a client action, such as using an action 378 // or resource on behalf of a user that doesn't have permissions to use the 379 // action or resource, or specifying an identifier that is not valid. 380 // 381 // * InvalidParameterException 382 // The specified parameter is invalid. Review the available parameters for the 383 // API request. 384 // 385 // * ClusterNotFoundException 386 // The specified cluster could not be found. You can view your available clusters 387 // with ListClusters. Amazon ECS clusters are Region-specific. 388 // 389 // * UnsupportedFeatureException 390 // The specified task is not supported in this Region. 391 // 392 // * PlatformUnknownException 393 // The specified platform version does not exist. 394 // 395 // * PlatformTaskDefinitionIncompatibilityException 396 // The specified platform version does not satisfy the task definition's required 397 // capabilities. 398 // 399 // * AccessDeniedException 400 // You do not have authorization to perform the requested action. 401 // 402 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 403 func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) { 404 req, out := c.CreateServiceRequest(input) 405 return out, req.Send() 406 } 407 408 // CreateServiceWithContext is the same as CreateService with the addition of 409 // the ability to pass a context and additional request options. 410 // 411 // See CreateService for details on how to use this API operation. 412 // 413 // The context must be non-nil and will be used for request cancellation. If 414 // the context is nil a panic will occur. In the future the SDK may create 415 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 416 // for more information on using Contexts. 417 func (c *ECS) CreateServiceWithContext(ctx aws.Context, input *CreateServiceInput, opts ...request.Option) (*CreateServiceOutput, error) { 418 req, out := c.CreateServiceRequest(input) 419 req.SetContext(ctx) 420 req.ApplyOptions(opts...) 421 return out, req.Send() 422 } 423 424 const opCreateTaskSet = "CreateTaskSet" 425 426 // CreateTaskSetRequest generates a "aws/request.Request" representing the 427 // client's request for the CreateTaskSet operation. The "output" return 428 // value will be populated with the request's response once the request completes 429 // successfully. 430 // 431 // Use "Send" method on the returned Request to send the API call to the service. 432 // the "output" return value is not valid until after Send returns without error. 433 // 434 // See CreateTaskSet for more information on using the CreateTaskSet 435 // API call, and error handling. 436 // 437 // This method is useful when you want to inject custom logic or configuration 438 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 439 // 440 // 441 // // Example sending a request using the CreateTaskSetRequest method. 442 // req, resp := client.CreateTaskSetRequest(params) 443 // 444 // err := req.Send() 445 // if err == nil { // resp is now filled 446 // fmt.Println(resp) 447 // } 448 // 449 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 450 func (c *ECS) CreateTaskSetRequest(input *CreateTaskSetInput) (req *request.Request, output *CreateTaskSetOutput) { 451 op := &request.Operation{ 452 Name: opCreateTaskSet, 453 HTTPMethod: "POST", 454 HTTPPath: "/", 455 } 456 457 if input == nil { 458 input = &CreateTaskSetInput{} 459 } 460 461 output = &CreateTaskSetOutput{} 462 req = c.newRequest(op, input, output) 463 return 464 } 465 466 // CreateTaskSet API operation for Amazon EC2 Container Service. 467 // 468 // Create a task set in the specified cluster and service. This is used when 469 // a service uses the EXTERNAL deployment controller type. For more information, 470 // see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 471 // in the Amazon Elastic Container Service Developer Guide. 472 // 473 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 474 // with awserr.Error's Code and Message methods to get detailed information about 475 // the error. 476 // 477 // See the AWS API reference guide for Amazon EC2 Container Service's 478 // API operation CreateTaskSet for usage and error information. 479 // 480 // Returned Error Types: 481 // * ServerException 482 // These errors are usually caused by a server issue. 483 // 484 // * ClientException 485 // These errors are usually caused by a client action, such as using an action 486 // or resource on behalf of a user that doesn't have permissions to use the 487 // action or resource, or specifying an identifier that is not valid. 488 // 489 // * InvalidParameterException 490 // The specified parameter is invalid. Review the available parameters for the 491 // API request. 492 // 493 // * ClusterNotFoundException 494 // The specified cluster could not be found. You can view your available clusters 495 // with ListClusters. Amazon ECS clusters are Region-specific. 496 // 497 // * UnsupportedFeatureException 498 // The specified task is not supported in this Region. 499 // 500 // * PlatformUnknownException 501 // The specified platform version does not exist. 502 // 503 // * PlatformTaskDefinitionIncompatibilityException 504 // The specified platform version does not satisfy the task definition's required 505 // capabilities. 506 // 507 // * AccessDeniedException 508 // You do not have authorization to perform the requested action. 509 // 510 // * ServiceNotFoundException 511 // The specified service could not be found. You can view your available services 512 // with ListServices. Amazon ECS services are cluster-specific and Region-specific. 513 // 514 // * ServiceNotActiveException 515 // The specified service is not active. You can't update a service that is inactive. 516 // If you have previously deleted a service, you can re-create it with CreateService. 517 // 518 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 519 func (c *ECS) CreateTaskSet(input *CreateTaskSetInput) (*CreateTaskSetOutput, error) { 520 req, out := c.CreateTaskSetRequest(input) 521 return out, req.Send() 522 } 523 524 // CreateTaskSetWithContext is the same as CreateTaskSet with the addition of 525 // the ability to pass a context and additional request options. 526 // 527 // See CreateTaskSet for details on how to use this API operation. 528 // 529 // The context must be non-nil and will be used for request cancellation. If 530 // the context is nil a panic will occur. In the future the SDK may create 531 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 532 // for more information on using Contexts. 533 func (c *ECS) CreateTaskSetWithContext(ctx aws.Context, input *CreateTaskSetInput, opts ...request.Option) (*CreateTaskSetOutput, error) { 534 req, out := c.CreateTaskSetRequest(input) 535 req.SetContext(ctx) 536 req.ApplyOptions(opts...) 537 return out, req.Send() 538 } 539 540 const opDeleteAccountSetting = "DeleteAccountSetting" 541 542 // DeleteAccountSettingRequest generates a "aws/request.Request" representing the 543 // client's request for the DeleteAccountSetting operation. The "output" return 544 // value will be populated with the request's response once the request completes 545 // successfully. 546 // 547 // Use "Send" method on the returned Request to send the API call to the service. 548 // the "output" return value is not valid until after Send returns without error. 549 // 550 // See DeleteAccountSetting for more information on using the DeleteAccountSetting 551 // API call, and error handling. 552 // 553 // This method is useful when you want to inject custom logic or configuration 554 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 555 // 556 // 557 // // Example sending a request using the DeleteAccountSettingRequest method. 558 // req, resp := client.DeleteAccountSettingRequest(params) 559 // 560 // err := req.Send() 561 // if err == nil { // resp is now filled 562 // fmt.Println(resp) 563 // } 564 // 565 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 566 func (c *ECS) DeleteAccountSettingRequest(input *DeleteAccountSettingInput) (req *request.Request, output *DeleteAccountSettingOutput) { 567 op := &request.Operation{ 568 Name: opDeleteAccountSetting, 569 HTTPMethod: "POST", 570 HTTPPath: "/", 571 } 572 573 if input == nil { 574 input = &DeleteAccountSettingInput{} 575 } 576 577 output = &DeleteAccountSettingOutput{} 578 req = c.newRequest(op, input, output) 579 return 580 } 581 582 // DeleteAccountSetting API operation for Amazon EC2 Container Service. 583 // 584 // Disables an account setting for a specified IAM user, IAM role, or the root 585 // user for an account. 586 // 587 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 588 // with awserr.Error's Code and Message methods to get detailed information about 589 // the error. 590 // 591 // See the AWS API reference guide for Amazon EC2 Container Service's 592 // API operation DeleteAccountSetting for usage and error information. 593 // 594 // Returned Error Types: 595 // * ServerException 596 // These errors are usually caused by a server issue. 597 // 598 // * ClientException 599 // These errors are usually caused by a client action, such as using an action 600 // or resource on behalf of a user that doesn't have permissions to use the 601 // action or resource, or specifying an identifier that is not valid. 602 // 603 // * InvalidParameterException 604 // The specified parameter is invalid. Review the available parameters for the 605 // API request. 606 // 607 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 608 func (c *ECS) DeleteAccountSetting(input *DeleteAccountSettingInput) (*DeleteAccountSettingOutput, error) { 609 req, out := c.DeleteAccountSettingRequest(input) 610 return out, req.Send() 611 } 612 613 // DeleteAccountSettingWithContext is the same as DeleteAccountSetting with the addition of 614 // the ability to pass a context and additional request options. 615 // 616 // See DeleteAccountSetting for details on how to use this API operation. 617 // 618 // The context must be non-nil and will be used for request cancellation. If 619 // the context is nil a panic will occur. In the future the SDK may create 620 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 621 // for more information on using Contexts. 622 func (c *ECS) DeleteAccountSettingWithContext(ctx aws.Context, input *DeleteAccountSettingInput, opts ...request.Option) (*DeleteAccountSettingOutput, error) { 623 req, out := c.DeleteAccountSettingRequest(input) 624 req.SetContext(ctx) 625 req.ApplyOptions(opts...) 626 return out, req.Send() 627 } 628 629 const opDeleteAttributes = "DeleteAttributes" 630 631 // DeleteAttributesRequest generates a "aws/request.Request" representing the 632 // client's request for the DeleteAttributes operation. The "output" return 633 // value will be populated with the request's response once the request completes 634 // successfully. 635 // 636 // Use "Send" method on the returned Request to send the API call to the service. 637 // the "output" return value is not valid until after Send returns without error. 638 // 639 // See DeleteAttributes for more information on using the DeleteAttributes 640 // API call, and error handling. 641 // 642 // This method is useful when you want to inject custom logic or configuration 643 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 644 // 645 // 646 // // Example sending a request using the DeleteAttributesRequest method. 647 // req, resp := client.DeleteAttributesRequest(params) 648 // 649 // err := req.Send() 650 // if err == nil { // resp is now filled 651 // fmt.Println(resp) 652 // } 653 // 654 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 655 func (c *ECS) DeleteAttributesRequest(input *DeleteAttributesInput) (req *request.Request, output *DeleteAttributesOutput) { 656 op := &request.Operation{ 657 Name: opDeleteAttributes, 658 HTTPMethod: "POST", 659 HTTPPath: "/", 660 } 661 662 if input == nil { 663 input = &DeleteAttributesInput{} 664 } 665 666 output = &DeleteAttributesOutput{} 667 req = c.newRequest(op, input, output) 668 return 669 } 670 671 // DeleteAttributes API operation for Amazon EC2 Container Service. 672 // 673 // Deletes one or more custom attributes from an Amazon ECS resource. 674 // 675 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 676 // with awserr.Error's Code and Message methods to get detailed information about 677 // the error. 678 // 679 // See the AWS API reference guide for Amazon EC2 Container Service's 680 // API operation DeleteAttributes for usage and error information. 681 // 682 // Returned Error Types: 683 // * ClusterNotFoundException 684 // The specified cluster could not be found. You can view your available clusters 685 // with ListClusters. Amazon ECS clusters are Region-specific. 686 // 687 // * TargetNotFoundException 688 // The specified target could not be found. You can view your available container 689 // instances with ListContainerInstances. Amazon ECS container instances are 690 // cluster-specific and Region-specific. 691 // 692 // * InvalidParameterException 693 // The specified parameter is invalid. Review the available parameters for the 694 // API request. 695 // 696 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 697 func (c *ECS) DeleteAttributes(input *DeleteAttributesInput) (*DeleteAttributesOutput, error) { 698 req, out := c.DeleteAttributesRequest(input) 699 return out, req.Send() 700 } 701 702 // DeleteAttributesWithContext is the same as DeleteAttributes with the addition of 703 // the ability to pass a context and additional request options. 704 // 705 // See DeleteAttributes for details on how to use this API operation. 706 // 707 // The context must be non-nil and will be used for request cancellation. If 708 // the context is nil a panic will occur. In the future the SDK may create 709 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 710 // for more information on using Contexts. 711 func (c *ECS) DeleteAttributesWithContext(ctx aws.Context, input *DeleteAttributesInput, opts ...request.Option) (*DeleteAttributesOutput, error) { 712 req, out := c.DeleteAttributesRequest(input) 713 req.SetContext(ctx) 714 req.ApplyOptions(opts...) 715 return out, req.Send() 716 } 717 718 const opDeleteCapacityProvider = "DeleteCapacityProvider" 719 720 // DeleteCapacityProviderRequest generates a "aws/request.Request" representing the 721 // client's request for the DeleteCapacityProvider operation. The "output" return 722 // value will be populated with the request's response once the request completes 723 // successfully. 724 // 725 // Use "Send" method on the returned Request to send the API call to the service. 726 // the "output" return value is not valid until after Send returns without error. 727 // 728 // See DeleteCapacityProvider for more information on using the DeleteCapacityProvider 729 // API call, and error handling. 730 // 731 // This method is useful when you want to inject custom logic or configuration 732 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 733 // 734 // 735 // // Example sending a request using the DeleteCapacityProviderRequest method. 736 // req, resp := client.DeleteCapacityProviderRequest(params) 737 // 738 // err := req.Send() 739 // if err == nil { // resp is now filled 740 // fmt.Println(resp) 741 // } 742 // 743 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProvider 744 func (c *ECS) DeleteCapacityProviderRequest(input *DeleteCapacityProviderInput) (req *request.Request, output *DeleteCapacityProviderOutput) { 745 op := &request.Operation{ 746 Name: opDeleteCapacityProvider, 747 HTTPMethod: "POST", 748 HTTPPath: "/", 749 } 750 751 if input == nil { 752 input = &DeleteCapacityProviderInput{} 753 } 754 755 output = &DeleteCapacityProviderOutput{} 756 req = c.newRequest(op, input, output) 757 return 758 } 759 760 // DeleteCapacityProvider API operation for Amazon EC2 Container Service. 761 // 762 // Deletes the specified capacity provider. 763 // 764 // The FARGATE and FARGATE_SPOT capacity providers are reserved and cannot be 765 // deleted. You can disassociate them from a cluster using either the PutClusterCapacityProviders 766 // API or by deleting the cluster. 767 // 768 // Prior to a capacity provider being deleted, the capacity provider must be 769 // removed from the capacity provider strategy from all services. The UpdateService 770 // API can be used to remove a capacity provider from a service's capacity provider 771 // strategy. When updating a service, the forceNewDeployment option can be used 772 // to ensure that any tasks using the Amazon EC2 instance capacity provided 773 // by the capacity provider are transitioned to use the capacity from the remaining 774 // capacity providers. Only capacity providers that are not associated with 775 // a cluster can be deleted. To remove a capacity provider from a cluster, you 776 // can either use PutClusterCapacityProviders or delete the cluster. 777 // 778 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 779 // with awserr.Error's Code and Message methods to get detailed information about 780 // the error. 781 // 782 // See the AWS API reference guide for Amazon EC2 Container Service's 783 // API operation DeleteCapacityProvider for usage and error information. 784 // 785 // Returned Error Types: 786 // * ServerException 787 // These errors are usually caused by a server issue. 788 // 789 // * ClientException 790 // These errors are usually caused by a client action, such as using an action 791 // or resource on behalf of a user that doesn't have permissions to use the 792 // action or resource, or specifying an identifier that is not valid. 793 // 794 // * InvalidParameterException 795 // The specified parameter is invalid. Review the available parameters for the 796 // API request. 797 // 798 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProvider 799 func (c *ECS) DeleteCapacityProvider(input *DeleteCapacityProviderInput) (*DeleteCapacityProviderOutput, error) { 800 req, out := c.DeleteCapacityProviderRequest(input) 801 return out, req.Send() 802 } 803 804 // DeleteCapacityProviderWithContext is the same as DeleteCapacityProvider with the addition of 805 // the ability to pass a context and additional request options. 806 // 807 // See DeleteCapacityProvider for details on how to use this API operation. 808 // 809 // The context must be non-nil and will be used for request cancellation. If 810 // the context is nil a panic will occur. In the future the SDK may create 811 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 812 // for more information on using Contexts. 813 func (c *ECS) DeleteCapacityProviderWithContext(ctx aws.Context, input *DeleteCapacityProviderInput, opts ...request.Option) (*DeleteCapacityProviderOutput, error) { 814 req, out := c.DeleteCapacityProviderRequest(input) 815 req.SetContext(ctx) 816 req.ApplyOptions(opts...) 817 return out, req.Send() 818 } 819 820 const opDeleteCluster = "DeleteCluster" 821 822 // DeleteClusterRequest generates a "aws/request.Request" representing the 823 // client's request for the DeleteCluster operation. The "output" return 824 // value will be populated with the request's response once the request completes 825 // successfully. 826 // 827 // Use "Send" method on the returned Request to send the API call to the service. 828 // the "output" return value is not valid until after Send returns without error. 829 // 830 // See DeleteCluster for more information on using the DeleteCluster 831 // API call, and error handling. 832 // 833 // This method is useful when you want to inject custom logic or configuration 834 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 835 // 836 // 837 // // Example sending a request using the DeleteClusterRequest method. 838 // req, resp := client.DeleteClusterRequest(params) 839 // 840 // err := req.Send() 841 // if err == nil { // resp is now filled 842 // fmt.Println(resp) 843 // } 844 // 845 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 846 func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { 847 op := &request.Operation{ 848 Name: opDeleteCluster, 849 HTTPMethod: "POST", 850 HTTPPath: "/", 851 } 852 853 if input == nil { 854 input = &DeleteClusterInput{} 855 } 856 857 output = &DeleteClusterOutput{} 858 req = c.newRequest(op, input, output) 859 return 860 } 861 862 // DeleteCluster API operation for Amazon EC2 Container Service. 863 // 864 // Deletes the specified cluster. The cluster will transition to the INACTIVE 865 // state. Clusters with an INACTIVE status may remain discoverable in your account 866 // for a period of time. However, this behavior is subject to change in the 867 // future, so you should not rely on INACTIVE clusters persisting. 868 // 869 // You must deregister all container instances from this cluster before you 870 // may delete it. You can list the container instances in a cluster with ListContainerInstances 871 // and deregister them with DeregisterContainerInstance. 872 // 873 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 874 // with awserr.Error's Code and Message methods to get detailed information about 875 // the error. 876 // 877 // See the AWS API reference guide for Amazon EC2 Container Service's 878 // API operation DeleteCluster for usage and error information. 879 // 880 // Returned Error Types: 881 // * ServerException 882 // These errors are usually caused by a server issue. 883 // 884 // * ClientException 885 // These errors are usually caused by a client action, such as using an action 886 // or resource on behalf of a user that doesn't have permissions to use the 887 // action or resource, or specifying an identifier that is not valid. 888 // 889 // * InvalidParameterException 890 // The specified parameter is invalid. Review the available parameters for the 891 // API request. 892 // 893 // * ClusterNotFoundException 894 // The specified cluster could not be found. You can view your available clusters 895 // with ListClusters. Amazon ECS clusters are Region-specific. 896 // 897 // * ClusterContainsContainerInstancesException 898 // You cannot delete a cluster that has registered container instances. First, 899 // deregister the container instances before you can delete the cluster. For 900 // more information, see DeregisterContainerInstance. 901 // 902 // * ClusterContainsServicesException 903 // You cannot delete a cluster that contains services. First, update the service 904 // to reduce its desired task count to 0 and then delete the service. For more 905 // information, see UpdateService and DeleteService. 906 // 907 // * ClusterContainsTasksException 908 // You cannot delete a cluster that has active tasks. 909 // 910 // * UpdateInProgressException 911 // There is already a current Amazon ECS container agent update in progress 912 // on the specified container instance. If the container agent becomes disconnected 913 // while it is in a transitional stage, such as PENDING or STAGING, the update 914 // process can get stuck in that state. However, when the agent reconnects, 915 // it resumes where it stopped previously. 916 // 917 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 918 func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { 919 req, out := c.DeleteClusterRequest(input) 920 return out, req.Send() 921 } 922 923 // DeleteClusterWithContext is the same as DeleteCluster with the addition of 924 // the ability to pass a context and additional request options. 925 // 926 // See DeleteCluster for details on how to use this API operation. 927 // 928 // The context must be non-nil and will be used for request cancellation. If 929 // the context is nil a panic will occur. In the future the SDK may create 930 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 931 // for more information on using Contexts. 932 func (c *ECS) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { 933 req, out := c.DeleteClusterRequest(input) 934 req.SetContext(ctx) 935 req.ApplyOptions(opts...) 936 return out, req.Send() 937 } 938 939 const opDeleteService = "DeleteService" 940 941 // DeleteServiceRequest generates a "aws/request.Request" representing the 942 // client's request for the DeleteService operation. The "output" return 943 // value will be populated with the request's response once the request completes 944 // successfully. 945 // 946 // Use "Send" method on the returned Request to send the API call to the service. 947 // the "output" return value is not valid until after Send returns without error. 948 // 949 // See DeleteService for more information on using the DeleteService 950 // API call, and error handling. 951 // 952 // This method is useful when you want to inject custom logic or configuration 953 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 954 // 955 // 956 // // Example sending a request using the DeleteServiceRequest method. 957 // req, resp := client.DeleteServiceRequest(params) 958 // 959 // err := req.Send() 960 // if err == nil { // resp is now filled 961 // fmt.Println(resp) 962 // } 963 // 964 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 965 func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) { 966 op := &request.Operation{ 967 Name: opDeleteService, 968 HTTPMethod: "POST", 969 HTTPPath: "/", 970 } 971 972 if input == nil { 973 input = &DeleteServiceInput{} 974 } 975 976 output = &DeleteServiceOutput{} 977 req = c.newRequest(op, input, output) 978 return 979 } 980 981 // DeleteService API operation for Amazon EC2 Container Service. 982 // 983 // Deletes a specified service within a cluster. You can delete a service if 984 // you have no running tasks in it and the desired task count is zero. If the 985 // service is actively maintaining tasks, you cannot delete it, and you must 986 // update the service to a desired task count of zero. For more information, 987 // see UpdateService. 988 // 989 // When you delete a service, if there are still running tasks that require 990 // cleanup, the service status moves from ACTIVE to DRAINING, and the service 991 // is no longer visible in the console or in the ListServices API operation. 992 // After all tasks have transitioned to either STOPPING or STOPPED status, the 993 // service status moves from DRAINING to INACTIVE. Services in the DRAINING 994 // or INACTIVE status can still be viewed with the DescribeServices API operation. 995 // However, in the future, INACTIVE services may be cleaned up and purged from 996 // Amazon ECS record keeping, and DescribeServices calls on those services return 997 // a ServiceNotFoundException error. 998 // 999 // If you attempt to create a new service with the same name as an existing 1000 // service in either ACTIVE or DRAINING status, you receive an error. 1001 // 1002 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1003 // with awserr.Error's Code and Message methods to get detailed information about 1004 // the error. 1005 // 1006 // See the AWS API reference guide for Amazon EC2 Container Service's 1007 // API operation DeleteService for usage and error information. 1008 // 1009 // Returned Error Types: 1010 // * ServerException 1011 // These errors are usually caused by a server issue. 1012 // 1013 // * ClientException 1014 // These errors are usually caused by a client action, such as using an action 1015 // or resource on behalf of a user that doesn't have permissions to use the 1016 // action or resource, or specifying an identifier that is not valid. 1017 // 1018 // * InvalidParameterException 1019 // The specified parameter is invalid. Review the available parameters for the 1020 // API request. 1021 // 1022 // * ClusterNotFoundException 1023 // The specified cluster could not be found. You can view your available clusters 1024 // with ListClusters. Amazon ECS clusters are Region-specific. 1025 // 1026 // * ServiceNotFoundException 1027 // The specified service could not be found. You can view your available services 1028 // with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1029 // 1030 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 1031 func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) { 1032 req, out := c.DeleteServiceRequest(input) 1033 return out, req.Send() 1034 } 1035 1036 // DeleteServiceWithContext is the same as DeleteService with the addition of 1037 // the ability to pass a context and additional request options. 1038 // 1039 // See DeleteService for details on how to use this API operation. 1040 // 1041 // The context must be non-nil and will be used for request cancellation. If 1042 // the context is nil a panic will occur. In the future the SDK may create 1043 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1044 // for more information on using Contexts. 1045 func (c *ECS) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInput, opts ...request.Option) (*DeleteServiceOutput, error) { 1046 req, out := c.DeleteServiceRequest(input) 1047 req.SetContext(ctx) 1048 req.ApplyOptions(opts...) 1049 return out, req.Send() 1050 } 1051 1052 const opDeleteTaskSet = "DeleteTaskSet" 1053 1054 // DeleteTaskSetRequest generates a "aws/request.Request" representing the 1055 // client's request for the DeleteTaskSet operation. The "output" return 1056 // value will be populated with the request's response once the request completes 1057 // successfully. 1058 // 1059 // Use "Send" method on the returned Request to send the API call to the service. 1060 // the "output" return value is not valid until after Send returns without error. 1061 // 1062 // See DeleteTaskSet for more information on using the DeleteTaskSet 1063 // API call, and error handling. 1064 // 1065 // This method is useful when you want to inject custom logic or configuration 1066 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1067 // 1068 // 1069 // // Example sending a request using the DeleteTaskSetRequest method. 1070 // req, resp := client.DeleteTaskSetRequest(params) 1071 // 1072 // err := req.Send() 1073 // if err == nil { // resp is now filled 1074 // fmt.Println(resp) 1075 // } 1076 // 1077 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 1078 func (c *ECS) DeleteTaskSetRequest(input *DeleteTaskSetInput) (req *request.Request, output *DeleteTaskSetOutput) { 1079 op := &request.Operation{ 1080 Name: opDeleteTaskSet, 1081 HTTPMethod: "POST", 1082 HTTPPath: "/", 1083 } 1084 1085 if input == nil { 1086 input = &DeleteTaskSetInput{} 1087 } 1088 1089 output = &DeleteTaskSetOutput{} 1090 req = c.newRequest(op, input, output) 1091 return 1092 } 1093 1094 // DeleteTaskSet API operation for Amazon EC2 Container Service. 1095 // 1096 // Deletes a specified task set within a service. This is used when a service 1097 // uses the EXTERNAL deployment controller type. For more information, see Amazon 1098 // ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 1099 // in the Amazon Elastic Container Service Developer Guide. 1100 // 1101 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1102 // with awserr.Error's Code and Message methods to get detailed information about 1103 // the error. 1104 // 1105 // See the AWS API reference guide for Amazon EC2 Container Service's 1106 // API operation DeleteTaskSet for usage and error information. 1107 // 1108 // Returned Error Types: 1109 // * ServerException 1110 // These errors are usually caused by a server issue. 1111 // 1112 // * ClientException 1113 // These errors are usually caused by a client action, such as using an action 1114 // or resource on behalf of a user that doesn't have permissions to use the 1115 // action or resource, or specifying an identifier that is not valid. 1116 // 1117 // * InvalidParameterException 1118 // The specified parameter is invalid. Review the available parameters for the 1119 // API request. 1120 // 1121 // * ClusterNotFoundException 1122 // The specified cluster could not be found. You can view your available clusters 1123 // with ListClusters. Amazon ECS clusters are Region-specific. 1124 // 1125 // * UnsupportedFeatureException 1126 // The specified task is not supported in this Region. 1127 // 1128 // * AccessDeniedException 1129 // You do not have authorization to perform the requested action. 1130 // 1131 // * ServiceNotFoundException 1132 // The specified service could not be found. You can view your available services 1133 // with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1134 // 1135 // * ServiceNotActiveException 1136 // The specified service is not active. You can't update a service that is inactive. 1137 // If you have previously deleted a service, you can re-create it with CreateService. 1138 // 1139 // * TaskSetNotFoundException 1140 // The specified task set could not be found. You can view your available task 1141 // sets with DescribeTaskSets. Task sets are specific to each cluster, service 1142 // and Region. 1143 // 1144 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 1145 func (c *ECS) DeleteTaskSet(input *DeleteTaskSetInput) (*DeleteTaskSetOutput, error) { 1146 req, out := c.DeleteTaskSetRequest(input) 1147 return out, req.Send() 1148 } 1149 1150 // DeleteTaskSetWithContext is the same as DeleteTaskSet with the addition of 1151 // the ability to pass a context and additional request options. 1152 // 1153 // See DeleteTaskSet for details on how to use this API operation. 1154 // 1155 // The context must be non-nil and will be used for request cancellation. If 1156 // the context is nil a panic will occur. In the future the SDK may create 1157 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1158 // for more information on using Contexts. 1159 func (c *ECS) DeleteTaskSetWithContext(ctx aws.Context, input *DeleteTaskSetInput, opts ...request.Option) (*DeleteTaskSetOutput, error) { 1160 req, out := c.DeleteTaskSetRequest(input) 1161 req.SetContext(ctx) 1162 req.ApplyOptions(opts...) 1163 return out, req.Send() 1164 } 1165 1166 const opDeregisterContainerInstance = "DeregisterContainerInstance" 1167 1168 // DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the 1169 // client's request for the DeregisterContainerInstance operation. The "output" return 1170 // value will be populated with the request's response once the request completes 1171 // successfully. 1172 // 1173 // Use "Send" method on the returned Request to send the API call to the service. 1174 // the "output" return value is not valid until after Send returns without error. 1175 // 1176 // See DeregisterContainerInstance for more information on using the DeregisterContainerInstance 1177 // API call, and error handling. 1178 // 1179 // This method is useful when you want to inject custom logic or configuration 1180 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1181 // 1182 // 1183 // // Example sending a request using the DeregisterContainerInstanceRequest method. 1184 // req, resp := client.DeregisterContainerInstanceRequest(params) 1185 // 1186 // err := req.Send() 1187 // if err == nil { // resp is now filled 1188 // fmt.Println(resp) 1189 // } 1190 // 1191 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1192 func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) { 1193 op := &request.Operation{ 1194 Name: opDeregisterContainerInstance, 1195 HTTPMethod: "POST", 1196 HTTPPath: "/", 1197 } 1198 1199 if input == nil { 1200 input = &DeregisterContainerInstanceInput{} 1201 } 1202 1203 output = &DeregisterContainerInstanceOutput{} 1204 req = c.newRequest(op, input, output) 1205 return 1206 } 1207 1208 // DeregisterContainerInstance API operation for Amazon EC2 Container Service. 1209 // 1210 // Deregisters an Amazon ECS container instance from the specified cluster. 1211 // This instance is no longer available to run tasks. 1212 // 1213 // If you intend to use the container instance for some other purpose after 1214 // deregistration, you should stop all of the tasks running on the container 1215 // instance before deregistration. That prevents any orphaned tasks from consuming 1216 // resources. 1217 // 1218 // Deregistering a container instance removes the instance from a cluster, but 1219 // it does not terminate the EC2 instance. If you are finished using the instance, 1220 // be sure to terminate it in the Amazon EC2 console to stop billing. 1221 // 1222 // If you terminate a running container instance, Amazon ECS automatically deregisters 1223 // the instance from your cluster (stopped container instances or instances 1224 // with disconnected agents are not automatically deregistered when terminated). 1225 // 1226 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1227 // with awserr.Error's Code and Message methods to get detailed information about 1228 // the error. 1229 // 1230 // See the AWS API reference guide for Amazon EC2 Container Service's 1231 // API operation DeregisterContainerInstance for usage and error information. 1232 // 1233 // Returned Error Types: 1234 // * ServerException 1235 // These errors are usually caused by a server issue. 1236 // 1237 // * ClientException 1238 // These errors are usually caused by a client action, such as using an action 1239 // or resource on behalf of a user that doesn't have permissions to use the 1240 // action or resource, or specifying an identifier that is not valid. 1241 // 1242 // * InvalidParameterException 1243 // The specified parameter is invalid. Review the available parameters for the 1244 // API request. 1245 // 1246 // * ClusterNotFoundException 1247 // The specified cluster could not be found. You can view your available clusters 1248 // with ListClusters. Amazon ECS clusters are Region-specific. 1249 // 1250 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1251 func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) { 1252 req, out := c.DeregisterContainerInstanceRequest(input) 1253 return out, req.Send() 1254 } 1255 1256 // DeregisterContainerInstanceWithContext is the same as DeregisterContainerInstance with the addition of 1257 // the ability to pass a context and additional request options. 1258 // 1259 // See DeregisterContainerInstance for details on how to use this API operation. 1260 // 1261 // The context must be non-nil and will be used for request cancellation. If 1262 // the context is nil a panic will occur. In the future the SDK may create 1263 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1264 // for more information on using Contexts. 1265 func (c *ECS) DeregisterContainerInstanceWithContext(ctx aws.Context, input *DeregisterContainerInstanceInput, opts ...request.Option) (*DeregisterContainerInstanceOutput, error) { 1266 req, out := c.DeregisterContainerInstanceRequest(input) 1267 req.SetContext(ctx) 1268 req.ApplyOptions(opts...) 1269 return out, req.Send() 1270 } 1271 1272 const opDeregisterTaskDefinition = "DeregisterTaskDefinition" 1273 1274 // DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the 1275 // client's request for the DeregisterTaskDefinition operation. The "output" return 1276 // value will be populated with the request's response once the request completes 1277 // successfully. 1278 // 1279 // Use "Send" method on the returned Request to send the API call to the service. 1280 // the "output" return value is not valid until after Send returns without error. 1281 // 1282 // See DeregisterTaskDefinition for more information on using the DeregisterTaskDefinition 1283 // API call, and error handling. 1284 // 1285 // This method is useful when you want to inject custom logic or configuration 1286 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1287 // 1288 // 1289 // // Example sending a request using the DeregisterTaskDefinitionRequest method. 1290 // req, resp := client.DeregisterTaskDefinitionRequest(params) 1291 // 1292 // err := req.Send() 1293 // if err == nil { // resp is now filled 1294 // fmt.Println(resp) 1295 // } 1296 // 1297 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1298 func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) { 1299 op := &request.Operation{ 1300 Name: opDeregisterTaskDefinition, 1301 HTTPMethod: "POST", 1302 HTTPPath: "/", 1303 } 1304 1305 if input == nil { 1306 input = &DeregisterTaskDefinitionInput{} 1307 } 1308 1309 output = &DeregisterTaskDefinitionOutput{} 1310 req = c.newRequest(op, input, output) 1311 return 1312 } 1313 1314 // DeregisterTaskDefinition API operation for Amazon EC2 Container Service. 1315 // 1316 // Deregisters the specified task definition by family and revision. Upon deregistration, 1317 // the task definition is marked as INACTIVE. Existing tasks and services that 1318 // reference an INACTIVE task definition continue to run without disruption. 1319 // Existing services that reference an INACTIVE task definition can still scale 1320 // up or down by modifying the service's desired count. 1321 // 1322 // You cannot use an INACTIVE task definition to run new tasks or create new 1323 // services, and you cannot update an existing service to reference an INACTIVE 1324 // task definition. However, there may be up to a 10-minute window following 1325 // deregistration where these restrictions have not yet taken effect. 1326 // 1327 // At this time, INACTIVE task definitions remain discoverable in your account 1328 // indefinitely. However, this behavior is subject to change in the future, 1329 // so you should not rely on INACTIVE task definitions persisting beyond the 1330 // lifecycle of any associated tasks and services. 1331 // 1332 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1333 // with awserr.Error's Code and Message methods to get detailed information about 1334 // the error. 1335 // 1336 // See the AWS API reference guide for Amazon EC2 Container Service's 1337 // API operation DeregisterTaskDefinition for usage and error information. 1338 // 1339 // Returned Error Types: 1340 // * ServerException 1341 // These errors are usually caused by a server issue. 1342 // 1343 // * ClientException 1344 // These errors are usually caused by a client action, such as using an action 1345 // or resource on behalf of a user that doesn't have permissions to use the 1346 // action or resource, or specifying an identifier that is not valid. 1347 // 1348 // * InvalidParameterException 1349 // The specified parameter is invalid. Review the available parameters for the 1350 // API request. 1351 // 1352 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1353 func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) { 1354 req, out := c.DeregisterTaskDefinitionRequest(input) 1355 return out, req.Send() 1356 } 1357 1358 // DeregisterTaskDefinitionWithContext is the same as DeregisterTaskDefinition with the addition of 1359 // the ability to pass a context and additional request options. 1360 // 1361 // See DeregisterTaskDefinition for details on how to use this API operation. 1362 // 1363 // The context must be non-nil and will be used for request cancellation. If 1364 // the context is nil a panic will occur. In the future the SDK may create 1365 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1366 // for more information on using Contexts. 1367 func (c *ECS) DeregisterTaskDefinitionWithContext(ctx aws.Context, input *DeregisterTaskDefinitionInput, opts ...request.Option) (*DeregisterTaskDefinitionOutput, error) { 1368 req, out := c.DeregisterTaskDefinitionRequest(input) 1369 req.SetContext(ctx) 1370 req.ApplyOptions(opts...) 1371 return out, req.Send() 1372 } 1373 1374 const opDescribeCapacityProviders = "DescribeCapacityProviders" 1375 1376 // DescribeCapacityProvidersRequest generates a "aws/request.Request" representing the 1377 // client's request for the DescribeCapacityProviders operation. The "output" return 1378 // value will be populated with the request's response once the request completes 1379 // successfully. 1380 // 1381 // Use "Send" method on the returned Request to send the API call to the service. 1382 // the "output" return value is not valid until after Send returns without error. 1383 // 1384 // See DescribeCapacityProviders for more information on using the DescribeCapacityProviders 1385 // API call, and error handling. 1386 // 1387 // This method is useful when you want to inject custom logic or configuration 1388 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1389 // 1390 // 1391 // // Example sending a request using the DescribeCapacityProvidersRequest method. 1392 // req, resp := client.DescribeCapacityProvidersRequest(params) 1393 // 1394 // err := req.Send() 1395 // if err == nil { // resp is now filled 1396 // fmt.Println(resp) 1397 // } 1398 // 1399 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProviders 1400 func (c *ECS) DescribeCapacityProvidersRequest(input *DescribeCapacityProvidersInput) (req *request.Request, output *DescribeCapacityProvidersOutput) { 1401 op := &request.Operation{ 1402 Name: opDescribeCapacityProviders, 1403 HTTPMethod: "POST", 1404 HTTPPath: "/", 1405 } 1406 1407 if input == nil { 1408 input = &DescribeCapacityProvidersInput{} 1409 } 1410 1411 output = &DescribeCapacityProvidersOutput{} 1412 req = c.newRequest(op, input, output) 1413 return 1414 } 1415 1416 // DescribeCapacityProviders API operation for Amazon EC2 Container Service. 1417 // 1418 // Describes one or more of your capacity providers. 1419 // 1420 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1421 // with awserr.Error's Code and Message methods to get detailed information about 1422 // the error. 1423 // 1424 // See the AWS API reference guide for Amazon EC2 Container Service's 1425 // API operation DescribeCapacityProviders for usage and error information. 1426 // 1427 // Returned Error Types: 1428 // * ServerException 1429 // These errors are usually caused by a server issue. 1430 // 1431 // * ClientException 1432 // These errors are usually caused by a client action, such as using an action 1433 // or resource on behalf of a user that doesn't have permissions to use the 1434 // action or resource, or specifying an identifier that is not valid. 1435 // 1436 // * InvalidParameterException 1437 // The specified parameter is invalid. Review the available parameters for the 1438 // API request. 1439 // 1440 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProviders 1441 func (c *ECS) DescribeCapacityProviders(input *DescribeCapacityProvidersInput) (*DescribeCapacityProvidersOutput, error) { 1442 req, out := c.DescribeCapacityProvidersRequest(input) 1443 return out, req.Send() 1444 } 1445 1446 // DescribeCapacityProvidersWithContext is the same as DescribeCapacityProviders with the addition of 1447 // the ability to pass a context and additional request options. 1448 // 1449 // See DescribeCapacityProviders for details on how to use this API operation. 1450 // 1451 // The context must be non-nil and will be used for request cancellation. If 1452 // the context is nil a panic will occur. In the future the SDK may create 1453 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1454 // for more information on using Contexts. 1455 func (c *ECS) DescribeCapacityProvidersWithContext(ctx aws.Context, input *DescribeCapacityProvidersInput, opts ...request.Option) (*DescribeCapacityProvidersOutput, error) { 1456 req, out := c.DescribeCapacityProvidersRequest(input) 1457 req.SetContext(ctx) 1458 req.ApplyOptions(opts...) 1459 return out, req.Send() 1460 } 1461 1462 const opDescribeClusters = "DescribeClusters" 1463 1464 // DescribeClustersRequest generates a "aws/request.Request" representing the 1465 // client's request for the DescribeClusters operation. The "output" return 1466 // value will be populated with the request's response once the request completes 1467 // successfully. 1468 // 1469 // Use "Send" method on the returned Request to send the API call to the service. 1470 // the "output" return value is not valid until after Send returns without error. 1471 // 1472 // See DescribeClusters for more information on using the DescribeClusters 1473 // API call, and error handling. 1474 // 1475 // This method is useful when you want to inject custom logic or configuration 1476 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1477 // 1478 // 1479 // // Example sending a request using the DescribeClustersRequest method. 1480 // req, resp := client.DescribeClustersRequest(params) 1481 // 1482 // err := req.Send() 1483 // if err == nil { // resp is now filled 1484 // fmt.Println(resp) 1485 // } 1486 // 1487 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1488 func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { 1489 op := &request.Operation{ 1490 Name: opDescribeClusters, 1491 HTTPMethod: "POST", 1492 HTTPPath: "/", 1493 } 1494 1495 if input == nil { 1496 input = &DescribeClustersInput{} 1497 } 1498 1499 output = &DescribeClustersOutput{} 1500 req = c.newRequest(op, input, output) 1501 return 1502 } 1503 1504 // DescribeClusters API operation for Amazon EC2 Container Service. 1505 // 1506 // Describes one or more of your clusters. 1507 // 1508 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1509 // with awserr.Error's Code and Message methods to get detailed information about 1510 // the error. 1511 // 1512 // See the AWS API reference guide for Amazon EC2 Container Service's 1513 // API operation DescribeClusters for usage and error information. 1514 // 1515 // Returned Error Types: 1516 // * ServerException 1517 // These errors are usually caused by a server issue. 1518 // 1519 // * ClientException 1520 // These errors are usually caused by a client action, such as using an action 1521 // or resource on behalf of a user that doesn't have permissions to use the 1522 // action or resource, or specifying an identifier that is not valid. 1523 // 1524 // * InvalidParameterException 1525 // The specified parameter is invalid. Review the available parameters for the 1526 // API request. 1527 // 1528 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1529 func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { 1530 req, out := c.DescribeClustersRequest(input) 1531 return out, req.Send() 1532 } 1533 1534 // DescribeClustersWithContext is the same as DescribeClusters with the addition of 1535 // the ability to pass a context and additional request options. 1536 // 1537 // See DescribeClusters for details on how to use this API operation. 1538 // 1539 // The context must be non-nil and will be used for request cancellation. If 1540 // the context is nil a panic will occur. In the future the SDK may create 1541 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1542 // for more information on using Contexts. 1543 func (c *ECS) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { 1544 req, out := c.DescribeClustersRequest(input) 1545 req.SetContext(ctx) 1546 req.ApplyOptions(opts...) 1547 return out, req.Send() 1548 } 1549 1550 const opDescribeContainerInstances = "DescribeContainerInstances" 1551 1552 // DescribeContainerInstancesRequest generates a "aws/request.Request" representing the 1553 // client's request for the DescribeContainerInstances operation. The "output" return 1554 // value will be populated with the request's response once the request completes 1555 // successfully. 1556 // 1557 // Use "Send" method on the returned Request to send the API call to the service. 1558 // the "output" return value is not valid until after Send returns without error. 1559 // 1560 // See DescribeContainerInstances for more information on using the DescribeContainerInstances 1561 // API call, and error handling. 1562 // 1563 // This method is useful when you want to inject custom logic or configuration 1564 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1565 // 1566 // 1567 // // Example sending a request using the DescribeContainerInstancesRequest method. 1568 // req, resp := client.DescribeContainerInstancesRequest(params) 1569 // 1570 // err := req.Send() 1571 // if err == nil { // resp is now filled 1572 // fmt.Println(resp) 1573 // } 1574 // 1575 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1576 func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) { 1577 op := &request.Operation{ 1578 Name: opDescribeContainerInstances, 1579 HTTPMethod: "POST", 1580 HTTPPath: "/", 1581 } 1582 1583 if input == nil { 1584 input = &DescribeContainerInstancesInput{} 1585 } 1586 1587 output = &DescribeContainerInstancesOutput{} 1588 req = c.newRequest(op, input, output) 1589 return 1590 } 1591 1592 // DescribeContainerInstances API operation for Amazon EC2 Container Service. 1593 // 1594 // Describes one or more container instances. Returns metadata about each container 1595 // instance requested. 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 Amazon EC2 Container Service's 1602 // API operation DescribeContainerInstances for usage and error information. 1603 // 1604 // Returned Error Types: 1605 // * ServerException 1606 // These errors are usually caused by a server issue. 1607 // 1608 // * ClientException 1609 // These errors are usually caused by a client action, such as using an action 1610 // or resource on behalf of a user that doesn't have permissions to use the 1611 // action or resource, or specifying an identifier that is not valid. 1612 // 1613 // * InvalidParameterException 1614 // The specified parameter is invalid. Review the available parameters for the 1615 // API request. 1616 // 1617 // * ClusterNotFoundException 1618 // The specified cluster could not be found. You can view your available clusters 1619 // with ListClusters. Amazon ECS clusters are Region-specific. 1620 // 1621 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1622 func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) { 1623 req, out := c.DescribeContainerInstancesRequest(input) 1624 return out, req.Send() 1625 } 1626 1627 // DescribeContainerInstancesWithContext is the same as DescribeContainerInstances with the addition of 1628 // the ability to pass a context and additional request options. 1629 // 1630 // See DescribeContainerInstances for details on how to use this API operation. 1631 // 1632 // The context must be non-nil and will be used for request cancellation. If 1633 // the context is nil a panic will occur. In the future the SDK may create 1634 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1635 // for more information on using Contexts. 1636 func (c *ECS) DescribeContainerInstancesWithContext(ctx aws.Context, input *DescribeContainerInstancesInput, opts ...request.Option) (*DescribeContainerInstancesOutput, error) { 1637 req, out := c.DescribeContainerInstancesRequest(input) 1638 req.SetContext(ctx) 1639 req.ApplyOptions(opts...) 1640 return out, req.Send() 1641 } 1642 1643 const opDescribeServices = "DescribeServices" 1644 1645 // DescribeServicesRequest generates a "aws/request.Request" representing the 1646 // client's request for the DescribeServices operation. The "output" return 1647 // value will be populated with the request's response once the request completes 1648 // successfully. 1649 // 1650 // Use "Send" method on the returned Request to send the API call to the service. 1651 // the "output" return value is not valid until after Send returns without error. 1652 // 1653 // See DescribeServices for more information on using the DescribeServices 1654 // API call, and error handling. 1655 // 1656 // This method is useful when you want to inject custom logic or configuration 1657 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1658 // 1659 // 1660 // // Example sending a request using the DescribeServicesRequest method. 1661 // req, resp := client.DescribeServicesRequest(params) 1662 // 1663 // err := req.Send() 1664 // if err == nil { // resp is now filled 1665 // fmt.Println(resp) 1666 // } 1667 // 1668 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1669 func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) { 1670 op := &request.Operation{ 1671 Name: opDescribeServices, 1672 HTTPMethod: "POST", 1673 HTTPPath: "/", 1674 } 1675 1676 if input == nil { 1677 input = &DescribeServicesInput{} 1678 } 1679 1680 output = &DescribeServicesOutput{} 1681 req = c.newRequest(op, input, output) 1682 return 1683 } 1684 1685 // DescribeServices API operation for Amazon EC2 Container Service. 1686 // 1687 // Describes the specified services running in your cluster. 1688 // 1689 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1690 // with awserr.Error's Code and Message methods to get detailed information about 1691 // the error. 1692 // 1693 // See the AWS API reference guide for Amazon EC2 Container Service's 1694 // API operation DescribeServices for usage and error information. 1695 // 1696 // Returned Error Types: 1697 // * ServerException 1698 // These errors are usually caused by a server issue. 1699 // 1700 // * ClientException 1701 // These errors are usually caused by a client action, such as using an action 1702 // or resource on behalf of a user that doesn't have permissions to use the 1703 // action or resource, or specifying an identifier that is not valid. 1704 // 1705 // * InvalidParameterException 1706 // The specified parameter is invalid. Review the available parameters for the 1707 // API request. 1708 // 1709 // * ClusterNotFoundException 1710 // The specified cluster could not be found. You can view your available clusters 1711 // with ListClusters. Amazon ECS clusters are Region-specific. 1712 // 1713 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1714 func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) { 1715 req, out := c.DescribeServicesRequest(input) 1716 return out, req.Send() 1717 } 1718 1719 // DescribeServicesWithContext is the same as DescribeServices with the addition of 1720 // the ability to pass a context and additional request options. 1721 // 1722 // See DescribeServices for details on how to use this API operation. 1723 // 1724 // The context must be non-nil and will be used for request cancellation. If 1725 // the context is nil a panic will occur. In the future the SDK may create 1726 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1727 // for more information on using Contexts. 1728 func (c *ECS) DescribeServicesWithContext(ctx aws.Context, input *DescribeServicesInput, opts ...request.Option) (*DescribeServicesOutput, error) { 1729 req, out := c.DescribeServicesRequest(input) 1730 req.SetContext(ctx) 1731 req.ApplyOptions(opts...) 1732 return out, req.Send() 1733 } 1734 1735 const opDescribeTaskDefinition = "DescribeTaskDefinition" 1736 1737 // DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the 1738 // client's request for the DescribeTaskDefinition operation. The "output" return 1739 // value will be populated with the request's response once the request completes 1740 // successfully. 1741 // 1742 // Use "Send" method on the returned Request to send the API call to the service. 1743 // the "output" return value is not valid until after Send returns without error. 1744 // 1745 // See DescribeTaskDefinition for more information on using the DescribeTaskDefinition 1746 // API call, and error handling. 1747 // 1748 // This method is useful when you want to inject custom logic or configuration 1749 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1750 // 1751 // 1752 // // Example sending a request using the DescribeTaskDefinitionRequest method. 1753 // req, resp := client.DescribeTaskDefinitionRequest(params) 1754 // 1755 // err := req.Send() 1756 // if err == nil { // resp is now filled 1757 // fmt.Println(resp) 1758 // } 1759 // 1760 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1761 func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) { 1762 op := &request.Operation{ 1763 Name: opDescribeTaskDefinition, 1764 HTTPMethod: "POST", 1765 HTTPPath: "/", 1766 } 1767 1768 if input == nil { 1769 input = &DescribeTaskDefinitionInput{} 1770 } 1771 1772 output = &DescribeTaskDefinitionOutput{} 1773 req = c.newRequest(op, input, output) 1774 return 1775 } 1776 1777 // DescribeTaskDefinition API operation for Amazon EC2 Container Service. 1778 // 1779 // Describes a task definition. You can specify a family and revision to find 1780 // information about a specific task definition, or you can simply specify the 1781 // family to find the latest ACTIVE revision in that family. 1782 // 1783 // You can only describe INACTIVE task definitions while an active task or service 1784 // references them. 1785 // 1786 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1787 // with awserr.Error's Code and Message methods to get detailed information about 1788 // the error. 1789 // 1790 // See the AWS API reference guide for Amazon EC2 Container Service's 1791 // API operation DescribeTaskDefinition for usage and error information. 1792 // 1793 // Returned Error Types: 1794 // * ServerException 1795 // These errors are usually caused by a server issue. 1796 // 1797 // * ClientException 1798 // These errors are usually caused by a client action, such as using an action 1799 // or resource on behalf of a user that doesn't have permissions to use the 1800 // action or resource, or specifying an identifier that is not valid. 1801 // 1802 // * InvalidParameterException 1803 // The specified parameter is invalid. Review the available parameters for the 1804 // API request. 1805 // 1806 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1807 func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) { 1808 req, out := c.DescribeTaskDefinitionRequest(input) 1809 return out, req.Send() 1810 } 1811 1812 // DescribeTaskDefinitionWithContext is the same as DescribeTaskDefinition with the addition of 1813 // the ability to pass a context and additional request options. 1814 // 1815 // See DescribeTaskDefinition for details on how to use this API operation. 1816 // 1817 // The context must be non-nil and will be used for request cancellation. If 1818 // the context is nil a panic will occur. In the future the SDK may create 1819 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1820 // for more information on using Contexts. 1821 func (c *ECS) DescribeTaskDefinitionWithContext(ctx aws.Context, input *DescribeTaskDefinitionInput, opts ...request.Option) (*DescribeTaskDefinitionOutput, error) { 1822 req, out := c.DescribeTaskDefinitionRequest(input) 1823 req.SetContext(ctx) 1824 req.ApplyOptions(opts...) 1825 return out, req.Send() 1826 } 1827 1828 const opDescribeTaskSets = "DescribeTaskSets" 1829 1830 // DescribeTaskSetsRequest generates a "aws/request.Request" representing the 1831 // client's request for the DescribeTaskSets operation. The "output" return 1832 // value will be populated with the request's response once the request completes 1833 // successfully. 1834 // 1835 // Use "Send" method on the returned Request to send the API call to the service. 1836 // the "output" return value is not valid until after Send returns without error. 1837 // 1838 // See DescribeTaskSets for more information on using the DescribeTaskSets 1839 // API call, and error handling. 1840 // 1841 // This method is useful when you want to inject custom logic or configuration 1842 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1843 // 1844 // 1845 // // Example sending a request using the DescribeTaskSetsRequest method. 1846 // req, resp := client.DescribeTaskSetsRequest(params) 1847 // 1848 // err := req.Send() 1849 // if err == nil { // resp is now filled 1850 // fmt.Println(resp) 1851 // } 1852 // 1853 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1854 func (c *ECS) DescribeTaskSetsRequest(input *DescribeTaskSetsInput) (req *request.Request, output *DescribeTaskSetsOutput) { 1855 op := &request.Operation{ 1856 Name: opDescribeTaskSets, 1857 HTTPMethod: "POST", 1858 HTTPPath: "/", 1859 } 1860 1861 if input == nil { 1862 input = &DescribeTaskSetsInput{} 1863 } 1864 1865 output = &DescribeTaskSetsOutput{} 1866 req = c.newRequest(op, input, output) 1867 return 1868 } 1869 1870 // DescribeTaskSets API operation for Amazon EC2 Container Service. 1871 // 1872 // Describes the task sets in the specified cluster and service. This is used 1873 // when a service uses the EXTERNAL deployment controller type. For more information, 1874 // see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 1875 // in the Amazon Elastic Container Service Developer Guide. 1876 // 1877 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1878 // with awserr.Error's Code and Message methods to get detailed information about 1879 // the error. 1880 // 1881 // See the AWS API reference guide for Amazon EC2 Container Service's 1882 // API operation DescribeTaskSets for usage and error information. 1883 // 1884 // Returned Error Types: 1885 // * ServerException 1886 // These errors are usually caused by a server issue. 1887 // 1888 // * ClientException 1889 // These errors are usually caused by a client action, such as using an action 1890 // or resource on behalf of a user that doesn't have permissions to use the 1891 // action or resource, or specifying an identifier that is not valid. 1892 // 1893 // * InvalidParameterException 1894 // The specified parameter is invalid. Review the available parameters for the 1895 // API request. 1896 // 1897 // * ClusterNotFoundException 1898 // The specified cluster could not be found. You can view your available clusters 1899 // with ListClusters. Amazon ECS clusters are Region-specific. 1900 // 1901 // * UnsupportedFeatureException 1902 // The specified task is not supported in this Region. 1903 // 1904 // * AccessDeniedException 1905 // You do not have authorization to perform the requested action. 1906 // 1907 // * ServiceNotFoundException 1908 // The specified service could not be found. You can view your available services 1909 // with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1910 // 1911 // * ServiceNotActiveException 1912 // The specified service is not active. You can't update a service that is inactive. 1913 // If you have previously deleted a service, you can re-create it with CreateService. 1914 // 1915 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1916 func (c *ECS) DescribeTaskSets(input *DescribeTaskSetsInput) (*DescribeTaskSetsOutput, error) { 1917 req, out := c.DescribeTaskSetsRequest(input) 1918 return out, req.Send() 1919 } 1920 1921 // DescribeTaskSetsWithContext is the same as DescribeTaskSets with the addition of 1922 // the ability to pass a context and additional request options. 1923 // 1924 // See DescribeTaskSets for details on how to use this API operation. 1925 // 1926 // The context must be non-nil and will be used for request cancellation. If 1927 // the context is nil a panic will occur. In the future the SDK may create 1928 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1929 // for more information on using Contexts. 1930 func (c *ECS) DescribeTaskSetsWithContext(ctx aws.Context, input *DescribeTaskSetsInput, opts ...request.Option) (*DescribeTaskSetsOutput, error) { 1931 req, out := c.DescribeTaskSetsRequest(input) 1932 req.SetContext(ctx) 1933 req.ApplyOptions(opts...) 1934 return out, req.Send() 1935 } 1936 1937 const opDescribeTasks = "DescribeTasks" 1938 1939 // DescribeTasksRequest generates a "aws/request.Request" representing the 1940 // client's request for the DescribeTasks operation. The "output" return 1941 // value will be populated with the request's response once the request completes 1942 // successfully. 1943 // 1944 // Use "Send" method on the returned Request to send the API call to the service. 1945 // the "output" return value is not valid until after Send returns without error. 1946 // 1947 // See DescribeTasks for more information on using the DescribeTasks 1948 // API call, and error handling. 1949 // 1950 // This method is useful when you want to inject custom logic or configuration 1951 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1952 // 1953 // 1954 // // Example sending a request using the DescribeTasksRequest method. 1955 // req, resp := client.DescribeTasksRequest(params) 1956 // 1957 // err := req.Send() 1958 // if err == nil { // resp is now filled 1959 // fmt.Println(resp) 1960 // } 1961 // 1962 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1963 func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) { 1964 op := &request.Operation{ 1965 Name: opDescribeTasks, 1966 HTTPMethod: "POST", 1967 HTTPPath: "/", 1968 } 1969 1970 if input == nil { 1971 input = &DescribeTasksInput{} 1972 } 1973 1974 output = &DescribeTasksOutput{} 1975 req = c.newRequest(op, input, output) 1976 return 1977 } 1978 1979 // DescribeTasks API operation for Amazon EC2 Container Service. 1980 // 1981 // Describes a specified task or tasks. 1982 // 1983 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1984 // with awserr.Error's Code and Message methods to get detailed information about 1985 // the error. 1986 // 1987 // See the AWS API reference guide for Amazon EC2 Container Service's 1988 // API operation DescribeTasks for usage and error information. 1989 // 1990 // Returned Error Types: 1991 // * ServerException 1992 // These errors are usually caused by a server issue. 1993 // 1994 // * ClientException 1995 // These errors are usually caused by a client action, such as using an action 1996 // or resource on behalf of a user that doesn't have permissions to use the 1997 // action or resource, or specifying an identifier that is not valid. 1998 // 1999 // * InvalidParameterException 2000 // The specified parameter is invalid. Review the available parameters for the 2001 // API request. 2002 // 2003 // * ClusterNotFoundException 2004 // The specified cluster could not be found. You can view your available clusters 2005 // with ListClusters. Amazon ECS clusters are Region-specific. 2006 // 2007 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 2008 func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) { 2009 req, out := c.DescribeTasksRequest(input) 2010 return out, req.Send() 2011 } 2012 2013 // DescribeTasksWithContext is the same as DescribeTasks with the addition of 2014 // the ability to pass a context and additional request options. 2015 // 2016 // See DescribeTasks for details on how to use this API operation. 2017 // 2018 // The context must be non-nil and will be used for request cancellation. If 2019 // the context is nil a panic will occur. In the future the SDK may create 2020 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2021 // for more information on using Contexts. 2022 func (c *ECS) DescribeTasksWithContext(ctx aws.Context, input *DescribeTasksInput, opts ...request.Option) (*DescribeTasksOutput, error) { 2023 req, out := c.DescribeTasksRequest(input) 2024 req.SetContext(ctx) 2025 req.ApplyOptions(opts...) 2026 return out, req.Send() 2027 } 2028 2029 const opDiscoverPollEndpoint = "DiscoverPollEndpoint" 2030 2031 // DiscoverPollEndpointRequest generates a "aws/request.Request" representing the 2032 // client's request for the DiscoverPollEndpoint operation. The "output" return 2033 // value will be populated with the request's response once the request completes 2034 // successfully. 2035 // 2036 // Use "Send" method on the returned Request to send the API call to the service. 2037 // the "output" return value is not valid until after Send returns without error. 2038 // 2039 // See DiscoverPollEndpoint for more information on using the DiscoverPollEndpoint 2040 // API call, and error handling. 2041 // 2042 // This method is useful when you want to inject custom logic or configuration 2043 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2044 // 2045 // 2046 // // Example sending a request using the DiscoverPollEndpointRequest method. 2047 // req, resp := client.DiscoverPollEndpointRequest(params) 2048 // 2049 // err := req.Send() 2050 // if err == nil { // resp is now filled 2051 // fmt.Println(resp) 2052 // } 2053 // 2054 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 2055 func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) { 2056 op := &request.Operation{ 2057 Name: opDiscoverPollEndpoint, 2058 HTTPMethod: "POST", 2059 HTTPPath: "/", 2060 } 2061 2062 if input == nil { 2063 input = &DiscoverPollEndpointInput{} 2064 } 2065 2066 output = &DiscoverPollEndpointOutput{} 2067 req = c.newRequest(op, input, output) 2068 return 2069 } 2070 2071 // DiscoverPollEndpoint API operation for Amazon EC2 Container Service. 2072 // 2073 // 2074 // This action is only used by the Amazon ECS agent, and it is not intended 2075 // for use outside of the agent. 2076 // 2077 // Returns an endpoint for the Amazon ECS agent to poll for updates. 2078 // 2079 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2080 // with awserr.Error's Code and Message methods to get detailed information about 2081 // the error. 2082 // 2083 // See the AWS API reference guide for Amazon EC2 Container Service's 2084 // API operation DiscoverPollEndpoint for usage and error information. 2085 // 2086 // Returned Error Types: 2087 // * ServerException 2088 // These errors are usually caused by a server issue. 2089 // 2090 // * ClientException 2091 // These errors are usually caused by a client action, such as using an action 2092 // or resource on behalf of a user that doesn't have permissions to use the 2093 // action or resource, or specifying an identifier that is not valid. 2094 // 2095 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 2096 func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) { 2097 req, out := c.DiscoverPollEndpointRequest(input) 2098 return out, req.Send() 2099 } 2100 2101 // DiscoverPollEndpointWithContext is the same as DiscoverPollEndpoint with the addition of 2102 // the ability to pass a context and additional request options. 2103 // 2104 // See DiscoverPollEndpoint for details on how to use this API operation. 2105 // 2106 // The context must be non-nil and will be used for request cancellation. If 2107 // the context is nil a panic will occur. In the future the SDK may create 2108 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2109 // for more information on using Contexts. 2110 func (c *ECS) DiscoverPollEndpointWithContext(ctx aws.Context, input *DiscoverPollEndpointInput, opts ...request.Option) (*DiscoverPollEndpointOutput, error) { 2111 req, out := c.DiscoverPollEndpointRequest(input) 2112 req.SetContext(ctx) 2113 req.ApplyOptions(opts...) 2114 return out, req.Send() 2115 } 2116 2117 const opExecuteCommand = "ExecuteCommand" 2118 2119 // ExecuteCommandRequest generates a "aws/request.Request" representing the 2120 // client's request for the ExecuteCommand operation. The "output" return 2121 // value will be populated with the request's response once the request completes 2122 // successfully. 2123 // 2124 // Use "Send" method on the returned Request to send the API call to the service. 2125 // the "output" return value is not valid until after Send returns without error. 2126 // 2127 // See ExecuteCommand for more information on using the ExecuteCommand 2128 // API call, and error handling. 2129 // 2130 // This method is useful when you want to inject custom logic or configuration 2131 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2132 // 2133 // 2134 // // Example sending a request using the ExecuteCommandRequest method. 2135 // req, resp := client.ExecuteCommandRequest(params) 2136 // 2137 // err := req.Send() 2138 // if err == nil { // resp is now filled 2139 // fmt.Println(resp) 2140 // } 2141 // 2142 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommand 2143 func (c *ECS) ExecuteCommandRequest(input *ExecuteCommandInput) (req *request.Request, output *ExecuteCommandOutput) { 2144 op := &request.Operation{ 2145 Name: opExecuteCommand, 2146 HTTPMethod: "POST", 2147 HTTPPath: "/", 2148 } 2149 2150 if input == nil { 2151 input = &ExecuteCommandInput{} 2152 } 2153 2154 output = &ExecuteCommandOutput{} 2155 req = c.newRequest(op, input, output) 2156 return 2157 } 2158 2159 // ExecuteCommand API operation for Amazon EC2 Container Service. 2160 // 2161 // Runs a command remotely on a container within a task. 2162 // 2163 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2164 // with awserr.Error's Code and Message methods to get detailed information about 2165 // the error. 2166 // 2167 // See the AWS API reference guide for Amazon EC2 Container Service's 2168 // API operation ExecuteCommand for usage and error information. 2169 // 2170 // Returned Error Types: 2171 // * ServerException 2172 // These errors are usually caused by a server issue. 2173 // 2174 // * ClientException 2175 // These errors are usually caused by a client action, such as using an action 2176 // or resource on behalf of a user that doesn't have permissions to use the 2177 // action or resource, or specifying an identifier that is not valid. 2178 // 2179 // * InvalidParameterException 2180 // The specified parameter is invalid. Review the available parameters for the 2181 // API request. 2182 // 2183 // * AccessDeniedException 2184 // You do not have authorization to perform the requested action. 2185 // 2186 // * ClusterNotFoundException 2187 // The specified cluster could not be found. You can view your available clusters 2188 // with ListClusters. Amazon ECS clusters are Region-specific. 2189 // 2190 // * TargetNotConnectedException 2191 // The target container is not properly configured with the execute command 2192 // agent or the container is no longer active or running. 2193 // 2194 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommand 2195 func (c *ECS) ExecuteCommand(input *ExecuteCommandInput) (*ExecuteCommandOutput, error) { 2196 req, out := c.ExecuteCommandRequest(input) 2197 return out, req.Send() 2198 } 2199 2200 // ExecuteCommandWithContext is the same as ExecuteCommand with the addition of 2201 // the ability to pass a context and additional request options. 2202 // 2203 // See ExecuteCommand for details on how to use this API operation. 2204 // 2205 // The context must be non-nil and will be used for request cancellation. If 2206 // the context is nil a panic will occur. In the future the SDK may create 2207 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2208 // for more information on using Contexts. 2209 func (c *ECS) ExecuteCommandWithContext(ctx aws.Context, input *ExecuteCommandInput, opts ...request.Option) (*ExecuteCommandOutput, error) { 2210 req, out := c.ExecuteCommandRequest(input) 2211 req.SetContext(ctx) 2212 req.ApplyOptions(opts...) 2213 return out, req.Send() 2214 } 2215 2216 const opListAccountSettings = "ListAccountSettings" 2217 2218 // ListAccountSettingsRequest generates a "aws/request.Request" representing the 2219 // client's request for the ListAccountSettings operation. The "output" return 2220 // value will be populated with the request's response once the request completes 2221 // successfully. 2222 // 2223 // Use "Send" method on the returned Request to send the API call to the service. 2224 // the "output" return value is not valid until after Send returns without error. 2225 // 2226 // See ListAccountSettings for more information on using the ListAccountSettings 2227 // API call, and error handling. 2228 // 2229 // This method is useful when you want to inject custom logic or configuration 2230 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2231 // 2232 // 2233 // // Example sending a request using the ListAccountSettingsRequest method. 2234 // req, resp := client.ListAccountSettingsRequest(params) 2235 // 2236 // err := req.Send() 2237 // if err == nil { // resp is now filled 2238 // fmt.Println(resp) 2239 // } 2240 // 2241 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2242 func (c *ECS) ListAccountSettingsRequest(input *ListAccountSettingsInput) (req *request.Request, output *ListAccountSettingsOutput) { 2243 op := &request.Operation{ 2244 Name: opListAccountSettings, 2245 HTTPMethod: "POST", 2246 HTTPPath: "/", 2247 Paginator: &request.Paginator{ 2248 InputTokens: []string{"nextToken"}, 2249 OutputTokens: []string{"nextToken"}, 2250 LimitToken: "maxResults", 2251 TruncationToken: "", 2252 }, 2253 } 2254 2255 if input == nil { 2256 input = &ListAccountSettingsInput{} 2257 } 2258 2259 output = &ListAccountSettingsOutput{} 2260 req = c.newRequest(op, input, output) 2261 return 2262 } 2263 2264 // ListAccountSettings API operation for Amazon EC2 Container Service. 2265 // 2266 // Lists the account settings for a specified principal. 2267 // 2268 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2269 // with awserr.Error's Code and Message methods to get detailed information about 2270 // the error. 2271 // 2272 // See the AWS API reference guide for Amazon EC2 Container Service's 2273 // API operation ListAccountSettings for usage and error information. 2274 // 2275 // Returned Error Types: 2276 // * ServerException 2277 // These errors are usually caused by a server issue. 2278 // 2279 // * ClientException 2280 // These errors are usually caused by a client action, such as using an action 2281 // or resource on behalf of a user that doesn't have permissions to use the 2282 // action or resource, or specifying an identifier that is not valid. 2283 // 2284 // * InvalidParameterException 2285 // The specified parameter is invalid. Review the available parameters for the 2286 // API request. 2287 // 2288 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2289 func (c *ECS) ListAccountSettings(input *ListAccountSettingsInput) (*ListAccountSettingsOutput, error) { 2290 req, out := c.ListAccountSettingsRequest(input) 2291 return out, req.Send() 2292 } 2293 2294 // ListAccountSettingsWithContext is the same as ListAccountSettings with the addition of 2295 // the ability to pass a context and additional request options. 2296 // 2297 // See ListAccountSettings for details on how to use this API operation. 2298 // 2299 // The context must be non-nil and will be used for request cancellation. If 2300 // the context is nil a panic will occur. In the future the SDK may create 2301 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2302 // for more information on using Contexts. 2303 func (c *ECS) ListAccountSettingsWithContext(ctx aws.Context, input *ListAccountSettingsInput, opts ...request.Option) (*ListAccountSettingsOutput, error) { 2304 req, out := c.ListAccountSettingsRequest(input) 2305 req.SetContext(ctx) 2306 req.ApplyOptions(opts...) 2307 return out, req.Send() 2308 } 2309 2310 // ListAccountSettingsPages iterates over the pages of a ListAccountSettings operation, 2311 // calling the "fn" function with the response data for each page. To stop 2312 // iterating, return false from the fn function. 2313 // 2314 // See ListAccountSettings method for more information on how to use this operation. 2315 // 2316 // Note: This operation can generate multiple requests to a service. 2317 // 2318 // // Example iterating over at most 3 pages of a ListAccountSettings operation. 2319 // pageNum := 0 2320 // err := client.ListAccountSettingsPages(params, 2321 // func(page *ecs.ListAccountSettingsOutput, lastPage bool) bool { 2322 // pageNum++ 2323 // fmt.Println(page) 2324 // return pageNum <= 3 2325 // }) 2326 // 2327 func (c *ECS) ListAccountSettingsPages(input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool) error { 2328 return c.ListAccountSettingsPagesWithContext(aws.BackgroundContext(), input, fn) 2329 } 2330 2331 // ListAccountSettingsPagesWithContext same as ListAccountSettingsPages except 2332 // it takes a Context and allows setting request options on the pages. 2333 // 2334 // The context must be non-nil and will be used for request cancellation. If 2335 // the context is nil a panic will occur. In the future the SDK may create 2336 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2337 // for more information on using Contexts. 2338 func (c *ECS) ListAccountSettingsPagesWithContext(ctx aws.Context, input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool, opts ...request.Option) error { 2339 p := request.Pagination{ 2340 NewRequest: func() (*request.Request, error) { 2341 var inCpy *ListAccountSettingsInput 2342 if input != nil { 2343 tmp := *input 2344 inCpy = &tmp 2345 } 2346 req, _ := c.ListAccountSettingsRequest(inCpy) 2347 req.SetContext(ctx) 2348 req.ApplyOptions(opts...) 2349 return req, nil 2350 }, 2351 } 2352 2353 for p.Next() { 2354 if !fn(p.Page().(*ListAccountSettingsOutput), !p.HasNextPage()) { 2355 break 2356 } 2357 } 2358 2359 return p.Err() 2360 } 2361 2362 const opListAttributes = "ListAttributes" 2363 2364 // ListAttributesRequest generates a "aws/request.Request" representing the 2365 // client's request for the ListAttributes operation. The "output" return 2366 // value will be populated with the request's response once the request completes 2367 // successfully. 2368 // 2369 // Use "Send" method on the returned Request to send the API call to the service. 2370 // the "output" return value is not valid until after Send returns without error. 2371 // 2372 // See ListAttributes for more information on using the ListAttributes 2373 // API call, and error handling. 2374 // 2375 // This method is useful when you want to inject custom logic or configuration 2376 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2377 // 2378 // 2379 // // Example sending a request using the ListAttributesRequest method. 2380 // req, resp := client.ListAttributesRequest(params) 2381 // 2382 // err := req.Send() 2383 // if err == nil { // resp is now filled 2384 // fmt.Println(resp) 2385 // } 2386 // 2387 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2388 func (c *ECS) ListAttributesRequest(input *ListAttributesInput) (req *request.Request, output *ListAttributesOutput) { 2389 op := &request.Operation{ 2390 Name: opListAttributes, 2391 HTTPMethod: "POST", 2392 HTTPPath: "/", 2393 Paginator: &request.Paginator{ 2394 InputTokens: []string{"nextToken"}, 2395 OutputTokens: []string{"nextToken"}, 2396 LimitToken: "maxResults", 2397 TruncationToken: "", 2398 }, 2399 } 2400 2401 if input == nil { 2402 input = &ListAttributesInput{} 2403 } 2404 2405 output = &ListAttributesOutput{} 2406 req = c.newRequest(op, input, output) 2407 return 2408 } 2409 2410 // ListAttributes API operation for Amazon EC2 Container Service. 2411 // 2412 // Lists the attributes for Amazon ECS resources within a specified target type 2413 // and cluster. When you specify a target type and cluster, ListAttributes returns 2414 // a list of attribute objects, one for each attribute on each resource. You 2415 // can filter the list of results to a single attribute name to only return 2416 // results that have that name. You can also filter the results by attribute 2417 // name and value, for example, to see which container instances in a cluster 2418 // are running a Linux AMI (ecs.os-type=linux). 2419 // 2420 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2421 // with awserr.Error's Code and Message methods to get detailed information about 2422 // the error. 2423 // 2424 // See the AWS API reference guide for Amazon EC2 Container Service's 2425 // API operation ListAttributes for usage and error information. 2426 // 2427 // Returned Error Types: 2428 // * ClusterNotFoundException 2429 // The specified cluster could not be found. You can view your available clusters 2430 // with ListClusters. Amazon ECS clusters are Region-specific. 2431 // 2432 // * InvalidParameterException 2433 // The specified parameter is invalid. Review the available parameters for the 2434 // API request. 2435 // 2436 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2437 func (c *ECS) ListAttributes(input *ListAttributesInput) (*ListAttributesOutput, error) { 2438 req, out := c.ListAttributesRequest(input) 2439 return out, req.Send() 2440 } 2441 2442 // ListAttributesWithContext is the same as ListAttributes with the addition of 2443 // the ability to pass a context and additional request options. 2444 // 2445 // See ListAttributes for details on how to use this API operation. 2446 // 2447 // The context must be non-nil and will be used for request cancellation. If 2448 // the context is nil a panic will occur. In the future the SDK may create 2449 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2450 // for more information on using Contexts. 2451 func (c *ECS) ListAttributesWithContext(ctx aws.Context, input *ListAttributesInput, opts ...request.Option) (*ListAttributesOutput, error) { 2452 req, out := c.ListAttributesRequest(input) 2453 req.SetContext(ctx) 2454 req.ApplyOptions(opts...) 2455 return out, req.Send() 2456 } 2457 2458 // ListAttributesPages iterates over the pages of a ListAttributes operation, 2459 // calling the "fn" function with the response data for each page. To stop 2460 // iterating, return false from the fn function. 2461 // 2462 // See ListAttributes method for more information on how to use this operation. 2463 // 2464 // Note: This operation can generate multiple requests to a service. 2465 // 2466 // // Example iterating over at most 3 pages of a ListAttributes operation. 2467 // pageNum := 0 2468 // err := client.ListAttributesPages(params, 2469 // func(page *ecs.ListAttributesOutput, lastPage bool) bool { 2470 // pageNum++ 2471 // fmt.Println(page) 2472 // return pageNum <= 3 2473 // }) 2474 // 2475 func (c *ECS) ListAttributesPages(input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool) error { 2476 return c.ListAttributesPagesWithContext(aws.BackgroundContext(), input, fn) 2477 } 2478 2479 // ListAttributesPagesWithContext same as ListAttributesPages except 2480 // it takes a Context and allows setting request options on the pages. 2481 // 2482 // The context must be non-nil and will be used for request cancellation. If 2483 // the context is nil a panic will occur. In the future the SDK may create 2484 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2485 // for more information on using Contexts. 2486 func (c *ECS) ListAttributesPagesWithContext(ctx aws.Context, input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool, opts ...request.Option) error { 2487 p := request.Pagination{ 2488 NewRequest: func() (*request.Request, error) { 2489 var inCpy *ListAttributesInput 2490 if input != nil { 2491 tmp := *input 2492 inCpy = &tmp 2493 } 2494 req, _ := c.ListAttributesRequest(inCpy) 2495 req.SetContext(ctx) 2496 req.ApplyOptions(opts...) 2497 return req, nil 2498 }, 2499 } 2500 2501 for p.Next() { 2502 if !fn(p.Page().(*ListAttributesOutput), !p.HasNextPage()) { 2503 break 2504 } 2505 } 2506 2507 return p.Err() 2508 } 2509 2510 const opListClusters = "ListClusters" 2511 2512 // ListClustersRequest generates a "aws/request.Request" representing the 2513 // client's request for the ListClusters operation. The "output" return 2514 // value will be populated with the request's response once the request completes 2515 // successfully. 2516 // 2517 // Use "Send" method on the returned Request to send the API call to the service. 2518 // the "output" return value is not valid until after Send returns without error. 2519 // 2520 // See ListClusters for more information on using the ListClusters 2521 // API call, and error handling. 2522 // 2523 // This method is useful when you want to inject custom logic or configuration 2524 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2525 // 2526 // 2527 // // Example sending a request using the ListClustersRequest method. 2528 // req, resp := client.ListClustersRequest(params) 2529 // 2530 // err := req.Send() 2531 // if err == nil { // resp is now filled 2532 // fmt.Println(resp) 2533 // } 2534 // 2535 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2536 func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 2537 op := &request.Operation{ 2538 Name: opListClusters, 2539 HTTPMethod: "POST", 2540 HTTPPath: "/", 2541 Paginator: &request.Paginator{ 2542 InputTokens: []string{"nextToken"}, 2543 OutputTokens: []string{"nextToken"}, 2544 LimitToken: "maxResults", 2545 TruncationToken: "", 2546 }, 2547 } 2548 2549 if input == nil { 2550 input = &ListClustersInput{} 2551 } 2552 2553 output = &ListClustersOutput{} 2554 req = c.newRequest(op, input, output) 2555 return 2556 } 2557 2558 // ListClusters API operation for Amazon EC2 Container Service. 2559 // 2560 // Returns a list of existing clusters. 2561 // 2562 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2563 // with awserr.Error's Code and Message methods to get detailed information about 2564 // the error. 2565 // 2566 // See the AWS API reference guide for Amazon EC2 Container Service's 2567 // API operation ListClusters for usage and error information. 2568 // 2569 // Returned Error Types: 2570 // * ServerException 2571 // These errors are usually caused by a server issue. 2572 // 2573 // * ClientException 2574 // These errors are usually caused by a client action, such as using an action 2575 // or resource on behalf of a user that doesn't have permissions to use the 2576 // action or resource, or specifying an identifier that is not valid. 2577 // 2578 // * InvalidParameterException 2579 // The specified parameter is invalid. Review the available parameters for the 2580 // API request. 2581 // 2582 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2583 func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 2584 req, out := c.ListClustersRequest(input) 2585 return out, req.Send() 2586 } 2587 2588 // ListClustersWithContext is the same as ListClusters with the addition of 2589 // the ability to pass a context and additional request options. 2590 // 2591 // See ListClusters for details on how to use this API operation. 2592 // 2593 // The context must be non-nil and will be used for request cancellation. If 2594 // the context is nil a panic will occur. In the future the SDK may create 2595 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2596 // for more information on using Contexts. 2597 func (c *ECS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 2598 req, out := c.ListClustersRequest(input) 2599 req.SetContext(ctx) 2600 req.ApplyOptions(opts...) 2601 return out, req.Send() 2602 } 2603 2604 // ListClustersPages iterates over the pages of a ListClusters operation, 2605 // calling the "fn" function with the response data for each page. To stop 2606 // iterating, return false from the fn function. 2607 // 2608 // See ListClusters method for more information on how to use this operation. 2609 // 2610 // Note: This operation can generate multiple requests to a service. 2611 // 2612 // // Example iterating over at most 3 pages of a ListClusters operation. 2613 // pageNum := 0 2614 // err := client.ListClustersPages(params, 2615 // func(page *ecs.ListClustersOutput, lastPage bool) bool { 2616 // pageNum++ 2617 // fmt.Println(page) 2618 // return pageNum <= 3 2619 // }) 2620 // 2621 func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 2622 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2623 } 2624 2625 // ListClustersPagesWithContext same as ListClustersPages except 2626 // it takes a Context and allows setting request options on the pages. 2627 // 2628 // The context must be non-nil and will be used for request cancellation. If 2629 // the context is nil a panic will occur. In the future the SDK may create 2630 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2631 // for more information on using Contexts. 2632 func (c *ECS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 2633 p := request.Pagination{ 2634 NewRequest: func() (*request.Request, error) { 2635 var inCpy *ListClustersInput 2636 if input != nil { 2637 tmp := *input 2638 inCpy = &tmp 2639 } 2640 req, _ := c.ListClustersRequest(inCpy) 2641 req.SetContext(ctx) 2642 req.ApplyOptions(opts...) 2643 return req, nil 2644 }, 2645 } 2646 2647 for p.Next() { 2648 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 2649 break 2650 } 2651 } 2652 2653 return p.Err() 2654 } 2655 2656 const opListContainerInstances = "ListContainerInstances" 2657 2658 // ListContainerInstancesRequest generates a "aws/request.Request" representing the 2659 // client's request for the ListContainerInstances operation. The "output" return 2660 // value will be populated with the request's response once the request completes 2661 // successfully. 2662 // 2663 // Use "Send" method on the returned Request to send the API call to the service. 2664 // the "output" return value is not valid until after Send returns without error. 2665 // 2666 // See ListContainerInstances for more information on using the ListContainerInstances 2667 // API call, and error handling. 2668 // 2669 // This method is useful when you want to inject custom logic or configuration 2670 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2671 // 2672 // 2673 // // Example sending a request using the ListContainerInstancesRequest method. 2674 // req, resp := client.ListContainerInstancesRequest(params) 2675 // 2676 // err := req.Send() 2677 // if err == nil { // resp is now filled 2678 // fmt.Println(resp) 2679 // } 2680 // 2681 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2682 func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { 2683 op := &request.Operation{ 2684 Name: opListContainerInstances, 2685 HTTPMethod: "POST", 2686 HTTPPath: "/", 2687 Paginator: &request.Paginator{ 2688 InputTokens: []string{"nextToken"}, 2689 OutputTokens: []string{"nextToken"}, 2690 LimitToken: "maxResults", 2691 TruncationToken: "", 2692 }, 2693 } 2694 2695 if input == nil { 2696 input = &ListContainerInstancesInput{} 2697 } 2698 2699 output = &ListContainerInstancesOutput{} 2700 req = c.newRequest(op, input, output) 2701 return 2702 } 2703 2704 // ListContainerInstances API operation for Amazon EC2 Container Service. 2705 // 2706 // Returns a list of container instances in a specified cluster. You can filter 2707 // the results of a ListContainerInstances operation with cluster query language 2708 // statements inside the filter parameter. For more information, see Cluster 2709 // Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 2710 // in the Amazon Elastic Container Service Developer Guide. 2711 // 2712 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2713 // with awserr.Error's Code and Message methods to get detailed information about 2714 // the error. 2715 // 2716 // See the AWS API reference guide for Amazon EC2 Container Service's 2717 // API operation ListContainerInstances for usage and error information. 2718 // 2719 // Returned Error Types: 2720 // * ServerException 2721 // These errors are usually caused by a server issue. 2722 // 2723 // * ClientException 2724 // These errors are usually caused by a client action, such as using an action 2725 // or resource on behalf of a user that doesn't have permissions to use the 2726 // action or resource, or specifying an identifier that is not valid. 2727 // 2728 // * InvalidParameterException 2729 // The specified parameter is invalid. Review the available parameters for the 2730 // API request. 2731 // 2732 // * ClusterNotFoundException 2733 // The specified cluster could not be found. You can view your available clusters 2734 // with ListClusters. Amazon ECS clusters are Region-specific. 2735 // 2736 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2737 func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { 2738 req, out := c.ListContainerInstancesRequest(input) 2739 return out, req.Send() 2740 } 2741 2742 // ListContainerInstancesWithContext is the same as ListContainerInstances with the addition of 2743 // the ability to pass a context and additional request options. 2744 // 2745 // See ListContainerInstances for details on how to use this API operation. 2746 // 2747 // The context must be non-nil and will be used for request cancellation. If 2748 // the context is nil a panic will occur. In the future the SDK may create 2749 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2750 // for more information on using Contexts. 2751 func (c *ECS) ListContainerInstancesWithContext(ctx aws.Context, input *ListContainerInstancesInput, opts ...request.Option) (*ListContainerInstancesOutput, error) { 2752 req, out := c.ListContainerInstancesRequest(input) 2753 req.SetContext(ctx) 2754 req.ApplyOptions(opts...) 2755 return out, req.Send() 2756 } 2757 2758 // ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, 2759 // calling the "fn" function with the response data for each page. To stop 2760 // iterating, return false from the fn function. 2761 // 2762 // See ListContainerInstances method for more information on how to use this operation. 2763 // 2764 // Note: This operation can generate multiple requests to a service. 2765 // 2766 // // Example iterating over at most 3 pages of a ListContainerInstances operation. 2767 // pageNum := 0 2768 // err := client.ListContainerInstancesPages(params, 2769 // func(page *ecs.ListContainerInstancesOutput, lastPage bool) bool { 2770 // pageNum++ 2771 // fmt.Println(page) 2772 // return pageNum <= 3 2773 // }) 2774 // 2775 func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool) error { 2776 return c.ListContainerInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 2777 } 2778 2779 // ListContainerInstancesPagesWithContext same as ListContainerInstancesPages except 2780 // it takes a Context and allows setting request options on the pages. 2781 // 2782 // The context must be non-nil and will be used for request cancellation. If 2783 // the context is nil a panic will occur. In the future the SDK may create 2784 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2785 // for more information on using Contexts. 2786 func (c *ECS) ListContainerInstancesPagesWithContext(ctx aws.Context, input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool, opts ...request.Option) error { 2787 p := request.Pagination{ 2788 NewRequest: func() (*request.Request, error) { 2789 var inCpy *ListContainerInstancesInput 2790 if input != nil { 2791 tmp := *input 2792 inCpy = &tmp 2793 } 2794 req, _ := c.ListContainerInstancesRequest(inCpy) 2795 req.SetContext(ctx) 2796 req.ApplyOptions(opts...) 2797 return req, nil 2798 }, 2799 } 2800 2801 for p.Next() { 2802 if !fn(p.Page().(*ListContainerInstancesOutput), !p.HasNextPage()) { 2803 break 2804 } 2805 } 2806 2807 return p.Err() 2808 } 2809 2810 const opListServices = "ListServices" 2811 2812 // ListServicesRequest generates a "aws/request.Request" representing the 2813 // client's request for the ListServices operation. The "output" return 2814 // value will be populated with the request's response once the request completes 2815 // successfully. 2816 // 2817 // Use "Send" method on the returned Request to send the API call to the service. 2818 // the "output" return value is not valid until after Send returns without error. 2819 // 2820 // See ListServices for more information on using the ListServices 2821 // API call, and error handling. 2822 // 2823 // This method is useful when you want to inject custom logic or configuration 2824 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2825 // 2826 // 2827 // // Example sending a request using the ListServicesRequest method. 2828 // req, resp := client.ListServicesRequest(params) 2829 // 2830 // err := req.Send() 2831 // if err == nil { // resp is now filled 2832 // fmt.Println(resp) 2833 // } 2834 // 2835 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2836 func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { 2837 op := &request.Operation{ 2838 Name: opListServices, 2839 HTTPMethod: "POST", 2840 HTTPPath: "/", 2841 Paginator: &request.Paginator{ 2842 InputTokens: []string{"nextToken"}, 2843 OutputTokens: []string{"nextToken"}, 2844 LimitToken: "maxResults", 2845 TruncationToken: "", 2846 }, 2847 } 2848 2849 if input == nil { 2850 input = &ListServicesInput{} 2851 } 2852 2853 output = &ListServicesOutput{} 2854 req = c.newRequest(op, input, output) 2855 return 2856 } 2857 2858 // ListServices API operation for Amazon EC2 Container Service. 2859 // 2860 // Returns a list of services. You can filter the results by cluster, launch 2861 // type, and scheduling strategy. 2862 // 2863 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2864 // with awserr.Error's Code and Message methods to get detailed information about 2865 // the error. 2866 // 2867 // See the AWS API reference guide for Amazon EC2 Container Service's 2868 // API operation ListServices for usage and error information. 2869 // 2870 // Returned Error Types: 2871 // * ServerException 2872 // These errors are usually caused by a server issue. 2873 // 2874 // * ClientException 2875 // These errors are usually caused by a client action, such as using an action 2876 // or resource on behalf of a user that doesn't have permissions to use the 2877 // action or resource, or specifying an identifier that is not valid. 2878 // 2879 // * InvalidParameterException 2880 // The specified parameter is invalid. Review the available parameters for the 2881 // API request. 2882 // 2883 // * ClusterNotFoundException 2884 // The specified cluster could not be found. You can view your available clusters 2885 // with ListClusters. Amazon ECS clusters are Region-specific. 2886 // 2887 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2888 func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { 2889 req, out := c.ListServicesRequest(input) 2890 return out, req.Send() 2891 } 2892 2893 // ListServicesWithContext is the same as ListServices with the addition of 2894 // the ability to pass a context and additional request options. 2895 // 2896 // See ListServices for details on how to use this API operation. 2897 // 2898 // The context must be non-nil and will be used for request cancellation. If 2899 // the context is nil a panic will occur. In the future the SDK may create 2900 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2901 // for more information on using Contexts. 2902 func (c *ECS) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) { 2903 req, out := c.ListServicesRequest(input) 2904 req.SetContext(ctx) 2905 req.ApplyOptions(opts...) 2906 return out, req.Send() 2907 } 2908 2909 // ListServicesPages iterates over the pages of a ListServices operation, 2910 // calling the "fn" function with the response data for each page. To stop 2911 // iterating, return false from the fn function. 2912 // 2913 // See ListServices method for more information on how to use this operation. 2914 // 2915 // Note: This operation can generate multiple requests to a service. 2916 // 2917 // // Example iterating over at most 3 pages of a ListServices operation. 2918 // pageNum := 0 2919 // err := client.ListServicesPages(params, 2920 // func(page *ecs.ListServicesOutput, lastPage bool) bool { 2921 // pageNum++ 2922 // fmt.Println(page) 2923 // return pageNum <= 3 2924 // }) 2925 // 2926 func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error { 2927 return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn) 2928 } 2929 2930 // ListServicesPagesWithContext same as ListServicesPages except 2931 // it takes a Context and allows setting request options on the pages. 2932 // 2933 // The context must be non-nil and will be used for request cancellation. If 2934 // the context is nil a panic will occur. In the future the SDK may create 2935 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2936 // for more information on using Contexts. 2937 func (c *ECS) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error { 2938 p := request.Pagination{ 2939 NewRequest: func() (*request.Request, error) { 2940 var inCpy *ListServicesInput 2941 if input != nil { 2942 tmp := *input 2943 inCpy = &tmp 2944 } 2945 req, _ := c.ListServicesRequest(inCpy) 2946 req.SetContext(ctx) 2947 req.ApplyOptions(opts...) 2948 return req, nil 2949 }, 2950 } 2951 2952 for p.Next() { 2953 if !fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) { 2954 break 2955 } 2956 } 2957 2958 return p.Err() 2959 } 2960 2961 const opListTagsForResource = "ListTagsForResource" 2962 2963 // ListTagsForResourceRequest generates a "aws/request.Request" representing the 2964 // client's request for the ListTagsForResource operation. The "output" return 2965 // value will be populated with the request's response once the request completes 2966 // successfully. 2967 // 2968 // Use "Send" method on the returned Request to send the API call to the service. 2969 // the "output" return value is not valid until after Send returns without error. 2970 // 2971 // See ListTagsForResource for more information on using the ListTagsForResource 2972 // API call, and error handling. 2973 // 2974 // This method is useful when you want to inject custom logic or configuration 2975 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2976 // 2977 // 2978 // // Example sending a request using the ListTagsForResourceRequest method. 2979 // req, resp := client.ListTagsForResourceRequest(params) 2980 // 2981 // err := req.Send() 2982 // if err == nil { // resp is now filled 2983 // fmt.Println(resp) 2984 // } 2985 // 2986 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2987 func (c *ECS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2988 op := &request.Operation{ 2989 Name: opListTagsForResource, 2990 HTTPMethod: "POST", 2991 HTTPPath: "/", 2992 } 2993 2994 if input == nil { 2995 input = &ListTagsForResourceInput{} 2996 } 2997 2998 output = &ListTagsForResourceOutput{} 2999 req = c.newRequest(op, input, output) 3000 return 3001 } 3002 3003 // ListTagsForResource API operation for Amazon EC2 Container Service. 3004 // 3005 // List the tags for an Amazon ECS resource. 3006 // 3007 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3008 // with awserr.Error's Code and Message methods to get detailed information about 3009 // the error. 3010 // 3011 // See the AWS API reference guide for Amazon EC2 Container Service's 3012 // API operation ListTagsForResource for usage and error information. 3013 // 3014 // Returned Error Types: 3015 // * ServerException 3016 // These errors are usually caused by a server issue. 3017 // 3018 // * ClientException 3019 // These errors are usually caused by a client action, such as using an action 3020 // or resource on behalf of a user that doesn't have permissions to use the 3021 // action or resource, or specifying an identifier that is not valid. 3022 // 3023 // * ClusterNotFoundException 3024 // The specified cluster could not be found. You can view your available clusters 3025 // with ListClusters. Amazon ECS clusters are Region-specific. 3026 // 3027 // * InvalidParameterException 3028 // The specified parameter is invalid. Review the available parameters for the 3029 // API request. 3030 // 3031 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 3032 func (c *ECS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 3033 req, out := c.ListTagsForResourceRequest(input) 3034 return out, req.Send() 3035 } 3036 3037 // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 3038 // the ability to pass a context and additional request options. 3039 // 3040 // See ListTagsForResource for details on how to use this API operation. 3041 // 3042 // The context must be non-nil and will be used for request cancellation. If 3043 // the context is nil a panic will occur. In the future the SDK may create 3044 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3045 // for more information on using Contexts. 3046 func (c *ECS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 3047 req, out := c.ListTagsForResourceRequest(input) 3048 req.SetContext(ctx) 3049 req.ApplyOptions(opts...) 3050 return out, req.Send() 3051 } 3052 3053 const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" 3054 3055 // ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the 3056 // client's request for the ListTaskDefinitionFamilies operation. The "output" return 3057 // value will be populated with the request's response once the request completes 3058 // successfully. 3059 // 3060 // Use "Send" method on the returned Request to send the API call to the service. 3061 // the "output" return value is not valid until after Send returns without error. 3062 // 3063 // See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies 3064 // API call, and error handling. 3065 // 3066 // This method is useful when you want to inject custom logic or configuration 3067 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3068 // 3069 // 3070 // // Example sending a request using the ListTaskDefinitionFamiliesRequest method. 3071 // req, resp := client.ListTaskDefinitionFamiliesRequest(params) 3072 // 3073 // err := req.Send() 3074 // if err == nil { // resp is now filled 3075 // fmt.Println(resp) 3076 // } 3077 // 3078 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 3079 func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { 3080 op := &request.Operation{ 3081 Name: opListTaskDefinitionFamilies, 3082 HTTPMethod: "POST", 3083 HTTPPath: "/", 3084 Paginator: &request.Paginator{ 3085 InputTokens: []string{"nextToken"}, 3086 OutputTokens: []string{"nextToken"}, 3087 LimitToken: "maxResults", 3088 TruncationToken: "", 3089 }, 3090 } 3091 3092 if input == nil { 3093 input = &ListTaskDefinitionFamiliesInput{} 3094 } 3095 3096 output = &ListTaskDefinitionFamiliesOutput{} 3097 req = c.newRequest(op, input, output) 3098 return 3099 } 3100 3101 // ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service. 3102 // 3103 // Returns a list of task definition families that are registered to your account 3104 // (which may include task definition families that no longer have any ACTIVE 3105 // task definition revisions). 3106 // 3107 // You can filter out task definition families that do not contain any ACTIVE 3108 // task definition revisions by setting the status parameter to ACTIVE. You 3109 // can also filter the results with the familyPrefix parameter. 3110 // 3111 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3112 // with awserr.Error's Code and Message methods to get detailed information about 3113 // the error. 3114 // 3115 // See the AWS API reference guide for Amazon EC2 Container Service's 3116 // API operation ListTaskDefinitionFamilies for usage and error information. 3117 // 3118 // Returned Error Types: 3119 // * ServerException 3120 // These errors are usually caused by a server issue. 3121 // 3122 // * ClientException 3123 // These errors are usually caused by a client action, such as using an action 3124 // or resource on behalf of a user that doesn't have permissions to use the 3125 // action or resource, or specifying an identifier that is not valid. 3126 // 3127 // * InvalidParameterException 3128 // The specified parameter is invalid. Review the available parameters for the 3129 // API request. 3130 // 3131 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 3132 func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { 3133 req, out := c.ListTaskDefinitionFamiliesRequest(input) 3134 return out, req.Send() 3135 } 3136 3137 // ListTaskDefinitionFamiliesWithContext is the same as ListTaskDefinitionFamilies with the addition of 3138 // the ability to pass a context and additional request options. 3139 // 3140 // See ListTaskDefinitionFamilies for details on how to use this API operation. 3141 // 3142 // The context must be non-nil and will be used for request cancellation. If 3143 // the context is nil a panic will occur. In the future the SDK may create 3144 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3145 // for more information on using Contexts. 3146 func (c *ECS) ListTaskDefinitionFamiliesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, opts ...request.Option) (*ListTaskDefinitionFamiliesOutput, error) { 3147 req, out := c.ListTaskDefinitionFamiliesRequest(input) 3148 req.SetContext(ctx) 3149 req.ApplyOptions(opts...) 3150 return out, req.Send() 3151 } 3152 3153 // ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, 3154 // calling the "fn" function with the response data for each page. To stop 3155 // iterating, return false from the fn function. 3156 // 3157 // See ListTaskDefinitionFamilies method for more information on how to use this operation. 3158 // 3159 // Note: This operation can generate multiple requests to a service. 3160 // 3161 // // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation. 3162 // pageNum := 0 3163 // err := client.ListTaskDefinitionFamiliesPages(params, 3164 // func(page *ecs.ListTaskDefinitionFamiliesOutput, lastPage bool) bool { 3165 // pageNum++ 3166 // fmt.Println(page) 3167 // return pageNum <= 3 3168 // }) 3169 // 3170 func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool) error { 3171 return c.ListTaskDefinitionFamiliesPagesWithContext(aws.BackgroundContext(), input, fn) 3172 } 3173 3174 // ListTaskDefinitionFamiliesPagesWithContext same as ListTaskDefinitionFamiliesPages except 3175 // it takes a Context and allows setting request options on the pages. 3176 // 3177 // The context must be non-nil and will be used for request cancellation. If 3178 // the context is nil a panic will occur. In the future the SDK may create 3179 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3180 // for more information on using Contexts. 3181 func (c *ECS) ListTaskDefinitionFamiliesPagesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool, opts ...request.Option) error { 3182 p := request.Pagination{ 3183 NewRequest: func() (*request.Request, error) { 3184 var inCpy *ListTaskDefinitionFamiliesInput 3185 if input != nil { 3186 tmp := *input 3187 inCpy = &tmp 3188 } 3189 req, _ := c.ListTaskDefinitionFamiliesRequest(inCpy) 3190 req.SetContext(ctx) 3191 req.ApplyOptions(opts...) 3192 return req, nil 3193 }, 3194 } 3195 3196 for p.Next() { 3197 if !fn(p.Page().(*ListTaskDefinitionFamiliesOutput), !p.HasNextPage()) { 3198 break 3199 } 3200 } 3201 3202 return p.Err() 3203 } 3204 3205 const opListTaskDefinitions = "ListTaskDefinitions" 3206 3207 // ListTaskDefinitionsRequest generates a "aws/request.Request" representing the 3208 // client's request for the ListTaskDefinitions operation. The "output" return 3209 // value will be populated with the request's response once the request completes 3210 // successfully. 3211 // 3212 // Use "Send" method on the returned Request to send the API call to the service. 3213 // the "output" return value is not valid until after Send returns without error. 3214 // 3215 // See ListTaskDefinitions for more information on using the ListTaskDefinitions 3216 // API call, and error handling. 3217 // 3218 // This method is useful when you want to inject custom logic or configuration 3219 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3220 // 3221 // 3222 // // Example sending a request using the ListTaskDefinitionsRequest method. 3223 // req, resp := client.ListTaskDefinitionsRequest(params) 3224 // 3225 // err := req.Send() 3226 // if err == nil { // resp is now filled 3227 // fmt.Println(resp) 3228 // } 3229 // 3230 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3231 func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { 3232 op := &request.Operation{ 3233 Name: opListTaskDefinitions, 3234 HTTPMethod: "POST", 3235 HTTPPath: "/", 3236 Paginator: &request.Paginator{ 3237 InputTokens: []string{"nextToken"}, 3238 OutputTokens: []string{"nextToken"}, 3239 LimitToken: "maxResults", 3240 TruncationToken: "", 3241 }, 3242 } 3243 3244 if input == nil { 3245 input = &ListTaskDefinitionsInput{} 3246 } 3247 3248 output = &ListTaskDefinitionsOutput{} 3249 req = c.newRequest(op, input, output) 3250 return 3251 } 3252 3253 // ListTaskDefinitions API operation for Amazon EC2 Container Service. 3254 // 3255 // Returns a list of task definitions that are registered to your account. You 3256 // can filter the results by family name with the familyPrefix parameter or 3257 // by status with the status parameter. 3258 // 3259 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3260 // with awserr.Error's Code and Message methods to get detailed information about 3261 // the error. 3262 // 3263 // See the AWS API reference guide for Amazon EC2 Container Service's 3264 // API operation ListTaskDefinitions for usage and error information. 3265 // 3266 // Returned Error Types: 3267 // * ServerException 3268 // These errors are usually caused by a server issue. 3269 // 3270 // * ClientException 3271 // These errors are usually caused by a client action, such as using an action 3272 // or resource on behalf of a user that doesn't have permissions to use the 3273 // action or resource, or specifying an identifier that is not valid. 3274 // 3275 // * InvalidParameterException 3276 // The specified parameter is invalid. Review the available parameters for the 3277 // API request. 3278 // 3279 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3280 func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { 3281 req, out := c.ListTaskDefinitionsRequest(input) 3282 return out, req.Send() 3283 } 3284 3285 // ListTaskDefinitionsWithContext is the same as ListTaskDefinitions with the addition of 3286 // the ability to pass a context and additional request options. 3287 // 3288 // See ListTaskDefinitions for details on how to use this API operation. 3289 // 3290 // The context must be non-nil and will be used for request cancellation. If 3291 // the context is nil a panic will occur. In the future the SDK may create 3292 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3293 // for more information on using Contexts. 3294 func (c *ECS) ListTaskDefinitionsWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, opts ...request.Option) (*ListTaskDefinitionsOutput, error) { 3295 req, out := c.ListTaskDefinitionsRequest(input) 3296 req.SetContext(ctx) 3297 req.ApplyOptions(opts...) 3298 return out, req.Send() 3299 } 3300 3301 // ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, 3302 // calling the "fn" function with the response data for each page. To stop 3303 // iterating, return false from the fn function. 3304 // 3305 // See ListTaskDefinitions method for more information on how to use this operation. 3306 // 3307 // Note: This operation can generate multiple requests to a service. 3308 // 3309 // // Example iterating over at most 3 pages of a ListTaskDefinitions operation. 3310 // pageNum := 0 3311 // err := client.ListTaskDefinitionsPages(params, 3312 // func(page *ecs.ListTaskDefinitionsOutput, lastPage bool) bool { 3313 // pageNum++ 3314 // fmt.Println(page) 3315 // return pageNum <= 3 3316 // }) 3317 // 3318 func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool) error { 3319 return c.ListTaskDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 3320 } 3321 3322 // ListTaskDefinitionsPagesWithContext same as ListTaskDefinitionsPages except 3323 // it takes a Context and allows setting request options on the pages. 3324 // 3325 // The context must be non-nil and will be used for request cancellation. If 3326 // the context is nil a panic will occur. In the future the SDK may create 3327 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3328 // for more information on using Contexts. 3329 func (c *ECS) ListTaskDefinitionsPagesWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool, opts ...request.Option) error { 3330 p := request.Pagination{ 3331 NewRequest: func() (*request.Request, error) { 3332 var inCpy *ListTaskDefinitionsInput 3333 if input != nil { 3334 tmp := *input 3335 inCpy = &tmp 3336 } 3337 req, _ := c.ListTaskDefinitionsRequest(inCpy) 3338 req.SetContext(ctx) 3339 req.ApplyOptions(opts...) 3340 return req, nil 3341 }, 3342 } 3343 3344 for p.Next() { 3345 if !fn(p.Page().(*ListTaskDefinitionsOutput), !p.HasNextPage()) { 3346 break 3347 } 3348 } 3349 3350 return p.Err() 3351 } 3352 3353 const opListTasks = "ListTasks" 3354 3355 // ListTasksRequest generates a "aws/request.Request" representing the 3356 // client's request for the ListTasks operation. The "output" return 3357 // value will be populated with the request's response once the request completes 3358 // successfully. 3359 // 3360 // Use "Send" method on the returned Request to send the API call to the service. 3361 // the "output" return value is not valid until after Send returns without error. 3362 // 3363 // See ListTasks for more information on using the ListTasks 3364 // API call, and error handling. 3365 // 3366 // This method is useful when you want to inject custom logic or configuration 3367 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3368 // 3369 // 3370 // // Example sending a request using the ListTasksRequest method. 3371 // req, resp := client.ListTasksRequest(params) 3372 // 3373 // err := req.Send() 3374 // if err == nil { // resp is now filled 3375 // fmt.Println(resp) 3376 // } 3377 // 3378 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3379 func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { 3380 op := &request.Operation{ 3381 Name: opListTasks, 3382 HTTPMethod: "POST", 3383 HTTPPath: "/", 3384 Paginator: &request.Paginator{ 3385 InputTokens: []string{"nextToken"}, 3386 OutputTokens: []string{"nextToken"}, 3387 LimitToken: "maxResults", 3388 TruncationToken: "", 3389 }, 3390 } 3391 3392 if input == nil { 3393 input = &ListTasksInput{} 3394 } 3395 3396 output = &ListTasksOutput{} 3397 req = c.newRequest(op, input, output) 3398 return 3399 } 3400 3401 // ListTasks API operation for Amazon EC2 Container Service. 3402 // 3403 // Returns a list of tasks. You can filter the results by cluster, task definition 3404 // family, container instance, launch type, what IAM principal started the task, 3405 // or by the desired status of the task. 3406 // 3407 // Recently stopped tasks might appear in the returned results. Currently, stopped 3408 // tasks appear in the returned results for at least one hour. 3409 // 3410 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3411 // with awserr.Error's Code and Message methods to get detailed information about 3412 // the error. 3413 // 3414 // See the AWS API reference guide for Amazon EC2 Container Service's 3415 // API operation ListTasks for usage and error information. 3416 // 3417 // Returned Error Types: 3418 // * ServerException 3419 // These errors are usually caused by a server issue. 3420 // 3421 // * ClientException 3422 // These errors are usually caused by a client action, such as using an action 3423 // or resource on behalf of a user that doesn't have permissions to use the 3424 // action or resource, or specifying an identifier that is not valid. 3425 // 3426 // * InvalidParameterException 3427 // The specified parameter is invalid. Review the available parameters for the 3428 // API request. 3429 // 3430 // * ClusterNotFoundException 3431 // The specified cluster could not be found. You can view your available clusters 3432 // with ListClusters. Amazon ECS clusters are Region-specific. 3433 // 3434 // * ServiceNotFoundException 3435 // The specified service could not be found. You can view your available services 3436 // with ListServices. Amazon ECS services are cluster-specific and Region-specific. 3437 // 3438 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3439 func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { 3440 req, out := c.ListTasksRequest(input) 3441 return out, req.Send() 3442 } 3443 3444 // ListTasksWithContext is the same as ListTasks with the addition of 3445 // the ability to pass a context and additional request options. 3446 // 3447 // See ListTasks for details on how to use this API operation. 3448 // 3449 // The context must be non-nil and will be used for request cancellation. If 3450 // the context is nil a panic will occur. In the future the SDK may create 3451 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3452 // for more information on using Contexts. 3453 func (c *ECS) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { 3454 req, out := c.ListTasksRequest(input) 3455 req.SetContext(ctx) 3456 req.ApplyOptions(opts...) 3457 return out, req.Send() 3458 } 3459 3460 // ListTasksPages iterates over the pages of a ListTasks operation, 3461 // calling the "fn" function with the response data for each page. To stop 3462 // iterating, return false from the fn function. 3463 // 3464 // See ListTasks method for more information on how to use this operation. 3465 // 3466 // Note: This operation can generate multiple requests to a service. 3467 // 3468 // // Example iterating over at most 3 pages of a ListTasks operation. 3469 // pageNum := 0 3470 // err := client.ListTasksPages(params, 3471 // func(page *ecs.ListTasksOutput, lastPage bool) bool { 3472 // pageNum++ 3473 // fmt.Println(page) 3474 // return pageNum <= 3 3475 // }) 3476 // 3477 func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { 3478 return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) 3479 } 3480 3481 // ListTasksPagesWithContext same as ListTasksPages except 3482 // it takes a Context and allows setting request options on the pages. 3483 // 3484 // The context must be non-nil and will be used for request cancellation. If 3485 // the context is nil a panic will occur. In the future the SDK may create 3486 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3487 // for more information on using Contexts. 3488 func (c *ECS) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { 3489 p := request.Pagination{ 3490 NewRequest: func() (*request.Request, error) { 3491 var inCpy *ListTasksInput 3492 if input != nil { 3493 tmp := *input 3494 inCpy = &tmp 3495 } 3496 req, _ := c.ListTasksRequest(inCpy) 3497 req.SetContext(ctx) 3498 req.ApplyOptions(opts...) 3499 return req, nil 3500 }, 3501 } 3502 3503 for p.Next() { 3504 if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) { 3505 break 3506 } 3507 } 3508 3509 return p.Err() 3510 } 3511 3512 const opPutAccountSetting = "PutAccountSetting" 3513 3514 // PutAccountSettingRequest generates a "aws/request.Request" representing the 3515 // client's request for the PutAccountSetting operation. The "output" return 3516 // value will be populated with the request's response once the request completes 3517 // successfully. 3518 // 3519 // Use "Send" method on the returned Request to send the API call to the service. 3520 // the "output" return value is not valid until after Send returns without error. 3521 // 3522 // See PutAccountSetting for more information on using the PutAccountSetting 3523 // API call, and error handling. 3524 // 3525 // This method is useful when you want to inject custom logic or configuration 3526 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3527 // 3528 // 3529 // // Example sending a request using the PutAccountSettingRequest method. 3530 // req, resp := client.PutAccountSettingRequest(params) 3531 // 3532 // err := req.Send() 3533 // if err == nil { // resp is now filled 3534 // fmt.Println(resp) 3535 // } 3536 // 3537 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3538 func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *request.Request, output *PutAccountSettingOutput) { 3539 op := &request.Operation{ 3540 Name: opPutAccountSetting, 3541 HTTPMethod: "POST", 3542 HTTPPath: "/", 3543 } 3544 3545 if input == nil { 3546 input = &PutAccountSettingInput{} 3547 } 3548 3549 output = &PutAccountSettingOutput{} 3550 req = c.newRequest(op, input, output) 3551 return 3552 } 3553 3554 // PutAccountSetting API operation for Amazon EC2 Container Service. 3555 // 3556 // Modifies an account setting. Account settings are set on a per-Region basis. 3557 // 3558 // If you change the account setting for the root user, the default settings 3559 // for all of the IAM users and roles for which no individual account setting 3560 // has been specified are reset. For more information, see Account Settings 3561 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html) 3562 // in the Amazon Elastic Container Service Developer Guide. 3563 // 3564 // When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat 3565 // are specified, the Amazon Resource Name (ARN) and resource ID format of the 3566 // resource type for a specified IAM user, IAM role, or the root user for an 3567 // account is affected. The opt-in and opt-out account setting must be set for 3568 // each Amazon ECS resource separately. The ARN and resource ID format of a 3569 // resource will be defined by the opt-in status of the IAM user or role that 3570 // created the resource. You must enable this setting to use Amazon ECS features 3571 // such as resource tagging. 3572 // 3573 // When awsvpcTrunking is specified, the elastic network interface (ENI) limit 3574 // for any new container instances that support the feature is changed. If awsvpcTrunking 3575 // is enabled, any new container instances that support the feature are launched 3576 // have the increased ENI limits available to them. For more information, see 3577 // Elastic Network Interface Trunking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html) 3578 // in the Amazon Elastic Container Service Developer Guide. 3579 // 3580 // When containerInsights is specified, the default setting indicating whether 3581 // CloudWatch Container Insights is enabled for your clusters is changed. If 3582 // containerInsights is enabled, any new clusters that are created will have 3583 // Container Insights enabled unless you disable it during cluster creation. 3584 // For more information, see CloudWatch Container Insights (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) 3585 // in the Amazon Elastic Container Service Developer Guide. 3586 // 3587 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3588 // with awserr.Error's Code and Message methods to get detailed information about 3589 // the error. 3590 // 3591 // See the AWS API reference guide for Amazon EC2 Container Service's 3592 // API operation PutAccountSetting for usage and error information. 3593 // 3594 // Returned Error Types: 3595 // * ServerException 3596 // These errors are usually caused by a server issue. 3597 // 3598 // * ClientException 3599 // These errors are usually caused by a client action, such as using an action 3600 // or resource on behalf of a user that doesn't have permissions to use the 3601 // action or resource, or specifying an identifier that is not valid. 3602 // 3603 // * InvalidParameterException 3604 // The specified parameter is invalid. Review the available parameters for the 3605 // API request. 3606 // 3607 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3608 func (c *ECS) PutAccountSetting(input *PutAccountSettingInput) (*PutAccountSettingOutput, error) { 3609 req, out := c.PutAccountSettingRequest(input) 3610 return out, req.Send() 3611 } 3612 3613 // PutAccountSettingWithContext is the same as PutAccountSetting with the addition of 3614 // the ability to pass a context and additional request options. 3615 // 3616 // See PutAccountSetting for details on how to use this API operation. 3617 // 3618 // The context must be non-nil and will be used for request cancellation. If 3619 // the context is nil a panic will occur. In the future the SDK may create 3620 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3621 // for more information on using Contexts. 3622 func (c *ECS) PutAccountSettingWithContext(ctx aws.Context, input *PutAccountSettingInput, opts ...request.Option) (*PutAccountSettingOutput, error) { 3623 req, out := c.PutAccountSettingRequest(input) 3624 req.SetContext(ctx) 3625 req.ApplyOptions(opts...) 3626 return out, req.Send() 3627 } 3628 3629 const opPutAccountSettingDefault = "PutAccountSettingDefault" 3630 3631 // PutAccountSettingDefaultRequest generates a "aws/request.Request" representing the 3632 // client's request for the PutAccountSettingDefault operation. The "output" return 3633 // value will be populated with the request's response once the request completes 3634 // successfully. 3635 // 3636 // Use "Send" method on the returned Request to send the API call to the service. 3637 // the "output" return value is not valid until after Send returns without error. 3638 // 3639 // See PutAccountSettingDefault for more information on using the PutAccountSettingDefault 3640 // API call, and error handling. 3641 // 3642 // This method is useful when you want to inject custom logic or configuration 3643 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3644 // 3645 // 3646 // // Example sending a request using the PutAccountSettingDefaultRequest method. 3647 // req, resp := client.PutAccountSettingDefaultRequest(params) 3648 // 3649 // err := req.Send() 3650 // if err == nil { // resp is now filled 3651 // fmt.Println(resp) 3652 // } 3653 // 3654 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3655 func (c *ECS) PutAccountSettingDefaultRequest(input *PutAccountSettingDefaultInput) (req *request.Request, output *PutAccountSettingDefaultOutput) { 3656 op := &request.Operation{ 3657 Name: opPutAccountSettingDefault, 3658 HTTPMethod: "POST", 3659 HTTPPath: "/", 3660 } 3661 3662 if input == nil { 3663 input = &PutAccountSettingDefaultInput{} 3664 } 3665 3666 output = &PutAccountSettingDefaultOutput{} 3667 req = c.newRequest(op, input, output) 3668 return 3669 } 3670 3671 // PutAccountSettingDefault API operation for Amazon EC2 Container Service. 3672 // 3673 // Modifies an account setting for all IAM users on an account for whom no individual 3674 // account setting has been specified. Account settings are set on a per-Region 3675 // basis. 3676 // 3677 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3678 // with awserr.Error's Code and Message methods to get detailed information about 3679 // the error. 3680 // 3681 // See the AWS API reference guide for Amazon EC2 Container Service's 3682 // API operation PutAccountSettingDefault for usage and error information. 3683 // 3684 // Returned Error Types: 3685 // * ServerException 3686 // These errors are usually caused by a server issue. 3687 // 3688 // * ClientException 3689 // These errors are usually caused by a client action, such as using an action 3690 // or resource on behalf of a user that doesn't have permissions to use the 3691 // action or resource, or specifying an identifier that is not valid. 3692 // 3693 // * InvalidParameterException 3694 // The specified parameter is invalid. Review the available parameters for the 3695 // API request. 3696 // 3697 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3698 func (c *ECS) PutAccountSettingDefault(input *PutAccountSettingDefaultInput) (*PutAccountSettingDefaultOutput, error) { 3699 req, out := c.PutAccountSettingDefaultRequest(input) 3700 return out, req.Send() 3701 } 3702 3703 // PutAccountSettingDefaultWithContext is the same as PutAccountSettingDefault with the addition of 3704 // the ability to pass a context and additional request options. 3705 // 3706 // See PutAccountSettingDefault for details on how to use this API operation. 3707 // 3708 // The context must be non-nil and will be used for request cancellation. If 3709 // the context is nil a panic will occur. In the future the SDK may create 3710 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3711 // for more information on using Contexts. 3712 func (c *ECS) PutAccountSettingDefaultWithContext(ctx aws.Context, input *PutAccountSettingDefaultInput, opts ...request.Option) (*PutAccountSettingDefaultOutput, error) { 3713 req, out := c.PutAccountSettingDefaultRequest(input) 3714 req.SetContext(ctx) 3715 req.ApplyOptions(opts...) 3716 return out, req.Send() 3717 } 3718 3719 const opPutAttributes = "PutAttributes" 3720 3721 // PutAttributesRequest generates a "aws/request.Request" representing the 3722 // client's request for the PutAttributes operation. The "output" return 3723 // value will be populated with the request's response once the request completes 3724 // successfully. 3725 // 3726 // Use "Send" method on the returned Request to send the API call to the service. 3727 // the "output" return value is not valid until after Send returns without error. 3728 // 3729 // See PutAttributes for more information on using the PutAttributes 3730 // API call, and error handling. 3731 // 3732 // This method is useful when you want to inject custom logic or configuration 3733 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3734 // 3735 // 3736 // // Example sending a request using the PutAttributesRequest method. 3737 // req, resp := client.PutAttributesRequest(params) 3738 // 3739 // err := req.Send() 3740 // if err == nil { // resp is now filled 3741 // fmt.Println(resp) 3742 // } 3743 // 3744 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3745 func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) { 3746 op := &request.Operation{ 3747 Name: opPutAttributes, 3748 HTTPMethod: "POST", 3749 HTTPPath: "/", 3750 } 3751 3752 if input == nil { 3753 input = &PutAttributesInput{} 3754 } 3755 3756 output = &PutAttributesOutput{} 3757 req = c.newRequest(op, input, output) 3758 return 3759 } 3760 3761 // PutAttributes API operation for Amazon EC2 Container Service. 3762 // 3763 // Create or update an attribute on an Amazon ECS resource. If the attribute 3764 // does not exist, it is created. If the attribute exists, its value is replaced 3765 // with the specified value. To delete an attribute, use DeleteAttributes. For 3766 // more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 3767 // in the Amazon Elastic Container Service Developer Guide. 3768 // 3769 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3770 // with awserr.Error's Code and Message methods to get detailed information about 3771 // the error. 3772 // 3773 // See the AWS API reference guide for Amazon EC2 Container Service's 3774 // API operation PutAttributes for usage and error information. 3775 // 3776 // Returned Error Types: 3777 // * ClusterNotFoundException 3778 // The specified cluster could not be found. You can view your available clusters 3779 // with ListClusters. Amazon ECS clusters are Region-specific. 3780 // 3781 // * TargetNotFoundException 3782 // The specified target could not be found. You can view your available container 3783 // instances with ListContainerInstances. Amazon ECS container instances are 3784 // cluster-specific and Region-specific. 3785 // 3786 // * AttributeLimitExceededException 3787 // You can apply up to 10 custom attributes per resource. You can view the attributes 3788 // of a resource with ListAttributes. You can remove existing attributes on 3789 // a resource with DeleteAttributes. 3790 // 3791 // * InvalidParameterException 3792 // The specified parameter is invalid. Review the available parameters for the 3793 // API request. 3794 // 3795 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3796 func (c *ECS) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) { 3797 req, out := c.PutAttributesRequest(input) 3798 return out, req.Send() 3799 } 3800 3801 // PutAttributesWithContext is the same as PutAttributes with the addition of 3802 // the ability to pass a context and additional request options. 3803 // 3804 // See PutAttributes for details on how to use this API operation. 3805 // 3806 // The context must be non-nil and will be used for request cancellation. If 3807 // the context is nil a panic will occur. In the future the SDK may create 3808 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3809 // for more information on using Contexts. 3810 func (c *ECS) PutAttributesWithContext(ctx aws.Context, input *PutAttributesInput, opts ...request.Option) (*PutAttributesOutput, error) { 3811 req, out := c.PutAttributesRequest(input) 3812 req.SetContext(ctx) 3813 req.ApplyOptions(opts...) 3814 return out, req.Send() 3815 } 3816 3817 const opPutClusterCapacityProviders = "PutClusterCapacityProviders" 3818 3819 // PutClusterCapacityProvidersRequest generates a "aws/request.Request" representing the 3820 // client's request for the PutClusterCapacityProviders operation. The "output" return 3821 // value will be populated with the request's response once the request completes 3822 // successfully. 3823 // 3824 // Use "Send" method on the returned Request to send the API call to the service. 3825 // the "output" return value is not valid until after Send returns without error. 3826 // 3827 // See PutClusterCapacityProviders for more information on using the PutClusterCapacityProviders 3828 // API call, and error handling. 3829 // 3830 // This method is useful when you want to inject custom logic or configuration 3831 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3832 // 3833 // 3834 // // Example sending a request using the PutClusterCapacityProvidersRequest method. 3835 // req, resp := client.PutClusterCapacityProvidersRequest(params) 3836 // 3837 // err := req.Send() 3838 // if err == nil { // resp is now filled 3839 // fmt.Println(resp) 3840 // } 3841 // 3842 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3843 func (c *ECS) PutClusterCapacityProvidersRequest(input *PutClusterCapacityProvidersInput) (req *request.Request, output *PutClusterCapacityProvidersOutput) { 3844 op := &request.Operation{ 3845 Name: opPutClusterCapacityProviders, 3846 HTTPMethod: "POST", 3847 HTTPPath: "/", 3848 } 3849 3850 if input == nil { 3851 input = &PutClusterCapacityProvidersInput{} 3852 } 3853 3854 output = &PutClusterCapacityProvidersOutput{} 3855 req = c.newRequest(op, input, output) 3856 return 3857 } 3858 3859 // PutClusterCapacityProviders API operation for Amazon EC2 Container Service. 3860 // 3861 // Modifies the available capacity providers and the default capacity provider 3862 // strategy for a cluster. 3863 // 3864 // You must specify both the available capacity providers and a default capacity 3865 // provider strategy for the cluster. If the specified cluster has existing 3866 // capacity providers associated with it, you must specify all existing capacity 3867 // providers in addition to any new ones you want to add. Any existing capacity 3868 // providers associated with a cluster that are omitted from a PutClusterCapacityProviders 3869 // API call will be disassociated with the cluster. You can only disassociate 3870 // an existing capacity provider from a cluster if it's not being used by any 3871 // existing tasks. 3872 // 3873 // When creating a service or running a task on a cluster, if no capacity provider 3874 // or launch type is specified, then the cluster's default capacity provider 3875 // strategy is used. It is recommended to define a default capacity provider 3876 // strategy for your cluster, however you may specify an empty array ([]) to 3877 // bypass defining a default strategy. 3878 // 3879 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3880 // with awserr.Error's Code and Message methods to get detailed information about 3881 // the error. 3882 // 3883 // See the AWS API reference guide for Amazon EC2 Container Service's 3884 // API operation PutClusterCapacityProviders for usage and error information. 3885 // 3886 // Returned Error Types: 3887 // * ServerException 3888 // These errors are usually caused by a server issue. 3889 // 3890 // * ClientException 3891 // These errors are usually caused by a client action, such as using an action 3892 // or resource on behalf of a user that doesn't have permissions to use the 3893 // action or resource, or specifying an identifier that is not valid. 3894 // 3895 // * InvalidParameterException 3896 // The specified parameter is invalid. Review the available parameters for the 3897 // API request. 3898 // 3899 // * ClusterNotFoundException 3900 // The specified cluster could not be found. You can view your available clusters 3901 // with ListClusters. Amazon ECS clusters are Region-specific. 3902 // 3903 // * ResourceInUseException 3904 // The specified resource is in-use and cannot be removed. 3905 // 3906 // * UpdateInProgressException 3907 // There is already a current Amazon ECS container agent update in progress 3908 // on the specified container instance. If the container agent becomes disconnected 3909 // while it is in a transitional stage, such as PENDING or STAGING, the update 3910 // process can get stuck in that state. However, when the agent reconnects, 3911 // it resumes where it stopped previously. 3912 // 3913 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3914 func (c *ECS) PutClusterCapacityProviders(input *PutClusterCapacityProvidersInput) (*PutClusterCapacityProvidersOutput, error) { 3915 req, out := c.PutClusterCapacityProvidersRequest(input) 3916 return out, req.Send() 3917 } 3918 3919 // PutClusterCapacityProvidersWithContext is the same as PutClusterCapacityProviders with the addition of 3920 // the ability to pass a context and additional request options. 3921 // 3922 // See PutClusterCapacityProviders for details on how to use this API operation. 3923 // 3924 // The context must be non-nil and will be used for request cancellation. If 3925 // the context is nil a panic will occur. In the future the SDK may create 3926 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3927 // for more information on using Contexts. 3928 func (c *ECS) PutClusterCapacityProvidersWithContext(ctx aws.Context, input *PutClusterCapacityProvidersInput, opts ...request.Option) (*PutClusterCapacityProvidersOutput, error) { 3929 req, out := c.PutClusterCapacityProvidersRequest(input) 3930 req.SetContext(ctx) 3931 req.ApplyOptions(opts...) 3932 return out, req.Send() 3933 } 3934 3935 const opRegisterContainerInstance = "RegisterContainerInstance" 3936 3937 // RegisterContainerInstanceRequest generates a "aws/request.Request" representing the 3938 // client's request for the RegisterContainerInstance operation. The "output" return 3939 // value will be populated with the request's response once the request completes 3940 // successfully. 3941 // 3942 // Use "Send" method on the returned Request to send the API call to the service. 3943 // the "output" return value is not valid until after Send returns without error. 3944 // 3945 // See RegisterContainerInstance for more information on using the RegisterContainerInstance 3946 // API call, and error handling. 3947 // 3948 // This method is useful when you want to inject custom logic or configuration 3949 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3950 // 3951 // 3952 // // Example sending a request using the RegisterContainerInstanceRequest method. 3953 // req, resp := client.RegisterContainerInstanceRequest(params) 3954 // 3955 // err := req.Send() 3956 // if err == nil { // resp is now filled 3957 // fmt.Println(resp) 3958 // } 3959 // 3960 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3961 func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { 3962 op := &request.Operation{ 3963 Name: opRegisterContainerInstance, 3964 HTTPMethod: "POST", 3965 HTTPPath: "/", 3966 } 3967 3968 if input == nil { 3969 input = &RegisterContainerInstanceInput{} 3970 } 3971 3972 output = &RegisterContainerInstanceOutput{} 3973 req = c.newRequest(op, input, output) 3974 return 3975 } 3976 3977 // RegisterContainerInstance API operation for Amazon EC2 Container Service. 3978 // 3979 // 3980 // This action is only used by the Amazon ECS agent, and it is not intended 3981 // for use outside of the agent. 3982 // 3983 // Registers an EC2 instance into the specified cluster. This instance becomes 3984 // available to place containers on. 3985 // 3986 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3987 // with awserr.Error's Code and Message methods to get detailed information about 3988 // the error. 3989 // 3990 // See the AWS API reference guide for Amazon EC2 Container Service's 3991 // API operation RegisterContainerInstance for usage and error information. 3992 // 3993 // Returned Error Types: 3994 // * ServerException 3995 // These errors are usually caused by a server issue. 3996 // 3997 // * ClientException 3998 // These errors are usually caused by a client action, such as using an action 3999 // or resource on behalf of a user that doesn't have permissions to use the 4000 // action or resource, or specifying an identifier that is not valid. 4001 // 4002 // * InvalidParameterException 4003 // The specified parameter is invalid. Review the available parameters for the 4004 // API request. 4005 // 4006 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 4007 func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { 4008 req, out := c.RegisterContainerInstanceRequest(input) 4009 return out, req.Send() 4010 } 4011 4012 // RegisterContainerInstanceWithContext is the same as RegisterContainerInstance with the addition of 4013 // the ability to pass a context and additional request options. 4014 // 4015 // See RegisterContainerInstance for details on how to use this API operation. 4016 // 4017 // The context must be non-nil and will be used for request cancellation. If 4018 // the context is nil a panic will occur. In the future the SDK may create 4019 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4020 // for more information on using Contexts. 4021 func (c *ECS) RegisterContainerInstanceWithContext(ctx aws.Context, input *RegisterContainerInstanceInput, opts ...request.Option) (*RegisterContainerInstanceOutput, error) { 4022 req, out := c.RegisterContainerInstanceRequest(input) 4023 req.SetContext(ctx) 4024 req.ApplyOptions(opts...) 4025 return out, req.Send() 4026 } 4027 4028 const opRegisterTaskDefinition = "RegisterTaskDefinition" 4029 4030 // RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the 4031 // client's request for the RegisterTaskDefinition operation. The "output" return 4032 // value will be populated with the request's response once the request completes 4033 // successfully. 4034 // 4035 // Use "Send" method on the returned Request to send the API call to the service. 4036 // the "output" return value is not valid until after Send returns without error. 4037 // 4038 // See RegisterTaskDefinition for more information on using the RegisterTaskDefinition 4039 // API call, and error handling. 4040 // 4041 // This method is useful when you want to inject custom logic or configuration 4042 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4043 // 4044 // 4045 // // Example sending a request using the RegisterTaskDefinitionRequest method. 4046 // req, resp := client.RegisterTaskDefinitionRequest(params) 4047 // 4048 // err := req.Send() 4049 // if err == nil { // resp is now filled 4050 // fmt.Println(resp) 4051 // } 4052 // 4053 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 4054 func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { 4055 op := &request.Operation{ 4056 Name: opRegisterTaskDefinition, 4057 HTTPMethod: "POST", 4058 HTTPPath: "/", 4059 } 4060 4061 if input == nil { 4062 input = &RegisterTaskDefinitionInput{} 4063 } 4064 4065 output = &RegisterTaskDefinitionOutput{} 4066 req = c.newRequest(op, input, output) 4067 return 4068 } 4069 4070 // RegisterTaskDefinition API operation for Amazon EC2 Container Service. 4071 // 4072 // Registers a new task definition from the supplied family and containerDefinitions. 4073 // Optionally, you can add data volumes to your containers with the volumes 4074 // parameter. For more information about task definition parameters and defaults, 4075 // see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 4076 // in the Amazon Elastic Container Service Developer Guide. 4077 // 4078 // You can specify an IAM role for your task with the taskRoleArn parameter. 4079 // When you specify an IAM role for a task, its containers can then use the 4080 // latest versions of the CLI or SDKs to make API requests to the Amazon Web 4081 // Services services that are specified in the IAM policy associated with the 4082 // role. For more information, see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 4083 // in the Amazon Elastic Container Service Developer Guide. 4084 // 4085 // You can specify a Docker networking mode for the containers in your task 4086 // definition with the networkMode parameter. The available network modes correspond 4087 // to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) 4088 // in the Docker run reference. If you specify the awsvpc network mode, the 4089 // task is allocated an elastic network interface, and you must specify a NetworkConfiguration 4090 // when you create a service or run a task with the task definition. For more 4091 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 4092 // in the Amazon Elastic Container Service Developer Guide. 4093 // 4094 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4095 // with awserr.Error's Code and Message methods to get detailed information about 4096 // the error. 4097 // 4098 // See the AWS API reference guide for Amazon EC2 Container Service's 4099 // API operation RegisterTaskDefinition for usage and error information. 4100 // 4101 // Returned Error Types: 4102 // * ServerException 4103 // These errors are usually caused by a server issue. 4104 // 4105 // * ClientException 4106 // These errors are usually caused by a client action, such as using an action 4107 // or resource on behalf of a user that doesn't have permissions to use the 4108 // action or resource, or specifying an identifier that is not valid. 4109 // 4110 // * InvalidParameterException 4111 // The specified parameter is invalid. Review the available parameters for the 4112 // API request. 4113 // 4114 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 4115 func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { 4116 req, out := c.RegisterTaskDefinitionRequest(input) 4117 return out, req.Send() 4118 } 4119 4120 // RegisterTaskDefinitionWithContext is the same as RegisterTaskDefinition with the addition of 4121 // the ability to pass a context and additional request options. 4122 // 4123 // See RegisterTaskDefinition for details on how to use this API operation. 4124 // 4125 // The context must be non-nil and will be used for request cancellation. If 4126 // the context is nil a panic will occur. In the future the SDK may create 4127 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4128 // for more information on using Contexts. 4129 func (c *ECS) RegisterTaskDefinitionWithContext(ctx aws.Context, input *RegisterTaskDefinitionInput, opts ...request.Option) (*RegisterTaskDefinitionOutput, error) { 4130 req, out := c.RegisterTaskDefinitionRequest(input) 4131 req.SetContext(ctx) 4132 req.ApplyOptions(opts...) 4133 return out, req.Send() 4134 } 4135 4136 const opRunTask = "RunTask" 4137 4138 // RunTaskRequest generates a "aws/request.Request" representing the 4139 // client's request for the RunTask operation. The "output" return 4140 // value will be populated with the request's response once the request completes 4141 // successfully. 4142 // 4143 // Use "Send" method on the returned Request to send the API call to the service. 4144 // the "output" return value is not valid until after Send returns without error. 4145 // 4146 // See RunTask for more information on using the RunTask 4147 // API call, and error handling. 4148 // 4149 // This method is useful when you want to inject custom logic or configuration 4150 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4151 // 4152 // 4153 // // Example sending a request using the RunTaskRequest method. 4154 // req, resp := client.RunTaskRequest(params) 4155 // 4156 // err := req.Send() 4157 // if err == nil { // resp is now filled 4158 // fmt.Println(resp) 4159 // } 4160 // 4161 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 4162 func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { 4163 op := &request.Operation{ 4164 Name: opRunTask, 4165 HTTPMethod: "POST", 4166 HTTPPath: "/", 4167 } 4168 4169 if input == nil { 4170 input = &RunTaskInput{} 4171 } 4172 4173 output = &RunTaskOutput{} 4174 req = c.newRequest(op, input, output) 4175 return 4176 } 4177 4178 // RunTask API operation for Amazon EC2 Container Service. 4179 // 4180 // Starts a new task using the specified task definition. 4181 // 4182 // You can allow Amazon ECS to place tasks for you, or you can customize how 4183 // Amazon ECS places tasks using placement constraints and placement strategies. 4184 // For more information, see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 4185 // in the Amazon Elastic Container Service Developer Guide. 4186 // 4187 // Alternatively, you can use StartTask to use your own scheduler or place tasks 4188 // manually on specific container instances. 4189 // 4190 // The Amazon ECS API follows an eventual consistency model, due to the distributed 4191 // nature of the system supporting the API. This means that the result of an 4192 // API command you run that affects your Amazon ECS resources might not be immediately 4193 // visible to all subsequent commands you run. Keep this in mind when you carry 4194 // out an API command that immediately follows a previous API command. 4195 // 4196 // To manage eventual consistency, you can do the following: 4197 // 4198 // * Confirm the state of the resource before you run a command to modify 4199 // it. Run the DescribeTasks command using an exponential backoff algorithm 4200 // to ensure that you allow enough time for the previous command to propagate 4201 // through the system. To do this, run the DescribeTasks command repeatedly, 4202 // starting with a couple of seconds of wait time and increasing gradually 4203 // up to five minutes of wait time. 4204 // 4205 // * Add wait time between subsequent commands, even if the DescribeTasks 4206 // command returns an accurate response. Apply an exponential backoff algorithm 4207 // starting with a couple of seconds of wait time, and increase gradually 4208 // up to about five minutes of wait time. 4209 // 4210 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4211 // with awserr.Error's Code and Message methods to get detailed information about 4212 // the error. 4213 // 4214 // See the AWS API reference guide for Amazon EC2 Container Service's 4215 // API operation RunTask for usage and error information. 4216 // 4217 // Returned Error Types: 4218 // * ServerException 4219 // These errors are usually caused by a server issue. 4220 // 4221 // * ClientException 4222 // These errors are usually caused by a client action, such as using an action 4223 // or resource on behalf of a user that doesn't have permissions to use the 4224 // action or resource, or specifying an identifier that is not valid. 4225 // 4226 // * InvalidParameterException 4227 // The specified parameter is invalid. Review the available parameters for the 4228 // API request. 4229 // 4230 // * ClusterNotFoundException 4231 // The specified cluster could not be found. You can view your available clusters 4232 // with ListClusters. Amazon ECS clusters are Region-specific. 4233 // 4234 // * UnsupportedFeatureException 4235 // The specified task is not supported in this Region. 4236 // 4237 // * PlatformUnknownException 4238 // The specified platform version does not exist. 4239 // 4240 // * PlatformTaskDefinitionIncompatibilityException 4241 // The specified platform version does not satisfy the task definition's required 4242 // capabilities. 4243 // 4244 // * AccessDeniedException 4245 // You do not have authorization to perform the requested action. 4246 // 4247 // * BlockedException 4248 // Your Amazon Web Services account has been blocked. For more information, 4249 // contact Amazon Web Services Support (http://aws.amazon.com/contact-us/). 4250 // 4251 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 4252 func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { 4253 req, out := c.RunTaskRequest(input) 4254 return out, req.Send() 4255 } 4256 4257 // RunTaskWithContext is the same as RunTask with the addition of 4258 // the ability to pass a context and additional request options. 4259 // 4260 // See RunTask for details on how to use this API operation. 4261 // 4262 // The context must be non-nil and will be used for request cancellation. If 4263 // the context is nil a panic will occur. In the future the SDK may create 4264 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4265 // for more information on using Contexts. 4266 func (c *ECS) RunTaskWithContext(ctx aws.Context, input *RunTaskInput, opts ...request.Option) (*RunTaskOutput, error) { 4267 req, out := c.RunTaskRequest(input) 4268 req.SetContext(ctx) 4269 req.ApplyOptions(opts...) 4270 return out, req.Send() 4271 } 4272 4273 const opStartTask = "StartTask" 4274 4275 // StartTaskRequest generates a "aws/request.Request" representing the 4276 // client's request for the StartTask operation. The "output" return 4277 // value will be populated with the request's response once the request completes 4278 // successfully. 4279 // 4280 // Use "Send" method on the returned Request to send the API call to the service. 4281 // the "output" return value is not valid until after Send returns without error. 4282 // 4283 // See StartTask for more information on using the StartTask 4284 // API call, and error handling. 4285 // 4286 // This method is useful when you want to inject custom logic or configuration 4287 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4288 // 4289 // 4290 // // Example sending a request using the StartTaskRequest method. 4291 // req, resp := client.StartTaskRequest(params) 4292 // 4293 // err := req.Send() 4294 // if err == nil { // resp is now filled 4295 // fmt.Println(resp) 4296 // } 4297 // 4298 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4299 func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { 4300 op := &request.Operation{ 4301 Name: opStartTask, 4302 HTTPMethod: "POST", 4303 HTTPPath: "/", 4304 } 4305 4306 if input == nil { 4307 input = &StartTaskInput{} 4308 } 4309 4310 output = &StartTaskOutput{} 4311 req = c.newRequest(op, input, output) 4312 return 4313 } 4314 4315 // StartTask API operation for Amazon EC2 Container Service. 4316 // 4317 // Starts a new task from the specified task definition on the specified container 4318 // instance or instances. 4319 // 4320 // Alternatively, you can use RunTask to place tasks for you. For more information, 4321 // see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 4322 // in the Amazon Elastic Container Service Developer Guide. 4323 // 4324 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4325 // with awserr.Error's Code and Message methods to get detailed information about 4326 // the error. 4327 // 4328 // See the AWS API reference guide for Amazon EC2 Container Service's 4329 // API operation StartTask for usage and error information. 4330 // 4331 // Returned Error Types: 4332 // * ServerException 4333 // These errors are usually caused by a server issue. 4334 // 4335 // * ClientException 4336 // These errors are usually caused by a client action, such as using an action 4337 // or resource on behalf of a user that doesn't have permissions to use the 4338 // action or resource, or specifying an identifier that is not valid. 4339 // 4340 // * InvalidParameterException 4341 // The specified parameter is invalid. Review the available parameters for the 4342 // API request. 4343 // 4344 // * ClusterNotFoundException 4345 // The specified cluster could not be found. You can view your available clusters 4346 // with ListClusters. Amazon ECS clusters are Region-specific. 4347 // 4348 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4349 func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { 4350 req, out := c.StartTaskRequest(input) 4351 return out, req.Send() 4352 } 4353 4354 // StartTaskWithContext is the same as StartTask with the addition of 4355 // the ability to pass a context and additional request options. 4356 // 4357 // See StartTask for details on how to use this API operation. 4358 // 4359 // The context must be non-nil and will be used for request cancellation. If 4360 // the context is nil a panic will occur. In the future the SDK may create 4361 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4362 // for more information on using Contexts. 4363 func (c *ECS) StartTaskWithContext(ctx aws.Context, input *StartTaskInput, opts ...request.Option) (*StartTaskOutput, error) { 4364 req, out := c.StartTaskRequest(input) 4365 req.SetContext(ctx) 4366 req.ApplyOptions(opts...) 4367 return out, req.Send() 4368 } 4369 4370 const opStopTask = "StopTask" 4371 4372 // StopTaskRequest generates a "aws/request.Request" representing the 4373 // client's request for the StopTask operation. The "output" return 4374 // value will be populated with the request's response once the request completes 4375 // successfully. 4376 // 4377 // Use "Send" method on the returned Request to send the API call to the service. 4378 // the "output" return value is not valid until after Send returns without error. 4379 // 4380 // See StopTask for more information on using the StopTask 4381 // API call, and error handling. 4382 // 4383 // This method is useful when you want to inject custom logic or configuration 4384 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4385 // 4386 // 4387 // // Example sending a request using the StopTaskRequest method. 4388 // req, resp := client.StopTaskRequest(params) 4389 // 4390 // err := req.Send() 4391 // if err == nil { // resp is now filled 4392 // fmt.Println(resp) 4393 // } 4394 // 4395 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4396 func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { 4397 op := &request.Operation{ 4398 Name: opStopTask, 4399 HTTPMethod: "POST", 4400 HTTPPath: "/", 4401 } 4402 4403 if input == nil { 4404 input = &StopTaskInput{} 4405 } 4406 4407 output = &StopTaskOutput{} 4408 req = c.newRequest(op, input, output) 4409 return 4410 } 4411 4412 // StopTask API operation for Amazon EC2 Container Service. 4413 // 4414 // Stops a running task. Any tags associated with the task will be deleted. 4415 // 4416 // When StopTask is called on a task, the equivalent of docker stop is issued 4417 // to the containers running in the task. This results in a SIGTERM value and 4418 // a default 30-second timeout, after which the SIGKILL value is sent and the 4419 // containers are forcibly stopped. If the container handles the SIGTERM value 4420 // gracefully and exits within 30 seconds from receiving it, no SIGKILL value 4421 // is sent. 4422 // 4423 // The default 30-second timeout can be configured on the Amazon ECS container 4424 // agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, 4425 // see Amazon ECS Container Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 4426 // in the Amazon Elastic Container Service Developer Guide. 4427 // 4428 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4429 // with awserr.Error's Code and Message methods to get detailed information about 4430 // the error. 4431 // 4432 // See the AWS API reference guide for Amazon EC2 Container Service's 4433 // API operation StopTask for usage and error information. 4434 // 4435 // Returned Error Types: 4436 // * ServerException 4437 // These errors are usually caused by a server issue. 4438 // 4439 // * ClientException 4440 // These errors are usually caused by a client action, such as using an action 4441 // or resource on behalf of a user that doesn't have permissions to use the 4442 // action or resource, or specifying an identifier that is not valid. 4443 // 4444 // * InvalidParameterException 4445 // The specified parameter is invalid. Review the available parameters for the 4446 // API request. 4447 // 4448 // * ClusterNotFoundException 4449 // The specified cluster could not be found. You can view your available clusters 4450 // with ListClusters. Amazon ECS clusters are Region-specific. 4451 // 4452 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4453 func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { 4454 req, out := c.StopTaskRequest(input) 4455 return out, req.Send() 4456 } 4457 4458 // StopTaskWithContext is the same as StopTask with the addition of 4459 // the ability to pass a context and additional request options. 4460 // 4461 // See StopTask for details on how to use this API operation. 4462 // 4463 // The context must be non-nil and will be used for request cancellation. If 4464 // the context is nil a panic will occur. In the future the SDK may create 4465 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4466 // for more information on using Contexts. 4467 func (c *ECS) StopTaskWithContext(ctx aws.Context, input *StopTaskInput, opts ...request.Option) (*StopTaskOutput, error) { 4468 req, out := c.StopTaskRequest(input) 4469 req.SetContext(ctx) 4470 req.ApplyOptions(opts...) 4471 return out, req.Send() 4472 } 4473 4474 const opSubmitAttachmentStateChanges = "SubmitAttachmentStateChanges" 4475 4476 // SubmitAttachmentStateChangesRequest generates a "aws/request.Request" representing the 4477 // client's request for the SubmitAttachmentStateChanges operation. The "output" return 4478 // value will be populated with the request's response once the request completes 4479 // successfully. 4480 // 4481 // Use "Send" method on the returned Request to send the API call to the service. 4482 // the "output" return value is not valid until after Send returns without error. 4483 // 4484 // See SubmitAttachmentStateChanges for more information on using the SubmitAttachmentStateChanges 4485 // API call, and error handling. 4486 // 4487 // This method is useful when you want to inject custom logic or configuration 4488 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4489 // 4490 // 4491 // // Example sending a request using the SubmitAttachmentStateChangesRequest method. 4492 // req, resp := client.SubmitAttachmentStateChangesRequest(params) 4493 // 4494 // err := req.Send() 4495 // if err == nil { // resp is now filled 4496 // fmt.Println(resp) 4497 // } 4498 // 4499 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4500 func (c *ECS) SubmitAttachmentStateChangesRequest(input *SubmitAttachmentStateChangesInput) (req *request.Request, output *SubmitAttachmentStateChangesOutput) { 4501 op := &request.Operation{ 4502 Name: opSubmitAttachmentStateChanges, 4503 HTTPMethod: "POST", 4504 HTTPPath: "/", 4505 } 4506 4507 if input == nil { 4508 input = &SubmitAttachmentStateChangesInput{} 4509 } 4510 4511 output = &SubmitAttachmentStateChangesOutput{} 4512 req = c.newRequest(op, input, output) 4513 return 4514 } 4515 4516 // SubmitAttachmentStateChanges API operation for Amazon EC2 Container Service. 4517 // 4518 // 4519 // This action is only used by the Amazon ECS agent, and it is not intended 4520 // for use outside of the agent. 4521 // 4522 // Sent to acknowledge that an attachment changed states. 4523 // 4524 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4525 // with awserr.Error's Code and Message methods to get detailed information about 4526 // the error. 4527 // 4528 // See the AWS API reference guide for Amazon EC2 Container Service's 4529 // API operation SubmitAttachmentStateChanges for usage and error information. 4530 // 4531 // Returned Error Types: 4532 // * ServerException 4533 // These errors are usually caused by a server issue. 4534 // 4535 // * ClientException 4536 // These errors are usually caused by a client action, such as using an action 4537 // or resource on behalf of a user that doesn't have permissions to use the 4538 // action or resource, or specifying an identifier that is not valid. 4539 // 4540 // * AccessDeniedException 4541 // You do not have authorization to perform the requested action. 4542 // 4543 // * InvalidParameterException 4544 // The specified parameter is invalid. Review the available parameters for the 4545 // API request. 4546 // 4547 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4548 func (c *ECS) SubmitAttachmentStateChanges(input *SubmitAttachmentStateChangesInput) (*SubmitAttachmentStateChangesOutput, error) { 4549 req, out := c.SubmitAttachmentStateChangesRequest(input) 4550 return out, req.Send() 4551 } 4552 4553 // SubmitAttachmentStateChangesWithContext is the same as SubmitAttachmentStateChanges with the addition of 4554 // the ability to pass a context and additional request options. 4555 // 4556 // See SubmitAttachmentStateChanges for details on how to use this API operation. 4557 // 4558 // The context must be non-nil and will be used for request cancellation. If 4559 // the context is nil a panic will occur. In the future the SDK may create 4560 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4561 // for more information on using Contexts. 4562 func (c *ECS) SubmitAttachmentStateChangesWithContext(ctx aws.Context, input *SubmitAttachmentStateChangesInput, opts ...request.Option) (*SubmitAttachmentStateChangesOutput, error) { 4563 req, out := c.SubmitAttachmentStateChangesRequest(input) 4564 req.SetContext(ctx) 4565 req.ApplyOptions(opts...) 4566 return out, req.Send() 4567 } 4568 4569 const opSubmitContainerStateChange = "SubmitContainerStateChange" 4570 4571 // SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the 4572 // client's request for the SubmitContainerStateChange operation. The "output" return 4573 // value will be populated with the request's response once the request completes 4574 // successfully. 4575 // 4576 // Use "Send" method on the returned Request to send the API call to the service. 4577 // the "output" return value is not valid until after Send returns without error. 4578 // 4579 // See SubmitContainerStateChange for more information on using the SubmitContainerStateChange 4580 // API call, and error handling. 4581 // 4582 // This method is useful when you want to inject custom logic or configuration 4583 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4584 // 4585 // 4586 // // Example sending a request using the SubmitContainerStateChangeRequest method. 4587 // req, resp := client.SubmitContainerStateChangeRequest(params) 4588 // 4589 // err := req.Send() 4590 // if err == nil { // resp is now filled 4591 // fmt.Println(resp) 4592 // } 4593 // 4594 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4595 func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { 4596 op := &request.Operation{ 4597 Name: opSubmitContainerStateChange, 4598 HTTPMethod: "POST", 4599 HTTPPath: "/", 4600 } 4601 4602 if input == nil { 4603 input = &SubmitContainerStateChangeInput{} 4604 } 4605 4606 output = &SubmitContainerStateChangeOutput{} 4607 req = c.newRequest(op, input, output) 4608 return 4609 } 4610 4611 // SubmitContainerStateChange API operation for Amazon EC2 Container Service. 4612 // 4613 // 4614 // This action is only used by the Amazon ECS agent, and it is not intended 4615 // for use outside of the agent. 4616 // 4617 // Sent to acknowledge that a container changed states. 4618 // 4619 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4620 // with awserr.Error's Code and Message methods to get detailed information about 4621 // the error. 4622 // 4623 // See the AWS API reference guide for Amazon EC2 Container Service's 4624 // API operation SubmitContainerStateChange for usage and error information. 4625 // 4626 // Returned Error Types: 4627 // * ServerException 4628 // These errors are usually caused by a server issue. 4629 // 4630 // * ClientException 4631 // These errors are usually caused by a client action, such as using an action 4632 // or resource on behalf of a user that doesn't have permissions to use the 4633 // action or resource, or specifying an identifier that is not valid. 4634 // 4635 // * AccessDeniedException 4636 // You do not have authorization to perform the requested action. 4637 // 4638 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4639 func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { 4640 req, out := c.SubmitContainerStateChangeRequest(input) 4641 return out, req.Send() 4642 } 4643 4644 // SubmitContainerStateChangeWithContext is the same as SubmitContainerStateChange with the addition of 4645 // the ability to pass a context and additional request options. 4646 // 4647 // See SubmitContainerStateChange for details on how to use this API operation. 4648 // 4649 // The context must be non-nil and will be used for request cancellation. If 4650 // the context is nil a panic will occur. In the future the SDK may create 4651 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4652 // for more information on using Contexts. 4653 func (c *ECS) SubmitContainerStateChangeWithContext(ctx aws.Context, input *SubmitContainerStateChangeInput, opts ...request.Option) (*SubmitContainerStateChangeOutput, error) { 4654 req, out := c.SubmitContainerStateChangeRequest(input) 4655 req.SetContext(ctx) 4656 req.ApplyOptions(opts...) 4657 return out, req.Send() 4658 } 4659 4660 const opSubmitTaskStateChange = "SubmitTaskStateChange" 4661 4662 // SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the 4663 // client's request for the SubmitTaskStateChange operation. The "output" return 4664 // value will be populated with the request's response once the request completes 4665 // successfully. 4666 // 4667 // Use "Send" method on the returned Request to send the API call to the service. 4668 // the "output" return value is not valid until after Send returns without error. 4669 // 4670 // See SubmitTaskStateChange for more information on using the SubmitTaskStateChange 4671 // API call, and error handling. 4672 // 4673 // This method is useful when you want to inject custom logic or configuration 4674 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4675 // 4676 // 4677 // // Example sending a request using the SubmitTaskStateChangeRequest method. 4678 // req, resp := client.SubmitTaskStateChangeRequest(params) 4679 // 4680 // err := req.Send() 4681 // if err == nil { // resp is now filled 4682 // fmt.Println(resp) 4683 // } 4684 // 4685 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4686 func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { 4687 op := &request.Operation{ 4688 Name: opSubmitTaskStateChange, 4689 HTTPMethod: "POST", 4690 HTTPPath: "/", 4691 } 4692 4693 if input == nil { 4694 input = &SubmitTaskStateChangeInput{} 4695 } 4696 4697 output = &SubmitTaskStateChangeOutput{} 4698 req = c.newRequest(op, input, output) 4699 return 4700 } 4701 4702 // SubmitTaskStateChange API operation for Amazon EC2 Container Service. 4703 // 4704 // 4705 // This action is only used by the Amazon ECS agent, and it is not intended 4706 // for use outside of the agent. 4707 // 4708 // Sent to acknowledge that a task changed states. 4709 // 4710 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4711 // with awserr.Error's Code and Message methods to get detailed information about 4712 // the error. 4713 // 4714 // See the AWS API reference guide for Amazon EC2 Container Service's 4715 // API operation SubmitTaskStateChange for usage and error information. 4716 // 4717 // Returned Error Types: 4718 // * ServerException 4719 // These errors are usually caused by a server issue. 4720 // 4721 // * ClientException 4722 // These errors are usually caused by a client action, such as using an action 4723 // or resource on behalf of a user that doesn't have permissions to use the 4724 // action or resource, or specifying an identifier that is not valid. 4725 // 4726 // * AccessDeniedException 4727 // You do not have authorization to perform the requested action. 4728 // 4729 // * InvalidParameterException 4730 // The specified parameter is invalid. Review the available parameters for the 4731 // API request. 4732 // 4733 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4734 func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { 4735 req, out := c.SubmitTaskStateChangeRequest(input) 4736 return out, req.Send() 4737 } 4738 4739 // SubmitTaskStateChangeWithContext is the same as SubmitTaskStateChange with the addition of 4740 // the ability to pass a context and additional request options. 4741 // 4742 // See SubmitTaskStateChange for details on how to use this API operation. 4743 // 4744 // The context must be non-nil and will be used for request cancellation. If 4745 // the context is nil a panic will occur. In the future the SDK may create 4746 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4747 // for more information on using Contexts. 4748 func (c *ECS) SubmitTaskStateChangeWithContext(ctx aws.Context, input *SubmitTaskStateChangeInput, opts ...request.Option) (*SubmitTaskStateChangeOutput, error) { 4749 req, out := c.SubmitTaskStateChangeRequest(input) 4750 req.SetContext(ctx) 4751 req.ApplyOptions(opts...) 4752 return out, req.Send() 4753 } 4754 4755 const opTagResource = "TagResource" 4756 4757 // TagResourceRequest generates a "aws/request.Request" representing the 4758 // client's request for the TagResource operation. The "output" return 4759 // value will be populated with the request's response once the request completes 4760 // successfully. 4761 // 4762 // Use "Send" method on the returned Request to send the API call to the service. 4763 // the "output" return value is not valid until after Send returns without error. 4764 // 4765 // See TagResource for more information on using the TagResource 4766 // API call, and error handling. 4767 // 4768 // This method is useful when you want to inject custom logic or configuration 4769 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4770 // 4771 // 4772 // // Example sending a request using the TagResourceRequest method. 4773 // req, resp := client.TagResourceRequest(params) 4774 // 4775 // err := req.Send() 4776 // if err == nil { // resp is now filled 4777 // fmt.Println(resp) 4778 // } 4779 // 4780 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4781 func (c *ECS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 4782 op := &request.Operation{ 4783 Name: opTagResource, 4784 HTTPMethod: "POST", 4785 HTTPPath: "/", 4786 } 4787 4788 if input == nil { 4789 input = &TagResourceInput{} 4790 } 4791 4792 output = &TagResourceOutput{} 4793 req = c.newRequest(op, input, output) 4794 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4795 return 4796 } 4797 4798 // TagResource API operation for Amazon EC2 Container Service. 4799 // 4800 // Associates the specified tags to a resource with the specified resourceArn. 4801 // If existing tags on a resource are not specified in the request parameters, 4802 // they are not changed. When a resource is deleted, the tags associated with 4803 // that resource are deleted as well. 4804 // 4805 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4806 // with awserr.Error's Code and Message methods to get detailed information about 4807 // the error. 4808 // 4809 // See the AWS API reference guide for Amazon EC2 Container Service's 4810 // API operation TagResource for usage and error information. 4811 // 4812 // Returned Error Types: 4813 // * ServerException 4814 // These errors are usually caused by a server issue. 4815 // 4816 // * ClientException 4817 // These errors are usually caused by a client action, such as using an action 4818 // or resource on behalf of a user that doesn't have permissions to use the 4819 // action or resource, or specifying an identifier that is not valid. 4820 // 4821 // * ClusterNotFoundException 4822 // The specified cluster could not be found. You can view your available clusters 4823 // with ListClusters. Amazon ECS clusters are Region-specific. 4824 // 4825 // * ResourceNotFoundException 4826 // The specified resource could not be found. 4827 // 4828 // * InvalidParameterException 4829 // The specified parameter is invalid. Review the available parameters for the 4830 // API request. 4831 // 4832 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4833 func (c *ECS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 4834 req, out := c.TagResourceRequest(input) 4835 return out, req.Send() 4836 } 4837 4838 // TagResourceWithContext is the same as TagResource with the addition of 4839 // the ability to pass a context and additional request options. 4840 // 4841 // See TagResource for details on how to use this API operation. 4842 // 4843 // The context must be non-nil and will be used for request cancellation. If 4844 // the context is nil a panic will occur. In the future the SDK may create 4845 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4846 // for more information on using Contexts. 4847 func (c *ECS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 4848 req, out := c.TagResourceRequest(input) 4849 req.SetContext(ctx) 4850 req.ApplyOptions(opts...) 4851 return out, req.Send() 4852 } 4853 4854 const opUntagResource = "UntagResource" 4855 4856 // UntagResourceRequest generates a "aws/request.Request" representing the 4857 // client's request for the UntagResource operation. The "output" return 4858 // value will be populated with the request's response once the request completes 4859 // successfully. 4860 // 4861 // Use "Send" method on the returned Request to send the API call to the service. 4862 // the "output" return value is not valid until after Send returns without error. 4863 // 4864 // See UntagResource for more information on using the UntagResource 4865 // API call, and error handling. 4866 // 4867 // This method is useful when you want to inject custom logic or configuration 4868 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4869 // 4870 // 4871 // // Example sending a request using the UntagResourceRequest method. 4872 // req, resp := client.UntagResourceRequest(params) 4873 // 4874 // err := req.Send() 4875 // if err == nil { // resp is now filled 4876 // fmt.Println(resp) 4877 // } 4878 // 4879 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4880 func (c *ECS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 4881 op := &request.Operation{ 4882 Name: opUntagResource, 4883 HTTPMethod: "POST", 4884 HTTPPath: "/", 4885 } 4886 4887 if input == nil { 4888 input = &UntagResourceInput{} 4889 } 4890 4891 output = &UntagResourceOutput{} 4892 req = c.newRequest(op, input, output) 4893 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4894 return 4895 } 4896 4897 // UntagResource API operation for Amazon EC2 Container Service. 4898 // 4899 // Deletes specified tags from a resource. 4900 // 4901 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4902 // with awserr.Error's Code and Message methods to get detailed information about 4903 // the error. 4904 // 4905 // See the AWS API reference guide for Amazon EC2 Container Service's 4906 // API operation UntagResource for usage and error information. 4907 // 4908 // Returned Error Types: 4909 // * ServerException 4910 // These errors are usually caused by a server issue. 4911 // 4912 // * ClientException 4913 // These errors are usually caused by a client action, such as using an action 4914 // or resource on behalf of a user that doesn't have permissions to use the 4915 // action or resource, or specifying an identifier that is not valid. 4916 // 4917 // * ClusterNotFoundException 4918 // The specified cluster could not be found. You can view your available clusters 4919 // with ListClusters. Amazon ECS clusters are Region-specific. 4920 // 4921 // * ResourceNotFoundException 4922 // The specified resource could not be found. 4923 // 4924 // * InvalidParameterException 4925 // The specified parameter is invalid. Review the available parameters for the 4926 // API request. 4927 // 4928 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4929 func (c *ECS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 4930 req, out := c.UntagResourceRequest(input) 4931 return out, req.Send() 4932 } 4933 4934 // UntagResourceWithContext is the same as UntagResource with the addition of 4935 // the ability to pass a context and additional request options. 4936 // 4937 // See UntagResource for details on how to use this API operation. 4938 // 4939 // The context must be non-nil and will be used for request cancellation. If 4940 // the context is nil a panic will occur. In the future the SDK may create 4941 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4942 // for more information on using Contexts. 4943 func (c *ECS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 4944 req, out := c.UntagResourceRequest(input) 4945 req.SetContext(ctx) 4946 req.ApplyOptions(opts...) 4947 return out, req.Send() 4948 } 4949 4950 const opUpdateCapacityProvider = "UpdateCapacityProvider" 4951 4952 // UpdateCapacityProviderRequest generates a "aws/request.Request" representing the 4953 // client's request for the UpdateCapacityProvider operation. The "output" return 4954 // value will be populated with the request's response once the request completes 4955 // successfully. 4956 // 4957 // Use "Send" method on the returned Request to send the API call to the service. 4958 // the "output" return value is not valid until after Send returns without error. 4959 // 4960 // See UpdateCapacityProvider for more information on using the UpdateCapacityProvider 4961 // API call, and error handling. 4962 // 4963 // This method is useful when you want to inject custom logic or configuration 4964 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4965 // 4966 // 4967 // // Example sending a request using the UpdateCapacityProviderRequest method. 4968 // req, resp := client.UpdateCapacityProviderRequest(params) 4969 // 4970 // err := req.Send() 4971 // if err == nil { // resp is now filled 4972 // fmt.Println(resp) 4973 // } 4974 // 4975 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProvider 4976 func (c *ECS) UpdateCapacityProviderRequest(input *UpdateCapacityProviderInput) (req *request.Request, output *UpdateCapacityProviderOutput) { 4977 op := &request.Operation{ 4978 Name: opUpdateCapacityProvider, 4979 HTTPMethod: "POST", 4980 HTTPPath: "/", 4981 } 4982 4983 if input == nil { 4984 input = &UpdateCapacityProviderInput{} 4985 } 4986 4987 output = &UpdateCapacityProviderOutput{} 4988 req = c.newRequest(op, input, output) 4989 return 4990 } 4991 4992 // UpdateCapacityProvider API operation for Amazon EC2 Container Service. 4993 // 4994 // Modifies the parameters for a capacity provider. 4995 // 4996 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4997 // with awserr.Error's Code and Message methods to get detailed information about 4998 // the error. 4999 // 5000 // See the AWS API reference guide for Amazon EC2 Container Service's 5001 // API operation UpdateCapacityProvider for usage and error information. 5002 // 5003 // Returned Error Types: 5004 // * ServerException 5005 // These errors are usually caused by a server issue. 5006 // 5007 // * ClientException 5008 // These errors are usually caused by a client action, such as using an action 5009 // or resource on behalf of a user that doesn't have permissions to use the 5010 // action or resource, or specifying an identifier that is not valid. 5011 // 5012 // * InvalidParameterException 5013 // The specified parameter is invalid. Review the available parameters for the 5014 // API request. 5015 // 5016 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProvider 5017 func (c *ECS) UpdateCapacityProvider(input *UpdateCapacityProviderInput) (*UpdateCapacityProviderOutput, error) { 5018 req, out := c.UpdateCapacityProviderRequest(input) 5019 return out, req.Send() 5020 } 5021 5022 // UpdateCapacityProviderWithContext is the same as UpdateCapacityProvider with the addition of 5023 // the ability to pass a context and additional request options. 5024 // 5025 // See UpdateCapacityProvider for details on how to use this API operation. 5026 // 5027 // The context must be non-nil and will be used for request cancellation. If 5028 // the context is nil a panic will occur. In the future the SDK may create 5029 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5030 // for more information on using Contexts. 5031 func (c *ECS) UpdateCapacityProviderWithContext(ctx aws.Context, input *UpdateCapacityProviderInput, opts ...request.Option) (*UpdateCapacityProviderOutput, error) { 5032 req, out := c.UpdateCapacityProviderRequest(input) 5033 req.SetContext(ctx) 5034 req.ApplyOptions(opts...) 5035 return out, req.Send() 5036 } 5037 5038 const opUpdateCluster = "UpdateCluster" 5039 5040 // UpdateClusterRequest generates a "aws/request.Request" representing the 5041 // client's request for the UpdateCluster operation. The "output" return 5042 // value will be populated with the request's response once the request completes 5043 // successfully. 5044 // 5045 // Use "Send" method on the returned Request to send the API call to the service. 5046 // the "output" return value is not valid until after Send returns without error. 5047 // 5048 // See UpdateCluster for more information on using the UpdateCluster 5049 // API call, and error handling. 5050 // 5051 // This method is useful when you want to inject custom logic or configuration 5052 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5053 // 5054 // 5055 // // Example sending a request using the UpdateClusterRequest method. 5056 // req, resp := client.UpdateClusterRequest(params) 5057 // 5058 // err := req.Send() 5059 // if err == nil { // resp is now filled 5060 // fmt.Println(resp) 5061 // } 5062 // 5063 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCluster 5064 func (c *ECS) UpdateClusterRequest(input *UpdateClusterInput) (req *request.Request, output *UpdateClusterOutput) { 5065 op := &request.Operation{ 5066 Name: opUpdateCluster, 5067 HTTPMethod: "POST", 5068 HTTPPath: "/", 5069 } 5070 5071 if input == nil { 5072 input = &UpdateClusterInput{} 5073 } 5074 5075 output = &UpdateClusterOutput{} 5076 req = c.newRequest(op, input, output) 5077 return 5078 } 5079 5080 // UpdateCluster API operation for Amazon EC2 Container Service. 5081 // 5082 // Updates the cluster. 5083 // 5084 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5085 // with awserr.Error's Code and Message methods to get detailed information about 5086 // the error. 5087 // 5088 // See the AWS API reference guide for Amazon EC2 Container Service's 5089 // API operation UpdateCluster for usage and error information. 5090 // 5091 // Returned Error Types: 5092 // * ServerException 5093 // These errors are usually caused by a server issue. 5094 // 5095 // * ClientException 5096 // These errors are usually caused by a client action, such as using an action 5097 // or resource on behalf of a user that doesn't have permissions to use the 5098 // action or resource, or specifying an identifier that is not valid. 5099 // 5100 // * ClusterNotFoundException 5101 // The specified cluster could not be found. You can view your available clusters 5102 // with ListClusters. Amazon ECS clusters are Region-specific. 5103 // 5104 // * InvalidParameterException 5105 // The specified parameter is invalid. Review the available parameters for the 5106 // API request. 5107 // 5108 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCluster 5109 func (c *ECS) UpdateCluster(input *UpdateClusterInput) (*UpdateClusterOutput, error) { 5110 req, out := c.UpdateClusterRequest(input) 5111 return out, req.Send() 5112 } 5113 5114 // UpdateClusterWithContext is the same as UpdateCluster with the addition of 5115 // the ability to pass a context and additional request options. 5116 // 5117 // See UpdateCluster for details on how to use this API operation. 5118 // 5119 // The context must be non-nil and will be used for request cancellation. If 5120 // the context is nil a panic will occur. In the future the SDK may create 5121 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5122 // for more information on using Contexts. 5123 func (c *ECS) UpdateClusterWithContext(ctx aws.Context, input *UpdateClusterInput, opts ...request.Option) (*UpdateClusterOutput, error) { 5124 req, out := c.UpdateClusterRequest(input) 5125 req.SetContext(ctx) 5126 req.ApplyOptions(opts...) 5127 return out, req.Send() 5128 } 5129 5130 const opUpdateClusterSettings = "UpdateClusterSettings" 5131 5132 // UpdateClusterSettingsRequest generates a "aws/request.Request" representing the 5133 // client's request for the UpdateClusterSettings operation. The "output" return 5134 // value will be populated with the request's response once the request completes 5135 // successfully. 5136 // 5137 // Use "Send" method on the returned Request to send the API call to the service. 5138 // the "output" return value is not valid until after Send returns without error. 5139 // 5140 // See UpdateClusterSettings for more information on using the UpdateClusterSettings 5141 // API call, and error handling. 5142 // 5143 // This method is useful when you want to inject custom logic or configuration 5144 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5145 // 5146 // 5147 // // Example sending a request using the UpdateClusterSettingsRequest method. 5148 // req, resp := client.UpdateClusterSettingsRequest(params) 5149 // 5150 // err := req.Send() 5151 // if err == nil { // resp is now filled 5152 // fmt.Println(resp) 5153 // } 5154 // 5155 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 5156 func (c *ECS) UpdateClusterSettingsRequest(input *UpdateClusterSettingsInput) (req *request.Request, output *UpdateClusterSettingsOutput) { 5157 op := &request.Operation{ 5158 Name: opUpdateClusterSettings, 5159 HTTPMethod: "POST", 5160 HTTPPath: "/", 5161 } 5162 5163 if input == nil { 5164 input = &UpdateClusterSettingsInput{} 5165 } 5166 5167 output = &UpdateClusterSettingsOutput{} 5168 req = c.newRequest(op, input, output) 5169 return 5170 } 5171 5172 // UpdateClusterSettings API operation for Amazon EC2 Container Service. 5173 // 5174 // Modifies the settings to use for a cluster. 5175 // 5176 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5177 // with awserr.Error's Code and Message methods to get detailed information about 5178 // the error. 5179 // 5180 // See the AWS API reference guide for Amazon EC2 Container Service's 5181 // API operation UpdateClusterSettings for usage and error information. 5182 // 5183 // Returned Error Types: 5184 // * ServerException 5185 // These errors are usually caused by a server issue. 5186 // 5187 // * ClientException 5188 // These errors are usually caused by a client action, such as using an action 5189 // or resource on behalf of a user that doesn't have permissions to use the 5190 // action or resource, or specifying an identifier that is not valid. 5191 // 5192 // * ClusterNotFoundException 5193 // The specified cluster could not be found. You can view your available clusters 5194 // with ListClusters. Amazon ECS clusters are Region-specific. 5195 // 5196 // * InvalidParameterException 5197 // The specified parameter is invalid. Review the available parameters for the 5198 // API request. 5199 // 5200 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 5201 func (c *ECS) UpdateClusterSettings(input *UpdateClusterSettingsInput) (*UpdateClusterSettingsOutput, error) { 5202 req, out := c.UpdateClusterSettingsRequest(input) 5203 return out, req.Send() 5204 } 5205 5206 // UpdateClusterSettingsWithContext is the same as UpdateClusterSettings with the addition of 5207 // the ability to pass a context and additional request options. 5208 // 5209 // See UpdateClusterSettings for details on how to use this API operation. 5210 // 5211 // The context must be non-nil and will be used for request cancellation. If 5212 // the context is nil a panic will occur. In the future the SDK may create 5213 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5214 // for more information on using Contexts. 5215 func (c *ECS) UpdateClusterSettingsWithContext(ctx aws.Context, input *UpdateClusterSettingsInput, opts ...request.Option) (*UpdateClusterSettingsOutput, error) { 5216 req, out := c.UpdateClusterSettingsRequest(input) 5217 req.SetContext(ctx) 5218 req.ApplyOptions(opts...) 5219 return out, req.Send() 5220 } 5221 5222 const opUpdateContainerAgent = "UpdateContainerAgent" 5223 5224 // UpdateContainerAgentRequest generates a "aws/request.Request" representing the 5225 // client's request for the UpdateContainerAgent operation. The "output" return 5226 // value will be populated with the request's response once the request completes 5227 // successfully. 5228 // 5229 // Use "Send" method on the returned Request to send the API call to the service. 5230 // the "output" return value is not valid until after Send returns without error. 5231 // 5232 // See UpdateContainerAgent for more information on using the UpdateContainerAgent 5233 // API call, and error handling. 5234 // 5235 // This method is useful when you want to inject custom logic or configuration 5236 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5237 // 5238 // 5239 // // Example sending a request using the UpdateContainerAgentRequest method. 5240 // req, resp := client.UpdateContainerAgentRequest(params) 5241 // 5242 // err := req.Send() 5243 // if err == nil { // resp is now filled 5244 // fmt.Println(resp) 5245 // } 5246 // 5247 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 5248 func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { 5249 op := &request.Operation{ 5250 Name: opUpdateContainerAgent, 5251 HTTPMethod: "POST", 5252 HTTPPath: "/", 5253 } 5254 5255 if input == nil { 5256 input = &UpdateContainerAgentInput{} 5257 } 5258 5259 output = &UpdateContainerAgentOutput{} 5260 req = c.newRequest(op, input, output) 5261 return 5262 } 5263 5264 // UpdateContainerAgent API operation for Amazon EC2 Container Service. 5265 // 5266 // Updates the Amazon ECS container agent on a specified container instance. 5267 // Updating the Amazon ECS container agent does not interrupt running tasks 5268 // or services on the container instance. The process for updating the agent 5269 // differs depending on whether your container instance was launched with the 5270 // Amazon ECS-optimized AMI or another operating system. 5271 // 5272 // The UpdateContainerAgent API isn't supported for container instances using 5273 // the Amazon ECS-optimized Amazon Linux 2 (arm64) AMI. To update the container 5274 // agent, you can update the ecs-init package which will update the agent. For 5275 // more information, see Updating the Amazon ECS container agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/agent-update-ecs-ami.html) 5276 // in the Amazon Elastic Container Service Developer Guide. 5277 // 5278 // The UpdateContainerAgent API requires an Amazon ECS-optimized AMI or Amazon 5279 // Linux AMI with the ecs-init service installed and running. For help updating 5280 // the Amazon ECS container agent on other operating systems, see Manually updating 5281 // the Amazon ECS container agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) 5282 // in the Amazon Elastic Container Service Developer Guide. 5283 // 5284 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5285 // with awserr.Error's Code and Message methods to get detailed information about 5286 // the error. 5287 // 5288 // See the AWS API reference guide for Amazon EC2 Container Service's 5289 // API operation UpdateContainerAgent for usage and error information. 5290 // 5291 // Returned Error Types: 5292 // * ServerException 5293 // These errors are usually caused by a server issue. 5294 // 5295 // * ClientException 5296 // These errors are usually caused by a client action, such as using an action 5297 // or resource on behalf of a user that doesn't have permissions to use the 5298 // action or resource, or specifying an identifier that is not valid. 5299 // 5300 // * InvalidParameterException 5301 // The specified parameter is invalid. Review the available parameters for the 5302 // API request. 5303 // 5304 // * ClusterNotFoundException 5305 // The specified cluster could not be found. You can view your available clusters 5306 // with ListClusters. Amazon ECS clusters are Region-specific. 5307 // 5308 // * UpdateInProgressException 5309 // There is already a current Amazon ECS container agent update in progress 5310 // on the specified container instance. If the container agent becomes disconnected 5311 // while it is in a transitional stage, such as PENDING or STAGING, the update 5312 // process can get stuck in that state. However, when the agent reconnects, 5313 // it resumes where it stopped previously. 5314 // 5315 // * NoUpdateAvailableException 5316 // There is no update available for this Amazon ECS container agent. This could 5317 // be because the agent is already running the latest version, or it is so old 5318 // that there is no update path to the current version. 5319 // 5320 // * MissingVersionException 5321 // Amazon ECS is unable to determine the current version of the Amazon ECS container 5322 // agent on the container instance and does not have enough information to proceed 5323 // with an update. This could be because the agent running on the container 5324 // instance is an older or custom version that does not use our version information. 5325 // 5326 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 5327 func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { 5328 req, out := c.UpdateContainerAgentRequest(input) 5329 return out, req.Send() 5330 } 5331 5332 // UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of 5333 // the ability to pass a context and additional request options. 5334 // 5335 // See UpdateContainerAgent for details on how to use this API operation. 5336 // 5337 // The context must be non-nil and will be used for request cancellation. If 5338 // the context is nil a panic will occur. In the future the SDK may create 5339 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5340 // for more information on using Contexts. 5341 func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) { 5342 req, out := c.UpdateContainerAgentRequest(input) 5343 req.SetContext(ctx) 5344 req.ApplyOptions(opts...) 5345 return out, req.Send() 5346 } 5347 5348 const opUpdateContainerInstancesState = "UpdateContainerInstancesState" 5349 5350 // UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the 5351 // client's request for the UpdateContainerInstancesState operation. The "output" return 5352 // value will be populated with the request's response once the request completes 5353 // successfully. 5354 // 5355 // Use "Send" method on the returned Request to send the API call to the service. 5356 // the "output" return value is not valid until after Send returns without error. 5357 // 5358 // See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState 5359 // API call, and error handling. 5360 // 5361 // This method is useful when you want to inject custom logic or configuration 5362 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5363 // 5364 // 5365 // // Example sending a request using the UpdateContainerInstancesStateRequest method. 5366 // req, resp := client.UpdateContainerInstancesStateRequest(params) 5367 // 5368 // err := req.Send() 5369 // if err == nil { // resp is now filled 5370 // fmt.Println(resp) 5371 // } 5372 // 5373 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5374 func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) { 5375 op := &request.Operation{ 5376 Name: opUpdateContainerInstancesState, 5377 HTTPMethod: "POST", 5378 HTTPPath: "/", 5379 } 5380 5381 if input == nil { 5382 input = &UpdateContainerInstancesStateInput{} 5383 } 5384 5385 output = &UpdateContainerInstancesStateOutput{} 5386 req = c.newRequest(op, input, output) 5387 return 5388 } 5389 5390 // UpdateContainerInstancesState API operation for Amazon EC2 Container Service. 5391 // 5392 // Modifies the status of an Amazon ECS container instance. 5393 // 5394 // Once a container instance has reached an ACTIVE state, you can change the 5395 // status of a container instance to DRAINING to manually remove an instance 5396 // from a cluster, for example to perform system updates, update the Docker 5397 // daemon, or scale down the cluster size. 5398 // 5399 // A container instance cannot be changed to DRAINING until it has reached an 5400 // ACTIVE status. If the instance is in any other status, an error will be received. 5401 // 5402 // When you set a container instance to DRAINING, Amazon ECS prevents new tasks 5403 // from being scheduled for placement on the container instance and replacement 5404 // service tasks are started on other container instances in the cluster if 5405 // the resources are available. Service tasks on the container instance that 5406 // are in the PENDING state are stopped immediately. 5407 // 5408 // Service tasks on the container instance that are in the RUNNING state are 5409 // stopped and replaced according to the service's deployment configuration 5410 // parameters, minimumHealthyPercent and maximumPercent. You can change the 5411 // deployment configuration of your service using UpdateService. 5412 // 5413 // * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5414 // temporarily during task replacement. For example, desiredCount is four 5415 // tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5416 // before starting two new tasks. If the minimum is 100%, the service scheduler 5417 // can't remove existing tasks until the replacement tasks are considered 5418 // healthy. Tasks for services that do not use a load balancer are considered 5419 // healthy if they are in the RUNNING state. Tasks for services that use 5420 // a load balancer are considered healthy if they are in the RUNNING state 5421 // and the container instance they are hosted on is reported as healthy by 5422 // the load balancer. 5423 // 5424 // * The maximumPercent parameter represents an upper limit on the number 5425 // of running tasks during task replacement, which enables you to define 5426 // the replacement batch size. For example, if desiredCount is four tasks, 5427 // a maximum of 200% starts four new tasks before stopping the four tasks 5428 // to be drained, provided that the cluster resources required to do this 5429 // are available. If the maximum is 100%, then replacement tasks can't start 5430 // until the draining tasks have stopped. 5431 // 5432 // Any PENDING or RUNNING tasks that do not belong to a service are not affected. 5433 // You must wait for them to finish or stop them manually. 5434 // 5435 // A container instance has completed draining when it has no more RUNNING tasks. 5436 // You can verify this using ListTasks. 5437 // 5438 // When a container instance has been drained, you can set a container instance 5439 // to ACTIVE status and once it has reached that status the Amazon ECS scheduler 5440 // can begin scheduling tasks on the instance again. 5441 // 5442 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5443 // with awserr.Error's Code and Message methods to get detailed information about 5444 // the error. 5445 // 5446 // See the AWS API reference guide for Amazon EC2 Container Service's 5447 // API operation UpdateContainerInstancesState for usage and error information. 5448 // 5449 // Returned Error Types: 5450 // * ServerException 5451 // These errors are usually caused by a server issue. 5452 // 5453 // * ClientException 5454 // These errors are usually caused by a client action, such as using an action 5455 // or resource on behalf of a user that doesn't have permissions to use the 5456 // action or resource, or specifying an identifier that is not valid. 5457 // 5458 // * InvalidParameterException 5459 // The specified parameter is invalid. Review the available parameters for the 5460 // API request. 5461 // 5462 // * ClusterNotFoundException 5463 // The specified cluster could not be found. You can view your available clusters 5464 // with ListClusters. Amazon ECS clusters are Region-specific. 5465 // 5466 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5467 func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) { 5468 req, out := c.UpdateContainerInstancesStateRequest(input) 5469 return out, req.Send() 5470 } 5471 5472 // UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of 5473 // the ability to pass a context and additional request options. 5474 // 5475 // See UpdateContainerInstancesState for details on how to use this API operation. 5476 // 5477 // The context must be non-nil and will be used for request cancellation. If 5478 // the context is nil a panic will occur. In the future the SDK may create 5479 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5480 // for more information on using Contexts. 5481 func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) { 5482 req, out := c.UpdateContainerInstancesStateRequest(input) 5483 req.SetContext(ctx) 5484 req.ApplyOptions(opts...) 5485 return out, req.Send() 5486 } 5487 5488 const opUpdateService = "UpdateService" 5489 5490 // UpdateServiceRequest generates a "aws/request.Request" representing the 5491 // client's request for the UpdateService operation. The "output" return 5492 // value will be populated with the request's response once the request completes 5493 // successfully. 5494 // 5495 // Use "Send" method on the returned Request to send the API call to the service. 5496 // the "output" return value is not valid until after Send returns without error. 5497 // 5498 // See UpdateService for more information on using the UpdateService 5499 // API call, and error handling. 5500 // 5501 // This method is useful when you want to inject custom logic or configuration 5502 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5503 // 5504 // 5505 // // Example sending a request using the UpdateServiceRequest method. 5506 // req, resp := client.UpdateServiceRequest(params) 5507 // 5508 // err := req.Send() 5509 // if err == nil { // resp is now filled 5510 // fmt.Println(resp) 5511 // } 5512 // 5513 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5514 func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 5515 op := &request.Operation{ 5516 Name: opUpdateService, 5517 HTTPMethod: "POST", 5518 HTTPPath: "/", 5519 } 5520 5521 if input == nil { 5522 input = &UpdateServiceInput{} 5523 } 5524 5525 output = &UpdateServiceOutput{} 5526 req = c.newRequest(op, input, output) 5527 return 5528 } 5529 5530 // UpdateService API operation for Amazon EC2 Container Service. 5531 // 5532 // 5533 // Updating the task placement strategies and constraints on an Amazon ECS service 5534 // remains in preview and is a Beta Service as defined by and subject to the 5535 // Beta Service Participation Service Terms located at https://aws.amazon.com/service-terms 5536 // (https://aws.amazon.com/service-terms) ("Beta Terms"). These Beta Terms apply 5537 // to your participation in this preview. 5538 // 5539 // Modifies the parameters of a service. 5540 // 5541 // For services using the rolling update (ECS) deployment controller, the desired 5542 // count, deployment configuration, network configuration, task placement constraints 5543 // and strategies, or task definition used can be updated. 5544 // 5545 // For services using the blue/green (CODE_DEPLOY) deployment controller, only 5546 // the desired count, deployment configuration, task placement constraints and 5547 // strategies, and health check grace period can be updated using this API. 5548 // If the network configuration, platform version, or task definition need to 5549 // be updated, a new CodeDeploy deployment should be created. For more information, 5550 // see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html) 5551 // in the CodeDeploy API Reference. 5552 // 5553 // For services using an external deployment controller, you can update only 5554 // the desired count, task placement constraints and strategies, and health 5555 // check grace period using this API. If the launch type, load balancer, network 5556 // configuration, platform version, or task definition need to be updated, you 5557 // should create a new task set. For more information, see CreateTaskSet. 5558 // 5559 // You can add to or subtract from the number of instantiations of a task definition 5560 // in a service by specifying the cluster that the service is running in and 5561 // a new desiredCount parameter. 5562 // 5563 // If you have updated the Docker image of your application, you can create 5564 // a new task definition with that image and deploy it to your service. The 5565 // service scheduler uses the minimum healthy percent and maximum percent parameters 5566 // (in the service's deployment configuration) to determine the deployment strategy. 5567 // 5568 // If your updated Docker image uses the same tag as what is in the existing 5569 // task definition for your service (for example, my_image:latest), you do not 5570 // need to create a new revision of your task definition. You can update the 5571 // service using the forceNewDeployment option. The new tasks launched by the 5572 // deployment pull the current image/tag combination from your repository when 5573 // they start. 5574 // 5575 // You can also update the deployment configuration of a service. When a deployment 5576 // is triggered by updating the task definition of a service, the service scheduler 5577 // uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, 5578 // to determine the deployment strategy. 5579 // 5580 // * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5581 // temporarily during a deployment. For example, if desiredCount is four 5582 // tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5583 // before starting two new tasks. Tasks for services that do not use a load 5584 // balancer are considered healthy if they are in the RUNNING state. Tasks 5585 // for services that use a load balancer are considered healthy if they are 5586 // in the RUNNING state and the container instance they are hosted on is 5587 // reported as healthy by the load balancer. 5588 // 5589 // * The maximumPercent parameter represents an upper limit on the number 5590 // of running tasks during a deployment, which enables you to define the 5591 // deployment batch size. For example, if desiredCount is four tasks, a maximum 5592 // of 200% starts four new tasks before stopping the four older tasks (provided 5593 // that the cluster resources required to do this are available). 5594 // 5595 // When UpdateService stops a task during a deployment, the equivalent of docker 5596 // stop is issued to the containers running in the task. This results in a SIGTERM 5597 // and a 30-second timeout, after which SIGKILL is sent and the containers are 5598 // forcibly stopped. If the container handles the SIGTERM gracefully and exits 5599 // within 30 seconds from receiving it, no SIGKILL is sent. 5600 // 5601 // When the service scheduler launches new tasks, it determines task placement 5602 // in your cluster with the following logic: 5603 // 5604 // * Determine which of the container instances in your cluster can support 5605 // your service's task definition (for example, they have the required CPU, 5606 // memory, ports, and container instance attributes). 5607 // 5608 // * By default, the service scheduler attempts to balance tasks across Availability 5609 // Zones in this manner (although you can choose a different placement strategy): 5610 // Sort the valid container instances by the fewest number of running tasks 5611 // for this service in the same Availability Zone as the instance. For example, 5612 // if zone A has one running service task and zones B and C each have zero, 5613 // valid container instances in either zone B or C are considered optimal 5614 // for placement. Place the new service task on a valid container instance 5615 // in an optimal Availability Zone (based on the previous steps), favoring 5616 // container instances with the fewest number of running tasks for this service. 5617 // 5618 // When the service scheduler stops running tasks, it attempts to maintain balance 5619 // across the Availability Zones in your cluster using the following logic: 5620 // 5621 // * Sort the container instances by the largest number of running tasks 5622 // for this service in the same Availability Zone as the instance. For example, 5623 // if zone A has one running service task and zones B and C each have two, 5624 // container instances in either zone B or C are considered optimal for termination. 5625 // 5626 // * Stop the task on a container instance in an optimal Availability Zone 5627 // (based on the previous steps), favoring container instances with the largest 5628 // number of running tasks for this service. 5629 // 5630 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5631 // with awserr.Error's Code and Message methods to get detailed information about 5632 // the error. 5633 // 5634 // See the AWS API reference guide for Amazon EC2 Container Service's 5635 // API operation UpdateService for usage and error information. 5636 // 5637 // Returned Error Types: 5638 // * ServerException 5639 // These errors are usually caused by a server issue. 5640 // 5641 // * ClientException 5642 // These errors are usually caused by a client action, such as using an action 5643 // or resource on behalf of a user that doesn't have permissions to use the 5644 // action or resource, or specifying an identifier that is not valid. 5645 // 5646 // * InvalidParameterException 5647 // The specified parameter is invalid. Review the available parameters for the 5648 // API request. 5649 // 5650 // * ClusterNotFoundException 5651 // The specified cluster could not be found. You can view your available clusters 5652 // with ListClusters. Amazon ECS clusters are Region-specific. 5653 // 5654 // * ServiceNotFoundException 5655 // The specified service could not be found. You can view your available services 5656 // with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5657 // 5658 // * ServiceNotActiveException 5659 // The specified service is not active. You can't update a service that is inactive. 5660 // If you have previously deleted a service, you can re-create it with CreateService. 5661 // 5662 // * PlatformUnknownException 5663 // The specified platform version does not exist. 5664 // 5665 // * PlatformTaskDefinitionIncompatibilityException 5666 // The specified platform version does not satisfy the task definition's required 5667 // capabilities. 5668 // 5669 // * AccessDeniedException 5670 // You do not have authorization to perform the requested action. 5671 // 5672 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5673 func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 5674 req, out := c.UpdateServiceRequest(input) 5675 return out, req.Send() 5676 } 5677 5678 // UpdateServiceWithContext is the same as UpdateService with the addition of 5679 // the ability to pass a context and additional request options. 5680 // 5681 // See UpdateService for details on how to use this API operation. 5682 // 5683 // The context must be non-nil and will be used for request cancellation. If 5684 // the context is nil a panic will occur. In the future the SDK may create 5685 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5686 // for more information on using Contexts. 5687 func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 5688 req, out := c.UpdateServiceRequest(input) 5689 req.SetContext(ctx) 5690 req.ApplyOptions(opts...) 5691 return out, req.Send() 5692 } 5693 5694 const opUpdateServicePrimaryTaskSet = "UpdateServicePrimaryTaskSet" 5695 5696 // UpdateServicePrimaryTaskSetRequest generates a "aws/request.Request" representing the 5697 // client's request for the UpdateServicePrimaryTaskSet operation. The "output" return 5698 // value will be populated with the request's response once the request completes 5699 // successfully. 5700 // 5701 // Use "Send" method on the returned Request to send the API call to the service. 5702 // the "output" return value is not valid until after Send returns without error. 5703 // 5704 // See UpdateServicePrimaryTaskSet for more information on using the UpdateServicePrimaryTaskSet 5705 // API call, and error handling. 5706 // 5707 // This method is useful when you want to inject custom logic or configuration 5708 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5709 // 5710 // 5711 // // Example sending a request using the UpdateServicePrimaryTaskSetRequest method. 5712 // req, resp := client.UpdateServicePrimaryTaskSetRequest(params) 5713 // 5714 // err := req.Send() 5715 // if err == nil { // resp is now filled 5716 // fmt.Println(resp) 5717 // } 5718 // 5719 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5720 func (c *ECS) UpdateServicePrimaryTaskSetRequest(input *UpdateServicePrimaryTaskSetInput) (req *request.Request, output *UpdateServicePrimaryTaskSetOutput) { 5721 op := &request.Operation{ 5722 Name: opUpdateServicePrimaryTaskSet, 5723 HTTPMethod: "POST", 5724 HTTPPath: "/", 5725 } 5726 5727 if input == nil { 5728 input = &UpdateServicePrimaryTaskSetInput{} 5729 } 5730 5731 output = &UpdateServicePrimaryTaskSetOutput{} 5732 req = c.newRequest(op, input, output) 5733 return 5734 } 5735 5736 // UpdateServicePrimaryTaskSet API operation for Amazon EC2 Container Service. 5737 // 5738 // Modifies which task set in a service is the primary task set. Any parameters 5739 // that are updated on the primary task set in a service will transition to 5740 // the service. This is used when a service uses the EXTERNAL deployment controller 5741 // type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5742 // in the Amazon Elastic Container Service Developer Guide. 5743 // 5744 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5745 // with awserr.Error's Code and Message methods to get detailed information about 5746 // the error. 5747 // 5748 // See the AWS API reference guide for Amazon EC2 Container Service's 5749 // API operation UpdateServicePrimaryTaskSet for usage and error information. 5750 // 5751 // Returned Error Types: 5752 // * ServerException 5753 // These errors are usually caused by a server issue. 5754 // 5755 // * ClientException 5756 // These errors are usually caused by a client action, such as using an action 5757 // or resource on behalf of a user that doesn't have permissions to use the 5758 // action or resource, or specifying an identifier that is not valid. 5759 // 5760 // * InvalidParameterException 5761 // The specified parameter is invalid. Review the available parameters for the 5762 // API request. 5763 // 5764 // * ClusterNotFoundException 5765 // The specified cluster could not be found. You can view your available clusters 5766 // with ListClusters. Amazon ECS clusters are Region-specific. 5767 // 5768 // * UnsupportedFeatureException 5769 // The specified task is not supported in this Region. 5770 // 5771 // * ServiceNotFoundException 5772 // The specified service could not be found. You can view your available services 5773 // with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5774 // 5775 // * ServiceNotActiveException 5776 // The specified service is not active. You can't update a service that is inactive. 5777 // If you have previously deleted a service, you can re-create it with CreateService. 5778 // 5779 // * TaskSetNotFoundException 5780 // The specified task set could not be found. You can view your available task 5781 // sets with DescribeTaskSets. Task sets are specific to each cluster, service 5782 // and Region. 5783 // 5784 // * AccessDeniedException 5785 // You do not have authorization to perform the requested action. 5786 // 5787 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5788 func (c *ECS) UpdateServicePrimaryTaskSet(input *UpdateServicePrimaryTaskSetInput) (*UpdateServicePrimaryTaskSetOutput, error) { 5789 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5790 return out, req.Send() 5791 } 5792 5793 // UpdateServicePrimaryTaskSetWithContext is the same as UpdateServicePrimaryTaskSet with the addition of 5794 // the ability to pass a context and additional request options. 5795 // 5796 // See UpdateServicePrimaryTaskSet for details on how to use this API operation. 5797 // 5798 // The context must be non-nil and will be used for request cancellation. If 5799 // the context is nil a panic will occur. In the future the SDK may create 5800 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5801 // for more information on using Contexts. 5802 func (c *ECS) UpdateServicePrimaryTaskSetWithContext(ctx aws.Context, input *UpdateServicePrimaryTaskSetInput, opts ...request.Option) (*UpdateServicePrimaryTaskSetOutput, error) { 5803 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5804 req.SetContext(ctx) 5805 req.ApplyOptions(opts...) 5806 return out, req.Send() 5807 } 5808 5809 const opUpdateTaskSet = "UpdateTaskSet" 5810 5811 // UpdateTaskSetRequest generates a "aws/request.Request" representing the 5812 // client's request for the UpdateTaskSet operation. The "output" return 5813 // value will be populated with the request's response once the request completes 5814 // successfully. 5815 // 5816 // Use "Send" method on the returned Request to send the API call to the service. 5817 // the "output" return value is not valid until after Send returns without error. 5818 // 5819 // See UpdateTaskSet for more information on using the UpdateTaskSet 5820 // API call, and error handling. 5821 // 5822 // This method is useful when you want to inject custom logic or configuration 5823 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5824 // 5825 // 5826 // // Example sending a request using the UpdateTaskSetRequest method. 5827 // req, resp := client.UpdateTaskSetRequest(params) 5828 // 5829 // err := req.Send() 5830 // if err == nil { // resp is now filled 5831 // fmt.Println(resp) 5832 // } 5833 // 5834 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5835 func (c *ECS) UpdateTaskSetRequest(input *UpdateTaskSetInput) (req *request.Request, output *UpdateTaskSetOutput) { 5836 op := &request.Operation{ 5837 Name: opUpdateTaskSet, 5838 HTTPMethod: "POST", 5839 HTTPPath: "/", 5840 } 5841 5842 if input == nil { 5843 input = &UpdateTaskSetInput{} 5844 } 5845 5846 output = &UpdateTaskSetOutput{} 5847 req = c.newRequest(op, input, output) 5848 return 5849 } 5850 5851 // UpdateTaskSet API operation for Amazon EC2 Container Service. 5852 // 5853 // Modifies a task set. This is used when a service uses the EXTERNAL deployment 5854 // controller type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5855 // in the Amazon Elastic Container Service Developer Guide. 5856 // 5857 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5858 // with awserr.Error's Code and Message methods to get detailed information about 5859 // the error. 5860 // 5861 // See the AWS API reference guide for Amazon EC2 Container Service's 5862 // API operation UpdateTaskSet for usage and error information. 5863 // 5864 // Returned Error Types: 5865 // * ServerException 5866 // These errors are usually caused by a server issue. 5867 // 5868 // * ClientException 5869 // These errors are usually caused by a client action, such as using an action 5870 // or resource on behalf of a user that doesn't have permissions to use the 5871 // action or resource, or specifying an identifier that is not valid. 5872 // 5873 // * InvalidParameterException 5874 // The specified parameter is invalid. Review the available parameters for the 5875 // API request. 5876 // 5877 // * ClusterNotFoundException 5878 // The specified cluster could not be found. You can view your available clusters 5879 // with ListClusters. Amazon ECS clusters are Region-specific. 5880 // 5881 // * UnsupportedFeatureException 5882 // The specified task is not supported in this Region. 5883 // 5884 // * AccessDeniedException 5885 // You do not have authorization to perform the requested action. 5886 // 5887 // * ServiceNotFoundException 5888 // The specified service could not be found. You can view your available services 5889 // with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5890 // 5891 // * ServiceNotActiveException 5892 // The specified service is not active. You can't update a service that is inactive. 5893 // If you have previously deleted a service, you can re-create it with CreateService. 5894 // 5895 // * TaskSetNotFoundException 5896 // The specified task set could not be found. You can view your available task 5897 // sets with DescribeTaskSets. Task sets are specific to each cluster, service 5898 // and Region. 5899 // 5900 // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5901 func (c *ECS) UpdateTaskSet(input *UpdateTaskSetInput) (*UpdateTaskSetOutput, error) { 5902 req, out := c.UpdateTaskSetRequest(input) 5903 return out, req.Send() 5904 } 5905 5906 // UpdateTaskSetWithContext is the same as UpdateTaskSet with the addition of 5907 // the ability to pass a context and additional request options. 5908 // 5909 // See UpdateTaskSet for details on how to use this API operation. 5910 // 5911 // The context must be non-nil and will be used for request cancellation. If 5912 // the context is nil a panic will occur. In the future the SDK may create 5913 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5914 // for more information on using Contexts. 5915 func (c *ECS) UpdateTaskSetWithContext(ctx aws.Context, input *UpdateTaskSetInput, opts ...request.Option) (*UpdateTaskSetOutput, error) { 5916 req, out := c.UpdateTaskSetRequest(input) 5917 req.SetContext(ctx) 5918 req.ApplyOptions(opts...) 5919 return out, req.Send() 5920 } 5921 5922 // You do not have authorization to perform the requested action. 5923 type AccessDeniedException struct { 5924 _ struct{} `type:"structure"` 5925 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5926 5927 Message_ *string `locationName:"message" type:"string"` 5928 } 5929 5930 // String returns the string representation. 5931 // 5932 // API parameter values that are decorated as "sensitive" in the API will not 5933 // be included in the string output. The member name will be present, but the 5934 // value will be replaced with "sensitive". 5935 func (s AccessDeniedException) String() string { 5936 return awsutil.Prettify(s) 5937 } 5938 5939 // GoString returns the string representation. 5940 // 5941 // API parameter values that are decorated as "sensitive" in the API will not 5942 // be included in the string output. The member name will be present, but the 5943 // value will be replaced with "sensitive". 5944 func (s AccessDeniedException) GoString() string { 5945 return s.String() 5946 } 5947 5948 func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 5949 return &AccessDeniedException{ 5950 RespMetadata: v, 5951 } 5952 } 5953 5954 // Code returns the exception type name. 5955 func (s *AccessDeniedException) Code() string { 5956 return "AccessDeniedException" 5957 } 5958 5959 // Message returns the exception's message. 5960 func (s *AccessDeniedException) Message() string { 5961 if s.Message_ != nil { 5962 return *s.Message_ 5963 } 5964 return "" 5965 } 5966 5967 // OrigErr always returns nil, satisfies awserr.Error interface. 5968 func (s *AccessDeniedException) OrigErr() error { 5969 return nil 5970 } 5971 5972 func (s *AccessDeniedException) Error() string { 5973 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5974 } 5975 5976 // Status code returns the HTTP status code for the request's response error. 5977 func (s *AccessDeniedException) StatusCode() int { 5978 return s.RespMetadata.StatusCode 5979 } 5980 5981 // RequestID returns the service's response RequestID for request. 5982 func (s *AccessDeniedException) RequestID() string { 5983 return s.RespMetadata.RequestID 5984 } 5985 5986 // An object representing a container instance or task attachment. 5987 type Attachment struct { 5988 _ struct{} `type:"structure"` 5989 5990 // Details of the attachment. For elastic network interfaces, this includes 5991 // the network interface ID, the MAC address, the subnet ID, and the private 5992 // IPv4 address. 5993 Details []*KeyValuePair `locationName:"details" type:"list"` 5994 5995 // The unique identifier for the attachment. 5996 Id *string `locationName:"id" type:"string"` 5997 5998 // The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, 5999 // ATTACHED, DETACHING, DETACHED, and DELETED. 6000 Status *string `locationName:"status" type:"string"` 6001 6002 // The type of the attachment, such as ElasticNetworkInterface. 6003 Type *string `locationName:"type" type:"string"` 6004 } 6005 6006 // String returns the string representation. 6007 // 6008 // API parameter values that are decorated as "sensitive" in the API will not 6009 // be included in the string output. The member name will be present, but the 6010 // value will be replaced with "sensitive". 6011 func (s Attachment) String() string { 6012 return awsutil.Prettify(s) 6013 } 6014 6015 // GoString returns the string representation. 6016 // 6017 // API parameter values that are decorated as "sensitive" in the API will not 6018 // be included in the string output. The member name will be present, but the 6019 // value will be replaced with "sensitive". 6020 func (s Attachment) GoString() string { 6021 return s.String() 6022 } 6023 6024 // SetDetails sets the Details field's value. 6025 func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment { 6026 s.Details = v 6027 return s 6028 } 6029 6030 // SetId sets the Id field's value. 6031 func (s *Attachment) SetId(v string) *Attachment { 6032 s.Id = &v 6033 return s 6034 } 6035 6036 // SetStatus sets the Status field's value. 6037 func (s *Attachment) SetStatus(v string) *Attachment { 6038 s.Status = &v 6039 return s 6040 } 6041 6042 // SetType sets the Type field's value. 6043 func (s *Attachment) SetType(v string) *Attachment { 6044 s.Type = &v 6045 return s 6046 } 6047 6048 // An object representing a change in state for a task attachment. 6049 type AttachmentStateChange struct { 6050 _ struct{} `type:"structure"` 6051 6052 // The Amazon Resource Name (ARN) of the attachment. 6053 // 6054 // AttachmentArn is a required field 6055 AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"` 6056 6057 // The status of the attachment. 6058 // 6059 // Status is a required field 6060 Status *string `locationName:"status" type:"string" required:"true"` 6061 } 6062 6063 // String returns the string representation. 6064 // 6065 // API parameter values that are decorated as "sensitive" in the API will not 6066 // be included in the string output. The member name will be present, but the 6067 // value will be replaced with "sensitive". 6068 func (s AttachmentStateChange) String() string { 6069 return awsutil.Prettify(s) 6070 } 6071 6072 // GoString returns the string representation. 6073 // 6074 // API parameter values that are decorated as "sensitive" in the API will not 6075 // be included in the string output. The member name will be present, but the 6076 // value will be replaced with "sensitive". 6077 func (s AttachmentStateChange) GoString() string { 6078 return s.String() 6079 } 6080 6081 // Validate inspects the fields of the type to determine if they are valid. 6082 func (s *AttachmentStateChange) Validate() error { 6083 invalidParams := request.ErrInvalidParams{Context: "AttachmentStateChange"} 6084 if s.AttachmentArn == nil { 6085 invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) 6086 } 6087 if s.Status == nil { 6088 invalidParams.Add(request.NewErrParamRequired("Status")) 6089 } 6090 6091 if invalidParams.Len() > 0 { 6092 return invalidParams 6093 } 6094 return nil 6095 } 6096 6097 // SetAttachmentArn sets the AttachmentArn field's value. 6098 func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange { 6099 s.AttachmentArn = &v 6100 return s 6101 } 6102 6103 // SetStatus sets the Status field's value. 6104 func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange { 6105 s.Status = &v 6106 return s 6107 } 6108 6109 // An attribute is a name-value pair associated with an Amazon ECS object. Attributes 6110 // enable you to extend the Amazon ECS data model by adding custom metadata 6111 // to your resources. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 6112 // in the Amazon Elastic Container Service Developer Guide. 6113 type Attribute struct { 6114 _ struct{} `type:"structure"` 6115 6116 // The name of the attribute. The name must contain between 1 and 128 characters 6117 // and name may contain letters (uppercase and lowercase), numbers, hyphens, 6118 // underscores, forward slashes, back slashes, or periods. 6119 // 6120 // Name is a required field 6121 Name *string `locationName:"name" type:"string" required:"true"` 6122 6123 // The ID of the target. You can specify the short form ID for a resource or 6124 // the full Amazon Resource Name (ARN). 6125 TargetId *string `locationName:"targetId" type:"string"` 6126 6127 // The type of the target with which to attach the attribute. This parameter 6128 // is required if you use the short form ID for a resource instead of the full 6129 // ARN. 6130 TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` 6131 6132 // The value of the attribute. The value must contain between 1 and 128 characters 6133 // and may contain letters (uppercase and lowercase), numbers, hyphens, underscores, 6134 // periods, at signs (@), forward slashes, back slashes, colons, or spaces. 6135 // The value cannot contain any leading or trailing whitespace. 6136 Value *string `locationName:"value" type:"string"` 6137 } 6138 6139 // String returns the string representation. 6140 // 6141 // API parameter values that are decorated as "sensitive" in the API will not 6142 // be included in the string output. The member name will be present, but the 6143 // value will be replaced with "sensitive". 6144 func (s Attribute) String() string { 6145 return awsutil.Prettify(s) 6146 } 6147 6148 // GoString returns the string representation. 6149 // 6150 // API parameter values that are decorated as "sensitive" in the API will not 6151 // be included in the string output. The member name will be present, but the 6152 // value will be replaced with "sensitive". 6153 func (s Attribute) GoString() string { 6154 return s.String() 6155 } 6156 6157 // Validate inspects the fields of the type to determine if they are valid. 6158 func (s *Attribute) Validate() error { 6159 invalidParams := request.ErrInvalidParams{Context: "Attribute"} 6160 if s.Name == nil { 6161 invalidParams.Add(request.NewErrParamRequired("Name")) 6162 } 6163 6164 if invalidParams.Len() > 0 { 6165 return invalidParams 6166 } 6167 return nil 6168 } 6169 6170 // SetName sets the Name field's value. 6171 func (s *Attribute) SetName(v string) *Attribute { 6172 s.Name = &v 6173 return s 6174 } 6175 6176 // SetTargetId sets the TargetId field's value. 6177 func (s *Attribute) SetTargetId(v string) *Attribute { 6178 s.TargetId = &v 6179 return s 6180 } 6181 6182 // SetTargetType sets the TargetType field's value. 6183 func (s *Attribute) SetTargetType(v string) *Attribute { 6184 s.TargetType = &v 6185 return s 6186 } 6187 6188 // SetValue sets the Value field's value. 6189 func (s *Attribute) SetValue(v string) *Attribute { 6190 s.Value = &v 6191 return s 6192 } 6193 6194 // You can apply up to 10 custom attributes per resource. You can view the attributes 6195 // of a resource with ListAttributes. You can remove existing attributes on 6196 // a resource with DeleteAttributes. 6197 type AttributeLimitExceededException struct { 6198 _ struct{} `type:"structure"` 6199 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6200 6201 Message_ *string `locationName:"message" type:"string"` 6202 } 6203 6204 // String returns the string representation. 6205 // 6206 // API parameter values that are decorated as "sensitive" in the API will not 6207 // be included in the string output. The member name will be present, but the 6208 // value will be replaced with "sensitive". 6209 func (s AttributeLimitExceededException) String() string { 6210 return awsutil.Prettify(s) 6211 } 6212 6213 // GoString returns the string representation. 6214 // 6215 // API parameter values that are decorated as "sensitive" in the API will not 6216 // be included in the string output. The member name will be present, but the 6217 // value will be replaced with "sensitive". 6218 func (s AttributeLimitExceededException) GoString() string { 6219 return s.String() 6220 } 6221 6222 func newErrorAttributeLimitExceededException(v protocol.ResponseMetadata) error { 6223 return &AttributeLimitExceededException{ 6224 RespMetadata: v, 6225 } 6226 } 6227 6228 // Code returns the exception type name. 6229 func (s *AttributeLimitExceededException) Code() string { 6230 return "AttributeLimitExceededException" 6231 } 6232 6233 // Message returns the exception's message. 6234 func (s *AttributeLimitExceededException) Message() string { 6235 if s.Message_ != nil { 6236 return *s.Message_ 6237 } 6238 return "" 6239 } 6240 6241 // OrigErr always returns nil, satisfies awserr.Error interface. 6242 func (s *AttributeLimitExceededException) OrigErr() error { 6243 return nil 6244 } 6245 6246 func (s *AttributeLimitExceededException) Error() string { 6247 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6248 } 6249 6250 // Status code returns the HTTP status code for the request's response error. 6251 func (s *AttributeLimitExceededException) StatusCode() int { 6252 return s.RespMetadata.StatusCode 6253 } 6254 6255 // RequestID returns the service's response RequestID for request. 6256 func (s *AttributeLimitExceededException) RequestID() string { 6257 return s.RespMetadata.RequestID 6258 } 6259 6260 // The details of the Auto Scaling group for the capacity provider. 6261 type AutoScalingGroupProvider struct { 6262 _ struct{} `type:"structure"` 6263 6264 // The Amazon Resource Name (ARN) that identifies the Auto Scaling group. 6265 // 6266 // AutoScalingGroupArn is a required field 6267 AutoScalingGroupArn *string `locationName:"autoScalingGroupArn" type:"string" required:"true"` 6268 6269 // The managed scaling settings for the Auto Scaling group capacity provider. 6270 ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` 6271 6272 // The managed termination protection setting to use for the Auto Scaling group 6273 // capacity provider. This determines whether the Auto Scaling group has managed 6274 // termination protection. 6275 // 6276 // When using managed termination protection, managed scaling must also be used 6277 // otherwise managed termination protection will not work. 6278 // 6279 // When managed termination protection is enabled, Amazon ECS prevents the Amazon 6280 // EC2 instances in an Auto Scaling group that contain tasks from being terminated 6281 // during a scale-in action. The Auto Scaling group and each instance in the 6282 // Auto Scaling group must have instance protection from scale-in actions enabled 6283 // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 6284 // in the Auto Scaling User Guide. 6285 // 6286 // When managed termination protection is disabled, your Amazon EC2 instances 6287 // are not protected from termination when the Auto Scaling group scales in. 6288 ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` 6289 } 6290 6291 // String returns the string representation. 6292 // 6293 // API parameter values that are decorated as "sensitive" in the API will not 6294 // be included in the string output. The member name will be present, but the 6295 // value will be replaced with "sensitive". 6296 func (s AutoScalingGroupProvider) String() string { 6297 return awsutil.Prettify(s) 6298 } 6299 6300 // GoString returns the string representation. 6301 // 6302 // API parameter values that are decorated as "sensitive" in the API will not 6303 // be included in the string output. The member name will be present, but the 6304 // value will be replaced with "sensitive". 6305 func (s AutoScalingGroupProvider) GoString() string { 6306 return s.String() 6307 } 6308 6309 // Validate inspects the fields of the type to determine if they are valid. 6310 func (s *AutoScalingGroupProvider) Validate() error { 6311 invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProvider"} 6312 if s.AutoScalingGroupArn == nil { 6313 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupArn")) 6314 } 6315 if s.ManagedScaling != nil { 6316 if err := s.ManagedScaling.Validate(); err != nil { 6317 invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) 6318 } 6319 } 6320 6321 if invalidParams.Len() > 0 { 6322 return invalidParams 6323 } 6324 return nil 6325 } 6326 6327 // SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value. 6328 func (s *AutoScalingGroupProvider) SetAutoScalingGroupArn(v string) *AutoScalingGroupProvider { 6329 s.AutoScalingGroupArn = &v 6330 return s 6331 } 6332 6333 // SetManagedScaling sets the ManagedScaling field's value. 6334 func (s *AutoScalingGroupProvider) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProvider { 6335 s.ManagedScaling = v 6336 return s 6337 } 6338 6339 // SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. 6340 func (s *AutoScalingGroupProvider) SetManagedTerminationProtection(v string) *AutoScalingGroupProvider { 6341 s.ManagedTerminationProtection = &v 6342 return s 6343 } 6344 6345 // The details of the Auto Scaling group capacity provider to update. 6346 type AutoScalingGroupProviderUpdate struct { 6347 _ struct{} `type:"structure"` 6348 6349 // The managed scaling settings for the Auto Scaling group capacity provider. 6350 ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` 6351 6352 // The managed termination protection setting to use for the Auto Scaling group 6353 // capacity provider. This determines whether the Auto Scaling group has managed 6354 // termination protection. 6355 // 6356 // When using managed termination protection, managed scaling must also be used 6357 // otherwise managed termination protection will not work. 6358 // 6359 // When managed termination protection is enabled, Amazon ECS prevents the Amazon 6360 // EC2 instances in an Auto Scaling group that contain tasks from being terminated 6361 // during a scale-in action. The Auto Scaling group and each instance in the 6362 // Auto Scaling group must have instance protection from scale-in actions enabled 6363 // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 6364 // in the Auto Scaling User Guide. 6365 // 6366 // When managed termination protection is disabled, your Amazon EC2 instances 6367 // are not protected from termination when the Auto Scaling group scales in. 6368 ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` 6369 } 6370 6371 // String returns the string representation. 6372 // 6373 // API parameter values that are decorated as "sensitive" in the API will not 6374 // be included in the string output. The member name will be present, but the 6375 // value will be replaced with "sensitive". 6376 func (s AutoScalingGroupProviderUpdate) String() string { 6377 return awsutil.Prettify(s) 6378 } 6379 6380 // GoString returns the string representation. 6381 // 6382 // API parameter values that are decorated as "sensitive" in the API will not 6383 // be included in the string output. The member name will be present, but the 6384 // value will be replaced with "sensitive". 6385 func (s AutoScalingGroupProviderUpdate) GoString() string { 6386 return s.String() 6387 } 6388 6389 // Validate inspects the fields of the type to determine if they are valid. 6390 func (s *AutoScalingGroupProviderUpdate) Validate() error { 6391 invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProviderUpdate"} 6392 if s.ManagedScaling != nil { 6393 if err := s.ManagedScaling.Validate(); err != nil { 6394 invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) 6395 } 6396 } 6397 6398 if invalidParams.Len() > 0 { 6399 return invalidParams 6400 } 6401 return nil 6402 } 6403 6404 // SetManagedScaling sets the ManagedScaling field's value. 6405 func (s *AutoScalingGroupProviderUpdate) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProviderUpdate { 6406 s.ManagedScaling = v 6407 return s 6408 } 6409 6410 // SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. 6411 func (s *AutoScalingGroupProviderUpdate) SetManagedTerminationProtection(v string) *AutoScalingGroupProviderUpdate { 6412 s.ManagedTerminationProtection = &v 6413 return s 6414 } 6415 6416 // An object representing the networking details for a task or service. 6417 type AwsVpcConfiguration struct { 6418 _ struct{} `type:"structure"` 6419 6420 // Whether the task's elastic network interface receives a public IP address. 6421 // The default value is DISABLED. 6422 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 6423 6424 // The IDs of the security groups associated with the task or service. If you 6425 // do not specify a security group, the default security group for the VPC is 6426 // used. There is a limit of 5 security groups that can be specified per AwsVpcConfiguration. 6427 // 6428 // All specified security groups must be from the same VPC. 6429 SecurityGroups []*string `locationName:"securityGroups" type:"list"` 6430 6431 // The IDs of the subnets associated with the task or service. There is a limit 6432 // of 16 subnets that can be specified per AwsVpcConfiguration. 6433 // 6434 // All specified subnets must be from the same VPC. 6435 // 6436 // Subnets is a required field 6437 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 6438 } 6439 6440 // String returns the string representation. 6441 // 6442 // API parameter values that are decorated as "sensitive" in the API will not 6443 // be included in the string output. The member name will be present, but the 6444 // value will be replaced with "sensitive". 6445 func (s AwsVpcConfiguration) String() string { 6446 return awsutil.Prettify(s) 6447 } 6448 6449 // GoString returns the string representation. 6450 // 6451 // API parameter values that are decorated as "sensitive" in the API will not 6452 // be included in the string output. The member name will be present, but the 6453 // value will be replaced with "sensitive". 6454 func (s AwsVpcConfiguration) GoString() string { 6455 return s.String() 6456 } 6457 6458 // Validate inspects the fields of the type to determine if they are valid. 6459 func (s *AwsVpcConfiguration) Validate() error { 6460 invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"} 6461 if s.Subnets == nil { 6462 invalidParams.Add(request.NewErrParamRequired("Subnets")) 6463 } 6464 6465 if invalidParams.Len() > 0 { 6466 return invalidParams 6467 } 6468 return nil 6469 } 6470 6471 // SetAssignPublicIp sets the AssignPublicIp field's value. 6472 func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration { 6473 s.AssignPublicIp = &v 6474 return s 6475 } 6476 6477 // SetSecurityGroups sets the SecurityGroups field's value. 6478 func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration { 6479 s.SecurityGroups = v 6480 return s 6481 } 6482 6483 // SetSubnets sets the Subnets field's value. 6484 func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration { 6485 s.Subnets = v 6486 return s 6487 } 6488 6489 // Your Amazon Web Services account has been blocked. For more information, 6490 // contact Amazon Web Services Support (http://aws.amazon.com/contact-us/). 6491 type BlockedException struct { 6492 _ struct{} `type:"structure"` 6493 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6494 6495 Message_ *string `locationName:"message" type:"string"` 6496 } 6497 6498 // String returns the string representation. 6499 // 6500 // API parameter values that are decorated as "sensitive" in the API will not 6501 // be included in the string output. The member name will be present, but the 6502 // value will be replaced with "sensitive". 6503 func (s BlockedException) String() string { 6504 return awsutil.Prettify(s) 6505 } 6506 6507 // GoString returns the string representation. 6508 // 6509 // API parameter values that are decorated as "sensitive" in the API will not 6510 // be included in the string output. The member name will be present, but the 6511 // value will be replaced with "sensitive". 6512 func (s BlockedException) GoString() string { 6513 return s.String() 6514 } 6515 6516 func newErrorBlockedException(v protocol.ResponseMetadata) error { 6517 return &BlockedException{ 6518 RespMetadata: v, 6519 } 6520 } 6521 6522 // Code returns the exception type name. 6523 func (s *BlockedException) Code() string { 6524 return "BlockedException" 6525 } 6526 6527 // Message returns the exception's message. 6528 func (s *BlockedException) Message() string { 6529 if s.Message_ != nil { 6530 return *s.Message_ 6531 } 6532 return "" 6533 } 6534 6535 // OrigErr always returns nil, satisfies awserr.Error interface. 6536 func (s *BlockedException) OrigErr() error { 6537 return nil 6538 } 6539 6540 func (s *BlockedException) Error() string { 6541 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6542 } 6543 6544 // Status code returns the HTTP status code for the request's response error. 6545 func (s *BlockedException) StatusCode() int { 6546 return s.RespMetadata.StatusCode 6547 } 6548 6549 // RequestID returns the service's response RequestID for request. 6550 func (s *BlockedException) RequestID() string { 6551 return s.RespMetadata.RequestID 6552 } 6553 6554 // The details of a capacity provider. 6555 type CapacityProvider struct { 6556 _ struct{} `type:"structure"` 6557 6558 // The Auto Scaling group settings for the capacity provider. 6559 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure"` 6560 6561 // The Amazon Resource Name (ARN) that identifies the capacity provider. 6562 CapacityProviderArn *string `locationName:"capacityProviderArn" type:"string"` 6563 6564 // The name of the capacity provider. 6565 Name *string `locationName:"name" type:"string"` 6566 6567 // The current status of the capacity provider. Only capacity providers in an 6568 // ACTIVE state can be used in a cluster. When a capacity provider is successfully 6569 // deleted, it will have an INACTIVE status. 6570 Status *string `locationName:"status" type:"string" enum:"CapacityProviderStatus"` 6571 6572 // The metadata that you apply to the capacity provider to help you categorize 6573 // and organize it. Each tag consists of a key and an optional value, both of 6574 // which you define. 6575 // 6576 // The following basic restrictions apply to tags: 6577 // 6578 // * Maximum number of tags per resource - 50 6579 // 6580 // * For each resource, each tag key must be unique, and each tag key can 6581 // have only one value. 6582 // 6583 // * Maximum key length - 128 Unicode characters in UTF-8 6584 // 6585 // * Maximum value length - 256 Unicode characters in UTF-8 6586 // 6587 // * If your tagging schema is used across multiple services and resources, 6588 // remember that other services may have restrictions on allowed characters. 6589 // Generally allowed characters are: letters, numbers, and spaces representable 6590 // in UTF-8, and the following characters: + - = . _ : / @. 6591 // 6592 // * Tag keys and values are case-sensitive. 6593 // 6594 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6595 // as a prefix for either keys or values as it is reserved for Amazon Web 6596 // Services use. You cannot edit or delete tag keys or values with this prefix. 6597 // Tags with this prefix do not count against your tags per resource limit. 6598 Tags []*Tag `locationName:"tags" type:"list"` 6599 6600 // The update status of the capacity provider. The following are the possible 6601 // states that will be returned. 6602 // 6603 // DELETE_IN_PROGRESS 6604 // 6605 // The capacity provider is in the process of being deleted. 6606 // 6607 // DELETE_COMPLETE 6608 // 6609 // The capacity provider has been successfully deleted and will have an INACTIVE 6610 // status. 6611 // 6612 // DELETE_FAILED 6613 // 6614 // The capacity provider was unable to be deleted. The update status reason 6615 // will provide further details about why the delete failed. 6616 UpdateStatus *string `locationName:"updateStatus" type:"string" enum:"CapacityProviderUpdateStatus"` 6617 6618 // The update status reason. This provides further details about the update 6619 // status for the capacity provider. 6620 UpdateStatusReason *string `locationName:"updateStatusReason" type:"string"` 6621 } 6622 6623 // String returns the string representation. 6624 // 6625 // API parameter values that are decorated as "sensitive" in the API will not 6626 // be included in the string output. The member name will be present, but the 6627 // value will be replaced with "sensitive". 6628 func (s CapacityProvider) String() string { 6629 return awsutil.Prettify(s) 6630 } 6631 6632 // GoString returns the string representation. 6633 // 6634 // API parameter values that are decorated as "sensitive" in the API will not 6635 // be included in the string output. The member name will be present, but the 6636 // value will be replaced with "sensitive". 6637 func (s CapacityProvider) GoString() string { 6638 return s.String() 6639 } 6640 6641 // SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 6642 func (s *CapacityProvider) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CapacityProvider { 6643 s.AutoScalingGroupProvider = v 6644 return s 6645 } 6646 6647 // SetCapacityProviderArn sets the CapacityProviderArn field's value. 6648 func (s *CapacityProvider) SetCapacityProviderArn(v string) *CapacityProvider { 6649 s.CapacityProviderArn = &v 6650 return s 6651 } 6652 6653 // SetName sets the Name field's value. 6654 func (s *CapacityProvider) SetName(v string) *CapacityProvider { 6655 s.Name = &v 6656 return s 6657 } 6658 6659 // SetStatus sets the Status field's value. 6660 func (s *CapacityProvider) SetStatus(v string) *CapacityProvider { 6661 s.Status = &v 6662 return s 6663 } 6664 6665 // SetTags sets the Tags field's value. 6666 func (s *CapacityProvider) SetTags(v []*Tag) *CapacityProvider { 6667 s.Tags = v 6668 return s 6669 } 6670 6671 // SetUpdateStatus sets the UpdateStatus field's value. 6672 func (s *CapacityProvider) SetUpdateStatus(v string) *CapacityProvider { 6673 s.UpdateStatus = &v 6674 return s 6675 } 6676 6677 // SetUpdateStatusReason sets the UpdateStatusReason field's value. 6678 func (s *CapacityProvider) SetUpdateStatusReason(v string) *CapacityProvider { 6679 s.UpdateStatusReason = &v 6680 return s 6681 } 6682 6683 // The details of a capacity provider strategy. A capacity provider strategy 6684 // can be set when using the RunTask or CreateCluster APIs or as the default 6685 // capacity provider strategy for a cluster with the CreateCluster API. 6686 // 6687 // Only capacity providers that are already associated with a cluster and have 6688 // an ACTIVE or UPDATING status can be used in a capacity provider strategy. 6689 // The PutClusterCapacityProviders API is used to associate a capacity provider 6690 // with a cluster. 6691 // 6692 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 6693 // provider must already be created. New Auto Scaling group capacity providers 6694 // can be created with the CreateCapacityProvider API operation. 6695 // 6696 // To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 6697 // capacity providers. The Fargate capacity providers are available to all accounts 6698 // and only need to be associated with a cluster to be used in a capacity provider 6699 // strategy. 6700 // 6701 // A capacity provider strategy may contain a maximum of 6 capacity providers. 6702 type CapacityProviderStrategyItem struct { 6703 _ struct{} `type:"structure"` 6704 6705 // The base value designates how many tasks, at a minimum, to run on the specified 6706 // capacity provider. Only one capacity provider in a capacity provider strategy 6707 // can have a base defined. If no value is specified, the default value of 0 6708 // is used. 6709 Base *int64 `locationName:"base" type:"integer"` 6710 6711 // The short name of the capacity provider. 6712 // 6713 // CapacityProvider is a required field 6714 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 6715 6716 // The weight value designates the relative percentage of the total number of 6717 // tasks launched that should use the specified capacity provider. The weight 6718 // value is taken into consideration after the base value, if defined, is satisfied. 6719 // 6720 // If no weight value is specified, the default value of 0 is used. When multiple 6721 // capacity providers are specified within a capacity provider strategy, at 6722 // least one of the capacity providers must have a weight value greater than 6723 // zero and any capacity providers with a weight of 0 will not be used to place 6724 // tasks. If you specify multiple capacity providers in a strategy that all 6725 // have a weight of 0, any RunTask or CreateService actions using the capacity 6726 // provider strategy will fail. 6727 // 6728 // An example scenario for using weights is defining a strategy that contains 6729 // two capacity providers and both have a weight of 1, then when the base is 6730 // satisfied, the tasks will be split evenly across the two capacity providers. 6731 // Using that same logic, if you specify a weight of 1 for capacityProviderA 6732 // and a weight of 4 for capacityProviderB, then for every one task that is 6733 // run using capacityProviderA, four tasks would use capacityProviderB. 6734 Weight *int64 `locationName:"weight" type:"integer"` 6735 } 6736 6737 // String returns the string representation. 6738 // 6739 // API parameter values that are decorated as "sensitive" in the API will not 6740 // be included in the string output. The member name will be present, but the 6741 // value will be replaced with "sensitive". 6742 func (s CapacityProviderStrategyItem) String() string { 6743 return awsutil.Prettify(s) 6744 } 6745 6746 // GoString returns the string representation. 6747 // 6748 // API parameter values that are decorated as "sensitive" in the API will not 6749 // be included in the string output. The member name will be present, but the 6750 // value will be replaced with "sensitive". 6751 func (s CapacityProviderStrategyItem) GoString() string { 6752 return s.String() 6753 } 6754 6755 // Validate inspects the fields of the type to determine if they are valid. 6756 func (s *CapacityProviderStrategyItem) Validate() error { 6757 invalidParams := request.ErrInvalidParams{Context: "CapacityProviderStrategyItem"} 6758 if s.CapacityProvider == nil { 6759 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 6760 } 6761 6762 if invalidParams.Len() > 0 { 6763 return invalidParams 6764 } 6765 return nil 6766 } 6767 6768 // SetBase sets the Base field's value. 6769 func (s *CapacityProviderStrategyItem) SetBase(v int64) *CapacityProviderStrategyItem { 6770 s.Base = &v 6771 return s 6772 } 6773 6774 // SetCapacityProvider sets the CapacityProvider field's value. 6775 func (s *CapacityProviderStrategyItem) SetCapacityProvider(v string) *CapacityProviderStrategyItem { 6776 s.CapacityProvider = &v 6777 return s 6778 } 6779 6780 // SetWeight sets the Weight field's value. 6781 func (s *CapacityProviderStrategyItem) SetWeight(v int64) *CapacityProviderStrategyItem { 6782 s.Weight = &v 6783 return s 6784 } 6785 6786 // These errors are usually caused by a client action, such as using an action 6787 // or resource on behalf of a user that doesn't have permissions to use the 6788 // action or resource, or specifying an identifier that is not valid. 6789 type ClientException struct { 6790 _ struct{} `type:"structure"` 6791 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6792 6793 Message_ *string `locationName:"message" type:"string"` 6794 } 6795 6796 // String returns the string representation. 6797 // 6798 // API parameter values that are decorated as "sensitive" in the API will not 6799 // be included in the string output. The member name will be present, but the 6800 // value will be replaced with "sensitive". 6801 func (s ClientException) String() string { 6802 return awsutil.Prettify(s) 6803 } 6804 6805 // GoString returns the string representation. 6806 // 6807 // API parameter values that are decorated as "sensitive" in the API will not 6808 // be included in the string output. The member name will be present, but the 6809 // value will be replaced with "sensitive". 6810 func (s ClientException) GoString() string { 6811 return s.String() 6812 } 6813 6814 func newErrorClientException(v protocol.ResponseMetadata) error { 6815 return &ClientException{ 6816 RespMetadata: v, 6817 } 6818 } 6819 6820 // Code returns the exception type name. 6821 func (s *ClientException) Code() string { 6822 return "ClientException" 6823 } 6824 6825 // Message returns the exception's message. 6826 func (s *ClientException) Message() string { 6827 if s.Message_ != nil { 6828 return *s.Message_ 6829 } 6830 return "" 6831 } 6832 6833 // OrigErr always returns nil, satisfies awserr.Error interface. 6834 func (s *ClientException) OrigErr() error { 6835 return nil 6836 } 6837 6838 func (s *ClientException) Error() string { 6839 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6840 } 6841 6842 // Status code returns the HTTP status code for the request's response error. 6843 func (s *ClientException) StatusCode() int { 6844 return s.RespMetadata.StatusCode 6845 } 6846 6847 // RequestID returns the service's response RequestID for request. 6848 func (s *ClientException) RequestID() string { 6849 return s.RespMetadata.RequestID 6850 } 6851 6852 // A regional grouping of one or more container instances on which you can run 6853 // task requests. Each account receives a default cluster the first time you 6854 // use the Amazon ECS service, but you may also create other clusters. Clusters 6855 // may contain more than one instance type simultaneously. 6856 type Cluster struct { 6857 _ struct{} `type:"structure"` 6858 6859 // The number of services that are running on the cluster in an ACTIVE state. 6860 // You can view these services with ListServices. 6861 ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` 6862 6863 // The resources attached to a cluster. When using a capacity provider with 6864 // a cluster, the Auto Scaling plan that is created will be returned as a cluster 6865 // attachment. 6866 Attachments []*Attachment `locationName:"attachments" type:"list"` 6867 6868 // The status of the capacity providers associated with the cluster. The following 6869 // are the states that will be returned: 6870 // 6871 // UPDATE_IN_PROGRESS 6872 // 6873 // The available capacity providers for the cluster are updating. This occurs 6874 // when the Auto Scaling plan is provisioning or deprovisioning. 6875 // 6876 // UPDATE_COMPLETE 6877 // 6878 // The capacity providers have successfully updated. 6879 // 6880 // UPDATE_FAILED 6881 // 6882 // The capacity provider updates failed. 6883 AttachmentsStatus *string `locationName:"attachmentsStatus" type:"string"` 6884 6885 // The capacity providers associated with the cluster. 6886 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 6887 6888 // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains 6889 // the arn:aws:ecs namespace, followed by the Region of the cluster, the Amazon 6890 // Web Services account ID of the cluster owner, the cluster namespace, and 6891 // then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test. 6892 ClusterArn *string `locationName:"clusterArn" type:"string"` 6893 6894 // A user-generated string that you use to identify your cluster. 6895 ClusterName *string `locationName:"clusterName" type:"string"` 6896 6897 // The execute command configuration for the cluster. 6898 Configuration *ClusterConfiguration `locationName:"configuration" type:"structure"` 6899 6900 // The default capacity provider strategy for the cluster. When services or 6901 // tasks are run in the cluster with no launch type or capacity provider strategy 6902 // specified, the default capacity provider strategy is used. 6903 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 6904 6905 // The number of tasks in the cluster that are in the PENDING state. 6906 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 6907 6908 // The number of container instances registered into the cluster. This includes 6909 // container instances in both ACTIVE and DRAINING status. 6910 RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` 6911 6912 // The number of tasks in the cluster that are in the RUNNING state. 6913 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 6914 6915 // The settings for the cluster. This parameter indicates whether CloudWatch 6916 // Container Insights is enabled or disabled for a cluster. 6917 Settings []*ClusterSetting `locationName:"settings" type:"list"` 6918 6919 // Additional information about your clusters that are separated by launch type, 6920 // including: 6921 // 6922 // * runningEC2TasksCount 6923 // 6924 // * RunningFargateTasksCount 6925 // 6926 // * pendingEC2TasksCount 6927 // 6928 // * pendingFargateTasksCount 6929 // 6930 // * activeEC2ServiceCount 6931 // 6932 // * activeFargateServiceCount 6933 // 6934 // * drainingEC2ServiceCount 6935 // 6936 // * drainingFargateServiceCount 6937 Statistics []*KeyValuePair `locationName:"statistics" type:"list"` 6938 6939 // The status of the cluster. The following are the possible states that will 6940 // be returned. 6941 // 6942 // ACTIVE 6943 // 6944 // The cluster is ready to accept tasks and if applicable you can register container 6945 // instances with the cluster. 6946 // 6947 // PROVISIONING 6948 // 6949 // The cluster has capacity providers associated with it and the resources needed 6950 // for the capacity provider are being created. 6951 // 6952 // DEPROVISIONING 6953 // 6954 // The cluster has capacity providers associated with it and the resources needed 6955 // for the capacity provider are being deleted. 6956 // 6957 // FAILED 6958 // 6959 // The cluster has capacity providers associated with it and the resources needed 6960 // for the capacity provider have failed to create. 6961 // 6962 // INACTIVE 6963 // 6964 // The cluster has been deleted. Clusters with an INACTIVE status may remain 6965 // discoverable in your account for a period of time. However, this behavior 6966 // is subject to change in the future, so you should not rely on INACTIVE clusters 6967 // persisting. 6968 Status *string `locationName:"status" type:"string"` 6969 6970 // The metadata that you apply to the cluster to help you categorize and organize 6971 // them. Each tag consists of a key and an optional value, both of which you 6972 // define. 6973 // 6974 // The following basic restrictions apply to tags: 6975 // 6976 // * Maximum number of tags per resource - 50 6977 // 6978 // * For each resource, each tag key must be unique, and each tag key can 6979 // have only one value. 6980 // 6981 // * Maximum key length - 128 Unicode characters in UTF-8 6982 // 6983 // * Maximum value length - 256 Unicode characters in UTF-8 6984 // 6985 // * If your tagging schema is used across multiple services and resources, 6986 // remember that other services may have restrictions on allowed characters. 6987 // Generally allowed characters are: letters, numbers, and spaces representable 6988 // in UTF-8, and the following characters: + - = . _ : / @. 6989 // 6990 // * Tag keys and values are case-sensitive. 6991 // 6992 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6993 // as a prefix for either keys or values as it is reserved for Amazon Web 6994 // Services use. You cannot edit or delete tag keys or values with this prefix. 6995 // Tags with this prefix do not count against your tags per resource limit. 6996 Tags []*Tag `locationName:"tags" type:"list"` 6997 } 6998 6999 // String returns the string representation. 7000 // 7001 // API parameter values that are decorated as "sensitive" in the API will not 7002 // be included in the string output. The member name will be present, but the 7003 // value will be replaced with "sensitive". 7004 func (s Cluster) String() string { 7005 return awsutil.Prettify(s) 7006 } 7007 7008 // GoString returns the string representation. 7009 // 7010 // API parameter values that are decorated as "sensitive" in the API will not 7011 // be included in the string output. The member name will be present, but the 7012 // value will be replaced with "sensitive". 7013 func (s Cluster) GoString() string { 7014 return s.String() 7015 } 7016 7017 // SetActiveServicesCount sets the ActiveServicesCount field's value. 7018 func (s *Cluster) SetActiveServicesCount(v int64) *Cluster { 7019 s.ActiveServicesCount = &v 7020 return s 7021 } 7022 7023 // SetAttachments sets the Attachments field's value. 7024 func (s *Cluster) SetAttachments(v []*Attachment) *Cluster { 7025 s.Attachments = v 7026 return s 7027 } 7028 7029 // SetAttachmentsStatus sets the AttachmentsStatus field's value. 7030 func (s *Cluster) SetAttachmentsStatus(v string) *Cluster { 7031 s.AttachmentsStatus = &v 7032 return s 7033 } 7034 7035 // SetCapacityProviders sets the CapacityProviders field's value. 7036 func (s *Cluster) SetCapacityProviders(v []*string) *Cluster { 7037 s.CapacityProviders = v 7038 return s 7039 } 7040 7041 // SetClusterArn sets the ClusterArn field's value. 7042 func (s *Cluster) SetClusterArn(v string) *Cluster { 7043 s.ClusterArn = &v 7044 return s 7045 } 7046 7047 // SetClusterName sets the ClusterName field's value. 7048 func (s *Cluster) SetClusterName(v string) *Cluster { 7049 s.ClusterName = &v 7050 return s 7051 } 7052 7053 // SetConfiguration sets the Configuration field's value. 7054 func (s *Cluster) SetConfiguration(v *ClusterConfiguration) *Cluster { 7055 s.Configuration = v 7056 return s 7057 } 7058 7059 // SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 7060 func (s *Cluster) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Cluster { 7061 s.DefaultCapacityProviderStrategy = v 7062 return s 7063 } 7064 7065 // SetPendingTasksCount sets the PendingTasksCount field's value. 7066 func (s *Cluster) SetPendingTasksCount(v int64) *Cluster { 7067 s.PendingTasksCount = &v 7068 return s 7069 } 7070 7071 // SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. 7072 func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster { 7073 s.RegisteredContainerInstancesCount = &v 7074 return s 7075 } 7076 7077 // SetRunningTasksCount sets the RunningTasksCount field's value. 7078 func (s *Cluster) SetRunningTasksCount(v int64) *Cluster { 7079 s.RunningTasksCount = &v 7080 return s 7081 } 7082 7083 // SetSettings sets the Settings field's value. 7084 func (s *Cluster) SetSettings(v []*ClusterSetting) *Cluster { 7085 s.Settings = v 7086 return s 7087 } 7088 7089 // SetStatistics sets the Statistics field's value. 7090 func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster { 7091 s.Statistics = v 7092 return s 7093 } 7094 7095 // SetStatus sets the Status field's value. 7096 func (s *Cluster) SetStatus(v string) *Cluster { 7097 s.Status = &v 7098 return s 7099 } 7100 7101 // SetTags sets the Tags field's value. 7102 func (s *Cluster) SetTags(v []*Tag) *Cluster { 7103 s.Tags = v 7104 return s 7105 } 7106 7107 // The execute command configuration for the cluster. 7108 type ClusterConfiguration struct { 7109 _ struct{} `type:"structure"` 7110 7111 // The details of the execute command configuration. 7112 ExecuteCommandConfiguration *ExecuteCommandConfiguration `locationName:"executeCommandConfiguration" type:"structure"` 7113 } 7114 7115 // String returns the string representation. 7116 // 7117 // API parameter values that are decorated as "sensitive" in the API will not 7118 // be included in the string output. The member name will be present, but the 7119 // value will be replaced with "sensitive". 7120 func (s ClusterConfiguration) String() string { 7121 return awsutil.Prettify(s) 7122 } 7123 7124 // GoString returns the string representation. 7125 // 7126 // API parameter values that are decorated as "sensitive" in the API will not 7127 // be included in the string output. The member name will be present, but the 7128 // value will be replaced with "sensitive". 7129 func (s ClusterConfiguration) GoString() string { 7130 return s.String() 7131 } 7132 7133 // SetExecuteCommandConfiguration sets the ExecuteCommandConfiguration field's value. 7134 func (s *ClusterConfiguration) SetExecuteCommandConfiguration(v *ExecuteCommandConfiguration) *ClusterConfiguration { 7135 s.ExecuteCommandConfiguration = v 7136 return s 7137 } 7138 7139 // You cannot delete a cluster that has registered container instances. First, 7140 // deregister the container instances before you can delete the cluster. For 7141 // more information, see DeregisterContainerInstance. 7142 type ClusterContainsContainerInstancesException struct { 7143 _ struct{} `type:"structure"` 7144 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7145 7146 Message_ *string `locationName:"message" type:"string"` 7147 } 7148 7149 // String returns the string representation. 7150 // 7151 // API parameter values that are decorated as "sensitive" in the API will not 7152 // be included in the string output. The member name will be present, but the 7153 // value will be replaced with "sensitive". 7154 func (s ClusterContainsContainerInstancesException) String() string { 7155 return awsutil.Prettify(s) 7156 } 7157 7158 // GoString returns the string representation. 7159 // 7160 // API parameter values that are decorated as "sensitive" in the API will not 7161 // be included in the string output. The member name will be present, but the 7162 // value will be replaced with "sensitive". 7163 func (s ClusterContainsContainerInstancesException) GoString() string { 7164 return s.String() 7165 } 7166 7167 func newErrorClusterContainsContainerInstancesException(v protocol.ResponseMetadata) error { 7168 return &ClusterContainsContainerInstancesException{ 7169 RespMetadata: v, 7170 } 7171 } 7172 7173 // Code returns the exception type name. 7174 func (s *ClusterContainsContainerInstancesException) Code() string { 7175 return "ClusterContainsContainerInstancesException" 7176 } 7177 7178 // Message returns the exception's message. 7179 func (s *ClusterContainsContainerInstancesException) Message() string { 7180 if s.Message_ != nil { 7181 return *s.Message_ 7182 } 7183 return "" 7184 } 7185 7186 // OrigErr always returns nil, satisfies awserr.Error interface. 7187 func (s *ClusterContainsContainerInstancesException) OrigErr() error { 7188 return nil 7189 } 7190 7191 func (s *ClusterContainsContainerInstancesException) Error() string { 7192 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7193 } 7194 7195 // Status code returns the HTTP status code for the request's response error. 7196 func (s *ClusterContainsContainerInstancesException) StatusCode() int { 7197 return s.RespMetadata.StatusCode 7198 } 7199 7200 // RequestID returns the service's response RequestID for request. 7201 func (s *ClusterContainsContainerInstancesException) RequestID() string { 7202 return s.RespMetadata.RequestID 7203 } 7204 7205 // You cannot delete a cluster that contains services. First, update the service 7206 // to reduce its desired task count to 0 and then delete the service. For more 7207 // information, see UpdateService and DeleteService. 7208 type ClusterContainsServicesException struct { 7209 _ struct{} `type:"structure"` 7210 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7211 7212 Message_ *string `locationName:"message" type:"string"` 7213 } 7214 7215 // String returns the string representation. 7216 // 7217 // API parameter values that are decorated as "sensitive" in the API will not 7218 // be included in the string output. The member name will be present, but the 7219 // value will be replaced with "sensitive". 7220 func (s ClusterContainsServicesException) String() string { 7221 return awsutil.Prettify(s) 7222 } 7223 7224 // GoString returns the string representation. 7225 // 7226 // API parameter values that are decorated as "sensitive" in the API will not 7227 // be included in the string output. The member name will be present, but the 7228 // value will be replaced with "sensitive". 7229 func (s ClusterContainsServicesException) GoString() string { 7230 return s.String() 7231 } 7232 7233 func newErrorClusterContainsServicesException(v protocol.ResponseMetadata) error { 7234 return &ClusterContainsServicesException{ 7235 RespMetadata: v, 7236 } 7237 } 7238 7239 // Code returns the exception type name. 7240 func (s *ClusterContainsServicesException) Code() string { 7241 return "ClusterContainsServicesException" 7242 } 7243 7244 // Message returns the exception's message. 7245 func (s *ClusterContainsServicesException) Message() string { 7246 if s.Message_ != nil { 7247 return *s.Message_ 7248 } 7249 return "" 7250 } 7251 7252 // OrigErr always returns nil, satisfies awserr.Error interface. 7253 func (s *ClusterContainsServicesException) OrigErr() error { 7254 return nil 7255 } 7256 7257 func (s *ClusterContainsServicesException) Error() string { 7258 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7259 } 7260 7261 // Status code returns the HTTP status code for the request's response error. 7262 func (s *ClusterContainsServicesException) StatusCode() int { 7263 return s.RespMetadata.StatusCode 7264 } 7265 7266 // RequestID returns the service's response RequestID for request. 7267 func (s *ClusterContainsServicesException) RequestID() string { 7268 return s.RespMetadata.RequestID 7269 } 7270 7271 // You cannot delete a cluster that has active tasks. 7272 type ClusterContainsTasksException struct { 7273 _ struct{} `type:"structure"` 7274 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7275 7276 Message_ *string `locationName:"message" type:"string"` 7277 } 7278 7279 // String returns the string representation. 7280 // 7281 // API parameter values that are decorated as "sensitive" in the API will not 7282 // be included in the string output. The member name will be present, but the 7283 // value will be replaced with "sensitive". 7284 func (s ClusterContainsTasksException) String() string { 7285 return awsutil.Prettify(s) 7286 } 7287 7288 // GoString returns the string representation. 7289 // 7290 // API parameter values that are decorated as "sensitive" in the API will not 7291 // be included in the string output. The member name will be present, but the 7292 // value will be replaced with "sensitive". 7293 func (s ClusterContainsTasksException) GoString() string { 7294 return s.String() 7295 } 7296 7297 func newErrorClusterContainsTasksException(v protocol.ResponseMetadata) error { 7298 return &ClusterContainsTasksException{ 7299 RespMetadata: v, 7300 } 7301 } 7302 7303 // Code returns the exception type name. 7304 func (s *ClusterContainsTasksException) Code() string { 7305 return "ClusterContainsTasksException" 7306 } 7307 7308 // Message returns the exception's message. 7309 func (s *ClusterContainsTasksException) Message() string { 7310 if s.Message_ != nil { 7311 return *s.Message_ 7312 } 7313 return "" 7314 } 7315 7316 // OrigErr always returns nil, satisfies awserr.Error interface. 7317 func (s *ClusterContainsTasksException) OrigErr() error { 7318 return nil 7319 } 7320 7321 func (s *ClusterContainsTasksException) Error() string { 7322 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7323 } 7324 7325 // Status code returns the HTTP status code for the request's response error. 7326 func (s *ClusterContainsTasksException) StatusCode() int { 7327 return s.RespMetadata.StatusCode 7328 } 7329 7330 // RequestID returns the service's response RequestID for request. 7331 func (s *ClusterContainsTasksException) RequestID() string { 7332 return s.RespMetadata.RequestID 7333 } 7334 7335 // The specified cluster could not be found. You can view your available clusters 7336 // with ListClusters. Amazon ECS clusters are Region-specific. 7337 type ClusterNotFoundException struct { 7338 _ struct{} `type:"structure"` 7339 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7340 7341 Message_ *string `locationName:"message" type:"string"` 7342 } 7343 7344 // String returns the string representation. 7345 // 7346 // API parameter values that are decorated as "sensitive" in the API will not 7347 // be included in the string output. The member name will be present, but the 7348 // value will be replaced with "sensitive". 7349 func (s ClusterNotFoundException) String() string { 7350 return awsutil.Prettify(s) 7351 } 7352 7353 // GoString returns the string representation. 7354 // 7355 // API parameter values that are decorated as "sensitive" in the API will not 7356 // be included in the string output. The member name will be present, but the 7357 // value will be replaced with "sensitive". 7358 func (s ClusterNotFoundException) GoString() string { 7359 return s.String() 7360 } 7361 7362 func newErrorClusterNotFoundException(v protocol.ResponseMetadata) error { 7363 return &ClusterNotFoundException{ 7364 RespMetadata: v, 7365 } 7366 } 7367 7368 // Code returns the exception type name. 7369 func (s *ClusterNotFoundException) Code() string { 7370 return "ClusterNotFoundException" 7371 } 7372 7373 // Message returns the exception's message. 7374 func (s *ClusterNotFoundException) Message() string { 7375 if s.Message_ != nil { 7376 return *s.Message_ 7377 } 7378 return "" 7379 } 7380 7381 // OrigErr always returns nil, satisfies awserr.Error interface. 7382 func (s *ClusterNotFoundException) OrigErr() error { 7383 return nil 7384 } 7385 7386 func (s *ClusterNotFoundException) Error() string { 7387 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7388 } 7389 7390 // Status code returns the HTTP status code for the request's response error. 7391 func (s *ClusterNotFoundException) StatusCode() int { 7392 return s.RespMetadata.StatusCode 7393 } 7394 7395 // RequestID returns the service's response RequestID for request. 7396 func (s *ClusterNotFoundException) RequestID() string { 7397 return s.RespMetadata.RequestID 7398 } 7399 7400 // The settings to use when creating a cluster. This parameter is used to enable 7401 // CloudWatch Container Insights for a cluster. 7402 type ClusterSetting struct { 7403 _ struct{} `type:"structure"` 7404 7405 // The name of the cluster setting. The only supported value is containerInsights. 7406 Name *string `locationName:"name" type:"string" enum:"ClusterSettingName"` 7407 7408 // The value to set for the cluster setting. The supported values are enabled 7409 // and disabled. If enabled is specified, CloudWatch Container Insights will 7410 // be enabled for the cluster, otherwise it will be disabled unless the containerInsights 7411 // account setting is enabled. If a cluster value is specified, it will override 7412 // the containerInsights value set with PutAccountSetting or PutAccountSettingDefault. 7413 Value *string `locationName:"value" type:"string"` 7414 } 7415 7416 // String returns the string representation. 7417 // 7418 // API parameter values that are decorated as "sensitive" in the API will not 7419 // be included in the string output. The member name will be present, but the 7420 // value will be replaced with "sensitive". 7421 func (s ClusterSetting) String() string { 7422 return awsutil.Prettify(s) 7423 } 7424 7425 // GoString returns the string representation. 7426 // 7427 // API parameter values that are decorated as "sensitive" in the API will not 7428 // be included in the string output. The member name will be present, but the 7429 // value will be replaced with "sensitive". 7430 func (s ClusterSetting) GoString() string { 7431 return s.String() 7432 } 7433 7434 // SetName sets the Name field's value. 7435 func (s *ClusterSetting) SetName(v string) *ClusterSetting { 7436 s.Name = &v 7437 return s 7438 } 7439 7440 // SetValue sets the Value field's value. 7441 func (s *ClusterSetting) SetValue(v string) *ClusterSetting { 7442 s.Value = &v 7443 return s 7444 } 7445 7446 // A Docker container that is part of a task. 7447 type Container struct { 7448 _ struct{} `type:"structure"` 7449 7450 // The Amazon Resource Name (ARN) of the container. 7451 ContainerArn *string `locationName:"containerArn" type:"string"` 7452 7453 // The number of CPU units set for the container. The value will be 0 if no 7454 // value was specified in the container definition when the task definition 7455 // was registered. 7456 Cpu *string `locationName:"cpu" type:"string"` 7457 7458 // The exit code returned from the container. 7459 ExitCode *int64 `locationName:"exitCode" type:"integer"` 7460 7461 // The IDs of each GPU assigned to the container. 7462 GpuIds []*string `locationName:"gpuIds" type:"list"` 7463 7464 // The health status of the container. If health checks are not configured for 7465 // this container in its task definition, then it reports the health status 7466 // as UNKNOWN. 7467 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 7468 7469 // The image used for the container. 7470 Image *string `locationName:"image" type:"string"` 7471 7472 // The container image manifest digest. 7473 // 7474 // The imageDigest is only returned if the container is using an image hosted 7475 // in Amazon ECR, otherwise it is omitted. 7476 ImageDigest *string `locationName:"imageDigest" type:"string"` 7477 7478 // The last known status of the container. 7479 LastStatus *string `locationName:"lastStatus" type:"string"` 7480 7481 // The details of any Amazon ECS managed agents associated with the container. 7482 ManagedAgents []*ManagedAgent `locationName:"managedAgents" type:"list"` 7483 7484 // The hard limit (in MiB) of memory set for the container. 7485 Memory *string `locationName:"memory" type:"string"` 7486 7487 // The soft limit (in MiB) of memory set for the container. 7488 MemoryReservation *string `locationName:"memoryReservation" type:"string"` 7489 7490 // The name of the container. 7491 Name *string `locationName:"name" type:"string"` 7492 7493 // The network bindings associated with the container. 7494 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 7495 7496 // The network interfaces associated with the container. 7497 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 7498 7499 // A short (255 max characters) human-readable string to provide additional 7500 // details about a running or stopped container. 7501 Reason *string `locationName:"reason" type:"string"` 7502 7503 // The ID of the Docker container. 7504 RuntimeId *string `locationName:"runtimeId" type:"string"` 7505 7506 // The ARN of the task. 7507 TaskArn *string `locationName:"taskArn" type:"string"` 7508 } 7509 7510 // String returns the string representation. 7511 // 7512 // API parameter values that are decorated as "sensitive" in the API will not 7513 // be included in the string output. The member name will be present, but the 7514 // value will be replaced with "sensitive". 7515 func (s Container) String() string { 7516 return awsutil.Prettify(s) 7517 } 7518 7519 // GoString returns the string representation. 7520 // 7521 // API parameter values that are decorated as "sensitive" in the API will not 7522 // be included in the string output. The member name will be present, but the 7523 // value will be replaced with "sensitive". 7524 func (s Container) GoString() string { 7525 return s.String() 7526 } 7527 7528 // SetContainerArn sets the ContainerArn field's value. 7529 func (s *Container) SetContainerArn(v string) *Container { 7530 s.ContainerArn = &v 7531 return s 7532 } 7533 7534 // SetCpu sets the Cpu field's value. 7535 func (s *Container) SetCpu(v string) *Container { 7536 s.Cpu = &v 7537 return s 7538 } 7539 7540 // SetExitCode sets the ExitCode field's value. 7541 func (s *Container) SetExitCode(v int64) *Container { 7542 s.ExitCode = &v 7543 return s 7544 } 7545 7546 // SetGpuIds sets the GpuIds field's value. 7547 func (s *Container) SetGpuIds(v []*string) *Container { 7548 s.GpuIds = v 7549 return s 7550 } 7551 7552 // SetHealthStatus sets the HealthStatus field's value. 7553 func (s *Container) SetHealthStatus(v string) *Container { 7554 s.HealthStatus = &v 7555 return s 7556 } 7557 7558 // SetImage sets the Image field's value. 7559 func (s *Container) SetImage(v string) *Container { 7560 s.Image = &v 7561 return s 7562 } 7563 7564 // SetImageDigest sets the ImageDigest field's value. 7565 func (s *Container) SetImageDigest(v string) *Container { 7566 s.ImageDigest = &v 7567 return s 7568 } 7569 7570 // SetLastStatus sets the LastStatus field's value. 7571 func (s *Container) SetLastStatus(v string) *Container { 7572 s.LastStatus = &v 7573 return s 7574 } 7575 7576 // SetManagedAgents sets the ManagedAgents field's value. 7577 func (s *Container) SetManagedAgents(v []*ManagedAgent) *Container { 7578 s.ManagedAgents = v 7579 return s 7580 } 7581 7582 // SetMemory sets the Memory field's value. 7583 func (s *Container) SetMemory(v string) *Container { 7584 s.Memory = &v 7585 return s 7586 } 7587 7588 // SetMemoryReservation sets the MemoryReservation field's value. 7589 func (s *Container) SetMemoryReservation(v string) *Container { 7590 s.MemoryReservation = &v 7591 return s 7592 } 7593 7594 // SetName sets the Name field's value. 7595 func (s *Container) SetName(v string) *Container { 7596 s.Name = &v 7597 return s 7598 } 7599 7600 // SetNetworkBindings sets the NetworkBindings field's value. 7601 func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container { 7602 s.NetworkBindings = v 7603 return s 7604 } 7605 7606 // SetNetworkInterfaces sets the NetworkInterfaces field's value. 7607 func (s *Container) SetNetworkInterfaces(v []*NetworkInterface) *Container { 7608 s.NetworkInterfaces = v 7609 return s 7610 } 7611 7612 // SetReason sets the Reason field's value. 7613 func (s *Container) SetReason(v string) *Container { 7614 s.Reason = &v 7615 return s 7616 } 7617 7618 // SetRuntimeId sets the RuntimeId field's value. 7619 func (s *Container) SetRuntimeId(v string) *Container { 7620 s.RuntimeId = &v 7621 return s 7622 } 7623 7624 // SetTaskArn sets the TaskArn field's value. 7625 func (s *Container) SetTaskArn(v string) *Container { 7626 s.TaskArn = &v 7627 return s 7628 } 7629 7630 // Container definitions are used in task definitions to describe the different 7631 // containers that are launched as part of a task. 7632 type ContainerDefinition struct { 7633 _ struct{} `type:"structure"` 7634 7635 // The command that is passed to the container. This parameter maps to Cmd in 7636 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7637 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7638 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7639 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 7640 // (https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple 7641 // arguments, each argument should be a separated string in the array. 7642 Command []*string `locationName:"command" type:"list"` 7643 7644 // The number of cpu units reserved for the container. This parameter maps to 7645 // CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7646 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7647 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7648 // 7649 // This field is optional for tasks using the Fargate launch type, and the only 7650 // requirement is that the total amount of CPU reserved for all containers within 7651 // a task be lower than the task-level cpu value. 7652 // 7653 // You can determine the number of CPU units that are available per EC2 instance 7654 // type by multiplying the vCPUs listed for that instance type on the Amazon 7655 // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by 7656 // 1,024. 7657 // 7658 // Linux containers share unallocated CPU units with other containers on the 7659 // container instance with the same ratio as their allocated amount. For example, 7660 // if you run a single-container task on a single-core instance type with 512 7661 // CPU units specified for that container, and that is the only task running 7662 // on the container instance, that container could use the full 1,024 CPU unit 7663 // share at any given time. However, if you launched another copy of the same 7664 // task on that container instance, each task would be guaranteed a minimum 7665 // of 512 CPU units when needed, and each container could float to higher CPU 7666 // usage if the other container was not using it, but if both tasks were 100% 7667 // active all of the time, they would be limited to 512 CPU units. 7668 // 7669 // On Linux container instances, the Docker daemon on the container instance 7670 // uses the CPU value to calculate the relative CPU share ratios for running 7671 // containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint) 7672 // in the Docker documentation. The minimum valid CPU share value that the Linux 7673 // kernel allows is 2. However, the CPU parameter is not required, and you can 7674 // use CPU values below 2 in your container definitions. For CPU values below 7675 // 2 (including null), the behavior varies based on your Amazon ECS container 7676 // agent version: 7677 // 7678 // * Agent versions less than or equal to 1.1.0: Null and zero CPU values 7679 // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. 7680 // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts 7681 // to two CPU shares. 7682 // 7683 // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values 7684 // of 1 are passed to Docker as 2. 7685 // 7686 // On Windows container instances, the CPU limit is enforced as an absolute 7687 // limit, or a quota. Windows containers only have access to the specified amount 7688 // of CPU that is described in the task definition. A null or zero CPU value 7689 // is passed to Docker as 0, which Windows interprets as 1% of one CPU. 7690 Cpu *int64 `locationName:"cpu" type:"integer"` 7691 7692 // The dependencies defined for container startup and shutdown. A container 7693 // can contain multiple dependencies. When a dependency is defined for container 7694 // startup, for container shutdown it is reversed. 7695 // 7696 // For tasks using the EC2 launch type, the container instances require at least 7697 // version 1.26.0 of the container agent to enable container dependencies. However, 7698 // we recommend using the latest container agent version. For information about 7699 // checking your agent version and updating to the latest version, see Updating 7700 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7701 // in the Amazon Elastic Container Service Developer Guide. If you are using 7702 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7703 // of the ecs-init package. If your container instances are launched from version 7704 // 20190301 or later, then they contain the required versions of the container 7705 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7706 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7707 // in the Amazon Elastic Container Service Developer Guide. 7708 // 7709 // For tasks using the Fargate launch type, the task or service requires platform 7710 // version 1.3.0 or later. 7711 DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` 7712 7713 // When this parameter is true, networking is disabled within the container. 7714 // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7715 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 7716 // 7717 // This parameter is not supported for Windows containers. 7718 DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` 7719 7720 // A list of DNS search domains that are presented to the container. This parameter 7721 // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7722 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7723 // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7724 // 7725 // This parameter is not supported for Windows containers. 7726 DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` 7727 7728 // A list of DNS servers that are presented to the container. This parameter 7729 // maps to Dns in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7730 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7731 // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7732 // 7733 // This parameter is not supported for Windows containers. 7734 DnsServers []*string `locationName:"dnsServers" type:"list"` 7735 7736 // A key/value map of labels to add to the container. This parameter maps to 7737 // Labels in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7738 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7739 // and the --label option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7740 // This parameter requires version 1.18 of the Docker Remote API or greater 7741 // on your container instance. To check the Docker Remote API version on your 7742 // container instance, log in to your container instance and run the following 7743 // command: sudo docker version --format '{{.Server.APIVersion}}' 7744 DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` 7745 7746 // A list of strings to provide custom labels for SELinux and AppArmor multi-level 7747 // security systems. This field is not valid for containers in tasks using the 7748 // Fargate launch type. 7749 // 7750 // With Windows containers, this parameter can be used to reference a credential 7751 // spec file when configuring a container for Active Directory authentication. 7752 // For more information, see Using gMSAs for Windows Containers (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) 7753 // in the Amazon Elastic Container Service Developer Guide. 7754 // 7755 // This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7756 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7757 // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7758 // 7759 // The Amazon ECS container agent running on a container instance must register 7760 // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment 7761 // variables before containers placed on that instance can use these security 7762 // options. For more information, see Amazon ECS Container Agent Configuration 7763 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7764 // in the Amazon Elastic Container Service Developer Guide. 7765 // 7766 // For more information about valid values, see Docker Run Security Configuration 7767 // (https://docs.docker.com/engine/reference/run/#security-configuration). 7768 // 7769 // Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | 7770 // "credentialspec:CredentialSpecFilePath" 7771 DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` 7772 7773 // 7774 // Early versions of the Amazon ECS container agent do not properly handle entryPoint 7775 // parameters. If you have problems using entryPoint, update your container 7776 // agent or enter your commands and arguments as command array items instead. 7777 // 7778 // The entry point that is passed to the container. This parameter maps to Entrypoint 7779 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7780 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7781 // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7782 // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint 7783 // (https://docs.docker.com/engine/reference/builder/#entrypoint). 7784 EntryPoint []*string `locationName:"entryPoint" type:"list"` 7785 7786 // The environment variables to pass to a container. This parameter maps to 7787 // Env in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7788 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7789 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7790 // 7791 // We do not recommend using plaintext environment variables for sensitive information, 7792 // such as credential data. 7793 Environment []*KeyValuePair `locationName:"environment" type:"list"` 7794 7795 // A list of files containing the environment variables to pass to a container. 7796 // This parameter maps to the --env-file option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7797 // 7798 // You can specify up to ten environment files. The file must have a .env file 7799 // extension. Each line in an environment file should contain an environment 7800 // variable in VARIABLE=VALUE format. Lines beginning with # are treated as 7801 // comments and are ignored. For more information on the environment variable 7802 // file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 7803 // 7804 // If there are environment variables specified using the environment parameter 7805 // in a container definition, they take precedence over the variables contained 7806 // within an environment file. If multiple environment files are specified that 7807 // contain the same variable, they are processed from the top down. It is recommended 7808 // to use unique variable names. For more information, see Specifying Environment 7809 // Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 7810 // in the Amazon Elastic Container Service Developer Guide. 7811 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 7812 7813 // If the essential parameter of a container is marked as true, and that container 7814 // fails or stops for any reason, all other containers that are part of the 7815 // task are stopped. If the essential parameter of a container is marked as 7816 // false, then its failure does not affect the rest of the containers in a task. 7817 // If this parameter is omitted, a container is assumed to be essential. 7818 // 7819 // All tasks must have at least one essential container. If you have an application 7820 // that is composed of multiple containers, you should group containers that 7821 // are used for a common purpose into components, and separate the different 7822 // components into multiple task definitions. For more information, see Application 7823 // Architecture (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) 7824 // in the Amazon Elastic Container Service Developer Guide. 7825 Essential *bool `locationName:"essential" type:"boolean"` 7826 7827 // A list of hostnames and IP address mappings to append to the /etc/hosts file 7828 // on the container. This parameter maps to ExtraHosts in the Create a container 7829 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7830 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7831 // the --add-host option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7832 // 7833 // This parameter is not supported for Windows containers or tasks that use 7834 // the awsvpc network mode. 7835 ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` 7836 7837 // The FireLens configuration for the container. This is used to specify and 7838 // configure a log router for container logs. For more information, see Custom 7839 // Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 7840 // in the Amazon Elastic Container Service Developer Guide. 7841 FirelensConfiguration *FirelensConfiguration `locationName:"firelensConfiguration" type:"structure"` 7842 7843 // The container health check command and associated configuration parameters 7844 // for the container. This parameter maps to HealthCheck in the Create a container 7845 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7846 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7847 // the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7848 HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"` 7849 7850 // The hostname to use for your container. This parameter maps to Hostname in 7851 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7852 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7853 // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7854 // 7855 // The hostname parameter is not supported if you are using the awsvpc network 7856 // mode. 7857 Hostname *string `locationName:"hostname" type:"string"` 7858 7859 // The image used to start a container. This string is passed directly to the 7860 // Docker daemon. Images in the Docker Hub registry are available by default. 7861 // Other repositories are specified with either repository-url/image:tag or 7862 // repository-url/image@digest . Up to 255 letters (uppercase and lowercase), 7863 // numbers, hyphens, underscores, colons, periods, forward slashes, and number 7864 // signs are allowed. This parameter maps to Image in the Create a container 7865 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7866 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7867 // the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7868 // 7869 // * When a new task starts, the Amazon ECS container agent pulls the latest 7870 // version of the specified image and tag for the container to use. However, 7871 // subsequent updates to a repository image are not propagated to already 7872 // running tasks. 7873 // 7874 // * Images in Amazon ECR repositories can be specified by either using the 7875 // full registry/repository:tag or registry/repository@digest. For example, 7876 // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 7877 // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. 7878 // 7879 // * Images in official repositories on Docker Hub use a single name (for 7880 // example, ubuntu or mongo). 7881 // 7882 // * Images in other repositories on Docker Hub are qualified with an organization 7883 // name (for example, amazon/amazon-ecs-agent). 7884 // 7885 // * Images in other online repositories are qualified further by a domain 7886 // name (for example, quay.io/assemblyline/ubuntu). 7887 Image *string `locationName:"image" type:"string"` 7888 7889 // When this parameter is true, this allows you to deploy containerized applications 7890 // that require stdin or a tty to be allocated. This parameter maps to OpenStdin 7891 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7892 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7893 // and the --interactive option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7894 Interactive *bool `locationName:"interactive" type:"boolean"` 7895 7896 // The links parameter allows containers to communicate with each other without 7897 // the need for port mappings. This parameter is only supported if the network 7898 // mode of a task definition is bridge. The name:internalName construct is analogous 7899 // to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), 7900 // numbers, underscores, and hyphens are allowed. For more information about 7901 // linking Docker containers, go to Legacy container links (https://docs.docker.com/network/links/) 7902 // in the Docker documentation. This parameter maps to Links in the Create a 7903 // container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7904 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7905 // and the --link option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7906 // 7907 // This parameter is not supported for Windows containers. 7908 // 7909 // Containers that are collocated on a single container instance may be able 7910 // to communicate with each other without requiring links or host port mappings. 7911 // Network isolation is achieved on the container instance using security groups 7912 // and VPC settings. 7913 Links []*string `locationName:"links" type:"list"` 7914 7915 // Linux-specific modifications that are applied to the container, such as Linux 7916 // kernel capabilities. For more information see KernelCapabilities. 7917 // 7918 // This parameter is not supported for Windows containers. 7919 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 7920 7921 // The log configuration specification for the container. 7922 // 7923 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7924 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7925 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7926 // By default, containers use the same logging driver that the Docker daemon 7927 // uses. However the container may use a different logging driver than the Docker 7928 // daemon by specifying a log driver with this parameter in the container definition. 7929 // To use a different logging driver for a container, the log system must be 7930 // configured properly on the container instance (or on a different log server 7931 // for remote logging options). For more information on the options for different 7932 // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 7933 // in the Docker documentation. 7934 // 7935 // Amazon ECS currently supports a subset of the logging drivers available to 7936 // the Docker daemon (shown in the LogConfiguration data type). Additional log 7937 // drivers may be available in future releases of the Amazon ECS container agent. 7938 // 7939 // This parameter requires version 1.18 of the Docker Remote API or greater 7940 // on your container instance. To check the Docker Remote API version on your 7941 // container instance, log in to your container instance and run the following 7942 // command: sudo docker version --format '{{.Server.APIVersion}}' 7943 // 7944 // The Amazon ECS container agent running on a container instance must register 7945 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 7946 // environment variable before containers placed on that instance can use these 7947 // log configuration options. For more information, see Amazon ECS Container 7948 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7949 // in the Amazon Elastic Container Service Developer Guide. 7950 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 7951 7952 // The amount (in MiB) of memory to present to the container. If your container 7953 // attempts to exceed the memory specified here, the container is killed. The 7954 // total amount of memory reserved for all containers within a task must be 7955 // lower than the task memory value, if one is specified. This parameter maps 7956 // to Memory in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7957 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7958 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7959 // 7960 // If using the Fargate launch type, this parameter is optional. 7961 // 7962 // If using the EC2 launch type, you must specify either a task-level memory 7963 // value or a container-level memory value. If you specify both a container-level 7964 // memory and memoryReservation value, memory must be greater than memoryReservation. 7965 // If you specify memoryReservation, then that value is subtracted from the 7966 // available memory resources for the container instance on which the container 7967 // is placed. Otherwise, the value of memory is used. 7968 // 7969 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7970 // so you should not specify fewer than 4 MiB of memory for your containers. 7971 Memory *int64 `locationName:"memory" type:"integer"` 7972 7973 // The soft limit (in MiB) of memory to reserve for the container. When system 7974 // memory is under heavy contention, Docker attempts to keep the container memory 7975 // to this soft limit. However, your container can consume more memory when 7976 // it needs to, up to either the hard limit specified with the memory parameter 7977 // (if applicable), or all of the available memory on the container instance, 7978 // whichever comes first. This parameter maps to MemoryReservation in the Create 7979 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7980 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7981 // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7982 // 7983 // If a task-level memory value is not specified, you must specify a non-zero 7984 // integer for one or both of memory or memoryReservation in a container definition. 7985 // If you specify both, memory must be greater than memoryReservation. If you 7986 // specify memoryReservation, then that value is subtracted from the available 7987 // memory resources for the container instance on which the container is placed. 7988 // Otherwise, the value of memory is used. 7989 // 7990 // For example, if your container normally uses 128 MiB of memory, but occasionally 7991 // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation 7992 // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would 7993 // allow the container to only reserve 128 MiB of memory from the remaining 7994 // resources on the container instance, but also allow the container to consume 7995 // more memory resources when needed. 7996 // 7997 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7998 // so you should not specify fewer than 4 MiB of memory for your containers. 7999 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 8000 8001 // The mount points for data volumes in your container. 8002 // 8003 // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8004 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8005 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8006 // 8007 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 8008 // Windows containers cannot mount directories on a different drive, and mount 8009 // point cannot be across drives. 8010 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 8011 8012 // The name of a container. If you are linking multiple containers together 8013 // in a task definition, the name of one container can be entered in the links 8014 // of another container to connect the containers. Up to 255 letters (uppercase 8015 // and lowercase), numbers, underscores, and hyphens are allowed. This parameter 8016 // maps to name in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8017 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8018 // and the --name option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8019 Name *string `locationName:"name" type:"string"` 8020 8021 // The list of port mappings for the container. Port mappings allow containers 8022 // to access ports on the host container instance to send or receive traffic. 8023 // 8024 // For task definitions that use the awsvpc network mode, you should only specify 8025 // the containerPort. The hostPort can be left blank or it must be the same 8026 // value as the containerPort. 8027 // 8028 // Port mappings on Windows use the NetNAT gateway address rather than localhost. 8029 // There is no loopback for port mappings on Windows, so you cannot access a 8030 // container's mapped port from the host itself. 8031 // 8032 // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8033 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8034 // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8035 // If the network mode of a task definition is set to none, then you can't specify 8036 // port mappings. If the network mode of a task definition is set to host, then 8037 // host ports must either be undefined or they must match the container port 8038 // in the port mapping. 8039 // 8040 // After a task reaches the RUNNING status, manual and automatic host and container 8041 // port assignments are visible in the Network Bindings section of a container 8042 // description for a selected task in the Amazon ECS console. The assignments 8043 // are also visible in the networkBindings section DescribeTasks responses. 8044 PortMappings []*PortMapping `locationName:"portMappings" type:"list"` 8045 8046 // When this parameter is true, the container is given elevated privileges on 8047 // the host container instance (similar to the root user). This parameter maps 8048 // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8049 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8050 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8051 // 8052 // This parameter is not supported for Windows containers or tasks run on Fargate. 8053 Privileged *bool `locationName:"privileged" type:"boolean"` 8054 8055 // When this parameter is true, a TTY is allocated. This parameter maps to Tty 8056 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8057 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8058 // and the --tty option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8059 PseudoTerminal *bool `locationName:"pseudoTerminal" type:"boolean"` 8060 8061 // When this parameter is true, the container is given read-only access to its 8062 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 8063 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 8064 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 8065 // the --read-only option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8066 // 8067 // This parameter is not supported for Windows containers. 8068 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 8069 8070 // The private repository authentication credentials to use. 8071 RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"` 8072 8073 // The type and amount of a resource to assign to a container. The only supported 8074 // resource is a GPU. 8075 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 8076 8077 // The secrets to pass to the container. For more information, see Specifying 8078 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 8079 // in the Amazon Elastic Container Service Developer Guide. 8080 Secrets []*Secret `locationName:"secrets" type:"list"` 8081 8082 // Time duration (in seconds) to wait before giving up on resolving dependencies 8083 // for a container. For example, you specify two containers in a task definition 8084 // with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, 8085 // or HEALTHY status. If a startTimeout value is specified for containerB and 8086 // it does not reach the desired status within that time then containerA will 8087 // give up and not start. This results in the task transitioning to a STOPPED 8088 // state. 8089 // 8090 // When the ECS_CONTAINER_START_TIMEOUT container agent configuration variable 8091 // is used, it is enforced indendently from this start timeout value. 8092 // 8093 // For tasks using the Fargate launch type, this parameter requires that the 8094 // task or service uses platform version 1.3.0 or later. 8095 // 8096 // For tasks using the EC2 launch type, your container instances require at 8097 // least version 1.26.0 of the container agent to enable a container start timeout 8098 // value. However, we recommend using the latest container agent version. For 8099 // information about checking your agent version and updating to the latest 8100 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 8101 // in the Amazon Elastic Container Service Developer Guide. If you are using 8102 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 8103 // of the ecs-init package. If your container instances are launched from version 8104 // 20190301 or later, then they contain the required versions of the container 8105 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 8106 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 8107 // in the Amazon Elastic Container Service Developer Guide. 8108 StartTimeout *int64 `locationName:"startTimeout" type:"integer"` 8109 8110 // Time duration (in seconds) to wait before the container is forcefully killed 8111 // if it doesn't exit normally on its own. 8112 // 8113 // For tasks using the Fargate launch type, the task or service requires platform 8114 // version 1.3.0 or later. The max stop timeout value is 120 seconds and if 8115 // the parameter is not specified, the default value of 30 seconds is used. 8116 // 8117 // For tasks using the EC2 launch type, if the stopTimeout parameter is not 8118 // specified, the value set for the Amazon ECS container agent configuration 8119 // variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the stopTimeout 8120 // parameter or the ECS_CONTAINER_STOP_TIMEOUT agent configuration variable 8121 // are set, then the default values of 30 seconds for Linux containers and 30 8122 // seconds on Windows containers are used. Your container instances require 8123 // at least version 1.26.0 of the container agent to enable a container stop 8124 // timeout value. However, we recommend using the latest container agent version. 8125 // For information about checking your agent version and updating to the latest 8126 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 8127 // in the Amazon Elastic Container Service Developer Guide. If you are using 8128 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 8129 // of the ecs-init package. If your container instances are launched from version 8130 // 20190301 or later, then they contain the required versions of the container 8131 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 8132 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 8133 // in the Amazon Elastic Container Service Developer Guide. 8134 StopTimeout *int64 `locationName:"stopTimeout" type:"integer"` 8135 8136 // A list of namespaced kernel parameters to set in the container. This parameter 8137 // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8138 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8139 // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8140 // 8141 // It is not recommended that you specify network-related systemControls parameters 8142 // for multiple containers in a single task that also uses either the awsvpc 8143 // or host network modes. For tasks that use the awsvpc network mode, the container 8144 // that is started last determines which systemControls parameters take effect. 8145 // For tasks that use the host network mode, it changes the container instance's 8146 // namespaced kernel parameters as well as the containers. 8147 SystemControls []*SystemControl `locationName:"systemControls" type:"list"` 8148 8149 // A list of ulimits to set in the container. If a ulimit value is specified 8150 // in a task definition, it will override the default values set by Docker. 8151 // This parameter maps to Ulimits in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8152 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8153 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8154 // Valid naming values are displayed in the Ulimit data type. 8155 // 8156 // Amazon ECS tasks hosted on Fargate use the default resource limit values 8157 // set by the operating system with the exception of the nofile resource limit 8158 // parameter which Fargate overrides. The nofile resource limit sets a restriction 8159 // on the number of open files that a container can use. The default nofile 8160 // soft limit is 1024 and hard limit is 4096. 8161 // 8162 // This parameter requires version 1.18 of the Docker Remote API or greater 8163 // on your container instance. To check the Docker Remote API version on your 8164 // container instance, log in to your container instance and run the following 8165 // command: sudo docker version --format '{{.Server.APIVersion}}' 8166 // 8167 // This parameter is not supported for Windows containers. 8168 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 8169 8170 // The user to use inside the container. This parameter maps to User in the 8171 // Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8172 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8173 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8174 // 8175 // When running tasks using the host network mode, you should not run containers 8176 // using the root user (UID 0). It is considered best practice to use a non-root 8177 // user. 8178 // 8179 // You can specify the user using the following formats. If specifying a UID 8180 // or GID, you must specify it as a positive integer. 8181 // 8182 // * user 8183 // 8184 // * user:group 8185 // 8186 // * uid 8187 // 8188 // * uid:gid 8189 // 8190 // * user:gid 8191 // 8192 // * uid:group 8193 // 8194 // This parameter is not supported for Windows containers. 8195 User *string `locationName:"user" type:"string"` 8196 8197 // Data volumes to mount from another container. This parameter maps to VolumesFrom 8198 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8199 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8200 // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8201 VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` 8202 8203 // The working directory in which to run commands inside the container. This 8204 // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8205 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8206 // and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8207 WorkingDirectory *string `locationName:"workingDirectory" type:"string"` 8208 } 8209 8210 // String returns the string representation. 8211 // 8212 // API parameter values that are decorated as "sensitive" in the API will not 8213 // be included in the string output. The member name will be present, but the 8214 // value will be replaced with "sensitive". 8215 func (s ContainerDefinition) String() string { 8216 return awsutil.Prettify(s) 8217 } 8218 8219 // GoString returns the string representation. 8220 // 8221 // API parameter values that are decorated as "sensitive" in the API will not 8222 // be included in the string output. The member name will be present, but the 8223 // value will be replaced with "sensitive". 8224 func (s ContainerDefinition) GoString() string { 8225 return s.String() 8226 } 8227 8228 // Validate inspects the fields of the type to determine if they are valid. 8229 func (s *ContainerDefinition) Validate() error { 8230 invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} 8231 if s.DependsOn != nil { 8232 for i, v := range s.DependsOn { 8233 if v == nil { 8234 continue 8235 } 8236 if err := v.Validate(); err != nil { 8237 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependsOn", i), err.(request.ErrInvalidParams)) 8238 } 8239 } 8240 } 8241 if s.EnvironmentFiles != nil { 8242 for i, v := range s.EnvironmentFiles { 8243 if v == nil { 8244 continue 8245 } 8246 if err := v.Validate(); err != nil { 8247 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 8248 } 8249 } 8250 } 8251 if s.ExtraHosts != nil { 8252 for i, v := range s.ExtraHosts { 8253 if v == nil { 8254 continue 8255 } 8256 if err := v.Validate(); err != nil { 8257 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) 8258 } 8259 } 8260 } 8261 if s.FirelensConfiguration != nil { 8262 if err := s.FirelensConfiguration.Validate(); err != nil { 8263 invalidParams.AddNested("FirelensConfiguration", err.(request.ErrInvalidParams)) 8264 } 8265 } 8266 if s.HealthCheck != nil { 8267 if err := s.HealthCheck.Validate(); err != nil { 8268 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 8269 } 8270 } 8271 if s.LinuxParameters != nil { 8272 if err := s.LinuxParameters.Validate(); err != nil { 8273 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 8274 } 8275 } 8276 if s.LogConfiguration != nil { 8277 if err := s.LogConfiguration.Validate(); err != nil { 8278 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 8279 } 8280 } 8281 if s.RepositoryCredentials != nil { 8282 if err := s.RepositoryCredentials.Validate(); err != nil { 8283 invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams)) 8284 } 8285 } 8286 if s.ResourceRequirements != nil { 8287 for i, v := range s.ResourceRequirements { 8288 if v == nil { 8289 continue 8290 } 8291 if err := v.Validate(); err != nil { 8292 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 8293 } 8294 } 8295 } 8296 if s.Secrets != nil { 8297 for i, v := range s.Secrets { 8298 if v == nil { 8299 continue 8300 } 8301 if err := v.Validate(); err != nil { 8302 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 8303 } 8304 } 8305 } 8306 if s.Ulimits != nil { 8307 for i, v := range s.Ulimits { 8308 if v == nil { 8309 continue 8310 } 8311 if err := v.Validate(); err != nil { 8312 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 8313 } 8314 } 8315 } 8316 8317 if invalidParams.Len() > 0 { 8318 return invalidParams 8319 } 8320 return nil 8321 } 8322 8323 // SetCommand sets the Command field's value. 8324 func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { 8325 s.Command = v 8326 return s 8327 } 8328 8329 // SetCpu sets the Cpu field's value. 8330 func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { 8331 s.Cpu = &v 8332 return s 8333 } 8334 8335 // SetDependsOn sets the DependsOn field's value. 8336 func (s *ContainerDefinition) SetDependsOn(v []*ContainerDependency) *ContainerDefinition { 8337 s.DependsOn = v 8338 return s 8339 } 8340 8341 // SetDisableNetworking sets the DisableNetworking field's value. 8342 func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition { 8343 s.DisableNetworking = &v 8344 return s 8345 } 8346 8347 // SetDnsSearchDomains sets the DnsSearchDomains field's value. 8348 func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition { 8349 s.DnsSearchDomains = v 8350 return s 8351 } 8352 8353 // SetDnsServers sets the DnsServers field's value. 8354 func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition { 8355 s.DnsServers = v 8356 return s 8357 } 8358 8359 // SetDockerLabels sets the DockerLabels field's value. 8360 func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition { 8361 s.DockerLabels = v 8362 return s 8363 } 8364 8365 // SetDockerSecurityOptions sets the DockerSecurityOptions field's value. 8366 func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition { 8367 s.DockerSecurityOptions = v 8368 return s 8369 } 8370 8371 // SetEntryPoint sets the EntryPoint field's value. 8372 func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { 8373 s.EntryPoint = v 8374 return s 8375 } 8376 8377 // SetEnvironment sets the Environment field's value. 8378 func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition { 8379 s.Environment = v 8380 return s 8381 } 8382 8383 // SetEnvironmentFiles sets the EnvironmentFiles field's value. 8384 func (s *ContainerDefinition) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerDefinition { 8385 s.EnvironmentFiles = v 8386 return s 8387 } 8388 8389 // SetEssential sets the Essential field's value. 8390 func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { 8391 s.Essential = &v 8392 return s 8393 } 8394 8395 // SetExtraHosts sets the ExtraHosts field's value. 8396 func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition { 8397 s.ExtraHosts = v 8398 return s 8399 } 8400 8401 // SetFirelensConfiguration sets the FirelensConfiguration field's value. 8402 func (s *ContainerDefinition) SetFirelensConfiguration(v *FirelensConfiguration) *ContainerDefinition { 8403 s.FirelensConfiguration = v 8404 return s 8405 } 8406 8407 // SetHealthCheck sets the HealthCheck field's value. 8408 func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition { 8409 s.HealthCheck = v 8410 return s 8411 } 8412 8413 // SetHostname sets the Hostname field's value. 8414 func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition { 8415 s.Hostname = &v 8416 return s 8417 } 8418 8419 // SetImage sets the Image field's value. 8420 func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { 8421 s.Image = &v 8422 return s 8423 } 8424 8425 // SetInteractive sets the Interactive field's value. 8426 func (s *ContainerDefinition) SetInteractive(v bool) *ContainerDefinition { 8427 s.Interactive = &v 8428 return s 8429 } 8430 8431 // SetLinks sets the Links field's value. 8432 func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { 8433 s.Links = v 8434 return s 8435 } 8436 8437 // SetLinuxParameters sets the LinuxParameters field's value. 8438 func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { 8439 s.LinuxParameters = v 8440 return s 8441 } 8442 8443 // SetLogConfiguration sets the LogConfiguration field's value. 8444 func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { 8445 s.LogConfiguration = v 8446 return s 8447 } 8448 8449 // SetMemory sets the Memory field's value. 8450 func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition { 8451 s.Memory = &v 8452 return s 8453 } 8454 8455 // SetMemoryReservation sets the MemoryReservation field's value. 8456 func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition { 8457 s.MemoryReservation = &v 8458 return s 8459 } 8460 8461 // SetMountPoints sets the MountPoints field's value. 8462 func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition { 8463 s.MountPoints = v 8464 return s 8465 } 8466 8467 // SetName sets the Name field's value. 8468 func (s *ContainerDefinition) SetName(v string) *ContainerDefinition { 8469 s.Name = &v 8470 return s 8471 } 8472 8473 // SetPortMappings sets the PortMappings field's value. 8474 func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition { 8475 s.PortMappings = v 8476 return s 8477 } 8478 8479 // SetPrivileged sets the Privileged field's value. 8480 func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition { 8481 s.Privileged = &v 8482 return s 8483 } 8484 8485 // SetPseudoTerminal sets the PseudoTerminal field's value. 8486 func (s *ContainerDefinition) SetPseudoTerminal(v bool) *ContainerDefinition { 8487 s.PseudoTerminal = &v 8488 return s 8489 } 8490 8491 // SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 8492 func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition { 8493 s.ReadonlyRootFilesystem = &v 8494 return s 8495 } 8496 8497 // SetRepositoryCredentials sets the RepositoryCredentials field's value. 8498 func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) *ContainerDefinition { 8499 s.RepositoryCredentials = v 8500 return s 8501 } 8502 8503 // SetResourceRequirements sets the ResourceRequirements field's value. 8504 func (s *ContainerDefinition) SetResourceRequirements(v []*ResourceRequirement) *ContainerDefinition { 8505 s.ResourceRequirements = v 8506 return s 8507 } 8508 8509 // SetSecrets sets the Secrets field's value. 8510 func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition { 8511 s.Secrets = v 8512 return s 8513 } 8514 8515 // SetStartTimeout sets the StartTimeout field's value. 8516 func (s *ContainerDefinition) SetStartTimeout(v int64) *ContainerDefinition { 8517 s.StartTimeout = &v 8518 return s 8519 } 8520 8521 // SetStopTimeout sets the StopTimeout field's value. 8522 func (s *ContainerDefinition) SetStopTimeout(v int64) *ContainerDefinition { 8523 s.StopTimeout = &v 8524 return s 8525 } 8526 8527 // SetSystemControls sets the SystemControls field's value. 8528 func (s *ContainerDefinition) SetSystemControls(v []*SystemControl) *ContainerDefinition { 8529 s.SystemControls = v 8530 return s 8531 } 8532 8533 // SetUlimits sets the Ulimits field's value. 8534 func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition { 8535 s.Ulimits = v 8536 return s 8537 } 8538 8539 // SetUser sets the User field's value. 8540 func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition { 8541 s.User = &v 8542 return s 8543 } 8544 8545 // SetVolumesFrom sets the VolumesFrom field's value. 8546 func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition { 8547 s.VolumesFrom = v 8548 return s 8549 } 8550 8551 // SetWorkingDirectory sets the WorkingDirectory field's value. 8552 func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { 8553 s.WorkingDirectory = &v 8554 return s 8555 } 8556 8557 // The dependencies defined for container startup and shutdown. A container 8558 // can contain multiple dependencies. When a dependency is defined for container 8559 // startup, for container shutdown it is reversed. 8560 // 8561 // Your Amazon ECS container instances require at least version 1.26.0 of the 8562 // container agent to enable container dependencies. However, we recommend using 8563 // the latest container agent version. For information about checking your agent 8564 // version and updating to the latest version, see Updating the Amazon ECS Container 8565 // Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 8566 // in the Amazon Elastic Container Service Developer Guide. If you are using 8567 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 8568 // of the ecs-init package. If your container instances are launched from version 8569 // 20190301 or later, then they contain the required versions of the container 8570 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 8571 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 8572 // in the Amazon Elastic Container Service Developer Guide. 8573 // 8574 // For tasks using the Fargate launch type, this parameter requires that the 8575 // task or service uses platform version 1.3.0 or later. 8576 type ContainerDependency struct { 8577 _ struct{} `type:"structure"` 8578 8579 // The dependency condition of the container. The following are the available 8580 // conditions and their behavior: 8581 // 8582 // * START - This condition emulates the behavior of links and volumes today. 8583 // It validates that a dependent container is started before permitting other 8584 // containers to start. 8585 // 8586 // * COMPLETE - This condition validates that a dependent container runs 8587 // to completion (exits) before permitting other containers to start. This 8588 // can be useful for nonessential containers that run a script and then exit. 8589 // This condition cannot be set on an essential container. 8590 // 8591 // * SUCCESS - This condition is the same as COMPLETE, but it also requires 8592 // that the container exits with a zero status. This condition cannot be 8593 // set on an essential container. 8594 // 8595 // * HEALTHY - This condition validates that the dependent container passes 8596 // its Docker health check before permitting other containers to start. This 8597 // requires that the dependent container has health checks configured. This 8598 // condition is confirmed only at task startup. 8599 // 8600 // Condition is a required field 8601 Condition *string `locationName:"condition" type:"string" required:"true" enum:"ContainerCondition"` 8602 8603 // The name of a container. 8604 // 8605 // ContainerName is a required field 8606 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 8607 } 8608 8609 // String returns the string representation. 8610 // 8611 // API parameter values that are decorated as "sensitive" in the API will not 8612 // be included in the string output. The member name will be present, but the 8613 // value will be replaced with "sensitive". 8614 func (s ContainerDependency) String() string { 8615 return awsutil.Prettify(s) 8616 } 8617 8618 // GoString returns the string representation. 8619 // 8620 // API parameter values that are decorated as "sensitive" in the API will not 8621 // be included in the string output. The member name will be present, but the 8622 // value will be replaced with "sensitive". 8623 func (s ContainerDependency) GoString() string { 8624 return s.String() 8625 } 8626 8627 // Validate inspects the fields of the type to determine if they are valid. 8628 func (s *ContainerDependency) Validate() error { 8629 invalidParams := request.ErrInvalidParams{Context: "ContainerDependency"} 8630 if s.Condition == nil { 8631 invalidParams.Add(request.NewErrParamRequired("Condition")) 8632 } 8633 if s.ContainerName == nil { 8634 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 8635 } 8636 8637 if invalidParams.Len() > 0 { 8638 return invalidParams 8639 } 8640 return nil 8641 } 8642 8643 // SetCondition sets the Condition field's value. 8644 func (s *ContainerDependency) SetCondition(v string) *ContainerDependency { 8645 s.Condition = &v 8646 return s 8647 } 8648 8649 // SetContainerName sets the ContainerName field's value. 8650 func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { 8651 s.ContainerName = &v 8652 return s 8653 } 8654 8655 // An EC2 instance that is running the Amazon ECS agent and has been registered 8656 // with a cluster. 8657 type ContainerInstance struct { 8658 _ struct{} `type:"structure"` 8659 8660 // This parameter returns true if the agent is connected to Amazon ECS. Registered 8661 // instances with an agent that may be unhealthy or stopped return false. Only 8662 // instances connected to an agent can accept placement requests. 8663 AgentConnected *bool `locationName:"agentConnected" type:"boolean"` 8664 8665 // The status of the most recent agent update. If an update has never been requested, 8666 // this value is NULL. 8667 AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` 8668 8669 // The resources attached to a container instance, such as elastic network interfaces. 8670 Attachments []*Attachment `locationName:"attachments" type:"list"` 8671 8672 // The attributes set for the container instance, either by the Amazon ECS container 8673 // agent at instance registration or manually with the PutAttributes operation. 8674 Attributes []*Attribute `locationName:"attributes" type:"list"` 8675 8676 // The capacity provider associated with the container instance. 8677 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 8678 8679 // The Amazon Resource Name (ARN) of the container instance. The ARN contains 8680 // the arn:aws:ecs namespace, followed by the Region of the container instance, 8681 // the Amazon Web Services account ID of the container instance owner, the container-instance 8682 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 8683 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 8684 8685 // The ID of the container instance. For Amazon EC2 instances, this value is 8686 // the Amazon EC2 instance ID. For external instances, this value is the Amazon 8687 // Web Services Systems Manager managed instance ID. 8688 Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` 8689 8690 // The number of tasks on the container instance that are in the PENDING status. 8691 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 8692 8693 // The Unix timestamp for when the container instance was registered. 8694 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 8695 8696 // For CPU and memory resource types, this parameter describes the amount of 8697 // each resource that was available on the container instance when the container 8698 // agent registered it with Amazon ECS. This value represents the total amount 8699 // of CPU and memory that can be allocated on this container instance to tasks. 8700 // For port resource types, this parameter describes the ports that were reserved 8701 // by the Amazon ECS container agent when it registered the container instance 8702 // with Amazon ECS. 8703 RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` 8704 8705 // For CPU and memory resource types, this parameter describes the remaining 8706 // CPU and memory that has not already been allocated to tasks and is therefore 8707 // available for new tasks. For port resource types, this parameter describes 8708 // the ports that were reserved by the Amazon ECS container agent (at instance 8709 // registration time) and any task containers that have reserved port mappings 8710 // on the host (with the host or bridge network mode). Any port that is not 8711 // specified here is available for new tasks. 8712 RemainingResources []*Resource `locationName:"remainingResources" type:"list"` 8713 8714 // The number of tasks on the container instance that are in the RUNNING status. 8715 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 8716 8717 // The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, 8718 // ACTIVE, INACTIVE, DEREGISTERING, or DRAINING. 8719 // 8720 // If your account has opted in to the awsvpcTrunking account setting, then 8721 // any newly registered container instance will transition to a REGISTERING 8722 // status while the trunk elastic network interface is provisioned for the instance. 8723 // If the registration fails, the instance will transition to a REGISTRATION_FAILED 8724 // status. You can describe the container instance and see the reason for failure 8725 // in the statusReason parameter. Once the container instance is terminated, 8726 // the instance transitions to a DEREGISTERING status while the trunk elastic 8727 // network interface is deprovisioned. The instance then transitions to an INACTIVE 8728 // status. 8729 // 8730 // The ACTIVE status indicates that the container instance can accept tasks. 8731 // The DRAINING indicates that new tasks are not placed on the container instance 8732 // and any service tasks running on the container instance are removed if possible. 8733 // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) 8734 // in the Amazon Elastic Container Service Developer Guide. 8735 Status *string `locationName:"status" type:"string"` 8736 8737 // The reason that the container instance reached its current status. 8738 StatusReason *string `locationName:"statusReason" type:"string"` 8739 8740 // The metadata that you apply to the container instance to help you categorize 8741 // and organize them. Each tag consists of a key and an optional value, both 8742 // of which you define. 8743 // 8744 // The following basic restrictions apply to tags: 8745 // 8746 // * Maximum number of tags per resource - 50 8747 // 8748 // * For each resource, each tag key must be unique, and each tag key can 8749 // have only one value. 8750 // 8751 // * Maximum key length - 128 Unicode characters in UTF-8 8752 // 8753 // * Maximum value length - 256 Unicode characters in UTF-8 8754 // 8755 // * If your tagging schema is used across multiple services and resources, 8756 // remember that other services may have restrictions on allowed characters. 8757 // Generally allowed characters are: letters, numbers, and spaces representable 8758 // in UTF-8, and the following characters: + - = . _ : / @. 8759 // 8760 // * Tag keys and values are case-sensitive. 8761 // 8762 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8763 // as a prefix for either keys or values as it is reserved for Amazon Web 8764 // Services use. You cannot edit or delete tag keys or values with this prefix. 8765 // Tags with this prefix do not count against your tags per resource limit. 8766 Tags []*Tag `locationName:"tags" type:"list"` 8767 8768 // The version counter for the container instance. Every time a container instance 8769 // experiences a change that triggers a CloudWatch event, the version counter 8770 // is incremented. If you are replicating your Amazon ECS container instance 8771 // state with CloudWatch Events, you can compare the version of a container 8772 // instance reported by the Amazon ECS APIs with the version reported in CloudWatch 8773 // Events for the container instance (inside the detail object) to verify that 8774 // the version in your event stream is current. 8775 Version *int64 `locationName:"version" type:"long"` 8776 8777 // The version information for the Amazon ECS container agent and Docker daemon 8778 // running on the container instance. 8779 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 8780 } 8781 8782 // String returns the string representation. 8783 // 8784 // API parameter values that are decorated as "sensitive" in the API will not 8785 // be included in the string output. The member name will be present, but the 8786 // value will be replaced with "sensitive". 8787 func (s ContainerInstance) String() string { 8788 return awsutil.Prettify(s) 8789 } 8790 8791 // GoString returns the string representation. 8792 // 8793 // API parameter values that are decorated as "sensitive" in the API will not 8794 // be included in the string output. The member name will be present, but the 8795 // value will be replaced with "sensitive". 8796 func (s ContainerInstance) GoString() string { 8797 return s.String() 8798 } 8799 8800 // SetAgentConnected sets the AgentConnected field's value. 8801 func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance { 8802 s.AgentConnected = &v 8803 return s 8804 } 8805 8806 // SetAgentUpdateStatus sets the AgentUpdateStatus field's value. 8807 func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance { 8808 s.AgentUpdateStatus = &v 8809 return s 8810 } 8811 8812 // SetAttachments sets the Attachments field's value. 8813 func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance { 8814 s.Attachments = v 8815 return s 8816 } 8817 8818 // SetAttributes sets the Attributes field's value. 8819 func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance { 8820 s.Attributes = v 8821 return s 8822 } 8823 8824 // SetCapacityProviderName sets the CapacityProviderName field's value. 8825 func (s *ContainerInstance) SetCapacityProviderName(v string) *ContainerInstance { 8826 s.CapacityProviderName = &v 8827 return s 8828 } 8829 8830 // SetContainerInstanceArn sets the ContainerInstanceArn field's value. 8831 func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance { 8832 s.ContainerInstanceArn = &v 8833 return s 8834 } 8835 8836 // SetEc2InstanceId sets the Ec2InstanceId field's value. 8837 func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance { 8838 s.Ec2InstanceId = &v 8839 return s 8840 } 8841 8842 // SetPendingTasksCount sets the PendingTasksCount field's value. 8843 func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance { 8844 s.PendingTasksCount = &v 8845 return s 8846 } 8847 8848 // SetRegisteredAt sets the RegisteredAt field's value. 8849 func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance { 8850 s.RegisteredAt = &v 8851 return s 8852 } 8853 8854 // SetRegisteredResources sets the RegisteredResources field's value. 8855 func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance { 8856 s.RegisteredResources = v 8857 return s 8858 } 8859 8860 // SetRemainingResources sets the RemainingResources field's value. 8861 func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance { 8862 s.RemainingResources = v 8863 return s 8864 } 8865 8866 // SetRunningTasksCount sets the RunningTasksCount field's value. 8867 func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance { 8868 s.RunningTasksCount = &v 8869 return s 8870 } 8871 8872 // SetStatus sets the Status field's value. 8873 func (s *ContainerInstance) SetStatus(v string) *ContainerInstance { 8874 s.Status = &v 8875 return s 8876 } 8877 8878 // SetStatusReason sets the StatusReason field's value. 8879 func (s *ContainerInstance) SetStatusReason(v string) *ContainerInstance { 8880 s.StatusReason = &v 8881 return s 8882 } 8883 8884 // SetTags sets the Tags field's value. 8885 func (s *ContainerInstance) SetTags(v []*Tag) *ContainerInstance { 8886 s.Tags = v 8887 return s 8888 } 8889 8890 // SetVersion sets the Version field's value. 8891 func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance { 8892 s.Version = &v 8893 return s 8894 } 8895 8896 // SetVersionInfo sets the VersionInfo field's value. 8897 func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance { 8898 s.VersionInfo = v 8899 return s 8900 } 8901 8902 // The overrides that should be sent to a container. An empty container override 8903 // can be passed in. An example of an empty container override would be {"containerOverrides": 8904 // [ ] }. If a non-empty container override is specified, the name parameter 8905 // must be included. 8906 type ContainerOverride struct { 8907 _ struct{} `type:"structure"` 8908 8909 // The command to send to the container that overrides the default command from 8910 // the Docker image or the task definition. You must also specify a container 8911 // name. 8912 Command []*string `locationName:"command" type:"list"` 8913 8914 // The number of cpu units reserved for the container, instead of the default 8915 // value from the task definition. You must also specify a container name. 8916 Cpu *int64 `locationName:"cpu" type:"integer"` 8917 8918 // The environment variables to send to the container. You can add new environment 8919 // variables, which are added to the container at launch, or you can override 8920 // the existing environment variables from the Docker image or the task definition. 8921 // You must also specify a container name. 8922 Environment []*KeyValuePair `locationName:"environment" type:"list"` 8923 8924 // A list of files containing the environment variables to pass to a container, 8925 // instead of the value from the container definition. 8926 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 8927 8928 // The hard limit (in MiB) of memory to present to the container, instead of 8929 // the default value from the task definition. If your container attempts to 8930 // exceed the memory specified here, the container is killed. You must also 8931 // specify a container name. 8932 Memory *int64 `locationName:"memory" type:"integer"` 8933 8934 // The soft limit (in MiB) of memory to reserve for the container, instead of 8935 // the default value from the task definition. You must also specify a container 8936 // name. 8937 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 8938 8939 // The name of the container that receives the override. This parameter is required 8940 // if any override is specified. 8941 Name *string `locationName:"name" type:"string"` 8942 8943 // The type and amount of a resource to assign to a container, instead of the 8944 // default value from the task definition. The only supported resource is a 8945 // GPU. 8946 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 8947 } 8948 8949 // String returns the string representation. 8950 // 8951 // API parameter values that are decorated as "sensitive" in the API will not 8952 // be included in the string output. The member name will be present, but the 8953 // value will be replaced with "sensitive". 8954 func (s ContainerOverride) String() string { 8955 return awsutil.Prettify(s) 8956 } 8957 8958 // GoString returns the string representation. 8959 // 8960 // API parameter values that are decorated as "sensitive" in the API will not 8961 // be included in the string output. The member name will be present, but the 8962 // value will be replaced with "sensitive". 8963 func (s ContainerOverride) GoString() string { 8964 return s.String() 8965 } 8966 8967 // Validate inspects the fields of the type to determine if they are valid. 8968 func (s *ContainerOverride) Validate() error { 8969 invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} 8970 if s.EnvironmentFiles != nil { 8971 for i, v := range s.EnvironmentFiles { 8972 if v == nil { 8973 continue 8974 } 8975 if err := v.Validate(); err != nil { 8976 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 8977 } 8978 } 8979 } 8980 if s.ResourceRequirements != nil { 8981 for i, v := range s.ResourceRequirements { 8982 if v == nil { 8983 continue 8984 } 8985 if err := v.Validate(); err != nil { 8986 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 8987 } 8988 } 8989 } 8990 8991 if invalidParams.Len() > 0 { 8992 return invalidParams 8993 } 8994 return nil 8995 } 8996 8997 // SetCommand sets the Command field's value. 8998 func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { 8999 s.Command = v 9000 return s 9001 } 9002 9003 // SetCpu sets the Cpu field's value. 9004 func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride { 9005 s.Cpu = &v 9006 return s 9007 } 9008 9009 // SetEnvironment sets the Environment field's value. 9010 func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride { 9011 s.Environment = v 9012 return s 9013 } 9014 9015 // SetEnvironmentFiles sets the EnvironmentFiles field's value. 9016 func (s *ContainerOverride) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerOverride { 9017 s.EnvironmentFiles = v 9018 return s 9019 } 9020 9021 // SetMemory sets the Memory field's value. 9022 func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { 9023 s.Memory = &v 9024 return s 9025 } 9026 9027 // SetMemoryReservation sets the MemoryReservation field's value. 9028 func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride { 9029 s.MemoryReservation = &v 9030 return s 9031 } 9032 9033 // SetName sets the Name field's value. 9034 func (s *ContainerOverride) SetName(v string) *ContainerOverride { 9035 s.Name = &v 9036 return s 9037 } 9038 9039 // SetResourceRequirements sets the ResourceRequirements field's value. 9040 func (s *ContainerOverride) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverride { 9041 s.ResourceRequirements = v 9042 return s 9043 } 9044 9045 // An object representing a change in state for a container. 9046 type ContainerStateChange struct { 9047 _ struct{} `type:"structure"` 9048 9049 // The name of the container. 9050 ContainerName *string `locationName:"containerName" type:"string"` 9051 9052 // The exit code for the container, if the state change is a result of the container 9053 // exiting. 9054 ExitCode *int64 `locationName:"exitCode" type:"integer"` 9055 9056 // The container image SHA 256 digest. 9057 ImageDigest *string `locationName:"imageDigest" type:"string"` 9058 9059 // Any network bindings associated with the container. 9060 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 9061 9062 // The reason for the state change. 9063 Reason *string `locationName:"reason" type:"string"` 9064 9065 // The ID of the Docker container. 9066 RuntimeId *string `locationName:"runtimeId" type:"string"` 9067 9068 // The status of the container. 9069 Status *string `locationName:"status" type:"string"` 9070 } 9071 9072 // String returns the string representation. 9073 // 9074 // API parameter values that are decorated as "sensitive" in the API will not 9075 // be included in the string output. The member name will be present, but the 9076 // value will be replaced with "sensitive". 9077 func (s ContainerStateChange) String() string { 9078 return awsutil.Prettify(s) 9079 } 9080 9081 // GoString returns the string representation. 9082 // 9083 // API parameter values that are decorated as "sensitive" in the API will not 9084 // be included in the string output. The member name will be present, but the 9085 // value will be replaced with "sensitive". 9086 func (s ContainerStateChange) GoString() string { 9087 return s.String() 9088 } 9089 9090 // SetContainerName sets the ContainerName field's value. 9091 func (s *ContainerStateChange) SetContainerName(v string) *ContainerStateChange { 9092 s.ContainerName = &v 9093 return s 9094 } 9095 9096 // SetExitCode sets the ExitCode field's value. 9097 func (s *ContainerStateChange) SetExitCode(v int64) *ContainerStateChange { 9098 s.ExitCode = &v 9099 return s 9100 } 9101 9102 // SetImageDigest sets the ImageDigest field's value. 9103 func (s *ContainerStateChange) SetImageDigest(v string) *ContainerStateChange { 9104 s.ImageDigest = &v 9105 return s 9106 } 9107 9108 // SetNetworkBindings sets the NetworkBindings field's value. 9109 func (s *ContainerStateChange) SetNetworkBindings(v []*NetworkBinding) *ContainerStateChange { 9110 s.NetworkBindings = v 9111 return s 9112 } 9113 9114 // SetReason sets the Reason field's value. 9115 func (s *ContainerStateChange) SetReason(v string) *ContainerStateChange { 9116 s.Reason = &v 9117 return s 9118 } 9119 9120 // SetRuntimeId sets the RuntimeId field's value. 9121 func (s *ContainerStateChange) SetRuntimeId(v string) *ContainerStateChange { 9122 s.RuntimeId = &v 9123 return s 9124 } 9125 9126 // SetStatus sets the Status field's value. 9127 func (s *ContainerStateChange) SetStatus(v string) *ContainerStateChange { 9128 s.Status = &v 9129 return s 9130 } 9131 9132 type CreateCapacityProviderInput struct { 9133 _ struct{} `type:"structure"` 9134 9135 // The details of the Auto Scaling group for the capacity provider. 9136 // 9137 // AutoScalingGroupProvider is a required field 9138 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` 9139 9140 // The name of the capacity provider. Up to 255 characters are allowed, including 9141 // letters (upper and lowercase), numbers, underscores, and hyphens. The name 9142 // cannot be prefixed with "aws", "ecs", or "fargate". 9143 // 9144 // Name is a required field 9145 Name *string `locationName:"name" type:"string" required:"true"` 9146 9147 // The metadata that you apply to the capacity provider to help you categorize 9148 // and organize them. Each tag consists of a key and an optional value, both 9149 // of which you define. 9150 // 9151 // The following basic restrictions apply to tags: 9152 // 9153 // * Maximum number of tags per resource - 50 9154 // 9155 // * For each resource, each tag key must be unique, and each tag key can 9156 // have only one value. 9157 // 9158 // * Maximum key length - 128 Unicode characters in UTF-8 9159 // 9160 // * Maximum value length - 256 Unicode characters in UTF-8 9161 // 9162 // * If your tagging schema is used across multiple services and resources, 9163 // remember that other services may have restrictions on allowed characters. 9164 // Generally allowed characters are: letters, numbers, and spaces representable 9165 // in UTF-8, and the following characters: + - = . _ : / @. 9166 // 9167 // * Tag keys and values are case-sensitive. 9168 // 9169 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9170 // as a prefix for either keys or values as it is reserved for Amazon Web 9171 // Services use. You cannot edit or delete tag keys or values with this prefix. 9172 // Tags with this prefix do not count against your tags per resource limit. 9173 Tags []*Tag `locationName:"tags" type:"list"` 9174 } 9175 9176 // String returns the string representation. 9177 // 9178 // API parameter values that are decorated as "sensitive" in the API will not 9179 // be included in the string output. The member name will be present, but the 9180 // value will be replaced with "sensitive". 9181 func (s CreateCapacityProviderInput) String() string { 9182 return awsutil.Prettify(s) 9183 } 9184 9185 // GoString returns the string representation. 9186 // 9187 // API parameter values that are decorated as "sensitive" in the API will not 9188 // be included in the string output. The member name will be present, but the 9189 // value will be replaced with "sensitive". 9190 func (s CreateCapacityProviderInput) GoString() string { 9191 return s.String() 9192 } 9193 9194 // Validate inspects the fields of the type to determine if they are valid. 9195 func (s *CreateCapacityProviderInput) Validate() error { 9196 invalidParams := request.ErrInvalidParams{Context: "CreateCapacityProviderInput"} 9197 if s.AutoScalingGroupProvider == nil { 9198 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) 9199 } 9200 if s.Name == nil { 9201 invalidParams.Add(request.NewErrParamRequired("Name")) 9202 } 9203 if s.AutoScalingGroupProvider != nil { 9204 if err := s.AutoScalingGroupProvider.Validate(); err != nil { 9205 invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) 9206 } 9207 } 9208 if s.Tags != nil { 9209 for i, v := range s.Tags { 9210 if v == nil { 9211 continue 9212 } 9213 if err := v.Validate(); err != nil { 9214 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9215 } 9216 } 9217 } 9218 9219 if invalidParams.Len() > 0 { 9220 return invalidParams 9221 } 9222 return nil 9223 } 9224 9225 // SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 9226 func (s *CreateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CreateCapacityProviderInput { 9227 s.AutoScalingGroupProvider = v 9228 return s 9229 } 9230 9231 // SetName sets the Name field's value. 9232 func (s *CreateCapacityProviderInput) SetName(v string) *CreateCapacityProviderInput { 9233 s.Name = &v 9234 return s 9235 } 9236 9237 // SetTags sets the Tags field's value. 9238 func (s *CreateCapacityProviderInput) SetTags(v []*Tag) *CreateCapacityProviderInput { 9239 s.Tags = v 9240 return s 9241 } 9242 9243 type CreateCapacityProviderOutput struct { 9244 _ struct{} `type:"structure"` 9245 9246 // The full description of the new capacity provider. 9247 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 9248 } 9249 9250 // String returns the string representation. 9251 // 9252 // API parameter values that are decorated as "sensitive" in the API will not 9253 // be included in the string output. The member name will be present, but the 9254 // value will be replaced with "sensitive". 9255 func (s CreateCapacityProviderOutput) String() string { 9256 return awsutil.Prettify(s) 9257 } 9258 9259 // GoString returns the string representation. 9260 // 9261 // API parameter values that are decorated as "sensitive" in the API will not 9262 // be included in the string output. The member name will be present, but the 9263 // value will be replaced with "sensitive". 9264 func (s CreateCapacityProviderOutput) GoString() string { 9265 return s.String() 9266 } 9267 9268 // SetCapacityProvider sets the CapacityProvider field's value. 9269 func (s *CreateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *CreateCapacityProviderOutput { 9270 s.CapacityProvider = v 9271 return s 9272 } 9273 9274 type CreateClusterInput struct { 9275 _ struct{} `type:"structure"` 9276 9277 // The short name of one or more capacity providers to associate with the cluster. 9278 // A capacity provider must be associated with a cluster before it can be included 9279 // as part of the default capacity provider strategy of the cluster or used 9280 // in a capacity provider strategy when calling the CreateService or RunTask 9281 // actions. 9282 // 9283 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 9284 // provider must already be created and not already associated with another 9285 // cluster. New Auto Scaling group capacity providers can be created with the 9286 // CreateCapacityProvider API operation. 9287 // 9288 // To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 9289 // capacity providers. The Fargate capacity providers are available to all accounts 9290 // and only need to be associated with a cluster to be used. 9291 // 9292 // The PutClusterCapacityProviders API operation is used to update the list 9293 // of available capacity providers for a cluster after the cluster is created. 9294 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 9295 9296 // The name of your cluster. If you do not specify a name for your cluster, 9297 // you create a cluster named default. Up to 255 letters (uppercase and lowercase), 9298 // numbers, underscores, and hyphens are allowed. 9299 ClusterName *string `locationName:"clusterName" type:"string"` 9300 9301 // The execute command configuration for the cluster. 9302 Configuration *ClusterConfiguration `locationName:"configuration" type:"structure"` 9303 9304 // The capacity provider strategy to set as the default for the cluster. When 9305 // a default capacity provider strategy is set for a cluster, when calling the 9306 // RunTask or CreateService APIs with no capacity provider strategy or launch 9307 // type specified, the default capacity provider strategy for the cluster is 9308 // used. 9309 // 9310 // If a default capacity provider strategy is not defined for a cluster during 9311 // creation, it can be defined later with the PutClusterCapacityProviders API 9312 // operation. 9313 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 9314 9315 // The setting to use when creating a cluster. This parameter is used to enable 9316 // CloudWatch Container Insights for a cluster. If this value is specified, 9317 // it will override the containerInsights value set with PutAccountSetting or 9318 // PutAccountSettingDefault. 9319 Settings []*ClusterSetting `locationName:"settings" type:"list"` 9320 9321 // The metadata that you apply to the cluster to help you categorize and organize 9322 // them. Each tag consists of a key and an optional value, both of which you 9323 // define. 9324 // 9325 // The following basic restrictions apply to tags: 9326 // 9327 // * Maximum number of tags per resource - 50 9328 // 9329 // * For each resource, each tag key must be unique, and each tag key can 9330 // have only one value. 9331 // 9332 // * Maximum key length - 128 Unicode characters in UTF-8 9333 // 9334 // * Maximum value length - 256 Unicode characters in UTF-8 9335 // 9336 // * If your tagging schema is used across multiple services and resources, 9337 // remember that other services may have restrictions on allowed characters. 9338 // Generally allowed characters are: letters, numbers, and spaces representable 9339 // in UTF-8, and the following characters: + - = . _ : / @. 9340 // 9341 // * Tag keys and values are case-sensitive. 9342 // 9343 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9344 // as a prefix for either keys or values as it is reserved for Amazon Web 9345 // Services use. You cannot edit or delete tag keys or values with this prefix. 9346 // Tags with this prefix do not count against your tags per resource limit. 9347 Tags []*Tag `locationName:"tags" type:"list"` 9348 } 9349 9350 // String returns the string representation. 9351 // 9352 // API parameter values that are decorated as "sensitive" in the API will not 9353 // be included in the string output. The member name will be present, but the 9354 // value will be replaced with "sensitive". 9355 func (s CreateClusterInput) String() string { 9356 return awsutil.Prettify(s) 9357 } 9358 9359 // GoString returns the string representation. 9360 // 9361 // API parameter values that are decorated as "sensitive" in the API will not 9362 // be included in the string output. The member name will be present, but the 9363 // value will be replaced with "sensitive". 9364 func (s CreateClusterInput) GoString() string { 9365 return s.String() 9366 } 9367 9368 // Validate inspects the fields of the type to determine if they are valid. 9369 func (s *CreateClusterInput) Validate() error { 9370 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 9371 if s.DefaultCapacityProviderStrategy != nil { 9372 for i, v := range s.DefaultCapacityProviderStrategy { 9373 if v == nil { 9374 continue 9375 } 9376 if err := v.Validate(); err != nil { 9377 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9378 } 9379 } 9380 } 9381 if s.Tags != nil { 9382 for i, v := range s.Tags { 9383 if v == nil { 9384 continue 9385 } 9386 if err := v.Validate(); err != nil { 9387 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9388 } 9389 } 9390 } 9391 9392 if invalidParams.Len() > 0 { 9393 return invalidParams 9394 } 9395 return nil 9396 } 9397 9398 // SetCapacityProviders sets the CapacityProviders field's value. 9399 func (s *CreateClusterInput) SetCapacityProviders(v []*string) *CreateClusterInput { 9400 s.CapacityProviders = v 9401 return s 9402 } 9403 9404 // SetClusterName sets the ClusterName field's value. 9405 func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { 9406 s.ClusterName = &v 9407 return s 9408 } 9409 9410 // SetConfiguration sets the Configuration field's value. 9411 func (s *CreateClusterInput) SetConfiguration(v *ClusterConfiguration) *CreateClusterInput { 9412 s.Configuration = v 9413 return s 9414 } 9415 9416 // SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 9417 func (s *CreateClusterInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateClusterInput { 9418 s.DefaultCapacityProviderStrategy = v 9419 return s 9420 } 9421 9422 // SetSettings sets the Settings field's value. 9423 func (s *CreateClusterInput) SetSettings(v []*ClusterSetting) *CreateClusterInput { 9424 s.Settings = v 9425 return s 9426 } 9427 9428 // SetTags sets the Tags field's value. 9429 func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { 9430 s.Tags = v 9431 return s 9432 } 9433 9434 type CreateClusterOutput struct { 9435 _ struct{} `type:"structure"` 9436 9437 // The full description of your new cluster. 9438 Cluster *Cluster `locationName:"cluster" type:"structure"` 9439 } 9440 9441 // String returns the string representation. 9442 // 9443 // API parameter values that are decorated as "sensitive" in the API will not 9444 // be included in the string output. The member name will be present, but the 9445 // value will be replaced with "sensitive". 9446 func (s CreateClusterOutput) String() string { 9447 return awsutil.Prettify(s) 9448 } 9449 9450 // GoString returns the string representation. 9451 // 9452 // API parameter values that are decorated as "sensitive" in the API will not 9453 // be included in the string output. The member name will be present, but the 9454 // value will be replaced with "sensitive". 9455 func (s CreateClusterOutput) GoString() string { 9456 return s.String() 9457 } 9458 9459 // SetCluster sets the Cluster field's value. 9460 func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 9461 s.Cluster = v 9462 return s 9463 } 9464 9465 type CreateServiceInput struct { 9466 _ struct{} `type:"structure"` 9467 9468 // The capacity provider strategy to use for the service. 9469 // 9470 // If a capacityProviderStrategy is specified, the launchType parameter must 9471 // be omitted. If no capacityProviderStrategy or launchType is specified, the 9472 // defaultCapacityProviderStrategy for the cluster is used. 9473 // 9474 // A capacity provider strategy may contain a maximum of 6 capacity providers. 9475 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9476 9477 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9478 // of the request. Up to 32 ASCII characters are allowed. 9479 ClientToken *string `locationName:"clientToken" type:"string"` 9480 9481 // The short name or full Amazon Resource Name (ARN) of the cluster on which 9482 // to run your service. If you do not specify a cluster, the default cluster 9483 // is assumed. 9484 Cluster *string `locationName:"cluster" type:"string"` 9485 9486 // Optional deployment parameters that control how many tasks run during the 9487 // deployment and the ordering of stopping and starting tasks. 9488 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 9489 9490 // The deployment controller to use for the service. If no deployment controller 9491 // is specified, the default value of ECS is used. 9492 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 9493 9494 // The number of instantiations of the specified task definition to place and 9495 // keep running on your cluster. 9496 // 9497 // This is required if schedulingStrategy is REPLICA or is not specified. If 9498 // schedulingStrategy is DAEMON then this is not required. 9499 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 9500 9501 // Specifies whether to enable Amazon ECS managed tags for the tasks within 9502 // the service. For more information, see Tagging Your Amazon ECS Resources 9503 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 9504 // in the Amazon Elastic Container Service Developer Guide. 9505 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 9506 9507 // Whether or not the execute command functionality is enabled for the service. 9508 // If true, this enables execute command functionality on all containers in 9509 // the service tasks. 9510 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 9511 9512 // The period of time, in seconds, that the Amazon ECS service scheduler should 9513 // ignore unhealthy Elastic Load Balancing target health checks after a task 9514 // has first started. This is only used when your service is configured to use 9515 // a load balancer. If your service has a load balancer defined and you don't 9516 // specify a health check grace period value, the default value of 0 is used. 9517 // 9518 // If your service's tasks take a while to start and respond to Elastic Load 9519 // Balancing health checks, you can specify a health check grace period of up 9520 // to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler 9521 // ignores health check status. This grace period can prevent the service scheduler 9522 // from marking tasks as unhealthy and stopping them before they have time to 9523 // come up. 9524 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 9525 9526 // The infrastructure on which to run your service. For more information, see 9527 // Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9528 // in the Amazon Elastic Container Service Developer Guide. 9529 // 9530 // The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure. 9531 // 9532 // Fargate Spot infrastructure is available for use but a capacity provider 9533 // strategy must be used. For more information, see Fargate capacity providers 9534 // (https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-capacity-providers.html) 9535 // in the Amazon ECS User Guide for Fargate. 9536 // 9537 // The EC2 launch type runs your tasks on Amazon EC2 instances registered to 9538 // your cluster. 9539 // 9540 // The EXTERNAL launch type runs your tasks on your on-premise server or virtual 9541 // machine (VM) capacity registered to your cluster. 9542 // 9543 // A service can use either a launch type or a capacity provider strategy. If 9544 // a launchType is specified, the capacityProviderStrategy parameter must be 9545 // omitted. 9546 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9547 9548 // A load balancer object representing the load balancers to use with your service. 9549 // For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 9550 // in the Amazon Elastic Container Service Developer Guide. 9551 // 9552 // If the service is using the rolling update (ECS) deployment controller and 9553 // using either an Application Load Balancer or Network Load Balancer, you must 9554 // specify one or more target group ARNs to attach to the service. The service-linked 9555 // role is required for services that make use of multiple target groups. For 9556 // more information, see Using service-linked roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 9557 // in the Amazon Elastic Container Service Developer Guide. 9558 // 9559 // If the service is using the CODE_DEPLOY deployment controller, the service 9560 // is required to use either an Application Load Balancer or Network Load Balancer. 9561 // When creating an CodeDeploy deployment group, you specify two target groups 9562 // (referred to as a targetGroupPair). During a deployment, CodeDeploy determines 9563 // which task set in your service has the status PRIMARY and associates one 9564 // target group with it, and then associates the other target group with the 9565 // replacement task set. The load balancer can also have up to two listeners: 9566 // a required listener for production traffic and an optional listener that 9567 // allows you perform validation tests with Lambda functions before routing 9568 // production traffic to it. 9569 // 9570 // After you create a service using the ECS deployment controller, the load 9571 // balancer name or target group ARN, container name, and container port specified 9572 // in the service definition are immutable. If you are using the CODE_DEPLOY 9573 // deployment controller, these values can be changed when updating the service. 9574 // 9575 // For Application Load Balancers and Network Load Balancers, this object must 9576 // contain the load balancer target group ARN, the container name (as it appears 9577 // in a container definition), and the container port to access from the load 9578 // balancer. The load balancer name parameter must be omitted. When a task from 9579 // this service is placed on a container instance, the container instance and 9580 // port combination is registered as a target in the target group specified 9581 // here. 9582 // 9583 // For Classic Load Balancers, this object must contain the load balancer name, 9584 // the container name (as it appears in a container definition), and the container 9585 // port to access from the load balancer. The target group ARN parameter must 9586 // be omitted. When a task from this service is placed on a container instance, 9587 // the container instance is registered with the load balancer specified here. 9588 // 9589 // Services with tasks that use the awsvpc network mode (for example, those 9590 // with the Fargate launch type) only support Application Load Balancers and 9591 // Network Load Balancers. Classic Load Balancers are not supported. Also, when 9592 // you create any target groups for these services, you must choose ip as the 9593 // target type, not instance, because tasks that use the awsvpc network mode 9594 // are associated with an elastic network interface, not an Amazon EC2 instance. 9595 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 9596 9597 // The network configuration for the service. This parameter is required for 9598 // task definitions that use the awsvpc network mode to receive their own elastic 9599 // network interface, and it is not supported for other network modes. For more 9600 // information, see Task networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 9601 // in the Amazon Elastic Container Service Developer Guide. 9602 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9603 9604 // An array of placement constraint objects to use for tasks in your service. 9605 // You can specify a maximum of 10 constraints per task (this limit includes 9606 // constraints in the task definition and those specified at runtime). 9607 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 9608 9609 // The placement strategy objects to use for tasks in your service. You can 9610 // specify a maximum of 5 strategy rules per service. 9611 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 9612 9613 // The platform version that your tasks in the service are running on. A platform 9614 // version is specified only for tasks using the Fargate launch type. If one 9615 // isn't specified, the LATEST platform version is used by default. For more 9616 // information, see Fargate platform versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 9617 // in the Amazon Elastic Container Service Developer Guide. 9618 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9619 9620 // Specifies whether to propagate the tags from the task definition or the service 9621 // to the tasks in the service. If no value is specified, the tags are not propagated. 9622 // Tags can only be propagated to the tasks within the service during service 9623 // creation. To add tags to a task after service creation, use the TagResource 9624 // API action. 9625 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 9626 9627 // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon 9628 // ECS to make calls to your load balancer on your behalf. This parameter is 9629 // only permitted if you are using a load balancer with your service and your 9630 // task definition does not use the awsvpc network mode. If you specify the 9631 // role parameter, you must also specify a load balancer object with the loadBalancers 9632 // parameter. 9633 // 9634 // If your account has already created the Amazon ECS service-linked role, that 9635 // role is used by default for your service unless you specify a role here. 9636 // The service-linked role is required if your task definition uses the awsvpc 9637 // network mode or if the service is configured to use service discovery, an 9638 // external deployment controller, multiple target groups, or Elastic Inference 9639 // accelerators in which case you should not specify a role here. For more information, 9640 // see Using service-linked roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 9641 // in the Amazon Elastic Container Service Developer Guide. 9642 // 9643 // If your specified role has a path other than /, then you must either specify 9644 // the full role ARN (this is recommended) or prefix the role name with the 9645 // path. For example, if a role with the name bar has a path of /foo/ then you 9646 // would specify /foo/bar as the role name. For more information, see Friendly 9647 // names and paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 9648 // in the IAM User Guide. 9649 Role *string `locationName:"role" type:"string"` 9650 9651 // The scheduling strategy to use for the service. For more information, see 9652 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 9653 // 9654 // There are two service scheduler strategies available: 9655 // 9656 // * REPLICA-The replica scheduling strategy places and maintains the desired 9657 // number of tasks across your cluster. By default, the service scheduler 9658 // spreads tasks across Availability Zones. You can use task placement strategies 9659 // and constraints to customize task placement decisions. This scheduler 9660 // strategy is required if the service is using the CODE_DEPLOY or EXTERNAL 9661 // deployment controller types. 9662 // 9663 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 9664 // active container instance that meets all of the task placement constraints 9665 // that you specify in your cluster. The service scheduler also evaluates 9666 // the task placement constraints for running tasks and will stop tasks that 9667 // do not meet the placement constraints. When you're using this strategy, 9668 // you don't need to specify a desired number of tasks, a task placement 9669 // strategy, or use Service Auto Scaling policies. Tasks using the Fargate 9670 // launch type or the CODE_DEPLOY or EXTERNAL deployment controller types 9671 // don't support the DAEMON scheduling strategy. 9672 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 9673 9674 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 9675 // underscores, and hyphens are allowed. Service names must be unique within 9676 // a cluster, but you can have similarly named services in multiple clusters 9677 // within a Region or across multiple Regions. 9678 // 9679 // ServiceName is a required field 9680 ServiceName *string `locationName:"serviceName" type:"string" required:"true"` 9681 9682 // The details of the service discovery registry to associate with this service. 9683 // For more information, see Service discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 9684 // 9685 // Each service may be associated with one service registry. Multiple service 9686 // registries per service isn't supported. 9687 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 9688 9689 // The metadata that you apply to the service to help you categorize and organize 9690 // them. Each tag consists of a key and an optional value, both of which you 9691 // define. When a service is deleted, the tags are deleted as well. 9692 // 9693 // The following basic restrictions apply to tags: 9694 // 9695 // * Maximum number of tags per resource - 50 9696 // 9697 // * For each resource, each tag key must be unique, and each tag key can 9698 // have only one value. 9699 // 9700 // * Maximum key length - 128 Unicode characters in UTF-8 9701 // 9702 // * Maximum value length - 256 Unicode characters in UTF-8 9703 // 9704 // * If your tagging schema is used across multiple services and resources, 9705 // remember that other services may have restrictions on allowed characters. 9706 // Generally allowed characters are: letters, numbers, and spaces representable 9707 // in UTF-8, and the following characters: + - = . _ : / @. 9708 // 9709 // * Tag keys and values are case-sensitive. 9710 // 9711 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9712 // as a prefix for either keys or values as it is reserved for Amazon Web 9713 // Services use. You cannot edit or delete tag keys or values with this prefix. 9714 // Tags with this prefix do not count against your tags per resource limit. 9715 Tags []*Tag `locationName:"tags" type:"list"` 9716 9717 // The family and revision (family:revision) or full ARN of the task definition 9718 // to run in your service. If a revision is not specified, the latest ACTIVE 9719 // revision is used. 9720 // 9721 // A task definition must be specified if the service is using either the ECS 9722 // or CODE_DEPLOY deployment controllers. 9723 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 9724 } 9725 9726 // String returns the string representation. 9727 // 9728 // API parameter values that are decorated as "sensitive" in the API will not 9729 // be included in the string output. The member name will be present, but the 9730 // value will be replaced with "sensitive". 9731 func (s CreateServiceInput) String() string { 9732 return awsutil.Prettify(s) 9733 } 9734 9735 // GoString returns the string representation. 9736 // 9737 // API parameter values that are decorated as "sensitive" in the API will not 9738 // be included in the string output. The member name will be present, but the 9739 // value will be replaced with "sensitive". 9740 func (s CreateServiceInput) GoString() string { 9741 return s.String() 9742 } 9743 9744 // Validate inspects the fields of the type to determine if they are valid. 9745 func (s *CreateServiceInput) Validate() error { 9746 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 9747 if s.ServiceName == nil { 9748 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 9749 } 9750 if s.CapacityProviderStrategy != nil { 9751 for i, v := range s.CapacityProviderStrategy { 9752 if v == nil { 9753 continue 9754 } 9755 if err := v.Validate(); err != nil { 9756 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9757 } 9758 } 9759 } 9760 if s.DeploymentConfiguration != nil { 9761 if err := s.DeploymentConfiguration.Validate(); err != nil { 9762 invalidParams.AddNested("DeploymentConfiguration", err.(request.ErrInvalidParams)) 9763 } 9764 } 9765 if s.DeploymentController != nil { 9766 if err := s.DeploymentController.Validate(); err != nil { 9767 invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) 9768 } 9769 } 9770 if s.NetworkConfiguration != nil { 9771 if err := s.NetworkConfiguration.Validate(); err != nil { 9772 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 9773 } 9774 } 9775 if s.Tags != nil { 9776 for i, v := range s.Tags { 9777 if v == nil { 9778 continue 9779 } 9780 if err := v.Validate(); err != nil { 9781 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9782 } 9783 } 9784 } 9785 9786 if invalidParams.Len() > 0 { 9787 return invalidParams 9788 } 9789 return nil 9790 } 9791 9792 // SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9793 func (s *CreateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateServiceInput { 9794 s.CapacityProviderStrategy = v 9795 return s 9796 } 9797 9798 // SetClientToken sets the ClientToken field's value. 9799 func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput { 9800 s.ClientToken = &v 9801 return s 9802 } 9803 9804 // SetCluster sets the Cluster field's value. 9805 func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput { 9806 s.Cluster = &v 9807 return s 9808 } 9809 9810 // SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 9811 func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput { 9812 s.DeploymentConfiguration = v 9813 return s 9814 } 9815 9816 // SetDeploymentController sets the DeploymentController field's value. 9817 func (s *CreateServiceInput) SetDeploymentController(v *DeploymentController) *CreateServiceInput { 9818 s.DeploymentController = v 9819 return s 9820 } 9821 9822 // SetDesiredCount sets the DesiredCount field's value. 9823 func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput { 9824 s.DesiredCount = &v 9825 return s 9826 } 9827 9828 // SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 9829 func (s *CreateServiceInput) SetEnableECSManagedTags(v bool) *CreateServiceInput { 9830 s.EnableECSManagedTags = &v 9831 return s 9832 } 9833 9834 // SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 9835 func (s *CreateServiceInput) SetEnableExecuteCommand(v bool) *CreateServiceInput { 9836 s.EnableExecuteCommand = &v 9837 return s 9838 } 9839 9840 // SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 9841 func (s *CreateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *CreateServiceInput { 9842 s.HealthCheckGracePeriodSeconds = &v 9843 return s 9844 } 9845 9846 // SetLaunchType sets the LaunchType field's value. 9847 func (s *CreateServiceInput) SetLaunchType(v string) *CreateServiceInput { 9848 s.LaunchType = &v 9849 return s 9850 } 9851 9852 // SetLoadBalancers sets the LoadBalancers field's value. 9853 func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput { 9854 s.LoadBalancers = v 9855 return s 9856 } 9857 9858 // SetNetworkConfiguration sets the NetworkConfiguration field's value. 9859 func (s *CreateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateServiceInput { 9860 s.NetworkConfiguration = v 9861 return s 9862 } 9863 9864 // SetPlacementConstraints sets the PlacementConstraints field's value. 9865 func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput { 9866 s.PlacementConstraints = v 9867 return s 9868 } 9869 9870 // SetPlacementStrategy sets the PlacementStrategy field's value. 9871 func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput { 9872 s.PlacementStrategy = v 9873 return s 9874 } 9875 9876 // SetPlatformVersion sets the PlatformVersion field's value. 9877 func (s *CreateServiceInput) SetPlatformVersion(v string) *CreateServiceInput { 9878 s.PlatformVersion = &v 9879 return s 9880 } 9881 9882 // SetPropagateTags sets the PropagateTags field's value. 9883 func (s *CreateServiceInput) SetPropagateTags(v string) *CreateServiceInput { 9884 s.PropagateTags = &v 9885 return s 9886 } 9887 9888 // SetRole sets the Role field's value. 9889 func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput { 9890 s.Role = &v 9891 return s 9892 } 9893 9894 // SetSchedulingStrategy sets the SchedulingStrategy field's value. 9895 func (s *CreateServiceInput) SetSchedulingStrategy(v string) *CreateServiceInput { 9896 s.SchedulingStrategy = &v 9897 return s 9898 } 9899 9900 // SetServiceName sets the ServiceName field's value. 9901 func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput { 9902 s.ServiceName = &v 9903 return s 9904 } 9905 9906 // SetServiceRegistries sets the ServiceRegistries field's value. 9907 func (s *CreateServiceInput) SetServiceRegistries(v []*ServiceRegistry) *CreateServiceInput { 9908 s.ServiceRegistries = v 9909 return s 9910 } 9911 9912 // SetTags sets the Tags field's value. 9913 func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { 9914 s.Tags = v 9915 return s 9916 } 9917 9918 // SetTaskDefinition sets the TaskDefinition field's value. 9919 func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput { 9920 s.TaskDefinition = &v 9921 return s 9922 } 9923 9924 type CreateServiceOutput struct { 9925 _ struct{} `type:"structure"` 9926 9927 // The full description of your service following the create call. 9928 // 9929 // A service will return either a capacityProviderStrategy or launchType parameter, 9930 // but not both, depending on which one was specified during creation. 9931 // 9932 // If a service is using the ECS deployment controller, the deploymentController 9933 // and taskSets parameters will not be returned. 9934 // 9935 // If the service is using the CODE_DEPLOY deployment controller, the deploymentController, 9936 // taskSets and deployments parameters will be returned, however the deployments 9937 // parameter will be an empty list. 9938 Service *Service `locationName:"service" type:"structure"` 9939 } 9940 9941 // String returns the string representation. 9942 // 9943 // API parameter values that are decorated as "sensitive" in the API will not 9944 // be included in the string output. The member name will be present, but the 9945 // value will be replaced with "sensitive". 9946 func (s CreateServiceOutput) String() string { 9947 return awsutil.Prettify(s) 9948 } 9949 9950 // GoString returns the string representation. 9951 // 9952 // API parameter values that are decorated as "sensitive" in the API will not 9953 // be included in the string output. The member name will be present, but the 9954 // value will be replaced with "sensitive". 9955 func (s CreateServiceOutput) GoString() string { 9956 return s.String() 9957 } 9958 9959 // SetService sets the Service field's value. 9960 func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 9961 s.Service = v 9962 return s 9963 } 9964 9965 type CreateTaskSetInput struct { 9966 _ struct{} `type:"structure"` 9967 9968 // The capacity provider strategy to use for the task set. 9969 // 9970 // A capacity provider strategy consists of one or more capacity providers along 9971 // with the base and weight to assign to them. A capacity provider must be associated 9972 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 9973 // API is used to associate a capacity provider with a cluster. Only capacity 9974 // providers with an ACTIVE or UPDATING status can be used. 9975 // 9976 // If a capacityProviderStrategy is specified, the launchType parameter must 9977 // be omitted. If no capacityProviderStrategy or launchType is specified, the 9978 // defaultCapacityProviderStrategy for the cluster is used. 9979 // 9980 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 9981 // provider must already be created. New capacity providers can be created with 9982 // the CreateCapacityProvider API operation. 9983 // 9984 // To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 9985 // capacity providers. The Fargate capacity providers are available to all accounts 9986 // and only need to be associated with a cluster to be used. 9987 // 9988 // The PutClusterCapacityProviders API operation is used to update the list 9989 // of available capacity providers for a cluster after the cluster is created. 9990 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9991 9992 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9993 // of the request. Up to 32 ASCII characters are allowed. 9994 ClientToken *string `locationName:"clientToken" type:"string"` 9995 9996 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9997 // the service to create the task set in. 9998 // 9999 // Cluster is a required field 10000 Cluster *string `locationName:"cluster" type:"string" required:"true"` 10001 10002 // An optional non-unique tag that identifies this task set in external systems. 10003 // If the task set is associated with a service discovery registry, the tasks 10004 // in this task set will have the ECS_TASK_SET_EXTERNAL_ID Cloud Map attribute 10005 // set to the provided value. 10006 ExternalId *string `locationName:"externalId" type:"string"` 10007 10008 // The launch type that new tasks in the task set will use. For more information, 10009 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 10010 // in the Amazon Elastic Container Service Developer Guide. 10011 // 10012 // If a launchType is specified, the capacityProviderStrategy parameter must 10013 // be omitted. 10014 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 10015 10016 // A load balancer object representing the load balancer to use with the task 10017 // set. The supported load balancer types are either an Application Load Balancer 10018 // or a Network Load Balancer. 10019 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 10020 10021 // An object representing the network configuration for a task set. 10022 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 10023 10024 // The platform version that the tasks in the task set should use. A platform 10025 // version is specified only for tasks using the Fargate launch type. If one 10026 // isn't specified, the LATEST platform version is used by default. 10027 PlatformVersion *string `locationName:"platformVersion" type:"string"` 10028 10029 // A floating-point percentage of the desired number of tasks to place and keep 10030 // running in the task set. 10031 Scale *Scale `locationName:"scale" type:"structure"` 10032 10033 // The short name or full Amazon Resource Name (ARN) of the service to create 10034 // the task set in. 10035 // 10036 // Service is a required field 10037 Service *string `locationName:"service" type:"string" required:"true"` 10038 10039 // The details of the service discovery registries to assign to this task set. 10040 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 10041 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 10042 10043 // The metadata that you apply to the task set to help you categorize and organize 10044 // them. Each tag consists of a key and an optional value, both of which you 10045 // define. When a service is deleted, the tags are deleted as well. 10046 // 10047 // The following basic restrictions apply to tags: 10048 // 10049 // * Maximum number of tags per resource - 50 10050 // 10051 // * For each resource, each tag key must be unique, and each tag key can 10052 // have only one value. 10053 // 10054 // * Maximum key length - 128 Unicode characters in UTF-8 10055 // 10056 // * Maximum value length - 256 Unicode characters in UTF-8 10057 // 10058 // * If your tagging schema is used across multiple services and resources, 10059 // remember that other services may have restrictions on allowed characters. 10060 // Generally allowed characters are: letters, numbers, and spaces representable 10061 // in UTF-8, and the following characters: + - = . _ : / @. 10062 // 10063 // * Tag keys and values are case-sensitive. 10064 // 10065 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 10066 // as a prefix for either keys or values as it is reserved for Amazon Web 10067 // Services use. You cannot edit or delete tag keys or values with this prefix. 10068 // Tags with this prefix do not count against your tags per resource limit. 10069 Tags []*Tag `locationName:"tags" type:"list"` 10070 10071 // The task definition for the tasks in the task set to use. 10072 // 10073 // TaskDefinition is a required field 10074 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 10075 } 10076 10077 // String returns the string representation. 10078 // 10079 // API parameter values that are decorated as "sensitive" in the API will not 10080 // be included in the string output. The member name will be present, but the 10081 // value will be replaced with "sensitive". 10082 func (s CreateTaskSetInput) String() string { 10083 return awsutil.Prettify(s) 10084 } 10085 10086 // GoString returns the string representation. 10087 // 10088 // API parameter values that are decorated as "sensitive" in the API will not 10089 // be included in the string output. The member name will be present, but the 10090 // value will be replaced with "sensitive". 10091 func (s CreateTaskSetInput) GoString() string { 10092 return s.String() 10093 } 10094 10095 // Validate inspects the fields of the type to determine if they are valid. 10096 func (s *CreateTaskSetInput) Validate() error { 10097 invalidParams := request.ErrInvalidParams{Context: "CreateTaskSetInput"} 10098 if s.Cluster == nil { 10099 invalidParams.Add(request.NewErrParamRequired("Cluster")) 10100 } 10101 if s.Service == nil { 10102 invalidParams.Add(request.NewErrParamRequired("Service")) 10103 } 10104 if s.TaskDefinition == nil { 10105 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 10106 } 10107 if s.CapacityProviderStrategy != nil { 10108 for i, v := range s.CapacityProviderStrategy { 10109 if v == nil { 10110 continue 10111 } 10112 if err := v.Validate(); err != nil { 10113 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 10114 } 10115 } 10116 } 10117 if s.NetworkConfiguration != nil { 10118 if err := s.NetworkConfiguration.Validate(); err != nil { 10119 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 10120 } 10121 } 10122 if s.Tags != nil { 10123 for i, v := range s.Tags { 10124 if v == nil { 10125 continue 10126 } 10127 if err := v.Validate(); err != nil { 10128 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 10129 } 10130 } 10131 } 10132 10133 if invalidParams.Len() > 0 { 10134 return invalidParams 10135 } 10136 return nil 10137 } 10138 10139 // SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 10140 func (s *CreateTaskSetInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateTaskSetInput { 10141 s.CapacityProviderStrategy = v 10142 return s 10143 } 10144 10145 // SetClientToken sets the ClientToken field's value. 10146 func (s *CreateTaskSetInput) SetClientToken(v string) *CreateTaskSetInput { 10147 s.ClientToken = &v 10148 return s 10149 } 10150 10151 // SetCluster sets the Cluster field's value. 10152 func (s *CreateTaskSetInput) SetCluster(v string) *CreateTaskSetInput { 10153 s.Cluster = &v 10154 return s 10155 } 10156 10157 // SetExternalId sets the ExternalId field's value. 10158 func (s *CreateTaskSetInput) SetExternalId(v string) *CreateTaskSetInput { 10159 s.ExternalId = &v 10160 return s 10161 } 10162 10163 // SetLaunchType sets the LaunchType field's value. 10164 func (s *CreateTaskSetInput) SetLaunchType(v string) *CreateTaskSetInput { 10165 s.LaunchType = &v 10166 return s 10167 } 10168 10169 // SetLoadBalancers sets the LoadBalancers field's value. 10170 func (s *CreateTaskSetInput) SetLoadBalancers(v []*LoadBalancer) *CreateTaskSetInput { 10171 s.LoadBalancers = v 10172 return s 10173 } 10174 10175 // SetNetworkConfiguration sets the NetworkConfiguration field's value. 10176 func (s *CreateTaskSetInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateTaskSetInput { 10177 s.NetworkConfiguration = v 10178 return s 10179 } 10180 10181 // SetPlatformVersion sets the PlatformVersion field's value. 10182 func (s *CreateTaskSetInput) SetPlatformVersion(v string) *CreateTaskSetInput { 10183 s.PlatformVersion = &v 10184 return s 10185 } 10186 10187 // SetScale sets the Scale field's value. 10188 func (s *CreateTaskSetInput) SetScale(v *Scale) *CreateTaskSetInput { 10189 s.Scale = v 10190 return s 10191 } 10192 10193 // SetService sets the Service field's value. 10194 func (s *CreateTaskSetInput) SetService(v string) *CreateTaskSetInput { 10195 s.Service = &v 10196 return s 10197 } 10198 10199 // SetServiceRegistries sets the ServiceRegistries field's value. 10200 func (s *CreateTaskSetInput) SetServiceRegistries(v []*ServiceRegistry) *CreateTaskSetInput { 10201 s.ServiceRegistries = v 10202 return s 10203 } 10204 10205 // SetTags sets the Tags field's value. 10206 func (s *CreateTaskSetInput) SetTags(v []*Tag) *CreateTaskSetInput { 10207 s.Tags = v 10208 return s 10209 } 10210 10211 // SetTaskDefinition sets the TaskDefinition field's value. 10212 func (s *CreateTaskSetInput) SetTaskDefinition(v string) *CreateTaskSetInput { 10213 s.TaskDefinition = &v 10214 return s 10215 } 10216 10217 type CreateTaskSetOutput struct { 10218 _ struct{} `type:"structure"` 10219 10220 // Information about a set of Amazon ECS tasks in either an CodeDeploy or an 10221 // EXTERNAL deployment. A task set includes details such as the desired number 10222 // of tasks, how many tasks are running, and whether the task set serves production 10223 // traffic. 10224 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 10225 } 10226 10227 // String returns the string representation. 10228 // 10229 // API parameter values that are decorated as "sensitive" in the API will not 10230 // be included in the string output. The member name will be present, but the 10231 // value will be replaced with "sensitive". 10232 func (s CreateTaskSetOutput) String() string { 10233 return awsutil.Prettify(s) 10234 } 10235 10236 // GoString returns the string representation. 10237 // 10238 // API parameter values that are decorated as "sensitive" in the API will not 10239 // be included in the string output. The member name will be present, but the 10240 // value will be replaced with "sensitive". 10241 func (s CreateTaskSetOutput) GoString() string { 10242 return s.String() 10243 } 10244 10245 // SetTaskSet sets the TaskSet field's value. 10246 func (s *CreateTaskSetOutput) SetTaskSet(v *TaskSet) *CreateTaskSetOutput { 10247 s.TaskSet = v 10248 return s 10249 } 10250 10251 type DeleteAccountSettingInput struct { 10252 _ struct{} `type:"structure"` 10253 10254 // The resource name for which to disable the account setting. If serviceLongArnFormat 10255 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 10256 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 10257 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 10258 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 10259 // the ENI limit for your Amazon ECS container instances is affected. 10260 // 10261 // Name is a required field 10262 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 10263 10264 // The ARN of the principal, which can be an IAM user, IAM role, or the root 10265 // user. If you specify the root user, it disables the account setting for all 10266 // IAM users, IAM roles, and the root user of the account unless an IAM user 10267 // or role explicitly overrides these settings. If this field is omitted, the 10268 // setting is changed only for the authenticated user. 10269 PrincipalArn *string `locationName:"principalArn" type:"string"` 10270 } 10271 10272 // String returns the string representation. 10273 // 10274 // API parameter values that are decorated as "sensitive" in the API will not 10275 // be included in the string output. The member name will be present, but the 10276 // value will be replaced with "sensitive". 10277 func (s DeleteAccountSettingInput) String() string { 10278 return awsutil.Prettify(s) 10279 } 10280 10281 // GoString returns the string representation. 10282 // 10283 // API parameter values that are decorated as "sensitive" in the API will not 10284 // be included in the string output. The member name will be present, but the 10285 // value will be replaced with "sensitive". 10286 func (s DeleteAccountSettingInput) GoString() string { 10287 return s.String() 10288 } 10289 10290 // Validate inspects the fields of the type to determine if they are valid. 10291 func (s *DeleteAccountSettingInput) Validate() error { 10292 invalidParams := request.ErrInvalidParams{Context: "DeleteAccountSettingInput"} 10293 if s.Name == nil { 10294 invalidParams.Add(request.NewErrParamRequired("Name")) 10295 } 10296 10297 if invalidParams.Len() > 0 { 10298 return invalidParams 10299 } 10300 return nil 10301 } 10302 10303 // SetName sets the Name field's value. 10304 func (s *DeleteAccountSettingInput) SetName(v string) *DeleteAccountSettingInput { 10305 s.Name = &v 10306 return s 10307 } 10308 10309 // SetPrincipalArn sets the PrincipalArn field's value. 10310 func (s *DeleteAccountSettingInput) SetPrincipalArn(v string) *DeleteAccountSettingInput { 10311 s.PrincipalArn = &v 10312 return s 10313 } 10314 10315 type DeleteAccountSettingOutput struct { 10316 _ struct{} `type:"structure"` 10317 10318 // The account setting for the specified principal ARN. 10319 Setting *Setting `locationName:"setting" type:"structure"` 10320 } 10321 10322 // String returns the string representation. 10323 // 10324 // API parameter values that are decorated as "sensitive" in the API will not 10325 // be included in the string output. The member name will be present, but the 10326 // value will be replaced with "sensitive". 10327 func (s DeleteAccountSettingOutput) String() string { 10328 return awsutil.Prettify(s) 10329 } 10330 10331 // GoString returns the string representation. 10332 // 10333 // API parameter values that are decorated as "sensitive" in the API will not 10334 // be included in the string output. The member name will be present, but the 10335 // value will be replaced with "sensitive". 10336 func (s DeleteAccountSettingOutput) GoString() string { 10337 return s.String() 10338 } 10339 10340 // SetSetting sets the Setting field's value. 10341 func (s *DeleteAccountSettingOutput) SetSetting(v *Setting) *DeleteAccountSettingOutput { 10342 s.Setting = v 10343 return s 10344 } 10345 10346 type DeleteAttributesInput struct { 10347 _ struct{} `type:"structure"` 10348 10349 // The attributes to delete from your resource. You can specify up to 10 attributes 10350 // per request. For custom attributes, specify the attribute name and target 10351 // ID, but do not specify the value. If you specify the target ID using the 10352 // short form, you must also specify the target type. 10353 // 10354 // Attributes is a required field 10355 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 10356 10357 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 10358 // the resource to delete attributes. If you do not specify a cluster, the default 10359 // cluster is assumed. 10360 Cluster *string `locationName:"cluster" type:"string"` 10361 } 10362 10363 // String 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 DeleteAttributesInput) String() string { 10369 return awsutil.Prettify(s) 10370 } 10371 10372 // GoString returns the string representation. 10373 // 10374 // API parameter values that are decorated as "sensitive" in the API will not 10375 // be included in the string output. The member name will be present, but the 10376 // value will be replaced with "sensitive". 10377 func (s DeleteAttributesInput) GoString() string { 10378 return s.String() 10379 } 10380 10381 // Validate inspects the fields of the type to determine if they are valid. 10382 func (s *DeleteAttributesInput) Validate() error { 10383 invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} 10384 if s.Attributes == nil { 10385 invalidParams.Add(request.NewErrParamRequired("Attributes")) 10386 } 10387 if s.Attributes != nil { 10388 for i, v := range s.Attributes { 10389 if v == nil { 10390 continue 10391 } 10392 if err := v.Validate(); err != nil { 10393 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 10394 } 10395 } 10396 } 10397 10398 if invalidParams.Len() > 0 { 10399 return invalidParams 10400 } 10401 return nil 10402 } 10403 10404 // SetAttributes sets the Attributes field's value. 10405 func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput { 10406 s.Attributes = v 10407 return s 10408 } 10409 10410 // SetCluster sets the Cluster field's value. 10411 func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput { 10412 s.Cluster = &v 10413 return s 10414 } 10415 10416 type DeleteAttributesOutput struct { 10417 _ struct{} `type:"structure"` 10418 10419 // A list of attribute objects that were successfully deleted from your resource. 10420 Attributes []*Attribute `locationName:"attributes" type:"list"` 10421 } 10422 10423 // String returns the string representation. 10424 // 10425 // API parameter values that are decorated as "sensitive" in the API will not 10426 // be included in the string output. The member name will be present, but the 10427 // value will be replaced with "sensitive". 10428 func (s DeleteAttributesOutput) String() string { 10429 return awsutil.Prettify(s) 10430 } 10431 10432 // GoString returns the string representation. 10433 // 10434 // API parameter values that are decorated as "sensitive" in the API will not 10435 // be included in the string output. The member name will be present, but the 10436 // value will be replaced with "sensitive". 10437 func (s DeleteAttributesOutput) GoString() string { 10438 return s.String() 10439 } 10440 10441 // SetAttributes sets the Attributes field's value. 10442 func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput { 10443 s.Attributes = v 10444 return s 10445 } 10446 10447 type DeleteCapacityProviderInput struct { 10448 _ struct{} `type:"structure"` 10449 10450 // The short name or full Amazon Resource Name (ARN) of the capacity provider 10451 // to delete. 10452 // 10453 // CapacityProvider is a required field 10454 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 10455 } 10456 10457 // String returns the string representation. 10458 // 10459 // API parameter values that are decorated as "sensitive" in the API will not 10460 // be included in the string output. The member name will be present, but the 10461 // value will be replaced with "sensitive". 10462 func (s DeleteCapacityProviderInput) String() string { 10463 return awsutil.Prettify(s) 10464 } 10465 10466 // GoString returns the string representation. 10467 // 10468 // API parameter values that are decorated as "sensitive" in the API will not 10469 // be included in the string output. The member name will be present, but the 10470 // value will be replaced with "sensitive". 10471 func (s DeleteCapacityProviderInput) GoString() string { 10472 return s.String() 10473 } 10474 10475 // Validate inspects the fields of the type to determine if they are valid. 10476 func (s *DeleteCapacityProviderInput) Validate() error { 10477 invalidParams := request.ErrInvalidParams{Context: "DeleteCapacityProviderInput"} 10478 if s.CapacityProvider == nil { 10479 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 10480 } 10481 10482 if invalidParams.Len() > 0 { 10483 return invalidParams 10484 } 10485 return nil 10486 } 10487 10488 // SetCapacityProvider sets the CapacityProvider field's value. 10489 func (s *DeleteCapacityProviderInput) SetCapacityProvider(v string) *DeleteCapacityProviderInput { 10490 s.CapacityProvider = &v 10491 return s 10492 } 10493 10494 type DeleteCapacityProviderOutput struct { 10495 _ struct{} `type:"structure"` 10496 10497 // The details of the capacity provider. 10498 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 10499 } 10500 10501 // String 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 DeleteCapacityProviderOutput) String() string { 10507 return awsutil.Prettify(s) 10508 } 10509 10510 // GoString returns the string representation. 10511 // 10512 // API parameter values that are decorated as "sensitive" in the API will not 10513 // be included in the string output. The member name will be present, but the 10514 // value will be replaced with "sensitive". 10515 func (s DeleteCapacityProviderOutput) GoString() string { 10516 return s.String() 10517 } 10518 10519 // SetCapacityProvider sets the CapacityProvider field's value. 10520 func (s *DeleteCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *DeleteCapacityProviderOutput { 10521 s.CapacityProvider = v 10522 return s 10523 } 10524 10525 type DeleteClusterInput struct { 10526 _ struct{} `type:"structure"` 10527 10528 // The short name or full Amazon Resource Name (ARN) of the cluster to delete. 10529 // 10530 // Cluster is a required field 10531 Cluster *string `locationName:"cluster" type:"string" required:"true"` 10532 } 10533 10534 // String returns the string representation. 10535 // 10536 // API parameter values that are decorated as "sensitive" in the API will not 10537 // be included in the string output. The member name will be present, but the 10538 // value will be replaced with "sensitive". 10539 func (s DeleteClusterInput) String() string { 10540 return awsutil.Prettify(s) 10541 } 10542 10543 // GoString returns the string representation. 10544 // 10545 // API parameter values that are decorated as "sensitive" in the API will not 10546 // be included in the string output. The member name will be present, but the 10547 // value will be replaced with "sensitive". 10548 func (s DeleteClusterInput) GoString() string { 10549 return s.String() 10550 } 10551 10552 // Validate inspects the fields of the type to determine if they are valid. 10553 func (s *DeleteClusterInput) Validate() error { 10554 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 10555 if s.Cluster == nil { 10556 invalidParams.Add(request.NewErrParamRequired("Cluster")) 10557 } 10558 10559 if invalidParams.Len() > 0 { 10560 return invalidParams 10561 } 10562 return nil 10563 } 10564 10565 // SetCluster sets the Cluster field's value. 10566 func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput { 10567 s.Cluster = &v 10568 return s 10569 } 10570 10571 type DeleteClusterOutput struct { 10572 _ struct{} `type:"structure"` 10573 10574 // The full description of the deleted cluster. 10575 Cluster *Cluster `locationName:"cluster" type:"structure"` 10576 } 10577 10578 // String returns the string representation. 10579 // 10580 // API parameter values that are decorated as "sensitive" in the API will not 10581 // be included in the string output. The member name will be present, but the 10582 // value will be replaced with "sensitive". 10583 func (s DeleteClusterOutput) String() string { 10584 return awsutil.Prettify(s) 10585 } 10586 10587 // GoString returns the string representation. 10588 // 10589 // API parameter values that are decorated as "sensitive" in the API will not 10590 // be included in the string output. The member name will be present, but the 10591 // value will be replaced with "sensitive". 10592 func (s DeleteClusterOutput) GoString() string { 10593 return s.String() 10594 } 10595 10596 // SetCluster sets the Cluster field's value. 10597 func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 10598 s.Cluster = v 10599 return s 10600 } 10601 10602 type DeleteServiceInput struct { 10603 _ struct{} `type:"structure"` 10604 10605 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10606 // the service to delete. If you do not specify a cluster, the default cluster 10607 // is assumed. 10608 Cluster *string `locationName:"cluster" type:"string"` 10609 10610 // If true, allows you to delete a service even if it has not been scaled down 10611 // to zero tasks. It is only necessary to use this if the service is using the 10612 // REPLICA scheduling strategy. 10613 Force *bool `locationName:"force" type:"boolean"` 10614 10615 // The name of the service to delete. 10616 // 10617 // Service is a required field 10618 Service *string `locationName:"service" type:"string" required:"true"` 10619 } 10620 10621 // String returns the string representation. 10622 // 10623 // API parameter values that are decorated as "sensitive" in the API will not 10624 // be included in the string output. The member name will be present, but the 10625 // value will be replaced with "sensitive". 10626 func (s DeleteServiceInput) String() string { 10627 return awsutil.Prettify(s) 10628 } 10629 10630 // GoString returns the string representation. 10631 // 10632 // API parameter values that are decorated as "sensitive" in the API will not 10633 // be included in the string output. The member name will be present, but the 10634 // value will be replaced with "sensitive". 10635 func (s DeleteServiceInput) GoString() string { 10636 return s.String() 10637 } 10638 10639 // Validate inspects the fields of the type to determine if they are valid. 10640 func (s *DeleteServiceInput) Validate() error { 10641 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 10642 if s.Service == nil { 10643 invalidParams.Add(request.NewErrParamRequired("Service")) 10644 } 10645 10646 if invalidParams.Len() > 0 { 10647 return invalidParams 10648 } 10649 return nil 10650 } 10651 10652 // SetCluster sets the Cluster field's value. 10653 func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput { 10654 s.Cluster = &v 10655 return s 10656 } 10657 10658 // SetForce sets the Force field's value. 10659 func (s *DeleteServiceInput) SetForce(v bool) *DeleteServiceInput { 10660 s.Force = &v 10661 return s 10662 } 10663 10664 // SetService sets the Service field's value. 10665 func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput { 10666 s.Service = &v 10667 return s 10668 } 10669 10670 type DeleteServiceOutput struct { 10671 _ struct{} `type:"structure"` 10672 10673 // The full description of the deleted service. 10674 Service *Service `locationName:"service" type:"structure"` 10675 } 10676 10677 // String returns the string representation. 10678 // 10679 // API parameter values that are decorated as "sensitive" in the API will not 10680 // be included in the string output. The member name will be present, but the 10681 // value will be replaced with "sensitive". 10682 func (s DeleteServiceOutput) String() string { 10683 return awsutil.Prettify(s) 10684 } 10685 10686 // GoString returns the string representation. 10687 // 10688 // API parameter values that are decorated as "sensitive" in the API will not 10689 // be included in the string output. The member name will be present, but the 10690 // value will be replaced with "sensitive". 10691 func (s DeleteServiceOutput) GoString() string { 10692 return s.String() 10693 } 10694 10695 // SetService sets the Service field's value. 10696 func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { 10697 s.Service = v 10698 return s 10699 } 10700 10701 type DeleteTaskSetInput struct { 10702 _ struct{} `type:"structure"` 10703 10704 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10705 // the service that the task set exists in to delete. 10706 // 10707 // Cluster is a required field 10708 Cluster *string `locationName:"cluster" type:"string" required:"true"` 10709 10710 // If true, this allows you to delete a task set even if it hasn't been scaled 10711 // down to zero. 10712 Force *bool `locationName:"force" type:"boolean"` 10713 10714 // The short name or full Amazon Resource Name (ARN) of the service that hosts 10715 // the task set to delete. 10716 // 10717 // Service is a required field 10718 Service *string `locationName:"service" type:"string" required:"true"` 10719 10720 // The task set ID or full Amazon Resource Name (ARN) of the task set to delete. 10721 // 10722 // TaskSet is a required field 10723 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 10724 } 10725 10726 // String returns the string representation. 10727 // 10728 // API parameter values that are decorated as "sensitive" in the API will not 10729 // be included in the string output. The member name will be present, but the 10730 // value will be replaced with "sensitive". 10731 func (s DeleteTaskSetInput) String() string { 10732 return awsutil.Prettify(s) 10733 } 10734 10735 // GoString returns the string representation. 10736 // 10737 // API parameter values that are decorated as "sensitive" in the API will not 10738 // be included in the string output. The member name will be present, but the 10739 // value will be replaced with "sensitive". 10740 func (s DeleteTaskSetInput) GoString() string { 10741 return s.String() 10742 } 10743 10744 // Validate inspects the fields of the type to determine if they are valid. 10745 func (s *DeleteTaskSetInput) Validate() error { 10746 invalidParams := request.ErrInvalidParams{Context: "DeleteTaskSetInput"} 10747 if s.Cluster == nil { 10748 invalidParams.Add(request.NewErrParamRequired("Cluster")) 10749 } 10750 if s.Service == nil { 10751 invalidParams.Add(request.NewErrParamRequired("Service")) 10752 } 10753 if s.TaskSet == nil { 10754 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 10755 } 10756 10757 if invalidParams.Len() > 0 { 10758 return invalidParams 10759 } 10760 return nil 10761 } 10762 10763 // SetCluster sets the Cluster field's value. 10764 func (s *DeleteTaskSetInput) SetCluster(v string) *DeleteTaskSetInput { 10765 s.Cluster = &v 10766 return s 10767 } 10768 10769 // SetForce sets the Force field's value. 10770 func (s *DeleteTaskSetInput) SetForce(v bool) *DeleteTaskSetInput { 10771 s.Force = &v 10772 return s 10773 } 10774 10775 // SetService sets the Service field's value. 10776 func (s *DeleteTaskSetInput) SetService(v string) *DeleteTaskSetInput { 10777 s.Service = &v 10778 return s 10779 } 10780 10781 // SetTaskSet sets the TaskSet field's value. 10782 func (s *DeleteTaskSetInput) SetTaskSet(v string) *DeleteTaskSetInput { 10783 s.TaskSet = &v 10784 return s 10785 } 10786 10787 type DeleteTaskSetOutput struct { 10788 _ struct{} `type:"structure"` 10789 10790 // Details about the task set. 10791 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 10792 } 10793 10794 // String returns the string representation. 10795 // 10796 // API parameter values that are decorated as "sensitive" in the API will not 10797 // be included in the string output. The member name will be present, but the 10798 // value will be replaced with "sensitive". 10799 func (s DeleteTaskSetOutput) String() string { 10800 return awsutil.Prettify(s) 10801 } 10802 10803 // GoString returns the string representation. 10804 // 10805 // API parameter values that are decorated as "sensitive" in the API will not 10806 // be included in the string output. The member name will be present, but the 10807 // value will be replaced with "sensitive". 10808 func (s DeleteTaskSetOutput) GoString() string { 10809 return s.String() 10810 } 10811 10812 // SetTaskSet sets the TaskSet field's value. 10813 func (s *DeleteTaskSetOutput) SetTaskSet(v *TaskSet) *DeleteTaskSetOutput { 10814 s.TaskSet = v 10815 return s 10816 } 10817 10818 // The details of an Amazon ECS service deployment. This is used only when a 10819 // service uses the ECS deployment controller type. 10820 type Deployment struct { 10821 _ struct{} `type:"structure"` 10822 10823 // The capacity provider strategy that the deployment is using. 10824 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 10825 10826 // The Unix timestamp for when the service deployment was created. 10827 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 10828 10829 // The most recent desired count of tasks that was specified for the service 10830 // to deploy or maintain. 10831 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 10832 10833 // The number of consecutively failed tasks in the deployment. A task is considered 10834 // a failure if the service scheduler can't launch the task, the task doesn't 10835 // transition to a RUNNING state, or if it fails any of its defined health checks 10836 // and is stopped. 10837 // 10838 // Once a service deployment has one or more successfully running tasks, the 10839 // failed task count resets to zero and stops being evaluated. 10840 FailedTasks *int64 `locationName:"failedTasks" type:"integer"` 10841 10842 // The ID of the deployment. 10843 Id *string `locationName:"id" type:"string"` 10844 10845 // The launch type the tasks in the service are using. For more information, 10846 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 10847 // in the Amazon Elastic Container Service Developer Guide. 10848 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 10849 10850 // The VPC subnet and security group configuration for tasks that receive their 10851 // own elastic network interface by using the awsvpc networking mode. 10852 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 10853 10854 // The number of tasks in the deployment that are in the PENDING status. 10855 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 10856 10857 // The platform version on which your tasks in the service are running. A platform 10858 // version is only specified for tasks using the Fargate launch type. If one 10859 // is not specified, the LATEST platform version is used by default. For more 10860 // information, see Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 10861 // in the Amazon Elastic Container Service Developer Guide. 10862 PlatformVersion *string `locationName:"platformVersion" type:"string"` 10863 10864 // 10865 // The rolloutState of a service is only returned for services that use the 10866 // rolling update (ECS) deployment type that are not behind a Classic Load Balancer. 10867 // 10868 // The rollout state of the deployment. When a service deployment is started, 10869 // it begins in an IN_PROGRESS state. When the service reaches a steady state, 10870 // the deployment will transition to a COMPLETED state. If the service fails 10871 // to reach a steady state and circuit breaker is enabled, the deployment will 10872 // transition to a FAILED state. A deployment in FAILED state will launch no 10873 // new tasks. For more information, see DeploymentCircuitBreaker. 10874 RolloutState *string `locationName:"rolloutState" type:"string" enum:"DeploymentRolloutState"` 10875 10876 // A description of the rollout state of a deployment. 10877 RolloutStateReason *string `locationName:"rolloutStateReason" type:"string"` 10878 10879 // The number of tasks in the deployment that are in the RUNNING status. 10880 RunningCount *int64 `locationName:"runningCount" type:"integer"` 10881 10882 // The status of the deployment. The following describes each state: 10883 // 10884 // PRIMARY 10885 // 10886 // The most recent deployment of a service. 10887 // 10888 // ACTIVE 10889 // 10890 // A service deployment that still has running tasks, but are in the process 10891 // of being replaced with a new PRIMARY deployment. 10892 // 10893 // INACTIVE 10894 // 10895 // A deployment that has been completely replaced. 10896 Status *string `locationName:"status" type:"string"` 10897 10898 // The most recent task definition that was specified for the tasks in the service 10899 // to use. 10900 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 10901 10902 // The Unix timestamp for when the service deployment was last updated. 10903 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 10904 } 10905 10906 // String returns the string representation. 10907 // 10908 // API parameter values that are decorated as "sensitive" in the API will not 10909 // be included in the string output. The member name will be present, but the 10910 // value will be replaced with "sensitive". 10911 func (s Deployment) String() string { 10912 return awsutil.Prettify(s) 10913 } 10914 10915 // GoString returns the string representation. 10916 // 10917 // API parameter values that are decorated as "sensitive" in the API will not 10918 // be included in the string output. The member name will be present, but the 10919 // value will be replaced with "sensitive". 10920 func (s Deployment) GoString() string { 10921 return s.String() 10922 } 10923 10924 // SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 10925 func (s *Deployment) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Deployment { 10926 s.CapacityProviderStrategy = v 10927 return s 10928 } 10929 10930 // SetCreatedAt sets the CreatedAt field's value. 10931 func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { 10932 s.CreatedAt = &v 10933 return s 10934 } 10935 10936 // SetDesiredCount sets the DesiredCount field's value. 10937 func (s *Deployment) SetDesiredCount(v int64) *Deployment { 10938 s.DesiredCount = &v 10939 return s 10940 } 10941 10942 // SetFailedTasks sets the FailedTasks field's value. 10943 func (s *Deployment) SetFailedTasks(v int64) *Deployment { 10944 s.FailedTasks = &v 10945 return s 10946 } 10947 10948 // SetId sets the Id field's value. 10949 func (s *Deployment) SetId(v string) *Deployment { 10950 s.Id = &v 10951 return s 10952 } 10953 10954 // SetLaunchType sets the LaunchType field's value. 10955 func (s *Deployment) SetLaunchType(v string) *Deployment { 10956 s.LaunchType = &v 10957 return s 10958 } 10959 10960 // SetNetworkConfiguration sets the NetworkConfiguration field's value. 10961 func (s *Deployment) SetNetworkConfiguration(v *NetworkConfiguration) *Deployment { 10962 s.NetworkConfiguration = v 10963 return s 10964 } 10965 10966 // SetPendingCount sets the PendingCount field's value. 10967 func (s *Deployment) SetPendingCount(v int64) *Deployment { 10968 s.PendingCount = &v 10969 return s 10970 } 10971 10972 // SetPlatformVersion sets the PlatformVersion field's value. 10973 func (s *Deployment) SetPlatformVersion(v string) *Deployment { 10974 s.PlatformVersion = &v 10975 return s 10976 } 10977 10978 // SetRolloutState sets the RolloutState field's value. 10979 func (s *Deployment) SetRolloutState(v string) *Deployment { 10980 s.RolloutState = &v 10981 return s 10982 } 10983 10984 // SetRolloutStateReason sets the RolloutStateReason field's value. 10985 func (s *Deployment) SetRolloutStateReason(v string) *Deployment { 10986 s.RolloutStateReason = &v 10987 return s 10988 } 10989 10990 // SetRunningCount sets the RunningCount field's value. 10991 func (s *Deployment) SetRunningCount(v int64) *Deployment { 10992 s.RunningCount = &v 10993 return s 10994 } 10995 10996 // SetStatus sets the Status field's value. 10997 func (s *Deployment) SetStatus(v string) *Deployment { 10998 s.Status = &v 10999 return s 11000 } 11001 11002 // SetTaskDefinition sets the TaskDefinition field's value. 11003 func (s *Deployment) SetTaskDefinition(v string) *Deployment { 11004 s.TaskDefinition = &v 11005 return s 11006 } 11007 11008 // SetUpdatedAt sets the UpdatedAt field's value. 11009 func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { 11010 s.UpdatedAt = &v 11011 return s 11012 } 11013 11014 // 11015 // The deployment circuit breaker can only be used for services using the rolling 11016 // update (ECS) deployment type that are not behind a Classic Load Balancer. 11017 // 11018 // The deployment circuit breaker determines whether a service deployment will 11019 // fail if the service can't reach a steady state. If enabled, a service deployment 11020 // will transition to a failed state and stop launching new tasks. You can also 11021 // enable Amazon ECS to roll back your service to the last completed deployment 11022 // after a failure. For more information, see Rolling update (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) 11023 // in the Amazon Elastic Container Service Developer Guide. 11024 type DeploymentCircuitBreaker struct { 11025 _ struct{} `type:"structure"` 11026 11027 // Whether to enable the deployment circuit breaker logic for the service. 11028 // 11029 // Enable is a required field 11030 Enable *bool `locationName:"enable" type:"boolean" required:"true"` 11031 11032 // Whether to enable Amazon ECS to roll back the service if a service deployment 11033 // fails. If rollback is enabled, when a service deployment fails, the service 11034 // is rolled back to the last deployment that completed successfully. 11035 // 11036 // Rollback is a required field 11037 Rollback *bool `locationName:"rollback" type:"boolean" required:"true"` 11038 } 11039 11040 // String 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 DeploymentCircuitBreaker) String() string { 11046 return awsutil.Prettify(s) 11047 } 11048 11049 // GoString returns the string representation. 11050 // 11051 // API parameter values that are decorated as "sensitive" in the API will not 11052 // be included in the string output. The member name will be present, but the 11053 // value will be replaced with "sensitive". 11054 func (s DeploymentCircuitBreaker) GoString() string { 11055 return s.String() 11056 } 11057 11058 // Validate inspects the fields of the type to determine if they are valid. 11059 func (s *DeploymentCircuitBreaker) Validate() error { 11060 invalidParams := request.ErrInvalidParams{Context: "DeploymentCircuitBreaker"} 11061 if s.Enable == nil { 11062 invalidParams.Add(request.NewErrParamRequired("Enable")) 11063 } 11064 if s.Rollback == nil { 11065 invalidParams.Add(request.NewErrParamRequired("Rollback")) 11066 } 11067 11068 if invalidParams.Len() > 0 { 11069 return invalidParams 11070 } 11071 return nil 11072 } 11073 11074 // SetEnable sets the Enable field's value. 11075 func (s *DeploymentCircuitBreaker) SetEnable(v bool) *DeploymentCircuitBreaker { 11076 s.Enable = &v 11077 return s 11078 } 11079 11080 // SetRollback sets the Rollback field's value. 11081 func (s *DeploymentCircuitBreaker) SetRollback(v bool) *DeploymentCircuitBreaker { 11082 s.Rollback = &v 11083 return s 11084 } 11085 11086 // Optional deployment parameters that control how many tasks run during a deployment 11087 // and the ordering of stopping and starting tasks. 11088 type DeploymentConfiguration struct { 11089 _ struct{} `type:"structure"` 11090 11091 // 11092 // The deployment circuit breaker can only be used for services using the rolling 11093 // update (ECS) deployment type. 11094 // 11095 // The deployment circuit breaker determines whether a service deployment will 11096 // fail if the service can't reach a steady state. If deployment circuit breaker 11097 // is enabled, a service deployment will transition to a failed state and stop 11098 // launching new tasks. If rollback is enabled, when a service deployment fails, 11099 // the service is rolled back to the last deployment that completed successfully. 11100 DeploymentCircuitBreaker *DeploymentCircuitBreaker `locationName:"deploymentCircuitBreaker" type:"structure"` 11101 11102 // If a service is using the rolling update (ECS) deployment type, the maximum 11103 // percent parameter represents an upper limit on the number of tasks in a service 11104 // that are allowed in the RUNNING or PENDING state during a deployment, as 11105 // a percentage of the desired number of tasks (rounded down to the nearest 11106 // integer), and while any container instances are in the DRAINING state if 11107 // the service contains tasks using the EC2 launch type. This parameter enables 11108 // you to define the deployment batch size. For example, if your service has 11109 // a desired number of four tasks and a maximum percent value of 200%, the scheduler 11110 // may start four new tasks before stopping the four older tasks (provided that 11111 // the cluster resources required to do this are available). The default value 11112 // for maximum percent is 200%. 11113 // 11114 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 11115 // types and tasks that use the EC2 launch type, the maximum percent value is 11116 // set to the default value and is used to define the upper limit on the number 11117 // of the tasks in the service that remain in the RUNNING state while the container 11118 // instances are in the DRAINING state. If the tasks in the service use the 11119 // Fargate launch type, the maximum percent value is not used, although it is 11120 // returned when describing your service. 11121 MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` 11122 11123 // If a service is using the rolling update (ECS) deployment type, the minimum 11124 // healthy percent represents a lower limit on the number of tasks in a service 11125 // that must remain in the RUNNING state during a deployment, as a percentage 11126 // of the desired number of tasks (rounded up to the nearest integer), and while 11127 // any container instances are in the DRAINING state if the service contains 11128 // tasks using the EC2 launch type. This parameter enables you to deploy without 11129 // using additional cluster capacity. For example, if your service has a desired 11130 // number of four tasks and a minimum healthy percent of 50%, the scheduler 11131 // may stop two existing tasks to free up cluster capacity before starting two 11132 // new tasks. Tasks for services that do not use a load balancer are considered 11133 // healthy if they are in the RUNNING state; tasks for services that do use 11134 // a load balancer are considered healthy if they are in the RUNNING state and 11135 // they are reported as healthy by the load balancer. The default value for 11136 // minimum healthy percent is 100%. 11137 // 11138 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 11139 // types and tasks that use the EC2 launch type, the minimum healthy percent 11140 // value is set to the default value and is used to define the lower limit on 11141 // the number of the tasks in the service that remain in the RUNNING state while 11142 // the container instances are in the DRAINING state. If the tasks in the service 11143 // use the Fargate launch type, the minimum healthy percent value is not used, 11144 // although it is returned when describing your service. 11145 MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` 11146 } 11147 11148 // String returns the string representation. 11149 // 11150 // API parameter values that are decorated as "sensitive" in the API will not 11151 // be included in the string output. The member name will be present, but the 11152 // value will be replaced with "sensitive". 11153 func (s DeploymentConfiguration) String() string { 11154 return awsutil.Prettify(s) 11155 } 11156 11157 // GoString returns the string representation. 11158 // 11159 // API parameter values that are decorated as "sensitive" in the API will not 11160 // be included in the string output. The member name will be present, but the 11161 // value will be replaced with "sensitive". 11162 func (s DeploymentConfiguration) GoString() string { 11163 return s.String() 11164 } 11165 11166 // Validate inspects the fields of the type to determine if they are valid. 11167 func (s *DeploymentConfiguration) Validate() error { 11168 invalidParams := request.ErrInvalidParams{Context: "DeploymentConfiguration"} 11169 if s.DeploymentCircuitBreaker != nil { 11170 if err := s.DeploymentCircuitBreaker.Validate(); err != nil { 11171 invalidParams.AddNested("DeploymentCircuitBreaker", err.(request.ErrInvalidParams)) 11172 } 11173 } 11174 11175 if invalidParams.Len() > 0 { 11176 return invalidParams 11177 } 11178 return nil 11179 } 11180 11181 // SetDeploymentCircuitBreaker sets the DeploymentCircuitBreaker field's value. 11182 func (s *DeploymentConfiguration) SetDeploymentCircuitBreaker(v *DeploymentCircuitBreaker) *DeploymentConfiguration { 11183 s.DeploymentCircuitBreaker = v 11184 return s 11185 } 11186 11187 // SetMaximumPercent sets the MaximumPercent field's value. 11188 func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { 11189 s.MaximumPercent = &v 11190 return s 11191 } 11192 11193 // SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value. 11194 func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration { 11195 s.MinimumHealthyPercent = &v 11196 return s 11197 } 11198 11199 // The deployment controller to use for the service. For more information, see 11200 // Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 11201 // in the Amazon Elastic Container Service Developer Guide. 11202 type DeploymentController struct { 11203 _ struct{} `type:"structure"` 11204 11205 // The deployment controller type to use. 11206 // 11207 // There are three deployment controller types available: 11208 // 11209 // ECS 11210 // 11211 // The rolling update (ECS) deployment type involves replacing the current running 11212 // version of the container with the latest version. The number of containers 11213 // Amazon ECS adds or removes from the service during a rolling update is controlled 11214 // by adjusting the minimum and maximum number of healthy tasks allowed during 11215 // a service deployment, as specified in the DeploymentConfiguration. 11216 // 11217 // CODE_DEPLOY 11218 // 11219 // The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment 11220 // model powered by CodeDeploy, which allows you to verify a new deployment 11221 // of a service before sending production traffic to it. 11222 // 11223 // EXTERNAL 11224 // 11225 // The external (EXTERNAL) deployment type enables you to use any third-party 11226 // deployment controller for full control over the deployment process for an 11227 // Amazon ECS service. 11228 // 11229 // Type is a required field 11230 Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"` 11231 } 11232 11233 // String returns the string representation. 11234 // 11235 // API parameter values that are decorated as "sensitive" in the API will not 11236 // be included in the string output. The member name will be present, but the 11237 // value will be replaced with "sensitive". 11238 func (s DeploymentController) String() string { 11239 return awsutil.Prettify(s) 11240 } 11241 11242 // GoString returns the string representation. 11243 // 11244 // API parameter values that are decorated as "sensitive" in the API will not 11245 // be included in the string output. The member name will be present, but the 11246 // value will be replaced with "sensitive". 11247 func (s DeploymentController) GoString() string { 11248 return s.String() 11249 } 11250 11251 // Validate inspects the fields of the type to determine if they are valid. 11252 func (s *DeploymentController) Validate() error { 11253 invalidParams := request.ErrInvalidParams{Context: "DeploymentController"} 11254 if s.Type == nil { 11255 invalidParams.Add(request.NewErrParamRequired("Type")) 11256 } 11257 11258 if invalidParams.Len() > 0 { 11259 return invalidParams 11260 } 11261 return nil 11262 } 11263 11264 // SetType sets the Type field's value. 11265 func (s *DeploymentController) SetType(v string) *DeploymentController { 11266 s.Type = &v 11267 return s 11268 } 11269 11270 type DeregisterContainerInstanceInput struct { 11271 _ struct{} `type:"structure"` 11272 11273 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11274 // the container instance to deregister. If you do not specify a cluster, the 11275 // default cluster is assumed. 11276 Cluster *string `locationName:"cluster" type:"string"` 11277 11278 // The container instance ID or full ARN of the container instance to deregister. 11279 // The ARN contains the arn:aws:ecs namespace, followed by the Region of the 11280 // container instance, the Amazon Web Services account ID of the container instance 11281 // owner, the container-instance namespace, and then the container instance 11282 // ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 11283 // 11284 // ContainerInstance is a required field 11285 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 11286 11287 // Forces the deregistration of the container instance. If you have tasks running 11288 // on the container instance when you deregister it with the force option, these 11289 // tasks remain running until you terminate the instance or the tasks stop through 11290 // some other means, but they are orphaned (no longer monitored or accounted 11291 // for by Amazon ECS). If an orphaned task on your container instance is part 11292 // of an Amazon ECS service, then the service scheduler starts another copy 11293 // of that task, on a different container instance if possible. 11294 // 11295 // Any containers in orphaned service tasks that are registered with a Classic 11296 // Load Balancer or an Application Load Balancer target group are deregistered. 11297 // They begin connection draining according to the settings on the load balancer 11298 // or target group. 11299 Force *bool `locationName:"force" type:"boolean"` 11300 } 11301 11302 // String returns the string representation. 11303 // 11304 // API parameter values that are decorated as "sensitive" in the API will not 11305 // be included in the string output. The member name will be present, but the 11306 // value will be replaced with "sensitive". 11307 func (s DeregisterContainerInstanceInput) String() string { 11308 return awsutil.Prettify(s) 11309 } 11310 11311 // GoString returns the string representation. 11312 // 11313 // API parameter values that are decorated as "sensitive" in the API will not 11314 // be included in the string output. The member name will be present, but the 11315 // value will be replaced with "sensitive". 11316 func (s DeregisterContainerInstanceInput) GoString() string { 11317 return s.String() 11318 } 11319 11320 // Validate inspects the fields of the type to determine if they are valid. 11321 func (s *DeregisterContainerInstanceInput) Validate() error { 11322 invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} 11323 if s.ContainerInstance == nil { 11324 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 11325 } 11326 11327 if invalidParams.Len() > 0 { 11328 return invalidParams 11329 } 11330 return nil 11331 } 11332 11333 // SetCluster sets the Cluster field's value. 11334 func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput { 11335 s.Cluster = &v 11336 return s 11337 } 11338 11339 // SetContainerInstance sets the ContainerInstance field's value. 11340 func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput { 11341 s.ContainerInstance = &v 11342 return s 11343 } 11344 11345 // SetForce sets the Force field's value. 11346 func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput { 11347 s.Force = &v 11348 return s 11349 } 11350 11351 type DeregisterContainerInstanceOutput struct { 11352 _ struct{} `type:"structure"` 11353 11354 // The container instance that was deregistered. 11355 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 11356 } 11357 11358 // String returns the string representation. 11359 // 11360 // API parameter values that are decorated as "sensitive" in the API will not 11361 // be included in the string output. The member name will be present, but the 11362 // value will be replaced with "sensitive". 11363 func (s DeregisterContainerInstanceOutput) String() string { 11364 return awsutil.Prettify(s) 11365 } 11366 11367 // GoString returns the string representation. 11368 // 11369 // API parameter values that are decorated as "sensitive" in the API will not 11370 // be included in the string output. The member name will be present, but the 11371 // value will be replaced with "sensitive". 11372 func (s DeregisterContainerInstanceOutput) GoString() string { 11373 return s.String() 11374 } 11375 11376 // SetContainerInstance sets the ContainerInstance field's value. 11377 func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput { 11378 s.ContainerInstance = v 11379 return s 11380 } 11381 11382 type DeregisterTaskDefinitionInput struct { 11383 _ struct{} `type:"structure"` 11384 11385 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 11386 // of the task definition to deregister. You must specify a revision. 11387 // 11388 // TaskDefinition is a required field 11389 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 11390 } 11391 11392 // String returns the string representation. 11393 // 11394 // API parameter values that are decorated as "sensitive" in the API will not 11395 // be included in the string output. The member name will be present, but the 11396 // value will be replaced with "sensitive". 11397 func (s DeregisterTaskDefinitionInput) String() string { 11398 return awsutil.Prettify(s) 11399 } 11400 11401 // GoString returns the string representation. 11402 // 11403 // API parameter values that are decorated as "sensitive" in the API will not 11404 // be included in the string output. The member name will be present, but the 11405 // value will be replaced with "sensitive". 11406 func (s DeregisterTaskDefinitionInput) GoString() string { 11407 return s.String() 11408 } 11409 11410 // Validate inspects the fields of the type to determine if they are valid. 11411 func (s *DeregisterTaskDefinitionInput) Validate() error { 11412 invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} 11413 if s.TaskDefinition == nil { 11414 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 11415 } 11416 11417 if invalidParams.Len() > 0 { 11418 return invalidParams 11419 } 11420 return nil 11421 } 11422 11423 // SetTaskDefinition sets the TaskDefinition field's value. 11424 func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput { 11425 s.TaskDefinition = &v 11426 return s 11427 } 11428 11429 type DeregisterTaskDefinitionOutput struct { 11430 _ struct{} `type:"structure"` 11431 11432 // The full description of the deregistered task. 11433 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 11434 } 11435 11436 // String returns the string representation. 11437 // 11438 // API parameter values that are decorated as "sensitive" in the API will not 11439 // be included in the string output. The member name will be present, but the 11440 // value will be replaced with "sensitive". 11441 func (s DeregisterTaskDefinitionOutput) String() string { 11442 return awsutil.Prettify(s) 11443 } 11444 11445 // GoString returns the string representation. 11446 // 11447 // API parameter values that are decorated as "sensitive" in the API will not 11448 // be included in the string output. The member name will be present, but the 11449 // value will be replaced with "sensitive". 11450 func (s DeregisterTaskDefinitionOutput) GoString() string { 11451 return s.String() 11452 } 11453 11454 // SetTaskDefinition sets the TaskDefinition field's value. 11455 func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput { 11456 s.TaskDefinition = v 11457 return s 11458 } 11459 11460 type DescribeCapacityProvidersInput struct { 11461 _ struct{} `type:"structure"` 11462 11463 // The short name or full Amazon Resource Name (ARN) of one or more capacity 11464 // providers. Up to 100 capacity providers can be described in an action. 11465 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 11466 11467 // Specifies whether or not you want to see the resource tags for the capacity 11468 // provider. If TAGS is specified, the tags are included in the response. If 11469 // this field is omitted, tags are not included in the response. 11470 Include []*string `locationName:"include" type:"list"` 11471 11472 // The maximum number of account setting results returned by DescribeCapacityProviders 11473 // in paginated output. When this parameter is used, DescribeCapacityProviders 11474 // only returns maxResults results in a single page along with a nextToken response 11475 // element. The remaining results of the initial request can be seen by sending 11476 // another DescribeCapacityProviders request with the returned nextToken value. 11477 // This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders 11478 // returns up to 10 results and a nextToken value if applicable. 11479 MaxResults *int64 `locationName:"maxResults" type:"integer"` 11480 11481 // The nextToken value returned from a previous paginated DescribeCapacityProviders 11482 // request where maxResults was used and the results exceeded the value of that 11483 // parameter. Pagination continues from the end of the previous results that 11484 // returned the nextToken value. 11485 // 11486 // This token should be treated as an opaque identifier that is only used to 11487 // retrieve the next items in a list and not for other programmatic purposes. 11488 NextToken *string `locationName:"nextToken" type:"string"` 11489 } 11490 11491 // String returns the string representation. 11492 // 11493 // API parameter values that are decorated as "sensitive" in the API will not 11494 // be included in the string output. The member name will be present, but the 11495 // value will be replaced with "sensitive". 11496 func (s DescribeCapacityProvidersInput) String() string { 11497 return awsutil.Prettify(s) 11498 } 11499 11500 // GoString returns the string representation. 11501 // 11502 // API parameter values that are decorated as "sensitive" in the API will not 11503 // be included in the string output. The member name will be present, but the 11504 // value will be replaced with "sensitive". 11505 func (s DescribeCapacityProvidersInput) GoString() string { 11506 return s.String() 11507 } 11508 11509 // SetCapacityProviders sets the CapacityProviders field's value. 11510 func (s *DescribeCapacityProvidersInput) SetCapacityProviders(v []*string) *DescribeCapacityProvidersInput { 11511 s.CapacityProviders = v 11512 return s 11513 } 11514 11515 // SetInclude sets the Include field's value. 11516 func (s *DescribeCapacityProvidersInput) SetInclude(v []*string) *DescribeCapacityProvidersInput { 11517 s.Include = v 11518 return s 11519 } 11520 11521 // SetMaxResults sets the MaxResults field's value. 11522 func (s *DescribeCapacityProvidersInput) SetMaxResults(v int64) *DescribeCapacityProvidersInput { 11523 s.MaxResults = &v 11524 return s 11525 } 11526 11527 // SetNextToken sets the NextToken field's value. 11528 func (s *DescribeCapacityProvidersInput) SetNextToken(v string) *DescribeCapacityProvidersInput { 11529 s.NextToken = &v 11530 return s 11531 } 11532 11533 type DescribeCapacityProvidersOutput struct { 11534 _ struct{} `type:"structure"` 11535 11536 // The list of capacity providers. 11537 CapacityProviders []*CapacityProvider `locationName:"capacityProviders" type:"list"` 11538 11539 // Any failures associated with the call. 11540 Failures []*Failure `locationName:"failures" type:"list"` 11541 11542 // The nextToken value to include in a future DescribeCapacityProviders request. 11543 // When the results of a DescribeCapacityProviders request exceed maxResults, 11544 // this value can be used to retrieve the next page of results. This value is 11545 // null when there are no more results to return. 11546 NextToken *string `locationName:"nextToken" type:"string"` 11547 } 11548 11549 // String returns the string representation. 11550 // 11551 // API parameter values that are decorated as "sensitive" in the API will not 11552 // be included in the string output. The member name will be present, but the 11553 // value will be replaced with "sensitive". 11554 func (s DescribeCapacityProvidersOutput) String() string { 11555 return awsutil.Prettify(s) 11556 } 11557 11558 // GoString returns the string representation. 11559 // 11560 // API parameter values that are decorated as "sensitive" in the API will not 11561 // be included in the string output. The member name will be present, but the 11562 // value will be replaced with "sensitive". 11563 func (s DescribeCapacityProvidersOutput) GoString() string { 11564 return s.String() 11565 } 11566 11567 // SetCapacityProviders sets the CapacityProviders field's value. 11568 func (s *DescribeCapacityProvidersOutput) SetCapacityProviders(v []*CapacityProvider) *DescribeCapacityProvidersOutput { 11569 s.CapacityProviders = v 11570 return s 11571 } 11572 11573 // SetFailures sets the Failures field's value. 11574 func (s *DescribeCapacityProvidersOutput) SetFailures(v []*Failure) *DescribeCapacityProvidersOutput { 11575 s.Failures = v 11576 return s 11577 } 11578 11579 // SetNextToken sets the NextToken field's value. 11580 func (s *DescribeCapacityProvidersOutput) SetNextToken(v string) *DescribeCapacityProvidersOutput { 11581 s.NextToken = &v 11582 return s 11583 } 11584 11585 type DescribeClustersInput struct { 11586 _ struct{} `type:"structure"` 11587 11588 // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) 11589 // entries. If you do not specify a cluster, the default cluster is assumed. 11590 Clusters []*string `locationName:"clusters" type:"list"` 11591 11592 // Whether to include additional information about the clusters in the response. 11593 // If this field is omitted, this information isn't included. 11594 // 11595 // If ATTACHMENTS is specified, the attachments for the container instances 11596 // or tasks within the cluster are included. 11597 // 11598 // If SETTINGS is specified, the settings for the cluster are included. 11599 // 11600 // If CONFIGURATIONS is specified, the configuration for the cluster is included. 11601 // 11602 // If STATISTICS is specified, the task and service count is included, separated 11603 // by launch type. 11604 // 11605 // If TAGS is specified, the metadata tags associated with the cluster are included. 11606 Include []*string `locationName:"include" type:"list"` 11607 } 11608 11609 // String returns the string representation. 11610 // 11611 // API parameter values that are decorated as "sensitive" in the API will not 11612 // be included in the string output. The member name will be present, but the 11613 // value will be replaced with "sensitive". 11614 func (s DescribeClustersInput) String() string { 11615 return awsutil.Prettify(s) 11616 } 11617 11618 // GoString returns the string representation. 11619 // 11620 // API parameter values that are decorated as "sensitive" in the API will not 11621 // be included in the string output. The member name will be present, but the 11622 // value will be replaced with "sensitive". 11623 func (s DescribeClustersInput) GoString() string { 11624 return s.String() 11625 } 11626 11627 // SetClusters sets the Clusters field's value. 11628 func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput { 11629 s.Clusters = v 11630 return s 11631 } 11632 11633 // SetInclude sets the Include field's value. 11634 func (s *DescribeClustersInput) SetInclude(v []*string) *DescribeClustersInput { 11635 s.Include = v 11636 return s 11637 } 11638 11639 type DescribeClustersOutput struct { 11640 _ struct{} `type:"structure"` 11641 11642 // The list of clusters. 11643 Clusters []*Cluster `locationName:"clusters" type:"list"` 11644 11645 // Any failures associated with the call. 11646 Failures []*Failure `locationName:"failures" type:"list"` 11647 } 11648 11649 // String returns the string representation. 11650 // 11651 // API parameter values that are decorated as "sensitive" in the API will not 11652 // be included in the string output. The member name will be present, but the 11653 // value will be replaced with "sensitive". 11654 func (s DescribeClustersOutput) String() string { 11655 return awsutil.Prettify(s) 11656 } 11657 11658 // GoString returns the string representation. 11659 // 11660 // API parameter values that are decorated as "sensitive" in the API will not 11661 // be included in the string output. The member name will be present, but the 11662 // value will be replaced with "sensitive". 11663 func (s DescribeClustersOutput) GoString() string { 11664 return s.String() 11665 } 11666 11667 // SetClusters sets the Clusters field's value. 11668 func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 11669 s.Clusters = v 11670 return s 11671 } 11672 11673 // SetFailures sets the Failures field's value. 11674 func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput { 11675 s.Failures = v 11676 return s 11677 } 11678 11679 type DescribeContainerInstancesInput struct { 11680 _ struct{} `type:"structure"` 11681 11682 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11683 // the container instances to describe. If you do not specify a cluster, the 11684 // default cluster is assumed. This parameter is required if the container instance 11685 // or container instances you are describing were launched in any cluster other 11686 // than the default cluster. 11687 Cluster *string `locationName:"cluster" type:"string"` 11688 11689 // A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) 11690 // entries. 11691 // 11692 // ContainerInstances is a required field 11693 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 11694 11695 // Specifies whether you want to see the resource tags for the container instance. 11696 // If TAGS is specified, the tags are included in the response. If this field 11697 // is omitted, tags are not included in the response. 11698 Include []*string `locationName:"include" type:"list"` 11699 } 11700 11701 // String returns the string representation. 11702 // 11703 // API parameter values that are decorated as "sensitive" in the API will not 11704 // be included in the string output. The member name will be present, but the 11705 // value will be replaced with "sensitive". 11706 func (s DescribeContainerInstancesInput) String() string { 11707 return awsutil.Prettify(s) 11708 } 11709 11710 // GoString returns the string representation. 11711 // 11712 // API parameter values that are decorated as "sensitive" in the API will not 11713 // be included in the string output. The member name will be present, but the 11714 // value will be replaced with "sensitive". 11715 func (s DescribeContainerInstancesInput) GoString() string { 11716 return s.String() 11717 } 11718 11719 // Validate inspects the fields of the type to determine if they are valid. 11720 func (s *DescribeContainerInstancesInput) Validate() error { 11721 invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} 11722 if s.ContainerInstances == nil { 11723 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 11724 } 11725 11726 if invalidParams.Len() > 0 { 11727 return invalidParams 11728 } 11729 return nil 11730 } 11731 11732 // SetCluster sets the Cluster field's value. 11733 func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput { 11734 s.Cluster = &v 11735 return s 11736 } 11737 11738 // SetContainerInstances sets the ContainerInstances field's value. 11739 func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput { 11740 s.ContainerInstances = v 11741 return s 11742 } 11743 11744 // SetInclude sets the Include field's value. 11745 func (s *DescribeContainerInstancesInput) SetInclude(v []*string) *DescribeContainerInstancesInput { 11746 s.Include = v 11747 return s 11748 } 11749 11750 type DescribeContainerInstancesOutput struct { 11751 _ struct{} `type:"structure"` 11752 11753 // The list of container instances. 11754 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 11755 11756 // Any failures associated with the call. 11757 Failures []*Failure `locationName:"failures" type:"list"` 11758 } 11759 11760 // String returns the string representation. 11761 // 11762 // API parameter values that are decorated as "sensitive" in the API will not 11763 // be included in the string output. The member name will be present, but the 11764 // value will be replaced with "sensitive". 11765 func (s DescribeContainerInstancesOutput) String() string { 11766 return awsutil.Prettify(s) 11767 } 11768 11769 // GoString returns the string representation. 11770 // 11771 // API parameter values that are decorated as "sensitive" in the API will not 11772 // be included in the string output. The member name will be present, but the 11773 // value will be replaced with "sensitive". 11774 func (s DescribeContainerInstancesOutput) GoString() string { 11775 return s.String() 11776 } 11777 11778 // SetContainerInstances sets the ContainerInstances field's value. 11779 func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput { 11780 s.ContainerInstances = v 11781 return s 11782 } 11783 11784 // SetFailures sets the Failures field's value. 11785 func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput { 11786 s.Failures = v 11787 return s 11788 } 11789 11790 type DescribeServicesInput struct { 11791 _ struct{} `type:"structure"` 11792 11793 // The short name or full Amazon Resource Name (ARN)the cluster that hosts the 11794 // service to describe. If you do not specify a cluster, the default cluster 11795 // is assumed. This parameter is required if the service or services you are 11796 // describing were launched in any cluster other than the default cluster. 11797 Cluster *string `locationName:"cluster" type:"string"` 11798 11799 // Specifies whether you want to see the resource tags for the service. If TAGS 11800 // is specified, the tags are included in the response. If this field is omitted, 11801 // tags are not included in the response. 11802 Include []*string `locationName:"include" type:"list"` 11803 11804 // A list of services to describe. You may specify up to 10 services to describe 11805 // in a single operation. 11806 // 11807 // Services is a required field 11808 Services []*string `locationName:"services" type:"list" required:"true"` 11809 } 11810 11811 // String returns the string representation. 11812 // 11813 // API parameter values that are decorated as "sensitive" in the API will not 11814 // be included in the string output. The member name will be present, but the 11815 // value will be replaced with "sensitive". 11816 func (s DescribeServicesInput) String() string { 11817 return awsutil.Prettify(s) 11818 } 11819 11820 // GoString returns the string representation. 11821 // 11822 // API parameter values that are decorated as "sensitive" in the API will not 11823 // be included in the string output. The member name will be present, but the 11824 // value will be replaced with "sensitive". 11825 func (s DescribeServicesInput) GoString() string { 11826 return s.String() 11827 } 11828 11829 // Validate inspects the fields of the type to determine if they are valid. 11830 func (s *DescribeServicesInput) Validate() error { 11831 invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} 11832 if s.Services == nil { 11833 invalidParams.Add(request.NewErrParamRequired("Services")) 11834 } 11835 11836 if invalidParams.Len() > 0 { 11837 return invalidParams 11838 } 11839 return nil 11840 } 11841 11842 // SetCluster sets the Cluster field's value. 11843 func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput { 11844 s.Cluster = &v 11845 return s 11846 } 11847 11848 // SetInclude sets the Include field's value. 11849 func (s *DescribeServicesInput) SetInclude(v []*string) *DescribeServicesInput { 11850 s.Include = v 11851 return s 11852 } 11853 11854 // SetServices sets the Services field's value. 11855 func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput { 11856 s.Services = v 11857 return s 11858 } 11859 11860 type DescribeServicesOutput struct { 11861 _ struct{} `type:"structure"` 11862 11863 // Any failures associated with the call. 11864 Failures []*Failure `locationName:"failures" type:"list"` 11865 11866 // The list of services described. 11867 Services []*Service `locationName:"services" type:"list"` 11868 } 11869 11870 // String returns the string representation. 11871 // 11872 // API parameter values that are decorated as "sensitive" in the API will not 11873 // be included in the string output. The member name will be present, but the 11874 // value will be replaced with "sensitive". 11875 func (s DescribeServicesOutput) String() string { 11876 return awsutil.Prettify(s) 11877 } 11878 11879 // GoString returns the string representation. 11880 // 11881 // API parameter values that are decorated as "sensitive" in the API will not 11882 // be included in the string output. The member name will be present, but the 11883 // value will be replaced with "sensitive". 11884 func (s DescribeServicesOutput) GoString() string { 11885 return s.String() 11886 } 11887 11888 // SetFailures sets the Failures field's value. 11889 func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput { 11890 s.Failures = v 11891 return s 11892 } 11893 11894 // SetServices sets the Services field's value. 11895 func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput { 11896 s.Services = v 11897 return s 11898 } 11899 11900 type DescribeTaskDefinitionInput struct { 11901 _ struct{} `type:"structure"` 11902 11903 // Specifies whether to see the resource tags for the task definition. If TAGS 11904 // is specified, the tags are included in the response. If this field is omitted, 11905 // tags are not included in the response. 11906 Include []*string `locationName:"include" type:"list"` 11907 11908 // The family for the latest ACTIVE revision, family and revision (family:revision) 11909 // for a specific revision in the family, or full Amazon Resource Name (ARN) 11910 // of the task definition to describe. 11911 // 11912 // TaskDefinition is a required field 11913 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 11914 } 11915 11916 // String returns the string representation. 11917 // 11918 // API parameter values that are decorated as "sensitive" in the API will not 11919 // be included in the string output. The member name will be present, but the 11920 // value will be replaced with "sensitive". 11921 func (s DescribeTaskDefinitionInput) String() string { 11922 return awsutil.Prettify(s) 11923 } 11924 11925 // GoString returns the string representation. 11926 // 11927 // API parameter values that are decorated as "sensitive" in the API will not 11928 // be included in the string output. The member name will be present, but the 11929 // value will be replaced with "sensitive". 11930 func (s DescribeTaskDefinitionInput) GoString() string { 11931 return s.String() 11932 } 11933 11934 // Validate inspects the fields of the type to determine if they are valid. 11935 func (s *DescribeTaskDefinitionInput) Validate() error { 11936 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} 11937 if s.TaskDefinition == nil { 11938 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 11939 } 11940 11941 if invalidParams.Len() > 0 { 11942 return invalidParams 11943 } 11944 return nil 11945 } 11946 11947 // SetInclude sets the Include field's value. 11948 func (s *DescribeTaskDefinitionInput) SetInclude(v []*string) *DescribeTaskDefinitionInput { 11949 s.Include = v 11950 return s 11951 } 11952 11953 // SetTaskDefinition sets the TaskDefinition field's value. 11954 func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput { 11955 s.TaskDefinition = &v 11956 return s 11957 } 11958 11959 type DescribeTaskDefinitionOutput struct { 11960 _ struct{} `type:"structure"` 11961 11962 // The metadata that is applied to the task definition to help you categorize 11963 // and organize them. Each tag consists of a key and an optional value, both 11964 // of which you define. 11965 // 11966 // The following basic restrictions apply to tags: 11967 // 11968 // * Maximum number of tags per resource - 50 11969 // 11970 // * For each resource, each tag key must be unique, and each tag key can 11971 // have only one value. 11972 // 11973 // * Maximum key length - 128 Unicode characters in UTF-8 11974 // 11975 // * Maximum value length - 256 Unicode characters in UTF-8 11976 // 11977 // * If your tagging schema is used across multiple services and resources, 11978 // remember that other services may have restrictions on allowed characters. 11979 // Generally allowed characters are: letters, numbers, and spaces representable 11980 // in UTF-8, and the following characters: + - = . _ : / @. 11981 // 11982 // * Tag keys and values are case-sensitive. 11983 // 11984 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 11985 // as a prefix for either keys or values as it is reserved for Amazon Web 11986 // Services use. You cannot edit or delete tag keys or values with this prefix. 11987 // Tags with this prefix do not count against your tags per resource limit. 11988 Tags []*Tag `locationName:"tags" type:"list"` 11989 11990 // The full task definition description. 11991 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 11992 } 11993 11994 // String returns the string representation. 11995 // 11996 // API parameter values that are decorated as "sensitive" in the API will not 11997 // be included in the string output. The member name will be present, but the 11998 // value will be replaced with "sensitive". 11999 func (s DescribeTaskDefinitionOutput) String() string { 12000 return awsutil.Prettify(s) 12001 } 12002 12003 // GoString returns the string representation. 12004 // 12005 // API parameter values that are decorated as "sensitive" in the API will not 12006 // be included in the string output. The member name will be present, but the 12007 // value will be replaced with "sensitive". 12008 func (s DescribeTaskDefinitionOutput) GoString() string { 12009 return s.String() 12010 } 12011 12012 // SetTags sets the Tags field's value. 12013 func (s *DescribeTaskDefinitionOutput) SetTags(v []*Tag) *DescribeTaskDefinitionOutput { 12014 s.Tags = v 12015 return s 12016 } 12017 12018 // SetTaskDefinition sets the TaskDefinition field's value. 12019 func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput { 12020 s.TaskDefinition = v 12021 return s 12022 } 12023 12024 type DescribeTaskSetsInput struct { 12025 _ struct{} `type:"structure"` 12026 12027 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12028 // the service that the task sets exist in. 12029 // 12030 // Cluster is a required field 12031 Cluster *string `locationName:"cluster" type:"string" required:"true"` 12032 12033 // Specifies whether to see the resource tags for the task set. If TAGS is specified, 12034 // the tags are included in the response. If this field is omitted, tags are 12035 // not included in the response. 12036 Include []*string `locationName:"include" type:"list"` 12037 12038 // The short name or full Amazon Resource Name (ARN) of the service that the 12039 // task sets exist in. 12040 // 12041 // Service is a required field 12042 Service *string `locationName:"service" type:"string" required:"true"` 12043 12044 // The ID or full Amazon Resource Name (ARN) of task sets to describe. 12045 TaskSets []*string `locationName:"taskSets" type:"list"` 12046 } 12047 12048 // String returns the string representation. 12049 // 12050 // API parameter values that are decorated as "sensitive" in the API will not 12051 // be included in the string output. The member name will be present, but the 12052 // value will be replaced with "sensitive". 12053 func (s DescribeTaskSetsInput) String() string { 12054 return awsutil.Prettify(s) 12055 } 12056 12057 // GoString returns the string representation. 12058 // 12059 // API parameter values that are decorated as "sensitive" in the API will not 12060 // be included in the string output. The member name will be present, but the 12061 // value will be replaced with "sensitive". 12062 func (s DescribeTaskSetsInput) GoString() string { 12063 return s.String() 12064 } 12065 12066 // Validate inspects the fields of the type to determine if they are valid. 12067 func (s *DescribeTaskSetsInput) Validate() error { 12068 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskSetsInput"} 12069 if s.Cluster == nil { 12070 invalidParams.Add(request.NewErrParamRequired("Cluster")) 12071 } 12072 if s.Service == nil { 12073 invalidParams.Add(request.NewErrParamRequired("Service")) 12074 } 12075 12076 if invalidParams.Len() > 0 { 12077 return invalidParams 12078 } 12079 return nil 12080 } 12081 12082 // SetCluster sets the Cluster field's value. 12083 func (s *DescribeTaskSetsInput) SetCluster(v string) *DescribeTaskSetsInput { 12084 s.Cluster = &v 12085 return s 12086 } 12087 12088 // SetInclude sets the Include field's value. 12089 func (s *DescribeTaskSetsInput) SetInclude(v []*string) *DescribeTaskSetsInput { 12090 s.Include = v 12091 return s 12092 } 12093 12094 // SetService sets the Service field's value. 12095 func (s *DescribeTaskSetsInput) SetService(v string) *DescribeTaskSetsInput { 12096 s.Service = &v 12097 return s 12098 } 12099 12100 // SetTaskSets sets the TaskSets field's value. 12101 func (s *DescribeTaskSetsInput) SetTaskSets(v []*string) *DescribeTaskSetsInput { 12102 s.TaskSets = v 12103 return s 12104 } 12105 12106 type DescribeTaskSetsOutput struct { 12107 _ struct{} `type:"structure"` 12108 12109 // Any failures associated with the call. 12110 Failures []*Failure `locationName:"failures" type:"list"` 12111 12112 // The list of task sets described. 12113 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 12114 } 12115 12116 // String returns the string representation. 12117 // 12118 // API parameter values that are decorated as "sensitive" in the API will not 12119 // be included in the string output. The member name will be present, but the 12120 // value will be replaced with "sensitive". 12121 func (s DescribeTaskSetsOutput) String() string { 12122 return awsutil.Prettify(s) 12123 } 12124 12125 // GoString returns the string representation. 12126 // 12127 // API parameter values that are decorated as "sensitive" in the API will not 12128 // be included in the string output. The member name will be present, but the 12129 // value will be replaced with "sensitive". 12130 func (s DescribeTaskSetsOutput) GoString() string { 12131 return s.String() 12132 } 12133 12134 // SetFailures sets the Failures field's value. 12135 func (s *DescribeTaskSetsOutput) SetFailures(v []*Failure) *DescribeTaskSetsOutput { 12136 s.Failures = v 12137 return s 12138 } 12139 12140 // SetTaskSets sets the TaskSets field's value. 12141 func (s *DescribeTaskSetsOutput) SetTaskSets(v []*TaskSet) *DescribeTaskSetsOutput { 12142 s.TaskSets = v 12143 return s 12144 } 12145 12146 type DescribeTasksInput struct { 12147 _ struct{} `type:"structure"` 12148 12149 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12150 // the task or tasks to describe. If you do not specify a cluster, the default 12151 // cluster is assumed. This parameter is required if the task or tasks you are 12152 // describing were launched in any cluster other than the default cluster. 12153 Cluster *string `locationName:"cluster" type:"string"` 12154 12155 // Specifies whether you want to see the resource tags for the task. If TAGS 12156 // is specified, the tags are included in the response. If this field is omitted, 12157 // tags are not included in the response. 12158 Include []*string `locationName:"include" type:"list"` 12159 12160 // A list of up to 100 task IDs or full ARN entries. 12161 // 12162 // Tasks is a required field 12163 Tasks []*string `locationName:"tasks" type:"list" required:"true"` 12164 } 12165 12166 // String returns the string representation. 12167 // 12168 // API parameter values that are decorated as "sensitive" in the API will not 12169 // be included in the string output. The member name will be present, but the 12170 // value will be replaced with "sensitive". 12171 func (s DescribeTasksInput) String() string { 12172 return awsutil.Prettify(s) 12173 } 12174 12175 // GoString returns the string representation. 12176 // 12177 // API parameter values that are decorated as "sensitive" in the API will not 12178 // be included in the string output. The member name will be present, but the 12179 // value will be replaced with "sensitive". 12180 func (s DescribeTasksInput) GoString() string { 12181 return s.String() 12182 } 12183 12184 // Validate inspects the fields of the type to determine if they are valid. 12185 func (s *DescribeTasksInput) Validate() error { 12186 invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} 12187 if s.Tasks == nil { 12188 invalidParams.Add(request.NewErrParamRequired("Tasks")) 12189 } 12190 12191 if invalidParams.Len() > 0 { 12192 return invalidParams 12193 } 12194 return nil 12195 } 12196 12197 // SetCluster sets the Cluster field's value. 12198 func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput { 12199 s.Cluster = &v 12200 return s 12201 } 12202 12203 // SetInclude sets the Include field's value. 12204 func (s *DescribeTasksInput) SetInclude(v []*string) *DescribeTasksInput { 12205 s.Include = v 12206 return s 12207 } 12208 12209 // SetTasks sets the Tasks field's value. 12210 func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput { 12211 s.Tasks = v 12212 return s 12213 } 12214 12215 type DescribeTasksOutput struct { 12216 _ struct{} `type:"structure"` 12217 12218 // Any failures associated with the call. 12219 Failures []*Failure `locationName:"failures" type:"list"` 12220 12221 // The list of tasks. 12222 Tasks []*Task `locationName:"tasks" type:"list"` 12223 } 12224 12225 // String returns the string representation. 12226 // 12227 // API parameter values that are decorated as "sensitive" in the API will not 12228 // be included in the string output. The member name will be present, but the 12229 // value will be replaced with "sensitive". 12230 func (s DescribeTasksOutput) String() string { 12231 return awsutil.Prettify(s) 12232 } 12233 12234 // GoString returns the string representation. 12235 // 12236 // API parameter values that are decorated as "sensitive" in the API will not 12237 // be included in the string output. The member name will be present, but the 12238 // value will be replaced with "sensitive". 12239 func (s DescribeTasksOutput) GoString() string { 12240 return s.String() 12241 } 12242 12243 // SetFailures sets the Failures field's value. 12244 func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput { 12245 s.Failures = v 12246 return s 12247 } 12248 12249 // SetTasks sets the Tasks field's value. 12250 func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput { 12251 s.Tasks = v 12252 return s 12253 } 12254 12255 // An object representing a container instance host device. 12256 type Device struct { 12257 _ struct{} `type:"structure"` 12258 12259 // The path inside the container at which to expose the host device. 12260 ContainerPath *string `locationName:"containerPath" type:"string"` 12261 12262 // The path for the device on the host container instance. 12263 // 12264 // HostPath is a required field 12265 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 12266 12267 // The explicit permissions to provide to the container for the device. By default, 12268 // the container has permissions for read, write, and mknod for the device. 12269 Permissions []*string `locationName:"permissions" type:"list"` 12270 } 12271 12272 // String returns the string representation. 12273 // 12274 // API parameter values that are decorated as "sensitive" in the API will not 12275 // be included in the string output. The member name will be present, but the 12276 // value will be replaced with "sensitive". 12277 func (s Device) String() string { 12278 return awsutil.Prettify(s) 12279 } 12280 12281 // GoString returns the string representation. 12282 // 12283 // API parameter values that are decorated as "sensitive" in the API will not 12284 // be included in the string output. The member name will be present, but the 12285 // value will be replaced with "sensitive". 12286 func (s Device) GoString() string { 12287 return s.String() 12288 } 12289 12290 // Validate inspects the fields of the type to determine if they are valid. 12291 func (s *Device) Validate() error { 12292 invalidParams := request.ErrInvalidParams{Context: "Device"} 12293 if s.HostPath == nil { 12294 invalidParams.Add(request.NewErrParamRequired("HostPath")) 12295 } 12296 12297 if invalidParams.Len() > 0 { 12298 return invalidParams 12299 } 12300 return nil 12301 } 12302 12303 // SetContainerPath sets the ContainerPath field's value. 12304 func (s *Device) SetContainerPath(v string) *Device { 12305 s.ContainerPath = &v 12306 return s 12307 } 12308 12309 // SetHostPath sets the HostPath field's value. 12310 func (s *Device) SetHostPath(v string) *Device { 12311 s.HostPath = &v 12312 return s 12313 } 12314 12315 // SetPermissions sets the Permissions field's value. 12316 func (s *Device) SetPermissions(v []*string) *Device { 12317 s.Permissions = v 12318 return s 12319 } 12320 12321 type DiscoverPollEndpointInput struct { 12322 _ struct{} `type:"structure"` 12323 12324 // The short name or full Amazon Resource Name (ARN) of the cluster to which 12325 // the container instance belongs. 12326 Cluster *string `locationName:"cluster" type:"string"` 12327 12328 // The container instance ID or full ARN of the container instance. The ARN 12329 // contains the arn:aws:ecs namespace, followed by the Region of the container 12330 // instance, the Amazon Web Services account ID of the container instance owner, 12331 // the container-instance namespace, and then the container instance ID. For 12332 // example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 12333 ContainerInstance *string `locationName:"containerInstance" type:"string"` 12334 } 12335 12336 // String returns the string representation. 12337 // 12338 // API parameter values that are decorated as "sensitive" in the API will not 12339 // be included in the string output. The member name will be present, but the 12340 // value will be replaced with "sensitive". 12341 func (s DiscoverPollEndpointInput) String() string { 12342 return awsutil.Prettify(s) 12343 } 12344 12345 // GoString returns the string representation. 12346 // 12347 // API parameter values that are decorated as "sensitive" in the API will not 12348 // be included in the string output. The member name will be present, but the 12349 // value will be replaced with "sensitive". 12350 func (s DiscoverPollEndpointInput) GoString() string { 12351 return s.String() 12352 } 12353 12354 // SetCluster sets the Cluster field's value. 12355 func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput { 12356 s.Cluster = &v 12357 return s 12358 } 12359 12360 // SetContainerInstance sets the ContainerInstance field's value. 12361 func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput { 12362 s.ContainerInstance = &v 12363 return s 12364 } 12365 12366 type DiscoverPollEndpointOutput struct { 12367 _ struct{} `type:"structure"` 12368 12369 // The endpoint for the Amazon ECS agent to poll. 12370 Endpoint *string `locationName:"endpoint" type:"string"` 12371 12372 // The telemetry endpoint for the Amazon ECS agent. 12373 TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` 12374 } 12375 12376 // String returns the string representation. 12377 // 12378 // API parameter values that are decorated as "sensitive" in the API will not 12379 // be included in the string output. The member name will be present, but the 12380 // value will be replaced with "sensitive". 12381 func (s DiscoverPollEndpointOutput) String() string { 12382 return awsutil.Prettify(s) 12383 } 12384 12385 // GoString returns the string representation. 12386 // 12387 // API parameter values that are decorated as "sensitive" in the API will not 12388 // be included in the string output. The member name will be present, but the 12389 // value will be replaced with "sensitive". 12390 func (s DiscoverPollEndpointOutput) GoString() string { 12391 return s.String() 12392 } 12393 12394 // SetEndpoint sets the Endpoint field's value. 12395 func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput { 12396 s.Endpoint = &v 12397 return s 12398 } 12399 12400 // SetTelemetryEndpoint sets the TelemetryEndpoint field's value. 12401 func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput { 12402 s.TelemetryEndpoint = &v 12403 return s 12404 } 12405 12406 // This parameter is specified when you are using Docker volumes. Docker volumes 12407 // are only supported when you are using the EC2 launch type. Windows containers 12408 // only support the use of the local driver. To use bind mounts, specify a host 12409 // instead. 12410 type DockerVolumeConfiguration struct { 12411 _ struct{} `type:"structure"` 12412 12413 // If this value is true, the Docker volume is created if it does not already 12414 // exist. 12415 // 12416 // This field is only used if the scope is shared. 12417 Autoprovision *bool `locationName:"autoprovision" type:"boolean"` 12418 12419 // The Docker volume driver to use. The driver value must match the driver name 12420 // provided by Docker because it is used for task placement. If the driver was 12421 // installed using the Docker plugin CLI, use docker plugin ls to retrieve the 12422 // driver name from your container instance. If the driver was installed using 12423 // another method, use Docker plugin discovery to retrieve the driver name. 12424 // For more information, see Docker plugin discovery (https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). 12425 // This parameter maps to Driver in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 12426 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12427 // and the xxdriver option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 12428 Driver *string `locationName:"driver" type:"string"` 12429 12430 // A map of Docker driver-specific options passed through. This parameter maps 12431 // to DriverOpts in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 12432 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12433 // and the xxopt option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 12434 DriverOpts map[string]*string `locationName:"driverOpts" type:"map"` 12435 12436 // Custom metadata to add to your Docker volume. This parameter maps to Labels 12437 // in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 12438 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12439 // and the xxlabel option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 12440 Labels map[string]*string `locationName:"labels" type:"map"` 12441 12442 // The scope for the Docker volume that determines its lifecycle. Docker volumes 12443 // that are scoped to a task are automatically provisioned when the task starts 12444 // and destroyed when the task stops. Docker volumes that are scoped as shared 12445 // persist after the task stops. 12446 Scope *string `locationName:"scope" type:"string" enum:"Scope"` 12447 } 12448 12449 // String returns the string representation. 12450 // 12451 // API parameter values that are decorated as "sensitive" in the API will not 12452 // be included in the string output. The member name will be present, but the 12453 // value will be replaced with "sensitive". 12454 func (s DockerVolumeConfiguration) String() string { 12455 return awsutil.Prettify(s) 12456 } 12457 12458 // GoString returns the string representation. 12459 // 12460 // API parameter values that are decorated as "sensitive" in the API will not 12461 // be included in the string output. The member name will be present, but the 12462 // value will be replaced with "sensitive". 12463 func (s DockerVolumeConfiguration) GoString() string { 12464 return s.String() 12465 } 12466 12467 // SetAutoprovision sets the Autoprovision field's value. 12468 func (s *DockerVolumeConfiguration) SetAutoprovision(v bool) *DockerVolumeConfiguration { 12469 s.Autoprovision = &v 12470 return s 12471 } 12472 12473 // SetDriver sets the Driver field's value. 12474 func (s *DockerVolumeConfiguration) SetDriver(v string) *DockerVolumeConfiguration { 12475 s.Driver = &v 12476 return s 12477 } 12478 12479 // SetDriverOpts sets the DriverOpts field's value. 12480 func (s *DockerVolumeConfiguration) SetDriverOpts(v map[string]*string) *DockerVolumeConfiguration { 12481 s.DriverOpts = v 12482 return s 12483 } 12484 12485 // SetLabels sets the Labels field's value. 12486 func (s *DockerVolumeConfiguration) SetLabels(v map[string]*string) *DockerVolumeConfiguration { 12487 s.Labels = v 12488 return s 12489 } 12490 12491 // SetScope sets the Scope field's value. 12492 func (s *DockerVolumeConfiguration) SetScope(v string) *DockerVolumeConfiguration { 12493 s.Scope = &v 12494 return s 12495 } 12496 12497 // The authorization configuration details for the Amazon EFS file system. 12498 type EFSAuthorizationConfig struct { 12499 _ struct{} `type:"structure"` 12500 12501 // The Amazon EFS access point ID to use. If an access point is specified, the 12502 // root directory value specified in the EFSVolumeConfiguration must either 12503 // be omitted or set to / which will enforce the path set on the EFS access 12504 // point. If an access point is used, transit encryption must be enabled in 12505 // the EFSVolumeConfiguration. For more information, see Working with Amazon 12506 // EFS Access Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) 12507 // in the Amazon Elastic File System User Guide. 12508 AccessPointId *string `locationName:"accessPointId" type:"string"` 12509 12510 // Whether or not to use the Amazon ECS task IAM role defined in a task definition 12511 // when mounting the Amazon EFS file system. If enabled, transit encryption 12512 // must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, 12513 // the default value of DISABLED is used. For more information, see Using Amazon 12514 // EFS Access Points (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints) 12515 // in the Amazon Elastic Container Service Developer Guide. 12516 Iam *string `locationName:"iam" type:"string" enum:"EFSAuthorizationConfigIAM"` 12517 } 12518 12519 // String returns the string representation. 12520 // 12521 // API parameter values that are decorated as "sensitive" in the API will not 12522 // be included in the string output. The member name will be present, but the 12523 // value will be replaced with "sensitive". 12524 func (s EFSAuthorizationConfig) String() string { 12525 return awsutil.Prettify(s) 12526 } 12527 12528 // GoString returns the string representation. 12529 // 12530 // API parameter values that are decorated as "sensitive" in the API will not 12531 // be included in the string output. The member name will be present, but the 12532 // value will be replaced with "sensitive". 12533 func (s EFSAuthorizationConfig) GoString() string { 12534 return s.String() 12535 } 12536 12537 // SetAccessPointId sets the AccessPointId field's value. 12538 func (s *EFSAuthorizationConfig) SetAccessPointId(v string) *EFSAuthorizationConfig { 12539 s.AccessPointId = &v 12540 return s 12541 } 12542 12543 // SetIam sets the Iam field's value. 12544 func (s *EFSAuthorizationConfig) SetIam(v string) *EFSAuthorizationConfig { 12545 s.Iam = &v 12546 return s 12547 } 12548 12549 // This parameter is specified when you are using an Amazon Elastic File System 12550 // file system for task storage. For more information, see Amazon EFS Volumes 12551 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html) 12552 // in the Amazon Elastic Container Service Developer Guide. 12553 type EFSVolumeConfiguration struct { 12554 _ struct{} `type:"structure"` 12555 12556 // The authorization configuration details for the Amazon EFS file system. 12557 AuthorizationConfig *EFSAuthorizationConfig `locationName:"authorizationConfig" type:"structure"` 12558 12559 // The Amazon EFS file system ID to use. 12560 // 12561 // FileSystemId is a required field 12562 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 12563 12564 // The directory within the Amazon EFS file system to mount as the root directory 12565 // inside the host. If this parameter is omitted, the root of the Amazon EFS 12566 // volume will be used. Specifying / will have the same effect as omitting this 12567 // parameter. 12568 // 12569 // If an EFS access point is specified in the authorizationConfig, the root 12570 // directory parameter must either be omitted or set to / which will enforce 12571 // the path set on the EFS access point. 12572 RootDirectory *string `locationName:"rootDirectory" type:"string"` 12573 12574 // Whether or not to enable encryption for Amazon EFS data in transit between 12575 // the Amazon ECS host and the Amazon EFS server. Transit encryption must be 12576 // enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, 12577 // the default value of DISABLED is used. For more information, see Encrypting 12578 // Data in Transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) 12579 // in the Amazon Elastic File System User Guide. 12580 TransitEncryption *string `locationName:"transitEncryption" type:"string" enum:"EFSTransitEncryption"` 12581 12582 // The port to use when sending encrypted data between the Amazon ECS host and 12583 // the Amazon EFS server. If you do not specify a transit encryption port, it 12584 // will use the port selection strategy that the Amazon EFS mount helper uses. 12585 // For more information, see EFS Mount Helper (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) 12586 // in the Amazon Elastic File System User Guide. 12587 TransitEncryptionPort *int64 `locationName:"transitEncryptionPort" type:"integer"` 12588 } 12589 12590 // String returns the string representation. 12591 // 12592 // API parameter values that are decorated as "sensitive" in the API will not 12593 // be included in the string output. The member name will be present, but the 12594 // value will be replaced with "sensitive". 12595 func (s EFSVolumeConfiguration) String() string { 12596 return awsutil.Prettify(s) 12597 } 12598 12599 // GoString returns the string representation. 12600 // 12601 // API parameter values that are decorated as "sensitive" in the API will not 12602 // be included in the string output. The member name will be present, but the 12603 // value will be replaced with "sensitive". 12604 func (s EFSVolumeConfiguration) GoString() string { 12605 return s.String() 12606 } 12607 12608 // Validate inspects the fields of the type to determine if they are valid. 12609 func (s *EFSVolumeConfiguration) Validate() error { 12610 invalidParams := request.ErrInvalidParams{Context: "EFSVolumeConfiguration"} 12611 if s.FileSystemId == nil { 12612 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 12613 } 12614 12615 if invalidParams.Len() > 0 { 12616 return invalidParams 12617 } 12618 return nil 12619 } 12620 12621 // SetAuthorizationConfig sets the AuthorizationConfig field's value. 12622 func (s *EFSVolumeConfiguration) SetAuthorizationConfig(v *EFSAuthorizationConfig) *EFSVolumeConfiguration { 12623 s.AuthorizationConfig = v 12624 return s 12625 } 12626 12627 // SetFileSystemId sets the FileSystemId field's value. 12628 func (s *EFSVolumeConfiguration) SetFileSystemId(v string) *EFSVolumeConfiguration { 12629 s.FileSystemId = &v 12630 return s 12631 } 12632 12633 // SetRootDirectory sets the RootDirectory field's value. 12634 func (s *EFSVolumeConfiguration) SetRootDirectory(v string) *EFSVolumeConfiguration { 12635 s.RootDirectory = &v 12636 return s 12637 } 12638 12639 // SetTransitEncryption sets the TransitEncryption field's value. 12640 func (s *EFSVolumeConfiguration) SetTransitEncryption(v string) *EFSVolumeConfiguration { 12641 s.TransitEncryption = &v 12642 return s 12643 } 12644 12645 // SetTransitEncryptionPort sets the TransitEncryptionPort field's value. 12646 func (s *EFSVolumeConfiguration) SetTransitEncryptionPort(v int64) *EFSVolumeConfiguration { 12647 s.TransitEncryptionPort = &v 12648 return s 12649 } 12650 12651 // A list of files containing the environment variables to pass to a container. 12652 // You can specify up to ten environment files. The file must have a .env file 12653 // extension. Each line in an environment file should contain an environment 12654 // variable in VARIABLE=VALUE format. Lines beginning with # are treated as 12655 // comments and are ignored. For more information on the environment variable 12656 // file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 12657 // 12658 // If there are environment variables specified using the environment parameter 12659 // in a container definition, they take precedence over the variables contained 12660 // within an environment file. If multiple environment files are specified that 12661 // contain the same variable, they are processed from the top down. It is recommended 12662 // to use unique variable names. For more information, see Specifying environment 12663 // variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 12664 // in the Amazon Elastic Container Service Developer Guide. 12665 // 12666 // This field is only valid for containers in Fargate tasks that use platform 12667 // version 1.4.0 or later. 12668 type EnvironmentFile struct { 12669 _ struct{} `type:"structure"` 12670 12671 // The file type to use. The only supported value is s3. 12672 // 12673 // Type is a required field 12674 Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentFileType"` 12675 12676 // The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment 12677 // variable file. 12678 // 12679 // Value is a required field 12680 Value *string `locationName:"value" type:"string" required:"true"` 12681 } 12682 12683 // String returns the string representation. 12684 // 12685 // API parameter values that are decorated as "sensitive" in the API will not 12686 // be included in the string output. The member name will be present, but the 12687 // value will be replaced with "sensitive". 12688 func (s EnvironmentFile) String() string { 12689 return awsutil.Prettify(s) 12690 } 12691 12692 // GoString returns the string representation. 12693 // 12694 // API parameter values that are decorated as "sensitive" in the API will not 12695 // be included in the string output. The member name will be present, but the 12696 // value will be replaced with "sensitive". 12697 func (s EnvironmentFile) GoString() string { 12698 return s.String() 12699 } 12700 12701 // Validate inspects the fields of the type to determine if they are valid. 12702 func (s *EnvironmentFile) Validate() error { 12703 invalidParams := request.ErrInvalidParams{Context: "EnvironmentFile"} 12704 if s.Type == nil { 12705 invalidParams.Add(request.NewErrParamRequired("Type")) 12706 } 12707 if s.Value == nil { 12708 invalidParams.Add(request.NewErrParamRequired("Value")) 12709 } 12710 12711 if invalidParams.Len() > 0 { 12712 return invalidParams 12713 } 12714 return nil 12715 } 12716 12717 // SetType sets the Type field's value. 12718 func (s *EnvironmentFile) SetType(v string) *EnvironmentFile { 12719 s.Type = &v 12720 return s 12721 } 12722 12723 // SetValue sets the Value field's value. 12724 func (s *EnvironmentFile) SetValue(v string) *EnvironmentFile { 12725 s.Value = &v 12726 return s 12727 } 12728 12729 // The amount of ephemeral storage to allocate for the task. This parameter 12730 // is used to expand the total amount of ephemeral storage available, beyond 12731 // the default amount, for tasks hosted on Fargate. For more information, see 12732 // Fargate task storage (https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html) 12733 // in the Amazon ECS User Guide for Fargate. 12734 // 12735 // This parameter is only supported for tasks hosted on Fargate using platform 12736 // version 1.4.0 or later. 12737 type EphemeralStorage struct { 12738 _ struct{} `type:"structure"` 12739 12740 // The total amount, in GiB, of ephemeral storage to set for the task. The minimum 12741 // supported value is 21 GiB and the maximum supported value is 200 GiB. 12742 // 12743 // SizeInGiB is a required field 12744 SizeInGiB *int64 `locationName:"sizeInGiB" type:"integer" required:"true"` 12745 } 12746 12747 // String returns the string representation. 12748 // 12749 // API parameter values that are decorated as "sensitive" in the API will not 12750 // be included in the string output. The member name will be present, but the 12751 // value will be replaced with "sensitive". 12752 func (s EphemeralStorage) String() string { 12753 return awsutil.Prettify(s) 12754 } 12755 12756 // GoString returns the string representation. 12757 // 12758 // API parameter values that are decorated as "sensitive" in the API will not 12759 // be included in the string output. The member name will be present, but the 12760 // value will be replaced with "sensitive". 12761 func (s EphemeralStorage) GoString() string { 12762 return s.String() 12763 } 12764 12765 // Validate inspects the fields of the type to determine if they are valid. 12766 func (s *EphemeralStorage) Validate() error { 12767 invalidParams := request.ErrInvalidParams{Context: "EphemeralStorage"} 12768 if s.SizeInGiB == nil { 12769 invalidParams.Add(request.NewErrParamRequired("SizeInGiB")) 12770 } 12771 12772 if invalidParams.Len() > 0 { 12773 return invalidParams 12774 } 12775 return nil 12776 } 12777 12778 // SetSizeInGiB sets the SizeInGiB field's value. 12779 func (s *EphemeralStorage) SetSizeInGiB(v int64) *EphemeralStorage { 12780 s.SizeInGiB = &v 12781 return s 12782 } 12783 12784 // The details of the execute command configuration. 12785 type ExecuteCommandConfiguration struct { 12786 _ struct{} `type:"structure"` 12787 12788 // Specify an Key Management Service key ID to encrypt the data between the 12789 // local client and the container. 12790 KmsKeyId *string `locationName:"kmsKeyId" type:"string"` 12791 12792 // The log configuration for the results of the execute command actions. The 12793 // logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When logging=OVERRIDE 12794 // is specified, a logConfiguration must be provided. 12795 LogConfiguration *ExecuteCommandLogConfiguration `locationName:"logConfiguration" type:"structure"` 12796 12797 // The log setting to use for redirecting logs for your execute command results. 12798 // The following log settings are available. 12799 // 12800 // * NONE: The execute command session is not logged. 12801 // 12802 // * DEFAULT: The awslogs configuration in the task definition is used. If 12803 // no logging parameter is specified, it defaults to this value. If no awslogs 12804 // log driver is configured in the task definition, the output won't be logged. 12805 // 12806 // * OVERRIDE: Specify the logging details as a part of logConfiguration. 12807 // If the OVERRIDE logging option is specified, the logConfiguration is required. 12808 Logging *string `locationName:"logging" type:"string" enum:"ExecuteCommandLogging"` 12809 } 12810 12811 // String returns the string representation. 12812 // 12813 // API parameter values that are decorated as "sensitive" in the API will not 12814 // be included in the string output. The member name will be present, but the 12815 // value will be replaced with "sensitive". 12816 func (s ExecuteCommandConfiguration) String() string { 12817 return awsutil.Prettify(s) 12818 } 12819 12820 // GoString returns the string representation. 12821 // 12822 // API parameter values that are decorated as "sensitive" in the API will not 12823 // be included in the string output. The member name will be present, but the 12824 // value will be replaced with "sensitive". 12825 func (s ExecuteCommandConfiguration) GoString() string { 12826 return s.String() 12827 } 12828 12829 // SetKmsKeyId sets the KmsKeyId field's value. 12830 func (s *ExecuteCommandConfiguration) SetKmsKeyId(v string) *ExecuteCommandConfiguration { 12831 s.KmsKeyId = &v 12832 return s 12833 } 12834 12835 // SetLogConfiguration sets the LogConfiguration field's value. 12836 func (s *ExecuteCommandConfiguration) SetLogConfiguration(v *ExecuteCommandLogConfiguration) *ExecuteCommandConfiguration { 12837 s.LogConfiguration = v 12838 return s 12839 } 12840 12841 // SetLogging sets the Logging field's value. 12842 func (s *ExecuteCommandConfiguration) SetLogging(v string) *ExecuteCommandConfiguration { 12843 s.Logging = &v 12844 return s 12845 } 12846 12847 type ExecuteCommandInput struct { 12848 _ struct{} `type:"structure"` 12849 12850 // The Amazon Resource Name (ARN) or short name of the cluster the task is running 12851 // in. If you do not specify a cluster, the default cluster is assumed. 12852 Cluster *string `locationName:"cluster" type:"string"` 12853 12854 // The command to run on the container. 12855 // 12856 // Command is a required field 12857 Command *string `locationName:"command" type:"string" required:"true"` 12858 12859 // The name of the container to execute the command on. A container name only 12860 // needs to be specified for tasks containing multiple containers. 12861 Container *string `locationName:"container" type:"string"` 12862 12863 // Use this flag to run your command in interactive mode. 12864 // 12865 // Interactive is a required field 12866 Interactive *bool `locationName:"interactive" type:"boolean" required:"true"` 12867 12868 // The Amazon Resource Name (ARN) or ID of the task the container is part of. 12869 // 12870 // Task is a required field 12871 Task *string `locationName:"task" type:"string" required:"true"` 12872 } 12873 12874 // String returns the string representation. 12875 // 12876 // API parameter values that are decorated as "sensitive" in the API will not 12877 // be included in the string output. The member name will be present, but the 12878 // value will be replaced with "sensitive". 12879 func (s ExecuteCommandInput) String() string { 12880 return awsutil.Prettify(s) 12881 } 12882 12883 // GoString returns the string representation. 12884 // 12885 // API parameter values that are decorated as "sensitive" in the API will not 12886 // be included in the string output. The member name will be present, but the 12887 // value will be replaced with "sensitive". 12888 func (s ExecuteCommandInput) GoString() string { 12889 return s.String() 12890 } 12891 12892 // Validate inspects the fields of the type to determine if they are valid. 12893 func (s *ExecuteCommandInput) Validate() error { 12894 invalidParams := request.ErrInvalidParams{Context: "ExecuteCommandInput"} 12895 if s.Command == nil { 12896 invalidParams.Add(request.NewErrParamRequired("Command")) 12897 } 12898 if s.Interactive == nil { 12899 invalidParams.Add(request.NewErrParamRequired("Interactive")) 12900 } 12901 if s.Task == nil { 12902 invalidParams.Add(request.NewErrParamRequired("Task")) 12903 } 12904 12905 if invalidParams.Len() > 0 { 12906 return invalidParams 12907 } 12908 return nil 12909 } 12910 12911 // SetCluster sets the Cluster field's value. 12912 func (s *ExecuteCommandInput) SetCluster(v string) *ExecuteCommandInput { 12913 s.Cluster = &v 12914 return s 12915 } 12916 12917 // SetCommand sets the Command field's value. 12918 func (s *ExecuteCommandInput) SetCommand(v string) *ExecuteCommandInput { 12919 s.Command = &v 12920 return s 12921 } 12922 12923 // SetContainer sets the Container field's value. 12924 func (s *ExecuteCommandInput) SetContainer(v string) *ExecuteCommandInput { 12925 s.Container = &v 12926 return s 12927 } 12928 12929 // SetInteractive sets the Interactive field's value. 12930 func (s *ExecuteCommandInput) SetInteractive(v bool) *ExecuteCommandInput { 12931 s.Interactive = &v 12932 return s 12933 } 12934 12935 // SetTask sets the Task field's value. 12936 func (s *ExecuteCommandInput) SetTask(v string) *ExecuteCommandInput { 12937 s.Task = &v 12938 return s 12939 } 12940 12941 // The log configuration for the results of the execute command actions. The 12942 // logs can be sent to CloudWatch Logs or an Amazon S3 bucket. 12943 type ExecuteCommandLogConfiguration struct { 12944 _ struct{} `type:"structure"` 12945 12946 // Whether or not to enable encryption on the CloudWatch logs. If not specified, 12947 // encryption will be disabled. 12948 CloudWatchEncryptionEnabled *bool `locationName:"cloudWatchEncryptionEnabled" type:"boolean"` 12949 12950 // The name of the CloudWatch log group to send logs to. 12951 // 12952 // The CloudWatch log group must already be created. 12953 CloudWatchLogGroupName *string `locationName:"cloudWatchLogGroupName" type:"string"` 12954 12955 // The name of the S3 bucket to send logs to. 12956 // 12957 // The S3 bucket must already be created. 12958 S3BucketName *string `locationName:"s3BucketName" type:"string"` 12959 12960 // Whether or not to enable encryption on the CloudWatch logs. If not specified, 12961 // encryption will be disabled. 12962 S3EncryptionEnabled *bool `locationName:"s3EncryptionEnabled" type:"boolean"` 12963 12964 // An optional folder in the S3 bucket to place logs in. 12965 S3KeyPrefix *string `locationName:"s3KeyPrefix" type:"string"` 12966 } 12967 12968 // String returns the string representation. 12969 // 12970 // API parameter values that are decorated as "sensitive" in the API will not 12971 // be included in the string output. The member name will be present, but the 12972 // value will be replaced with "sensitive". 12973 func (s ExecuteCommandLogConfiguration) String() string { 12974 return awsutil.Prettify(s) 12975 } 12976 12977 // GoString returns the string representation. 12978 // 12979 // API parameter values that are decorated as "sensitive" in the API will not 12980 // be included in the string output. The member name will be present, but the 12981 // value will be replaced with "sensitive". 12982 func (s ExecuteCommandLogConfiguration) GoString() string { 12983 return s.String() 12984 } 12985 12986 // SetCloudWatchEncryptionEnabled sets the CloudWatchEncryptionEnabled field's value. 12987 func (s *ExecuteCommandLogConfiguration) SetCloudWatchEncryptionEnabled(v bool) *ExecuteCommandLogConfiguration { 12988 s.CloudWatchEncryptionEnabled = &v 12989 return s 12990 } 12991 12992 // SetCloudWatchLogGroupName sets the CloudWatchLogGroupName field's value. 12993 func (s *ExecuteCommandLogConfiguration) SetCloudWatchLogGroupName(v string) *ExecuteCommandLogConfiguration { 12994 s.CloudWatchLogGroupName = &v 12995 return s 12996 } 12997 12998 // SetS3BucketName sets the S3BucketName field's value. 12999 func (s *ExecuteCommandLogConfiguration) SetS3BucketName(v string) *ExecuteCommandLogConfiguration { 13000 s.S3BucketName = &v 13001 return s 13002 } 13003 13004 // SetS3EncryptionEnabled sets the S3EncryptionEnabled field's value. 13005 func (s *ExecuteCommandLogConfiguration) SetS3EncryptionEnabled(v bool) *ExecuteCommandLogConfiguration { 13006 s.S3EncryptionEnabled = &v 13007 return s 13008 } 13009 13010 // SetS3KeyPrefix sets the S3KeyPrefix field's value. 13011 func (s *ExecuteCommandLogConfiguration) SetS3KeyPrefix(v string) *ExecuteCommandLogConfiguration { 13012 s.S3KeyPrefix = &v 13013 return s 13014 } 13015 13016 type ExecuteCommandOutput struct { 13017 _ struct{} `type:"structure"` 13018 13019 // The Amazon Resource Name (ARN) of the cluster. 13020 ClusterArn *string `locationName:"clusterArn" type:"string"` 13021 13022 // The Amazon Resource Name (ARN) of the container. 13023 ContainerArn *string `locationName:"containerArn" type:"string"` 13024 13025 // The name of the container. 13026 ContainerName *string `locationName:"containerName" type:"string"` 13027 13028 // Whether or not the execute command session is running in interactive mode. 13029 // Amazon ECS only supports initiating interactive sessions, so you must specify 13030 // true for this value. 13031 Interactive *bool `locationName:"interactive" type:"boolean"` 13032 13033 // The details of the SSM session that was created for this instance of execute-command. 13034 Session *Session `locationName:"session" type:"structure"` 13035 13036 // The Amazon Resource Name (ARN) of the task. 13037 TaskArn *string `locationName:"taskArn" type:"string"` 13038 } 13039 13040 // String returns the string representation. 13041 // 13042 // API parameter values that are decorated as "sensitive" in the API will not 13043 // be included in the string output. The member name will be present, but the 13044 // value will be replaced with "sensitive". 13045 func (s ExecuteCommandOutput) String() string { 13046 return awsutil.Prettify(s) 13047 } 13048 13049 // GoString returns the string representation. 13050 // 13051 // API parameter values that are decorated as "sensitive" in the API will not 13052 // be included in the string output. The member name will be present, but the 13053 // value will be replaced with "sensitive". 13054 func (s ExecuteCommandOutput) GoString() string { 13055 return s.String() 13056 } 13057 13058 // SetClusterArn sets the ClusterArn field's value. 13059 func (s *ExecuteCommandOutput) SetClusterArn(v string) *ExecuteCommandOutput { 13060 s.ClusterArn = &v 13061 return s 13062 } 13063 13064 // SetContainerArn sets the ContainerArn field's value. 13065 func (s *ExecuteCommandOutput) SetContainerArn(v string) *ExecuteCommandOutput { 13066 s.ContainerArn = &v 13067 return s 13068 } 13069 13070 // SetContainerName sets the ContainerName field's value. 13071 func (s *ExecuteCommandOutput) SetContainerName(v string) *ExecuteCommandOutput { 13072 s.ContainerName = &v 13073 return s 13074 } 13075 13076 // SetInteractive sets the Interactive field's value. 13077 func (s *ExecuteCommandOutput) SetInteractive(v bool) *ExecuteCommandOutput { 13078 s.Interactive = &v 13079 return s 13080 } 13081 13082 // SetSession sets the Session field's value. 13083 func (s *ExecuteCommandOutput) SetSession(v *Session) *ExecuteCommandOutput { 13084 s.Session = v 13085 return s 13086 } 13087 13088 // SetTaskArn sets the TaskArn field's value. 13089 func (s *ExecuteCommandOutput) SetTaskArn(v string) *ExecuteCommandOutput { 13090 s.TaskArn = &v 13091 return s 13092 } 13093 13094 // The authorization configuration details for Amazon FSx for Windows File Server 13095 // file system. See FSxWindowsFileServerVolumeConfiguration (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) 13096 // in the Amazon Elastic Container Service API Reference. 13097 // 13098 // For more information and the input format, see Amazon FSx for Windows File 13099 // Server Volumes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) 13100 // in the Amazon Elastic Container Service Developer Guide. 13101 type FSxWindowsFileServerAuthorizationConfig struct { 13102 _ struct{} `type:"structure"` 13103 13104 // The authorization credential option to use. The authorization credential 13105 // options can be provided using either the Amazon Resource Name (ARN) of an 13106 // Secrets Manager secret or SSM Parameter Store parameter. The ARNs refer to 13107 // the stored credentials. 13108 // 13109 // CredentialsParameter is a required field 13110 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 13111 13112 // A fully qualified domain name hosted by an Directory Service (https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) 13113 // Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. 13114 // 13115 // Domain is a required field 13116 Domain *string `locationName:"domain" type:"string" required:"true"` 13117 } 13118 13119 // String returns the string representation. 13120 // 13121 // API parameter values that are decorated as "sensitive" in the API will not 13122 // be included in the string output. The member name will be present, but the 13123 // value will be replaced with "sensitive". 13124 func (s FSxWindowsFileServerAuthorizationConfig) String() string { 13125 return awsutil.Prettify(s) 13126 } 13127 13128 // GoString returns the string representation. 13129 // 13130 // API parameter values that are decorated as "sensitive" in the API will not 13131 // be included in the string output. The member name will be present, but the 13132 // value will be replaced with "sensitive". 13133 func (s FSxWindowsFileServerAuthorizationConfig) GoString() string { 13134 return s.String() 13135 } 13136 13137 // Validate inspects the fields of the type to determine if they are valid. 13138 func (s *FSxWindowsFileServerAuthorizationConfig) Validate() error { 13139 invalidParams := request.ErrInvalidParams{Context: "FSxWindowsFileServerAuthorizationConfig"} 13140 if s.CredentialsParameter == nil { 13141 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 13142 } 13143 if s.Domain == nil { 13144 invalidParams.Add(request.NewErrParamRequired("Domain")) 13145 } 13146 13147 if invalidParams.Len() > 0 { 13148 return invalidParams 13149 } 13150 return nil 13151 } 13152 13153 // SetCredentialsParameter sets the CredentialsParameter field's value. 13154 func (s *FSxWindowsFileServerAuthorizationConfig) SetCredentialsParameter(v string) *FSxWindowsFileServerAuthorizationConfig { 13155 s.CredentialsParameter = &v 13156 return s 13157 } 13158 13159 // SetDomain sets the Domain field's value. 13160 func (s *FSxWindowsFileServerAuthorizationConfig) SetDomain(v string) *FSxWindowsFileServerAuthorizationConfig { 13161 s.Domain = &v 13162 return s 13163 } 13164 13165 // This parameter is specified when you are using Amazon FSx for Windows File 13166 // Server (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) 13167 // file system for task storage. 13168 // 13169 // For more information and the input format, see Amazon FSx for Windows File 13170 // Server Volumes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) 13171 // in the Amazon Elastic Container Service Developer Guide. 13172 type FSxWindowsFileServerVolumeConfiguration struct { 13173 _ struct{} `type:"structure"` 13174 13175 // The authorization configuration details for the Amazon FSx for Windows File 13176 // Server file system. 13177 // 13178 // AuthorizationConfig is a required field 13179 AuthorizationConfig *FSxWindowsFileServerAuthorizationConfig `locationName:"authorizationConfig" type:"structure" required:"true"` 13180 13181 // The Amazon FSx for Windows File Server file system ID to use. 13182 // 13183 // FileSystemId is a required field 13184 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 13185 13186 // The directory within the Amazon FSx for Windows File Server file system to 13187 // mount as the root directory inside the host. 13188 // 13189 // RootDirectory is a required field 13190 RootDirectory *string `locationName:"rootDirectory" type:"string" required:"true"` 13191 } 13192 13193 // String returns the string representation. 13194 // 13195 // API parameter values that are decorated as "sensitive" in the API will not 13196 // be included in the string output. The member name will be present, but the 13197 // value will be replaced with "sensitive". 13198 func (s FSxWindowsFileServerVolumeConfiguration) String() string { 13199 return awsutil.Prettify(s) 13200 } 13201 13202 // GoString returns the string representation. 13203 // 13204 // API parameter values that are decorated as "sensitive" in the API will not 13205 // be included in the string output. The member name will be present, but the 13206 // value will be replaced with "sensitive". 13207 func (s FSxWindowsFileServerVolumeConfiguration) GoString() string { 13208 return s.String() 13209 } 13210 13211 // Validate inspects the fields of the type to determine if they are valid. 13212 func (s *FSxWindowsFileServerVolumeConfiguration) Validate() error { 13213 invalidParams := request.ErrInvalidParams{Context: "FSxWindowsFileServerVolumeConfiguration"} 13214 if s.AuthorizationConfig == nil { 13215 invalidParams.Add(request.NewErrParamRequired("AuthorizationConfig")) 13216 } 13217 if s.FileSystemId == nil { 13218 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 13219 } 13220 if s.RootDirectory == nil { 13221 invalidParams.Add(request.NewErrParamRequired("RootDirectory")) 13222 } 13223 if s.AuthorizationConfig != nil { 13224 if err := s.AuthorizationConfig.Validate(); err != nil { 13225 invalidParams.AddNested("AuthorizationConfig", err.(request.ErrInvalidParams)) 13226 } 13227 } 13228 13229 if invalidParams.Len() > 0 { 13230 return invalidParams 13231 } 13232 return nil 13233 } 13234 13235 // SetAuthorizationConfig sets the AuthorizationConfig field's value. 13236 func (s *FSxWindowsFileServerVolumeConfiguration) SetAuthorizationConfig(v *FSxWindowsFileServerAuthorizationConfig) *FSxWindowsFileServerVolumeConfiguration { 13237 s.AuthorizationConfig = v 13238 return s 13239 } 13240 13241 // SetFileSystemId sets the FileSystemId field's value. 13242 func (s *FSxWindowsFileServerVolumeConfiguration) SetFileSystemId(v string) *FSxWindowsFileServerVolumeConfiguration { 13243 s.FileSystemId = &v 13244 return s 13245 } 13246 13247 // SetRootDirectory sets the RootDirectory field's value. 13248 func (s *FSxWindowsFileServerVolumeConfiguration) SetRootDirectory(v string) *FSxWindowsFileServerVolumeConfiguration { 13249 s.RootDirectory = &v 13250 return s 13251 } 13252 13253 // A failed resource. For a list of common causes, see API failure reasons (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html) 13254 // in the Amazon Elastic Container Service Developer Guide. 13255 type Failure struct { 13256 _ struct{} `type:"structure"` 13257 13258 // The Amazon Resource Name (ARN) of the failed resource. 13259 Arn *string `locationName:"arn" type:"string"` 13260 13261 // The details of the failure. 13262 Detail *string `locationName:"detail" type:"string"` 13263 13264 // The reason for the failure. 13265 Reason *string `locationName:"reason" type:"string"` 13266 } 13267 13268 // String returns the string representation. 13269 // 13270 // API parameter values that are decorated as "sensitive" in the API will not 13271 // be included in the string output. The member name will be present, but the 13272 // value will be replaced with "sensitive". 13273 func (s Failure) String() string { 13274 return awsutil.Prettify(s) 13275 } 13276 13277 // GoString returns the string representation. 13278 // 13279 // API parameter values that are decorated as "sensitive" in the API will not 13280 // be included in the string output. The member name will be present, but the 13281 // value will be replaced with "sensitive". 13282 func (s Failure) GoString() string { 13283 return s.String() 13284 } 13285 13286 // SetArn sets the Arn field's value. 13287 func (s *Failure) SetArn(v string) *Failure { 13288 s.Arn = &v 13289 return s 13290 } 13291 13292 // SetDetail sets the Detail field's value. 13293 func (s *Failure) SetDetail(v string) *Failure { 13294 s.Detail = &v 13295 return s 13296 } 13297 13298 // SetReason sets the Reason field's value. 13299 func (s *Failure) SetReason(v string) *Failure { 13300 s.Reason = &v 13301 return s 13302 } 13303 13304 // The FireLens configuration for the container. This is used to specify and 13305 // configure a log router for container logs. For more information, see Custom 13306 // Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 13307 // in the Amazon Elastic Container Service Developer Guide. 13308 type FirelensConfiguration struct { 13309 _ struct{} `type:"structure"` 13310 13311 // The options to use when configuring the log router. This field is optional 13312 // and can be used to specify a custom configuration file or to add additional 13313 // metadata, such as the task, task definition, cluster, and container instance 13314 // details to the log event. If specified, the syntax to use is "options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::mybucket/fluent.conf|filepath"}. 13315 // For more information, see Creating a Task Definition that Uses a FireLens 13316 // Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef) 13317 // in the Amazon Elastic Container Service Developer Guide. 13318 // 13319 // Tasks hosted on Fargate only support the file configuration file type. 13320 Options map[string]*string `locationName:"options" type:"map"` 13321 13322 // The log router to use. The valid values are fluentd or fluentbit. 13323 // 13324 // Type is a required field 13325 Type *string `locationName:"type" type:"string" required:"true" enum:"FirelensConfigurationType"` 13326 } 13327 13328 // String returns the string representation. 13329 // 13330 // API parameter values that are decorated as "sensitive" in the API will not 13331 // be included in the string output. The member name will be present, but the 13332 // value will be replaced with "sensitive". 13333 func (s FirelensConfiguration) String() string { 13334 return awsutil.Prettify(s) 13335 } 13336 13337 // GoString returns the string representation. 13338 // 13339 // API parameter values that are decorated as "sensitive" in the API will not 13340 // be included in the string output. The member name will be present, but the 13341 // value will be replaced with "sensitive". 13342 func (s FirelensConfiguration) GoString() string { 13343 return s.String() 13344 } 13345 13346 // Validate inspects the fields of the type to determine if they are valid. 13347 func (s *FirelensConfiguration) Validate() error { 13348 invalidParams := request.ErrInvalidParams{Context: "FirelensConfiguration"} 13349 if s.Type == nil { 13350 invalidParams.Add(request.NewErrParamRequired("Type")) 13351 } 13352 13353 if invalidParams.Len() > 0 { 13354 return invalidParams 13355 } 13356 return nil 13357 } 13358 13359 // SetOptions sets the Options field's value. 13360 func (s *FirelensConfiguration) SetOptions(v map[string]*string) *FirelensConfiguration { 13361 s.Options = v 13362 return s 13363 } 13364 13365 // SetType sets the Type field's value. 13366 func (s *FirelensConfiguration) SetType(v string) *FirelensConfiguration { 13367 s.Type = &v 13368 return s 13369 } 13370 13371 // An object representing a container health check. Health check parameters 13372 // that are specified in a container definition override any Docker health checks 13373 // that exist in the container image (such as those specified in a parent image 13374 // or from the image's Dockerfile). 13375 // 13376 // You can view the health status of both individual containers and a task with 13377 // the DescribeTasks API operation or when viewing the task details in the console. 13378 // 13379 // The following describes the possible healthStatus values for a container: 13380 // 13381 // * HEALTHY-The container health check has passed successfully. 13382 // 13383 // * UNHEALTHY-The container health check has failed. 13384 // 13385 // * UNKNOWN-The container health check is being evaluated or there is no 13386 // container health check defined. 13387 // 13388 // The following describes the possible healthStatus values for a task. The 13389 // container health check status of nonessential containers do not have an effect 13390 // on the health status of a task. 13391 // 13392 // * HEALTHY-All essential containers within the task have passed their health 13393 // checks. 13394 // 13395 // * UNHEALTHY-One or more essential containers have failed their health 13396 // check. 13397 // 13398 // * UNKNOWN-The essential containers within the task are still having their 13399 // health checks evaluated or there are no container health checks defined. 13400 // 13401 // If a task is run manually, and not as part of a service, the task will continue 13402 // its lifecycle regardless of its health status. For tasks that are part of 13403 // a service, if the task reports as unhealthy then the task will be stopped 13404 // and the service scheduler will replace it. 13405 // 13406 // The following are notes about container health check support: 13407 // 13408 // * Container health checks require version 1.17.0 or greater of the Amazon 13409 // ECS container agent. For more information, see Updating the Amazon ECS 13410 // Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). 13411 // 13412 // * Container health checks are supported for Fargate tasks if you are using 13413 // platform version 1.1.0 or greater. For more information, see Fargate Platform 13414 // Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 13415 // 13416 // * Container health checks are not supported for tasks that are part of 13417 // a service that is configured to use a Classic Load Balancer. 13418 type HealthCheck struct { 13419 _ struct{} `type:"structure"` 13420 13421 // A string array representing the command that the container runs to determine 13422 // if it is healthy. The string array must start with CMD to execute the command 13423 // arguments directly, or CMD-SHELL to run the command with the container's 13424 // default shell. 13425 // 13426 // When you use the Amazon Web Services Management Console JSON panel, the Command 13427 // Line Interface, or the APIs, you should enclose the list of commands in brackets, 13428 // as shown below. 13429 // 13430 // [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] 13431 // 13432 // You do not need to include the brackets when you use the Amazon Web Services 13433 // Management Consoleas shown below. 13434 // 13435 // "CMD-SHELL", "curl -f http://localhost/ || exit 1" 13436 // 13437 // An exit code of 0 indicates success, and non-zero exit code indicates failure. 13438 // For more information, see HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 13439 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 13440 // 13441 // Command is a required field 13442 Command []*string `locationName:"command" type:"list" required:"true"` 13443 13444 // The time period in seconds between each health check execution. You may specify 13445 // between 5 and 300 seconds. The default value is 30 seconds. 13446 Interval *int64 `locationName:"interval" type:"integer"` 13447 13448 // The number of times to retry a failed health check before the container is 13449 // considered unhealthy. You may specify between 1 and 10 retries. The default 13450 // value is 3. 13451 Retries *int64 `locationName:"retries" type:"integer"` 13452 13453 // The optional grace period within which to provide containers time to bootstrap 13454 // before failed health checks count towards the maximum number of retries. 13455 // You may specify between 0 and 300 seconds. The startPeriod is disabled by 13456 // default. 13457 // 13458 // If a health check succeeds within the startPeriod, then the container is 13459 // considered healthy and any subsequent failures count toward the maximum number 13460 // of retries. 13461 StartPeriod *int64 `locationName:"startPeriod" type:"integer"` 13462 13463 // The time period in seconds to wait for a health check to succeed before it 13464 // is considered a failure. You may specify between 2 and 60 seconds. The default 13465 // value is 5. 13466 Timeout *int64 `locationName:"timeout" type:"integer"` 13467 } 13468 13469 // String 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 HealthCheck) String() string { 13475 return awsutil.Prettify(s) 13476 } 13477 13478 // GoString returns the string representation. 13479 // 13480 // API parameter values that are decorated as "sensitive" in the API will not 13481 // be included in the string output. The member name will be present, but the 13482 // value will be replaced with "sensitive". 13483 func (s HealthCheck) GoString() string { 13484 return s.String() 13485 } 13486 13487 // Validate inspects the fields of the type to determine if they are valid. 13488 func (s *HealthCheck) Validate() error { 13489 invalidParams := request.ErrInvalidParams{Context: "HealthCheck"} 13490 if s.Command == nil { 13491 invalidParams.Add(request.NewErrParamRequired("Command")) 13492 } 13493 13494 if invalidParams.Len() > 0 { 13495 return invalidParams 13496 } 13497 return nil 13498 } 13499 13500 // SetCommand sets the Command field's value. 13501 func (s *HealthCheck) SetCommand(v []*string) *HealthCheck { 13502 s.Command = v 13503 return s 13504 } 13505 13506 // SetInterval sets the Interval field's value. 13507 func (s *HealthCheck) SetInterval(v int64) *HealthCheck { 13508 s.Interval = &v 13509 return s 13510 } 13511 13512 // SetRetries sets the Retries field's value. 13513 func (s *HealthCheck) SetRetries(v int64) *HealthCheck { 13514 s.Retries = &v 13515 return s 13516 } 13517 13518 // SetStartPeriod sets the StartPeriod field's value. 13519 func (s *HealthCheck) SetStartPeriod(v int64) *HealthCheck { 13520 s.StartPeriod = &v 13521 return s 13522 } 13523 13524 // SetTimeout sets the Timeout field's value. 13525 func (s *HealthCheck) SetTimeout(v int64) *HealthCheck { 13526 s.Timeout = &v 13527 return s 13528 } 13529 13530 // Hostnames and IP address entries that are added to the /etc/hosts file of 13531 // a container via the extraHosts parameter of its ContainerDefinition. 13532 type HostEntry struct { 13533 _ struct{} `type:"structure"` 13534 13535 // The hostname to use in the /etc/hosts entry. 13536 // 13537 // Hostname is a required field 13538 Hostname *string `locationName:"hostname" type:"string" required:"true"` 13539 13540 // The IP address to use in the /etc/hosts entry. 13541 // 13542 // IpAddress is a required field 13543 IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` 13544 } 13545 13546 // String returns the string representation. 13547 // 13548 // API parameter values that are decorated as "sensitive" in the API will not 13549 // be included in the string output. The member name will be present, but the 13550 // value will be replaced with "sensitive". 13551 func (s HostEntry) String() string { 13552 return awsutil.Prettify(s) 13553 } 13554 13555 // GoString returns the string representation. 13556 // 13557 // API parameter values that are decorated as "sensitive" in the API will not 13558 // be included in the string output. The member name will be present, but the 13559 // value will be replaced with "sensitive". 13560 func (s HostEntry) GoString() string { 13561 return s.String() 13562 } 13563 13564 // Validate inspects the fields of the type to determine if they are valid. 13565 func (s *HostEntry) Validate() error { 13566 invalidParams := request.ErrInvalidParams{Context: "HostEntry"} 13567 if s.Hostname == nil { 13568 invalidParams.Add(request.NewErrParamRequired("Hostname")) 13569 } 13570 if s.IpAddress == nil { 13571 invalidParams.Add(request.NewErrParamRequired("IpAddress")) 13572 } 13573 13574 if invalidParams.Len() > 0 { 13575 return invalidParams 13576 } 13577 return nil 13578 } 13579 13580 // SetHostname sets the Hostname field's value. 13581 func (s *HostEntry) SetHostname(v string) *HostEntry { 13582 s.Hostname = &v 13583 return s 13584 } 13585 13586 // SetIpAddress sets the IpAddress field's value. 13587 func (s *HostEntry) SetIpAddress(v string) *HostEntry { 13588 s.IpAddress = &v 13589 return s 13590 } 13591 13592 // Details on a container instance bind mount host volume. 13593 type HostVolumeProperties struct { 13594 _ struct{} `type:"structure"` 13595 13596 // When the host parameter is used, specify a sourcePath to declare the path 13597 // on the host container instance that is presented to the container. If this 13598 // parameter is empty, then the Docker daemon has assigned a host path for you. 13599 // If the host parameter contains a sourcePath file location, then the data 13600 // volume persists at the specified location on the host container instance 13601 // until you delete it manually. If the sourcePath value does not exist on the 13602 // host container instance, the Docker daemon creates it. If the location does 13603 // exist, the contents of the source path folder are exported. 13604 // 13605 // If you are using the Fargate launch type, the sourcePath parameter is not 13606 // supported. 13607 SourcePath *string `locationName:"sourcePath" type:"string"` 13608 } 13609 13610 // String returns the string representation. 13611 // 13612 // API parameter values that are decorated as "sensitive" in the API will not 13613 // be included in the string output. The member name will be present, but the 13614 // value will be replaced with "sensitive". 13615 func (s HostVolumeProperties) String() string { 13616 return awsutil.Prettify(s) 13617 } 13618 13619 // GoString returns the string representation. 13620 // 13621 // API parameter values that are decorated as "sensitive" in the API will not 13622 // be included in the string output. The member name will be present, but the 13623 // value will be replaced with "sensitive". 13624 func (s HostVolumeProperties) GoString() string { 13625 return s.String() 13626 } 13627 13628 // SetSourcePath sets the SourcePath field's value. 13629 func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { 13630 s.SourcePath = &v 13631 return s 13632 } 13633 13634 // Details on a Elastic Inference accelerator. For more information, see Working 13635 // with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 13636 // in the Amazon Elastic Container Service Developer Guide. 13637 type InferenceAccelerator struct { 13638 _ struct{} `type:"structure"` 13639 13640 // The Elastic Inference accelerator device name. The deviceName must also be 13641 // referenced in a container definition as a ResourceRequirement. 13642 // 13643 // DeviceName is a required field 13644 DeviceName *string `locationName:"deviceName" type:"string" required:"true"` 13645 13646 // The Elastic Inference accelerator type to use. 13647 // 13648 // DeviceType is a required field 13649 DeviceType *string `locationName:"deviceType" type:"string" required:"true"` 13650 } 13651 13652 // String returns the string representation. 13653 // 13654 // API parameter values that are decorated as "sensitive" in the API will not 13655 // be included in the string output. The member name will be present, but the 13656 // value will be replaced with "sensitive". 13657 func (s InferenceAccelerator) String() string { 13658 return awsutil.Prettify(s) 13659 } 13660 13661 // GoString returns the string representation. 13662 // 13663 // API parameter values that are decorated as "sensitive" in the API will not 13664 // be included in the string output. The member name will be present, but the 13665 // value will be replaced with "sensitive". 13666 func (s InferenceAccelerator) GoString() string { 13667 return s.String() 13668 } 13669 13670 // Validate inspects the fields of the type to determine if they are valid. 13671 func (s *InferenceAccelerator) Validate() error { 13672 invalidParams := request.ErrInvalidParams{Context: "InferenceAccelerator"} 13673 if s.DeviceName == nil { 13674 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 13675 } 13676 if s.DeviceType == nil { 13677 invalidParams.Add(request.NewErrParamRequired("DeviceType")) 13678 } 13679 13680 if invalidParams.Len() > 0 { 13681 return invalidParams 13682 } 13683 return nil 13684 } 13685 13686 // SetDeviceName sets the DeviceName field's value. 13687 func (s *InferenceAccelerator) SetDeviceName(v string) *InferenceAccelerator { 13688 s.DeviceName = &v 13689 return s 13690 } 13691 13692 // SetDeviceType sets the DeviceType field's value. 13693 func (s *InferenceAccelerator) SetDeviceType(v string) *InferenceAccelerator { 13694 s.DeviceType = &v 13695 return s 13696 } 13697 13698 // Details on an Elastic Inference accelerator task override. This parameter 13699 // is used to override the Elastic Inference accelerator specified in the task 13700 // definition. For more information, see Working with Amazon Elastic Inference 13701 // on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 13702 // in the Amazon Elastic Container Service Developer Guide. 13703 type InferenceAcceleratorOverride struct { 13704 _ struct{} `type:"structure"` 13705 13706 // The Elastic Inference accelerator device name to override for the task. This 13707 // parameter must match a deviceName specified in the task definition. 13708 DeviceName *string `locationName:"deviceName" type:"string"` 13709 13710 // The Elastic Inference accelerator type to use. 13711 DeviceType *string `locationName:"deviceType" type:"string"` 13712 } 13713 13714 // String returns the string representation. 13715 // 13716 // API parameter values that are decorated as "sensitive" in the API will not 13717 // be included in the string output. The member name will be present, but the 13718 // value will be replaced with "sensitive". 13719 func (s InferenceAcceleratorOverride) String() string { 13720 return awsutil.Prettify(s) 13721 } 13722 13723 // GoString returns the string representation. 13724 // 13725 // API parameter values that are decorated as "sensitive" in the API will not 13726 // be included in the string output. The member name will be present, but the 13727 // value will be replaced with "sensitive". 13728 func (s InferenceAcceleratorOverride) GoString() string { 13729 return s.String() 13730 } 13731 13732 // SetDeviceName sets the DeviceName field's value. 13733 func (s *InferenceAcceleratorOverride) SetDeviceName(v string) *InferenceAcceleratorOverride { 13734 s.DeviceName = &v 13735 return s 13736 } 13737 13738 // SetDeviceType sets the DeviceType field's value. 13739 func (s *InferenceAcceleratorOverride) SetDeviceType(v string) *InferenceAcceleratorOverride { 13740 s.DeviceType = &v 13741 return s 13742 } 13743 13744 // The specified parameter is invalid. Review the available parameters for the 13745 // API request. 13746 type InvalidParameterException struct { 13747 _ struct{} `type:"structure"` 13748 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13749 13750 Message_ *string `locationName:"message" type:"string"` 13751 } 13752 13753 // String returns the string representation. 13754 // 13755 // API parameter values that are decorated as "sensitive" in the API will not 13756 // be included in the string output. The member name will be present, but the 13757 // value will be replaced with "sensitive". 13758 func (s InvalidParameterException) String() string { 13759 return awsutil.Prettify(s) 13760 } 13761 13762 // GoString returns the string representation. 13763 // 13764 // API parameter values that are decorated as "sensitive" in the API will not 13765 // be included in the string output. The member name will be present, but the 13766 // value will be replaced with "sensitive". 13767 func (s InvalidParameterException) GoString() string { 13768 return s.String() 13769 } 13770 13771 func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 13772 return &InvalidParameterException{ 13773 RespMetadata: v, 13774 } 13775 } 13776 13777 // Code returns the exception type name. 13778 func (s *InvalidParameterException) Code() string { 13779 return "InvalidParameterException" 13780 } 13781 13782 // Message returns the exception's message. 13783 func (s *InvalidParameterException) Message() string { 13784 if s.Message_ != nil { 13785 return *s.Message_ 13786 } 13787 return "" 13788 } 13789 13790 // OrigErr always returns nil, satisfies awserr.Error interface. 13791 func (s *InvalidParameterException) OrigErr() error { 13792 return nil 13793 } 13794 13795 func (s *InvalidParameterException) Error() string { 13796 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13797 } 13798 13799 // Status code returns the HTTP status code for the request's response error. 13800 func (s *InvalidParameterException) StatusCode() int { 13801 return s.RespMetadata.StatusCode 13802 } 13803 13804 // RequestID returns the service's response RequestID for request. 13805 func (s *InvalidParameterException) RequestID() string { 13806 return s.RespMetadata.RequestID 13807 } 13808 13809 // The Linux capabilities for the container that are added to or dropped from 13810 // the default configuration provided by Docker. For more information on the 13811 // default capabilities and the non-default available capabilities, see Runtime 13812 // privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 13813 // in the Docker run reference. For more detailed information on these Linux 13814 // capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) 13815 // Linux manual page. 13816 type KernelCapabilities struct { 13817 _ struct{} `type:"structure"` 13818 13819 // The Linux capabilities for the container that have been added to the default 13820 // configuration provided by Docker. This parameter maps to CapAdd in the Create 13821 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 13822 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 13823 // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 13824 // 13825 // Tasks launched on Fargate only support adding the SYS_PTRACE kernel capability. 13826 // 13827 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 13828 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 13829 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 13830 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 13831 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 13832 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 13833 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 13834 // "WAKE_ALARM" 13835 Add []*string `locationName:"add" type:"list"` 13836 13837 // The Linux capabilities for the container that have been removed from the 13838 // default configuration provided by Docker. This parameter maps to CapDrop 13839 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 13840 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 13841 // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 13842 // 13843 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 13844 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 13845 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 13846 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 13847 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 13848 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 13849 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 13850 // "WAKE_ALARM" 13851 Drop []*string `locationName:"drop" type:"list"` 13852 } 13853 13854 // String returns the string representation. 13855 // 13856 // API parameter values that are decorated as "sensitive" in the API will not 13857 // be included in the string output. The member name will be present, but the 13858 // value will be replaced with "sensitive". 13859 func (s KernelCapabilities) String() string { 13860 return awsutil.Prettify(s) 13861 } 13862 13863 // GoString returns the string representation. 13864 // 13865 // API parameter values that are decorated as "sensitive" in the API will not 13866 // be included in the string output. The member name will be present, but the 13867 // value will be replaced with "sensitive". 13868 func (s KernelCapabilities) GoString() string { 13869 return s.String() 13870 } 13871 13872 // SetAdd sets the Add field's value. 13873 func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { 13874 s.Add = v 13875 return s 13876 } 13877 13878 // SetDrop sets the Drop field's value. 13879 func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { 13880 s.Drop = v 13881 return s 13882 } 13883 13884 // A key-value pair object. 13885 type KeyValuePair struct { 13886 _ struct{} `type:"structure"` 13887 13888 // The name of the key-value pair. For environment variables, this is the name 13889 // of the environment variable. 13890 Name *string `locationName:"name" type:"string"` 13891 13892 // The value of the key-value pair. For environment variables, this is the value 13893 // of the environment variable. 13894 Value *string `locationName:"value" type:"string"` 13895 } 13896 13897 // String returns the string representation. 13898 // 13899 // API parameter values that are decorated as "sensitive" in the API will not 13900 // be included in the string output. The member name will be present, but the 13901 // value will be replaced with "sensitive". 13902 func (s KeyValuePair) String() string { 13903 return awsutil.Prettify(s) 13904 } 13905 13906 // GoString returns the string representation. 13907 // 13908 // API parameter values that are decorated as "sensitive" in the API will not 13909 // be included in the string output. The member name will be present, but the 13910 // value will be replaced with "sensitive". 13911 func (s KeyValuePair) GoString() string { 13912 return s.String() 13913 } 13914 13915 // SetName sets the Name field's value. 13916 func (s *KeyValuePair) SetName(v string) *KeyValuePair { 13917 s.Name = &v 13918 return s 13919 } 13920 13921 // SetValue sets the Value field's value. 13922 func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 13923 s.Value = &v 13924 return s 13925 } 13926 13927 // The limit for the resource has been exceeded. 13928 type LimitExceededException struct { 13929 _ struct{} `type:"structure"` 13930 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13931 13932 Message_ *string `locationName:"message" type:"string"` 13933 } 13934 13935 // String returns the string representation. 13936 // 13937 // API parameter values that are decorated as "sensitive" in the API will not 13938 // be included in the string output. The member name will be present, but the 13939 // value will be replaced with "sensitive". 13940 func (s LimitExceededException) String() string { 13941 return awsutil.Prettify(s) 13942 } 13943 13944 // GoString returns the string representation. 13945 // 13946 // API parameter values that are decorated as "sensitive" in the API will not 13947 // be included in the string output. The member name will be present, but the 13948 // value will be replaced with "sensitive". 13949 func (s LimitExceededException) GoString() string { 13950 return s.String() 13951 } 13952 13953 func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 13954 return &LimitExceededException{ 13955 RespMetadata: v, 13956 } 13957 } 13958 13959 // Code returns the exception type name. 13960 func (s *LimitExceededException) Code() string { 13961 return "LimitExceededException" 13962 } 13963 13964 // Message returns the exception's message. 13965 func (s *LimitExceededException) Message() string { 13966 if s.Message_ != nil { 13967 return *s.Message_ 13968 } 13969 return "" 13970 } 13971 13972 // OrigErr always returns nil, satisfies awserr.Error interface. 13973 func (s *LimitExceededException) OrigErr() error { 13974 return nil 13975 } 13976 13977 func (s *LimitExceededException) Error() string { 13978 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13979 } 13980 13981 // Status code returns the HTTP status code for the request's response error. 13982 func (s *LimitExceededException) StatusCode() int { 13983 return s.RespMetadata.StatusCode 13984 } 13985 13986 // RequestID returns the service's response RequestID for request. 13987 func (s *LimitExceededException) RequestID() string { 13988 return s.RespMetadata.RequestID 13989 } 13990 13991 // Linux-specific options that are applied to the container, such as Linux KernelCapabilities. 13992 type LinuxParameters struct { 13993 _ struct{} `type:"structure"` 13994 13995 // The Linux capabilities for the container that are added to or dropped from 13996 // the default configuration provided by Docker. 13997 // 13998 // For tasks that use the Fargate launch type, capabilities is supported for 13999 // all platform versions but the add parameter is only supported if using platform 14000 // version 1.4.0 or later. 14001 Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` 14002 14003 // Any host devices to expose to the container. This parameter maps to Devices 14004 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 14005 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 14006 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 14007 // 14008 // If you are using tasks that use the Fargate launch type, the devices parameter 14009 // is not supported. 14010 Devices []*Device `locationName:"devices" type:"list"` 14011 14012 // Run an init process inside the container that forwards signals and reaps 14013 // processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 14014 // This parameter requires version 1.25 of the Docker Remote API or greater 14015 // on your container instance. To check the Docker Remote API version on your 14016 // container instance, log in to your container instance and run the following 14017 // command: sudo docker version --format '{{.Server.APIVersion}}' 14018 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 14019 14020 // The total amount of swap memory (in MiB) a container can use. This parameter 14021 // will be translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration) 14022 // where the value would be the sum of the container memory plus the maxSwap 14023 // value. 14024 // 14025 // If a maxSwap value of 0 is specified, the container will not use swap. Accepted 14026 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 14027 // the container will use the swap configuration for the container instance 14028 // it is running on. A maxSwap value must be set for the swappiness parameter 14029 // to be used. 14030 // 14031 // If you are using tasks that use the Fargate launch type, the maxSwap parameter 14032 // is not supported. 14033 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 14034 14035 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 14036 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 14037 // 14038 // If you are using tasks that use the Fargate launch type, the sharedMemorySize 14039 // parameter is not supported. 14040 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 14041 14042 // This allows you to tune a container's memory swappiness behavior. A swappiness 14043 // value of 0 will cause swapping to not happen unless absolutely necessary. 14044 // A swappiness value of 100 will cause pages to be swapped very aggressively. 14045 // Accepted values are whole numbers between 0 and 100. If the swappiness parameter 14046 // is not specified, a default value of 60 is used. If a value is not specified 14047 // for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness 14048 // option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 14049 // 14050 // If you are using tasks that use the Fargate launch type, the swappiness parameter 14051 // is not supported. 14052 Swappiness *int64 `locationName:"swappiness" type:"integer"` 14053 14054 // The container path, mount options, and size (in MiB) of the tmpfs mount. 14055 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 14056 // 14057 // If you are using tasks that use the Fargate launch type, the tmpfs parameter 14058 // is not supported. 14059 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 14060 } 14061 14062 // String returns the string representation. 14063 // 14064 // API parameter values that are decorated as "sensitive" in the API will not 14065 // be included in the string output. The member name will be present, but the 14066 // value will be replaced with "sensitive". 14067 func (s LinuxParameters) String() string { 14068 return awsutil.Prettify(s) 14069 } 14070 14071 // GoString returns the string representation. 14072 // 14073 // API parameter values that are decorated as "sensitive" in the API will not 14074 // be included in the string output. The member name will be present, but the 14075 // value will be replaced with "sensitive". 14076 func (s LinuxParameters) GoString() string { 14077 return s.String() 14078 } 14079 14080 // Validate inspects the fields of the type to determine if they are valid. 14081 func (s *LinuxParameters) Validate() error { 14082 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 14083 if s.Devices != nil { 14084 for i, v := range s.Devices { 14085 if v == nil { 14086 continue 14087 } 14088 if err := v.Validate(); err != nil { 14089 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 14090 } 14091 } 14092 } 14093 if s.Tmpfs != nil { 14094 for i, v := range s.Tmpfs { 14095 if v == nil { 14096 continue 14097 } 14098 if err := v.Validate(); err != nil { 14099 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 14100 } 14101 } 14102 } 14103 14104 if invalidParams.Len() > 0 { 14105 return invalidParams 14106 } 14107 return nil 14108 } 14109 14110 // SetCapabilities sets the Capabilities field's value. 14111 func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { 14112 s.Capabilities = v 14113 return s 14114 } 14115 14116 // SetDevices sets the Devices field's value. 14117 func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 14118 s.Devices = v 14119 return s 14120 } 14121 14122 // SetInitProcessEnabled sets the InitProcessEnabled field's value. 14123 func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 14124 s.InitProcessEnabled = &v 14125 return s 14126 } 14127 14128 // SetMaxSwap sets the MaxSwap field's value. 14129 func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 14130 s.MaxSwap = &v 14131 return s 14132 } 14133 14134 // SetSharedMemorySize sets the SharedMemorySize field's value. 14135 func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 14136 s.SharedMemorySize = &v 14137 return s 14138 } 14139 14140 // SetSwappiness sets the Swappiness field's value. 14141 func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 14142 s.Swappiness = &v 14143 return s 14144 } 14145 14146 // SetTmpfs sets the Tmpfs field's value. 14147 func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 14148 s.Tmpfs = v 14149 return s 14150 } 14151 14152 type ListAccountSettingsInput struct { 14153 _ struct{} `type:"structure"` 14154 14155 // Specifies whether to return the effective settings. If true, the account 14156 // settings for the root user or the default setting for the principalArn are 14157 // returned. If false, the account settings for the principalArn are returned 14158 // if they are set. Otherwise, no account settings are returned. 14159 EffectiveSettings *bool `locationName:"effectiveSettings" type:"boolean"` 14160 14161 // The maximum number of account setting results returned by ListAccountSettings 14162 // in paginated output. When this parameter is used, ListAccountSettings only 14163 // returns maxResults results in a single page along with a nextToken response 14164 // element. The remaining results of the initial request can be seen by sending 14165 // another ListAccountSettings request with the returned nextToken value. This 14166 // value can be between 1 and 10. If this parameter is not used, then ListAccountSettings 14167 // returns up to 10 results and a nextToken value if applicable. 14168 MaxResults *int64 `locationName:"maxResults" type:"integer"` 14169 14170 // The name of the account setting you want to list the settings for. 14171 Name *string `locationName:"name" type:"string" enum:"SettingName"` 14172 14173 // The nextToken value returned from a ListAccountSettings request indicating 14174 // that more results are available to fulfill the request and further calls 14175 // will be needed. If maxResults was provided, it is possible the number of 14176 // results to be fewer than maxResults. 14177 // 14178 // This token should be treated as an opaque identifier that is only used to 14179 // retrieve the next items in a list and not for other programmatic purposes. 14180 NextToken *string `locationName:"nextToken" type:"string"` 14181 14182 // The ARN of the principal, which can be an IAM user, IAM role, or the root 14183 // user. If this field is omitted, the account settings are listed only for 14184 // the authenticated user. 14185 // 14186 // Federated users assume the account setting of the root user and can't have 14187 // explicit account settings set for them. 14188 PrincipalArn *string `locationName:"principalArn" type:"string"` 14189 14190 // The value of the account settings with which to filter results. You must 14191 // also specify an account setting name to use this parameter. 14192 Value *string `locationName:"value" type:"string"` 14193 } 14194 14195 // String returns the string representation. 14196 // 14197 // API parameter values that are decorated as "sensitive" in the API will not 14198 // be included in the string output. The member name will be present, but the 14199 // value will be replaced with "sensitive". 14200 func (s ListAccountSettingsInput) String() string { 14201 return awsutil.Prettify(s) 14202 } 14203 14204 // GoString returns the string representation. 14205 // 14206 // API parameter values that are decorated as "sensitive" in the API will not 14207 // be included in the string output. The member name will be present, but the 14208 // value will be replaced with "sensitive". 14209 func (s ListAccountSettingsInput) GoString() string { 14210 return s.String() 14211 } 14212 14213 // SetEffectiveSettings sets the EffectiveSettings field's value. 14214 func (s *ListAccountSettingsInput) SetEffectiveSettings(v bool) *ListAccountSettingsInput { 14215 s.EffectiveSettings = &v 14216 return s 14217 } 14218 14219 // SetMaxResults sets the MaxResults field's value. 14220 func (s *ListAccountSettingsInput) SetMaxResults(v int64) *ListAccountSettingsInput { 14221 s.MaxResults = &v 14222 return s 14223 } 14224 14225 // SetName sets the Name field's value. 14226 func (s *ListAccountSettingsInput) SetName(v string) *ListAccountSettingsInput { 14227 s.Name = &v 14228 return s 14229 } 14230 14231 // SetNextToken sets the NextToken field's value. 14232 func (s *ListAccountSettingsInput) SetNextToken(v string) *ListAccountSettingsInput { 14233 s.NextToken = &v 14234 return s 14235 } 14236 14237 // SetPrincipalArn sets the PrincipalArn field's value. 14238 func (s *ListAccountSettingsInput) SetPrincipalArn(v string) *ListAccountSettingsInput { 14239 s.PrincipalArn = &v 14240 return s 14241 } 14242 14243 // SetValue sets the Value field's value. 14244 func (s *ListAccountSettingsInput) SetValue(v string) *ListAccountSettingsInput { 14245 s.Value = &v 14246 return s 14247 } 14248 14249 type ListAccountSettingsOutput struct { 14250 _ struct{} `type:"structure"` 14251 14252 // The nextToken value to include in a future ListAccountSettings request. When 14253 // the results of a ListAccountSettings request exceed maxResults, this value 14254 // can be used to retrieve the next page of results. This value is null when 14255 // there are no more results to return. 14256 NextToken *string `locationName:"nextToken" type:"string"` 14257 14258 // The account settings for the resource. 14259 Settings []*Setting `locationName:"settings" type:"list"` 14260 } 14261 14262 // String returns the string representation. 14263 // 14264 // API parameter values that are decorated as "sensitive" in the API will not 14265 // be included in the string output. The member name will be present, but the 14266 // value will be replaced with "sensitive". 14267 func (s ListAccountSettingsOutput) String() string { 14268 return awsutil.Prettify(s) 14269 } 14270 14271 // GoString returns the string representation. 14272 // 14273 // API parameter values that are decorated as "sensitive" in the API will not 14274 // be included in the string output. The member name will be present, but the 14275 // value will be replaced with "sensitive". 14276 func (s ListAccountSettingsOutput) GoString() string { 14277 return s.String() 14278 } 14279 14280 // SetNextToken sets the NextToken field's value. 14281 func (s *ListAccountSettingsOutput) SetNextToken(v string) *ListAccountSettingsOutput { 14282 s.NextToken = &v 14283 return s 14284 } 14285 14286 // SetSettings sets the Settings field's value. 14287 func (s *ListAccountSettingsOutput) SetSettings(v []*Setting) *ListAccountSettingsOutput { 14288 s.Settings = v 14289 return s 14290 } 14291 14292 type ListAttributesInput struct { 14293 _ struct{} `type:"structure"` 14294 14295 // The name of the attribute with which to filter the results. 14296 AttributeName *string `locationName:"attributeName" type:"string"` 14297 14298 // The value of the attribute with which to filter results. You must also specify 14299 // an attribute name to use this parameter. 14300 AttributeValue *string `locationName:"attributeValue" type:"string"` 14301 14302 // The short name or full Amazon Resource Name (ARN) of the cluster to list 14303 // attributes. If you do not specify a cluster, the default cluster is assumed. 14304 Cluster *string `locationName:"cluster" type:"string"` 14305 14306 // The maximum number of cluster results returned by ListAttributes in paginated 14307 // output. When this parameter is used, ListAttributes only returns maxResults 14308 // results in a single page along with a nextToken response element. The remaining 14309 // results of the initial request can be seen by sending another ListAttributes 14310 // request with the returned nextToken value. This value can be between 1 and 14311 // 100. If this parameter is not used, then ListAttributes returns up to 100 14312 // results and a nextToken value if applicable. 14313 MaxResults *int64 `locationName:"maxResults" type:"integer"` 14314 14315 // The nextToken value returned from a ListAttributes request indicating that 14316 // more results are available to fulfill the request and further calls will 14317 // be needed. If maxResults was provided, it is possible the number of results 14318 // to be fewer than maxResults. 14319 // 14320 // This token should be treated as an opaque identifier that is only used to 14321 // retrieve the next items in a list and not for other programmatic purposes. 14322 NextToken *string `locationName:"nextToken" type:"string"` 14323 14324 // The type of the target with which to list attributes. 14325 // 14326 // TargetType is a required field 14327 TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"` 14328 } 14329 14330 // String returns the string representation. 14331 // 14332 // API parameter values that are decorated as "sensitive" in the API will not 14333 // be included in the string output. The member name will be present, but the 14334 // value will be replaced with "sensitive". 14335 func (s ListAttributesInput) String() string { 14336 return awsutil.Prettify(s) 14337 } 14338 14339 // GoString returns the string representation. 14340 // 14341 // API parameter values that are decorated as "sensitive" in the API will not 14342 // be included in the string output. The member name will be present, but the 14343 // value will be replaced with "sensitive". 14344 func (s ListAttributesInput) GoString() string { 14345 return s.String() 14346 } 14347 14348 // Validate inspects the fields of the type to determine if they are valid. 14349 func (s *ListAttributesInput) Validate() error { 14350 invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"} 14351 if s.TargetType == nil { 14352 invalidParams.Add(request.NewErrParamRequired("TargetType")) 14353 } 14354 14355 if invalidParams.Len() > 0 { 14356 return invalidParams 14357 } 14358 return nil 14359 } 14360 14361 // SetAttributeName sets the AttributeName field's value. 14362 func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput { 14363 s.AttributeName = &v 14364 return s 14365 } 14366 14367 // SetAttributeValue sets the AttributeValue field's value. 14368 func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput { 14369 s.AttributeValue = &v 14370 return s 14371 } 14372 14373 // SetCluster sets the Cluster field's value. 14374 func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput { 14375 s.Cluster = &v 14376 return s 14377 } 14378 14379 // SetMaxResults sets the MaxResults field's value. 14380 func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput { 14381 s.MaxResults = &v 14382 return s 14383 } 14384 14385 // SetNextToken sets the NextToken field's value. 14386 func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput { 14387 s.NextToken = &v 14388 return s 14389 } 14390 14391 // SetTargetType sets the TargetType field's value. 14392 func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput { 14393 s.TargetType = &v 14394 return s 14395 } 14396 14397 type ListAttributesOutput struct { 14398 _ struct{} `type:"structure"` 14399 14400 // A list of attribute objects that meet the criteria of the request. 14401 Attributes []*Attribute `locationName:"attributes" type:"list"` 14402 14403 // The nextToken value to include in a future ListAttributes request. When the 14404 // results of a ListAttributes request exceed maxResults, this value can be 14405 // used to retrieve the next page of results. This value is null when there 14406 // are no more results to return. 14407 NextToken *string `locationName:"nextToken" type:"string"` 14408 } 14409 14410 // String returns the string representation. 14411 // 14412 // API parameter values that are decorated as "sensitive" in the API will not 14413 // be included in the string output. The member name will be present, but the 14414 // value will be replaced with "sensitive". 14415 func (s ListAttributesOutput) String() string { 14416 return awsutil.Prettify(s) 14417 } 14418 14419 // GoString returns the string representation. 14420 // 14421 // API parameter values that are decorated as "sensitive" in the API will not 14422 // be included in the string output. The member name will be present, but the 14423 // value will be replaced with "sensitive". 14424 func (s ListAttributesOutput) GoString() string { 14425 return s.String() 14426 } 14427 14428 // SetAttributes sets the Attributes field's value. 14429 func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput { 14430 s.Attributes = v 14431 return s 14432 } 14433 14434 // SetNextToken sets the NextToken field's value. 14435 func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput { 14436 s.NextToken = &v 14437 return s 14438 } 14439 14440 type ListClustersInput struct { 14441 _ struct{} `type:"structure"` 14442 14443 // The maximum number of cluster results returned by ListClusters in paginated 14444 // output. When this parameter is used, ListClusters only returns maxResults 14445 // results in a single page along with a nextToken response element. The remaining 14446 // results of the initial request can be seen by sending another ListClusters 14447 // request with the returned nextToken value. This value can be between 1 and 14448 // 100. If this parameter is not used, then ListClusters returns up to 100 results 14449 // and a nextToken value if applicable. 14450 MaxResults *int64 `locationName:"maxResults" type:"integer"` 14451 14452 // The nextToken value returned from a ListClusters request indicating that 14453 // more results are available to fulfill the request and further calls will 14454 // be needed. If maxResults was provided, it is possible the number of results 14455 // to be fewer than maxResults. 14456 // 14457 // This token should be treated as an opaque identifier that is only used to 14458 // retrieve the next items in a list and not for other programmatic purposes. 14459 NextToken *string `locationName:"nextToken" type:"string"` 14460 } 14461 14462 // String returns the string representation. 14463 // 14464 // API parameter values that are decorated as "sensitive" in the API will not 14465 // be included in the string output. The member name will be present, but the 14466 // value will be replaced with "sensitive". 14467 func (s ListClustersInput) String() string { 14468 return awsutil.Prettify(s) 14469 } 14470 14471 // GoString returns the string representation. 14472 // 14473 // API parameter values that are decorated as "sensitive" in the API will not 14474 // be included in the string output. The member name will be present, but the 14475 // value will be replaced with "sensitive". 14476 func (s ListClustersInput) GoString() string { 14477 return s.String() 14478 } 14479 14480 // SetMaxResults sets the MaxResults field's value. 14481 func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 14482 s.MaxResults = &v 14483 return s 14484 } 14485 14486 // SetNextToken sets the NextToken field's value. 14487 func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 14488 s.NextToken = &v 14489 return s 14490 } 14491 14492 type ListClustersOutput struct { 14493 _ struct{} `type:"structure"` 14494 14495 // The list of full Amazon Resource Name (ARN) entries for each cluster associated 14496 // with your account. 14497 ClusterArns []*string `locationName:"clusterArns" type:"list"` 14498 14499 // The nextToken value to include in a future ListClusters request. When the 14500 // results of a ListClusters request exceed maxResults, this value can be used 14501 // to retrieve the next page of results. This value is null when there are no 14502 // more results to return. 14503 NextToken *string `locationName:"nextToken" type:"string"` 14504 } 14505 14506 // String returns the string representation. 14507 // 14508 // API parameter values that are decorated as "sensitive" in the API will not 14509 // be included in the string output. The member name will be present, but the 14510 // value will be replaced with "sensitive". 14511 func (s ListClustersOutput) String() string { 14512 return awsutil.Prettify(s) 14513 } 14514 14515 // GoString returns the string representation. 14516 // 14517 // API parameter values that are decorated as "sensitive" in the API will not 14518 // be included in the string output. The member name will be present, but the 14519 // value will be replaced with "sensitive". 14520 func (s ListClustersOutput) GoString() string { 14521 return s.String() 14522 } 14523 14524 // SetClusterArns sets the ClusterArns field's value. 14525 func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput { 14526 s.ClusterArns = v 14527 return s 14528 } 14529 14530 // SetNextToken sets the NextToken field's value. 14531 func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 14532 s.NextToken = &v 14533 return s 14534 } 14535 14536 type ListContainerInstancesInput struct { 14537 _ struct{} `type:"structure"` 14538 14539 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 14540 // the container instances to list. If you do not specify a cluster, the default 14541 // cluster is assumed. 14542 Cluster *string `locationName:"cluster" type:"string"` 14543 14544 // You can filter the results of a ListContainerInstances operation with cluster 14545 // query language statements. For more information, see Cluster Query Language 14546 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 14547 // in the Amazon Elastic Container Service Developer Guide. 14548 Filter *string `locationName:"filter" type:"string"` 14549 14550 // The maximum number of container instance results returned by ListContainerInstances 14551 // in paginated output. When this parameter is used, ListContainerInstances 14552 // only returns maxResults results in a single page along with a nextToken response 14553 // element. The remaining results of the initial request can be seen by sending 14554 // another ListContainerInstances request with the returned nextToken value. 14555 // This value can be between 1 and 100. If this parameter is not used, then 14556 // ListContainerInstances returns up to 100 results and a nextToken value if 14557 // applicable. 14558 MaxResults *int64 `locationName:"maxResults" type:"integer"` 14559 14560 // The nextToken value returned from a ListContainerInstances request indicating 14561 // that more results are available to fulfill the request and further calls 14562 // will be needed. If maxResults was provided, it is possible the number of 14563 // results to be fewer than maxResults. 14564 // 14565 // This token should be treated as an opaque identifier that is only used to 14566 // retrieve the next items in a list and not for other programmatic purposes. 14567 NextToken *string `locationName:"nextToken" type:"string"` 14568 14569 // Filters the container instances by status. For example, if you specify the 14570 // DRAINING status, the results include only container instances that have been 14571 // set to DRAINING using UpdateContainerInstancesState. If you do not specify 14572 // this parameter, the default is to include container instances set to all 14573 // states other than INACTIVE. 14574 Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"` 14575 } 14576 14577 // String returns the string representation. 14578 // 14579 // API parameter values that are decorated as "sensitive" in the API will not 14580 // be included in the string output. The member name will be present, but the 14581 // value will be replaced with "sensitive". 14582 func (s ListContainerInstancesInput) String() string { 14583 return awsutil.Prettify(s) 14584 } 14585 14586 // GoString returns the string representation. 14587 // 14588 // API parameter values that are decorated as "sensitive" in the API will not 14589 // be included in the string output. The member name will be present, but the 14590 // value will be replaced with "sensitive". 14591 func (s ListContainerInstancesInput) GoString() string { 14592 return s.String() 14593 } 14594 14595 // SetCluster sets the Cluster field's value. 14596 func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput { 14597 s.Cluster = &v 14598 return s 14599 } 14600 14601 // SetFilter sets the Filter field's value. 14602 func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput { 14603 s.Filter = &v 14604 return s 14605 } 14606 14607 // SetMaxResults sets the MaxResults field's value. 14608 func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput { 14609 s.MaxResults = &v 14610 return s 14611 } 14612 14613 // SetNextToken sets the NextToken field's value. 14614 func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput { 14615 s.NextToken = &v 14616 return s 14617 } 14618 14619 // SetStatus sets the Status field's value. 14620 func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput { 14621 s.Status = &v 14622 return s 14623 } 14624 14625 type ListContainerInstancesOutput struct { 14626 _ struct{} `type:"structure"` 14627 14628 // The list of container instances with full ARN entries for each container 14629 // instance associated with the specified cluster. 14630 ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` 14631 14632 // The nextToken value to include in a future ListContainerInstances request. 14633 // When the results of a ListContainerInstances request exceed maxResults, this 14634 // value can be used to retrieve the next page of results. This value is null 14635 // when there are no more results to return. 14636 NextToken *string `locationName:"nextToken" type:"string"` 14637 } 14638 14639 // String returns the string representation. 14640 // 14641 // API parameter values that are decorated as "sensitive" in the API will not 14642 // be included in the string output. The member name will be present, but the 14643 // value will be replaced with "sensitive". 14644 func (s ListContainerInstancesOutput) String() string { 14645 return awsutil.Prettify(s) 14646 } 14647 14648 // GoString returns the string representation. 14649 // 14650 // API parameter values that are decorated as "sensitive" in the API will not 14651 // be included in the string output. The member name will be present, but the 14652 // value will be replaced with "sensitive". 14653 func (s ListContainerInstancesOutput) GoString() string { 14654 return s.String() 14655 } 14656 14657 // SetContainerInstanceArns sets the ContainerInstanceArns field's value. 14658 func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput { 14659 s.ContainerInstanceArns = v 14660 return s 14661 } 14662 14663 // SetNextToken sets the NextToken field's value. 14664 func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput { 14665 s.NextToken = &v 14666 return s 14667 } 14668 14669 type ListServicesInput struct { 14670 _ struct{} `type:"structure"` 14671 14672 // The short name or full Amazon Resource Name (ARN) of the cluster to use when 14673 // filtering the ListServices results. If you do not specify a cluster, the 14674 // default cluster is assumed. 14675 Cluster *string `locationName:"cluster" type:"string"` 14676 14677 // The launch type to use when filtering the ListServices results. 14678 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 14679 14680 // The maximum number of service results returned by ListServices in paginated 14681 // output. When this parameter is used, ListServices only returns maxResults 14682 // results in a single page along with a nextToken response element. The remaining 14683 // results of the initial request can be seen by sending another ListServices 14684 // request with the returned nextToken value. This value can be between 1 and 14685 // 100. If this parameter is not used, then ListServices returns up to 10 results 14686 // and a nextToken value if applicable. 14687 MaxResults *int64 `locationName:"maxResults" type:"integer"` 14688 14689 // The nextToken value returned from a ListServices request indicating that 14690 // more results are available to fulfill the request and further calls will 14691 // be needed. If maxResults was provided, it is possible the number of results 14692 // to be fewer than maxResults. 14693 // 14694 // This token should be treated as an opaque identifier that is only used to 14695 // retrieve the next items in a list and not for other programmatic purposes. 14696 NextToken *string `locationName:"nextToken" type:"string"` 14697 14698 // The scheduling strategy to use when filtering the ListServices results. 14699 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 14700 } 14701 14702 // String returns the string representation. 14703 // 14704 // API parameter values that are decorated as "sensitive" in the API will not 14705 // be included in the string output. The member name will be present, but the 14706 // value will be replaced with "sensitive". 14707 func (s ListServicesInput) String() string { 14708 return awsutil.Prettify(s) 14709 } 14710 14711 // GoString returns the string representation. 14712 // 14713 // API parameter values that are decorated as "sensitive" in the API will not 14714 // be included in the string output. The member name will be present, but the 14715 // value will be replaced with "sensitive". 14716 func (s ListServicesInput) GoString() string { 14717 return s.String() 14718 } 14719 14720 // SetCluster sets the Cluster field's value. 14721 func (s *ListServicesInput) SetCluster(v string) *ListServicesInput { 14722 s.Cluster = &v 14723 return s 14724 } 14725 14726 // SetLaunchType sets the LaunchType field's value. 14727 func (s *ListServicesInput) SetLaunchType(v string) *ListServicesInput { 14728 s.LaunchType = &v 14729 return s 14730 } 14731 14732 // SetMaxResults sets the MaxResults field's value. 14733 func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 14734 s.MaxResults = &v 14735 return s 14736 } 14737 14738 // SetNextToken sets the NextToken field's value. 14739 func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 14740 s.NextToken = &v 14741 return s 14742 } 14743 14744 // SetSchedulingStrategy sets the SchedulingStrategy field's value. 14745 func (s *ListServicesInput) SetSchedulingStrategy(v string) *ListServicesInput { 14746 s.SchedulingStrategy = &v 14747 return s 14748 } 14749 14750 type ListServicesOutput struct { 14751 _ struct{} `type:"structure"` 14752 14753 // The nextToken value to include in a future ListServices request. When the 14754 // results of a ListServices request exceed maxResults, this value can be used 14755 // to retrieve the next page of results. This value is null when there are no 14756 // more results to return. 14757 NextToken *string `locationName:"nextToken" type:"string"` 14758 14759 // The list of full ARN entries for each service associated with the specified 14760 // cluster. 14761 ServiceArns []*string `locationName:"serviceArns" type:"list"` 14762 } 14763 14764 // String returns the string representation. 14765 // 14766 // API parameter values that are decorated as "sensitive" in the API will not 14767 // be included in the string output. The member name will be present, but the 14768 // value will be replaced with "sensitive". 14769 func (s ListServicesOutput) String() string { 14770 return awsutil.Prettify(s) 14771 } 14772 14773 // GoString returns the string representation. 14774 // 14775 // API parameter values that are decorated as "sensitive" in the API will not 14776 // be included in the string output. The member name will be present, but the 14777 // value will be replaced with "sensitive". 14778 func (s ListServicesOutput) GoString() string { 14779 return s.String() 14780 } 14781 14782 // SetNextToken sets the NextToken field's value. 14783 func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 14784 s.NextToken = &v 14785 return s 14786 } 14787 14788 // SetServiceArns sets the ServiceArns field's value. 14789 func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput { 14790 s.ServiceArns = v 14791 return s 14792 } 14793 14794 type ListTagsForResourceInput struct { 14795 _ struct{} `type:"structure"` 14796 14797 // The Amazon Resource Name (ARN) that identifies the resource for which to 14798 // list the tags. Currently, the supported resources are Amazon ECS tasks, services, 14799 // task definitions, clusters, and container instances. 14800 // 14801 // ResourceArn is a required field 14802 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 14803 } 14804 14805 // String returns the string representation. 14806 // 14807 // API parameter values that are decorated as "sensitive" in the API will not 14808 // be included in the string output. The member name will be present, but the 14809 // value will be replaced with "sensitive". 14810 func (s ListTagsForResourceInput) String() string { 14811 return awsutil.Prettify(s) 14812 } 14813 14814 // GoString returns the string representation. 14815 // 14816 // API parameter values that are decorated as "sensitive" in the API will not 14817 // be included in the string output. The member name will be present, but the 14818 // value will be replaced with "sensitive". 14819 func (s ListTagsForResourceInput) GoString() string { 14820 return s.String() 14821 } 14822 14823 // Validate inspects the fields of the type to determine if they are valid. 14824 func (s *ListTagsForResourceInput) Validate() error { 14825 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 14826 if s.ResourceArn == nil { 14827 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 14828 } 14829 14830 if invalidParams.Len() > 0 { 14831 return invalidParams 14832 } 14833 return nil 14834 } 14835 14836 // SetResourceArn sets the ResourceArn field's value. 14837 func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 14838 s.ResourceArn = &v 14839 return s 14840 } 14841 14842 type ListTagsForResourceOutput struct { 14843 _ struct{} `type:"structure"` 14844 14845 // The tags for the resource. 14846 Tags []*Tag `locationName:"tags" type:"list"` 14847 } 14848 14849 // String returns the string representation. 14850 // 14851 // API parameter values that are decorated as "sensitive" in the API will not 14852 // be included in the string output. The member name will be present, but the 14853 // value will be replaced with "sensitive". 14854 func (s ListTagsForResourceOutput) String() string { 14855 return awsutil.Prettify(s) 14856 } 14857 14858 // GoString returns the string representation. 14859 // 14860 // API parameter values that are decorated as "sensitive" in the API will not 14861 // be included in the string output. The member name will be present, but the 14862 // value will be replaced with "sensitive". 14863 func (s ListTagsForResourceOutput) GoString() string { 14864 return s.String() 14865 } 14866 14867 // SetTags sets the Tags field's value. 14868 func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 14869 s.Tags = v 14870 return s 14871 } 14872 14873 type ListTaskDefinitionFamiliesInput struct { 14874 _ struct{} `type:"structure"` 14875 14876 // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. 14877 // If you specify a familyPrefix, only task definition family names that begin 14878 // with the familyPrefix string are returned. 14879 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 14880 14881 // The maximum number of task definition family results returned by ListTaskDefinitionFamilies 14882 // in paginated output. When this parameter is used, ListTaskDefinitions only 14883 // returns maxResults results in a single page along with a nextToken response 14884 // element. The remaining results of the initial request can be seen by sending 14885 // another ListTaskDefinitionFamilies request with the returned nextToken value. 14886 // This value can be between 1 and 100. If this parameter is not used, then 14887 // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value 14888 // if applicable. 14889 MaxResults *int64 `locationName:"maxResults" type:"integer"` 14890 14891 // The nextToken value returned from a ListTaskDefinitionFamilies request indicating 14892 // that more results are available to fulfill the request and further calls 14893 // will be needed. If maxResults was provided, it is possible the number of 14894 // results to be fewer than maxResults. 14895 // 14896 // This token should be treated as an opaque identifier that is only used to 14897 // retrieve the next items in a list and not for other programmatic purposes. 14898 NextToken *string `locationName:"nextToken" type:"string"` 14899 14900 // The task definition family status with which to filter the ListTaskDefinitionFamilies 14901 // results. By default, both ACTIVE and INACTIVE task definition families are 14902 // listed. If this parameter is set to ACTIVE, only task definition families 14903 // that have an ACTIVE task definition revision are returned. If this parameter 14904 // is set to INACTIVE, only task definition families that do not have any ACTIVE 14905 // task definition revisions are returned. If you paginate the resulting output, 14906 // be sure to keep the status value constant in each subsequent request. 14907 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` 14908 } 14909 14910 // String returns the string representation. 14911 // 14912 // API parameter values that are decorated as "sensitive" in the API will not 14913 // be included in the string output. The member name will be present, but the 14914 // value will be replaced with "sensitive". 14915 func (s ListTaskDefinitionFamiliesInput) String() string { 14916 return awsutil.Prettify(s) 14917 } 14918 14919 // GoString returns the string representation. 14920 // 14921 // API parameter values that are decorated as "sensitive" in the API will not 14922 // be included in the string output. The member name will be present, but the 14923 // value will be replaced with "sensitive". 14924 func (s ListTaskDefinitionFamiliesInput) GoString() string { 14925 return s.String() 14926 } 14927 14928 // SetFamilyPrefix sets the FamilyPrefix field's value. 14929 func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput { 14930 s.FamilyPrefix = &v 14931 return s 14932 } 14933 14934 // SetMaxResults sets the MaxResults field's value. 14935 func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput { 14936 s.MaxResults = &v 14937 return s 14938 } 14939 14940 // SetNextToken sets the NextToken field's value. 14941 func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput { 14942 s.NextToken = &v 14943 return s 14944 } 14945 14946 // SetStatus sets the Status field's value. 14947 func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput { 14948 s.Status = &v 14949 return s 14950 } 14951 14952 type ListTaskDefinitionFamiliesOutput struct { 14953 _ struct{} `type:"structure"` 14954 14955 // The list of task definition family names that match the ListTaskDefinitionFamilies 14956 // request. 14957 Families []*string `locationName:"families" type:"list"` 14958 14959 // The nextToken value to include in a future ListTaskDefinitionFamilies request. 14960 // When the results of a ListTaskDefinitionFamilies request exceed maxResults, 14961 // this value can be used to retrieve the next page of results. This value is 14962 // null when there are no more results to return. 14963 NextToken *string `locationName:"nextToken" type:"string"` 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 ListTaskDefinitionFamiliesOutput) 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 ListTaskDefinitionFamiliesOutput) GoString() string { 14981 return s.String() 14982 } 14983 14984 // SetFamilies sets the Families field's value. 14985 func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput { 14986 s.Families = v 14987 return s 14988 } 14989 14990 // SetNextToken sets the NextToken field's value. 14991 func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput { 14992 s.NextToken = &v 14993 return s 14994 } 14995 14996 type ListTaskDefinitionsInput struct { 14997 _ struct{} `type:"structure"` 14998 14999 // The full family name with which to filter the ListTaskDefinitions results. 15000 // Specifying a familyPrefix limits the listed task definitions to task definition 15001 // revisions that belong to that family. 15002 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 15003 15004 // The maximum number of task definition results returned by ListTaskDefinitions 15005 // in paginated output. When this parameter is used, ListTaskDefinitions only 15006 // returns maxResults results in a single page along with a nextToken response 15007 // element. The remaining results of the initial request can be seen by sending 15008 // another ListTaskDefinitions request with the returned nextToken value. This 15009 // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions 15010 // returns up to 100 results and a nextToken value if applicable. 15011 MaxResults *int64 `locationName:"maxResults" type:"integer"` 15012 15013 // The nextToken value returned from a ListTaskDefinitions request indicating 15014 // that more results are available to fulfill the request and further calls 15015 // will be needed. If maxResults was provided, it is possible the number of 15016 // results to be fewer than maxResults. 15017 // 15018 // This token should be treated as an opaque identifier that is only used to 15019 // retrieve the next items in a list and not for other programmatic purposes. 15020 NextToken *string `locationName:"nextToken" type:"string"` 15021 15022 // The order in which to sort the results. Valid values are ASC and DESC. By 15023 // default (ASC), task definitions are listed lexicographically by family name 15024 // and in ascending numerical order by revision so that the newest task definitions 15025 // in a family are listed last. Setting this parameter to DESC reverses the 15026 // sort order on family name and revision so that the newest task definitions 15027 // in a family are listed first. 15028 Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` 15029 15030 // The task definition status with which to filter the ListTaskDefinitions results. 15031 // By default, only ACTIVE task definitions are listed. By setting this parameter 15032 // to INACTIVE, you can view task definitions that are INACTIVE as long as an 15033 // active task or service still references them. If you paginate the resulting 15034 // output, be sure to keep the status value constant in each subsequent request. 15035 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 15036 } 15037 15038 // String returns the string representation. 15039 // 15040 // API parameter values that are decorated as "sensitive" in the API will not 15041 // be included in the string output. The member name will be present, but the 15042 // value will be replaced with "sensitive". 15043 func (s ListTaskDefinitionsInput) String() string { 15044 return awsutil.Prettify(s) 15045 } 15046 15047 // GoString returns the string representation. 15048 // 15049 // API parameter values that are decorated as "sensitive" in the API will not 15050 // be included in the string output. The member name will be present, but the 15051 // value will be replaced with "sensitive". 15052 func (s ListTaskDefinitionsInput) GoString() string { 15053 return s.String() 15054 } 15055 15056 // SetFamilyPrefix sets the FamilyPrefix field's value. 15057 func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput { 15058 s.FamilyPrefix = &v 15059 return s 15060 } 15061 15062 // SetMaxResults sets the MaxResults field's value. 15063 func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput { 15064 s.MaxResults = &v 15065 return s 15066 } 15067 15068 // SetNextToken sets the NextToken field's value. 15069 func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput { 15070 s.NextToken = &v 15071 return s 15072 } 15073 15074 // SetSort sets the Sort field's value. 15075 func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput { 15076 s.Sort = &v 15077 return s 15078 } 15079 15080 // SetStatus sets the Status field's value. 15081 func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput { 15082 s.Status = &v 15083 return s 15084 } 15085 15086 type ListTaskDefinitionsOutput struct { 15087 _ struct{} `type:"structure"` 15088 15089 // The nextToken value to include in a future ListTaskDefinitions request. When 15090 // the results of a ListTaskDefinitions request exceed maxResults, this value 15091 // can be used to retrieve the next page of results. This value is null when 15092 // there are no more results to return. 15093 NextToken *string `locationName:"nextToken" type:"string"` 15094 15095 // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions 15096 // request. 15097 TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` 15098 } 15099 15100 // String returns the string representation. 15101 // 15102 // API parameter values that are decorated as "sensitive" in the API will not 15103 // be included in the string output. The member name will be present, but the 15104 // value will be replaced with "sensitive". 15105 func (s ListTaskDefinitionsOutput) String() string { 15106 return awsutil.Prettify(s) 15107 } 15108 15109 // GoString returns the string representation. 15110 // 15111 // API parameter values that are decorated as "sensitive" in the API will not 15112 // be included in the string output. The member name will be present, but the 15113 // value will be replaced with "sensitive". 15114 func (s ListTaskDefinitionsOutput) GoString() string { 15115 return s.String() 15116 } 15117 15118 // SetNextToken sets the NextToken field's value. 15119 func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput { 15120 s.NextToken = &v 15121 return s 15122 } 15123 15124 // SetTaskDefinitionArns sets the TaskDefinitionArns field's value. 15125 func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput { 15126 s.TaskDefinitionArns = v 15127 return s 15128 } 15129 15130 type ListTasksInput struct { 15131 _ struct{} `type:"structure"` 15132 15133 // The short name or full Amazon Resource Name (ARN) of the cluster to use when 15134 // filtering the ListTasks results. If you do not specify a cluster, the default 15135 // cluster is assumed. 15136 Cluster *string `locationName:"cluster" type:"string"` 15137 15138 // The container instance ID or full ARN of the container instance to use when 15139 // filtering the ListTasks results. Specifying a containerInstance limits the 15140 // results to tasks that belong to that container instance. 15141 ContainerInstance *string `locationName:"containerInstance" type:"string"` 15142 15143 // The task desired status to use when filtering the ListTasks results. Specifying 15144 // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has 15145 // set the desired status to STOPPED. This can be useful for debugging tasks 15146 // that are not starting properly or have died or finished. The default status 15147 // filter is RUNNING, which shows tasks that Amazon ECS has set the desired 15148 // status to RUNNING. 15149 // 15150 // Although you can filter results based on a desired status of PENDING, this 15151 // does not return any results. Amazon ECS never sets the desired status of 15152 // a task to that value (only a task's lastStatus may have a value of PENDING). 15153 DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` 15154 15155 // The name of the task definition family to use when filtering the ListTasks 15156 // results. Specifying a family limits the results to tasks that belong to that 15157 // family. 15158 Family *string `locationName:"family" type:"string"` 15159 15160 // The launch type to use when filtering the ListTasks results. 15161 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 15162 15163 // The maximum number of task results returned by ListTasks in paginated output. 15164 // When this parameter is used, ListTasks only returns maxResults results in 15165 // a single page along with a nextToken response element. The remaining results 15166 // of the initial request can be seen by sending another ListTasks request with 15167 // the returned nextToken value. This value can be between 1 and 100. If this 15168 // parameter is not used, then ListTasks returns up to 100 results and a nextToken 15169 // value if applicable. 15170 MaxResults *int64 `locationName:"maxResults" type:"integer"` 15171 15172 // The nextToken value returned from a ListTasks request indicating that more 15173 // results are available to fulfill the request and further calls will be needed. 15174 // If maxResults was provided, it is possible the number of results to be fewer 15175 // than maxResults. 15176 // 15177 // This token should be treated as an opaque identifier that is only used to 15178 // retrieve the next items in a list and not for other programmatic purposes. 15179 NextToken *string `locationName:"nextToken" type:"string"` 15180 15181 // The name of the service to use when filtering the ListTasks results. Specifying 15182 // a serviceName limits the results to tasks that belong to that service. 15183 ServiceName *string `locationName:"serviceName" type:"string"` 15184 15185 // The startedBy value with which to filter the task results. Specifying a startedBy 15186 // value limits the results to tasks that were started with that value. 15187 StartedBy *string `locationName:"startedBy" type:"string"` 15188 } 15189 15190 // String returns the string representation. 15191 // 15192 // API parameter values that are decorated as "sensitive" in the API will not 15193 // be included in the string output. The member name will be present, but the 15194 // value will be replaced with "sensitive". 15195 func (s ListTasksInput) String() string { 15196 return awsutil.Prettify(s) 15197 } 15198 15199 // GoString returns the string representation. 15200 // 15201 // API parameter values that are decorated as "sensitive" in the API will not 15202 // be included in the string output. The member name will be present, but the 15203 // value will be replaced with "sensitive". 15204 func (s ListTasksInput) GoString() string { 15205 return s.String() 15206 } 15207 15208 // SetCluster sets the Cluster field's value. 15209 func (s *ListTasksInput) SetCluster(v string) *ListTasksInput { 15210 s.Cluster = &v 15211 return s 15212 } 15213 15214 // SetContainerInstance sets the ContainerInstance field's value. 15215 func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput { 15216 s.ContainerInstance = &v 15217 return s 15218 } 15219 15220 // SetDesiredStatus sets the DesiredStatus field's value. 15221 func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput { 15222 s.DesiredStatus = &v 15223 return s 15224 } 15225 15226 // SetFamily sets the Family field's value. 15227 func (s *ListTasksInput) SetFamily(v string) *ListTasksInput { 15228 s.Family = &v 15229 return s 15230 } 15231 15232 // SetLaunchType sets the LaunchType field's value. 15233 func (s *ListTasksInput) SetLaunchType(v string) *ListTasksInput { 15234 s.LaunchType = &v 15235 return s 15236 } 15237 15238 // SetMaxResults sets the MaxResults field's value. 15239 func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { 15240 s.MaxResults = &v 15241 return s 15242 } 15243 15244 // SetNextToken sets the NextToken field's value. 15245 func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput { 15246 s.NextToken = &v 15247 return s 15248 } 15249 15250 // SetServiceName sets the ServiceName field's value. 15251 func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput { 15252 s.ServiceName = &v 15253 return s 15254 } 15255 15256 // SetStartedBy sets the StartedBy field's value. 15257 func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput { 15258 s.StartedBy = &v 15259 return s 15260 } 15261 15262 type ListTasksOutput struct { 15263 _ struct{} `type:"structure"` 15264 15265 // The nextToken value to include in a future ListTasks request. When the results 15266 // of a ListTasks request exceed maxResults, this value can be used to retrieve 15267 // the next page of results. This value is null when there are no more results 15268 // to return. 15269 NextToken *string `locationName:"nextToken" type:"string"` 15270 15271 // The list of task ARN entries for the ListTasks request. 15272 TaskArns []*string `locationName:"taskArns" type:"list"` 15273 } 15274 15275 // String returns the string representation. 15276 // 15277 // API parameter values that are decorated as "sensitive" in the API will not 15278 // be included in the string output. The member name will be present, but the 15279 // value will be replaced with "sensitive". 15280 func (s ListTasksOutput) String() string { 15281 return awsutil.Prettify(s) 15282 } 15283 15284 // GoString returns the string representation. 15285 // 15286 // API parameter values that are decorated as "sensitive" in the API will not 15287 // be included in the string output. The member name will be present, but the 15288 // value will be replaced with "sensitive". 15289 func (s ListTasksOutput) GoString() string { 15290 return s.String() 15291 } 15292 15293 // SetNextToken sets the NextToken field's value. 15294 func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput { 15295 s.NextToken = &v 15296 return s 15297 } 15298 15299 // SetTaskArns sets the TaskArns field's value. 15300 func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { 15301 s.TaskArns = v 15302 return s 15303 } 15304 15305 // The load balancer configuration to use with a service or task set. 15306 // 15307 // For specific notes and restrictions regarding the use of load balancers with 15308 // services and task sets, see the CreateService and CreateTaskSet actions. 15309 type LoadBalancer struct { 15310 _ struct{} `type:"structure"` 15311 15312 // The name of the container (as it appears in a container definition) to associate 15313 // with the load balancer. 15314 ContainerName *string `locationName:"containerName" type:"string"` 15315 15316 // The port on the container to associate with the load balancer. This port 15317 // must correspond to a containerPort in the task definition the tasks in the 15318 // service are using. For tasks that use the EC2 launch type, the container 15319 // instance they are launched on must allow ingress traffic on the hostPort 15320 // of the port mapping. 15321 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 15322 15323 // The name of the load balancer to associate with the Amazon ECS service or 15324 // task set. 15325 // 15326 // A load balancer name is only specified when using a Classic Load Balancer. 15327 // If you are using an Application Load Balancer or a Network Load Balancer 15328 // the load balancer name parameter should be omitted. 15329 LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` 15330 15331 // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target 15332 // group or groups associated with a service or task set. 15333 // 15334 // A target group ARN is only specified when using an Application Load Balancer 15335 // or Network Load Balancer. If you are using a Classic Load Balancer the target 15336 // group ARN should be omitted. 15337 // 15338 // For services using the ECS deployment controller, you can specify one or 15339 // multiple target groups. For more information, see Registering Multiple Target 15340 // Groups with a Service (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) 15341 // in the Amazon Elastic Container Service Developer Guide. 15342 // 15343 // For services using the CODE_DEPLOY deployment controller, you are required 15344 // to define two target groups for the load balancer. For more information, 15345 // see Blue/Green Deployment with CodeDeploy (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) 15346 // in the Amazon Elastic Container Service Developer Guide. 15347 // 15348 // If your service's task definition uses the awsvpc network mode (which is 15349 // required for the Fargate launch type), you must choose ip as the target type, 15350 // not instance, when creating your target groups because tasks that use the 15351 // awsvpc network mode are associated with an elastic network interface, not 15352 // an Amazon EC2 instance. 15353 TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` 15354 } 15355 15356 // String returns the string representation. 15357 // 15358 // API parameter values that are decorated as "sensitive" in the API will not 15359 // be included in the string output. The member name will be present, but the 15360 // value will be replaced with "sensitive". 15361 func (s LoadBalancer) String() string { 15362 return awsutil.Prettify(s) 15363 } 15364 15365 // GoString returns the string representation. 15366 // 15367 // API parameter values that are decorated as "sensitive" in the API will not 15368 // be included in the string output. The member name will be present, but the 15369 // value will be replaced with "sensitive". 15370 func (s LoadBalancer) GoString() string { 15371 return s.String() 15372 } 15373 15374 // SetContainerName sets the ContainerName field's value. 15375 func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer { 15376 s.ContainerName = &v 15377 return s 15378 } 15379 15380 // SetContainerPort sets the ContainerPort field's value. 15381 func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer { 15382 s.ContainerPort = &v 15383 return s 15384 } 15385 15386 // SetLoadBalancerName sets the LoadBalancerName field's value. 15387 func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 15388 s.LoadBalancerName = &v 15389 return s 15390 } 15391 15392 // SetTargetGroupArn sets the TargetGroupArn field's value. 15393 func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer { 15394 s.TargetGroupArn = &v 15395 return s 15396 } 15397 15398 // The log configuration for the container. This parameter maps to LogConfig 15399 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 15400 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 15401 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/commandline/run/). 15402 // 15403 // By default, containers use the same logging driver that the Docker daemon 15404 // uses; however the container may use a different logging driver than the Docker 15405 // daemon by specifying a log driver configuration in the container definition. 15406 // For more information on the options for different supported log drivers, 15407 // see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 15408 // in the Docker documentation. 15409 // 15410 // The following should be noted when specifying a log configuration for your 15411 // containers: 15412 // 15413 // * Amazon ECS currently supports a subset of the logging drivers available 15414 // to the Docker daemon (shown in the valid values below). Additional log 15415 // drivers may be available in future releases of the Amazon ECS container 15416 // agent. 15417 // 15418 // * This parameter requires version 1.18 of the Docker Remote API or greater 15419 // on your container instance. 15420 // 15421 // * For tasks hosted on Amazon EC2 instances, the Amazon ECS container agent 15422 // must register the available logging drivers with the ECS_AVAILABLE_LOGGING_DRIVERS 15423 // environment variable before containers placed on that instance can use 15424 // these log configuration options. For more information, see Amazon ECS 15425 // container agent configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 15426 // in the Amazon Elastic Container Service Developer Guide. 15427 // 15428 // * For tasks on Fargate, because you do not have access to the underlying 15429 // infrastructure your tasks are hosted on, any additional software needed 15430 // will have to be installed outside of the task. For example, the Fluentd 15431 // output aggregators or a remote host running Logstash to send Gelf logs 15432 // to. 15433 type LogConfiguration struct { 15434 _ struct{} `type:"structure"` 15435 15436 // The log driver to use for the container. 15437 // 15438 // For tasks on Fargate, the supported log drivers are awslogs, splunk, and 15439 // awsfirelens. 15440 // 15441 // For tasks hosted on Amazon EC2 instances, the supported log drivers are awslogs, 15442 // fluentd, gelf, json-file, journald, logentries,syslog, splunk, and awsfirelens. 15443 // 15444 // For more information about using the awslogs log driver, see Using the awslogs 15445 // log driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) 15446 // in the Amazon Elastic Container Service Developer Guide. 15447 // 15448 // For more information about using the awsfirelens log driver, see Custom log 15449 // routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 15450 // in the Amazon Elastic Container Service Developer Guide. 15451 // 15452 // If you have a custom driver that is not listed, you can fork the Amazon ECS 15453 // container agent project that is available on GitHub (https://github.com/aavshr/amazon-ecs-agent) 15454 // and customize it to work with that driver. We encourage you to submit pull 15455 // requests for changes that you would like to have included. However, we do 15456 // not currently provide support for running modified copies of this software. 15457 // 15458 // LogDriver is a required field 15459 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 15460 15461 // The configuration options to send to the log driver. This parameter requires 15462 // version 1.19 of the Docker Remote API or greater on your container instance. 15463 // To check the Docker Remote API version on your container instance, log in 15464 // to your container instance and run the following command: sudo docker version 15465 // --format '{{.Server.APIVersion}}' 15466 Options map[string]*string `locationName:"options" type:"map"` 15467 15468 // The secrets to pass to the log configuration. For more information, see Specifying 15469 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 15470 // in the Amazon Elastic Container Service Developer Guide. 15471 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 15472 } 15473 15474 // String returns the string representation. 15475 // 15476 // API parameter values that are decorated as "sensitive" in the API will not 15477 // be included in the string output. The member name will be present, but the 15478 // value will be replaced with "sensitive". 15479 func (s LogConfiguration) String() string { 15480 return awsutil.Prettify(s) 15481 } 15482 15483 // GoString returns the string representation. 15484 // 15485 // API parameter values that are decorated as "sensitive" in the API will not 15486 // be included in the string output. The member name will be present, but the 15487 // value will be replaced with "sensitive". 15488 func (s LogConfiguration) GoString() string { 15489 return s.String() 15490 } 15491 15492 // Validate inspects the fields of the type to determine if they are valid. 15493 func (s *LogConfiguration) Validate() error { 15494 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 15495 if s.LogDriver == nil { 15496 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 15497 } 15498 if s.SecretOptions != nil { 15499 for i, v := range s.SecretOptions { 15500 if v == nil { 15501 continue 15502 } 15503 if err := v.Validate(); err != nil { 15504 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 15505 } 15506 } 15507 } 15508 15509 if invalidParams.Len() > 0 { 15510 return invalidParams 15511 } 15512 return nil 15513 } 15514 15515 // SetLogDriver sets the LogDriver field's value. 15516 func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 15517 s.LogDriver = &v 15518 return s 15519 } 15520 15521 // SetOptions sets the Options field's value. 15522 func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 15523 s.Options = v 15524 return s 15525 } 15526 15527 // SetSecretOptions sets the SecretOptions field's value. 15528 func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 15529 s.SecretOptions = v 15530 return s 15531 } 15532 15533 // Details about the managed agent status for the container. 15534 type ManagedAgent struct { 15535 _ struct{} `type:"structure"` 15536 15537 // The Unix timestamp for when the managed agent was last started. 15538 LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"` 15539 15540 // The last known status of the managed agent. 15541 LastStatus *string `locationName:"lastStatus" type:"string"` 15542 15543 // The name of the managed agent. When the execute command feature is enabled, 15544 // the managed agent name is ExecuteCommandAgent. 15545 Name *string `locationName:"name" type:"string" enum:"ManagedAgentName"` 15546 15547 // The reason for why the managed agent is in the state it is in. 15548 Reason *string `locationName:"reason" type:"string"` 15549 } 15550 15551 // String returns the string representation. 15552 // 15553 // API parameter values that are decorated as "sensitive" in the API will not 15554 // be included in the string output. The member name will be present, but the 15555 // value will be replaced with "sensitive". 15556 func (s ManagedAgent) String() string { 15557 return awsutil.Prettify(s) 15558 } 15559 15560 // GoString returns the string representation. 15561 // 15562 // API parameter values that are decorated as "sensitive" in the API will not 15563 // be included in the string output. The member name will be present, but the 15564 // value will be replaced with "sensitive". 15565 func (s ManagedAgent) GoString() string { 15566 return s.String() 15567 } 15568 15569 // SetLastStartedAt sets the LastStartedAt field's value. 15570 func (s *ManagedAgent) SetLastStartedAt(v time.Time) *ManagedAgent { 15571 s.LastStartedAt = &v 15572 return s 15573 } 15574 15575 // SetLastStatus sets the LastStatus field's value. 15576 func (s *ManagedAgent) SetLastStatus(v string) *ManagedAgent { 15577 s.LastStatus = &v 15578 return s 15579 } 15580 15581 // SetName sets the Name field's value. 15582 func (s *ManagedAgent) SetName(v string) *ManagedAgent { 15583 s.Name = &v 15584 return s 15585 } 15586 15587 // SetReason sets the Reason field's value. 15588 func (s *ManagedAgent) SetReason(v string) *ManagedAgent { 15589 s.Reason = &v 15590 return s 15591 } 15592 15593 // An object representing a change in state for a managed agent. 15594 type ManagedAgentStateChange struct { 15595 _ struct{} `type:"structure"` 15596 15597 // The name of the container associated with the managed agent. 15598 // 15599 // ContainerName is a required field 15600 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 15601 15602 // The name of the managed agent. 15603 // 15604 // ManagedAgentName is a required field 15605 ManagedAgentName *string `locationName:"managedAgentName" type:"string" required:"true" enum:"ManagedAgentName"` 15606 15607 // The reason for the status of the managed agent. 15608 Reason *string `locationName:"reason" type:"string"` 15609 15610 // The status of the managed agent. 15611 // 15612 // Status is a required field 15613 Status *string `locationName:"status" type:"string" required:"true"` 15614 } 15615 15616 // String returns the string representation. 15617 // 15618 // API parameter values that are decorated as "sensitive" in the API will not 15619 // be included in the string output. The member name will be present, but the 15620 // value will be replaced with "sensitive". 15621 func (s ManagedAgentStateChange) String() string { 15622 return awsutil.Prettify(s) 15623 } 15624 15625 // GoString returns the string representation. 15626 // 15627 // API parameter values that are decorated as "sensitive" in the API will not 15628 // be included in the string output. The member name will be present, but the 15629 // value will be replaced with "sensitive". 15630 func (s ManagedAgentStateChange) GoString() string { 15631 return s.String() 15632 } 15633 15634 // Validate inspects the fields of the type to determine if they are valid. 15635 func (s *ManagedAgentStateChange) Validate() error { 15636 invalidParams := request.ErrInvalidParams{Context: "ManagedAgentStateChange"} 15637 if s.ContainerName == nil { 15638 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 15639 } 15640 if s.ManagedAgentName == nil { 15641 invalidParams.Add(request.NewErrParamRequired("ManagedAgentName")) 15642 } 15643 if s.Status == nil { 15644 invalidParams.Add(request.NewErrParamRequired("Status")) 15645 } 15646 15647 if invalidParams.Len() > 0 { 15648 return invalidParams 15649 } 15650 return nil 15651 } 15652 15653 // SetContainerName sets the ContainerName field's value. 15654 func (s *ManagedAgentStateChange) SetContainerName(v string) *ManagedAgentStateChange { 15655 s.ContainerName = &v 15656 return s 15657 } 15658 15659 // SetManagedAgentName sets the ManagedAgentName field's value. 15660 func (s *ManagedAgentStateChange) SetManagedAgentName(v string) *ManagedAgentStateChange { 15661 s.ManagedAgentName = &v 15662 return s 15663 } 15664 15665 // SetReason sets the Reason field's value. 15666 func (s *ManagedAgentStateChange) SetReason(v string) *ManagedAgentStateChange { 15667 s.Reason = &v 15668 return s 15669 } 15670 15671 // SetStatus sets the Status field's value. 15672 func (s *ManagedAgentStateChange) SetStatus(v string) *ManagedAgentStateChange { 15673 s.Status = &v 15674 return s 15675 } 15676 15677 // The managed scaling settings for the Auto Scaling group capacity provider. 15678 // 15679 // When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out 15680 // actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling 15681 // policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity 15682 // value as the target value for the metric. For more information, see Using 15683 // Managed Scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) 15684 // in the Amazon Elastic Container Service Developer Guide. 15685 // 15686 // If managed scaling is disabled, the user must manage the scaling of the Auto 15687 // Scaling group. 15688 type ManagedScaling struct { 15689 _ struct{} `type:"structure"` 15690 15691 // The period of time, in seconds, after a newly launched Amazon EC2 instance 15692 // can contribute to CloudWatch metrics for Auto Scaling group. If this parameter 15693 // is omitted, the default value of 300 seconds is used. 15694 InstanceWarmupPeriod *int64 `locationName:"instanceWarmupPeriod" type:"integer"` 15695 15696 // The maximum number of container instances that Amazon ECS will scale in or 15697 // scale out at one time. If this parameter is omitted, the default value of 15698 // 10000 is used. 15699 MaximumScalingStepSize *int64 `locationName:"maximumScalingStepSize" min:"1" type:"integer"` 15700 15701 // The minimum number of container instances that Amazon ECS will scale in or 15702 // scale out at one time. If this parameter is omitted, the default value of 15703 // 1 is used. 15704 MinimumScalingStepSize *int64 `locationName:"minimumScalingStepSize" min:"1" type:"integer"` 15705 15706 // Whether or not to enable managed scaling for the capacity provider. 15707 Status *string `locationName:"status" type:"string" enum:"ManagedScalingStatus"` 15708 15709 // The target capacity value for the capacity provider. The specified value 15710 // must be greater than 0 and less than or equal to 100. A value of 100 will 15711 // result in the Amazon EC2 instances in your Auto Scaling group being completely 15712 // utilized. 15713 TargetCapacity *int64 `locationName:"targetCapacity" min:"1" type:"integer"` 15714 } 15715 15716 // String returns the string representation. 15717 // 15718 // API parameter values that are decorated as "sensitive" in the API will not 15719 // be included in the string output. The member name will be present, but the 15720 // value will be replaced with "sensitive". 15721 func (s ManagedScaling) String() string { 15722 return awsutil.Prettify(s) 15723 } 15724 15725 // GoString 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 ManagedScaling) GoString() string { 15731 return s.String() 15732 } 15733 15734 // Validate inspects the fields of the type to determine if they are valid. 15735 func (s *ManagedScaling) Validate() error { 15736 invalidParams := request.ErrInvalidParams{Context: "ManagedScaling"} 15737 if s.MaximumScalingStepSize != nil && *s.MaximumScalingStepSize < 1 { 15738 invalidParams.Add(request.NewErrParamMinValue("MaximumScalingStepSize", 1)) 15739 } 15740 if s.MinimumScalingStepSize != nil && *s.MinimumScalingStepSize < 1 { 15741 invalidParams.Add(request.NewErrParamMinValue("MinimumScalingStepSize", 1)) 15742 } 15743 if s.TargetCapacity != nil && *s.TargetCapacity < 1 { 15744 invalidParams.Add(request.NewErrParamMinValue("TargetCapacity", 1)) 15745 } 15746 15747 if invalidParams.Len() > 0 { 15748 return invalidParams 15749 } 15750 return nil 15751 } 15752 15753 // SetInstanceWarmupPeriod sets the InstanceWarmupPeriod field's value. 15754 func (s *ManagedScaling) SetInstanceWarmupPeriod(v int64) *ManagedScaling { 15755 s.InstanceWarmupPeriod = &v 15756 return s 15757 } 15758 15759 // SetMaximumScalingStepSize sets the MaximumScalingStepSize field's value. 15760 func (s *ManagedScaling) SetMaximumScalingStepSize(v int64) *ManagedScaling { 15761 s.MaximumScalingStepSize = &v 15762 return s 15763 } 15764 15765 // SetMinimumScalingStepSize sets the MinimumScalingStepSize field's value. 15766 func (s *ManagedScaling) SetMinimumScalingStepSize(v int64) *ManagedScaling { 15767 s.MinimumScalingStepSize = &v 15768 return s 15769 } 15770 15771 // SetStatus sets the Status field's value. 15772 func (s *ManagedScaling) SetStatus(v string) *ManagedScaling { 15773 s.Status = &v 15774 return s 15775 } 15776 15777 // SetTargetCapacity sets the TargetCapacity field's value. 15778 func (s *ManagedScaling) SetTargetCapacity(v int64) *ManagedScaling { 15779 s.TargetCapacity = &v 15780 return s 15781 } 15782 15783 // Amazon ECS is unable to determine the current version of the Amazon ECS container 15784 // agent on the container instance and does not have enough information to proceed 15785 // with an update. This could be because the agent running on the container 15786 // instance is an older or custom version that does not use our version information. 15787 type MissingVersionException struct { 15788 _ struct{} `type:"structure"` 15789 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15790 15791 Message_ *string `locationName:"message" type:"string"` 15792 } 15793 15794 // String returns the string representation. 15795 // 15796 // API parameter values that are decorated as "sensitive" in the API will not 15797 // be included in the string output. The member name will be present, but the 15798 // value will be replaced with "sensitive". 15799 func (s MissingVersionException) String() string { 15800 return awsutil.Prettify(s) 15801 } 15802 15803 // GoString returns the string representation. 15804 // 15805 // API parameter values that are decorated as "sensitive" in the API will not 15806 // be included in the string output. The member name will be present, but the 15807 // value will be replaced with "sensitive". 15808 func (s MissingVersionException) GoString() string { 15809 return s.String() 15810 } 15811 15812 func newErrorMissingVersionException(v protocol.ResponseMetadata) error { 15813 return &MissingVersionException{ 15814 RespMetadata: v, 15815 } 15816 } 15817 15818 // Code returns the exception type name. 15819 func (s *MissingVersionException) Code() string { 15820 return "MissingVersionException" 15821 } 15822 15823 // Message returns the exception's message. 15824 func (s *MissingVersionException) Message() string { 15825 if s.Message_ != nil { 15826 return *s.Message_ 15827 } 15828 return "" 15829 } 15830 15831 // OrigErr always returns nil, satisfies awserr.Error interface. 15832 func (s *MissingVersionException) OrigErr() error { 15833 return nil 15834 } 15835 15836 func (s *MissingVersionException) Error() string { 15837 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15838 } 15839 15840 // Status code returns the HTTP status code for the request's response error. 15841 func (s *MissingVersionException) StatusCode() int { 15842 return s.RespMetadata.StatusCode 15843 } 15844 15845 // RequestID returns the service's response RequestID for request. 15846 func (s *MissingVersionException) RequestID() string { 15847 return s.RespMetadata.RequestID 15848 } 15849 15850 // Details on a volume mount point that is used in a container definition. 15851 type MountPoint struct { 15852 _ struct{} `type:"structure"` 15853 15854 // The path on the container to mount the host volume at. 15855 ContainerPath *string `locationName:"containerPath" type:"string"` 15856 15857 // If this value is true, the container has read-only access to the volume. 15858 // If this value is false, then the container can write to the volume. The default 15859 // value is false. 15860 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 15861 15862 // The name of the volume to mount. Must be a volume name referenced in the 15863 // name parameter of task definition volume. 15864 SourceVolume *string `locationName:"sourceVolume" type:"string"` 15865 } 15866 15867 // String returns the string representation. 15868 // 15869 // API parameter values that are decorated as "sensitive" in the API will not 15870 // be included in the string output. The member name will be present, but the 15871 // value will be replaced with "sensitive". 15872 func (s MountPoint) String() string { 15873 return awsutil.Prettify(s) 15874 } 15875 15876 // GoString returns the string representation. 15877 // 15878 // API parameter values that are decorated as "sensitive" in the API will not 15879 // be included in the string output. The member name will be present, but the 15880 // value will be replaced with "sensitive". 15881 func (s MountPoint) GoString() string { 15882 return s.String() 15883 } 15884 15885 // SetContainerPath sets the ContainerPath field's value. 15886 func (s *MountPoint) SetContainerPath(v string) *MountPoint { 15887 s.ContainerPath = &v 15888 return s 15889 } 15890 15891 // SetReadOnly sets the ReadOnly field's value. 15892 func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 15893 s.ReadOnly = &v 15894 return s 15895 } 15896 15897 // SetSourceVolume sets the SourceVolume field's value. 15898 func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 15899 s.SourceVolume = &v 15900 return s 15901 } 15902 15903 // Details on the network bindings between a container and its host container 15904 // instance. After a task reaches the RUNNING status, manual and automatic host 15905 // and container port assignments are visible in the networkBindings section 15906 // of DescribeTasks API responses. 15907 type NetworkBinding struct { 15908 _ struct{} `type:"structure"` 15909 15910 // The IP address that the container is bound to on the container instance. 15911 BindIP *string `locationName:"bindIP" type:"string"` 15912 15913 // The port number on the container that is used with the network binding. 15914 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 15915 15916 // The port number on the host that is used with the network binding. 15917 HostPort *int64 `locationName:"hostPort" type:"integer"` 15918 15919 // The protocol used for the network binding. 15920 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 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 NetworkBinding) 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 NetworkBinding) GoString() string { 15938 return s.String() 15939 } 15940 15941 // SetBindIP sets the BindIP field's value. 15942 func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding { 15943 s.BindIP = &v 15944 return s 15945 } 15946 15947 // SetContainerPort sets the ContainerPort field's value. 15948 func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding { 15949 s.ContainerPort = &v 15950 return s 15951 } 15952 15953 // SetHostPort sets the HostPort field's value. 15954 func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding { 15955 s.HostPort = &v 15956 return s 15957 } 15958 15959 // SetProtocol sets the Protocol field's value. 15960 func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding { 15961 s.Protocol = &v 15962 return s 15963 } 15964 15965 // An object representing the network configuration for a task or service. 15966 type NetworkConfiguration struct { 15967 _ struct{} `type:"structure"` 15968 15969 // The VPC subnets and security groups associated with a task. 15970 // 15971 // All specified subnets and security groups must be from the same VPC. 15972 AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"` 15973 } 15974 15975 // String returns the string representation. 15976 // 15977 // API parameter values that are decorated as "sensitive" in the API will not 15978 // be included in the string output. The member name will be present, but the 15979 // value will be replaced with "sensitive". 15980 func (s NetworkConfiguration) String() string { 15981 return awsutil.Prettify(s) 15982 } 15983 15984 // GoString returns the string representation. 15985 // 15986 // API parameter values that are decorated as "sensitive" in the API will not 15987 // be included in the string output. The member name will be present, but the 15988 // value will be replaced with "sensitive". 15989 func (s NetworkConfiguration) GoString() string { 15990 return s.String() 15991 } 15992 15993 // Validate inspects the fields of the type to determine if they are valid. 15994 func (s *NetworkConfiguration) Validate() error { 15995 invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"} 15996 if s.AwsvpcConfiguration != nil { 15997 if err := s.AwsvpcConfiguration.Validate(); err != nil { 15998 invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams)) 15999 } 16000 } 16001 16002 if invalidParams.Len() > 0 { 16003 return invalidParams 16004 } 16005 return nil 16006 } 16007 16008 // SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value. 16009 func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration { 16010 s.AwsvpcConfiguration = v 16011 return s 16012 } 16013 16014 // An object representing the elastic network interface for tasks that use the 16015 // awsvpc network mode. 16016 type NetworkInterface struct { 16017 _ struct{} `type:"structure"` 16018 16019 // The attachment ID for the network interface. 16020 AttachmentId *string `locationName:"attachmentId" type:"string"` 16021 16022 // The private IPv6 address for the network interface. 16023 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 16024 16025 // The private IPv4 address for the network interface. 16026 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 16027 } 16028 16029 // String returns the string representation. 16030 // 16031 // API parameter values that are decorated as "sensitive" in the API will not 16032 // be included in the string output. The member name will be present, but the 16033 // value will be replaced with "sensitive". 16034 func (s NetworkInterface) String() string { 16035 return awsutil.Prettify(s) 16036 } 16037 16038 // GoString returns the string representation. 16039 // 16040 // API parameter values that are decorated as "sensitive" in the API will not 16041 // be included in the string output. The member name will be present, but the 16042 // value will be replaced with "sensitive". 16043 func (s NetworkInterface) GoString() string { 16044 return s.String() 16045 } 16046 16047 // SetAttachmentId sets the AttachmentId field's value. 16048 func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 16049 s.AttachmentId = &v 16050 return s 16051 } 16052 16053 // SetIpv6Address sets the Ipv6Address field's value. 16054 func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 16055 s.Ipv6Address = &v 16056 return s 16057 } 16058 16059 // SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 16060 func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 16061 s.PrivateIpv4Address = &v 16062 return s 16063 } 16064 16065 // There is no update available for this Amazon ECS container agent. This could 16066 // be because the agent is already running the latest version, or it is so old 16067 // that there is no update path to the current version. 16068 type NoUpdateAvailableException struct { 16069 _ struct{} `type:"structure"` 16070 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16071 16072 Message_ *string `locationName:"message" type:"string"` 16073 } 16074 16075 // String returns the string representation. 16076 // 16077 // API parameter values that are decorated as "sensitive" in the API will not 16078 // be included in the string output. The member name will be present, but the 16079 // value will be replaced with "sensitive". 16080 func (s NoUpdateAvailableException) String() string { 16081 return awsutil.Prettify(s) 16082 } 16083 16084 // GoString returns the string representation. 16085 // 16086 // API parameter values that are decorated as "sensitive" in the API will not 16087 // be included in the string output. The member name will be present, but the 16088 // value will be replaced with "sensitive". 16089 func (s NoUpdateAvailableException) GoString() string { 16090 return s.String() 16091 } 16092 16093 func newErrorNoUpdateAvailableException(v protocol.ResponseMetadata) error { 16094 return &NoUpdateAvailableException{ 16095 RespMetadata: v, 16096 } 16097 } 16098 16099 // Code returns the exception type name. 16100 func (s *NoUpdateAvailableException) Code() string { 16101 return "NoUpdateAvailableException" 16102 } 16103 16104 // Message returns the exception's message. 16105 func (s *NoUpdateAvailableException) Message() string { 16106 if s.Message_ != nil { 16107 return *s.Message_ 16108 } 16109 return "" 16110 } 16111 16112 // OrigErr always returns nil, satisfies awserr.Error interface. 16113 func (s *NoUpdateAvailableException) OrigErr() error { 16114 return nil 16115 } 16116 16117 func (s *NoUpdateAvailableException) Error() string { 16118 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16119 } 16120 16121 // Status code returns the HTTP status code for the request's response error. 16122 func (s *NoUpdateAvailableException) StatusCode() int { 16123 return s.RespMetadata.StatusCode 16124 } 16125 16126 // RequestID returns the service's response RequestID for request. 16127 func (s *NoUpdateAvailableException) RequestID() string { 16128 return s.RespMetadata.RequestID 16129 } 16130 16131 // An object representing a constraint on task placement. For more information, 16132 // see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 16133 // in the Amazon Elastic Container Service Developer Guide. 16134 // 16135 // If you are using the Fargate launch type, task placement constraints are 16136 // not supported. 16137 type PlacementConstraint struct { 16138 _ struct{} `type:"structure"` 16139 16140 // A cluster query language expression to apply to the constraint. The expression 16141 // can have a maximum length of 2000 characters. You can't specify an expression 16142 // if the constraint type is distinctInstance. For more information, see Cluster 16143 // query language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 16144 // in the Amazon Elastic Container Service Developer Guide. 16145 Expression *string `locationName:"expression" type:"string"` 16146 16147 // The type of constraint. Use distinctInstance to ensure that each task in 16148 // a particular group is running on a different container instance. Use memberOf 16149 // to restrict the selection to a group of valid candidates. 16150 Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"` 16151 } 16152 16153 // String returns the string representation. 16154 // 16155 // API parameter values that are decorated as "sensitive" in the API will not 16156 // be included in the string output. The member name will be present, but the 16157 // value will be replaced with "sensitive". 16158 func (s PlacementConstraint) String() string { 16159 return awsutil.Prettify(s) 16160 } 16161 16162 // GoString returns the string representation. 16163 // 16164 // API parameter values that are decorated as "sensitive" in the API will not 16165 // be included in the string output. The member name will be present, but the 16166 // value will be replaced with "sensitive". 16167 func (s PlacementConstraint) GoString() string { 16168 return s.String() 16169 } 16170 16171 // SetExpression sets the Expression field's value. 16172 func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint { 16173 s.Expression = &v 16174 return s 16175 } 16176 16177 // SetType sets the Type field's value. 16178 func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { 16179 s.Type = &v 16180 return s 16181 } 16182 16183 // The task placement strategy for a task or service. For more information, 16184 // see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 16185 // in the Amazon Elastic Container Service Developer Guide. 16186 type PlacementStrategy struct { 16187 _ struct{} `type:"structure"` 16188 16189 // The field to apply the placement strategy against. For the spread placement 16190 // strategy, valid values are instanceId (or host, which has the same effect), 16191 // or any platform or custom attribute that is applied to a container instance, 16192 // such as attribute:ecs.availability-zone. For the binpack placement strategy, 16193 // valid values are cpu and memory. For the random placement strategy, this 16194 // field is not used. 16195 Field *string `locationName:"field" type:"string"` 16196 16197 // The type of placement strategy. The random placement strategy randomly places 16198 // tasks on available candidates. The spread placement strategy spreads placement 16199 // across available candidates evenly based on the field parameter. The binpack 16200 // strategy places tasks on available candidates that have the least available 16201 // amount of the resource that is specified with the field parameter. For example, 16202 // if you binpack on memory, a task is placed on the instance with the least 16203 // amount of remaining memory (but still enough to run the task). 16204 Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"` 16205 } 16206 16207 // String returns the string representation. 16208 // 16209 // API parameter values that are decorated as "sensitive" in the API will not 16210 // be included in the string output. The member name will be present, but the 16211 // value will be replaced with "sensitive". 16212 func (s PlacementStrategy) String() string { 16213 return awsutil.Prettify(s) 16214 } 16215 16216 // GoString returns the string representation. 16217 // 16218 // API parameter values that are decorated as "sensitive" in the API will not 16219 // be included in the string output. The member name will be present, but the 16220 // value will be replaced with "sensitive". 16221 func (s PlacementStrategy) GoString() string { 16222 return s.String() 16223 } 16224 16225 // SetField sets the Field field's value. 16226 func (s *PlacementStrategy) SetField(v string) *PlacementStrategy { 16227 s.Field = &v 16228 return s 16229 } 16230 16231 // SetType sets the Type field's value. 16232 func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { 16233 s.Type = &v 16234 return s 16235 } 16236 16237 // The devices that are available on the container instance. The only supported 16238 // device type is a GPU. 16239 type PlatformDevice struct { 16240 _ struct{} `type:"structure"` 16241 16242 // The ID for the GPU(s) on the container instance. The available GPU IDs can 16243 // also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json 16244 // file. 16245 // 16246 // Id is a required field 16247 Id *string `locationName:"id" type:"string" required:"true"` 16248 16249 // The type of device that is available on the container instance. The only 16250 // supported value is GPU. 16251 // 16252 // Type is a required field 16253 Type *string `locationName:"type" type:"string" required:"true" enum:"PlatformDeviceType"` 16254 } 16255 16256 // String returns the string representation. 16257 // 16258 // API parameter values that are decorated as "sensitive" in the API will not 16259 // be included in the string output. The member name will be present, but the 16260 // value will be replaced with "sensitive". 16261 func (s PlatformDevice) String() string { 16262 return awsutil.Prettify(s) 16263 } 16264 16265 // GoString returns the string representation. 16266 // 16267 // API parameter values that are decorated as "sensitive" in the API will not 16268 // be included in the string output. The member name will be present, but the 16269 // value will be replaced with "sensitive". 16270 func (s PlatformDevice) GoString() string { 16271 return s.String() 16272 } 16273 16274 // Validate inspects the fields of the type to determine if they are valid. 16275 func (s *PlatformDevice) Validate() error { 16276 invalidParams := request.ErrInvalidParams{Context: "PlatformDevice"} 16277 if s.Id == nil { 16278 invalidParams.Add(request.NewErrParamRequired("Id")) 16279 } 16280 if s.Type == nil { 16281 invalidParams.Add(request.NewErrParamRequired("Type")) 16282 } 16283 16284 if invalidParams.Len() > 0 { 16285 return invalidParams 16286 } 16287 return nil 16288 } 16289 16290 // SetId sets the Id field's value. 16291 func (s *PlatformDevice) SetId(v string) *PlatformDevice { 16292 s.Id = &v 16293 return s 16294 } 16295 16296 // SetType sets the Type field's value. 16297 func (s *PlatformDevice) SetType(v string) *PlatformDevice { 16298 s.Type = &v 16299 return s 16300 } 16301 16302 // The specified platform version does not satisfy the task definition's required 16303 // capabilities. 16304 type PlatformTaskDefinitionIncompatibilityException struct { 16305 _ struct{} `type:"structure"` 16306 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16307 16308 Message_ *string `locationName:"message" type:"string"` 16309 } 16310 16311 // String returns the string representation. 16312 // 16313 // API parameter values that are decorated as "sensitive" in the API will not 16314 // be included in the string output. The member name will be present, but the 16315 // value will be replaced with "sensitive". 16316 func (s PlatformTaskDefinitionIncompatibilityException) String() string { 16317 return awsutil.Prettify(s) 16318 } 16319 16320 // GoString returns the string representation. 16321 // 16322 // API parameter values that are decorated as "sensitive" in the API will not 16323 // be included in the string output. The member name will be present, but the 16324 // value will be replaced with "sensitive". 16325 func (s PlatformTaskDefinitionIncompatibilityException) GoString() string { 16326 return s.String() 16327 } 16328 16329 func newErrorPlatformTaskDefinitionIncompatibilityException(v protocol.ResponseMetadata) error { 16330 return &PlatformTaskDefinitionIncompatibilityException{ 16331 RespMetadata: v, 16332 } 16333 } 16334 16335 // Code returns the exception type name. 16336 func (s *PlatformTaskDefinitionIncompatibilityException) Code() string { 16337 return "PlatformTaskDefinitionIncompatibilityException" 16338 } 16339 16340 // Message returns the exception's message. 16341 func (s *PlatformTaskDefinitionIncompatibilityException) Message() string { 16342 if s.Message_ != nil { 16343 return *s.Message_ 16344 } 16345 return "" 16346 } 16347 16348 // OrigErr always returns nil, satisfies awserr.Error interface. 16349 func (s *PlatformTaskDefinitionIncompatibilityException) OrigErr() error { 16350 return nil 16351 } 16352 16353 func (s *PlatformTaskDefinitionIncompatibilityException) Error() string { 16354 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16355 } 16356 16357 // Status code returns the HTTP status code for the request's response error. 16358 func (s *PlatformTaskDefinitionIncompatibilityException) StatusCode() int { 16359 return s.RespMetadata.StatusCode 16360 } 16361 16362 // RequestID returns the service's response RequestID for request. 16363 func (s *PlatformTaskDefinitionIncompatibilityException) RequestID() string { 16364 return s.RespMetadata.RequestID 16365 } 16366 16367 // The specified platform version does not exist. 16368 type PlatformUnknownException struct { 16369 _ struct{} `type:"structure"` 16370 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16371 16372 Message_ *string `locationName:"message" type:"string"` 16373 } 16374 16375 // String returns the string representation. 16376 // 16377 // API parameter values that are decorated as "sensitive" in the API will not 16378 // be included in the string output. The member name will be present, but the 16379 // value will be replaced with "sensitive". 16380 func (s PlatformUnknownException) String() string { 16381 return awsutil.Prettify(s) 16382 } 16383 16384 // GoString returns the string representation. 16385 // 16386 // API parameter values that are decorated as "sensitive" in the API will not 16387 // be included in the string output. The member name will be present, but the 16388 // value will be replaced with "sensitive". 16389 func (s PlatformUnknownException) GoString() string { 16390 return s.String() 16391 } 16392 16393 func newErrorPlatformUnknownException(v protocol.ResponseMetadata) error { 16394 return &PlatformUnknownException{ 16395 RespMetadata: v, 16396 } 16397 } 16398 16399 // Code returns the exception type name. 16400 func (s *PlatformUnknownException) Code() string { 16401 return "PlatformUnknownException" 16402 } 16403 16404 // Message returns the exception's message. 16405 func (s *PlatformUnknownException) Message() string { 16406 if s.Message_ != nil { 16407 return *s.Message_ 16408 } 16409 return "" 16410 } 16411 16412 // OrigErr always returns nil, satisfies awserr.Error interface. 16413 func (s *PlatformUnknownException) OrigErr() error { 16414 return nil 16415 } 16416 16417 func (s *PlatformUnknownException) Error() string { 16418 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16419 } 16420 16421 // Status code returns the HTTP status code for the request's response error. 16422 func (s *PlatformUnknownException) StatusCode() int { 16423 return s.RespMetadata.StatusCode 16424 } 16425 16426 // RequestID returns the service's response RequestID for request. 16427 func (s *PlatformUnknownException) RequestID() string { 16428 return s.RespMetadata.RequestID 16429 } 16430 16431 // Port mappings allow containers to access ports on the host container instance 16432 // to send or receive traffic. Port mappings are specified as part of the container 16433 // definition. 16434 // 16435 // If you are using containers in a task with the awsvpc or host network mode, 16436 // exposed ports should be specified using containerPort. The hostPort can be 16437 // left blank or it must be the same value as the containerPort. 16438 // 16439 // You cannot expose the same container port for multiple protocols. An error 16440 // will be returned if this is attempted 16441 // 16442 // After a task reaches the RUNNING status, manual and automatic host and container 16443 // port assignments are visible in the networkBindings section of DescribeTasks 16444 // API responses. 16445 type PortMapping struct { 16446 _ struct{} `type:"structure"` 16447 16448 // The port number on the container that is bound to the user-specified or automatically 16449 // assigned host port. 16450 // 16451 // If you are using containers in a task with the awsvpc or host network mode, 16452 // exposed ports should be specified using containerPort. 16453 // 16454 // If you are using containers in a task with the bridge network mode and you 16455 // specify a container port and not a host port, your container automatically 16456 // receives a host port in the ephemeral port range. For more information, see 16457 // hostPort. Port mappings that are automatically assigned in this way do not 16458 // count toward the 100 reserved ports limit of a container instance. 16459 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 16460 16461 // The port number on the container instance to reserve for your container. 16462 // 16463 // If you are using containers in a task with the awsvpc or host network mode, 16464 // the hostPort can either be left blank or set to the same value as the containerPort. 16465 // 16466 // If you are using containers in a task with the bridge network mode, you can 16467 // specify a non-reserved host port for your container port mapping, or you 16468 // can omit the hostPort (or set it to 0) while specifying a containerPort and 16469 // your container automatically receives a port in the ephemeral port range 16470 // for your container instance operating system and Docker version. 16471 // 16472 // The default ephemeral port range for Docker version 1.6.0 and later is listed 16473 // on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel 16474 // parameter is unavailable, the default ephemeral port range from 49153 through 16475 // 65535 is used. Do not attempt to specify a host port in the ephemeral port 16476 // range as these are reserved for automatic assignment. In general, ports below 16477 // 32768 are outside of the ephemeral port range. 16478 // 16479 // The default ephemeral port range from 49153 through 65535 is always used 16480 // for Docker versions before 1.6.0. 16481 // 16482 // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, 16483 // and the Amazon ECS container agent ports 51678-51680. Any host port that 16484 // was previously specified in a running task is also reserved while the task 16485 // is running (after a task stops, the host port is released). The current reserved 16486 // ports are displayed in the remainingResources of DescribeContainerInstances 16487 // output. A container instance can have up to 100 reserved ports at a time, 16488 // including the default reserved ports. Automatically assigned ports don't 16489 // count toward the 100 reserved ports limit. 16490 HostPort *int64 `locationName:"hostPort" type:"integer"` 16491 16492 // The protocol used for the port mapping. Valid values are tcp and udp. The 16493 // default is tcp. 16494 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 16495 } 16496 16497 // String returns the string representation. 16498 // 16499 // API parameter values that are decorated as "sensitive" in the API will not 16500 // be included in the string output. The member name will be present, but the 16501 // value will be replaced with "sensitive". 16502 func (s PortMapping) String() string { 16503 return awsutil.Prettify(s) 16504 } 16505 16506 // GoString returns the string representation. 16507 // 16508 // API parameter values that are decorated as "sensitive" in the API will not 16509 // be included in the string output. The member name will be present, but the 16510 // value will be replaced with "sensitive". 16511 func (s PortMapping) GoString() string { 16512 return s.String() 16513 } 16514 16515 // SetContainerPort sets the ContainerPort field's value. 16516 func (s *PortMapping) SetContainerPort(v int64) *PortMapping { 16517 s.ContainerPort = &v 16518 return s 16519 } 16520 16521 // SetHostPort sets the HostPort field's value. 16522 func (s *PortMapping) SetHostPort(v int64) *PortMapping { 16523 s.HostPort = &v 16524 return s 16525 } 16526 16527 // SetProtocol sets the Protocol field's value. 16528 func (s *PortMapping) SetProtocol(v string) *PortMapping { 16529 s.Protocol = &v 16530 return s 16531 } 16532 16533 // The configuration details for the App Mesh proxy. 16534 // 16535 // For tasks using the EC2 launch type, the container instances require at least 16536 // version 1.26.0 of the container agent and at least version 1.26.0-1 of the 16537 // ecs-init package to enable a proxy configuration. If your container instances 16538 // are launched from the Amazon ECS-optimized AMI version 20190301 or later, 16539 // then they contain the required versions of the container agent and ecs-init. 16540 // For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 16541 type ProxyConfiguration struct { 16542 _ struct{} `type:"structure"` 16543 16544 // The name of the container that will serve as the App Mesh proxy. 16545 // 16546 // ContainerName is a required field 16547 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 16548 16549 // The set of network configuration parameters to provide the Container Network 16550 // Interface (CNI) plugin, specified as key-value pairs. 16551 // 16552 // * IgnoredUID - (Required) The user ID (UID) of the proxy container as 16553 // defined by the user parameter in a container definition. This is used 16554 // to ensure the proxy ignores its own traffic. If IgnoredGID is specified, 16555 // this field can be empty. 16556 // 16557 // * IgnoredGID - (Required) The group ID (GID) of the proxy container as 16558 // defined by the user parameter in a container definition. This is used 16559 // to ensure the proxy ignores its own traffic. If IgnoredUID is specified, 16560 // this field can be empty. 16561 // 16562 // * AppPorts - (Required) The list of ports that the application uses. Network 16563 // traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort. 16564 // 16565 // * ProxyIngressPort - (Required) Specifies the port that incoming traffic 16566 // to the AppPorts is directed to. 16567 // 16568 // * ProxyEgressPort - (Required) Specifies the port that outgoing traffic 16569 // from the AppPorts is directed to. 16570 // 16571 // * EgressIgnoredPorts - (Required) The egress traffic going to the specified 16572 // ports is ignored and not redirected to the ProxyEgressPort. It can be 16573 // an empty list. 16574 // 16575 // * EgressIgnoredIPs - (Required) The egress traffic going to the specified 16576 // IP addresses is ignored and not redirected to the ProxyEgressPort. It 16577 // can be an empty list. 16578 Properties []*KeyValuePair `locationName:"properties" type:"list"` 16579 16580 // The proxy type. The only supported value is APPMESH. 16581 Type *string `locationName:"type" type:"string" enum:"ProxyConfigurationType"` 16582 } 16583 16584 // String returns the string representation. 16585 // 16586 // API parameter values that are decorated as "sensitive" in the API will not 16587 // be included in the string output. The member name will be present, but the 16588 // value will be replaced with "sensitive". 16589 func (s ProxyConfiguration) String() string { 16590 return awsutil.Prettify(s) 16591 } 16592 16593 // GoString returns the string representation. 16594 // 16595 // API parameter values that are decorated as "sensitive" in the API will not 16596 // be included in the string output. The member name will be present, but the 16597 // value will be replaced with "sensitive". 16598 func (s ProxyConfiguration) GoString() string { 16599 return s.String() 16600 } 16601 16602 // Validate inspects the fields of the type to determine if they are valid. 16603 func (s *ProxyConfiguration) Validate() error { 16604 invalidParams := request.ErrInvalidParams{Context: "ProxyConfiguration"} 16605 if s.ContainerName == nil { 16606 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 16607 } 16608 16609 if invalidParams.Len() > 0 { 16610 return invalidParams 16611 } 16612 return nil 16613 } 16614 16615 // SetContainerName sets the ContainerName field's value. 16616 func (s *ProxyConfiguration) SetContainerName(v string) *ProxyConfiguration { 16617 s.ContainerName = &v 16618 return s 16619 } 16620 16621 // SetProperties sets the Properties field's value. 16622 func (s *ProxyConfiguration) SetProperties(v []*KeyValuePair) *ProxyConfiguration { 16623 s.Properties = v 16624 return s 16625 } 16626 16627 // SetType sets the Type field's value. 16628 func (s *ProxyConfiguration) SetType(v string) *ProxyConfiguration { 16629 s.Type = &v 16630 return s 16631 } 16632 16633 type PutAccountSettingDefaultInput struct { 16634 _ struct{} `type:"structure"` 16635 16636 // The resource name for which to modify the account setting. If serviceLongArnFormat 16637 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 16638 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 16639 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 16640 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 16641 // the ENI limit for your Amazon ECS container instances is affected. If containerInsights 16642 // is specified, the default setting for CloudWatch Container Insights for your 16643 // clusters is affected. 16644 // 16645 // Name is a required field 16646 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 16647 16648 // The account setting value for the specified principal ARN. Accepted values 16649 // are enabled and disabled. 16650 // 16651 // Value is a required field 16652 Value *string `locationName:"value" type:"string" required:"true"` 16653 } 16654 16655 // String returns the string representation. 16656 // 16657 // API parameter values that are decorated as "sensitive" in the API will not 16658 // be included in the string output. The member name will be present, but the 16659 // value will be replaced with "sensitive". 16660 func (s PutAccountSettingDefaultInput) String() string { 16661 return awsutil.Prettify(s) 16662 } 16663 16664 // GoString returns the string representation. 16665 // 16666 // API parameter values that are decorated as "sensitive" in the API will not 16667 // be included in the string output. The member name will be present, but the 16668 // value will be replaced with "sensitive". 16669 func (s PutAccountSettingDefaultInput) GoString() string { 16670 return s.String() 16671 } 16672 16673 // Validate inspects the fields of the type to determine if they are valid. 16674 func (s *PutAccountSettingDefaultInput) Validate() error { 16675 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingDefaultInput"} 16676 if s.Name == nil { 16677 invalidParams.Add(request.NewErrParamRequired("Name")) 16678 } 16679 if s.Value == nil { 16680 invalidParams.Add(request.NewErrParamRequired("Value")) 16681 } 16682 16683 if invalidParams.Len() > 0 { 16684 return invalidParams 16685 } 16686 return nil 16687 } 16688 16689 // SetName sets the Name field's value. 16690 func (s *PutAccountSettingDefaultInput) SetName(v string) *PutAccountSettingDefaultInput { 16691 s.Name = &v 16692 return s 16693 } 16694 16695 // SetValue sets the Value field's value. 16696 func (s *PutAccountSettingDefaultInput) SetValue(v string) *PutAccountSettingDefaultInput { 16697 s.Value = &v 16698 return s 16699 } 16700 16701 type PutAccountSettingDefaultOutput struct { 16702 _ struct{} `type:"structure"` 16703 16704 // The current setting for a resource. 16705 Setting *Setting `locationName:"setting" type:"structure"` 16706 } 16707 16708 // String returns the string representation. 16709 // 16710 // API parameter values that are decorated as "sensitive" in the API will not 16711 // be included in the string output. The member name will be present, but the 16712 // value will be replaced with "sensitive". 16713 func (s PutAccountSettingDefaultOutput) String() string { 16714 return awsutil.Prettify(s) 16715 } 16716 16717 // GoString returns the string representation. 16718 // 16719 // API parameter values that are decorated as "sensitive" in the API will not 16720 // be included in the string output. The member name will be present, but the 16721 // value will be replaced with "sensitive". 16722 func (s PutAccountSettingDefaultOutput) GoString() string { 16723 return s.String() 16724 } 16725 16726 // SetSetting sets the Setting field's value. 16727 func (s *PutAccountSettingDefaultOutput) SetSetting(v *Setting) *PutAccountSettingDefaultOutput { 16728 s.Setting = v 16729 return s 16730 } 16731 16732 type PutAccountSettingInput struct { 16733 _ struct{} `type:"structure"` 16734 16735 // The Amazon ECS resource name for which to modify the account setting. If 16736 // serviceLongArnFormat is specified, the ARN for your Amazon ECS services is 16737 // affected. If taskLongArnFormat is specified, the ARN and resource ID for 16738 // your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, 16739 // the ARN and resource ID for your Amazon ECS container instances is affected. 16740 // If awsvpcTrunking is specified, the elastic network interface (ENI) limit 16741 // for your Amazon ECS container instances is affected. If containerInsights 16742 // is specified, the default setting for CloudWatch Container Insights for your 16743 // clusters is affected. 16744 // 16745 // Name is a required field 16746 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 16747 16748 // The ARN of the principal, which can be an IAM user, IAM role, or the root 16749 // user. If you specify the root user, it modifies the account setting for all 16750 // IAM users, IAM roles, and the root user of the account unless an IAM user 16751 // or role explicitly overrides these settings. If this field is omitted, the 16752 // setting is changed only for the authenticated user. 16753 // 16754 // Federated users assume the account setting of the root user and can't have 16755 // explicit account settings set for them. 16756 PrincipalArn *string `locationName:"principalArn" type:"string"` 16757 16758 // The account setting value for the specified principal ARN. Accepted values 16759 // are enabled and disabled. 16760 // 16761 // Value is a required field 16762 Value *string `locationName:"value" type:"string" required:"true"` 16763 } 16764 16765 // String returns the string representation. 16766 // 16767 // API parameter values that are decorated as "sensitive" in the API will not 16768 // be included in the string output. The member name will be present, but the 16769 // value will be replaced with "sensitive". 16770 func (s PutAccountSettingInput) String() string { 16771 return awsutil.Prettify(s) 16772 } 16773 16774 // GoString returns the string representation. 16775 // 16776 // API parameter values that are decorated as "sensitive" in the API will not 16777 // be included in the string output. The member name will be present, but the 16778 // value will be replaced with "sensitive". 16779 func (s PutAccountSettingInput) GoString() string { 16780 return s.String() 16781 } 16782 16783 // Validate inspects the fields of the type to determine if they are valid. 16784 func (s *PutAccountSettingInput) Validate() error { 16785 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingInput"} 16786 if s.Name == nil { 16787 invalidParams.Add(request.NewErrParamRequired("Name")) 16788 } 16789 if s.Value == nil { 16790 invalidParams.Add(request.NewErrParamRequired("Value")) 16791 } 16792 16793 if invalidParams.Len() > 0 { 16794 return invalidParams 16795 } 16796 return nil 16797 } 16798 16799 // SetName sets the Name field's value. 16800 func (s *PutAccountSettingInput) SetName(v string) *PutAccountSettingInput { 16801 s.Name = &v 16802 return s 16803 } 16804 16805 // SetPrincipalArn sets the PrincipalArn field's value. 16806 func (s *PutAccountSettingInput) SetPrincipalArn(v string) *PutAccountSettingInput { 16807 s.PrincipalArn = &v 16808 return s 16809 } 16810 16811 // SetValue sets the Value field's value. 16812 func (s *PutAccountSettingInput) SetValue(v string) *PutAccountSettingInput { 16813 s.Value = &v 16814 return s 16815 } 16816 16817 type PutAccountSettingOutput struct { 16818 _ struct{} `type:"structure"` 16819 16820 // The current account setting for a resource. 16821 Setting *Setting `locationName:"setting" type:"structure"` 16822 } 16823 16824 // String returns the string representation. 16825 // 16826 // API parameter values that are decorated as "sensitive" in the API will not 16827 // be included in the string output. The member name will be present, but the 16828 // value will be replaced with "sensitive". 16829 func (s PutAccountSettingOutput) String() string { 16830 return awsutil.Prettify(s) 16831 } 16832 16833 // GoString returns the string representation. 16834 // 16835 // API parameter values that are decorated as "sensitive" in the API will not 16836 // be included in the string output. The member name will be present, but the 16837 // value will be replaced with "sensitive". 16838 func (s PutAccountSettingOutput) GoString() string { 16839 return s.String() 16840 } 16841 16842 // SetSetting sets the Setting field's value. 16843 func (s *PutAccountSettingOutput) SetSetting(v *Setting) *PutAccountSettingOutput { 16844 s.Setting = v 16845 return s 16846 } 16847 16848 type PutAttributesInput struct { 16849 _ struct{} `type:"structure"` 16850 16851 // The attributes to apply to your resource. You can specify up to 10 custom 16852 // attributes per resource. You can specify up to 10 attributes in a single 16853 // call. 16854 // 16855 // Attributes is a required field 16856 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 16857 16858 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 16859 // the resource to apply attributes. If you do not specify a cluster, the default 16860 // cluster is assumed. 16861 Cluster *string `locationName:"cluster" type:"string"` 16862 } 16863 16864 // String returns the string representation. 16865 // 16866 // API parameter values that are decorated as "sensitive" in the API will not 16867 // be included in the string output. The member name will be present, but the 16868 // value will be replaced with "sensitive". 16869 func (s PutAttributesInput) String() string { 16870 return awsutil.Prettify(s) 16871 } 16872 16873 // GoString returns the string representation. 16874 // 16875 // API parameter values that are decorated as "sensitive" in the API will not 16876 // be included in the string output. The member name will be present, but the 16877 // value will be replaced with "sensitive". 16878 func (s PutAttributesInput) GoString() string { 16879 return s.String() 16880 } 16881 16882 // Validate inspects the fields of the type to determine if they are valid. 16883 func (s *PutAttributesInput) Validate() error { 16884 invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} 16885 if s.Attributes == nil { 16886 invalidParams.Add(request.NewErrParamRequired("Attributes")) 16887 } 16888 if s.Attributes != nil { 16889 for i, v := range s.Attributes { 16890 if v == nil { 16891 continue 16892 } 16893 if err := v.Validate(); err != nil { 16894 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 16895 } 16896 } 16897 } 16898 16899 if invalidParams.Len() > 0 { 16900 return invalidParams 16901 } 16902 return nil 16903 } 16904 16905 // SetAttributes sets the Attributes field's value. 16906 func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput { 16907 s.Attributes = v 16908 return s 16909 } 16910 16911 // SetCluster sets the Cluster field's value. 16912 func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput { 16913 s.Cluster = &v 16914 return s 16915 } 16916 16917 type PutAttributesOutput struct { 16918 _ struct{} `type:"structure"` 16919 16920 // The attributes applied to your resource. 16921 Attributes []*Attribute `locationName:"attributes" type:"list"` 16922 } 16923 16924 // String returns the string representation. 16925 // 16926 // API parameter values that are decorated as "sensitive" in the API will not 16927 // be included in the string output. The member name will be present, but the 16928 // value will be replaced with "sensitive". 16929 func (s PutAttributesOutput) String() string { 16930 return awsutil.Prettify(s) 16931 } 16932 16933 // GoString returns the string representation. 16934 // 16935 // API parameter values that are decorated as "sensitive" in the API will not 16936 // be included in the string output. The member name will be present, but the 16937 // value will be replaced with "sensitive". 16938 func (s PutAttributesOutput) GoString() string { 16939 return s.String() 16940 } 16941 16942 // SetAttributes sets the Attributes field's value. 16943 func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput { 16944 s.Attributes = v 16945 return s 16946 } 16947 16948 type PutClusterCapacityProvidersInput struct { 16949 _ struct{} `type:"structure"` 16950 16951 // The name of one or more capacity providers to associate with the cluster. 16952 // 16953 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 16954 // provider must already be created. New capacity providers can be created with 16955 // the CreateCapacityProvider API operation. 16956 // 16957 // To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 16958 // capacity providers. The Fargate capacity providers are available to all accounts 16959 // and only need to be associated with a cluster to be used. 16960 // 16961 // CapacityProviders is a required field 16962 CapacityProviders []*string `locationName:"capacityProviders" type:"list" required:"true"` 16963 16964 // The short name or full Amazon Resource Name (ARN) of the cluster to modify 16965 // the capacity provider settings for. If you do not specify a cluster, the 16966 // default cluster is assumed. 16967 // 16968 // Cluster is a required field 16969 Cluster *string `locationName:"cluster" type:"string" required:"true"` 16970 16971 // The capacity provider strategy to use by default for the cluster. 16972 // 16973 // When creating a service or running a task on a cluster, if no capacity provider 16974 // or launch type is specified then the default capacity provider strategy for 16975 // the cluster is used. 16976 // 16977 // A capacity provider strategy consists of one or more capacity providers along 16978 // with the base and weight to assign to them. A capacity provider must be associated 16979 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 16980 // API is used to associate a capacity provider with a cluster. Only capacity 16981 // providers with an ACTIVE or UPDATING status can be used. 16982 // 16983 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 16984 // provider must already be created. New capacity providers can be created with 16985 // the CreateCapacityProvider API operation. 16986 // 16987 // To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 16988 // capacity providers. The Fargate capacity providers are available to all accounts 16989 // and only need to be associated with a cluster to be used. 16990 // 16991 // DefaultCapacityProviderStrategy is a required field 16992 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list" required:"true"` 16993 } 16994 16995 // String returns the string representation. 16996 // 16997 // API parameter values that are decorated as "sensitive" in the API will not 16998 // be included in the string output. The member name will be present, but the 16999 // value will be replaced with "sensitive". 17000 func (s PutClusterCapacityProvidersInput) String() string { 17001 return awsutil.Prettify(s) 17002 } 17003 17004 // GoString returns the string representation. 17005 // 17006 // API parameter values that are decorated as "sensitive" in the API will not 17007 // be included in the string output. The member name will be present, but the 17008 // value will be replaced with "sensitive". 17009 func (s PutClusterCapacityProvidersInput) GoString() string { 17010 return s.String() 17011 } 17012 17013 // Validate inspects the fields of the type to determine if they are valid. 17014 func (s *PutClusterCapacityProvidersInput) Validate() error { 17015 invalidParams := request.ErrInvalidParams{Context: "PutClusterCapacityProvidersInput"} 17016 if s.CapacityProviders == nil { 17017 invalidParams.Add(request.NewErrParamRequired("CapacityProviders")) 17018 } 17019 if s.Cluster == nil { 17020 invalidParams.Add(request.NewErrParamRequired("Cluster")) 17021 } 17022 if s.DefaultCapacityProviderStrategy == nil { 17023 invalidParams.Add(request.NewErrParamRequired("DefaultCapacityProviderStrategy")) 17024 } 17025 if s.DefaultCapacityProviderStrategy != nil { 17026 for i, v := range s.DefaultCapacityProviderStrategy { 17027 if v == nil { 17028 continue 17029 } 17030 if err := v.Validate(); err != nil { 17031 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 17032 } 17033 } 17034 } 17035 17036 if invalidParams.Len() > 0 { 17037 return invalidParams 17038 } 17039 return nil 17040 } 17041 17042 // SetCapacityProviders sets the CapacityProviders field's value. 17043 func (s *PutClusterCapacityProvidersInput) SetCapacityProviders(v []*string) *PutClusterCapacityProvidersInput { 17044 s.CapacityProviders = v 17045 return s 17046 } 17047 17048 // SetCluster sets the Cluster field's value. 17049 func (s *PutClusterCapacityProvidersInput) SetCluster(v string) *PutClusterCapacityProvidersInput { 17050 s.Cluster = &v 17051 return s 17052 } 17053 17054 // SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 17055 func (s *PutClusterCapacityProvidersInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *PutClusterCapacityProvidersInput { 17056 s.DefaultCapacityProviderStrategy = v 17057 return s 17058 } 17059 17060 type PutClusterCapacityProvidersOutput struct { 17061 _ struct{} `type:"structure"` 17062 17063 // Details about the cluster. 17064 Cluster *Cluster `locationName:"cluster" type:"structure"` 17065 } 17066 17067 // String returns the string representation. 17068 // 17069 // API parameter values that are decorated as "sensitive" in the API will not 17070 // be included in the string output. The member name will be present, but the 17071 // value will be replaced with "sensitive". 17072 func (s PutClusterCapacityProvidersOutput) String() string { 17073 return awsutil.Prettify(s) 17074 } 17075 17076 // GoString returns the string representation. 17077 // 17078 // API parameter values that are decorated as "sensitive" in the API will not 17079 // be included in the string output. The member name will be present, but the 17080 // value will be replaced with "sensitive". 17081 func (s PutClusterCapacityProvidersOutput) GoString() string { 17082 return s.String() 17083 } 17084 17085 // SetCluster sets the Cluster field's value. 17086 func (s *PutClusterCapacityProvidersOutput) SetCluster(v *Cluster) *PutClusterCapacityProvidersOutput { 17087 s.Cluster = v 17088 return s 17089 } 17090 17091 type RegisterContainerInstanceInput struct { 17092 _ struct{} `type:"structure"` 17093 17094 // The container instance attributes that this container instance supports. 17095 Attributes []*Attribute `locationName:"attributes" type:"list"` 17096 17097 // The short name or full Amazon Resource Name (ARN) of the cluster with which 17098 // to register your container instance. If you do not specify a cluster, the 17099 // default cluster is assumed. 17100 Cluster *string `locationName:"cluster" type:"string"` 17101 17102 // The ARN of the container instance (if it was previously registered). 17103 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 17104 17105 // The instance identity document for the EC2 instance to register. This document 17106 // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ 17107 InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` 17108 17109 // The instance identity document signature for the EC2 instance to register. 17110 // This signature can be found by running the following command from the instance: 17111 // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ 17112 InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` 17113 17114 // The devices that are available on the container instance. The only supported 17115 // device type is a GPU. 17116 PlatformDevices []*PlatformDevice `locationName:"platformDevices" type:"list"` 17117 17118 // The metadata that you apply to the container instance to help you categorize 17119 // and organize them. Each tag consists of a key and an optional value, both 17120 // of which you define. 17121 // 17122 // The following basic restrictions apply to tags: 17123 // 17124 // * Maximum number of tags per resource - 50 17125 // 17126 // * For each resource, each tag key must be unique, and each tag key can 17127 // have only one value. 17128 // 17129 // * Maximum key length - 128 Unicode characters in UTF-8 17130 // 17131 // * Maximum value length - 256 Unicode characters in UTF-8 17132 // 17133 // * If your tagging schema is used across multiple services and resources, 17134 // remember that other services may have restrictions on allowed characters. 17135 // Generally allowed characters are: letters, numbers, and spaces representable 17136 // in UTF-8, and the following characters: + - = . _ : / @. 17137 // 17138 // * Tag keys and values are case-sensitive. 17139 // 17140 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17141 // as a prefix for either keys or values as it is reserved for Amazon Web 17142 // Services use. You cannot edit or delete tag keys or values with this prefix. 17143 // Tags with this prefix do not count against your tags per resource limit. 17144 Tags []*Tag `locationName:"tags" type:"list"` 17145 17146 // The resources available on the instance. 17147 TotalResources []*Resource `locationName:"totalResources" type:"list"` 17148 17149 // The version information for the Amazon ECS container agent and Docker daemon 17150 // running on the container instance. 17151 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 17152 } 17153 17154 // String returns the string representation. 17155 // 17156 // API parameter values that are decorated as "sensitive" in the API will not 17157 // be included in the string output. The member name will be present, but the 17158 // value will be replaced with "sensitive". 17159 func (s RegisterContainerInstanceInput) String() string { 17160 return awsutil.Prettify(s) 17161 } 17162 17163 // GoString returns the string representation. 17164 // 17165 // API parameter values that are decorated as "sensitive" in the API will not 17166 // be included in the string output. The member name will be present, but the 17167 // value will be replaced with "sensitive". 17168 func (s RegisterContainerInstanceInput) GoString() string { 17169 return s.String() 17170 } 17171 17172 // Validate inspects the fields of the type to determine if they are valid. 17173 func (s *RegisterContainerInstanceInput) Validate() error { 17174 invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} 17175 if s.Attributes != nil { 17176 for i, v := range s.Attributes { 17177 if v == nil { 17178 continue 17179 } 17180 if err := v.Validate(); err != nil { 17181 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 17182 } 17183 } 17184 } 17185 if s.PlatformDevices != nil { 17186 for i, v := range s.PlatformDevices { 17187 if v == nil { 17188 continue 17189 } 17190 if err := v.Validate(); err != nil { 17191 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformDevices", i), err.(request.ErrInvalidParams)) 17192 } 17193 } 17194 } 17195 if s.Tags != nil { 17196 for i, v := range s.Tags { 17197 if v == nil { 17198 continue 17199 } 17200 if err := v.Validate(); err != nil { 17201 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 17202 } 17203 } 17204 } 17205 17206 if invalidParams.Len() > 0 { 17207 return invalidParams 17208 } 17209 return nil 17210 } 17211 17212 // SetAttributes sets the Attributes field's value. 17213 func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput { 17214 s.Attributes = v 17215 return s 17216 } 17217 17218 // SetCluster sets the Cluster field's value. 17219 func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput { 17220 s.Cluster = &v 17221 return s 17222 } 17223 17224 // SetContainerInstanceArn sets the ContainerInstanceArn field's value. 17225 func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput { 17226 s.ContainerInstanceArn = &v 17227 return s 17228 } 17229 17230 // SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value. 17231 func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput { 17232 s.InstanceIdentityDocument = &v 17233 return s 17234 } 17235 17236 // SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value. 17237 func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput { 17238 s.InstanceIdentityDocumentSignature = &v 17239 return s 17240 } 17241 17242 // SetPlatformDevices sets the PlatformDevices field's value. 17243 func (s *RegisterContainerInstanceInput) SetPlatformDevices(v []*PlatformDevice) *RegisterContainerInstanceInput { 17244 s.PlatformDevices = v 17245 return s 17246 } 17247 17248 // SetTags sets the Tags field's value. 17249 func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput { 17250 s.Tags = v 17251 return s 17252 } 17253 17254 // SetTotalResources sets the TotalResources field's value. 17255 func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput { 17256 s.TotalResources = v 17257 return s 17258 } 17259 17260 // SetVersionInfo sets the VersionInfo field's value. 17261 func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput { 17262 s.VersionInfo = v 17263 return s 17264 } 17265 17266 type RegisterContainerInstanceOutput struct { 17267 _ struct{} `type:"structure"` 17268 17269 // The container instance that was registered. 17270 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 17271 } 17272 17273 // String returns the string representation. 17274 // 17275 // API parameter values that are decorated as "sensitive" in the API will not 17276 // be included in the string output. The member name will be present, but the 17277 // value will be replaced with "sensitive". 17278 func (s RegisterContainerInstanceOutput) String() string { 17279 return awsutil.Prettify(s) 17280 } 17281 17282 // GoString returns the string representation. 17283 // 17284 // API parameter values that are decorated as "sensitive" in the API will not 17285 // be included in the string output. The member name will be present, but the 17286 // value will be replaced with "sensitive". 17287 func (s RegisterContainerInstanceOutput) GoString() string { 17288 return s.String() 17289 } 17290 17291 // SetContainerInstance sets the ContainerInstance field's value. 17292 func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput { 17293 s.ContainerInstance = v 17294 return s 17295 } 17296 17297 type RegisterTaskDefinitionInput struct { 17298 _ struct{} `type:"structure"` 17299 17300 // A list of container definitions in JSON format that describe the different 17301 // containers that make up your task. 17302 // 17303 // ContainerDefinitions is a required field 17304 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` 17305 17306 // The number of CPU units used by the task. It can be expressed as an integer 17307 // using CPU units, for example 1024, or as a string using vCPUs, for example 17308 // 1 vCPU or 1 vcpu, in a task definition. String values are converted to an 17309 // integer indicating the CPU units when the task definition is registered. 17310 // 17311 // Task-level CPU and memory parameters are ignored for Windows containers. 17312 // We recommend specifying container-level resources for Windows containers. 17313 // 17314 // If you are using the EC2 launch type, this field is optional. Supported values 17315 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 17316 // 17317 // If you are using the Fargate launch type, this field is required and you 17318 // must use one of the following values, which determines your range of supported 17319 // values for the memory parameter: 17320 // 17321 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 17322 // 2048 (2 GB) 17323 // 17324 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 17325 // (3 GB), 4096 (4 GB) 17326 // 17327 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 17328 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 17329 // 17330 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 17331 // (16 GB) in increments of 1024 (1 GB) 17332 // 17333 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 17334 // (30 GB) in increments of 1024 (1 GB) 17335 Cpu *string `locationName:"cpu" type:"string"` 17336 17337 // The amount of ephemeral storage to allocate for the task. This parameter 17338 // is used to expand the total amount of ephemeral storage available, beyond 17339 // the default amount, for tasks hosted on Fargate. For more information, see 17340 // Fargate task storage (https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html) 17341 // in the Amazon ECS User Guide for Fargate. 17342 // 17343 // This parameter is only supported for tasks hosted on Fargate using platform 17344 // version 1.4.0 or later. 17345 EphemeralStorage *EphemeralStorage `locationName:"ephemeralStorage" type:"structure"` 17346 17347 // The Amazon Resource Name (ARN) of the task execution role that grants the 17348 // Amazon ECS container agent permission to make Amazon Web Services API calls 17349 // on your behalf. The task execution IAM role is required depending on the 17350 // requirements of your task. For more information, see Amazon ECS task execution 17351 // IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) 17352 // in the Amazon Elastic Container Service Developer Guide. 17353 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 17354 17355 // You must specify a family for a task definition, which allows you to track 17356 // multiple versions of the same task definition. The family is used as a name 17357 // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, 17358 // underscores, and hyphens are allowed. 17359 // 17360 // Family is a required field 17361 Family *string `locationName:"family" type:"string" required:"true"` 17362 17363 // The Elastic Inference accelerators to use for the containers in the task. 17364 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 17365 17366 // The IPC resource namespace to use for the containers in the task. The valid 17367 // values are host, task, or none. If host is specified, then all containers 17368 // within the tasks that specified the host IPC mode on the same container instance 17369 // share the same IPC resources with the host Amazon EC2 instance. If task is 17370 // specified, all containers within the specified task share the same IPC resources. 17371 // If none is specified, then IPC resources within the containers of a task 17372 // are private and not shared with other containers in a task or on the container 17373 // instance. If no value is specified, then the IPC resource namespace sharing 17374 // depends on the Docker daemon setting on the container instance. For more 17375 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 17376 // in the Docker run reference. 17377 // 17378 // If the host IPC mode is used, be aware that there is a heightened risk of 17379 // undesired IPC namespace expose. For more information, see Docker security 17380 // (https://docs.docker.com/engine/security/security/). 17381 // 17382 // If you are setting namespaced kernel parameters using systemControls for 17383 // the containers in the task, the following will apply to your IPC resource 17384 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 17385 // in the Amazon Elastic Container Service Developer Guide. 17386 // 17387 // * For tasks that use the host IPC mode, IPC namespace related systemControls 17388 // are not supported. 17389 // 17390 // * For tasks that use the task IPC mode, IPC namespace related systemControls 17391 // will apply to all containers within a task. 17392 // 17393 // This parameter is not supported for Windows containers or tasks run on Fargate. 17394 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 17395 17396 // The amount of memory (in MiB) used by the task. It can be expressed as an 17397 // integer using MiB, for example 1024, or as a string using GB, for example 17398 // 1GB or 1 GB, in a task definition. String values are converted to an integer 17399 // indicating the MiB when the task definition is registered. 17400 // 17401 // Task-level CPU and memory parameters are ignored for Windows containers. 17402 // We recommend specifying container-level resources for Windows containers. 17403 // 17404 // If using the EC2 launch type, this field is optional. 17405 // 17406 // If using the Fargate launch type, this field is required and you must use 17407 // one of the following values, which determines your range of supported values 17408 // for the cpu parameter: 17409 // 17410 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 17411 // vCPU) 17412 // 17413 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 17414 // 512 (.5 vCPU) 17415 // 17416 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 17417 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 17418 // 17419 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 17420 // Available cpu values: 2048 (2 vCPU) 17421 // 17422 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 17423 // Available cpu values: 4096 (4 vCPU) 17424 Memory *string `locationName:"memory" type:"string"` 17425 17426 // The Docker networking mode to use for the containers in the task. The valid 17427 // values are none, bridge, awsvpc, and host. If no network mode is specified, 17428 // the default is bridge. 17429 // 17430 // For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For 17431 // Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. 17432 // For Amazon ECS tasks on Amazon EC2 Windows instances, <default> or awsvpc 17433 // can be used. If the network mode is set to none, you cannot specify port 17434 // mappings in your container definitions, and the tasks containers do not have 17435 // external connectivity. The host and awsvpc network modes offer the highest 17436 // networking performance for containers because they use the EC2 network stack 17437 // instead of the virtualized network stack provided by the bridge mode. 17438 // 17439 // With the host and awsvpc network modes, exposed container ports are mapped 17440 // directly to the corresponding host port (for the host network mode) or the 17441 // attached elastic network interface port (for the awsvpc network mode), so 17442 // you cannot take advantage of dynamic host port mappings. 17443 // 17444 // When using the host network mode, you should not run containers using the 17445 // root user (UID 0). It is considered best practice to use a non-root user. 17446 // 17447 // If the network mode is awsvpc, the task is allocated an elastic network interface, 17448 // and you must specify a NetworkConfiguration value when you create a service 17449 // or run a task with the task definition. For more information, see Task Networking 17450 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 17451 // in the Amazon Elastic Container Service Developer Guide. 17452 // 17453 // If the network mode is host, you cannot run multiple instantiations of the 17454 // same task on a single container instance when port mappings are used. 17455 // 17456 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 17457 // in the Docker run reference. 17458 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 17459 17460 // The process namespace to use for the containers in the task. The valid values 17461 // are host or task. If host is specified, then all containers within the tasks 17462 // that specified the host PID mode on the same container instance share the 17463 // same process namespace with the host Amazon EC2 instance. If task is specified, 17464 // all containers within the specified task share the same process namespace. 17465 // If no value is specified, the default is a private namespace. For more information, 17466 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 17467 // in the Docker run reference. 17468 // 17469 // If the host PID mode is used, be aware that there is a heightened risk of 17470 // undesired process namespace expose. For more information, see Docker security 17471 // (https://docs.docker.com/engine/security/security/). 17472 // 17473 // This parameter is not supported for Windows containers or tasks run on Fargate. 17474 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 17475 17476 // An array of placement constraint objects to use for the task. You can specify 17477 // a maximum of 10 constraints per task (this limit includes constraints in 17478 // the task definition and those specified at runtime). 17479 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 17480 17481 // The configuration details for the App Mesh proxy. 17482 // 17483 // For tasks hosted on Amazon EC2 instances, the container instances require 17484 // at least version 1.26.0 of the container agent and at least version 1.26.0-1 17485 // of the ecs-init package to enable a proxy configuration. If your container 17486 // instances are launched from the Amazon ECS-optimized AMI version 20190301 17487 // or later, then they contain the required versions of the container agent 17488 // and ecs-init. For more information, see Amazon ECS-optimized AMI versions 17489 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-versions.html) 17490 // in the Amazon Elastic Container Service Developer Guide. 17491 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 17492 17493 // The task launch type that Amazon ECS should validate the task definition 17494 // against. A client exception is returned if the task definition doesn't validate 17495 // against the compatibilities specified. If no value is specified, the parameter 17496 // is omitted from the response. 17497 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 17498 17499 // The metadata that you apply to the task definition to help you categorize 17500 // and organize them. Each tag consists of a key and an optional value, both 17501 // of which you define. 17502 // 17503 // The following basic restrictions apply to tags: 17504 // 17505 // * Maximum number of tags per resource - 50 17506 // 17507 // * For each resource, each tag key must be unique, and each tag key can 17508 // have only one value. 17509 // 17510 // * Maximum key length - 128 Unicode characters in UTF-8 17511 // 17512 // * Maximum value length - 256 Unicode characters in UTF-8 17513 // 17514 // * If your tagging schema is used across multiple services and resources, 17515 // remember that other services may have restrictions on allowed characters. 17516 // Generally allowed characters are: letters, numbers, and spaces representable 17517 // in UTF-8, and the following characters: + - = . _ : / @. 17518 // 17519 // * Tag keys and values are case-sensitive. 17520 // 17521 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17522 // as a prefix for either keys or values as it is reserved for Amazon Web 17523 // Services use. You cannot edit or delete tag keys or values with this prefix. 17524 // Tags with this prefix do not count against your tags per resource limit. 17525 Tags []*Tag `locationName:"tags" type:"list"` 17526 17527 // The short name or full Amazon Resource Name (ARN) of the IAM role that containers 17528 // in this task can assume. All containers in this task are granted the permissions 17529 // that are specified in this role. For more information, see IAM Roles for 17530 // Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 17531 // in the Amazon Elastic Container Service Developer Guide. 17532 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 17533 17534 // A list of volume definitions in JSON format that containers in your task 17535 // may use. 17536 Volumes []*Volume `locationName:"volumes" type:"list"` 17537 } 17538 17539 // String returns the string representation. 17540 // 17541 // API parameter values that are decorated as "sensitive" in the API will not 17542 // be included in the string output. The member name will be present, but the 17543 // value will be replaced with "sensitive". 17544 func (s RegisterTaskDefinitionInput) String() string { 17545 return awsutil.Prettify(s) 17546 } 17547 17548 // GoString returns the string representation. 17549 // 17550 // API parameter values that are decorated as "sensitive" in the API will not 17551 // be included in the string output. The member name will be present, but the 17552 // value will be replaced with "sensitive". 17553 func (s RegisterTaskDefinitionInput) GoString() string { 17554 return s.String() 17555 } 17556 17557 // Validate inspects the fields of the type to determine if they are valid. 17558 func (s *RegisterTaskDefinitionInput) Validate() error { 17559 invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} 17560 if s.ContainerDefinitions == nil { 17561 invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) 17562 } 17563 if s.Family == nil { 17564 invalidParams.Add(request.NewErrParamRequired("Family")) 17565 } 17566 if s.ContainerDefinitions != nil { 17567 for i, v := range s.ContainerDefinitions { 17568 if v == nil { 17569 continue 17570 } 17571 if err := v.Validate(); err != nil { 17572 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) 17573 } 17574 } 17575 } 17576 if s.EphemeralStorage != nil { 17577 if err := s.EphemeralStorage.Validate(); err != nil { 17578 invalidParams.AddNested("EphemeralStorage", err.(request.ErrInvalidParams)) 17579 } 17580 } 17581 if s.InferenceAccelerators != nil { 17582 for i, v := range s.InferenceAccelerators { 17583 if v == nil { 17584 continue 17585 } 17586 if err := v.Validate(); err != nil { 17587 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InferenceAccelerators", i), err.(request.ErrInvalidParams)) 17588 } 17589 } 17590 } 17591 if s.ProxyConfiguration != nil { 17592 if err := s.ProxyConfiguration.Validate(); err != nil { 17593 invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) 17594 } 17595 } 17596 if s.Tags != nil { 17597 for i, v := range s.Tags { 17598 if v == nil { 17599 continue 17600 } 17601 if err := v.Validate(); err != nil { 17602 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 17603 } 17604 } 17605 } 17606 if s.Volumes != nil { 17607 for i, v := range s.Volumes { 17608 if v == nil { 17609 continue 17610 } 17611 if err := v.Validate(); err != nil { 17612 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) 17613 } 17614 } 17615 } 17616 17617 if invalidParams.Len() > 0 { 17618 return invalidParams 17619 } 17620 return nil 17621 } 17622 17623 // SetContainerDefinitions sets the ContainerDefinitions field's value. 17624 func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput { 17625 s.ContainerDefinitions = v 17626 return s 17627 } 17628 17629 // SetCpu sets the Cpu field's value. 17630 func (s *RegisterTaskDefinitionInput) SetCpu(v string) *RegisterTaskDefinitionInput { 17631 s.Cpu = &v 17632 return s 17633 } 17634 17635 // SetEphemeralStorage sets the EphemeralStorage field's value. 17636 func (s *RegisterTaskDefinitionInput) SetEphemeralStorage(v *EphemeralStorage) *RegisterTaskDefinitionInput { 17637 s.EphemeralStorage = v 17638 return s 17639 } 17640 17641 // SetExecutionRoleArn sets the ExecutionRoleArn field's value. 17642 func (s *RegisterTaskDefinitionInput) SetExecutionRoleArn(v string) *RegisterTaskDefinitionInput { 17643 s.ExecutionRoleArn = &v 17644 return s 17645 } 17646 17647 // SetFamily sets the Family field's value. 17648 func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput { 17649 s.Family = &v 17650 return s 17651 } 17652 17653 // SetInferenceAccelerators sets the InferenceAccelerators field's value. 17654 func (s *RegisterTaskDefinitionInput) SetInferenceAccelerators(v []*InferenceAccelerator) *RegisterTaskDefinitionInput { 17655 s.InferenceAccelerators = v 17656 return s 17657 } 17658 17659 // SetIpcMode sets the IpcMode field's value. 17660 func (s *RegisterTaskDefinitionInput) SetIpcMode(v string) *RegisterTaskDefinitionInput { 17661 s.IpcMode = &v 17662 return s 17663 } 17664 17665 // SetMemory sets the Memory field's value. 17666 func (s *RegisterTaskDefinitionInput) SetMemory(v string) *RegisterTaskDefinitionInput { 17667 s.Memory = &v 17668 return s 17669 } 17670 17671 // SetNetworkMode sets the NetworkMode field's value. 17672 func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput { 17673 s.NetworkMode = &v 17674 return s 17675 } 17676 17677 // SetPidMode sets the PidMode field's value. 17678 func (s *RegisterTaskDefinitionInput) SetPidMode(v string) *RegisterTaskDefinitionInput { 17679 s.PidMode = &v 17680 return s 17681 } 17682 17683 // SetPlacementConstraints sets the PlacementConstraints field's value. 17684 func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput { 17685 s.PlacementConstraints = v 17686 return s 17687 } 17688 17689 // SetProxyConfiguration sets the ProxyConfiguration field's value. 17690 func (s *RegisterTaskDefinitionInput) SetProxyConfiguration(v *ProxyConfiguration) *RegisterTaskDefinitionInput { 17691 s.ProxyConfiguration = v 17692 return s 17693 } 17694 17695 // SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 17696 func (s *RegisterTaskDefinitionInput) SetRequiresCompatibilities(v []*string) *RegisterTaskDefinitionInput { 17697 s.RequiresCompatibilities = v 17698 return s 17699 } 17700 17701 // SetTags sets the Tags field's value. 17702 func (s *RegisterTaskDefinitionInput) SetTags(v []*Tag) *RegisterTaskDefinitionInput { 17703 s.Tags = v 17704 return s 17705 } 17706 17707 // SetTaskRoleArn sets the TaskRoleArn field's value. 17708 func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput { 17709 s.TaskRoleArn = &v 17710 return s 17711 } 17712 17713 // SetVolumes sets the Volumes field's value. 17714 func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput { 17715 s.Volumes = v 17716 return s 17717 } 17718 17719 type RegisterTaskDefinitionOutput struct { 17720 _ struct{} `type:"structure"` 17721 17722 // The list of tags associated with the task definition. 17723 Tags []*Tag `locationName:"tags" type:"list"` 17724 17725 // The full description of the registered task definition. 17726 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 17727 } 17728 17729 // String returns the string representation. 17730 // 17731 // API parameter values that are decorated as "sensitive" in the API will not 17732 // be included in the string output. The member name will be present, but the 17733 // value will be replaced with "sensitive". 17734 func (s RegisterTaskDefinitionOutput) String() string { 17735 return awsutil.Prettify(s) 17736 } 17737 17738 // GoString returns the string representation. 17739 // 17740 // API parameter values that are decorated as "sensitive" in the API will not 17741 // be included in the string output. The member name will be present, but the 17742 // value will be replaced with "sensitive". 17743 func (s RegisterTaskDefinitionOutput) GoString() string { 17744 return s.String() 17745 } 17746 17747 // SetTags sets the Tags field's value. 17748 func (s *RegisterTaskDefinitionOutput) SetTags(v []*Tag) *RegisterTaskDefinitionOutput { 17749 s.Tags = v 17750 return s 17751 } 17752 17753 // SetTaskDefinition sets the TaskDefinition field's value. 17754 func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput { 17755 s.TaskDefinition = v 17756 return s 17757 } 17758 17759 // The repository credentials for private registry authentication. 17760 type RepositoryCredentials struct { 17761 _ struct{} `type:"structure"` 17762 17763 // The Amazon Resource Name (ARN) of the secret containing the private repository 17764 // credentials. 17765 // 17766 // When you are using the Amazon ECS API, CLI, or Amazon Web Services SDK, if 17767 // the secret exists in the same Region as the task that you are launching then 17768 // you can use either the full ARN or the name of the secret. When you are using 17769 // the Amazon Web Services Management Console, you must specify the full ARN 17770 // of the secret. 17771 // 17772 // CredentialsParameter is a required field 17773 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 17774 } 17775 17776 // String returns the string representation. 17777 // 17778 // API parameter values that are decorated as "sensitive" in the API will not 17779 // be included in the string output. The member name will be present, but the 17780 // value will be replaced with "sensitive". 17781 func (s RepositoryCredentials) String() string { 17782 return awsutil.Prettify(s) 17783 } 17784 17785 // GoString returns the string representation. 17786 // 17787 // API parameter values that are decorated as "sensitive" in the API will not 17788 // be included in the string output. The member name will be present, but the 17789 // value will be replaced with "sensitive". 17790 func (s RepositoryCredentials) GoString() string { 17791 return s.String() 17792 } 17793 17794 // Validate inspects the fields of the type to determine if they are valid. 17795 func (s *RepositoryCredentials) Validate() error { 17796 invalidParams := request.ErrInvalidParams{Context: "RepositoryCredentials"} 17797 if s.CredentialsParameter == nil { 17798 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 17799 } 17800 17801 if invalidParams.Len() > 0 { 17802 return invalidParams 17803 } 17804 return nil 17805 } 17806 17807 // SetCredentialsParameter sets the CredentialsParameter field's value. 17808 func (s *RepositoryCredentials) SetCredentialsParameter(v string) *RepositoryCredentials { 17809 s.CredentialsParameter = &v 17810 return s 17811 } 17812 17813 // Describes the resources available for a container instance. 17814 type Resource struct { 17815 _ struct{} `type:"structure"` 17816 17817 // When the doubleValue type is set, the value of the resource must be a double 17818 // precision floating-point type. 17819 DoubleValue *float64 `locationName:"doubleValue" type:"double"` 17820 17821 // When the integerValue type is set, the value of the resource must be an integer. 17822 IntegerValue *int64 `locationName:"integerValue" type:"integer"` 17823 17824 // When the longValue type is set, the value of the resource must be an extended 17825 // precision floating-point type. 17826 LongValue *int64 `locationName:"longValue" type:"long"` 17827 17828 // The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined 17829 // resource. 17830 Name *string `locationName:"name" type:"string"` 17831 17832 // When the stringSetValue type is set, the value of the resource must be a 17833 // string type. 17834 StringSetValue []*string `locationName:"stringSetValue" type:"list"` 17835 17836 // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. 17837 Type *string `locationName:"type" type:"string"` 17838 } 17839 17840 // String returns the string representation. 17841 // 17842 // API parameter values that are decorated as "sensitive" in the API will not 17843 // be included in the string output. The member name will be present, but the 17844 // value will be replaced with "sensitive". 17845 func (s Resource) String() string { 17846 return awsutil.Prettify(s) 17847 } 17848 17849 // GoString returns the string representation. 17850 // 17851 // API parameter values that are decorated as "sensitive" in the API will not 17852 // be included in the string output. The member name will be present, but the 17853 // value will be replaced with "sensitive". 17854 func (s Resource) GoString() string { 17855 return s.String() 17856 } 17857 17858 // SetDoubleValue sets the DoubleValue field's value. 17859 func (s *Resource) SetDoubleValue(v float64) *Resource { 17860 s.DoubleValue = &v 17861 return s 17862 } 17863 17864 // SetIntegerValue sets the IntegerValue field's value. 17865 func (s *Resource) SetIntegerValue(v int64) *Resource { 17866 s.IntegerValue = &v 17867 return s 17868 } 17869 17870 // SetLongValue sets the LongValue field's value. 17871 func (s *Resource) SetLongValue(v int64) *Resource { 17872 s.LongValue = &v 17873 return s 17874 } 17875 17876 // SetName sets the Name field's value. 17877 func (s *Resource) SetName(v string) *Resource { 17878 s.Name = &v 17879 return s 17880 } 17881 17882 // SetStringSetValue sets the StringSetValue field's value. 17883 func (s *Resource) SetStringSetValue(v []*string) *Resource { 17884 s.StringSetValue = v 17885 return s 17886 } 17887 17888 // SetType sets the Type field's value. 17889 func (s *Resource) SetType(v string) *Resource { 17890 s.Type = &v 17891 return s 17892 } 17893 17894 // The specified resource is in-use and cannot be removed. 17895 type ResourceInUseException struct { 17896 _ struct{} `type:"structure"` 17897 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17898 17899 Message_ *string `locationName:"message" type:"string"` 17900 } 17901 17902 // String returns the string representation. 17903 // 17904 // API parameter values that are decorated as "sensitive" in the API will not 17905 // be included in the string output. The member name will be present, but the 17906 // value will be replaced with "sensitive". 17907 func (s ResourceInUseException) String() string { 17908 return awsutil.Prettify(s) 17909 } 17910 17911 // GoString returns the string representation. 17912 // 17913 // API parameter values that are decorated as "sensitive" in the API will not 17914 // be included in the string output. The member name will be present, but the 17915 // value will be replaced with "sensitive". 17916 func (s ResourceInUseException) GoString() string { 17917 return s.String() 17918 } 17919 17920 func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 17921 return &ResourceInUseException{ 17922 RespMetadata: v, 17923 } 17924 } 17925 17926 // Code returns the exception type name. 17927 func (s *ResourceInUseException) Code() string { 17928 return "ResourceInUseException" 17929 } 17930 17931 // Message returns the exception's message. 17932 func (s *ResourceInUseException) Message() string { 17933 if s.Message_ != nil { 17934 return *s.Message_ 17935 } 17936 return "" 17937 } 17938 17939 // OrigErr always returns nil, satisfies awserr.Error interface. 17940 func (s *ResourceInUseException) OrigErr() error { 17941 return nil 17942 } 17943 17944 func (s *ResourceInUseException) Error() string { 17945 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17946 } 17947 17948 // Status code returns the HTTP status code for the request's response error. 17949 func (s *ResourceInUseException) StatusCode() int { 17950 return s.RespMetadata.StatusCode 17951 } 17952 17953 // RequestID returns the service's response RequestID for request. 17954 func (s *ResourceInUseException) RequestID() string { 17955 return s.RespMetadata.RequestID 17956 } 17957 17958 // The specified resource could not be found. 17959 type ResourceNotFoundException struct { 17960 _ struct{} `type:"structure"` 17961 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17962 17963 Message_ *string `locationName:"message" type:"string"` 17964 } 17965 17966 // String returns the string representation. 17967 // 17968 // API parameter values that are decorated as "sensitive" in the API will not 17969 // be included in the string output. The member name will be present, but the 17970 // value will be replaced with "sensitive". 17971 func (s ResourceNotFoundException) String() string { 17972 return awsutil.Prettify(s) 17973 } 17974 17975 // GoString returns the string representation. 17976 // 17977 // API parameter values that are decorated as "sensitive" in the API will not 17978 // be included in the string output. The member name will be present, but the 17979 // value will be replaced with "sensitive". 17980 func (s ResourceNotFoundException) GoString() string { 17981 return s.String() 17982 } 17983 17984 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 17985 return &ResourceNotFoundException{ 17986 RespMetadata: v, 17987 } 17988 } 17989 17990 // Code returns the exception type name. 17991 func (s *ResourceNotFoundException) Code() string { 17992 return "ResourceNotFoundException" 17993 } 17994 17995 // Message returns the exception's message. 17996 func (s *ResourceNotFoundException) Message() string { 17997 if s.Message_ != nil { 17998 return *s.Message_ 17999 } 18000 return "" 18001 } 18002 18003 // OrigErr always returns nil, satisfies awserr.Error interface. 18004 func (s *ResourceNotFoundException) OrigErr() error { 18005 return nil 18006 } 18007 18008 func (s *ResourceNotFoundException) Error() string { 18009 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 18010 } 18011 18012 // Status code returns the HTTP status code for the request's response error. 18013 func (s *ResourceNotFoundException) StatusCode() int { 18014 return s.RespMetadata.StatusCode 18015 } 18016 18017 // RequestID returns the service's response RequestID for request. 18018 func (s *ResourceNotFoundException) RequestID() string { 18019 return s.RespMetadata.RequestID 18020 } 18021 18022 // The type and amount of a resource to assign to a container. The supported 18023 // resource types are GPUs and Elastic Inference accelerators. For more information, 18024 // see Working with GPUs on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 18025 // or Working with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 18026 // in the Amazon Elastic Container Service Developer Guide 18027 type ResourceRequirement struct { 18028 _ struct{} `type:"structure"` 18029 18030 // The type of resource to assign to a container. The supported values are GPU 18031 // or InferenceAccelerator. 18032 // 18033 // Type is a required field 18034 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 18035 18036 // The value for the specified resource type. 18037 // 18038 // If the GPU type is used, the value is the number of physical GPUs the Amazon 18039 // ECS container agent will reserve for the container. The number of GPUs reserved 18040 // for all containers in a task should not exceed the number of available GPUs 18041 // on the container instance the task is launched on. 18042 // 18043 // If the InferenceAccelerator type is used, the value should match the deviceName 18044 // for an InferenceAccelerator specified in a task definition. 18045 // 18046 // Value is a required field 18047 Value *string `locationName:"value" type:"string" required:"true"` 18048 } 18049 18050 // String returns the string representation. 18051 // 18052 // API parameter values that are decorated as "sensitive" in the API will not 18053 // be included in the string output. The member name will be present, but the 18054 // value will be replaced with "sensitive". 18055 func (s ResourceRequirement) String() string { 18056 return awsutil.Prettify(s) 18057 } 18058 18059 // GoString returns the string representation. 18060 // 18061 // API parameter values that are decorated as "sensitive" in the API will not 18062 // be included in the string output. The member name will be present, but the 18063 // value will be replaced with "sensitive". 18064 func (s ResourceRequirement) GoString() string { 18065 return s.String() 18066 } 18067 18068 // Validate inspects the fields of the type to determine if they are valid. 18069 func (s *ResourceRequirement) Validate() error { 18070 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 18071 if s.Type == nil { 18072 invalidParams.Add(request.NewErrParamRequired("Type")) 18073 } 18074 if s.Value == nil { 18075 invalidParams.Add(request.NewErrParamRequired("Value")) 18076 } 18077 18078 if invalidParams.Len() > 0 { 18079 return invalidParams 18080 } 18081 return nil 18082 } 18083 18084 // SetType sets the Type field's value. 18085 func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 18086 s.Type = &v 18087 return s 18088 } 18089 18090 // SetValue sets the Value field's value. 18091 func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 18092 s.Value = &v 18093 return s 18094 } 18095 18096 type RunTaskInput struct { 18097 _ struct{} `type:"structure"` 18098 18099 // The capacity provider strategy to use for the task. 18100 // 18101 // If a capacityProviderStrategy is specified, the launchType parameter must 18102 // be omitted. If no capacityProviderStrategy or launchType is specified, the 18103 // defaultCapacityProviderStrategy for the cluster is used. 18104 // 18105 // When you use cluster auto scaling, you must specify capacityProviderStrategy 18106 // and not launchType. 18107 // 18108 // A capacity provider strategy may contain a maximum of 6 capacity providers. 18109 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 18110 18111 // The short name or full Amazon Resource Name (ARN) of the cluster on which 18112 // to run your task. If you do not specify a cluster, the default cluster is 18113 // assumed. 18114 Cluster *string `locationName:"cluster" type:"string"` 18115 18116 // The number of instantiations of the specified task to place on your cluster. 18117 // You can specify up to 10 tasks per call. 18118 Count *int64 `locationName:"count" type:"integer"` 18119 18120 // Specifies whether to enable Amazon ECS managed tags for the task. For more 18121 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 18122 // in the Amazon Elastic Container Service Developer Guide. 18123 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 18124 18125 // Whether or not to enable the execute command functionality for the containers 18126 // in this task. If true, this enables execute command functionality on all 18127 // containers in the task. 18128 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 18129 18130 // The name of the task group to associate with the task. The default value 18131 // is the family name of the task definition (for example, family:my-family-name). 18132 Group *string `locationName:"group" type:"string"` 18133 18134 // The infrastructure on which to run your standalone task. For more information, 18135 // see Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 18136 // in the Amazon Elastic Container Service Developer Guide. 18137 // 18138 // The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure. 18139 // 18140 // Fargate Spot infrastructure is available for use but a capacity provider 18141 // strategy must be used. For more information, see Fargate capacity providers 18142 // (https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-capacity-providers.html) 18143 // in the Amazon ECS User Guide for Fargate. 18144 // 18145 // The EC2 launch type runs your tasks on Amazon EC2 instances registered to 18146 // your cluster. 18147 // 18148 // The EXTERNAL launch type runs your tasks on your on-premise server or virtual 18149 // machine (VM) capacity registered to your cluster. 18150 // 18151 // A task can use either a launch type or a capacity provider strategy. If a 18152 // launchType is specified, the capacityProviderStrategy parameter must be omitted. 18153 // 18154 // When you use cluster auto scaling, you must specify capacityProviderStrategy 18155 // and not launchType. 18156 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 18157 18158 // The network configuration for the task. This parameter is required for task 18159 // definitions that use the awsvpc network mode to receive their own elastic 18160 // network interface, and it is not supported for other network modes. For more 18161 // information, see Task networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 18162 // in the Amazon Elastic Container Service Developer Guide. 18163 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 18164 18165 // A list of container overrides in JSON format that specify the name of a container 18166 // in the specified task definition and the overrides it should receive. You 18167 // can override the default command for a container (that is specified in the 18168 // task definition or Docker image) with a command override. You can also override 18169 // existing environment variables (that are specified in the task definition 18170 // or Docker image) on a container or add new environment variables to it with 18171 // an environment override. 18172 // 18173 // A total of 8192 characters are allowed for overrides. This limit includes 18174 // the JSON formatting characters of the override structure. 18175 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 18176 18177 // An array of placement constraint objects to use for the task. You can specify 18178 // up to 10 constraints per task (including constraints in the task definition 18179 // and those specified at runtime). 18180 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 18181 18182 // The placement strategy objects to use for the task. You can specify a maximum 18183 // of 5 strategy rules per task. 18184 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 18185 18186 // The platform version the task should use. A platform version is only specified 18187 // for tasks hosted on Fargate. If one is not specified, the LATEST platform 18188 // version is used by default. For more information, see Fargate platform versions 18189 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 18190 // in the Amazon Elastic Container Service Developer Guide. 18191 PlatformVersion *string `locationName:"platformVersion" type:"string"` 18192 18193 // Specifies whether to propagate the tags from the task definition to the task. 18194 // If no value is specified, the tags are not propagated. Tags can only be propagated 18195 // to the task during task creation. To add tags to a task after task creation, 18196 // use the TagResource API action. 18197 // 18198 // An error will be received if you specify the SERVICE option when running 18199 // a task. 18200 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 18201 18202 // The reference ID to use for the task. The reference ID can have a maximum 18203 // length of 1024 characters. 18204 ReferenceId *string `locationName:"referenceId" type:"string"` 18205 18206 // An optional tag specified when a task is started. For example, if you automatically 18207 // trigger a task to run a batch process job, you could apply a unique identifier 18208 // for that job to your task with the startedBy parameter. You can then identify 18209 // which tasks belong to that job by filtering the results of a ListTasks call 18210 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 18211 // hyphens, and underscores are allowed. 18212 // 18213 // If a task is started by an Amazon ECS service, then the startedBy parameter 18214 // contains the deployment ID of the service that starts it. 18215 StartedBy *string `locationName:"startedBy" type:"string"` 18216 18217 // The metadata that you apply to the task to help you categorize and organize 18218 // them. Each tag consists of a key and an optional value, both of which you 18219 // define. 18220 // 18221 // The following basic restrictions apply to tags: 18222 // 18223 // * Maximum number of tags per resource - 50 18224 // 18225 // * For each resource, each tag key must be unique, and each tag key can 18226 // have only one value. 18227 // 18228 // * Maximum key length - 128 Unicode characters in UTF-8 18229 // 18230 // * Maximum value length - 256 Unicode characters in UTF-8 18231 // 18232 // * If your tagging schema is used across multiple services and resources, 18233 // remember that other services may have restrictions on allowed characters. 18234 // Generally allowed characters are: letters, numbers, and spaces representable 18235 // in UTF-8, and the following characters: + - = . _ : / @. 18236 // 18237 // * Tag keys and values are case-sensitive. 18238 // 18239 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 18240 // as a prefix for either keys or values as it is reserved for Amazon Web 18241 // Services use. You cannot edit or delete tag keys or values with this prefix. 18242 // Tags with this prefix do not count against your tags per resource limit. 18243 Tags []*Tag `locationName:"tags" type:"list"` 18244 18245 // The family and revision (family:revision) or full ARN of the task definition 18246 // to run. If a revision is not specified, the latest ACTIVE revision is used. 18247 // 18248 // TaskDefinition is a required field 18249 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 18250 } 18251 18252 // String returns the string representation. 18253 // 18254 // API parameter values that are decorated as "sensitive" in the API will not 18255 // be included in the string output. The member name will be present, but the 18256 // value will be replaced with "sensitive". 18257 func (s RunTaskInput) String() string { 18258 return awsutil.Prettify(s) 18259 } 18260 18261 // GoString returns the string representation. 18262 // 18263 // API parameter values that are decorated as "sensitive" in the API will not 18264 // be included in the string output. The member name will be present, but the 18265 // value will be replaced with "sensitive". 18266 func (s RunTaskInput) GoString() string { 18267 return s.String() 18268 } 18269 18270 // Validate inspects the fields of the type to determine if they are valid. 18271 func (s *RunTaskInput) Validate() error { 18272 invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} 18273 if s.TaskDefinition == nil { 18274 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 18275 } 18276 if s.CapacityProviderStrategy != nil { 18277 for i, v := range s.CapacityProviderStrategy { 18278 if v == nil { 18279 continue 18280 } 18281 if err := v.Validate(); err != nil { 18282 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 18283 } 18284 } 18285 } 18286 if s.NetworkConfiguration != nil { 18287 if err := s.NetworkConfiguration.Validate(); err != nil { 18288 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 18289 } 18290 } 18291 if s.Overrides != nil { 18292 if err := s.Overrides.Validate(); err != nil { 18293 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 18294 } 18295 } 18296 if s.Tags != nil { 18297 for i, v := range s.Tags { 18298 if v == nil { 18299 continue 18300 } 18301 if err := v.Validate(); err != nil { 18302 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 18303 } 18304 } 18305 } 18306 18307 if invalidParams.Len() > 0 { 18308 return invalidParams 18309 } 18310 return nil 18311 } 18312 18313 // SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 18314 func (s *RunTaskInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *RunTaskInput { 18315 s.CapacityProviderStrategy = v 18316 return s 18317 } 18318 18319 // SetCluster sets the Cluster field's value. 18320 func (s *RunTaskInput) SetCluster(v string) *RunTaskInput { 18321 s.Cluster = &v 18322 return s 18323 } 18324 18325 // SetCount sets the Count field's value. 18326 func (s *RunTaskInput) SetCount(v int64) *RunTaskInput { 18327 s.Count = &v 18328 return s 18329 } 18330 18331 // SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 18332 func (s *RunTaskInput) SetEnableECSManagedTags(v bool) *RunTaskInput { 18333 s.EnableECSManagedTags = &v 18334 return s 18335 } 18336 18337 // SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 18338 func (s *RunTaskInput) SetEnableExecuteCommand(v bool) *RunTaskInput { 18339 s.EnableExecuteCommand = &v 18340 return s 18341 } 18342 18343 // SetGroup sets the Group field's value. 18344 func (s *RunTaskInput) SetGroup(v string) *RunTaskInput { 18345 s.Group = &v 18346 return s 18347 } 18348 18349 // SetLaunchType sets the LaunchType field's value. 18350 func (s *RunTaskInput) SetLaunchType(v string) *RunTaskInput { 18351 s.LaunchType = &v 18352 return s 18353 } 18354 18355 // SetNetworkConfiguration sets the NetworkConfiguration field's value. 18356 func (s *RunTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *RunTaskInput { 18357 s.NetworkConfiguration = v 18358 return s 18359 } 18360 18361 // SetOverrides sets the Overrides field's value. 18362 func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput { 18363 s.Overrides = v 18364 return s 18365 } 18366 18367 // SetPlacementConstraints sets the PlacementConstraints field's value. 18368 func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput { 18369 s.PlacementConstraints = v 18370 return s 18371 } 18372 18373 // SetPlacementStrategy sets the PlacementStrategy field's value. 18374 func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput { 18375 s.PlacementStrategy = v 18376 return s 18377 } 18378 18379 // SetPlatformVersion sets the PlatformVersion field's value. 18380 func (s *RunTaskInput) SetPlatformVersion(v string) *RunTaskInput { 18381 s.PlatformVersion = &v 18382 return s 18383 } 18384 18385 // SetPropagateTags sets the PropagateTags field's value. 18386 func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput { 18387 s.PropagateTags = &v 18388 return s 18389 } 18390 18391 // SetReferenceId sets the ReferenceId field's value. 18392 func (s *RunTaskInput) SetReferenceId(v string) *RunTaskInput { 18393 s.ReferenceId = &v 18394 return s 18395 } 18396 18397 // SetStartedBy sets the StartedBy field's value. 18398 func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { 18399 s.StartedBy = &v 18400 return s 18401 } 18402 18403 // SetTags sets the Tags field's value. 18404 func (s *RunTaskInput) SetTags(v []*Tag) *RunTaskInput { 18405 s.Tags = v 18406 return s 18407 } 18408 18409 // SetTaskDefinition sets the TaskDefinition field's value. 18410 func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput { 18411 s.TaskDefinition = &v 18412 return s 18413 } 18414 18415 type RunTaskOutput struct { 18416 _ struct{} `type:"structure"` 18417 18418 // Any failures associated with the call. 18419 Failures []*Failure `locationName:"failures" type:"list"` 18420 18421 // A full description of the tasks that were run. The tasks that were successfully 18422 // placed on your cluster are described here. 18423 Tasks []*Task `locationName:"tasks" type:"list"` 18424 } 18425 18426 // String returns the string representation. 18427 // 18428 // API parameter values that are decorated as "sensitive" in the API will not 18429 // be included in the string output. The member name will be present, but the 18430 // value will be replaced with "sensitive". 18431 func (s RunTaskOutput) String() string { 18432 return awsutil.Prettify(s) 18433 } 18434 18435 // GoString returns the string representation. 18436 // 18437 // API parameter values that are decorated as "sensitive" in the API will not 18438 // be included in the string output. The member name will be present, but the 18439 // value will be replaced with "sensitive". 18440 func (s RunTaskOutput) GoString() string { 18441 return s.String() 18442 } 18443 18444 // SetFailures sets the Failures field's value. 18445 func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput { 18446 s.Failures = v 18447 return s 18448 } 18449 18450 // SetTasks sets the Tasks field's value. 18451 func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { 18452 s.Tasks = v 18453 return s 18454 } 18455 18456 // A floating-point percentage of the desired number of tasks to place and keep 18457 // running in the task set. 18458 type Scale struct { 18459 _ struct{} `type:"structure"` 18460 18461 // The unit of measure for the scale value. 18462 Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"` 18463 18464 // The value, specified as a percent total of a service's desiredCount, to scale 18465 // the task set. Accepted values are numbers between 0 and 100. 18466 Value *float64 `locationName:"value" type:"double"` 18467 } 18468 18469 // String returns the string representation. 18470 // 18471 // API parameter values that are decorated as "sensitive" in the API will not 18472 // be included in the string output. The member name will be present, but the 18473 // value will be replaced with "sensitive". 18474 func (s Scale) String() string { 18475 return awsutil.Prettify(s) 18476 } 18477 18478 // GoString returns the string representation. 18479 // 18480 // API parameter values that are decorated as "sensitive" in the API will not 18481 // be included in the string output. The member name will be present, but the 18482 // value will be replaced with "sensitive". 18483 func (s Scale) GoString() string { 18484 return s.String() 18485 } 18486 18487 // SetUnit sets the Unit field's value. 18488 func (s *Scale) SetUnit(v string) *Scale { 18489 s.Unit = &v 18490 return s 18491 } 18492 18493 // SetValue sets the Value field's value. 18494 func (s *Scale) SetValue(v float64) *Scale { 18495 s.Value = &v 18496 return s 18497 } 18498 18499 // An object representing the secret to expose to your container. Secrets can 18500 // be exposed to a container in the following ways: 18501 // 18502 // * To inject sensitive data into your containers as environment variables, 18503 // use the secrets container definition parameter. 18504 // 18505 // * To reference sensitive information in the log configuration of a container, 18506 // use the secretOptions container definition parameter. 18507 // 18508 // For more information, see Specifying Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 18509 // in the Amazon Elastic Container Service Developer Guide. 18510 type Secret struct { 18511 _ struct{} `type:"structure"` 18512 18513 // The name of the secret. 18514 // 18515 // Name is a required field 18516 Name *string `locationName:"name" type:"string" required:"true"` 18517 18518 // The secret to expose to the container. The supported values are either the 18519 // full ARN of the Secrets Manager secret or the full ARN of the parameter in 18520 // the SSM Parameter Store. 18521 // 18522 // If the SSM Parameter Store parameter exists in the same Region as the task 18523 // you are launching, then you can use either the full ARN or name of the parameter. 18524 // If the parameter exists in a different Region, then the full ARN must be 18525 // specified. 18526 // 18527 // ValueFrom is a required field 18528 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 18529 } 18530 18531 // String returns the string representation. 18532 // 18533 // API parameter values that are decorated as "sensitive" in the API will not 18534 // be included in the string output. The member name will be present, but the 18535 // value will be replaced with "sensitive". 18536 func (s Secret) String() string { 18537 return awsutil.Prettify(s) 18538 } 18539 18540 // GoString returns the string representation. 18541 // 18542 // API parameter values that are decorated as "sensitive" in the API will not 18543 // be included in the string output. The member name will be present, but the 18544 // value will be replaced with "sensitive". 18545 func (s Secret) GoString() string { 18546 return s.String() 18547 } 18548 18549 // Validate inspects the fields of the type to determine if they are valid. 18550 func (s *Secret) Validate() error { 18551 invalidParams := request.ErrInvalidParams{Context: "Secret"} 18552 if s.Name == nil { 18553 invalidParams.Add(request.NewErrParamRequired("Name")) 18554 } 18555 if s.ValueFrom == nil { 18556 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 18557 } 18558 18559 if invalidParams.Len() > 0 { 18560 return invalidParams 18561 } 18562 return nil 18563 } 18564 18565 // SetName sets the Name field's value. 18566 func (s *Secret) SetName(v string) *Secret { 18567 s.Name = &v 18568 return s 18569 } 18570 18571 // SetValueFrom sets the ValueFrom field's value. 18572 func (s *Secret) SetValueFrom(v string) *Secret { 18573 s.ValueFrom = &v 18574 return s 18575 } 18576 18577 // These errors are usually caused by a server issue. 18578 type ServerException struct { 18579 _ struct{} `type:"structure"` 18580 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 18581 18582 Message_ *string `locationName:"message" type:"string"` 18583 } 18584 18585 // String returns the string representation. 18586 // 18587 // API parameter values that are decorated as "sensitive" in the API will not 18588 // be included in the string output. The member name will be present, but the 18589 // value will be replaced with "sensitive". 18590 func (s ServerException) String() string { 18591 return awsutil.Prettify(s) 18592 } 18593 18594 // GoString returns the string representation. 18595 // 18596 // API parameter values that are decorated as "sensitive" in the API will not 18597 // be included in the string output. The member name will be present, but the 18598 // value will be replaced with "sensitive". 18599 func (s ServerException) GoString() string { 18600 return s.String() 18601 } 18602 18603 func newErrorServerException(v protocol.ResponseMetadata) error { 18604 return &ServerException{ 18605 RespMetadata: v, 18606 } 18607 } 18608 18609 // Code returns the exception type name. 18610 func (s *ServerException) Code() string { 18611 return "ServerException" 18612 } 18613 18614 // Message returns the exception's message. 18615 func (s *ServerException) Message() string { 18616 if s.Message_ != nil { 18617 return *s.Message_ 18618 } 18619 return "" 18620 } 18621 18622 // OrigErr always returns nil, satisfies awserr.Error interface. 18623 func (s *ServerException) OrigErr() error { 18624 return nil 18625 } 18626 18627 func (s *ServerException) Error() string { 18628 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 18629 } 18630 18631 // Status code returns the HTTP status code for the request's response error. 18632 func (s *ServerException) StatusCode() int { 18633 return s.RespMetadata.StatusCode 18634 } 18635 18636 // RequestID returns the service's response RequestID for request. 18637 func (s *ServerException) RequestID() string { 18638 return s.RespMetadata.RequestID 18639 } 18640 18641 // Details on a service within a cluster 18642 type Service struct { 18643 _ struct{} `type:"structure"` 18644 18645 // The capacity provider strategy the service is using. When using the DescribeServices 18646 // API, this field is omitted if the service was created using a launch type. 18647 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 18648 18649 // The Amazon Resource Name (ARN) of the cluster that hosts the service. 18650 ClusterArn *string `locationName:"clusterArn" type:"string"` 18651 18652 // The Unix timestamp for when the service was created. 18653 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 18654 18655 // The principal that created the service. 18656 CreatedBy *string `locationName:"createdBy" type:"string"` 18657 18658 // Optional deployment parameters that control how many tasks run during the 18659 // deployment and the ordering of stopping and starting tasks. 18660 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 18661 18662 // The deployment controller type the service is using. When using the DescribeServices 18663 // API, this field is omitted if the service is using the ECS deployment controller 18664 // type. 18665 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 18666 18667 // The current state of deployments for the service. 18668 Deployments []*Deployment `locationName:"deployments" type:"list"` 18669 18670 // The desired number of instantiations of the task definition to keep running 18671 // on the service. This value is specified when the service is created with 18672 // CreateService, and it can be modified with UpdateService. 18673 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 18674 18675 // Specifies whether to enable Amazon ECS managed tags for the tasks in the 18676 // service. For more information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 18677 // in the Amazon Elastic Container Service Developer Guide. 18678 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 18679 18680 // Whether or not the execute command functionality is enabled for the service. 18681 // If true, the execute command functionality is enabled for all containers 18682 // in tasks as part of the service. 18683 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 18684 18685 // The event stream for your service. A maximum of 100 of the latest events 18686 // are displayed. 18687 Events []*ServiceEvent `locationName:"events" type:"list"` 18688 18689 // The period of time, in seconds, that the Amazon ECS service scheduler ignores 18690 // unhealthy Elastic Load Balancing target health checks after a task has first 18691 // started. 18692 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 18693 18694 // The launch type the service is using. When using the DescribeServices API, 18695 // this field is omitted if the service was created using a capacity provider 18696 // strategy. 18697 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 18698 18699 // A list of Elastic Load Balancing load balancer objects, containing the load 18700 // balancer name, the container name (as it appears in a container definition), 18701 // and the container port to access from the load balancer. 18702 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 18703 18704 // The VPC subnet and security group configuration for tasks that receive their 18705 // own elastic network interface by using the awsvpc networking mode. 18706 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 18707 18708 // The number of tasks in the cluster that are in the PENDING state. 18709 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 18710 18711 // The placement constraints for the tasks in the service. 18712 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 18713 18714 // The placement strategy that determines how tasks for the service are placed. 18715 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 18716 18717 // The platform version on which to run your service. A platform version is 18718 // only specified for tasks hosted on Fargate. If one is not specified, the 18719 // LATEST platform version is used by default. For more information, see Fargate 18720 // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 18721 // in the Amazon Elastic Container Service Developer Guide. 18722 PlatformVersion *string `locationName:"platformVersion" type:"string"` 18723 18724 // Specifies whether to propagate the tags from the task definition or the service 18725 // to the task. If no value is specified, the tags are not propagated. 18726 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 18727 18728 // The ARN of the IAM role associated with the service that allows the Amazon 18729 // ECS container agent to register container instances with an Elastic Load 18730 // Balancing load balancer. 18731 RoleArn *string `locationName:"roleArn" type:"string"` 18732 18733 // The number of tasks in the cluster that are in the RUNNING state. 18734 RunningCount *int64 `locationName:"runningCount" type:"integer"` 18735 18736 // The scheduling strategy to use for the service. For more information, see 18737 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 18738 // 18739 // There are two service scheduler strategies available: 18740 // 18741 // * REPLICA-The replica scheduling strategy places and maintains the desired 18742 // number of tasks across your cluster. By default, the service scheduler 18743 // spreads tasks across Availability Zones. You can use task placement strategies 18744 // and constraints to customize task placement decisions. 18745 // 18746 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 18747 // active container instance that meets all of the task placement constraints 18748 // that you specify in your cluster. The service scheduler also evaluates 18749 // the task placement constraints for running tasks and will stop tasks that 18750 // do not meet the placement constraints. Fargate tasks do not support the 18751 // DAEMON scheduling strategy. 18752 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 18753 18754 // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, 18755 // followed by the Region of the service, the Amazon Web Services account ID 18756 // of the service owner, the service namespace, and then the service name. For 18757 // example, arn:aws:ecs:region:012345678910:service/my-service. 18758 ServiceArn *string `locationName:"serviceArn" type:"string"` 18759 18760 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 18761 // underscores, and hyphens are allowed. Service names must be unique within 18762 // a cluster, but you can have similarly named services in multiple clusters 18763 // within a Region or across multiple Regions. 18764 ServiceName *string `locationName:"serviceName" type:"string"` 18765 18766 // The details of the service discovery registries to assign to this service. 18767 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 18768 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 18769 18770 // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. 18771 Status *string `locationName:"status" type:"string"` 18772 18773 // The metadata that you apply to the service to help you categorize and organize 18774 // them. Each tag consists of a key and an optional value, both of which you 18775 // define. 18776 // 18777 // The following basic restrictions apply to tags: 18778 // 18779 // * Maximum number of tags per resource - 50 18780 // 18781 // * For each resource, each tag key must be unique, and each tag key can 18782 // have only one value. 18783 // 18784 // * Maximum key length - 128 Unicode characters in UTF-8 18785 // 18786 // * Maximum value length - 256 Unicode characters in UTF-8 18787 // 18788 // * If your tagging schema is used across multiple services and resources, 18789 // remember that other services may have restrictions on allowed characters. 18790 // Generally allowed characters are: letters, numbers, and spaces representable 18791 // in UTF-8, and the following characters: + - = . _ : / @. 18792 // 18793 // * Tag keys and values are case-sensitive. 18794 // 18795 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 18796 // as a prefix for either keys or values as it is reserved for Amazon Web 18797 // Services use. You cannot edit or delete tag keys or values with this prefix. 18798 // Tags with this prefix do not count against your tags per resource limit. 18799 Tags []*Tag `locationName:"tags" type:"list"` 18800 18801 // The task definition to use for tasks in the service. This value is specified 18802 // when the service is created with CreateService, and it can be modified with 18803 // UpdateService. 18804 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 18805 18806 // Information about a set of Amazon ECS tasks in either an CodeDeploy or an 18807 // EXTERNAL deployment. An Amazon ECS task set includes details such as the 18808 // desired number of tasks, how many tasks are running, and whether the task 18809 // set serves production traffic. 18810 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 18811 } 18812 18813 // String 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 Service) String() string { 18819 return awsutil.Prettify(s) 18820 } 18821 18822 // GoString returns the string representation. 18823 // 18824 // API parameter values that are decorated as "sensitive" in the API will not 18825 // be included in the string output. The member name will be present, but the 18826 // value will be replaced with "sensitive". 18827 func (s Service) GoString() string { 18828 return s.String() 18829 } 18830 18831 // SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 18832 func (s *Service) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Service { 18833 s.CapacityProviderStrategy = v 18834 return s 18835 } 18836 18837 // SetClusterArn sets the ClusterArn field's value. 18838 func (s *Service) SetClusterArn(v string) *Service { 18839 s.ClusterArn = &v 18840 return s 18841 } 18842 18843 // SetCreatedAt sets the CreatedAt field's value. 18844 func (s *Service) SetCreatedAt(v time.Time) *Service { 18845 s.CreatedAt = &v 18846 return s 18847 } 18848 18849 // SetCreatedBy sets the CreatedBy field's value. 18850 func (s *Service) SetCreatedBy(v string) *Service { 18851 s.CreatedBy = &v 18852 return s 18853 } 18854 18855 // SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 18856 func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service { 18857 s.DeploymentConfiguration = v 18858 return s 18859 } 18860 18861 // SetDeploymentController sets the DeploymentController field's value. 18862 func (s *Service) SetDeploymentController(v *DeploymentController) *Service { 18863 s.DeploymentController = v 18864 return s 18865 } 18866 18867 // SetDeployments sets the Deployments field's value. 18868 func (s *Service) SetDeployments(v []*Deployment) *Service { 18869 s.Deployments = v 18870 return s 18871 } 18872 18873 // SetDesiredCount sets the DesiredCount field's value. 18874 func (s *Service) SetDesiredCount(v int64) *Service { 18875 s.DesiredCount = &v 18876 return s 18877 } 18878 18879 // SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 18880 func (s *Service) SetEnableECSManagedTags(v bool) *Service { 18881 s.EnableECSManagedTags = &v 18882 return s 18883 } 18884 18885 // SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 18886 func (s *Service) SetEnableExecuteCommand(v bool) *Service { 18887 s.EnableExecuteCommand = &v 18888 return s 18889 } 18890 18891 // SetEvents sets the Events field's value. 18892 func (s *Service) SetEvents(v []*ServiceEvent) *Service { 18893 s.Events = v 18894 return s 18895 } 18896 18897 // SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 18898 func (s *Service) SetHealthCheckGracePeriodSeconds(v int64) *Service { 18899 s.HealthCheckGracePeriodSeconds = &v 18900 return s 18901 } 18902 18903 // SetLaunchType sets the LaunchType field's value. 18904 func (s *Service) SetLaunchType(v string) *Service { 18905 s.LaunchType = &v 18906 return s 18907 } 18908 18909 // SetLoadBalancers sets the LoadBalancers field's value. 18910 func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service { 18911 s.LoadBalancers = v 18912 return s 18913 } 18914 18915 // SetNetworkConfiguration sets the NetworkConfiguration field's value. 18916 func (s *Service) SetNetworkConfiguration(v *NetworkConfiguration) *Service { 18917 s.NetworkConfiguration = v 18918 return s 18919 } 18920 18921 // SetPendingCount sets the PendingCount field's value. 18922 func (s *Service) SetPendingCount(v int64) *Service { 18923 s.PendingCount = &v 18924 return s 18925 } 18926 18927 // SetPlacementConstraints sets the PlacementConstraints field's value. 18928 func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service { 18929 s.PlacementConstraints = v 18930 return s 18931 } 18932 18933 // SetPlacementStrategy sets the PlacementStrategy field's value. 18934 func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service { 18935 s.PlacementStrategy = v 18936 return s 18937 } 18938 18939 // SetPlatformVersion sets the PlatformVersion field's value. 18940 func (s *Service) SetPlatformVersion(v string) *Service { 18941 s.PlatformVersion = &v 18942 return s 18943 } 18944 18945 // SetPropagateTags sets the PropagateTags field's value. 18946 func (s *Service) SetPropagateTags(v string) *Service { 18947 s.PropagateTags = &v 18948 return s 18949 } 18950 18951 // SetRoleArn sets the RoleArn field's value. 18952 func (s *Service) SetRoleArn(v string) *Service { 18953 s.RoleArn = &v 18954 return s 18955 } 18956 18957 // SetRunningCount sets the RunningCount field's value. 18958 func (s *Service) SetRunningCount(v int64) *Service { 18959 s.RunningCount = &v 18960 return s 18961 } 18962 18963 // SetSchedulingStrategy sets the SchedulingStrategy field's value. 18964 func (s *Service) SetSchedulingStrategy(v string) *Service { 18965 s.SchedulingStrategy = &v 18966 return s 18967 } 18968 18969 // SetServiceArn sets the ServiceArn field's value. 18970 func (s *Service) SetServiceArn(v string) *Service { 18971 s.ServiceArn = &v 18972 return s 18973 } 18974 18975 // SetServiceName sets the ServiceName field's value. 18976 func (s *Service) SetServiceName(v string) *Service { 18977 s.ServiceName = &v 18978 return s 18979 } 18980 18981 // SetServiceRegistries sets the ServiceRegistries field's value. 18982 func (s *Service) SetServiceRegistries(v []*ServiceRegistry) *Service { 18983 s.ServiceRegistries = v 18984 return s 18985 } 18986 18987 // SetStatus sets the Status field's value. 18988 func (s *Service) SetStatus(v string) *Service { 18989 s.Status = &v 18990 return s 18991 } 18992 18993 // SetTags sets the Tags field's value. 18994 func (s *Service) SetTags(v []*Tag) *Service { 18995 s.Tags = v 18996 return s 18997 } 18998 18999 // SetTaskDefinition sets the TaskDefinition field's value. 19000 func (s *Service) SetTaskDefinition(v string) *Service { 19001 s.TaskDefinition = &v 19002 return s 19003 } 19004 19005 // SetTaskSets sets the TaskSets field's value. 19006 func (s *Service) SetTaskSets(v []*TaskSet) *Service { 19007 s.TaskSets = v 19008 return s 19009 } 19010 19011 // Details on an event associated with a service. 19012 type ServiceEvent struct { 19013 _ struct{} `type:"structure"` 19014 19015 // The Unix timestamp for when the event was triggered. 19016 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 19017 19018 // The ID string of the event. 19019 Id *string `locationName:"id" type:"string"` 19020 19021 // The event message. 19022 Message *string `locationName:"message" type:"string"` 19023 } 19024 19025 // String returns the string representation. 19026 // 19027 // API parameter values that are decorated as "sensitive" in the API will not 19028 // be included in the string output. The member name will be present, but the 19029 // value will be replaced with "sensitive". 19030 func (s ServiceEvent) String() string { 19031 return awsutil.Prettify(s) 19032 } 19033 19034 // GoString returns the string representation. 19035 // 19036 // API parameter values that are decorated as "sensitive" in the API will not 19037 // be included in the string output. The member name will be present, but the 19038 // value will be replaced with "sensitive". 19039 func (s ServiceEvent) GoString() string { 19040 return s.String() 19041 } 19042 19043 // SetCreatedAt sets the CreatedAt field's value. 19044 func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent { 19045 s.CreatedAt = &v 19046 return s 19047 } 19048 19049 // SetId sets the Id field's value. 19050 func (s *ServiceEvent) SetId(v string) *ServiceEvent { 19051 s.Id = &v 19052 return s 19053 } 19054 19055 // SetMessage sets the Message field's value. 19056 func (s *ServiceEvent) SetMessage(v string) *ServiceEvent { 19057 s.Message = &v 19058 return s 19059 } 19060 19061 // The specified service is not active. You can't update a service that is inactive. 19062 // If you have previously deleted a service, you can re-create it with CreateService. 19063 type ServiceNotActiveException struct { 19064 _ struct{} `type:"structure"` 19065 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19066 19067 Message_ *string `locationName:"message" type:"string"` 19068 } 19069 19070 // String returns the string representation. 19071 // 19072 // API parameter values that are decorated as "sensitive" in the API will not 19073 // be included in the string output. The member name will be present, but the 19074 // value will be replaced with "sensitive". 19075 func (s ServiceNotActiveException) String() string { 19076 return awsutil.Prettify(s) 19077 } 19078 19079 // GoString returns the string representation. 19080 // 19081 // API parameter values that are decorated as "sensitive" in the API will not 19082 // be included in the string output. The member name will be present, but the 19083 // value will be replaced with "sensitive". 19084 func (s ServiceNotActiveException) GoString() string { 19085 return s.String() 19086 } 19087 19088 func newErrorServiceNotActiveException(v protocol.ResponseMetadata) error { 19089 return &ServiceNotActiveException{ 19090 RespMetadata: v, 19091 } 19092 } 19093 19094 // Code returns the exception type name. 19095 func (s *ServiceNotActiveException) Code() string { 19096 return "ServiceNotActiveException" 19097 } 19098 19099 // Message returns the exception's message. 19100 func (s *ServiceNotActiveException) Message() string { 19101 if s.Message_ != nil { 19102 return *s.Message_ 19103 } 19104 return "" 19105 } 19106 19107 // OrigErr always returns nil, satisfies awserr.Error interface. 19108 func (s *ServiceNotActiveException) OrigErr() error { 19109 return nil 19110 } 19111 19112 func (s *ServiceNotActiveException) Error() string { 19113 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19114 } 19115 19116 // Status code returns the HTTP status code for the request's response error. 19117 func (s *ServiceNotActiveException) StatusCode() int { 19118 return s.RespMetadata.StatusCode 19119 } 19120 19121 // RequestID returns the service's response RequestID for request. 19122 func (s *ServiceNotActiveException) RequestID() string { 19123 return s.RespMetadata.RequestID 19124 } 19125 19126 // The specified service could not be found. You can view your available services 19127 // with ListServices. Amazon ECS services are cluster-specific and Region-specific. 19128 type ServiceNotFoundException struct { 19129 _ struct{} `type:"structure"` 19130 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19131 19132 Message_ *string `locationName:"message" type:"string"` 19133 } 19134 19135 // String returns the string representation. 19136 // 19137 // API parameter values that are decorated as "sensitive" in the API will not 19138 // be included in the string output. The member name will be present, but the 19139 // value will be replaced with "sensitive". 19140 func (s ServiceNotFoundException) String() string { 19141 return awsutil.Prettify(s) 19142 } 19143 19144 // GoString returns the string representation. 19145 // 19146 // API parameter values that are decorated as "sensitive" in the API will not 19147 // be included in the string output. The member name will be present, but the 19148 // value will be replaced with "sensitive". 19149 func (s ServiceNotFoundException) GoString() string { 19150 return s.String() 19151 } 19152 19153 func newErrorServiceNotFoundException(v protocol.ResponseMetadata) error { 19154 return &ServiceNotFoundException{ 19155 RespMetadata: v, 19156 } 19157 } 19158 19159 // Code returns the exception type name. 19160 func (s *ServiceNotFoundException) Code() string { 19161 return "ServiceNotFoundException" 19162 } 19163 19164 // Message returns the exception's message. 19165 func (s *ServiceNotFoundException) Message() string { 19166 if s.Message_ != nil { 19167 return *s.Message_ 19168 } 19169 return "" 19170 } 19171 19172 // OrigErr always returns nil, satisfies awserr.Error interface. 19173 func (s *ServiceNotFoundException) OrigErr() error { 19174 return nil 19175 } 19176 19177 func (s *ServiceNotFoundException) Error() string { 19178 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19179 } 19180 19181 // Status code returns the HTTP status code for the request's response error. 19182 func (s *ServiceNotFoundException) StatusCode() int { 19183 return s.RespMetadata.StatusCode 19184 } 19185 19186 // RequestID returns the service's response RequestID for request. 19187 func (s *ServiceNotFoundException) RequestID() string { 19188 return s.RespMetadata.RequestID 19189 } 19190 19191 // Details of the service registry. 19192 type ServiceRegistry struct { 19193 _ struct{} `type:"structure"` 19194 19195 // The container name value, already specified in the task definition, to be 19196 // used for your service discovery service. If the task definition that your 19197 // service task specifies uses the bridge or host network mode, you must specify 19198 // a containerName and containerPort combination from the task definition. If 19199 // the task definition that your service task specifies uses the awsvpc network 19200 // mode and a type SRV DNS record is used, you must specify either a containerName 19201 // and containerPort combination or a port value, but not both. 19202 ContainerName *string `locationName:"containerName" type:"string"` 19203 19204 // The port value, already specified in the task definition, to be used for 19205 // your service discovery service. If the task definition your service task 19206 // specifies uses the bridge or host network mode, you must specify a containerName 19207 // and containerPort combination from the task definition. If the task definition 19208 // your service task specifies uses the awsvpc network mode and a type SRV DNS 19209 // record is used, you must specify either a containerName and containerPort 19210 // combination or a port value, but not both. 19211 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 19212 19213 // The port value used if your service discovery service specified an SRV record. 19214 // This field may be used if both the awsvpc network mode and SRV records are 19215 // used. 19216 Port *int64 `locationName:"port" type:"integer"` 19217 19218 // The Amazon Resource Name (ARN) of the service registry. The currently supported 19219 // service registry is Cloud Map. For more information, see CreateService (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). 19220 RegistryArn *string `locationName:"registryArn" type:"string"` 19221 } 19222 19223 // String returns the string representation. 19224 // 19225 // API parameter values that are decorated as "sensitive" in the API will not 19226 // be included in the string output. The member name will be present, but the 19227 // value will be replaced with "sensitive". 19228 func (s ServiceRegistry) String() string { 19229 return awsutil.Prettify(s) 19230 } 19231 19232 // GoString returns the string representation. 19233 // 19234 // API parameter values that are decorated as "sensitive" in the API will not 19235 // be included in the string output. The member name will be present, but the 19236 // value will be replaced with "sensitive". 19237 func (s ServiceRegistry) GoString() string { 19238 return s.String() 19239 } 19240 19241 // SetContainerName sets the ContainerName field's value. 19242 func (s *ServiceRegistry) SetContainerName(v string) *ServiceRegistry { 19243 s.ContainerName = &v 19244 return s 19245 } 19246 19247 // SetContainerPort sets the ContainerPort field's value. 19248 func (s *ServiceRegistry) SetContainerPort(v int64) *ServiceRegistry { 19249 s.ContainerPort = &v 19250 return s 19251 } 19252 19253 // SetPort sets the Port field's value. 19254 func (s *ServiceRegistry) SetPort(v int64) *ServiceRegistry { 19255 s.Port = &v 19256 return s 19257 } 19258 19259 // SetRegistryArn sets the RegistryArn field's value. 19260 func (s *ServiceRegistry) SetRegistryArn(v string) *ServiceRegistry { 19261 s.RegistryArn = &v 19262 return s 19263 } 19264 19265 // The details of the execute command session. 19266 type Session struct { 19267 _ struct{} `type:"structure"` 19268 19269 // The ID of the execute command session. 19270 SessionId *string `locationName:"sessionId" type:"string"` 19271 19272 // A URL back to managed agent on the container that the SSM Session Manager 19273 // client uses to send commands and receive output from the container. 19274 StreamUrl *string `locationName:"streamUrl" type:"string"` 19275 19276 // An encrypted token value containing session and caller information. Used 19277 // to authenticate the connection to the container. 19278 // 19279 // TokenValue is a sensitive parameter and its value will be 19280 // replaced with "sensitive" in string returned by Session's 19281 // String and GoString methods. 19282 TokenValue *string `locationName:"tokenValue" type:"string" sensitive:"true"` 19283 } 19284 19285 // String returns the string representation. 19286 // 19287 // API parameter values that are decorated as "sensitive" in the API will not 19288 // be included in the string output. The member name will be present, but the 19289 // value will be replaced with "sensitive". 19290 func (s Session) String() string { 19291 return awsutil.Prettify(s) 19292 } 19293 19294 // GoString returns the string representation. 19295 // 19296 // API parameter values that are decorated as "sensitive" in the API will not 19297 // be included in the string output. The member name will be present, but the 19298 // value will be replaced with "sensitive". 19299 func (s Session) GoString() string { 19300 return s.String() 19301 } 19302 19303 // SetSessionId sets the SessionId field's value. 19304 func (s *Session) SetSessionId(v string) *Session { 19305 s.SessionId = &v 19306 return s 19307 } 19308 19309 // SetStreamUrl sets the StreamUrl field's value. 19310 func (s *Session) SetStreamUrl(v string) *Session { 19311 s.StreamUrl = &v 19312 return s 19313 } 19314 19315 // SetTokenValue sets the TokenValue field's value. 19316 func (s *Session) SetTokenValue(v string) *Session { 19317 s.TokenValue = &v 19318 return s 19319 } 19320 19321 // The current account setting for a resource. 19322 type Setting struct { 19323 _ struct{} `type:"structure"` 19324 19325 // The Amazon ECS resource name. 19326 Name *string `locationName:"name" type:"string" enum:"SettingName"` 19327 19328 // The ARN of the principal, which can be an IAM user, IAM role, or the root 19329 // user. If this field is omitted, the authenticated user is assumed. 19330 PrincipalArn *string `locationName:"principalArn" type:"string"` 19331 19332 // Whether the account setting is enabled or disabled for the specified resource. 19333 Value *string `locationName:"value" type:"string"` 19334 } 19335 19336 // String returns the string representation. 19337 // 19338 // API parameter values that are decorated as "sensitive" in the API will not 19339 // be included in the string output. The member name will be present, but the 19340 // value will be replaced with "sensitive". 19341 func (s Setting) String() string { 19342 return awsutil.Prettify(s) 19343 } 19344 19345 // GoString returns the string representation. 19346 // 19347 // API parameter values that are decorated as "sensitive" in the API will not 19348 // be included in the string output. The member name will be present, but the 19349 // value will be replaced with "sensitive". 19350 func (s Setting) GoString() string { 19351 return s.String() 19352 } 19353 19354 // SetName sets the Name field's value. 19355 func (s *Setting) SetName(v string) *Setting { 19356 s.Name = &v 19357 return s 19358 } 19359 19360 // SetPrincipalArn sets the PrincipalArn field's value. 19361 func (s *Setting) SetPrincipalArn(v string) *Setting { 19362 s.PrincipalArn = &v 19363 return s 19364 } 19365 19366 // SetValue sets the Value field's value. 19367 func (s *Setting) SetValue(v string) *Setting { 19368 s.Value = &v 19369 return s 19370 } 19371 19372 type StartTaskInput struct { 19373 _ struct{} `type:"structure"` 19374 19375 // The short name or full Amazon Resource Name (ARN) of the cluster on which 19376 // to start your task. If you do not specify a cluster, the default cluster 19377 // is assumed. 19378 Cluster *string `locationName:"cluster" type:"string"` 19379 19380 // The container instance IDs or full ARN entries for the container instances 19381 // on which you would like to place your task. You can specify up to 10 container 19382 // instances. 19383 // 19384 // ContainerInstances is a required field 19385 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 19386 19387 // Specifies whether to enable Amazon ECS managed tags for the task. For more 19388 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 19389 // in the Amazon Elastic Container Service Developer Guide. 19390 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 19391 19392 // Whether or not the execute command functionality is enabled for the task. 19393 // If true, this enables execute command functionality on all containers in 19394 // the task. 19395 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 19396 19397 // The name of the task group to associate with the task. The default value 19398 // is the family name of the task definition (for example, family:my-family-name). 19399 Group *string `locationName:"group" type:"string"` 19400 19401 // The VPC subnet and security group configuration for tasks that receive their 19402 // own elastic network interface by using the awsvpc networking mode. 19403 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 19404 19405 // A list of container overrides in JSON format that specify the name of a container 19406 // in the specified task definition and the overrides it should receive. You 19407 // can override the default command for a container (that is specified in the 19408 // task definition or Docker image) with a command override. You can also override 19409 // existing environment variables (that are specified in the task definition 19410 // or Docker image) on a container or add new environment variables to it with 19411 // an environment override. 19412 // 19413 // A total of 8192 characters are allowed for overrides. This limit includes 19414 // the JSON formatting characters of the override structure. 19415 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 19416 19417 // Specifies whether to propagate the tags from the task definition or the service 19418 // to the task. If no value is specified, the tags are not propagated. 19419 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 19420 19421 // The reference ID to use for the task. 19422 ReferenceId *string `locationName:"referenceId" type:"string"` 19423 19424 // An optional tag specified when a task is started. For example, if you automatically 19425 // trigger a task to run a batch process job, you could apply a unique identifier 19426 // for that job to your task with the startedBy parameter. You can then identify 19427 // which tasks belong to that job by filtering the results of a ListTasks call 19428 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 19429 // hyphens, and underscores are allowed. 19430 // 19431 // If a task is started by an Amazon ECS service, then the startedBy parameter 19432 // contains the deployment ID of the service that starts it. 19433 StartedBy *string `locationName:"startedBy" type:"string"` 19434 19435 // The metadata that you apply to the task to help you categorize and organize 19436 // them. Each tag consists of a key and an optional value, both of which you 19437 // define. 19438 // 19439 // The following basic restrictions apply to tags: 19440 // 19441 // * Maximum number of tags per resource - 50 19442 // 19443 // * For each resource, each tag key must be unique, and each tag key can 19444 // have only one value. 19445 // 19446 // * Maximum key length - 128 Unicode characters in UTF-8 19447 // 19448 // * Maximum value length - 256 Unicode characters in UTF-8 19449 // 19450 // * If your tagging schema is used across multiple services and resources, 19451 // remember that other services may have restrictions on allowed characters. 19452 // Generally allowed characters are: letters, numbers, and spaces representable 19453 // in UTF-8, and the following characters: + - = . _ : / @. 19454 // 19455 // * Tag keys and values are case-sensitive. 19456 // 19457 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 19458 // as a prefix for either keys or values as it is reserved for Amazon Web 19459 // Services use. You cannot edit or delete tag keys or values with this prefix. 19460 // Tags with this prefix do not count against your tags per resource limit. 19461 Tags []*Tag `locationName:"tags" type:"list"` 19462 19463 // The family and revision (family:revision) or full ARN of the task definition 19464 // to start. If a revision is not specified, the latest ACTIVE revision is used. 19465 // 19466 // TaskDefinition is a required field 19467 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 19468 } 19469 19470 // String returns the string representation. 19471 // 19472 // API parameter values that are decorated as "sensitive" in the API will not 19473 // be included in the string output. The member name will be present, but the 19474 // value will be replaced with "sensitive". 19475 func (s StartTaskInput) String() string { 19476 return awsutil.Prettify(s) 19477 } 19478 19479 // GoString returns the string representation. 19480 // 19481 // API parameter values that are decorated as "sensitive" in the API will not 19482 // be included in the string output. The member name will be present, but the 19483 // value will be replaced with "sensitive". 19484 func (s StartTaskInput) GoString() string { 19485 return s.String() 19486 } 19487 19488 // Validate inspects the fields of the type to determine if they are valid. 19489 func (s *StartTaskInput) Validate() error { 19490 invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} 19491 if s.ContainerInstances == nil { 19492 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 19493 } 19494 if s.TaskDefinition == nil { 19495 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 19496 } 19497 if s.NetworkConfiguration != nil { 19498 if err := s.NetworkConfiguration.Validate(); err != nil { 19499 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 19500 } 19501 } 19502 if s.Overrides != nil { 19503 if err := s.Overrides.Validate(); err != nil { 19504 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 19505 } 19506 } 19507 if s.Tags != nil { 19508 for i, v := range s.Tags { 19509 if v == nil { 19510 continue 19511 } 19512 if err := v.Validate(); err != nil { 19513 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 19514 } 19515 } 19516 } 19517 19518 if invalidParams.Len() > 0 { 19519 return invalidParams 19520 } 19521 return nil 19522 } 19523 19524 // SetCluster sets the Cluster field's value. 19525 func (s *StartTaskInput) SetCluster(v string) *StartTaskInput { 19526 s.Cluster = &v 19527 return s 19528 } 19529 19530 // SetContainerInstances sets the ContainerInstances field's value. 19531 func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput { 19532 s.ContainerInstances = v 19533 return s 19534 } 19535 19536 // SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 19537 func (s *StartTaskInput) SetEnableECSManagedTags(v bool) *StartTaskInput { 19538 s.EnableECSManagedTags = &v 19539 return s 19540 } 19541 19542 // SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 19543 func (s *StartTaskInput) SetEnableExecuteCommand(v bool) *StartTaskInput { 19544 s.EnableExecuteCommand = &v 19545 return s 19546 } 19547 19548 // SetGroup sets the Group field's value. 19549 func (s *StartTaskInput) SetGroup(v string) *StartTaskInput { 19550 s.Group = &v 19551 return s 19552 } 19553 19554 // SetNetworkConfiguration sets the NetworkConfiguration field's value. 19555 func (s *StartTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *StartTaskInput { 19556 s.NetworkConfiguration = v 19557 return s 19558 } 19559 19560 // SetOverrides sets the Overrides field's value. 19561 func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput { 19562 s.Overrides = v 19563 return s 19564 } 19565 19566 // SetPropagateTags sets the PropagateTags field's value. 19567 func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput { 19568 s.PropagateTags = &v 19569 return s 19570 } 19571 19572 // SetReferenceId sets the ReferenceId field's value. 19573 func (s *StartTaskInput) SetReferenceId(v string) *StartTaskInput { 19574 s.ReferenceId = &v 19575 return s 19576 } 19577 19578 // SetStartedBy sets the StartedBy field's value. 19579 func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { 19580 s.StartedBy = &v 19581 return s 19582 } 19583 19584 // SetTags sets the Tags field's value. 19585 func (s *StartTaskInput) SetTags(v []*Tag) *StartTaskInput { 19586 s.Tags = v 19587 return s 19588 } 19589 19590 // SetTaskDefinition sets the TaskDefinition field's value. 19591 func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput { 19592 s.TaskDefinition = &v 19593 return s 19594 } 19595 19596 type StartTaskOutput struct { 19597 _ struct{} `type:"structure"` 19598 19599 // Any failures associated with the call. 19600 Failures []*Failure `locationName:"failures" type:"list"` 19601 19602 // A full description of the tasks that were started. Each task that was successfully 19603 // placed on your container instances is described. 19604 Tasks []*Task `locationName:"tasks" type:"list"` 19605 } 19606 19607 // String returns the string representation. 19608 // 19609 // API parameter values that are decorated as "sensitive" in the API will not 19610 // be included in the string output. The member name will be present, but the 19611 // value will be replaced with "sensitive". 19612 func (s StartTaskOutput) String() string { 19613 return awsutil.Prettify(s) 19614 } 19615 19616 // GoString returns the string representation. 19617 // 19618 // API parameter values that are decorated as "sensitive" in the API will not 19619 // be included in the string output. The member name will be present, but the 19620 // value will be replaced with "sensitive". 19621 func (s StartTaskOutput) GoString() string { 19622 return s.String() 19623 } 19624 19625 // SetFailures sets the Failures field's value. 19626 func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput { 19627 s.Failures = v 19628 return s 19629 } 19630 19631 // SetTasks sets the Tasks field's value. 19632 func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput { 19633 s.Tasks = v 19634 return s 19635 } 19636 19637 type StopTaskInput struct { 19638 _ struct{} `type:"structure"` 19639 19640 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19641 // the task to stop. If you do not specify a cluster, the default cluster is 19642 // assumed. 19643 Cluster *string `locationName:"cluster" type:"string"` 19644 19645 // An optional message specified when a task is stopped. For example, if you 19646 // are using a custom scheduler, you can use this parameter to specify the reason 19647 // for stopping the task here, and the message appears in subsequent DescribeTasks 19648 // API operations on this task. Up to 255 characters are allowed in this message. 19649 Reason *string `locationName:"reason" type:"string"` 19650 19651 // The task ID or full Amazon Resource Name (ARN) of the task to stop. 19652 // 19653 // Task is a required field 19654 Task *string `locationName:"task" type:"string" required:"true"` 19655 } 19656 19657 // String returns the string representation. 19658 // 19659 // API parameter values that are decorated as "sensitive" in the API will not 19660 // be included in the string output. The member name will be present, but the 19661 // value will be replaced with "sensitive". 19662 func (s StopTaskInput) String() string { 19663 return awsutil.Prettify(s) 19664 } 19665 19666 // GoString returns the string representation. 19667 // 19668 // API parameter values that are decorated as "sensitive" in the API will not 19669 // be included in the string output. The member name will be present, but the 19670 // value will be replaced with "sensitive". 19671 func (s StopTaskInput) GoString() string { 19672 return s.String() 19673 } 19674 19675 // Validate inspects the fields of the type to determine if they are valid. 19676 func (s *StopTaskInput) Validate() error { 19677 invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} 19678 if s.Task == nil { 19679 invalidParams.Add(request.NewErrParamRequired("Task")) 19680 } 19681 19682 if invalidParams.Len() > 0 { 19683 return invalidParams 19684 } 19685 return nil 19686 } 19687 19688 // SetCluster sets the Cluster field's value. 19689 func (s *StopTaskInput) SetCluster(v string) *StopTaskInput { 19690 s.Cluster = &v 19691 return s 19692 } 19693 19694 // SetReason sets the Reason field's value. 19695 func (s *StopTaskInput) SetReason(v string) *StopTaskInput { 19696 s.Reason = &v 19697 return s 19698 } 19699 19700 // SetTask sets the Task field's value. 19701 func (s *StopTaskInput) SetTask(v string) *StopTaskInput { 19702 s.Task = &v 19703 return s 19704 } 19705 19706 type StopTaskOutput struct { 19707 _ struct{} `type:"structure"` 19708 19709 // The task that was stopped. 19710 Task *Task `locationName:"task" type:"structure"` 19711 } 19712 19713 // String returns the string representation. 19714 // 19715 // API parameter values that are decorated as "sensitive" in the API will not 19716 // be included in the string output. The member name will be present, but the 19717 // value will be replaced with "sensitive". 19718 func (s StopTaskOutput) String() string { 19719 return awsutil.Prettify(s) 19720 } 19721 19722 // GoString returns the string representation. 19723 // 19724 // API parameter values that are decorated as "sensitive" in the API will not 19725 // be included in the string output. The member name will be present, but the 19726 // value will be replaced with "sensitive". 19727 func (s StopTaskOutput) GoString() string { 19728 return s.String() 19729 } 19730 19731 // SetTask sets the Task field's value. 19732 func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput { 19733 s.Task = v 19734 return s 19735 } 19736 19737 type SubmitAttachmentStateChangesInput struct { 19738 _ struct{} `type:"structure"` 19739 19740 // Any attachments associated with the state change request. 19741 // 19742 // Attachments is a required field 19743 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list" required:"true"` 19744 19745 // The short name or full ARN of the cluster that hosts the container instance 19746 // the attachment belongs to. 19747 Cluster *string `locationName:"cluster" type:"string"` 19748 } 19749 19750 // String returns the string representation. 19751 // 19752 // API parameter values that are decorated as "sensitive" in the API will not 19753 // be included in the string output. The member name will be present, but the 19754 // value will be replaced with "sensitive". 19755 func (s SubmitAttachmentStateChangesInput) String() string { 19756 return awsutil.Prettify(s) 19757 } 19758 19759 // GoString returns the string representation. 19760 // 19761 // API parameter values that are decorated as "sensitive" in the API will not 19762 // be included in the string output. The member name will be present, but the 19763 // value will be replaced with "sensitive". 19764 func (s SubmitAttachmentStateChangesInput) GoString() string { 19765 return s.String() 19766 } 19767 19768 // Validate inspects the fields of the type to determine if they are valid. 19769 func (s *SubmitAttachmentStateChangesInput) Validate() error { 19770 invalidParams := request.ErrInvalidParams{Context: "SubmitAttachmentStateChangesInput"} 19771 if s.Attachments == nil { 19772 invalidParams.Add(request.NewErrParamRequired("Attachments")) 19773 } 19774 if s.Attachments != nil { 19775 for i, v := range s.Attachments { 19776 if v == nil { 19777 continue 19778 } 19779 if err := v.Validate(); err != nil { 19780 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 19781 } 19782 } 19783 } 19784 19785 if invalidParams.Len() > 0 { 19786 return invalidParams 19787 } 19788 return nil 19789 } 19790 19791 // SetAttachments sets the Attachments field's value. 19792 func (s *SubmitAttachmentStateChangesInput) SetAttachments(v []*AttachmentStateChange) *SubmitAttachmentStateChangesInput { 19793 s.Attachments = v 19794 return s 19795 } 19796 19797 // SetCluster sets the Cluster field's value. 19798 func (s *SubmitAttachmentStateChangesInput) SetCluster(v string) *SubmitAttachmentStateChangesInput { 19799 s.Cluster = &v 19800 return s 19801 } 19802 19803 type SubmitAttachmentStateChangesOutput struct { 19804 _ struct{} `type:"structure"` 19805 19806 // Acknowledgement of the state change. 19807 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 19808 } 19809 19810 // String returns the string representation. 19811 // 19812 // API parameter values that are decorated as "sensitive" in the API will not 19813 // be included in the string output. The member name will be present, but the 19814 // value will be replaced with "sensitive". 19815 func (s SubmitAttachmentStateChangesOutput) String() string { 19816 return awsutil.Prettify(s) 19817 } 19818 19819 // GoString returns the string representation. 19820 // 19821 // API parameter values that are decorated as "sensitive" in the API will not 19822 // be included in the string output. The member name will be present, but the 19823 // value will be replaced with "sensitive". 19824 func (s SubmitAttachmentStateChangesOutput) GoString() string { 19825 return s.String() 19826 } 19827 19828 // SetAcknowledgment sets the Acknowledgment field's value. 19829 func (s *SubmitAttachmentStateChangesOutput) SetAcknowledgment(v string) *SubmitAttachmentStateChangesOutput { 19830 s.Acknowledgment = &v 19831 return s 19832 } 19833 19834 type SubmitContainerStateChangeInput struct { 19835 _ struct{} `type:"structure"` 19836 19837 // The short name or full ARN of the cluster that hosts the container. 19838 Cluster *string `locationName:"cluster" type:"string"` 19839 19840 // The name of the container. 19841 ContainerName *string `locationName:"containerName" type:"string"` 19842 19843 // The exit code returned for the state change request. 19844 ExitCode *int64 `locationName:"exitCode" type:"integer"` 19845 19846 // The network bindings of the container. 19847 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 19848 19849 // The reason for the state change request. 19850 Reason *string `locationName:"reason" type:"string"` 19851 19852 // The ID of the Docker container. 19853 RuntimeId *string `locationName:"runtimeId" type:"string"` 19854 19855 // The status of the state change request. 19856 Status *string `locationName:"status" type:"string"` 19857 19858 // The task ID or full Amazon Resource Name (ARN) of the task that hosts the 19859 // container. 19860 Task *string `locationName:"task" type:"string"` 19861 } 19862 19863 // String returns the string representation. 19864 // 19865 // API parameter values that are decorated as "sensitive" in the API will not 19866 // be included in the string output. The member name will be present, but the 19867 // value will be replaced with "sensitive". 19868 func (s SubmitContainerStateChangeInput) String() string { 19869 return awsutil.Prettify(s) 19870 } 19871 19872 // GoString returns the string representation. 19873 // 19874 // API parameter values that are decorated as "sensitive" in the API will not 19875 // be included in the string output. The member name will be present, but the 19876 // value will be replaced with "sensitive". 19877 func (s SubmitContainerStateChangeInput) GoString() string { 19878 return s.String() 19879 } 19880 19881 // SetCluster sets the Cluster field's value. 19882 func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput { 19883 s.Cluster = &v 19884 return s 19885 } 19886 19887 // SetContainerName sets the ContainerName field's value. 19888 func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput { 19889 s.ContainerName = &v 19890 return s 19891 } 19892 19893 // SetExitCode sets the ExitCode field's value. 19894 func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput { 19895 s.ExitCode = &v 19896 return s 19897 } 19898 19899 // SetNetworkBindings sets the NetworkBindings field's value. 19900 func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput { 19901 s.NetworkBindings = v 19902 return s 19903 } 19904 19905 // SetReason sets the Reason field's value. 19906 func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput { 19907 s.Reason = &v 19908 return s 19909 } 19910 19911 // SetRuntimeId sets the RuntimeId field's value. 19912 func (s *SubmitContainerStateChangeInput) SetRuntimeId(v string) *SubmitContainerStateChangeInput { 19913 s.RuntimeId = &v 19914 return s 19915 } 19916 19917 // SetStatus sets the Status field's value. 19918 func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput { 19919 s.Status = &v 19920 return s 19921 } 19922 19923 // SetTask sets the Task field's value. 19924 func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput { 19925 s.Task = &v 19926 return s 19927 } 19928 19929 type SubmitContainerStateChangeOutput struct { 19930 _ struct{} `type:"structure"` 19931 19932 // Acknowledgement of the state change. 19933 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 19934 } 19935 19936 // String returns the string representation. 19937 // 19938 // API parameter values that are decorated as "sensitive" in the API will not 19939 // be included in the string output. The member name will be present, but the 19940 // value will be replaced with "sensitive". 19941 func (s SubmitContainerStateChangeOutput) String() string { 19942 return awsutil.Prettify(s) 19943 } 19944 19945 // GoString returns the string representation. 19946 // 19947 // API parameter values that are decorated as "sensitive" in the API will not 19948 // be included in the string output. The member name will be present, but the 19949 // value will be replaced with "sensitive". 19950 func (s SubmitContainerStateChangeOutput) GoString() string { 19951 return s.String() 19952 } 19953 19954 // SetAcknowledgment sets the Acknowledgment field's value. 19955 func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput { 19956 s.Acknowledgment = &v 19957 return s 19958 } 19959 19960 type SubmitTaskStateChangeInput struct { 19961 _ struct{} `type:"structure"` 19962 19963 // Any attachments associated with the state change request. 19964 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list"` 19965 19966 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19967 // the task. 19968 Cluster *string `locationName:"cluster" type:"string"` 19969 19970 // Any containers associated with the state change request. 19971 Containers []*ContainerStateChange `locationName:"containers" type:"list"` 19972 19973 // The Unix timestamp for when the task execution stopped. 19974 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 19975 19976 // The details for the managed agent associated with the task. 19977 ManagedAgents []*ManagedAgentStateChange `locationName:"managedAgents" type:"list"` 19978 19979 // The Unix timestamp for when the container image pull began. 19980 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 19981 19982 // The Unix timestamp for when the container image pull completed. 19983 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 19984 19985 // The reason for the state change request. 19986 Reason *string `locationName:"reason" type:"string"` 19987 19988 // The status of the state change request. 19989 Status *string `locationName:"status" type:"string"` 19990 19991 // The task ID or full ARN of the task in the state change request. 19992 Task *string `locationName:"task" type:"string"` 19993 } 19994 19995 // String returns the string representation. 19996 // 19997 // API parameter values that are decorated as "sensitive" in the API will not 19998 // be included in the string output. The member name will be present, but the 19999 // value will be replaced with "sensitive". 20000 func (s SubmitTaskStateChangeInput) String() string { 20001 return awsutil.Prettify(s) 20002 } 20003 20004 // GoString returns the string representation. 20005 // 20006 // API parameter values that are decorated as "sensitive" in the API will not 20007 // be included in the string output. The member name will be present, but the 20008 // value will be replaced with "sensitive". 20009 func (s SubmitTaskStateChangeInput) GoString() string { 20010 return s.String() 20011 } 20012 20013 // Validate inspects the fields of the type to determine if they are valid. 20014 func (s *SubmitTaskStateChangeInput) Validate() error { 20015 invalidParams := request.ErrInvalidParams{Context: "SubmitTaskStateChangeInput"} 20016 if s.Attachments != nil { 20017 for i, v := range s.Attachments { 20018 if v == nil { 20019 continue 20020 } 20021 if err := v.Validate(); err != nil { 20022 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 20023 } 20024 } 20025 } 20026 if s.ManagedAgents != nil { 20027 for i, v := range s.ManagedAgents { 20028 if v == nil { 20029 continue 20030 } 20031 if err := v.Validate(); err != nil { 20032 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ManagedAgents", i), err.(request.ErrInvalidParams)) 20033 } 20034 } 20035 } 20036 20037 if invalidParams.Len() > 0 { 20038 return invalidParams 20039 } 20040 return nil 20041 } 20042 20043 // SetAttachments sets the Attachments field's value. 20044 func (s *SubmitTaskStateChangeInput) SetAttachments(v []*AttachmentStateChange) *SubmitTaskStateChangeInput { 20045 s.Attachments = v 20046 return s 20047 } 20048 20049 // SetCluster sets the Cluster field's value. 20050 func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput { 20051 s.Cluster = &v 20052 return s 20053 } 20054 20055 // SetContainers sets the Containers field's value. 20056 func (s *SubmitTaskStateChangeInput) SetContainers(v []*ContainerStateChange) *SubmitTaskStateChangeInput { 20057 s.Containers = v 20058 return s 20059 } 20060 20061 // SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 20062 func (s *SubmitTaskStateChangeInput) SetExecutionStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 20063 s.ExecutionStoppedAt = &v 20064 return s 20065 } 20066 20067 // SetManagedAgents sets the ManagedAgents field's value. 20068 func (s *SubmitTaskStateChangeInput) SetManagedAgents(v []*ManagedAgentStateChange) *SubmitTaskStateChangeInput { 20069 s.ManagedAgents = v 20070 return s 20071 } 20072 20073 // SetPullStartedAt sets the PullStartedAt field's value. 20074 func (s *SubmitTaskStateChangeInput) SetPullStartedAt(v time.Time) *SubmitTaskStateChangeInput { 20075 s.PullStartedAt = &v 20076 return s 20077 } 20078 20079 // SetPullStoppedAt sets the PullStoppedAt field's value. 20080 func (s *SubmitTaskStateChangeInput) SetPullStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 20081 s.PullStoppedAt = &v 20082 return s 20083 } 20084 20085 // SetReason sets the Reason field's value. 20086 func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput { 20087 s.Reason = &v 20088 return s 20089 } 20090 20091 // SetStatus sets the Status field's value. 20092 func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput { 20093 s.Status = &v 20094 return s 20095 } 20096 20097 // SetTask sets the Task field's value. 20098 func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput { 20099 s.Task = &v 20100 return s 20101 } 20102 20103 type SubmitTaskStateChangeOutput struct { 20104 _ struct{} `type:"structure"` 20105 20106 // Acknowledgement of the state change. 20107 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 20108 } 20109 20110 // String returns the string representation. 20111 // 20112 // API parameter values that are decorated as "sensitive" in the API will not 20113 // be included in the string output. The member name will be present, but the 20114 // value will be replaced with "sensitive". 20115 func (s SubmitTaskStateChangeOutput) String() string { 20116 return awsutil.Prettify(s) 20117 } 20118 20119 // GoString returns the string representation. 20120 // 20121 // API parameter values that are decorated as "sensitive" in the API will not 20122 // be included in the string output. The member name will be present, but the 20123 // value will be replaced with "sensitive". 20124 func (s SubmitTaskStateChangeOutput) GoString() string { 20125 return s.String() 20126 } 20127 20128 // SetAcknowledgment sets the Acknowledgment field's value. 20129 func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput { 20130 s.Acknowledgment = &v 20131 return s 20132 } 20133 20134 // A list of namespaced kernel parameters to set in the container. This parameter 20135 // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 20136 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 20137 // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 20138 // 20139 // It is not recommended that you specify network-related systemControls parameters 20140 // for multiple containers in a single task that also uses either the awsvpc 20141 // or host network mode for the following reasons: 20142 // 20143 // * For tasks that use the awsvpc network mode, if you set systemControls 20144 // for any container, it applies to all containers in the task. If you set 20145 // different systemControls for multiple containers in a single task, the 20146 // container that is started last determines which systemControls take effect. 20147 // 20148 // * For tasks that use the host network mode, the systemControls parameter 20149 // applies to the container instance's kernel parameter as well as that of 20150 // all containers of any tasks running on that container instance. 20151 type SystemControl struct { 20152 _ struct{} `type:"structure"` 20153 20154 // The namespaced kernel parameter for which to set a value. 20155 Namespace *string `locationName:"namespace" type:"string"` 20156 20157 // The value for the namespaced kernel parameter specified in namespace. 20158 Value *string `locationName:"value" type:"string"` 20159 } 20160 20161 // String returns the string representation. 20162 // 20163 // API parameter values that are decorated as "sensitive" in the API will not 20164 // be included in the string output. The member name will be present, but the 20165 // value will be replaced with "sensitive". 20166 func (s SystemControl) String() string { 20167 return awsutil.Prettify(s) 20168 } 20169 20170 // GoString returns the string representation. 20171 // 20172 // API parameter values that are decorated as "sensitive" in the API will not 20173 // be included in the string output. The member name will be present, but the 20174 // value will be replaced with "sensitive". 20175 func (s SystemControl) GoString() string { 20176 return s.String() 20177 } 20178 20179 // SetNamespace sets the Namespace field's value. 20180 func (s *SystemControl) SetNamespace(v string) *SystemControl { 20181 s.Namespace = &v 20182 return s 20183 } 20184 20185 // SetValue sets the Value field's value. 20186 func (s *SystemControl) SetValue(v string) *SystemControl { 20187 s.Value = &v 20188 return s 20189 } 20190 20191 // The metadata that you apply to a resource to help you categorize and organize 20192 // them. Each tag consists of a key and an optional value, both of which you 20193 // define. 20194 // 20195 // The following basic restrictions apply to tags: 20196 // 20197 // * Maximum number of tags per resource - 50 20198 // 20199 // * For each resource, each tag key must be unique, and each tag key can 20200 // have only one value. 20201 // 20202 // * Maximum key length - 128 Unicode characters in UTF-8 20203 // 20204 // * Maximum value length - 256 Unicode characters in UTF-8 20205 // 20206 // * If your tagging schema is used across multiple services and resources, 20207 // remember that other services may have restrictions on allowed characters. 20208 // Generally allowed characters are: letters, numbers, and spaces representable 20209 // in UTF-8, and the following characters: + - = . _ : / @. 20210 // 20211 // * Tag keys and values are case-sensitive. 20212 // 20213 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 20214 // as a prefix for either keys or values as it is reserved for Amazon Web 20215 // Services use. You cannot edit or delete tag keys or values with this prefix. 20216 // Tags with this prefix do not count against your tags per resource limit. 20217 type Tag struct { 20218 _ struct{} `type:"structure"` 20219 20220 // One part of a key-value pair that make up a tag. A key is a general label 20221 // that acts like a category for more specific tag values. 20222 Key *string `locationName:"key" min:"1" type:"string"` 20223 20224 // The optional part of a key-value pair that make up a tag. A value acts as 20225 // a descriptor within a tag category (key). 20226 Value *string `locationName:"value" type:"string"` 20227 } 20228 20229 // String returns the string representation. 20230 // 20231 // API parameter values that are decorated as "sensitive" in the API will not 20232 // be included in the string output. The member name will be present, but the 20233 // value will be replaced with "sensitive". 20234 func (s Tag) String() string { 20235 return awsutil.Prettify(s) 20236 } 20237 20238 // GoString returns the string representation. 20239 // 20240 // API parameter values that are decorated as "sensitive" in the API will not 20241 // be included in the string output. The member name will be present, but the 20242 // value will be replaced with "sensitive". 20243 func (s Tag) GoString() string { 20244 return s.String() 20245 } 20246 20247 // Validate inspects the fields of the type to determine if they are valid. 20248 func (s *Tag) Validate() error { 20249 invalidParams := request.ErrInvalidParams{Context: "Tag"} 20250 if s.Key != nil && len(*s.Key) < 1 { 20251 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 20252 } 20253 20254 if invalidParams.Len() > 0 { 20255 return invalidParams 20256 } 20257 return nil 20258 } 20259 20260 // SetKey sets the Key field's value. 20261 func (s *Tag) SetKey(v string) *Tag { 20262 s.Key = &v 20263 return s 20264 } 20265 20266 // SetValue sets the Value field's value. 20267 func (s *Tag) SetValue(v string) *Tag { 20268 s.Value = &v 20269 return s 20270 } 20271 20272 type TagResourceInput struct { 20273 _ struct{} `type:"structure"` 20274 20275 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 20276 // the supported resources are Amazon ECS capacity providers, tasks, services, 20277 // task definitions, clusters, and container instances. 20278 // 20279 // ResourceArn is a required field 20280 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 20281 20282 // The tags to add to the resource. A tag is an array of key-value pairs. 20283 // 20284 // The following basic restrictions apply to tags: 20285 // 20286 // * Maximum number of tags per resource - 50 20287 // 20288 // * For each resource, each tag key must be unique, and each tag key can 20289 // have only one value. 20290 // 20291 // * Maximum key length - 128 Unicode characters in UTF-8 20292 // 20293 // * Maximum value length - 256 Unicode characters in UTF-8 20294 // 20295 // * If your tagging schema is used across multiple services and resources, 20296 // remember that other services may have restrictions on allowed characters. 20297 // Generally allowed characters are: letters, numbers, and spaces representable 20298 // in UTF-8, and the following characters: + - = . _ : / @. 20299 // 20300 // * Tag keys and values are case-sensitive. 20301 // 20302 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 20303 // as a prefix for either keys or values as it is reserved for Amazon Web 20304 // Services use. You cannot edit or delete tag keys or values with this prefix. 20305 // Tags with this prefix do not count against your tags per resource limit. 20306 // 20307 // Tags is a required field 20308 Tags []*Tag `locationName:"tags" type:"list" required:"true"` 20309 } 20310 20311 // String returns the string representation. 20312 // 20313 // API parameter values that are decorated as "sensitive" in the API will not 20314 // be included in the string output. The member name will be present, but the 20315 // value will be replaced with "sensitive". 20316 func (s TagResourceInput) String() string { 20317 return awsutil.Prettify(s) 20318 } 20319 20320 // GoString returns the string representation. 20321 // 20322 // API parameter values that are decorated as "sensitive" in the API will not 20323 // be included in the string output. The member name will be present, but the 20324 // value will be replaced with "sensitive". 20325 func (s TagResourceInput) GoString() string { 20326 return s.String() 20327 } 20328 20329 // Validate inspects the fields of the type to determine if they are valid. 20330 func (s *TagResourceInput) Validate() error { 20331 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 20332 if s.ResourceArn == nil { 20333 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 20334 } 20335 if s.Tags == nil { 20336 invalidParams.Add(request.NewErrParamRequired("Tags")) 20337 } 20338 if s.Tags != nil { 20339 for i, v := range s.Tags { 20340 if v == nil { 20341 continue 20342 } 20343 if err := v.Validate(); err != nil { 20344 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 20345 } 20346 } 20347 } 20348 20349 if invalidParams.Len() > 0 { 20350 return invalidParams 20351 } 20352 return nil 20353 } 20354 20355 // SetResourceArn sets the ResourceArn field's value. 20356 func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 20357 s.ResourceArn = &v 20358 return s 20359 } 20360 20361 // SetTags sets the Tags field's value. 20362 func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 20363 s.Tags = v 20364 return s 20365 } 20366 20367 type TagResourceOutput struct { 20368 _ struct{} `type:"structure"` 20369 } 20370 20371 // String returns the string representation. 20372 // 20373 // API parameter values that are decorated as "sensitive" in the API will not 20374 // be included in the string output. The member name will be present, but the 20375 // value will be replaced with "sensitive". 20376 func (s TagResourceOutput) String() string { 20377 return awsutil.Prettify(s) 20378 } 20379 20380 // GoString returns the string representation. 20381 // 20382 // API parameter values that are decorated as "sensitive" in the API will not 20383 // be included in the string output. The member name will be present, but the 20384 // value will be replaced with "sensitive". 20385 func (s TagResourceOutput) GoString() string { 20386 return s.String() 20387 } 20388 20389 // The target container is not properly configured with the execute command 20390 // agent or the container is no longer active or running. 20391 type TargetNotConnectedException struct { 20392 _ struct{} `type:"structure"` 20393 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 20394 20395 Message_ *string `locationName:"message" type:"string"` 20396 } 20397 20398 // String returns the string representation. 20399 // 20400 // API parameter values that are decorated as "sensitive" in the API will not 20401 // be included in the string output. The member name will be present, but the 20402 // value will be replaced with "sensitive". 20403 func (s TargetNotConnectedException) String() string { 20404 return awsutil.Prettify(s) 20405 } 20406 20407 // GoString returns the string representation. 20408 // 20409 // API parameter values that are decorated as "sensitive" in the API will not 20410 // be included in the string output. The member name will be present, but the 20411 // value will be replaced with "sensitive". 20412 func (s TargetNotConnectedException) GoString() string { 20413 return s.String() 20414 } 20415 20416 func newErrorTargetNotConnectedException(v protocol.ResponseMetadata) error { 20417 return &TargetNotConnectedException{ 20418 RespMetadata: v, 20419 } 20420 } 20421 20422 // Code returns the exception type name. 20423 func (s *TargetNotConnectedException) Code() string { 20424 return "TargetNotConnectedException" 20425 } 20426 20427 // Message returns the exception's message. 20428 func (s *TargetNotConnectedException) Message() string { 20429 if s.Message_ != nil { 20430 return *s.Message_ 20431 } 20432 return "" 20433 } 20434 20435 // OrigErr always returns nil, satisfies awserr.Error interface. 20436 func (s *TargetNotConnectedException) OrigErr() error { 20437 return nil 20438 } 20439 20440 func (s *TargetNotConnectedException) Error() string { 20441 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 20442 } 20443 20444 // Status code returns the HTTP status code for the request's response error. 20445 func (s *TargetNotConnectedException) StatusCode() int { 20446 return s.RespMetadata.StatusCode 20447 } 20448 20449 // RequestID returns the service's response RequestID for request. 20450 func (s *TargetNotConnectedException) RequestID() string { 20451 return s.RespMetadata.RequestID 20452 } 20453 20454 // The specified target could not be found. You can view your available container 20455 // instances with ListContainerInstances. Amazon ECS container instances are 20456 // cluster-specific and Region-specific. 20457 type TargetNotFoundException struct { 20458 _ struct{} `type:"structure"` 20459 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 20460 20461 Message_ *string `locationName:"message" type:"string"` 20462 } 20463 20464 // String returns the string representation. 20465 // 20466 // API parameter values that are decorated as "sensitive" in the API will not 20467 // be included in the string output. The member name will be present, but the 20468 // value will be replaced with "sensitive". 20469 func (s TargetNotFoundException) String() string { 20470 return awsutil.Prettify(s) 20471 } 20472 20473 // GoString returns the string representation. 20474 // 20475 // API parameter values that are decorated as "sensitive" in the API will not 20476 // be included in the string output. The member name will be present, but the 20477 // value will be replaced with "sensitive". 20478 func (s TargetNotFoundException) GoString() string { 20479 return s.String() 20480 } 20481 20482 func newErrorTargetNotFoundException(v protocol.ResponseMetadata) error { 20483 return &TargetNotFoundException{ 20484 RespMetadata: v, 20485 } 20486 } 20487 20488 // Code returns the exception type name. 20489 func (s *TargetNotFoundException) Code() string { 20490 return "TargetNotFoundException" 20491 } 20492 20493 // Message returns the exception's message. 20494 func (s *TargetNotFoundException) Message() string { 20495 if s.Message_ != nil { 20496 return *s.Message_ 20497 } 20498 return "" 20499 } 20500 20501 // OrigErr always returns nil, satisfies awserr.Error interface. 20502 func (s *TargetNotFoundException) OrigErr() error { 20503 return nil 20504 } 20505 20506 func (s *TargetNotFoundException) Error() string { 20507 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 20508 } 20509 20510 // Status code returns the HTTP status code for the request's response error. 20511 func (s *TargetNotFoundException) StatusCode() int { 20512 return s.RespMetadata.StatusCode 20513 } 20514 20515 // RequestID returns the service's response RequestID for request. 20516 func (s *TargetNotFoundException) RequestID() string { 20517 return s.RespMetadata.RequestID 20518 } 20519 20520 // Details on a task in a cluster. 20521 type Task struct { 20522 _ struct{} `type:"structure"` 20523 20524 // The Elastic Network Adapter associated with the task if the task uses the 20525 // awsvpc network mode. 20526 Attachments []*Attachment `locationName:"attachments" type:"list"` 20527 20528 // The attributes of the task 20529 Attributes []*Attribute `locationName:"attributes" type:"list"` 20530 20531 // The availability zone of the task. 20532 AvailabilityZone *string `locationName:"availabilityZone" type:"string"` 20533 20534 // The capacity provider associated with the task. 20535 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 20536 20537 // The ARN of the cluster that hosts the task. 20538 ClusterArn *string `locationName:"clusterArn" type:"string"` 20539 20540 // The connectivity status of a task. 20541 Connectivity *string `locationName:"connectivity" type:"string" enum:"Connectivity"` 20542 20543 // The Unix timestamp for when the task last went into CONNECTED status. 20544 ConnectivityAt *time.Time `locationName:"connectivityAt" type:"timestamp"` 20545 20546 // The ARN of the container instances that host the task. 20547 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 20548 20549 // The containers associated with the task. 20550 Containers []*Container `locationName:"containers" type:"list"` 20551 20552 // The number of CPU units used by the task as expressed in a task definition. 20553 // It can be expressed as an integer using CPU units, for example 1024. It can 20554 // also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu. 20555 // String values are converted to an integer indicating the CPU units when the 20556 // task definition is registered. 20557 // 20558 // If you are using the EC2 launch type, this field is optional. Supported values 20559 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 20560 // 20561 // If you are using the Fargate launch type, this field is required and you 20562 // must use one of the following values, which determines your range of supported 20563 // values for the memory parameter: 20564 // 20565 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 20566 // 2048 (2 GB) 20567 // 20568 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 20569 // (3 GB), 4096 (4 GB) 20570 // 20571 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 20572 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 20573 // 20574 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 20575 // (16 GB) in increments of 1024 (1 GB) 20576 // 20577 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 20578 // (30 GB) in increments of 1024 (1 GB) 20579 Cpu *string `locationName:"cpu" type:"string"` 20580 20581 // The Unix timestamp for when the task was created (the task entered the PENDING 20582 // state). 20583 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 20584 20585 // The desired status of the task. For more information, see Task Lifecycle 20586 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 20587 DesiredStatus *string `locationName:"desiredStatus" type:"string"` 20588 20589 // Whether or not execute command functionality is enabled for this task. If 20590 // true, this enables execute command functionality on all containers in the 20591 // task. 20592 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 20593 20594 // The ephemeral storage settings for the task. 20595 EphemeralStorage *EphemeralStorage `locationName:"ephemeralStorage" type:"structure"` 20596 20597 // The Unix timestamp for when the task execution stopped. 20598 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 20599 20600 // The name of the task group associated with the task. 20601 Group *string `locationName:"group" type:"string"` 20602 20603 // The health status for the task, which is determined by the health of the 20604 // essential containers in the task. If all essential containers in the task 20605 // are reporting as HEALTHY, then the task status also reports as HEALTHY. If 20606 // any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, 20607 // then the task status also reports as UNHEALTHY or UNKNOWN, accordingly. 20608 // 20609 // The Amazon ECS container agent does not monitor or report on Docker health 20610 // checks that are embedded in a container image (such as those specified in 20611 // a parent image or from the image's Dockerfile) and not specified in the container 20612 // definition. Health check parameters that are specified in a container definition 20613 // override any Docker health checks that exist in the container image. 20614 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 20615 20616 // The Elastic Inference accelerator associated with the task. 20617 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 20618 20619 // The last known status of the task. For more information, see Task Lifecycle 20620 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 20621 LastStatus *string `locationName:"lastStatus" type:"string"` 20622 20623 // The infrastructure on which your task is running. For more information, see 20624 // Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 20625 // in the Amazon Elastic Container Service Developer Guide. 20626 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 20627 20628 // The amount of memory (in MiB) used by the task as expressed in a task definition. 20629 // It can be expressed as an integer using MiB, for example 1024. It can also 20630 // be expressed as a string using GB, for example 1GB or 1 GB. String values 20631 // are converted to an integer indicating the MiB when the task definition is 20632 // registered. 20633 // 20634 // If you are using the EC2 launch type, this field is optional. 20635 // 20636 // If you are using the Fargate launch type, this field is required and you 20637 // must use one of the following values, which determines your range of supported 20638 // values for the cpu parameter: 20639 // 20640 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 20641 // vCPU) 20642 // 20643 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 20644 // 512 (.5 vCPU) 20645 // 20646 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 20647 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 20648 // 20649 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 20650 // Available cpu values: 2048 (2 vCPU) 20651 // 20652 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 20653 // Available cpu values: 4096 (4 vCPU) 20654 Memory *string `locationName:"memory" type:"string"` 20655 20656 // One or more container overrides. 20657 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 20658 20659 // The platform version on which your task is running. A platform version is 20660 // only specified for tasks using the Fargate launch type. If one is not specified, 20661 // the LATEST platform version is used by default. For more information, see 20662 // Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 20663 // in the Amazon Elastic Container Service Developer Guide. 20664 PlatformVersion *string `locationName:"platformVersion" type:"string"` 20665 20666 // The Unix timestamp for when the container image pull began. 20667 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 20668 20669 // The Unix timestamp for when the container image pull completed. 20670 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 20671 20672 // The Unix timestamp for when the task started (the task transitioned from 20673 // the PENDING state to the RUNNING state). 20674 StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` 20675 20676 // The tag specified when a task is started. If the task is started by an Amazon 20677 // ECS service, then the startedBy parameter contains the deployment ID of the 20678 // service that starts it. 20679 StartedBy *string `locationName:"startedBy" type:"string"` 20680 20681 // The stop code indicating why a task was stopped. The stoppedReason may contain 20682 // additional details. 20683 StopCode *string `locationName:"stopCode" type:"string" enum:"TaskStopCode"` 20684 20685 // The Unix timestamp for when the task was stopped (the task transitioned from 20686 // the RUNNING state to the STOPPED state). 20687 StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp"` 20688 20689 // The reason that the task was stopped. 20690 StoppedReason *string `locationName:"stoppedReason" type:"string"` 20691 20692 // The Unix timestamp for when the task stops (transitions from the RUNNING 20693 // state to STOPPED). 20694 StoppingAt *time.Time `locationName:"stoppingAt" type:"timestamp"` 20695 20696 // The metadata that you apply to the task to help you categorize and organize 20697 // them. Each tag consists of a key and an optional value, both of which you 20698 // define. 20699 // 20700 // The following basic restrictions apply to tags: 20701 // 20702 // * Maximum number of tags per resource - 50 20703 // 20704 // * For each resource, each tag key must be unique, and each tag key can 20705 // have only one value. 20706 // 20707 // * Maximum key length - 128 Unicode characters in UTF-8 20708 // 20709 // * Maximum value length - 256 Unicode characters in UTF-8 20710 // 20711 // * If your tagging schema is used across multiple services and resources, 20712 // remember that other services may have restrictions on allowed characters. 20713 // Generally allowed characters are: letters, numbers, and spaces representable 20714 // in UTF-8, and the following characters: + - = . _ : / @. 20715 // 20716 // * Tag keys and values are case-sensitive. 20717 // 20718 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 20719 // as a prefix for either keys or values as it is reserved for Amazon Web 20720 // Services use. You cannot edit or delete tag keys or values with this prefix. 20721 // Tags with this prefix do not count against your tags per resource limit. 20722 Tags []*Tag `locationName:"tags" type:"list"` 20723 20724 // The Amazon Resource Name (ARN) of the task. 20725 TaskArn *string `locationName:"taskArn" type:"string"` 20726 20727 // The ARN of the task definition that creates the task. 20728 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 20729 20730 // The version counter for the task. Every time a task experiences a change 20731 // that triggers a CloudWatch event, the version counter is incremented. If 20732 // you are replicating your Amazon ECS task state with CloudWatch Events, you 20733 // can compare the version of a task reported by the Amazon ECS API actions 20734 // with the version reported in CloudWatch Events for the task (inside the detail 20735 // object) to verify that the version in your event stream is current. 20736 Version *int64 `locationName:"version" type:"long"` 20737 } 20738 20739 // String returns the string representation. 20740 // 20741 // API parameter values that are decorated as "sensitive" in the API will not 20742 // be included in the string output. The member name will be present, but the 20743 // value will be replaced with "sensitive". 20744 func (s Task) String() string { 20745 return awsutil.Prettify(s) 20746 } 20747 20748 // GoString returns the string representation. 20749 // 20750 // API parameter values that are decorated as "sensitive" in the API will not 20751 // be included in the string output. The member name will be present, but the 20752 // value will be replaced with "sensitive". 20753 func (s Task) GoString() string { 20754 return s.String() 20755 } 20756 20757 // SetAttachments sets the Attachments field's value. 20758 func (s *Task) SetAttachments(v []*Attachment) *Task { 20759 s.Attachments = v 20760 return s 20761 } 20762 20763 // SetAttributes sets the Attributes field's value. 20764 func (s *Task) SetAttributes(v []*Attribute) *Task { 20765 s.Attributes = v 20766 return s 20767 } 20768 20769 // SetAvailabilityZone sets the AvailabilityZone field's value. 20770 func (s *Task) SetAvailabilityZone(v string) *Task { 20771 s.AvailabilityZone = &v 20772 return s 20773 } 20774 20775 // SetCapacityProviderName sets the CapacityProviderName field's value. 20776 func (s *Task) SetCapacityProviderName(v string) *Task { 20777 s.CapacityProviderName = &v 20778 return s 20779 } 20780 20781 // SetClusterArn sets the ClusterArn field's value. 20782 func (s *Task) SetClusterArn(v string) *Task { 20783 s.ClusterArn = &v 20784 return s 20785 } 20786 20787 // SetConnectivity sets the Connectivity field's value. 20788 func (s *Task) SetConnectivity(v string) *Task { 20789 s.Connectivity = &v 20790 return s 20791 } 20792 20793 // SetConnectivityAt sets the ConnectivityAt field's value. 20794 func (s *Task) SetConnectivityAt(v time.Time) *Task { 20795 s.ConnectivityAt = &v 20796 return s 20797 } 20798 20799 // SetContainerInstanceArn sets the ContainerInstanceArn field's value. 20800 func (s *Task) SetContainerInstanceArn(v string) *Task { 20801 s.ContainerInstanceArn = &v 20802 return s 20803 } 20804 20805 // SetContainers sets the Containers field's value. 20806 func (s *Task) SetContainers(v []*Container) *Task { 20807 s.Containers = v 20808 return s 20809 } 20810 20811 // SetCpu sets the Cpu field's value. 20812 func (s *Task) SetCpu(v string) *Task { 20813 s.Cpu = &v 20814 return s 20815 } 20816 20817 // SetCreatedAt sets the CreatedAt field's value. 20818 func (s *Task) SetCreatedAt(v time.Time) *Task { 20819 s.CreatedAt = &v 20820 return s 20821 } 20822 20823 // SetDesiredStatus sets the DesiredStatus field's value. 20824 func (s *Task) SetDesiredStatus(v string) *Task { 20825 s.DesiredStatus = &v 20826 return s 20827 } 20828 20829 // SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 20830 func (s *Task) SetEnableExecuteCommand(v bool) *Task { 20831 s.EnableExecuteCommand = &v 20832 return s 20833 } 20834 20835 // SetEphemeralStorage sets the EphemeralStorage field's value. 20836 func (s *Task) SetEphemeralStorage(v *EphemeralStorage) *Task { 20837 s.EphemeralStorage = v 20838 return s 20839 } 20840 20841 // SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 20842 func (s *Task) SetExecutionStoppedAt(v time.Time) *Task { 20843 s.ExecutionStoppedAt = &v 20844 return s 20845 } 20846 20847 // SetGroup sets the Group field's value. 20848 func (s *Task) SetGroup(v string) *Task { 20849 s.Group = &v 20850 return s 20851 } 20852 20853 // SetHealthStatus sets the HealthStatus field's value. 20854 func (s *Task) SetHealthStatus(v string) *Task { 20855 s.HealthStatus = &v 20856 return s 20857 } 20858 20859 // SetInferenceAccelerators sets the InferenceAccelerators field's value. 20860 func (s *Task) SetInferenceAccelerators(v []*InferenceAccelerator) *Task { 20861 s.InferenceAccelerators = v 20862 return s 20863 } 20864 20865 // SetLastStatus sets the LastStatus field's value. 20866 func (s *Task) SetLastStatus(v string) *Task { 20867 s.LastStatus = &v 20868 return s 20869 } 20870 20871 // SetLaunchType sets the LaunchType field's value. 20872 func (s *Task) SetLaunchType(v string) *Task { 20873 s.LaunchType = &v 20874 return s 20875 } 20876 20877 // SetMemory sets the Memory field's value. 20878 func (s *Task) SetMemory(v string) *Task { 20879 s.Memory = &v 20880 return s 20881 } 20882 20883 // SetOverrides sets the Overrides field's value. 20884 func (s *Task) SetOverrides(v *TaskOverride) *Task { 20885 s.Overrides = v 20886 return s 20887 } 20888 20889 // SetPlatformVersion sets the PlatformVersion field's value. 20890 func (s *Task) SetPlatformVersion(v string) *Task { 20891 s.PlatformVersion = &v 20892 return s 20893 } 20894 20895 // SetPullStartedAt sets the PullStartedAt field's value. 20896 func (s *Task) SetPullStartedAt(v time.Time) *Task { 20897 s.PullStartedAt = &v 20898 return s 20899 } 20900 20901 // SetPullStoppedAt sets the PullStoppedAt field's value. 20902 func (s *Task) SetPullStoppedAt(v time.Time) *Task { 20903 s.PullStoppedAt = &v 20904 return s 20905 } 20906 20907 // SetStartedAt sets the StartedAt field's value. 20908 func (s *Task) SetStartedAt(v time.Time) *Task { 20909 s.StartedAt = &v 20910 return s 20911 } 20912 20913 // SetStartedBy sets the StartedBy field's value. 20914 func (s *Task) SetStartedBy(v string) *Task { 20915 s.StartedBy = &v 20916 return s 20917 } 20918 20919 // SetStopCode sets the StopCode field's value. 20920 func (s *Task) SetStopCode(v string) *Task { 20921 s.StopCode = &v 20922 return s 20923 } 20924 20925 // SetStoppedAt sets the StoppedAt field's value. 20926 func (s *Task) SetStoppedAt(v time.Time) *Task { 20927 s.StoppedAt = &v 20928 return s 20929 } 20930 20931 // SetStoppedReason sets the StoppedReason field's value. 20932 func (s *Task) SetStoppedReason(v string) *Task { 20933 s.StoppedReason = &v 20934 return s 20935 } 20936 20937 // SetStoppingAt sets the StoppingAt field's value. 20938 func (s *Task) SetStoppingAt(v time.Time) *Task { 20939 s.StoppingAt = &v 20940 return s 20941 } 20942 20943 // SetTags sets the Tags field's value. 20944 func (s *Task) SetTags(v []*Tag) *Task { 20945 s.Tags = v 20946 return s 20947 } 20948 20949 // SetTaskArn sets the TaskArn field's value. 20950 func (s *Task) SetTaskArn(v string) *Task { 20951 s.TaskArn = &v 20952 return s 20953 } 20954 20955 // SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 20956 func (s *Task) SetTaskDefinitionArn(v string) *Task { 20957 s.TaskDefinitionArn = &v 20958 return s 20959 } 20960 20961 // SetVersion sets the Version field's value. 20962 func (s *Task) SetVersion(v int64) *Task { 20963 s.Version = &v 20964 return s 20965 } 20966 20967 // The details of a task definition which describes the container and volume 20968 // definitions of an Amazon Elastic Container Service task. You can specify 20969 // which Docker images to use, the required resources, and other configurations 20970 // related to launching the task definition through an Amazon ECS service or 20971 // task. 20972 type TaskDefinition struct { 20973 _ struct{} `type:"structure"` 20974 20975 // The task launch types the task definition validated against during task definition 20976 // registration. For more information, see Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 20977 // in the Amazon Elastic Container Service Developer Guide. 20978 Compatibilities []*string `locationName:"compatibilities" type:"list"` 20979 20980 // A list of container definitions in JSON format that describe the different 20981 // containers that make up your task. For more information about container definition 20982 // parameters and defaults, see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 20983 // in the Amazon Elastic Container Service Developer Guide. 20984 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` 20985 20986 // The number of cpu units used by the task. If you are using the EC2 launch 20987 // type, this field is optional and any value can be used. If you are using 20988 // the Fargate launch type, this field is required and you must use one of the 20989 // following values, which determines your range of valid values for the memory 20990 // parameter: 20991 // 20992 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 20993 // 2048 (2 GB) 20994 // 20995 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 20996 // (3 GB), 4096 (4 GB) 20997 // 20998 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 20999 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 21000 // 21001 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 21002 // (16 GB) in increments of 1024 (1 GB) 21003 // 21004 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 21005 // (30 GB) in increments of 1024 (1 GB) 21006 Cpu *string `locationName:"cpu" type:"string"` 21007 21008 // The Unix timestamp for when the task definition was deregistered. 21009 DeregisteredAt *time.Time `locationName:"deregisteredAt" type:"timestamp"` 21010 21011 // The ephemeral storage settings to use for tasks run with the task definition. 21012 EphemeralStorage *EphemeralStorage `locationName:"ephemeralStorage" type:"structure"` 21013 21014 // The Amazon Resource Name (ARN) of the task execution role that grants the 21015 // Amazon ECS container agent permission to make Amazon Web Services API calls 21016 // on your behalf. The task execution IAM role is required depending on the 21017 // requirements of your task. For more information, see Amazon ECS task execution 21018 // IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) 21019 // in the Amazon Elastic Container Service Developer Guide. 21020 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 21021 21022 // The name of a family that this task definition is registered to. Up to 255 21023 // letters (uppercase and lowercase), numbers, hyphens, and underscores are 21024 // allowed. 21025 // 21026 // A family groups multiple versions of a task definition. Amazon ECS gives 21027 // the first task definition that you registered to a family a revision number 21028 // of 1. Amazon ECS gives sequential revision numbers to each task definition 21029 // that you add. 21030 Family *string `locationName:"family" type:"string"` 21031 21032 // The Elastic Inference accelerator associated with the task. 21033 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 21034 21035 // The IPC resource namespace to use for the containers in the task. The valid 21036 // values are host, task, or none. If host is specified, then all containers 21037 // within the tasks that specified the host IPC mode on the same container instance 21038 // share the same IPC resources with the host Amazon EC2 instance. If task is 21039 // specified, all containers within the specified task share the same IPC resources. 21040 // If none is specified, then IPC resources within the containers of a task 21041 // are private and not shared with other containers in a task or on the container 21042 // instance. If no value is specified, then the IPC resource namespace sharing 21043 // depends on the Docker daemon setting on the container instance. For more 21044 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 21045 // in the Docker run reference. 21046 // 21047 // If the host IPC mode is used, be aware that there is a heightened risk of 21048 // undesired IPC namespace expose. For more information, see Docker security 21049 // (https://docs.docker.com/engine/security/security/). 21050 // 21051 // If you are setting namespaced kernel parameters using systemControls for 21052 // the containers in the task, the following will apply to your IPC resource 21053 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 21054 // in the Amazon Elastic Container Service Developer Guide. 21055 // 21056 // * For tasks that use the host IPC mode, IPC namespace related systemControls 21057 // are not supported. 21058 // 21059 // * For tasks that use the task IPC mode, IPC namespace related systemControls 21060 // will apply to all containers within a task. 21061 // 21062 // This parameter is not supported for Windows containers or tasks run on Fargate. 21063 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 21064 21065 // The amount (in MiB) of memory used by the task. 21066 // 21067 // If your tasks will be run on Amazon EC2 instances, you must specify either 21068 // a task-level memory value or a container-level memory value. This field is 21069 // optional and any value can be used. If a task-level memory value is specified 21070 // then the container-level memory value is optional. For more information regarding 21071 // container-level memory and memory reservation, see ContainerDefinition (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html). 21072 // 21073 // If your tasks will be run on Fargate, this field is required and you must 21074 // use one of the following values, which determines your range of valid values 21075 // for the cpu parameter: 21076 // 21077 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 21078 // vCPU) 21079 // 21080 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 21081 // 512 (.5 vCPU) 21082 // 21083 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 21084 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 21085 // 21086 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 21087 // Available cpu values: 2048 (2 vCPU) 21088 // 21089 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 21090 // Available cpu values: 4096 (4 vCPU) 21091 Memory *string `locationName:"memory" type:"string"` 21092 21093 // The Docker networking mode to use for the containers in the task. The valid 21094 // values are none, bridge, awsvpc, and host. If no network mode is specified, 21095 // the default is bridge. 21096 // 21097 // For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For 21098 // Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. 21099 // For Amazon ECS tasks on Amazon EC2 Windows instances, <default> or awsvpc 21100 // can be used. If the network mode is set to none, you cannot specify port 21101 // mappings in your container definitions, and the tasks containers do not have 21102 // external connectivity. The host and awsvpc network modes offer the highest 21103 // networking performance for containers because they use the EC2 network stack 21104 // instead of the virtualized network stack provided by the bridge mode. 21105 // 21106 // With the host and awsvpc network modes, exposed container ports are mapped 21107 // directly to the corresponding host port (for the host network mode) or the 21108 // attached elastic network interface port (for the awsvpc network mode), so 21109 // you cannot take advantage of dynamic host port mappings. 21110 // 21111 // When using the host network mode, you should not run containers using the 21112 // root user (UID 0). It is considered best practice to use a non-root user. 21113 // 21114 // If the network mode is awsvpc, the task is allocated an elastic network interface, 21115 // and you must specify a NetworkConfiguration value when you create a service 21116 // or run a task with the task definition. For more information, see Task Networking 21117 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 21118 // in the Amazon Elastic Container Service Developer Guide. 21119 // 21120 // If the network mode is host, you cannot run multiple instantiations of the 21121 // same task on a single container instance when port mappings are used. 21122 // 21123 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 21124 // in the Docker run reference. 21125 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 21126 21127 // The process namespace to use for the containers in the task. The valid values 21128 // are host or task. If host is specified, then all containers within the tasks 21129 // that specified the host PID mode on the same container instance share the 21130 // same process namespace with the host Amazon EC2 instance. If task is specified, 21131 // all containers within the specified task share the same process namespace. 21132 // If no value is specified, the default is a private namespace. For more information, 21133 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 21134 // in the Docker run reference. 21135 // 21136 // If the host PID mode is used, be aware that there is a heightened risk of 21137 // undesired process namespace expose. For more information, see Docker security 21138 // (https://docs.docker.com/engine/security/security/). 21139 // 21140 // This parameter is not supported for Windows containers or tasks run on Fargate. 21141 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 21142 21143 // An array of placement constraint objects to use for tasks. 21144 // 21145 // This parameter is not supported for tasks run on Fargate. 21146 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 21147 21148 // The configuration details for the App Mesh proxy. 21149 // 21150 // Your Amazon ECS container instances require at least version 1.26.0 of the 21151 // container agent and at least version 1.26.0-1 of the ecs-init package to 21152 // enable a proxy configuration. If your container instances are launched from 21153 // the Amazon ECS-optimized AMI version 20190301 or later, then they contain 21154 // the required versions of the container agent and ecs-init. For more information, 21155 // see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 21156 // in the Amazon Elastic Container Service Developer Guide. 21157 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 21158 21159 // The Unix timestamp for when the task definition was registered. 21160 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 21161 21162 // The principal that registered the task definition. 21163 RegisteredBy *string `locationName:"registeredBy" type:"string"` 21164 21165 // The container instance attributes required by your task. When an Amazon EC2 21166 // instance is registered to your cluster, the Amazon ECS container agent assigns 21167 // some standard attributes to the instance. You can apply custom attributes, 21168 // specified as key-value pairs using the Amazon ECS console or the PutAttributes 21169 // API. These attributes are used when considering task placement for tasks 21170 // hosted on Amazon EC2 instances. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 21171 // in the Amazon Elastic Container Service Developer Guide. 21172 // 21173 // This parameter is not supported for tasks run on Fargate. 21174 RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` 21175 21176 // The task launch types the task definition was validated against. To determine 21177 // which task launch types the task definition is validated for, see the TaskDefinition$compatibilities 21178 // parameter. 21179 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 21180 21181 // The revision of the task in a particular family. The revision is a version 21182 // number of a task definition in a family. When you register a task definition 21183 // for the first time, the revision is 1. Each time that you register a new 21184 // revision of a task definition in the same family, the revision value always 21185 // increases by one, even if you have deregistered previous revisions in this 21186 // family. 21187 Revision *int64 `locationName:"revision" type:"integer"` 21188 21189 // The status of the task definition. 21190 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 21191 21192 // The full Amazon Resource Name (ARN) of the task definition. 21193 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 21194 21195 // The short name or full Amazon Resource Name (ARN) of the Identity and Access 21196 // Management role that grants containers in the task permission to call Amazon 21197 // Web Services APIs on your behalf. For more information, see Amazon ECS Task 21198 // Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 21199 // in the Amazon Elastic Container Service Developer Guide. 21200 // 21201 // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option 21202 // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers 21203 // must also run some configuration code in order to take advantage of the feature. 21204 // For more information, see Windows IAM roles for tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) 21205 // in the Amazon Elastic Container Service Developer Guide. 21206 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 21207 21208 // The list of data volume definitions for the task. For more information, see 21209 // Using data volumes in tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html) 21210 // in the Amazon Elastic Container Service Developer Guide. 21211 // 21212 // The host and sourcePath parameters are not supported for tasks run on Fargate. 21213 Volumes []*Volume `locationName:"volumes" type:"list"` 21214 } 21215 21216 // String returns the string representation. 21217 // 21218 // API parameter values that are decorated as "sensitive" in the API will not 21219 // be included in the string output. The member name will be present, but the 21220 // value will be replaced with "sensitive". 21221 func (s TaskDefinition) String() string { 21222 return awsutil.Prettify(s) 21223 } 21224 21225 // GoString returns the string representation. 21226 // 21227 // API parameter values that are decorated as "sensitive" in the API will not 21228 // be included in the string output. The member name will be present, but the 21229 // value will be replaced with "sensitive". 21230 func (s TaskDefinition) GoString() string { 21231 return s.String() 21232 } 21233 21234 // SetCompatibilities sets the Compatibilities field's value. 21235 func (s *TaskDefinition) SetCompatibilities(v []*string) *TaskDefinition { 21236 s.Compatibilities = v 21237 return s 21238 } 21239 21240 // SetContainerDefinitions sets the ContainerDefinitions field's value. 21241 func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition { 21242 s.ContainerDefinitions = v 21243 return s 21244 } 21245 21246 // SetCpu sets the Cpu field's value. 21247 func (s *TaskDefinition) SetCpu(v string) *TaskDefinition { 21248 s.Cpu = &v 21249 return s 21250 } 21251 21252 // SetDeregisteredAt sets the DeregisteredAt field's value. 21253 func (s *TaskDefinition) SetDeregisteredAt(v time.Time) *TaskDefinition { 21254 s.DeregisteredAt = &v 21255 return s 21256 } 21257 21258 // SetEphemeralStorage sets the EphemeralStorage field's value. 21259 func (s *TaskDefinition) SetEphemeralStorage(v *EphemeralStorage) *TaskDefinition { 21260 s.EphemeralStorage = v 21261 return s 21262 } 21263 21264 // SetExecutionRoleArn sets the ExecutionRoleArn field's value. 21265 func (s *TaskDefinition) SetExecutionRoleArn(v string) *TaskDefinition { 21266 s.ExecutionRoleArn = &v 21267 return s 21268 } 21269 21270 // SetFamily sets the Family field's value. 21271 func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { 21272 s.Family = &v 21273 return s 21274 } 21275 21276 // SetInferenceAccelerators sets the InferenceAccelerators field's value. 21277 func (s *TaskDefinition) SetInferenceAccelerators(v []*InferenceAccelerator) *TaskDefinition { 21278 s.InferenceAccelerators = v 21279 return s 21280 } 21281 21282 // SetIpcMode sets the IpcMode field's value. 21283 func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition { 21284 s.IpcMode = &v 21285 return s 21286 } 21287 21288 // SetMemory sets the Memory field's value. 21289 func (s *TaskDefinition) SetMemory(v string) *TaskDefinition { 21290 s.Memory = &v 21291 return s 21292 } 21293 21294 // SetNetworkMode sets the NetworkMode field's value. 21295 func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition { 21296 s.NetworkMode = &v 21297 return s 21298 } 21299 21300 // SetPidMode sets the PidMode field's value. 21301 func (s *TaskDefinition) SetPidMode(v string) *TaskDefinition { 21302 s.PidMode = &v 21303 return s 21304 } 21305 21306 // SetPlacementConstraints sets the PlacementConstraints field's value. 21307 func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition { 21308 s.PlacementConstraints = v 21309 return s 21310 } 21311 21312 // SetProxyConfiguration sets the ProxyConfiguration field's value. 21313 func (s *TaskDefinition) SetProxyConfiguration(v *ProxyConfiguration) *TaskDefinition { 21314 s.ProxyConfiguration = v 21315 return s 21316 } 21317 21318 // SetRegisteredAt sets the RegisteredAt field's value. 21319 func (s *TaskDefinition) SetRegisteredAt(v time.Time) *TaskDefinition { 21320 s.RegisteredAt = &v 21321 return s 21322 } 21323 21324 // SetRegisteredBy sets the RegisteredBy field's value. 21325 func (s *TaskDefinition) SetRegisteredBy(v string) *TaskDefinition { 21326 s.RegisteredBy = &v 21327 return s 21328 } 21329 21330 // SetRequiresAttributes sets the RequiresAttributes field's value. 21331 func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition { 21332 s.RequiresAttributes = v 21333 return s 21334 } 21335 21336 // SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 21337 func (s *TaskDefinition) SetRequiresCompatibilities(v []*string) *TaskDefinition { 21338 s.RequiresCompatibilities = v 21339 return s 21340 } 21341 21342 // SetRevision sets the Revision field's value. 21343 func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition { 21344 s.Revision = &v 21345 return s 21346 } 21347 21348 // SetStatus sets the Status field's value. 21349 func (s *TaskDefinition) SetStatus(v string) *TaskDefinition { 21350 s.Status = &v 21351 return s 21352 } 21353 21354 // SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 21355 func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition { 21356 s.TaskDefinitionArn = &v 21357 return s 21358 } 21359 21360 // SetTaskRoleArn sets the TaskRoleArn field's value. 21361 func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition { 21362 s.TaskRoleArn = &v 21363 return s 21364 } 21365 21366 // SetVolumes sets the Volumes field's value. 21367 func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { 21368 s.Volumes = v 21369 return s 21370 } 21371 21372 // An object representing a constraint on task placement in the task definition. 21373 // For more information, see Task placement constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 21374 // in the Amazon Elastic Container Service Developer Guide. 21375 // 21376 // Task placement constraints are not supported for tasks run on Fargate. 21377 type TaskDefinitionPlacementConstraint struct { 21378 _ struct{} `type:"structure"` 21379 21380 // A cluster query language expression to apply to the constraint. For more 21381 // information, see Cluster query language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 21382 // in the Amazon Elastic Container Service Developer Guide. 21383 Expression *string `locationName:"expression" type:"string"` 21384 21385 // The type of constraint. The MemberOf constraint restricts selection to be 21386 // from a group of valid candidates. 21387 Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"` 21388 } 21389 21390 // String returns the string representation. 21391 // 21392 // API parameter values that are decorated as "sensitive" in the API will not 21393 // be included in the string output. The member name will be present, but the 21394 // value will be replaced with "sensitive". 21395 func (s TaskDefinitionPlacementConstraint) String() string { 21396 return awsutil.Prettify(s) 21397 } 21398 21399 // GoString returns the string representation. 21400 // 21401 // API parameter values that are decorated as "sensitive" in the API will not 21402 // be included in the string output. The member name will be present, but the 21403 // value will be replaced with "sensitive". 21404 func (s TaskDefinitionPlacementConstraint) GoString() string { 21405 return s.String() 21406 } 21407 21408 // SetExpression sets the Expression field's value. 21409 func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint { 21410 s.Expression = &v 21411 return s 21412 } 21413 21414 // SetType sets the Type field's value. 21415 func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint { 21416 s.Type = &v 21417 return s 21418 } 21419 21420 // The overrides associated with a task. 21421 type TaskOverride struct { 21422 _ struct{} `type:"structure"` 21423 21424 // One or more container overrides sent to a task. 21425 ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` 21426 21427 // The cpu override for the task. 21428 Cpu *string `locationName:"cpu" type:"string"` 21429 21430 // The ephemeral storage setting override for the task. 21431 // 21432 // This parameter is only supported for tasks hosted on Fargate using platform 21433 // version 1.4.0 or later. 21434 EphemeralStorage *EphemeralStorage `locationName:"ephemeralStorage" type:"structure"` 21435 21436 // The Amazon Resource Name (ARN) of the task execution IAM role override for 21437 // the task. 21438 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 21439 21440 // The Elastic Inference accelerator override for the task. 21441 InferenceAcceleratorOverrides []*InferenceAcceleratorOverride `locationName:"inferenceAcceleratorOverrides" type:"list"` 21442 21443 // The memory override for the task. 21444 Memory *string `locationName:"memory" type:"string"` 21445 21446 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 21447 // can assume. All containers in this task are granted the permissions that 21448 // are specified in this role. 21449 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 21450 } 21451 21452 // String returns the string representation. 21453 // 21454 // API parameter values that are decorated as "sensitive" in the API will not 21455 // be included in the string output. The member name will be present, but the 21456 // value will be replaced with "sensitive". 21457 func (s TaskOverride) String() string { 21458 return awsutil.Prettify(s) 21459 } 21460 21461 // GoString returns the string representation. 21462 // 21463 // API parameter values that are decorated as "sensitive" in the API will not 21464 // be included in the string output. The member name will be present, but the 21465 // value will be replaced with "sensitive". 21466 func (s TaskOverride) GoString() string { 21467 return s.String() 21468 } 21469 21470 // Validate inspects the fields of the type to determine if they are valid. 21471 func (s *TaskOverride) Validate() error { 21472 invalidParams := request.ErrInvalidParams{Context: "TaskOverride"} 21473 if s.ContainerOverrides != nil { 21474 for i, v := range s.ContainerOverrides { 21475 if v == nil { 21476 continue 21477 } 21478 if err := v.Validate(); err != nil { 21479 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerOverrides", i), err.(request.ErrInvalidParams)) 21480 } 21481 } 21482 } 21483 if s.EphemeralStorage != nil { 21484 if err := s.EphemeralStorage.Validate(); err != nil { 21485 invalidParams.AddNested("EphemeralStorage", err.(request.ErrInvalidParams)) 21486 } 21487 } 21488 21489 if invalidParams.Len() > 0 { 21490 return invalidParams 21491 } 21492 return nil 21493 } 21494 21495 // SetContainerOverrides sets the ContainerOverrides field's value. 21496 func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { 21497 s.ContainerOverrides = v 21498 return s 21499 } 21500 21501 // SetCpu sets the Cpu field's value. 21502 func (s *TaskOverride) SetCpu(v string) *TaskOverride { 21503 s.Cpu = &v 21504 return s 21505 } 21506 21507 // SetEphemeralStorage sets the EphemeralStorage field's value. 21508 func (s *TaskOverride) SetEphemeralStorage(v *EphemeralStorage) *TaskOverride { 21509 s.EphemeralStorage = v 21510 return s 21511 } 21512 21513 // SetExecutionRoleArn sets the ExecutionRoleArn field's value. 21514 func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride { 21515 s.ExecutionRoleArn = &v 21516 return s 21517 } 21518 21519 // SetInferenceAcceleratorOverrides sets the InferenceAcceleratorOverrides field's value. 21520 func (s *TaskOverride) SetInferenceAcceleratorOverrides(v []*InferenceAcceleratorOverride) *TaskOverride { 21521 s.InferenceAcceleratorOverrides = v 21522 return s 21523 } 21524 21525 // SetMemory sets the Memory field's value. 21526 func (s *TaskOverride) SetMemory(v string) *TaskOverride { 21527 s.Memory = &v 21528 return s 21529 } 21530 21531 // SetTaskRoleArn sets the TaskRoleArn field's value. 21532 func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { 21533 s.TaskRoleArn = &v 21534 return s 21535 } 21536 21537 // Information about a set of Amazon ECS tasks in either an CodeDeploy or an 21538 // EXTERNAL deployment. An Amazon ECS task set includes details such as the 21539 // desired number of tasks, how many tasks are running, and whether the task 21540 // set serves production traffic. 21541 type TaskSet struct { 21542 _ struct{} `type:"structure"` 21543 21544 // The capacity provider strategy associated with the task set. 21545 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 21546 21547 // The Amazon Resource Name (ARN) of the cluster that the service that hosts 21548 // the task set exists in. 21549 ClusterArn *string `locationName:"clusterArn" type:"string"` 21550 21551 // The computed desired count for the task set. This is calculated by multiplying 21552 // the service's desiredCount by the task set's scale percentage. The result 21553 // is always rounded up. For example, if the computed desired count is 1.2, 21554 // it rounds up to 2 tasks. 21555 ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"` 21556 21557 // The Unix timestamp for when the task set was created. 21558 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 21559 21560 // The external ID associated with the task set. 21561 // 21562 // If a task set is created by an CodeDeploy deployment, the externalId parameter 21563 // contains the CodeDeploy deployment ID. 21564 // 21565 // If a task set is created for an external deployment and is associated with 21566 // a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID 21567 // Cloud Map attribute. 21568 ExternalId *string `locationName:"externalId" type:"string"` 21569 21570 // The ID of the task set. 21571 Id *string `locationName:"id" type:"string"` 21572 21573 // The launch type the tasks in the task set are using. For more information, 21574 // see Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 21575 // in the Amazon Elastic Container Service Developer Guide. 21576 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 21577 21578 // Details on a load balancer that is used with a task set. 21579 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 21580 21581 // The network configuration for the task set. 21582 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 21583 21584 // The number of tasks in the task set that are in the PENDING status during 21585 // a deployment. A task in the PENDING state is preparing to enter the RUNNING 21586 // state. A task set enters the PENDING status when it launches for the first 21587 // time or when it is restarted after being in the STOPPED state. 21588 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 21589 21590 // The Fargate platform version on which the tasks in the task set are running. 21591 // A platform version is only specified for tasks run on Fargate. For more information, 21592 // see Fargate platform versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 21593 // in the Amazon Elastic Container Service Developer Guide. 21594 PlatformVersion *string `locationName:"platformVersion" type:"string"` 21595 21596 // The number of tasks in the task set that are in the RUNNING status during 21597 // a deployment. A task in the RUNNING state is running and ready for use. 21598 RunningCount *int64 `locationName:"runningCount" type:"integer"` 21599 21600 // A floating-point percentage of the desired number of tasks to place and keep 21601 // running in the task set. 21602 Scale *Scale `locationName:"scale" type:"structure"` 21603 21604 // The Amazon Resource Name (ARN) of the service the task set exists in. 21605 ServiceArn *string `locationName:"serviceArn" type:"string"` 21606 21607 // The details of the service discovery registries to assign to this task set. 21608 // For more information, see Service discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 21609 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 21610 21611 // The stability status, which indicates whether the task set has reached a 21612 // steady state. If the following conditions are met, the task set will be in 21613 // STEADY_STATE: 21614 // 21615 // * The task runningCount is equal to the computedDesiredCount. 21616 // 21617 // * The pendingCount is 0. 21618 // 21619 // * There are no tasks running on container instances in the DRAINING status. 21620 // 21621 // * All tasks are reporting a healthy status from the load balancers, service 21622 // discovery, and container health checks. 21623 // 21624 // If any of those conditions are not met, the stability status returns STABILIZING. 21625 StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"` 21626 21627 // The Unix timestamp for when the task set stability status was retrieved. 21628 StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"` 21629 21630 // The tag specified when a task set is started. If the task set is created 21631 // by an CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. For 21632 // a task set created for an external deployment, the startedBy field isn't 21633 // used. 21634 StartedBy *string `locationName:"startedBy" type:"string"` 21635 21636 // The status of the task set. The following describes each state: 21637 // 21638 // PRIMARY 21639 // 21640 // The task set is serving production traffic. 21641 // 21642 // ACTIVE 21643 // 21644 // The task set is not serving production traffic. 21645 // 21646 // DRAINING 21647 // 21648 // The tasks in the task set are being stopped and their corresponding targets 21649 // are being deregistered from their target group. 21650 Status *string `locationName:"status" type:"string"` 21651 21652 // The metadata that you apply to the task set to help you categorize and organize 21653 // them. Each tag consists of a key and an optional value, both of which you 21654 // define. 21655 // 21656 // The following basic restrictions apply to tags: 21657 // 21658 // * Maximum number of tags per resource - 50 21659 // 21660 // * For each resource, each tag key must be unique, and each tag key can 21661 // have only one value. 21662 // 21663 // * Maximum key length - 128 Unicode characters in UTF-8 21664 // 21665 // * Maximum value length - 256 Unicode characters in UTF-8 21666 // 21667 // * If your tagging schema is used across multiple services and resources, 21668 // remember that other services may have restrictions on allowed characters. 21669 // Generally allowed characters are: letters, numbers, and spaces representable 21670 // in UTF-8, and the following characters: + - = . _ : / @. 21671 // 21672 // * Tag keys and values are case-sensitive. 21673 // 21674 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 21675 // as a prefix for either keys or values as it is reserved for Amazon Web 21676 // Services use. You cannot edit or delete tag keys or values with this prefix. 21677 // Tags with this prefix do not count against your tags per resource limit. 21678 Tags []*Tag `locationName:"tags" type:"list"` 21679 21680 // The task definition the task set is using. 21681 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 21682 21683 // The Amazon Resource Name (ARN) of the task set. 21684 TaskSetArn *string `locationName:"taskSetArn" type:"string"` 21685 21686 // The Unix timestamp for when the task set was last updated. 21687 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 21688 } 21689 21690 // String returns the string representation. 21691 // 21692 // API parameter values that are decorated as "sensitive" in the API will not 21693 // be included in the string output. The member name will be present, but the 21694 // value will be replaced with "sensitive". 21695 func (s TaskSet) String() string { 21696 return awsutil.Prettify(s) 21697 } 21698 21699 // GoString returns the string representation. 21700 // 21701 // API parameter values that are decorated as "sensitive" in the API will not 21702 // be included in the string output. The member name will be present, but the 21703 // value will be replaced with "sensitive". 21704 func (s TaskSet) GoString() string { 21705 return s.String() 21706 } 21707 21708 // SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 21709 func (s *TaskSet) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *TaskSet { 21710 s.CapacityProviderStrategy = v 21711 return s 21712 } 21713 21714 // SetClusterArn sets the ClusterArn field's value. 21715 func (s *TaskSet) SetClusterArn(v string) *TaskSet { 21716 s.ClusterArn = &v 21717 return s 21718 } 21719 21720 // SetComputedDesiredCount sets the ComputedDesiredCount field's value. 21721 func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet { 21722 s.ComputedDesiredCount = &v 21723 return s 21724 } 21725 21726 // SetCreatedAt sets the CreatedAt field's value. 21727 func (s *TaskSet) SetCreatedAt(v time.Time) *TaskSet { 21728 s.CreatedAt = &v 21729 return s 21730 } 21731 21732 // SetExternalId sets the ExternalId field's value. 21733 func (s *TaskSet) SetExternalId(v string) *TaskSet { 21734 s.ExternalId = &v 21735 return s 21736 } 21737 21738 // SetId sets the Id field's value. 21739 func (s *TaskSet) SetId(v string) *TaskSet { 21740 s.Id = &v 21741 return s 21742 } 21743 21744 // SetLaunchType sets the LaunchType field's value. 21745 func (s *TaskSet) SetLaunchType(v string) *TaskSet { 21746 s.LaunchType = &v 21747 return s 21748 } 21749 21750 // SetLoadBalancers sets the LoadBalancers field's value. 21751 func (s *TaskSet) SetLoadBalancers(v []*LoadBalancer) *TaskSet { 21752 s.LoadBalancers = v 21753 return s 21754 } 21755 21756 // SetNetworkConfiguration sets the NetworkConfiguration field's value. 21757 func (s *TaskSet) SetNetworkConfiguration(v *NetworkConfiguration) *TaskSet { 21758 s.NetworkConfiguration = v 21759 return s 21760 } 21761 21762 // SetPendingCount sets the PendingCount field's value. 21763 func (s *TaskSet) SetPendingCount(v int64) *TaskSet { 21764 s.PendingCount = &v 21765 return s 21766 } 21767 21768 // SetPlatformVersion sets the PlatformVersion field's value. 21769 func (s *TaskSet) SetPlatformVersion(v string) *TaskSet { 21770 s.PlatformVersion = &v 21771 return s 21772 } 21773 21774 // SetRunningCount sets the RunningCount field's value. 21775 func (s *TaskSet) SetRunningCount(v int64) *TaskSet { 21776 s.RunningCount = &v 21777 return s 21778 } 21779 21780 // SetScale sets the Scale field's value. 21781 func (s *TaskSet) SetScale(v *Scale) *TaskSet { 21782 s.Scale = v 21783 return s 21784 } 21785 21786 // SetServiceArn sets the ServiceArn field's value. 21787 func (s *TaskSet) SetServiceArn(v string) *TaskSet { 21788 s.ServiceArn = &v 21789 return s 21790 } 21791 21792 // SetServiceRegistries sets the ServiceRegistries field's value. 21793 func (s *TaskSet) SetServiceRegistries(v []*ServiceRegistry) *TaskSet { 21794 s.ServiceRegistries = v 21795 return s 21796 } 21797 21798 // SetStabilityStatus sets the StabilityStatus field's value. 21799 func (s *TaskSet) SetStabilityStatus(v string) *TaskSet { 21800 s.StabilityStatus = &v 21801 return s 21802 } 21803 21804 // SetStabilityStatusAt sets the StabilityStatusAt field's value. 21805 func (s *TaskSet) SetStabilityStatusAt(v time.Time) *TaskSet { 21806 s.StabilityStatusAt = &v 21807 return s 21808 } 21809 21810 // SetStartedBy sets the StartedBy field's value. 21811 func (s *TaskSet) SetStartedBy(v string) *TaskSet { 21812 s.StartedBy = &v 21813 return s 21814 } 21815 21816 // SetStatus sets the Status field's value. 21817 func (s *TaskSet) SetStatus(v string) *TaskSet { 21818 s.Status = &v 21819 return s 21820 } 21821 21822 // SetTags sets the Tags field's value. 21823 func (s *TaskSet) SetTags(v []*Tag) *TaskSet { 21824 s.Tags = v 21825 return s 21826 } 21827 21828 // SetTaskDefinition sets the TaskDefinition field's value. 21829 func (s *TaskSet) SetTaskDefinition(v string) *TaskSet { 21830 s.TaskDefinition = &v 21831 return s 21832 } 21833 21834 // SetTaskSetArn sets the TaskSetArn field's value. 21835 func (s *TaskSet) SetTaskSetArn(v string) *TaskSet { 21836 s.TaskSetArn = &v 21837 return s 21838 } 21839 21840 // SetUpdatedAt sets the UpdatedAt field's value. 21841 func (s *TaskSet) SetUpdatedAt(v time.Time) *TaskSet { 21842 s.UpdatedAt = &v 21843 return s 21844 } 21845 21846 // The specified task set could not be found. You can view your available task 21847 // sets with DescribeTaskSets. Task sets are specific to each cluster, service 21848 // and Region. 21849 type TaskSetNotFoundException struct { 21850 _ struct{} `type:"structure"` 21851 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 21852 21853 Message_ *string `locationName:"message" type:"string"` 21854 } 21855 21856 // String returns the string representation. 21857 // 21858 // API parameter values that are decorated as "sensitive" in the API will not 21859 // be included in the string output. The member name will be present, but the 21860 // value will be replaced with "sensitive". 21861 func (s TaskSetNotFoundException) String() string { 21862 return awsutil.Prettify(s) 21863 } 21864 21865 // GoString returns the string representation. 21866 // 21867 // API parameter values that are decorated as "sensitive" in the API will not 21868 // be included in the string output. The member name will be present, but the 21869 // value will be replaced with "sensitive". 21870 func (s TaskSetNotFoundException) GoString() string { 21871 return s.String() 21872 } 21873 21874 func newErrorTaskSetNotFoundException(v protocol.ResponseMetadata) error { 21875 return &TaskSetNotFoundException{ 21876 RespMetadata: v, 21877 } 21878 } 21879 21880 // Code returns the exception type name. 21881 func (s *TaskSetNotFoundException) Code() string { 21882 return "TaskSetNotFoundException" 21883 } 21884 21885 // Message returns the exception's message. 21886 func (s *TaskSetNotFoundException) Message() string { 21887 if s.Message_ != nil { 21888 return *s.Message_ 21889 } 21890 return "" 21891 } 21892 21893 // OrigErr always returns nil, satisfies awserr.Error interface. 21894 func (s *TaskSetNotFoundException) OrigErr() error { 21895 return nil 21896 } 21897 21898 func (s *TaskSetNotFoundException) Error() string { 21899 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 21900 } 21901 21902 // Status code returns the HTTP status code for the request's response error. 21903 func (s *TaskSetNotFoundException) StatusCode() int { 21904 return s.RespMetadata.StatusCode 21905 } 21906 21907 // RequestID returns the service's response RequestID for request. 21908 func (s *TaskSetNotFoundException) RequestID() string { 21909 return s.RespMetadata.RequestID 21910 } 21911 21912 // The container path, mount options, and size of the tmpfs mount. 21913 type Tmpfs struct { 21914 _ struct{} `type:"structure"` 21915 21916 // The absolute file path where the tmpfs volume is to be mounted. 21917 // 21918 // ContainerPath is a required field 21919 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 21920 21921 // The list of tmpfs volume mount options. 21922 // 21923 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 21924 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 21925 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 21926 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 21927 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 21928 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 21929 MountOptions []*string `locationName:"mountOptions" type:"list"` 21930 21931 // The maximum size (in MiB) of the tmpfs volume. 21932 // 21933 // Size is a required field 21934 Size *int64 `locationName:"size" type:"integer" required:"true"` 21935 } 21936 21937 // String returns the string representation. 21938 // 21939 // API parameter values that are decorated as "sensitive" in the API will not 21940 // be included in the string output. The member name will be present, but the 21941 // value will be replaced with "sensitive". 21942 func (s Tmpfs) String() string { 21943 return awsutil.Prettify(s) 21944 } 21945 21946 // GoString returns the string representation. 21947 // 21948 // API parameter values that are decorated as "sensitive" in the API will not 21949 // be included in the string output. The member name will be present, but the 21950 // value will be replaced with "sensitive". 21951 func (s Tmpfs) GoString() string { 21952 return s.String() 21953 } 21954 21955 // Validate inspects the fields of the type to determine if they are valid. 21956 func (s *Tmpfs) Validate() error { 21957 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 21958 if s.ContainerPath == nil { 21959 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 21960 } 21961 if s.Size == nil { 21962 invalidParams.Add(request.NewErrParamRequired("Size")) 21963 } 21964 21965 if invalidParams.Len() > 0 { 21966 return invalidParams 21967 } 21968 return nil 21969 } 21970 21971 // SetContainerPath sets the ContainerPath field's value. 21972 func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 21973 s.ContainerPath = &v 21974 return s 21975 } 21976 21977 // SetMountOptions sets the MountOptions field's value. 21978 func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 21979 s.MountOptions = v 21980 return s 21981 } 21982 21983 // SetSize sets the Size field's value. 21984 func (s *Tmpfs) SetSize(v int64) *Tmpfs { 21985 s.Size = &v 21986 return s 21987 } 21988 21989 // The ulimit settings to pass to the container. 21990 // 21991 // Amazon ECS tasks hosted on Fargate use the default resource limit values 21992 // set by the operating system with the exception of the nofile resource limit 21993 // parameter which Fargate overrides. The nofile resource limit sets a restriction 21994 // on the number of open files that a container can use. The default nofile 21995 // soft limit is 1024 and hard limit is 4096. 21996 type Ulimit struct { 21997 _ struct{} `type:"structure"` 21998 21999 // The hard limit for the ulimit type. 22000 // 22001 // HardLimit is a required field 22002 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 22003 22004 // The type of the ulimit. 22005 // 22006 // Name is a required field 22007 Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` 22008 22009 // The soft limit for the ulimit type. 22010 // 22011 // SoftLimit is a required field 22012 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 22013 } 22014 22015 // String returns the string representation. 22016 // 22017 // API parameter values that are decorated as "sensitive" in the API will not 22018 // be included in the string output. The member name will be present, but the 22019 // value will be replaced with "sensitive". 22020 func (s Ulimit) String() string { 22021 return awsutil.Prettify(s) 22022 } 22023 22024 // GoString returns the string representation. 22025 // 22026 // API parameter values that are decorated as "sensitive" in the API will not 22027 // be included in the string output. The member name will be present, but the 22028 // value will be replaced with "sensitive". 22029 func (s Ulimit) GoString() string { 22030 return s.String() 22031 } 22032 22033 // Validate inspects the fields of the type to determine if they are valid. 22034 func (s *Ulimit) Validate() error { 22035 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 22036 if s.HardLimit == nil { 22037 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 22038 } 22039 if s.Name == nil { 22040 invalidParams.Add(request.NewErrParamRequired("Name")) 22041 } 22042 if s.SoftLimit == nil { 22043 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 22044 } 22045 22046 if invalidParams.Len() > 0 { 22047 return invalidParams 22048 } 22049 return nil 22050 } 22051 22052 // SetHardLimit sets the HardLimit field's value. 22053 func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 22054 s.HardLimit = &v 22055 return s 22056 } 22057 22058 // SetName sets the Name field's value. 22059 func (s *Ulimit) SetName(v string) *Ulimit { 22060 s.Name = &v 22061 return s 22062 } 22063 22064 // SetSoftLimit sets the SoftLimit field's value. 22065 func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 22066 s.SoftLimit = &v 22067 return s 22068 } 22069 22070 // The specified task is not supported in this Region. 22071 type UnsupportedFeatureException struct { 22072 _ struct{} `type:"structure"` 22073 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 22074 22075 Message_ *string `locationName:"message" type:"string"` 22076 } 22077 22078 // String returns the string representation. 22079 // 22080 // API parameter values that are decorated as "sensitive" in the API will not 22081 // be included in the string output. The member name will be present, but the 22082 // value will be replaced with "sensitive". 22083 func (s UnsupportedFeatureException) String() string { 22084 return awsutil.Prettify(s) 22085 } 22086 22087 // GoString returns the string representation. 22088 // 22089 // API parameter values that are decorated as "sensitive" in the API will not 22090 // be included in the string output. The member name will be present, but the 22091 // value will be replaced with "sensitive". 22092 func (s UnsupportedFeatureException) GoString() string { 22093 return s.String() 22094 } 22095 22096 func newErrorUnsupportedFeatureException(v protocol.ResponseMetadata) error { 22097 return &UnsupportedFeatureException{ 22098 RespMetadata: v, 22099 } 22100 } 22101 22102 // Code returns the exception type name. 22103 func (s *UnsupportedFeatureException) Code() string { 22104 return "UnsupportedFeatureException" 22105 } 22106 22107 // Message returns the exception's message. 22108 func (s *UnsupportedFeatureException) Message() string { 22109 if s.Message_ != nil { 22110 return *s.Message_ 22111 } 22112 return "" 22113 } 22114 22115 // OrigErr always returns nil, satisfies awserr.Error interface. 22116 func (s *UnsupportedFeatureException) OrigErr() error { 22117 return nil 22118 } 22119 22120 func (s *UnsupportedFeatureException) Error() string { 22121 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 22122 } 22123 22124 // Status code returns the HTTP status code for the request's response error. 22125 func (s *UnsupportedFeatureException) StatusCode() int { 22126 return s.RespMetadata.StatusCode 22127 } 22128 22129 // RequestID returns the service's response RequestID for request. 22130 func (s *UnsupportedFeatureException) RequestID() string { 22131 return s.RespMetadata.RequestID 22132 } 22133 22134 type UntagResourceInput struct { 22135 _ struct{} `type:"structure"` 22136 22137 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 22138 // Currently, the supported resources are Amazon ECS capacity providers, tasks, 22139 // services, task definitions, clusters, and container instances. 22140 // 22141 // ResourceArn is a required field 22142 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 22143 22144 // The keys of the tags to be removed. 22145 // 22146 // TagKeys is a required field 22147 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 22148 } 22149 22150 // String returns the string representation. 22151 // 22152 // API parameter values that are decorated as "sensitive" in the API will not 22153 // be included in the string output. The member name will be present, but the 22154 // value will be replaced with "sensitive". 22155 func (s UntagResourceInput) String() string { 22156 return awsutil.Prettify(s) 22157 } 22158 22159 // GoString returns the string representation. 22160 // 22161 // API parameter values that are decorated as "sensitive" in the API will not 22162 // be included in the string output. The member name will be present, but the 22163 // value will be replaced with "sensitive". 22164 func (s UntagResourceInput) GoString() string { 22165 return s.String() 22166 } 22167 22168 // Validate inspects the fields of the type to determine if they are valid. 22169 func (s *UntagResourceInput) Validate() error { 22170 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 22171 if s.ResourceArn == nil { 22172 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 22173 } 22174 if s.TagKeys == nil { 22175 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 22176 } 22177 22178 if invalidParams.Len() > 0 { 22179 return invalidParams 22180 } 22181 return nil 22182 } 22183 22184 // SetResourceArn sets the ResourceArn field's value. 22185 func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 22186 s.ResourceArn = &v 22187 return s 22188 } 22189 22190 // SetTagKeys sets the TagKeys field's value. 22191 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 22192 s.TagKeys = v 22193 return s 22194 } 22195 22196 type UntagResourceOutput struct { 22197 _ struct{} `type:"structure"` 22198 } 22199 22200 // String returns the string representation. 22201 // 22202 // API parameter values that are decorated as "sensitive" in the API will not 22203 // be included in the string output. The member name will be present, but the 22204 // value will be replaced with "sensitive". 22205 func (s UntagResourceOutput) String() string { 22206 return awsutil.Prettify(s) 22207 } 22208 22209 // GoString returns the string representation. 22210 // 22211 // API parameter values that are decorated as "sensitive" in the API will not 22212 // be included in the string output. The member name will be present, but the 22213 // value will be replaced with "sensitive". 22214 func (s UntagResourceOutput) GoString() string { 22215 return s.String() 22216 } 22217 22218 type UpdateCapacityProviderInput struct { 22219 _ struct{} `type:"structure"` 22220 22221 // An object representing the parameters to update for the Auto Scaling group 22222 // capacity provider. 22223 // 22224 // AutoScalingGroupProvider is a required field 22225 AutoScalingGroupProvider *AutoScalingGroupProviderUpdate `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` 22226 22227 // The name of the capacity provider to update. 22228 // 22229 // Name is a required field 22230 Name *string `locationName:"name" type:"string" required:"true"` 22231 } 22232 22233 // String returns the string representation. 22234 // 22235 // API parameter values that are decorated as "sensitive" in the API will not 22236 // be included in the string output. The member name will be present, but the 22237 // value will be replaced with "sensitive". 22238 func (s UpdateCapacityProviderInput) String() string { 22239 return awsutil.Prettify(s) 22240 } 22241 22242 // GoString returns the string representation. 22243 // 22244 // API parameter values that are decorated as "sensitive" in the API will not 22245 // be included in the string output. The member name will be present, but the 22246 // value will be replaced with "sensitive". 22247 func (s UpdateCapacityProviderInput) GoString() string { 22248 return s.String() 22249 } 22250 22251 // Validate inspects the fields of the type to determine if they are valid. 22252 func (s *UpdateCapacityProviderInput) Validate() error { 22253 invalidParams := request.ErrInvalidParams{Context: "UpdateCapacityProviderInput"} 22254 if s.AutoScalingGroupProvider == nil { 22255 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) 22256 } 22257 if s.Name == nil { 22258 invalidParams.Add(request.NewErrParamRequired("Name")) 22259 } 22260 if s.AutoScalingGroupProvider != nil { 22261 if err := s.AutoScalingGroupProvider.Validate(); err != nil { 22262 invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) 22263 } 22264 } 22265 22266 if invalidParams.Len() > 0 { 22267 return invalidParams 22268 } 22269 return nil 22270 } 22271 22272 // SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 22273 func (s *UpdateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProviderUpdate) *UpdateCapacityProviderInput { 22274 s.AutoScalingGroupProvider = v 22275 return s 22276 } 22277 22278 // SetName sets the Name field's value. 22279 func (s *UpdateCapacityProviderInput) SetName(v string) *UpdateCapacityProviderInput { 22280 s.Name = &v 22281 return s 22282 } 22283 22284 type UpdateCapacityProviderOutput struct { 22285 _ struct{} `type:"structure"` 22286 22287 // Details about the capacity provider. 22288 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 22289 } 22290 22291 // String returns the string representation. 22292 // 22293 // API parameter values that are decorated as "sensitive" in the API will not 22294 // be included in the string output. The member name will be present, but the 22295 // value will be replaced with "sensitive". 22296 func (s UpdateCapacityProviderOutput) String() string { 22297 return awsutil.Prettify(s) 22298 } 22299 22300 // GoString returns the string representation. 22301 // 22302 // API parameter values that are decorated as "sensitive" in the API will not 22303 // be included in the string output. The member name will be present, but the 22304 // value will be replaced with "sensitive". 22305 func (s UpdateCapacityProviderOutput) GoString() string { 22306 return s.String() 22307 } 22308 22309 // SetCapacityProvider sets the CapacityProvider field's value. 22310 func (s *UpdateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *UpdateCapacityProviderOutput { 22311 s.CapacityProvider = v 22312 return s 22313 } 22314 22315 type UpdateClusterInput struct { 22316 _ struct{} `type:"structure"` 22317 22318 // The name of the cluster to modify the settings for. 22319 // 22320 // Cluster is a required field 22321 Cluster *string `locationName:"cluster" type:"string" required:"true"` 22322 22323 // The execute command configuration for the cluster. 22324 Configuration *ClusterConfiguration `locationName:"configuration" type:"structure"` 22325 22326 // The cluster settings for your cluster. 22327 Settings []*ClusterSetting `locationName:"settings" type:"list"` 22328 } 22329 22330 // String returns the string representation. 22331 // 22332 // API parameter values that are decorated as "sensitive" in the API will not 22333 // be included in the string output. The member name will be present, but the 22334 // value will be replaced with "sensitive". 22335 func (s UpdateClusterInput) String() string { 22336 return awsutil.Prettify(s) 22337 } 22338 22339 // GoString returns the string representation. 22340 // 22341 // API parameter values that are decorated as "sensitive" in the API will not 22342 // be included in the string output. The member name will be present, but the 22343 // value will be replaced with "sensitive". 22344 func (s UpdateClusterInput) GoString() string { 22345 return s.String() 22346 } 22347 22348 // Validate inspects the fields of the type to determine if they are valid. 22349 func (s *UpdateClusterInput) Validate() error { 22350 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterInput"} 22351 if s.Cluster == nil { 22352 invalidParams.Add(request.NewErrParamRequired("Cluster")) 22353 } 22354 22355 if invalidParams.Len() > 0 { 22356 return invalidParams 22357 } 22358 return nil 22359 } 22360 22361 // SetCluster sets the Cluster field's value. 22362 func (s *UpdateClusterInput) SetCluster(v string) *UpdateClusterInput { 22363 s.Cluster = &v 22364 return s 22365 } 22366 22367 // SetConfiguration sets the Configuration field's value. 22368 func (s *UpdateClusterInput) SetConfiguration(v *ClusterConfiguration) *UpdateClusterInput { 22369 s.Configuration = v 22370 return s 22371 } 22372 22373 // SetSettings sets the Settings field's value. 22374 func (s *UpdateClusterInput) SetSettings(v []*ClusterSetting) *UpdateClusterInput { 22375 s.Settings = v 22376 return s 22377 } 22378 22379 type UpdateClusterOutput struct { 22380 _ struct{} `type:"structure"` 22381 22382 // Details about the cluster. 22383 Cluster *Cluster `locationName:"cluster" type:"structure"` 22384 } 22385 22386 // String returns the string representation. 22387 // 22388 // API parameter values that are decorated as "sensitive" in the API will not 22389 // be included in the string output. The member name will be present, but the 22390 // value will be replaced with "sensitive". 22391 func (s UpdateClusterOutput) String() string { 22392 return awsutil.Prettify(s) 22393 } 22394 22395 // GoString returns the string representation. 22396 // 22397 // API parameter values that are decorated as "sensitive" in the API will not 22398 // be included in the string output. The member name will be present, but the 22399 // value will be replaced with "sensitive". 22400 func (s UpdateClusterOutput) GoString() string { 22401 return s.String() 22402 } 22403 22404 // SetCluster sets the Cluster field's value. 22405 func (s *UpdateClusterOutput) SetCluster(v *Cluster) *UpdateClusterOutput { 22406 s.Cluster = v 22407 return s 22408 } 22409 22410 type UpdateClusterSettingsInput struct { 22411 _ struct{} `type:"structure"` 22412 22413 // The name of the cluster to modify the settings for. 22414 // 22415 // Cluster is a required field 22416 Cluster *string `locationName:"cluster" type:"string" required:"true"` 22417 22418 // The setting to use by default for a cluster. This parameter is used to enable 22419 // CloudWatch Container Insights for a cluster. If this value is specified, 22420 // it will override the containerInsights value set with PutAccountSetting or 22421 // PutAccountSettingDefault. 22422 // 22423 // Settings is a required field 22424 Settings []*ClusterSetting `locationName:"settings" type:"list" required:"true"` 22425 } 22426 22427 // String returns the string representation. 22428 // 22429 // API parameter values that are decorated as "sensitive" in the API will not 22430 // be included in the string output. The member name will be present, but the 22431 // value will be replaced with "sensitive". 22432 func (s UpdateClusterSettingsInput) String() string { 22433 return awsutil.Prettify(s) 22434 } 22435 22436 // GoString returns the string representation. 22437 // 22438 // API parameter values that are decorated as "sensitive" in the API will not 22439 // be included in the string output. The member name will be present, but the 22440 // value will be replaced with "sensitive". 22441 func (s UpdateClusterSettingsInput) GoString() string { 22442 return s.String() 22443 } 22444 22445 // Validate inspects the fields of the type to determine if they are valid. 22446 func (s *UpdateClusterSettingsInput) Validate() error { 22447 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterSettingsInput"} 22448 if s.Cluster == nil { 22449 invalidParams.Add(request.NewErrParamRequired("Cluster")) 22450 } 22451 if s.Settings == nil { 22452 invalidParams.Add(request.NewErrParamRequired("Settings")) 22453 } 22454 22455 if invalidParams.Len() > 0 { 22456 return invalidParams 22457 } 22458 return nil 22459 } 22460 22461 // SetCluster sets the Cluster field's value. 22462 func (s *UpdateClusterSettingsInput) SetCluster(v string) *UpdateClusterSettingsInput { 22463 s.Cluster = &v 22464 return s 22465 } 22466 22467 // SetSettings sets the Settings field's value. 22468 func (s *UpdateClusterSettingsInput) SetSettings(v []*ClusterSetting) *UpdateClusterSettingsInput { 22469 s.Settings = v 22470 return s 22471 } 22472 22473 type UpdateClusterSettingsOutput struct { 22474 _ struct{} `type:"structure"` 22475 22476 // Details about the cluster 22477 Cluster *Cluster `locationName:"cluster" type:"structure"` 22478 } 22479 22480 // String returns the string representation. 22481 // 22482 // API parameter values that are decorated as "sensitive" in the API will not 22483 // be included in the string output. The member name will be present, but the 22484 // value will be replaced with "sensitive". 22485 func (s UpdateClusterSettingsOutput) String() string { 22486 return awsutil.Prettify(s) 22487 } 22488 22489 // GoString returns the string representation. 22490 // 22491 // API parameter values that are decorated as "sensitive" in the API will not 22492 // be included in the string output. The member name will be present, but the 22493 // value will be replaced with "sensitive". 22494 func (s UpdateClusterSettingsOutput) GoString() string { 22495 return s.String() 22496 } 22497 22498 // SetCluster sets the Cluster field's value. 22499 func (s *UpdateClusterSettingsOutput) SetCluster(v *Cluster) *UpdateClusterSettingsOutput { 22500 s.Cluster = v 22501 return s 22502 } 22503 22504 type UpdateContainerAgentInput struct { 22505 _ struct{} `type:"structure"` 22506 22507 // The short name or full Amazon Resource Name (ARN) of the cluster that your 22508 // container instance is running on. If you do not specify a cluster, the default 22509 // cluster is assumed. 22510 Cluster *string `locationName:"cluster" type:"string"` 22511 22512 // The container instance ID or full ARN entries for the container instance 22513 // on which you would like to update the Amazon ECS container agent. 22514 // 22515 // ContainerInstance is a required field 22516 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 22517 } 22518 22519 // String returns the string representation. 22520 // 22521 // API parameter values that are decorated as "sensitive" in the API will not 22522 // be included in the string output. The member name will be present, but the 22523 // value will be replaced with "sensitive". 22524 func (s UpdateContainerAgentInput) String() string { 22525 return awsutil.Prettify(s) 22526 } 22527 22528 // GoString returns the string representation. 22529 // 22530 // API parameter values that are decorated as "sensitive" in the API will not 22531 // be included in the string output. The member name will be present, but the 22532 // value will be replaced with "sensitive". 22533 func (s UpdateContainerAgentInput) GoString() string { 22534 return s.String() 22535 } 22536 22537 // Validate inspects the fields of the type to determine if they are valid. 22538 func (s *UpdateContainerAgentInput) Validate() error { 22539 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} 22540 if s.ContainerInstance == nil { 22541 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 22542 } 22543 22544 if invalidParams.Len() > 0 { 22545 return invalidParams 22546 } 22547 return nil 22548 } 22549 22550 // SetCluster sets the Cluster field's value. 22551 func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput { 22552 s.Cluster = &v 22553 return s 22554 } 22555 22556 // SetContainerInstance sets the ContainerInstance field's value. 22557 func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput { 22558 s.ContainerInstance = &v 22559 return s 22560 } 22561 22562 type UpdateContainerAgentOutput struct { 22563 _ struct{} `type:"structure"` 22564 22565 // The container instance for which the container agent was updated. 22566 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 22567 } 22568 22569 // String returns the string representation. 22570 // 22571 // API parameter values that are decorated as "sensitive" in the API will not 22572 // be included in the string output. The member name will be present, but the 22573 // value will be replaced with "sensitive". 22574 func (s UpdateContainerAgentOutput) String() string { 22575 return awsutil.Prettify(s) 22576 } 22577 22578 // GoString returns the string representation. 22579 // 22580 // API parameter values that are decorated as "sensitive" in the API will not 22581 // be included in the string output. The member name will be present, but the 22582 // value will be replaced with "sensitive". 22583 func (s UpdateContainerAgentOutput) GoString() string { 22584 return s.String() 22585 } 22586 22587 // SetContainerInstance sets the ContainerInstance field's value. 22588 func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput { 22589 s.ContainerInstance = v 22590 return s 22591 } 22592 22593 type UpdateContainerInstancesStateInput struct { 22594 _ struct{} `type:"structure"` 22595 22596 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 22597 // the container instance to update. If you do not specify a cluster, the default 22598 // cluster is assumed. 22599 Cluster *string `locationName:"cluster" type:"string"` 22600 22601 // A list of container instance IDs or full ARN entries. 22602 // 22603 // ContainerInstances is a required field 22604 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 22605 22606 // The container instance state with which to update the container instance. 22607 // The only valid values for this action are ACTIVE and DRAINING. A container 22608 // instance can only be updated to DRAINING status once it has reached an ACTIVE 22609 // state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED 22610 // state you can describe the container instance but will be unable to update 22611 // the container instance state. 22612 // 22613 // Status is a required field 22614 Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"` 22615 } 22616 22617 // String returns the string representation. 22618 // 22619 // API parameter values that are decorated as "sensitive" in the API will not 22620 // be included in the string output. The member name will be present, but the 22621 // value will be replaced with "sensitive". 22622 func (s UpdateContainerInstancesStateInput) String() string { 22623 return awsutil.Prettify(s) 22624 } 22625 22626 // GoString returns the string representation. 22627 // 22628 // API parameter values that are decorated as "sensitive" in the API will not 22629 // be included in the string output. The member name will be present, but the 22630 // value will be replaced with "sensitive". 22631 func (s UpdateContainerInstancesStateInput) GoString() string { 22632 return s.String() 22633 } 22634 22635 // Validate inspects the fields of the type to determine if they are valid. 22636 func (s *UpdateContainerInstancesStateInput) Validate() error { 22637 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"} 22638 if s.ContainerInstances == nil { 22639 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 22640 } 22641 if s.Status == nil { 22642 invalidParams.Add(request.NewErrParamRequired("Status")) 22643 } 22644 22645 if invalidParams.Len() > 0 { 22646 return invalidParams 22647 } 22648 return nil 22649 } 22650 22651 // SetCluster sets the Cluster field's value. 22652 func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput { 22653 s.Cluster = &v 22654 return s 22655 } 22656 22657 // SetContainerInstances sets the ContainerInstances field's value. 22658 func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput { 22659 s.ContainerInstances = v 22660 return s 22661 } 22662 22663 // SetStatus sets the Status field's value. 22664 func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput { 22665 s.Status = &v 22666 return s 22667 } 22668 22669 type UpdateContainerInstancesStateOutput struct { 22670 _ struct{} `type:"structure"` 22671 22672 // The list of container instances. 22673 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 22674 22675 // Any failures associated with the call. 22676 Failures []*Failure `locationName:"failures" type:"list"` 22677 } 22678 22679 // String returns the string representation. 22680 // 22681 // API parameter values that are decorated as "sensitive" in the API will not 22682 // be included in the string output. The member name will be present, but the 22683 // value will be replaced with "sensitive". 22684 func (s UpdateContainerInstancesStateOutput) String() string { 22685 return awsutil.Prettify(s) 22686 } 22687 22688 // GoString returns the string representation. 22689 // 22690 // API parameter values that are decorated as "sensitive" in the API will not 22691 // be included in the string output. The member name will be present, but the 22692 // value will be replaced with "sensitive". 22693 func (s UpdateContainerInstancesStateOutput) GoString() string { 22694 return s.String() 22695 } 22696 22697 // SetContainerInstances sets the ContainerInstances field's value. 22698 func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput { 22699 s.ContainerInstances = v 22700 return s 22701 } 22702 22703 // SetFailures sets the Failures field's value. 22704 func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput { 22705 s.Failures = v 22706 return s 22707 } 22708 22709 // There is already a current Amazon ECS container agent update in progress 22710 // on the specified container instance. If the container agent becomes disconnected 22711 // while it is in a transitional stage, such as PENDING or STAGING, the update 22712 // process can get stuck in that state. However, when the agent reconnects, 22713 // it resumes where it stopped previously. 22714 type UpdateInProgressException struct { 22715 _ struct{} `type:"structure"` 22716 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 22717 22718 Message_ *string `locationName:"message" type:"string"` 22719 } 22720 22721 // String returns the string representation. 22722 // 22723 // API parameter values that are decorated as "sensitive" in the API will not 22724 // be included in the string output. The member name will be present, but the 22725 // value will be replaced with "sensitive". 22726 func (s UpdateInProgressException) String() string { 22727 return awsutil.Prettify(s) 22728 } 22729 22730 // GoString returns the string representation. 22731 // 22732 // API parameter values that are decorated as "sensitive" in the API will not 22733 // be included in the string output. The member name will be present, but the 22734 // value will be replaced with "sensitive". 22735 func (s UpdateInProgressException) GoString() string { 22736 return s.String() 22737 } 22738 22739 func newErrorUpdateInProgressException(v protocol.ResponseMetadata) error { 22740 return &UpdateInProgressException{ 22741 RespMetadata: v, 22742 } 22743 } 22744 22745 // Code returns the exception type name. 22746 func (s *UpdateInProgressException) Code() string { 22747 return "UpdateInProgressException" 22748 } 22749 22750 // Message returns the exception's message. 22751 func (s *UpdateInProgressException) Message() string { 22752 if s.Message_ != nil { 22753 return *s.Message_ 22754 } 22755 return "" 22756 } 22757 22758 // OrigErr always returns nil, satisfies awserr.Error interface. 22759 func (s *UpdateInProgressException) OrigErr() error { 22760 return nil 22761 } 22762 22763 func (s *UpdateInProgressException) Error() string { 22764 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 22765 } 22766 22767 // Status code returns the HTTP status code for the request's response error. 22768 func (s *UpdateInProgressException) StatusCode() int { 22769 return s.RespMetadata.StatusCode 22770 } 22771 22772 // RequestID returns the service's response RequestID for request. 22773 func (s *UpdateInProgressException) RequestID() string { 22774 return s.RespMetadata.RequestID 22775 } 22776 22777 type UpdateServiceInput struct { 22778 _ struct{} `type:"structure"` 22779 22780 // The capacity provider strategy to update the service to use. 22781 // 22782 // If the service is using the default capacity provider strategy for the cluster, 22783 // the service can be updated to use one or more capacity providers as opposed 22784 // to the default capacity provider strategy. However, when a service is using 22785 // a capacity provider strategy that is not the default capacity provider strategy, 22786 // the service cannot be updated to use the cluster's default capacity provider 22787 // strategy. 22788 // 22789 // A capacity provider strategy consists of one or more capacity providers along 22790 // with the base and weight to assign to them. A capacity provider must be associated 22791 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 22792 // API is used to associate a capacity provider with a cluster. Only capacity 22793 // providers with an ACTIVE or UPDATING status can be used. 22794 // 22795 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 22796 // provider must already be created. New capacity providers can be created with 22797 // the CreateCapacityProvider API operation. 22798 // 22799 // To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 22800 // capacity providers. The Fargate capacity providers are available to all accounts 22801 // and only need to be associated with a cluster to be used. 22802 // 22803 // The PutClusterCapacityProviders API operation is used to update the list 22804 // of available capacity providers for a cluster after the cluster is created. 22805 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 22806 22807 // The short name or full Amazon Resource Name (ARN) of the cluster that your 22808 // service is running on. If you do not specify a cluster, the default cluster 22809 // is assumed. 22810 Cluster *string `locationName:"cluster" type:"string"` 22811 22812 // Optional deployment parameters that control how many tasks run during the 22813 // deployment and the ordering of stopping and starting tasks. 22814 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 22815 22816 // The number of instantiations of the task to place and keep running in your 22817 // service. 22818 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 22819 22820 // If true, this enables execute command functionality on all task containers. 22821 // 22822 // If you do not want to override the value that was set when the service was 22823 // created, you can set this to null when performing this action. 22824 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 22825 22826 // Whether to force a new deployment of the service. Deployments are not forced 22827 // by default. You can use this option to trigger a new deployment with no service 22828 // definition changes. For example, you can update a service's tasks to use 22829 // a newer Docker image with the same image/tag combination (my_image:latest) 22830 // or to roll Fargate tasks onto a newer platform version. 22831 ForceNewDeployment *bool `locationName:"forceNewDeployment" type:"boolean"` 22832 22833 // The period of time, in seconds, that the Amazon ECS service scheduler should 22834 // ignore unhealthy Elastic Load Balancing target health checks after a task 22835 // has first started. This is only valid if your service is configured to use 22836 // a load balancer. If your service's tasks take a while to start and respond 22837 // to Elastic Load Balancing health checks, you can specify a health check grace 22838 // period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service 22839 // scheduler ignores the Elastic Load Balancing health check status. This grace 22840 // period can prevent the ECS service scheduler from marking tasks as unhealthy 22841 // and stopping them before they have time to come up. 22842 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 22843 22844 // An object representing the network configuration for the service. 22845 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 22846 22847 // An array of task placement constraint objects to update the service to use. 22848 // If no value is specified, the existing placement constraints for the service 22849 // will remain unchanged. If this value is specified, it will override any existing 22850 // placement constraints defined for the service. To remove all existing placement 22851 // constraints, specify an empty array. 22852 // 22853 // You can specify a maximum of 10 constraints per task (this limit includes 22854 // constraints in the task definition and those specified at runtime). 22855 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 22856 22857 // The task placement strategy objects to update the service to use. If no value 22858 // is specified, the existing placement strategy for the service will remain 22859 // unchanged. If this value is specified, it will override the existing placement 22860 // strategy defined for the service. To remove an existing placement strategy, 22861 // specify an empty object. 22862 // 22863 // You can specify a maximum of five strategy rules per service. 22864 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 22865 22866 // The platform version on which your tasks in the service are running. A platform 22867 // version is only specified for tasks using the Fargate launch type. If a platform 22868 // version is not specified, the LATEST platform version is used by default. 22869 // For more information, see Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 22870 // in the Amazon Elastic Container Service Developer Guide. 22871 PlatformVersion *string `locationName:"platformVersion" type:"string"` 22872 22873 // The name of the service to update. 22874 // 22875 // Service is a required field 22876 Service *string `locationName:"service" type:"string" required:"true"` 22877 22878 // The family and revision (family:revision) or full ARN of the task definition 22879 // to run in your service. If a revision is not specified, the latest ACTIVE 22880 // revision is used. If you modify the task definition with UpdateService, Amazon 22881 // ECS spawns a task with the new version of the task definition and then stops 22882 // an old task after the new version is running. 22883 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 22884 } 22885 22886 // String returns the string representation. 22887 // 22888 // API parameter values that are decorated as "sensitive" in the API will not 22889 // be included in the string output. The member name will be present, but the 22890 // value will be replaced with "sensitive". 22891 func (s UpdateServiceInput) String() string { 22892 return awsutil.Prettify(s) 22893 } 22894 22895 // GoString returns the string representation. 22896 // 22897 // API parameter values that are decorated as "sensitive" in the API will not 22898 // be included in the string output. The member name will be present, but the 22899 // value will be replaced with "sensitive". 22900 func (s UpdateServiceInput) GoString() string { 22901 return s.String() 22902 } 22903 22904 // Validate inspects the fields of the type to determine if they are valid. 22905 func (s *UpdateServiceInput) Validate() error { 22906 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 22907 if s.Service == nil { 22908 invalidParams.Add(request.NewErrParamRequired("Service")) 22909 } 22910 if s.CapacityProviderStrategy != nil { 22911 for i, v := range s.CapacityProviderStrategy { 22912 if v == nil { 22913 continue 22914 } 22915 if err := v.Validate(); err != nil { 22916 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 22917 } 22918 } 22919 } 22920 if s.DeploymentConfiguration != nil { 22921 if err := s.DeploymentConfiguration.Validate(); err != nil { 22922 invalidParams.AddNested("DeploymentConfiguration", err.(request.ErrInvalidParams)) 22923 } 22924 } 22925 if s.NetworkConfiguration != nil { 22926 if err := s.NetworkConfiguration.Validate(); err != nil { 22927 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 22928 } 22929 } 22930 22931 if invalidParams.Len() > 0 { 22932 return invalidParams 22933 } 22934 return nil 22935 } 22936 22937 // SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 22938 func (s *UpdateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *UpdateServiceInput { 22939 s.CapacityProviderStrategy = v 22940 return s 22941 } 22942 22943 // SetCluster sets the Cluster field's value. 22944 func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput { 22945 s.Cluster = &v 22946 return s 22947 } 22948 22949 // SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 22950 func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput { 22951 s.DeploymentConfiguration = v 22952 return s 22953 } 22954 22955 // SetDesiredCount sets the DesiredCount field's value. 22956 func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput { 22957 s.DesiredCount = &v 22958 return s 22959 } 22960 22961 // SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 22962 func (s *UpdateServiceInput) SetEnableExecuteCommand(v bool) *UpdateServiceInput { 22963 s.EnableExecuteCommand = &v 22964 return s 22965 } 22966 22967 // SetForceNewDeployment sets the ForceNewDeployment field's value. 22968 func (s *UpdateServiceInput) SetForceNewDeployment(v bool) *UpdateServiceInput { 22969 s.ForceNewDeployment = &v 22970 return s 22971 } 22972 22973 // SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 22974 func (s *UpdateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *UpdateServiceInput { 22975 s.HealthCheckGracePeriodSeconds = &v 22976 return s 22977 } 22978 22979 // SetNetworkConfiguration sets the NetworkConfiguration field's value. 22980 func (s *UpdateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateServiceInput { 22981 s.NetworkConfiguration = v 22982 return s 22983 } 22984 22985 // SetPlacementConstraints sets the PlacementConstraints field's value. 22986 func (s *UpdateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *UpdateServiceInput { 22987 s.PlacementConstraints = v 22988 return s 22989 } 22990 22991 // SetPlacementStrategy sets the PlacementStrategy field's value. 22992 func (s *UpdateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *UpdateServiceInput { 22993 s.PlacementStrategy = v 22994 return s 22995 } 22996 22997 // SetPlatformVersion sets the PlatformVersion field's value. 22998 func (s *UpdateServiceInput) SetPlatformVersion(v string) *UpdateServiceInput { 22999 s.PlatformVersion = &v 23000 return s 23001 } 23002 23003 // SetService sets the Service field's value. 23004 func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput { 23005 s.Service = &v 23006 return s 23007 } 23008 23009 // SetTaskDefinition sets the TaskDefinition field's value. 23010 func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput { 23011 s.TaskDefinition = &v 23012 return s 23013 } 23014 23015 type UpdateServiceOutput struct { 23016 _ struct{} `type:"structure"` 23017 23018 // The full description of your service following the update call. 23019 Service *Service `locationName:"service" type:"structure"` 23020 } 23021 23022 // String returns the string representation. 23023 // 23024 // API parameter values that are decorated as "sensitive" in the API will not 23025 // be included in the string output. The member name will be present, but the 23026 // value will be replaced with "sensitive". 23027 func (s UpdateServiceOutput) String() string { 23028 return awsutil.Prettify(s) 23029 } 23030 23031 // GoString returns the string representation. 23032 // 23033 // API parameter values that are decorated as "sensitive" in the API will not 23034 // be included in the string output. The member name will be present, but the 23035 // value will be replaced with "sensitive". 23036 func (s UpdateServiceOutput) GoString() string { 23037 return s.String() 23038 } 23039 23040 // SetService sets the Service field's value. 23041 func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { 23042 s.Service = v 23043 return s 23044 } 23045 23046 type UpdateServicePrimaryTaskSetInput struct { 23047 _ struct{} `type:"structure"` 23048 23049 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 23050 // the service that the task set exists in. 23051 // 23052 // Cluster is a required field 23053 Cluster *string `locationName:"cluster" type:"string" required:"true"` 23054 23055 // The short name or full Amazon Resource Name (ARN) of the task set to set 23056 // as the primary task set in the deployment. 23057 // 23058 // PrimaryTaskSet is a required field 23059 PrimaryTaskSet *string `locationName:"primaryTaskSet" type:"string" required:"true"` 23060 23061 // The short name or full Amazon Resource Name (ARN) of the service that the 23062 // task set exists in. 23063 // 23064 // Service is a required field 23065 Service *string `locationName:"service" type:"string" required:"true"` 23066 } 23067 23068 // String returns the string representation. 23069 // 23070 // API parameter values that are decorated as "sensitive" in the API will not 23071 // be included in the string output. The member name will be present, but the 23072 // value will be replaced with "sensitive". 23073 func (s UpdateServicePrimaryTaskSetInput) String() string { 23074 return awsutil.Prettify(s) 23075 } 23076 23077 // GoString returns the string representation. 23078 // 23079 // API parameter values that are decorated as "sensitive" in the API will not 23080 // be included in the string output. The member name will be present, but the 23081 // value will be replaced with "sensitive". 23082 func (s UpdateServicePrimaryTaskSetInput) GoString() string { 23083 return s.String() 23084 } 23085 23086 // Validate inspects the fields of the type to determine if they are valid. 23087 func (s *UpdateServicePrimaryTaskSetInput) Validate() error { 23088 invalidParams := request.ErrInvalidParams{Context: "UpdateServicePrimaryTaskSetInput"} 23089 if s.Cluster == nil { 23090 invalidParams.Add(request.NewErrParamRequired("Cluster")) 23091 } 23092 if s.PrimaryTaskSet == nil { 23093 invalidParams.Add(request.NewErrParamRequired("PrimaryTaskSet")) 23094 } 23095 if s.Service == nil { 23096 invalidParams.Add(request.NewErrParamRequired("Service")) 23097 } 23098 23099 if invalidParams.Len() > 0 { 23100 return invalidParams 23101 } 23102 return nil 23103 } 23104 23105 // SetCluster sets the Cluster field's value. 23106 func (s *UpdateServicePrimaryTaskSetInput) SetCluster(v string) *UpdateServicePrimaryTaskSetInput { 23107 s.Cluster = &v 23108 return s 23109 } 23110 23111 // SetPrimaryTaskSet sets the PrimaryTaskSet field's value. 23112 func (s *UpdateServicePrimaryTaskSetInput) SetPrimaryTaskSet(v string) *UpdateServicePrimaryTaskSetInput { 23113 s.PrimaryTaskSet = &v 23114 return s 23115 } 23116 23117 // SetService sets the Service field's value. 23118 func (s *UpdateServicePrimaryTaskSetInput) SetService(v string) *UpdateServicePrimaryTaskSetInput { 23119 s.Service = &v 23120 return s 23121 } 23122 23123 type UpdateServicePrimaryTaskSetOutput struct { 23124 _ struct{} `type:"structure"` 23125 23126 // Details about the task set. 23127 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 23128 } 23129 23130 // String returns the string representation. 23131 // 23132 // API parameter values that are decorated as "sensitive" in the API will not 23133 // be included in the string output. The member name will be present, but the 23134 // value will be replaced with "sensitive". 23135 func (s UpdateServicePrimaryTaskSetOutput) String() string { 23136 return awsutil.Prettify(s) 23137 } 23138 23139 // GoString returns the string representation. 23140 // 23141 // API parameter values that are decorated as "sensitive" in the API will not 23142 // be included in the string output. The member name will be present, but the 23143 // value will be replaced with "sensitive". 23144 func (s UpdateServicePrimaryTaskSetOutput) GoString() string { 23145 return s.String() 23146 } 23147 23148 // SetTaskSet sets the TaskSet field's value. 23149 func (s *UpdateServicePrimaryTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateServicePrimaryTaskSetOutput { 23150 s.TaskSet = v 23151 return s 23152 } 23153 23154 type UpdateTaskSetInput struct { 23155 _ struct{} `type:"structure"` 23156 23157 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 23158 // the service that the task set exists in. 23159 // 23160 // Cluster is a required field 23161 Cluster *string `locationName:"cluster" type:"string" required:"true"` 23162 23163 // A floating-point percentage of the desired number of tasks to place and keep 23164 // running in the task set. 23165 // 23166 // Scale is a required field 23167 Scale *Scale `locationName:"scale" type:"structure" required:"true"` 23168 23169 // The short name or full Amazon Resource Name (ARN) of the service that the 23170 // task set exists in. 23171 // 23172 // Service is a required field 23173 Service *string `locationName:"service" type:"string" required:"true"` 23174 23175 // The short name or full Amazon Resource Name (ARN) of the task set to update. 23176 // 23177 // TaskSet is a required field 23178 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 23179 } 23180 23181 // String returns the string representation. 23182 // 23183 // API parameter values that are decorated as "sensitive" in the API will not 23184 // be included in the string output. The member name will be present, but the 23185 // value will be replaced with "sensitive". 23186 func (s UpdateTaskSetInput) String() string { 23187 return awsutil.Prettify(s) 23188 } 23189 23190 // GoString returns the string representation. 23191 // 23192 // API parameter values that are decorated as "sensitive" in the API will not 23193 // be included in the string output. The member name will be present, but the 23194 // value will be replaced with "sensitive". 23195 func (s UpdateTaskSetInput) GoString() string { 23196 return s.String() 23197 } 23198 23199 // Validate inspects the fields of the type to determine if they are valid. 23200 func (s *UpdateTaskSetInput) Validate() error { 23201 invalidParams := request.ErrInvalidParams{Context: "UpdateTaskSetInput"} 23202 if s.Cluster == nil { 23203 invalidParams.Add(request.NewErrParamRequired("Cluster")) 23204 } 23205 if s.Scale == nil { 23206 invalidParams.Add(request.NewErrParamRequired("Scale")) 23207 } 23208 if s.Service == nil { 23209 invalidParams.Add(request.NewErrParamRequired("Service")) 23210 } 23211 if s.TaskSet == nil { 23212 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 23213 } 23214 23215 if invalidParams.Len() > 0 { 23216 return invalidParams 23217 } 23218 return nil 23219 } 23220 23221 // SetCluster sets the Cluster field's value. 23222 func (s *UpdateTaskSetInput) SetCluster(v string) *UpdateTaskSetInput { 23223 s.Cluster = &v 23224 return s 23225 } 23226 23227 // SetScale sets the Scale field's value. 23228 func (s *UpdateTaskSetInput) SetScale(v *Scale) *UpdateTaskSetInput { 23229 s.Scale = v 23230 return s 23231 } 23232 23233 // SetService sets the Service field's value. 23234 func (s *UpdateTaskSetInput) SetService(v string) *UpdateTaskSetInput { 23235 s.Service = &v 23236 return s 23237 } 23238 23239 // SetTaskSet sets the TaskSet field's value. 23240 func (s *UpdateTaskSetInput) SetTaskSet(v string) *UpdateTaskSetInput { 23241 s.TaskSet = &v 23242 return s 23243 } 23244 23245 type UpdateTaskSetOutput struct { 23246 _ struct{} `type:"structure"` 23247 23248 // Details about the task set. 23249 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 23250 } 23251 23252 // String returns the string representation. 23253 // 23254 // API parameter values that are decorated as "sensitive" in the API will not 23255 // be included in the string output. The member name will be present, but the 23256 // value will be replaced with "sensitive". 23257 func (s UpdateTaskSetOutput) String() string { 23258 return awsutil.Prettify(s) 23259 } 23260 23261 // GoString returns the string representation. 23262 // 23263 // API parameter values that are decorated as "sensitive" in the API will not 23264 // be included in the string output. The member name will be present, but the 23265 // value will be replaced with "sensitive". 23266 func (s UpdateTaskSetOutput) GoString() string { 23267 return s.String() 23268 } 23269 23270 // SetTaskSet sets the TaskSet field's value. 23271 func (s *UpdateTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateTaskSetOutput { 23272 s.TaskSet = v 23273 return s 23274 } 23275 23276 // The Docker and Amazon ECS container agent version information about a container 23277 // instance. 23278 type VersionInfo struct { 23279 _ struct{} `type:"structure"` 23280 23281 // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent 23282 // (https://github.com/aavshr/amazon-ecs-agent/commits/master) GitHub repository. 23283 AgentHash *string `locationName:"agentHash" type:"string"` 23284 23285 // The version number of the Amazon ECS container agent. 23286 AgentVersion *string `locationName:"agentVersion" type:"string"` 23287 23288 // The Docker version running on the container instance. 23289 DockerVersion *string `locationName:"dockerVersion" type:"string"` 23290 } 23291 23292 // String returns the string representation. 23293 // 23294 // API parameter values that are decorated as "sensitive" in the API will not 23295 // be included in the string output. The member name will be present, but the 23296 // value will be replaced with "sensitive". 23297 func (s VersionInfo) String() string { 23298 return awsutil.Prettify(s) 23299 } 23300 23301 // GoString returns the string representation. 23302 // 23303 // API parameter values that are decorated as "sensitive" in the API will not 23304 // be included in the string output. The member name will be present, but the 23305 // value will be replaced with "sensitive". 23306 func (s VersionInfo) GoString() string { 23307 return s.String() 23308 } 23309 23310 // SetAgentHash sets the AgentHash field's value. 23311 func (s *VersionInfo) SetAgentHash(v string) *VersionInfo { 23312 s.AgentHash = &v 23313 return s 23314 } 23315 23316 // SetAgentVersion sets the AgentVersion field's value. 23317 func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo { 23318 s.AgentVersion = &v 23319 return s 23320 } 23321 23322 // SetDockerVersion sets the DockerVersion field's value. 23323 func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { 23324 s.DockerVersion = &v 23325 return s 23326 } 23327 23328 // A data volume used in a task definition. For tasks that use the Amazon Elastic 23329 // File System (Amazon EFS), specify an efsVolumeConfiguration. For Windows 23330 // tasks that use Amazon FSx for Windows File Server file system, specify a 23331 // fsxWindowsFileServerVolumeConfiguration. For tasks that use a Docker volume, 23332 // specify a DockerVolumeConfiguration. For tasks that use a bind mount host 23333 // volume, specify a host and optional sourcePath. For more information, see 23334 // Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). 23335 type Volume struct { 23336 _ struct{} `type:"structure"` 23337 23338 // This parameter is specified when you are using Docker volumes. 23339 // 23340 // Windows containers only support the use of the local driver. To use bind 23341 // mounts, specify the host parameter instead. 23342 // 23343 // Docker volumes are not supported by tasks run on Fargate. 23344 DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` 23345 23346 // This parameter is specified when you are using an Amazon Elastic File System 23347 // file system for task storage. 23348 EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` 23349 23350 // This parameter is specified when you are using Amazon FSx for Windows File 23351 // Server file system for task storage. 23352 FsxWindowsFileServerVolumeConfiguration *FSxWindowsFileServerVolumeConfiguration `locationName:"fsxWindowsFileServerVolumeConfiguration" type:"structure"` 23353 23354 // This parameter is specified when you are using bind mount host volumes. The 23355 // contents of the host parameter determine whether your bind mount host volume 23356 // persists on the host container instance and where it is stored. If the host 23357 // parameter is empty, then the Docker daemon assigns a host path for your data 23358 // volume. However, the data is not guaranteed to persist after the containers 23359 // associated with it stop running. 23360 // 23361 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 23362 // Windows containers cannot mount directories on a different drive, and mount 23363 // point cannot be across drives. For example, you can mount C:\my\path:C:\my\path 23364 // and D:\:D:\, but not D:\my\path:C:\my\path or D:\:C:\my\path. 23365 Host *HostVolumeProperties `locationName:"host" type:"structure"` 23366 23367 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 23368 // underscores, and hyphens are allowed. This name is referenced in the sourceVolume 23369 // parameter of container definition mountPoints. 23370 Name *string `locationName:"name" type:"string"` 23371 } 23372 23373 // String returns the string representation. 23374 // 23375 // API parameter values that are decorated as "sensitive" in the API will not 23376 // be included in the string output. The member name will be present, but the 23377 // value will be replaced with "sensitive". 23378 func (s Volume) String() string { 23379 return awsutil.Prettify(s) 23380 } 23381 23382 // GoString returns the string representation. 23383 // 23384 // API parameter values that are decorated as "sensitive" in the API will not 23385 // be included in the string output. The member name will be present, but the 23386 // value will be replaced with "sensitive". 23387 func (s Volume) GoString() string { 23388 return s.String() 23389 } 23390 23391 // Validate inspects the fields of the type to determine if they are valid. 23392 func (s *Volume) Validate() error { 23393 invalidParams := request.ErrInvalidParams{Context: "Volume"} 23394 if s.EfsVolumeConfiguration != nil { 23395 if err := s.EfsVolumeConfiguration.Validate(); err != nil { 23396 invalidParams.AddNested("EfsVolumeConfiguration", err.(request.ErrInvalidParams)) 23397 } 23398 } 23399 if s.FsxWindowsFileServerVolumeConfiguration != nil { 23400 if err := s.FsxWindowsFileServerVolumeConfiguration.Validate(); err != nil { 23401 invalidParams.AddNested("FsxWindowsFileServerVolumeConfiguration", err.(request.ErrInvalidParams)) 23402 } 23403 } 23404 23405 if invalidParams.Len() > 0 { 23406 return invalidParams 23407 } 23408 return nil 23409 } 23410 23411 // SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value. 23412 func (s *Volume) SetDockerVolumeConfiguration(v *DockerVolumeConfiguration) *Volume { 23413 s.DockerVolumeConfiguration = v 23414 return s 23415 } 23416 23417 // SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value. 23418 func (s *Volume) SetEfsVolumeConfiguration(v *EFSVolumeConfiguration) *Volume { 23419 s.EfsVolumeConfiguration = v 23420 return s 23421 } 23422 23423 // SetFsxWindowsFileServerVolumeConfiguration sets the FsxWindowsFileServerVolumeConfiguration field's value. 23424 func (s *Volume) SetFsxWindowsFileServerVolumeConfiguration(v *FSxWindowsFileServerVolumeConfiguration) *Volume { 23425 s.FsxWindowsFileServerVolumeConfiguration = v 23426 return s 23427 } 23428 23429 // SetHost sets the Host field's value. 23430 func (s *Volume) SetHost(v *HostVolumeProperties) *Volume { 23431 s.Host = v 23432 return s 23433 } 23434 23435 // SetName sets the Name field's value. 23436 func (s *Volume) SetName(v string) *Volume { 23437 s.Name = &v 23438 return s 23439 } 23440 23441 // Details on a data volume from another container in the same task definition. 23442 type VolumeFrom struct { 23443 _ struct{} `type:"structure"` 23444 23445 // If this value is true, the container has read-only access to the volume. 23446 // If this value is false, then the container can write to the volume. The default 23447 // value is false. 23448 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 23449 23450 // The name of another container within the same task definition from which 23451 // to mount volumes. 23452 SourceContainer *string `locationName:"sourceContainer" type:"string"` 23453 } 23454 23455 // String returns the string representation. 23456 // 23457 // API parameter values that are decorated as "sensitive" in the API will not 23458 // be included in the string output. The member name will be present, but the 23459 // value will be replaced with "sensitive". 23460 func (s VolumeFrom) String() string { 23461 return awsutil.Prettify(s) 23462 } 23463 23464 // GoString returns the string representation. 23465 // 23466 // API parameter values that are decorated as "sensitive" in the API will not 23467 // be included in the string output. The member name will be present, but the 23468 // value will be replaced with "sensitive". 23469 func (s VolumeFrom) GoString() string { 23470 return s.String() 23471 } 23472 23473 // SetReadOnly sets the ReadOnly field's value. 23474 func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom { 23475 s.ReadOnly = &v 23476 return s 23477 } 23478 23479 // SetSourceContainer sets the SourceContainer field's value. 23480 func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom { 23481 s.SourceContainer = &v 23482 return s 23483 } 23484 23485 const ( 23486 // AgentUpdateStatusPending is a AgentUpdateStatus enum value 23487 AgentUpdateStatusPending = "PENDING" 23488 23489 // AgentUpdateStatusStaging is a AgentUpdateStatus enum value 23490 AgentUpdateStatusStaging = "STAGING" 23491 23492 // AgentUpdateStatusStaged is a AgentUpdateStatus enum value 23493 AgentUpdateStatusStaged = "STAGED" 23494 23495 // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value 23496 AgentUpdateStatusUpdating = "UPDATING" 23497 23498 // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value 23499 AgentUpdateStatusUpdated = "UPDATED" 23500 23501 // AgentUpdateStatusFailed is a AgentUpdateStatus enum value 23502 AgentUpdateStatusFailed = "FAILED" 23503 ) 23504 23505 // AgentUpdateStatus_Values returns all elements of the AgentUpdateStatus enum 23506 func AgentUpdateStatus_Values() []string { 23507 return []string{ 23508 AgentUpdateStatusPending, 23509 AgentUpdateStatusStaging, 23510 AgentUpdateStatusStaged, 23511 AgentUpdateStatusUpdating, 23512 AgentUpdateStatusUpdated, 23513 AgentUpdateStatusFailed, 23514 } 23515 } 23516 23517 const ( 23518 // AssignPublicIpEnabled is a AssignPublicIp enum value 23519 AssignPublicIpEnabled = "ENABLED" 23520 23521 // AssignPublicIpDisabled is a AssignPublicIp enum value 23522 AssignPublicIpDisabled = "DISABLED" 23523 ) 23524 23525 // AssignPublicIp_Values returns all elements of the AssignPublicIp enum 23526 func AssignPublicIp_Values() []string { 23527 return []string{ 23528 AssignPublicIpEnabled, 23529 AssignPublicIpDisabled, 23530 } 23531 } 23532 23533 const ( 23534 // CapacityProviderFieldTags is a CapacityProviderField enum value 23535 CapacityProviderFieldTags = "TAGS" 23536 ) 23537 23538 // CapacityProviderField_Values returns all elements of the CapacityProviderField enum 23539 func CapacityProviderField_Values() []string { 23540 return []string{ 23541 CapacityProviderFieldTags, 23542 } 23543 } 23544 23545 const ( 23546 // CapacityProviderStatusActive is a CapacityProviderStatus enum value 23547 CapacityProviderStatusActive = "ACTIVE" 23548 23549 // CapacityProviderStatusInactive is a CapacityProviderStatus enum value 23550 CapacityProviderStatusInactive = "INACTIVE" 23551 ) 23552 23553 // CapacityProviderStatus_Values returns all elements of the CapacityProviderStatus enum 23554 func CapacityProviderStatus_Values() []string { 23555 return []string{ 23556 CapacityProviderStatusActive, 23557 CapacityProviderStatusInactive, 23558 } 23559 } 23560 23561 const ( 23562 // CapacityProviderUpdateStatusDeleteInProgress is a CapacityProviderUpdateStatus enum value 23563 CapacityProviderUpdateStatusDeleteInProgress = "DELETE_IN_PROGRESS" 23564 23565 // CapacityProviderUpdateStatusDeleteComplete is a CapacityProviderUpdateStatus enum value 23566 CapacityProviderUpdateStatusDeleteComplete = "DELETE_COMPLETE" 23567 23568 // CapacityProviderUpdateStatusDeleteFailed is a CapacityProviderUpdateStatus enum value 23569 CapacityProviderUpdateStatusDeleteFailed = "DELETE_FAILED" 23570 23571 // CapacityProviderUpdateStatusUpdateInProgress is a CapacityProviderUpdateStatus enum value 23572 CapacityProviderUpdateStatusUpdateInProgress = "UPDATE_IN_PROGRESS" 23573 23574 // CapacityProviderUpdateStatusUpdateComplete is a CapacityProviderUpdateStatus enum value 23575 CapacityProviderUpdateStatusUpdateComplete = "UPDATE_COMPLETE" 23576 23577 // CapacityProviderUpdateStatusUpdateFailed is a CapacityProviderUpdateStatus enum value 23578 CapacityProviderUpdateStatusUpdateFailed = "UPDATE_FAILED" 23579 ) 23580 23581 // CapacityProviderUpdateStatus_Values returns all elements of the CapacityProviderUpdateStatus enum 23582 func CapacityProviderUpdateStatus_Values() []string { 23583 return []string{ 23584 CapacityProviderUpdateStatusDeleteInProgress, 23585 CapacityProviderUpdateStatusDeleteComplete, 23586 CapacityProviderUpdateStatusDeleteFailed, 23587 CapacityProviderUpdateStatusUpdateInProgress, 23588 CapacityProviderUpdateStatusUpdateComplete, 23589 CapacityProviderUpdateStatusUpdateFailed, 23590 } 23591 } 23592 23593 const ( 23594 // ClusterFieldAttachments is a ClusterField enum value 23595 ClusterFieldAttachments = "ATTACHMENTS" 23596 23597 // ClusterFieldConfigurations is a ClusterField enum value 23598 ClusterFieldConfigurations = "CONFIGURATIONS" 23599 23600 // ClusterFieldSettings is a ClusterField enum value 23601 ClusterFieldSettings = "SETTINGS" 23602 23603 // ClusterFieldStatistics is a ClusterField enum value 23604 ClusterFieldStatistics = "STATISTICS" 23605 23606 // ClusterFieldTags is a ClusterField enum value 23607 ClusterFieldTags = "TAGS" 23608 ) 23609 23610 // ClusterField_Values returns all elements of the ClusterField enum 23611 func ClusterField_Values() []string { 23612 return []string{ 23613 ClusterFieldAttachments, 23614 ClusterFieldConfigurations, 23615 ClusterFieldSettings, 23616 ClusterFieldStatistics, 23617 ClusterFieldTags, 23618 } 23619 } 23620 23621 const ( 23622 // ClusterSettingNameContainerInsights is a ClusterSettingName enum value 23623 ClusterSettingNameContainerInsights = "containerInsights" 23624 ) 23625 23626 // ClusterSettingName_Values returns all elements of the ClusterSettingName enum 23627 func ClusterSettingName_Values() []string { 23628 return []string{ 23629 ClusterSettingNameContainerInsights, 23630 } 23631 } 23632 23633 const ( 23634 // CompatibilityEc2 is a Compatibility enum value 23635 CompatibilityEc2 = "EC2" 23636 23637 // CompatibilityFargate is a Compatibility enum value 23638 CompatibilityFargate = "FARGATE" 23639 23640 // CompatibilityExternal is a Compatibility enum value 23641 CompatibilityExternal = "EXTERNAL" 23642 ) 23643 23644 // Compatibility_Values returns all elements of the Compatibility enum 23645 func Compatibility_Values() []string { 23646 return []string{ 23647 CompatibilityEc2, 23648 CompatibilityFargate, 23649 CompatibilityExternal, 23650 } 23651 } 23652 23653 const ( 23654 // ConnectivityConnected is a Connectivity enum value 23655 ConnectivityConnected = "CONNECTED" 23656 23657 // ConnectivityDisconnected is a Connectivity enum value 23658 ConnectivityDisconnected = "DISCONNECTED" 23659 ) 23660 23661 // Connectivity_Values returns all elements of the Connectivity enum 23662 func Connectivity_Values() []string { 23663 return []string{ 23664 ConnectivityConnected, 23665 ConnectivityDisconnected, 23666 } 23667 } 23668 23669 const ( 23670 // ContainerConditionStart is a ContainerCondition enum value 23671 ContainerConditionStart = "START" 23672 23673 // ContainerConditionComplete is a ContainerCondition enum value 23674 ContainerConditionComplete = "COMPLETE" 23675 23676 // ContainerConditionSuccess is a ContainerCondition enum value 23677 ContainerConditionSuccess = "SUCCESS" 23678 23679 // ContainerConditionHealthy is a ContainerCondition enum value 23680 ContainerConditionHealthy = "HEALTHY" 23681 ) 23682 23683 // ContainerCondition_Values returns all elements of the ContainerCondition enum 23684 func ContainerCondition_Values() []string { 23685 return []string{ 23686 ContainerConditionStart, 23687 ContainerConditionComplete, 23688 ContainerConditionSuccess, 23689 ContainerConditionHealthy, 23690 } 23691 } 23692 23693 const ( 23694 // ContainerInstanceFieldTags is a ContainerInstanceField enum value 23695 ContainerInstanceFieldTags = "TAGS" 23696 ) 23697 23698 // ContainerInstanceField_Values returns all elements of the ContainerInstanceField enum 23699 func ContainerInstanceField_Values() []string { 23700 return []string{ 23701 ContainerInstanceFieldTags, 23702 } 23703 } 23704 23705 const ( 23706 // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value 23707 ContainerInstanceStatusActive = "ACTIVE" 23708 23709 // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value 23710 ContainerInstanceStatusDraining = "DRAINING" 23711 23712 // ContainerInstanceStatusRegistering is a ContainerInstanceStatus enum value 23713 ContainerInstanceStatusRegistering = "REGISTERING" 23714 23715 // ContainerInstanceStatusDeregistering is a ContainerInstanceStatus enum value 23716 ContainerInstanceStatusDeregistering = "DEREGISTERING" 23717 23718 // ContainerInstanceStatusRegistrationFailed is a ContainerInstanceStatus enum value 23719 ContainerInstanceStatusRegistrationFailed = "REGISTRATION_FAILED" 23720 ) 23721 23722 // ContainerInstanceStatus_Values returns all elements of the ContainerInstanceStatus enum 23723 func ContainerInstanceStatus_Values() []string { 23724 return []string{ 23725 ContainerInstanceStatusActive, 23726 ContainerInstanceStatusDraining, 23727 ContainerInstanceStatusRegistering, 23728 ContainerInstanceStatusDeregistering, 23729 ContainerInstanceStatusRegistrationFailed, 23730 } 23731 } 23732 23733 const ( 23734 // DeploymentControllerTypeEcs is a DeploymentControllerType enum value 23735 DeploymentControllerTypeEcs = "ECS" 23736 23737 // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value 23738 DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY" 23739 23740 // DeploymentControllerTypeExternal is a DeploymentControllerType enum value 23741 DeploymentControllerTypeExternal = "EXTERNAL" 23742 ) 23743 23744 // DeploymentControllerType_Values returns all elements of the DeploymentControllerType enum 23745 func DeploymentControllerType_Values() []string { 23746 return []string{ 23747 DeploymentControllerTypeEcs, 23748 DeploymentControllerTypeCodeDeploy, 23749 DeploymentControllerTypeExternal, 23750 } 23751 } 23752 23753 const ( 23754 // DeploymentRolloutStateCompleted is a DeploymentRolloutState enum value 23755 DeploymentRolloutStateCompleted = "COMPLETED" 23756 23757 // DeploymentRolloutStateFailed is a DeploymentRolloutState enum value 23758 DeploymentRolloutStateFailed = "FAILED" 23759 23760 // DeploymentRolloutStateInProgress is a DeploymentRolloutState enum value 23761 DeploymentRolloutStateInProgress = "IN_PROGRESS" 23762 ) 23763 23764 // DeploymentRolloutState_Values returns all elements of the DeploymentRolloutState enum 23765 func DeploymentRolloutState_Values() []string { 23766 return []string{ 23767 DeploymentRolloutStateCompleted, 23768 DeploymentRolloutStateFailed, 23769 DeploymentRolloutStateInProgress, 23770 } 23771 } 23772 23773 const ( 23774 // DesiredStatusRunning is a DesiredStatus enum value 23775 DesiredStatusRunning = "RUNNING" 23776 23777 // DesiredStatusPending is a DesiredStatus enum value 23778 DesiredStatusPending = "PENDING" 23779 23780 // DesiredStatusStopped is a DesiredStatus enum value 23781 DesiredStatusStopped = "STOPPED" 23782 ) 23783 23784 // DesiredStatus_Values returns all elements of the DesiredStatus enum 23785 func DesiredStatus_Values() []string { 23786 return []string{ 23787 DesiredStatusRunning, 23788 DesiredStatusPending, 23789 DesiredStatusStopped, 23790 } 23791 } 23792 23793 const ( 23794 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 23795 DeviceCgroupPermissionRead = "read" 23796 23797 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 23798 DeviceCgroupPermissionWrite = "write" 23799 23800 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 23801 DeviceCgroupPermissionMknod = "mknod" 23802 ) 23803 23804 // DeviceCgroupPermission_Values returns all elements of the DeviceCgroupPermission enum 23805 func DeviceCgroupPermission_Values() []string { 23806 return []string{ 23807 DeviceCgroupPermissionRead, 23808 DeviceCgroupPermissionWrite, 23809 DeviceCgroupPermissionMknod, 23810 } 23811 } 23812 23813 const ( 23814 // EFSAuthorizationConfigIAMEnabled is a EFSAuthorizationConfigIAM enum value 23815 EFSAuthorizationConfigIAMEnabled = "ENABLED" 23816 23817 // EFSAuthorizationConfigIAMDisabled is a EFSAuthorizationConfigIAM enum value 23818 EFSAuthorizationConfigIAMDisabled = "DISABLED" 23819 ) 23820 23821 // EFSAuthorizationConfigIAM_Values returns all elements of the EFSAuthorizationConfigIAM enum 23822 func EFSAuthorizationConfigIAM_Values() []string { 23823 return []string{ 23824 EFSAuthorizationConfigIAMEnabled, 23825 EFSAuthorizationConfigIAMDisabled, 23826 } 23827 } 23828 23829 const ( 23830 // EFSTransitEncryptionEnabled is a EFSTransitEncryption enum value 23831 EFSTransitEncryptionEnabled = "ENABLED" 23832 23833 // EFSTransitEncryptionDisabled is a EFSTransitEncryption enum value 23834 EFSTransitEncryptionDisabled = "DISABLED" 23835 ) 23836 23837 // EFSTransitEncryption_Values returns all elements of the EFSTransitEncryption enum 23838 func EFSTransitEncryption_Values() []string { 23839 return []string{ 23840 EFSTransitEncryptionEnabled, 23841 EFSTransitEncryptionDisabled, 23842 } 23843 } 23844 23845 const ( 23846 // EnvironmentFileTypeS3 is a EnvironmentFileType enum value 23847 EnvironmentFileTypeS3 = "s3" 23848 ) 23849 23850 // EnvironmentFileType_Values returns all elements of the EnvironmentFileType enum 23851 func EnvironmentFileType_Values() []string { 23852 return []string{ 23853 EnvironmentFileTypeS3, 23854 } 23855 } 23856 23857 const ( 23858 // ExecuteCommandLoggingNone is a ExecuteCommandLogging enum value 23859 ExecuteCommandLoggingNone = "NONE" 23860 23861 // ExecuteCommandLoggingDefault is a ExecuteCommandLogging enum value 23862 ExecuteCommandLoggingDefault = "DEFAULT" 23863 23864 // ExecuteCommandLoggingOverride is a ExecuteCommandLogging enum value 23865 ExecuteCommandLoggingOverride = "OVERRIDE" 23866 ) 23867 23868 // ExecuteCommandLogging_Values returns all elements of the ExecuteCommandLogging enum 23869 func ExecuteCommandLogging_Values() []string { 23870 return []string{ 23871 ExecuteCommandLoggingNone, 23872 ExecuteCommandLoggingDefault, 23873 ExecuteCommandLoggingOverride, 23874 } 23875 } 23876 23877 const ( 23878 // FirelensConfigurationTypeFluentd is a FirelensConfigurationType enum value 23879 FirelensConfigurationTypeFluentd = "fluentd" 23880 23881 // FirelensConfigurationTypeFluentbit is a FirelensConfigurationType enum value 23882 FirelensConfigurationTypeFluentbit = "fluentbit" 23883 ) 23884 23885 // FirelensConfigurationType_Values returns all elements of the FirelensConfigurationType enum 23886 func FirelensConfigurationType_Values() []string { 23887 return []string{ 23888 FirelensConfigurationTypeFluentd, 23889 FirelensConfigurationTypeFluentbit, 23890 } 23891 } 23892 23893 const ( 23894 // HealthStatusHealthy is a HealthStatus enum value 23895 HealthStatusHealthy = "HEALTHY" 23896 23897 // HealthStatusUnhealthy is a HealthStatus enum value 23898 HealthStatusUnhealthy = "UNHEALTHY" 23899 23900 // HealthStatusUnknown is a HealthStatus enum value 23901 HealthStatusUnknown = "UNKNOWN" 23902 ) 23903 23904 // HealthStatus_Values returns all elements of the HealthStatus enum 23905 func HealthStatus_Values() []string { 23906 return []string{ 23907 HealthStatusHealthy, 23908 HealthStatusUnhealthy, 23909 HealthStatusUnknown, 23910 } 23911 } 23912 23913 const ( 23914 // IpcModeHost is a IpcMode enum value 23915 IpcModeHost = "host" 23916 23917 // IpcModeTask is a IpcMode enum value 23918 IpcModeTask = "task" 23919 23920 // IpcModeNone is a IpcMode enum value 23921 IpcModeNone = "none" 23922 ) 23923 23924 // IpcMode_Values returns all elements of the IpcMode enum 23925 func IpcMode_Values() []string { 23926 return []string{ 23927 IpcModeHost, 23928 IpcModeTask, 23929 IpcModeNone, 23930 } 23931 } 23932 23933 const ( 23934 // LaunchTypeEc2 is a LaunchType enum value 23935 LaunchTypeEc2 = "EC2" 23936 23937 // LaunchTypeFargate is a LaunchType enum value 23938 LaunchTypeFargate = "FARGATE" 23939 23940 // LaunchTypeExternal is a LaunchType enum value 23941 LaunchTypeExternal = "EXTERNAL" 23942 ) 23943 23944 // LaunchType_Values returns all elements of the LaunchType enum 23945 func LaunchType_Values() []string { 23946 return []string{ 23947 LaunchTypeEc2, 23948 LaunchTypeFargate, 23949 LaunchTypeExternal, 23950 } 23951 } 23952 23953 const ( 23954 // LogDriverJsonFile is a LogDriver enum value 23955 LogDriverJsonFile = "json-file" 23956 23957 // LogDriverSyslog is a LogDriver enum value 23958 LogDriverSyslog = "syslog" 23959 23960 // LogDriverJournald is a LogDriver enum value 23961 LogDriverJournald = "journald" 23962 23963 // LogDriverGelf is a LogDriver enum value 23964 LogDriverGelf = "gelf" 23965 23966 // LogDriverFluentd is a LogDriver enum value 23967 LogDriverFluentd = "fluentd" 23968 23969 // LogDriverAwslogs is a LogDriver enum value 23970 LogDriverAwslogs = "awslogs" 23971 23972 // LogDriverSplunk is a LogDriver enum value 23973 LogDriverSplunk = "splunk" 23974 23975 // LogDriverAwsfirelens is a LogDriver enum value 23976 LogDriverAwsfirelens = "awsfirelens" 23977 ) 23978 23979 // LogDriver_Values returns all elements of the LogDriver enum 23980 func LogDriver_Values() []string { 23981 return []string{ 23982 LogDriverJsonFile, 23983 LogDriverSyslog, 23984 LogDriverJournald, 23985 LogDriverGelf, 23986 LogDriverFluentd, 23987 LogDriverAwslogs, 23988 LogDriverSplunk, 23989 LogDriverAwsfirelens, 23990 } 23991 } 23992 23993 const ( 23994 // ManagedAgentNameExecuteCommandAgent is a ManagedAgentName enum value 23995 ManagedAgentNameExecuteCommandAgent = "ExecuteCommandAgent" 23996 ) 23997 23998 // ManagedAgentName_Values returns all elements of the ManagedAgentName enum 23999 func ManagedAgentName_Values() []string { 24000 return []string{ 24001 ManagedAgentNameExecuteCommandAgent, 24002 } 24003 } 24004 24005 const ( 24006 // ManagedScalingStatusEnabled is a ManagedScalingStatus enum value 24007 ManagedScalingStatusEnabled = "ENABLED" 24008 24009 // ManagedScalingStatusDisabled is a ManagedScalingStatus enum value 24010 ManagedScalingStatusDisabled = "DISABLED" 24011 ) 24012 24013 // ManagedScalingStatus_Values returns all elements of the ManagedScalingStatus enum 24014 func ManagedScalingStatus_Values() []string { 24015 return []string{ 24016 ManagedScalingStatusEnabled, 24017 ManagedScalingStatusDisabled, 24018 } 24019 } 24020 24021 const ( 24022 // ManagedTerminationProtectionEnabled is a ManagedTerminationProtection enum value 24023 ManagedTerminationProtectionEnabled = "ENABLED" 24024 24025 // ManagedTerminationProtectionDisabled is a ManagedTerminationProtection enum value 24026 ManagedTerminationProtectionDisabled = "DISABLED" 24027 ) 24028 24029 // ManagedTerminationProtection_Values returns all elements of the ManagedTerminationProtection enum 24030 func ManagedTerminationProtection_Values() []string { 24031 return []string{ 24032 ManagedTerminationProtectionEnabled, 24033 ManagedTerminationProtectionDisabled, 24034 } 24035 } 24036 24037 const ( 24038 // NetworkModeBridge is a NetworkMode enum value 24039 NetworkModeBridge = "bridge" 24040 24041 // NetworkModeHost is a NetworkMode enum value 24042 NetworkModeHost = "host" 24043 24044 // NetworkModeAwsvpc is a NetworkMode enum value 24045 NetworkModeAwsvpc = "awsvpc" 24046 24047 // NetworkModeNone is a NetworkMode enum value 24048 NetworkModeNone = "none" 24049 ) 24050 24051 // NetworkMode_Values returns all elements of the NetworkMode enum 24052 func NetworkMode_Values() []string { 24053 return []string{ 24054 NetworkModeBridge, 24055 NetworkModeHost, 24056 NetworkModeAwsvpc, 24057 NetworkModeNone, 24058 } 24059 } 24060 24061 const ( 24062 // PidModeHost is a PidMode enum value 24063 PidModeHost = "host" 24064 24065 // PidModeTask is a PidMode enum value 24066 PidModeTask = "task" 24067 ) 24068 24069 // PidMode_Values returns all elements of the PidMode enum 24070 func PidMode_Values() []string { 24071 return []string{ 24072 PidModeHost, 24073 PidModeTask, 24074 } 24075 } 24076 24077 const ( 24078 // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value 24079 PlacementConstraintTypeDistinctInstance = "distinctInstance" 24080 24081 // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value 24082 PlacementConstraintTypeMemberOf = "memberOf" 24083 ) 24084 24085 // PlacementConstraintType_Values returns all elements of the PlacementConstraintType enum 24086 func PlacementConstraintType_Values() []string { 24087 return []string{ 24088 PlacementConstraintTypeDistinctInstance, 24089 PlacementConstraintTypeMemberOf, 24090 } 24091 } 24092 24093 const ( 24094 // PlacementStrategyTypeRandom is a PlacementStrategyType enum value 24095 PlacementStrategyTypeRandom = "random" 24096 24097 // PlacementStrategyTypeSpread is a PlacementStrategyType enum value 24098 PlacementStrategyTypeSpread = "spread" 24099 24100 // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value 24101 PlacementStrategyTypeBinpack = "binpack" 24102 ) 24103 24104 // PlacementStrategyType_Values returns all elements of the PlacementStrategyType enum 24105 func PlacementStrategyType_Values() []string { 24106 return []string{ 24107 PlacementStrategyTypeRandom, 24108 PlacementStrategyTypeSpread, 24109 PlacementStrategyTypeBinpack, 24110 } 24111 } 24112 24113 const ( 24114 // PlatformDeviceTypeGpu is a PlatformDeviceType enum value 24115 PlatformDeviceTypeGpu = "GPU" 24116 ) 24117 24118 // PlatformDeviceType_Values returns all elements of the PlatformDeviceType enum 24119 func PlatformDeviceType_Values() []string { 24120 return []string{ 24121 PlatformDeviceTypeGpu, 24122 } 24123 } 24124 24125 const ( 24126 // PropagateTagsTaskDefinition is a PropagateTags enum value 24127 PropagateTagsTaskDefinition = "TASK_DEFINITION" 24128 24129 // PropagateTagsService is a PropagateTags enum value 24130 PropagateTagsService = "SERVICE" 24131 ) 24132 24133 // PropagateTags_Values returns all elements of the PropagateTags enum 24134 func PropagateTags_Values() []string { 24135 return []string{ 24136 PropagateTagsTaskDefinition, 24137 PropagateTagsService, 24138 } 24139 } 24140 24141 const ( 24142 // ProxyConfigurationTypeAppmesh is a ProxyConfigurationType enum value 24143 ProxyConfigurationTypeAppmesh = "APPMESH" 24144 ) 24145 24146 // ProxyConfigurationType_Values returns all elements of the ProxyConfigurationType enum 24147 func ProxyConfigurationType_Values() []string { 24148 return []string{ 24149 ProxyConfigurationTypeAppmesh, 24150 } 24151 } 24152 24153 const ( 24154 // ResourceTypeGpu is a ResourceType enum value 24155 ResourceTypeGpu = "GPU" 24156 24157 // ResourceTypeInferenceAccelerator is a ResourceType enum value 24158 ResourceTypeInferenceAccelerator = "InferenceAccelerator" 24159 ) 24160 24161 // ResourceType_Values returns all elements of the ResourceType enum 24162 func ResourceType_Values() []string { 24163 return []string{ 24164 ResourceTypeGpu, 24165 ResourceTypeInferenceAccelerator, 24166 } 24167 } 24168 24169 const ( 24170 // ScaleUnitPercent is a ScaleUnit enum value 24171 ScaleUnitPercent = "PERCENT" 24172 ) 24173 24174 // ScaleUnit_Values returns all elements of the ScaleUnit enum 24175 func ScaleUnit_Values() []string { 24176 return []string{ 24177 ScaleUnitPercent, 24178 } 24179 } 24180 24181 const ( 24182 // SchedulingStrategyReplica is a SchedulingStrategy enum value 24183 SchedulingStrategyReplica = "REPLICA" 24184 24185 // SchedulingStrategyDaemon is a SchedulingStrategy enum value 24186 SchedulingStrategyDaemon = "DAEMON" 24187 ) 24188 24189 // SchedulingStrategy_Values returns all elements of the SchedulingStrategy enum 24190 func SchedulingStrategy_Values() []string { 24191 return []string{ 24192 SchedulingStrategyReplica, 24193 SchedulingStrategyDaemon, 24194 } 24195 } 24196 24197 const ( 24198 // ScopeTask is a Scope enum value 24199 ScopeTask = "task" 24200 24201 // ScopeShared is a Scope enum value 24202 ScopeShared = "shared" 24203 ) 24204 24205 // Scope_Values returns all elements of the Scope enum 24206 func Scope_Values() []string { 24207 return []string{ 24208 ScopeTask, 24209 ScopeShared, 24210 } 24211 } 24212 24213 const ( 24214 // ServiceFieldTags is a ServiceField enum value 24215 ServiceFieldTags = "TAGS" 24216 ) 24217 24218 // ServiceField_Values returns all elements of the ServiceField enum 24219 func ServiceField_Values() []string { 24220 return []string{ 24221 ServiceFieldTags, 24222 } 24223 } 24224 24225 const ( 24226 // SettingNameServiceLongArnFormat is a SettingName enum value 24227 SettingNameServiceLongArnFormat = "serviceLongArnFormat" 24228 24229 // SettingNameTaskLongArnFormat is a SettingName enum value 24230 SettingNameTaskLongArnFormat = "taskLongArnFormat" 24231 24232 // SettingNameContainerInstanceLongArnFormat is a SettingName enum value 24233 SettingNameContainerInstanceLongArnFormat = "containerInstanceLongArnFormat" 24234 24235 // SettingNameAwsvpcTrunking is a SettingName enum value 24236 SettingNameAwsvpcTrunking = "awsvpcTrunking" 24237 24238 // SettingNameContainerInsights is a SettingName enum value 24239 SettingNameContainerInsights = "containerInsights" 24240 ) 24241 24242 // SettingName_Values returns all elements of the SettingName enum 24243 func SettingName_Values() []string { 24244 return []string{ 24245 SettingNameServiceLongArnFormat, 24246 SettingNameTaskLongArnFormat, 24247 SettingNameContainerInstanceLongArnFormat, 24248 SettingNameAwsvpcTrunking, 24249 SettingNameContainerInsights, 24250 } 24251 } 24252 24253 const ( 24254 // SortOrderAsc is a SortOrder enum value 24255 SortOrderAsc = "ASC" 24256 24257 // SortOrderDesc is a SortOrder enum value 24258 SortOrderDesc = "DESC" 24259 ) 24260 24261 // SortOrder_Values returns all elements of the SortOrder enum 24262 func SortOrder_Values() []string { 24263 return []string{ 24264 SortOrderAsc, 24265 SortOrderDesc, 24266 } 24267 } 24268 24269 const ( 24270 // StabilityStatusSteadyState is a StabilityStatus enum value 24271 StabilityStatusSteadyState = "STEADY_STATE" 24272 24273 // StabilityStatusStabilizing is a StabilityStatus enum value 24274 StabilityStatusStabilizing = "STABILIZING" 24275 ) 24276 24277 // StabilityStatus_Values returns all elements of the StabilityStatus enum 24278 func StabilityStatus_Values() []string { 24279 return []string{ 24280 StabilityStatusSteadyState, 24281 StabilityStatusStabilizing, 24282 } 24283 } 24284 24285 const ( 24286 // TargetTypeContainerInstance is a TargetType enum value 24287 TargetTypeContainerInstance = "container-instance" 24288 ) 24289 24290 // TargetType_Values returns all elements of the TargetType enum 24291 func TargetType_Values() []string { 24292 return []string{ 24293 TargetTypeContainerInstance, 24294 } 24295 } 24296 24297 const ( 24298 // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value 24299 TaskDefinitionFamilyStatusActive = "ACTIVE" 24300 24301 // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value 24302 TaskDefinitionFamilyStatusInactive = "INACTIVE" 24303 24304 // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value 24305 TaskDefinitionFamilyStatusAll = "ALL" 24306 ) 24307 24308 // TaskDefinitionFamilyStatus_Values returns all elements of the TaskDefinitionFamilyStatus enum 24309 func TaskDefinitionFamilyStatus_Values() []string { 24310 return []string{ 24311 TaskDefinitionFamilyStatusActive, 24312 TaskDefinitionFamilyStatusInactive, 24313 TaskDefinitionFamilyStatusAll, 24314 } 24315 } 24316 24317 const ( 24318 // TaskDefinitionFieldTags is a TaskDefinitionField enum value 24319 TaskDefinitionFieldTags = "TAGS" 24320 ) 24321 24322 // TaskDefinitionField_Values returns all elements of the TaskDefinitionField enum 24323 func TaskDefinitionField_Values() []string { 24324 return []string{ 24325 TaskDefinitionFieldTags, 24326 } 24327 } 24328 24329 const ( 24330 // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value 24331 TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf" 24332 ) 24333 24334 // TaskDefinitionPlacementConstraintType_Values returns all elements of the TaskDefinitionPlacementConstraintType enum 24335 func TaskDefinitionPlacementConstraintType_Values() []string { 24336 return []string{ 24337 TaskDefinitionPlacementConstraintTypeMemberOf, 24338 } 24339 } 24340 24341 const ( 24342 // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value 24343 TaskDefinitionStatusActive = "ACTIVE" 24344 24345 // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value 24346 TaskDefinitionStatusInactive = "INACTIVE" 24347 ) 24348 24349 // TaskDefinitionStatus_Values returns all elements of the TaskDefinitionStatus enum 24350 func TaskDefinitionStatus_Values() []string { 24351 return []string{ 24352 TaskDefinitionStatusActive, 24353 TaskDefinitionStatusInactive, 24354 } 24355 } 24356 24357 const ( 24358 // TaskFieldTags is a TaskField enum value 24359 TaskFieldTags = "TAGS" 24360 ) 24361 24362 // TaskField_Values returns all elements of the TaskField enum 24363 func TaskField_Values() []string { 24364 return []string{ 24365 TaskFieldTags, 24366 } 24367 } 24368 24369 const ( 24370 // TaskSetFieldTags is a TaskSetField enum value 24371 TaskSetFieldTags = "TAGS" 24372 ) 24373 24374 // TaskSetField_Values returns all elements of the TaskSetField enum 24375 func TaskSetField_Values() []string { 24376 return []string{ 24377 TaskSetFieldTags, 24378 } 24379 } 24380 24381 const ( 24382 // TaskStopCodeTaskFailedToStart is a TaskStopCode enum value 24383 TaskStopCodeTaskFailedToStart = "TaskFailedToStart" 24384 24385 // TaskStopCodeEssentialContainerExited is a TaskStopCode enum value 24386 TaskStopCodeEssentialContainerExited = "EssentialContainerExited" 24387 24388 // TaskStopCodeUserInitiated is a TaskStopCode enum value 24389 TaskStopCodeUserInitiated = "UserInitiated" 24390 ) 24391 24392 // TaskStopCode_Values returns all elements of the TaskStopCode enum 24393 func TaskStopCode_Values() []string { 24394 return []string{ 24395 TaskStopCodeTaskFailedToStart, 24396 TaskStopCodeEssentialContainerExited, 24397 TaskStopCodeUserInitiated, 24398 } 24399 } 24400 24401 const ( 24402 // TransportProtocolTcp is a TransportProtocol enum value 24403 TransportProtocolTcp = "tcp" 24404 24405 // TransportProtocolUdp is a TransportProtocol enum value 24406 TransportProtocolUdp = "udp" 24407 ) 24408 24409 // TransportProtocol_Values returns all elements of the TransportProtocol enum 24410 func TransportProtocol_Values() []string { 24411 return []string{ 24412 TransportProtocolTcp, 24413 TransportProtocolUdp, 24414 } 24415 } 24416 24417 const ( 24418 // UlimitNameCore is a UlimitName enum value 24419 UlimitNameCore = "core" 24420 24421 // UlimitNameCpu is a UlimitName enum value 24422 UlimitNameCpu = "cpu" 24423 24424 // UlimitNameData is a UlimitName enum value 24425 UlimitNameData = "data" 24426 24427 // UlimitNameFsize is a UlimitName enum value 24428 UlimitNameFsize = "fsize" 24429 24430 // UlimitNameLocks is a UlimitName enum value 24431 UlimitNameLocks = "locks" 24432 24433 // UlimitNameMemlock is a UlimitName enum value 24434 UlimitNameMemlock = "memlock" 24435 24436 // UlimitNameMsgqueue is a UlimitName enum value 24437 UlimitNameMsgqueue = "msgqueue" 24438 24439 // UlimitNameNice is a UlimitName enum value 24440 UlimitNameNice = "nice" 24441 24442 // UlimitNameNofile is a UlimitName enum value 24443 UlimitNameNofile = "nofile" 24444 24445 // UlimitNameNproc is a UlimitName enum value 24446 UlimitNameNproc = "nproc" 24447 24448 // UlimitNameRss is a UlimitName enum value 24449 UlimitNameRss = "rss" 24450 24451 // UlimitNameRtprio is a UlimitName enum value 24452 UlimitNameRtprio = "rtprio" 24453 24454 // UlimitNameRttime is a UlimitName enum value 24455 UlimitNameRttime = "rttime" 24456 24457 // UlimitNameSigpending is a UlimitName enum value 24458 UlimitNameSigpending = "sigpending" 24459 24460 // UlimitNameStack is a UlimitName enum value 24461 UlimitNameStack = "stack" 24462 ) 24463 24464 // UlimitName_Values returns all elements of the UlimitName enum 24465 func UlimitName_Values() []string { 24466 return []string{ 24467 UlimitNameCore, 24468 UlimitNameCpu, 24469 UlimitNameData, 24470 UlimitNameFsize, 24471 UlimitNameLocks, 24472 UlimitNameMemlock, 24473 UlimitNameMsgqueue, 24474 UlimitNameNice, 24475 UlimitNameNofile, 24476 UlimitNameNproc, 24477 UlimitNameRss, 24478 UlimitNameRtprio, 24479 UlimitNameRttime, 24480 UlimitNameSigpending, 24481 UlimitNameStack, 24482 } 24483 }