1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package ecs 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 14) 15 16const 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 42func (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 AWS Fargate use the FARGATE and FARGATE_SPOT capacity providers 66// which are already created and available to all accounts in Regions supported 67// by AWS 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 100func (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. 114func (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 121const 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 147func (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 AWS services can be managed on your behalf. However, if the IAM 172// user that makes the call does not have permissions to create the service-linked 173// role, it is not created. For more information, see Using Service-Linked Roles 174// 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 198func (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. 212func (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 219const 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 245func (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 403func (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. 417func (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 424const 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 450func (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 519func (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. 533func (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 540const 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 566func (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 608func (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. 622func (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 629const 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 655func (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 697func (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. 711func (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 718const 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 744func (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 799func (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. 813func (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 820const 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 846func (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 918func (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. 932func (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 939const 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 965func (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 1031func (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. 1045func (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 1052const 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 1078func (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 1145func (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. 1159func (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 1166const 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 1192func (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 1251func (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. 1265func (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 1272const 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 1298func (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 1353func (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. 1367func (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 1374const 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 1400func (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 1441func (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. 1455func (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 1462const 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 1488func (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 1529func (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. 1543func (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 1550const 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 1576func (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 Amazon Elastic Container Service container instances. Returns metadata 1595// about registered and remaining resources on each container 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 1622func (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. 1636func (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 1643const 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 1669func (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 1714func (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. 1728func (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 1735const 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 1761func (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 1807func (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. 1821func (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 1828const 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 1854func (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 1916func (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. 1930func (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 1937const 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 1963func (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 2008func (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. 2022func (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 2029const 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 2055func (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 2096func (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. 2110func (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 2117const opListAccountSettings = "ListAccountSettings" 2118 2119// ListAccountSettingsRequest generates a "aws/request.Request" representing the 2120// client's request for the ListAccountSettings 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 ListAccountSettings for more information on using the ListAccountSettings 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 ListAccountSettingsRequest method. 2135// req, resp := client.ListAccountSettingsRequest(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/ListAccountSettings 2143func (c *ECS) ListAccountSettingsRequest(input *ListAccountSettingsInput) (req *request.Request, output *ListAccountSettingsOutput) { 2144 op := &request.Operation{ 2145 Name: opListAccountSettings, 2146 HTTPMethod: "POST", 2147 HTTPPath: "/", 2148 Paginator: &request.Paginator{ 2149 InputTokens: []string{"nextToken"}, 2150 OutputTokens: []string{"nextToken"}, 2151 LimitToken: "maxResults", 2152 TruncationToken: "", 2153 }, 2154 } 2155 2156 if input == nil { 2157 input = &ListAccountSettingsInput{} 2158 } 2159 2160 output = &ListAccountSettingsOutput{} 2161 req = c.newRequest(op, input, output) 2162 return 2163} 2164 2165// ListAccountSettings API operation for Amazon EC2 Container Service. 2166// 2167// Lists the account settings for a specified principal. 2168// 2169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2170// with awserr.Error's Code and Message methods to get detailed information about 2171// the error. 2172// 2173// See the AWS API reference guide for Amazon EC2 Container Service's 2174// API operation ListAccountSettings for usage and error information. 2175// 2176// Returned Error Types: 2177// * ServerException 2178// These errors are usually caused by a server issue. 2179// 2180// * ClientException 2181// These errors are usually caused by a client action, such as using an action 2182// or resource on behalf of a user that doesn't have permissions to use the 2183// action or resource, or specifying an identifier that is not valid. 2184// 2185// * InvalidParameterException 2186// The specified parameter is invalid. Review the available parameters for the 2187// API request. 2188// 2189// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2190func (c *ECS) ListAccountSettings(input *ListAccountSettingsInput) (*ListAccountSettingsOutput, error) { 2191 req, out := c.ListAccountSettingsRequest(input) 2192 return out, req.Send() 2193} 2194 2195// ListAccountSettingsWithContext is the same as ListAccountSettings with the addition of 2196// the ability to pass a context and additional request options. 2197// 2198// See ListAccountSettings for details on how to use this API operation. 2199// 2200// The context must be non-nil and will be used for request cancellation. If 2201// the context is nil a panic will occur. In the future the SDK may create 2202// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2203// for more information on using Contexts. 2204func (c *ECS) ListAccountSettingsWithContext(ctx aws.Context, input *ListAccountSettingsInput, opts ...request.Option) (*ListAccountSettingsOutput, error) { 2205 req, out := c.ListAccountSettingsRequest(input) 2206 req.SetContext(ctx) 2207 req.ApplyOptions(opts...) 2208 return out, req.Send() 2209} 2210 2211// ListAccountSettingsPages iterates over the pages of a ListAccountSettings operation, 2212// calling the "fn" function with the response data for each page. To stop 2213// iterating, return false from the fn function. 2214// 2215// See ListAccountSettings method for more information on how to use this operation. 2216// 2217// Note: This operation can generate multiple requests to a service. 2218// 2219// // Example iterating over at most 3 pages of a ListAccountSettings operation. 2220// pageNum := 0 2221// err := client.ListAccountSettingsPages(params, 2222// func(page *ecs.ListAccountSettingsOutput, lastPage bool) bool { 2223// pageNum++ 2224// fmt.Println(page) 2225// return pageNum <= 3 2226// }) 2227// 2228func (c *ECS) ListAccountSettingsPages(input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool) error { 2229 return c.ListAccountSettingsPagesWithContext(aws.BackgroundContext(), input, fn) 2230} 2231 2232// ListAccountSettingsPagesWithContext same as ListAccountSettingsPages except 2233// it takes a Context and allows setting request options on the pages. 2234// 2235// The context must be non-nil and will be used for request cancellation. If 2236// the context is nil a panic will occur. In the future the SDK may create 2237// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2238// for more information on using Contexts. 2239func (c *ECS) ListAccountSettingsPagesWithContext(ctx aws.Context, input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool, opts ...request.Option) error { 2240 p := request.Pagination{ 2241 NewRequest: func() (*request.Request, error) { 2242 var inCpy *ListAccountSettingsInput 2243 if input != nil { 2244 tmp := *input 2245 inCpy = &tmp 2246 } 2247 req, _ := c.ListAccountSettingsRequest(inCpy) 2248 req.SetContext(ctx) 2249 req.ApplyOptions(opts...) 2250 return req, nil 2251 }, 2252 } 2253 2254 for p.Next() { 2255 if !fn(p.Page().(*ListAccountSettingsOutput), !p.HasNextPage()) { 2256 break 2257 } 2258 } 2259 2260 return p.Err() 2261} 2262 2263const opListAttributes = "ListAttributes" 2264 2265// ListAttributesRequest generates a "aws/request.Request" representing the 2266// client's request for the ListAttributes operation. The "output" return 2267// value will be populated with the request's response once the request completes 2268// successfully. 2269// 2270// Use "Send" method on the returned Request to send the API call to the service. 2271// the "output" return value is not valid until after Send returns without error. 2272// 2273// See ListAttributes for more information on using the ListAttributes 2274// API call, and error handling. 2275// 2276// This method is useful when you want to inject custom logic or configuration 2277// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2278// 2279// 2280// // Example sending a request using the ListAttributesRequest method. 2281// req, resp := client.ListAttributesRequest(params) 2282// 2283// err := req.Send() 2284// if err == nil { // resp is now filled 2285// fmt.Println(resp) 2286// } 2287// 2288// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2289func (c *ECS) ListAttributesRequest(input *ListAttributesInput) (req *request.Request, output *ListAttributesOutput) { 2290 op := &request.Operation{ 2291 Name: opListAttributes, 2292 HTTPMethod: "POST", 2293 HTTPPath: "/", 2294 Paginator: &request.Paginator{ 2295 InputTokens: []string{"nextToken"}, 2296 OutputTokens: []string{"nextToken"}, 2297 LimitToken: "maxResults", 2298 TruncationToken: "", 2299 }, 2300 } 2301 2302 if input == nil { 2303 input = &ListAttributesInput{} 2304 } 2305 2306 output = &ListAttributesOutput{} 2307 req = c.newRequest(op, input, output) 2308 return 2309} 2310 2311// ListAttributes API operation for Amazon EC2 Container Service. 2312// 2313// Lists the attributes for Amazon ECS resources within a specified target type 2314// and cluster. When you specify a target type and cluster, ListAttributes returns 2315// a list of attribute objects, one for each attribute on each resource. You 2316// can filter the list of results to a single attribute name to only return 2317// results that have that name. You can also filter the results by attribute 2318// name and value, for example, to see which container instances in a cluster 2319// are running a Linux AMI (ecs.os-type=linux). 2320// 2321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2322// with awserr.Error's Code and Message methods to get detailed information about 2323// the error. 2324// 2325// See the AWS API reference guide for Amazon EC2 Container Service's 2326// API operation ListAttributes for usage and error information. 2327// 2328// Returned Error Types: 2329// * ClusterNotFoundException 2330// The specified cluster could not be found. You can view your available clusters 2331// with ListClusters. Amazon ECS clusters are Region-specific. 2332// 2333// * InvalidParameterException 2334// The specified parameter is invalid. Review the available parameters for the 2335// API request. 2336// 2337// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2338func (c *ECS) ListAttributes(input *ListAttributesInput) (*ListAttributesOutput, error) { 2339 req, out := c.ListAttributesRequest(input) 2340 return out, req.Send() 2341} 2342 2343// ListAttributesWithContext is the same as ListAttributes with the addition of 2344// the ability to pass a context and additional request options. 2345// 2346// See ListAttributes for details on how to use this API operation. 2347// 2348// The context must be non-nil and will be used for request cancellation. If 2349// the context is nil a panic will occur. In the future the SDK may create 2350// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2351// for more information on using Contexts. 2352func (c *ECS) ListAttributesWithContext(ctx aws.Context, input *ListAttributesInput, opts ...request.Option) (*ListAttributesOutput, error) { 2353 req, out := c.ListAttributesRequest(input) 2354 req.SetContext(ctx) 2355 req.ApplyOptions(opts...) 2356 return out, req.Send() 2357} 2358 2359// ListAttributesPages iterates over the pages of a ListAttributes operation, 2360// calling the "fn" function with the response data for each page. To stop 2361// iterating, return false from the fn function. 2362// 2363// See ListAttributes method for more information on how to use this operation. 2364// 2365// Note: This operation can generate multiple requests to a service. 2366// 2367// // Example iterating over at most 3 pages of a ListAttributes operation. 2368// pageNum := 0 2369// err := client.ListAttributesPages(params, 2370// func(page *ecs.ListAttributesOutput, lastPage bool) bool { 2371// pageNum++ 2372// fmt.Println(page) 2373// return pageNum <= 3 2374// }) 2375// 2376func (c *ECS) ListAttributesPages(input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool) error { 2377 return c.ListAttributesPagesWithContext(aws.BackgroundContext(), input, fn) 2378} 2379 2380// ListAttributesPagesWithContext same as ListAttributesPages except 2381// it takes a Context and allows setting request options on the pages. 2382// 2383// The context must be non-nil and will be used for request cancellation. If 2384// the context is nil a panic will occur. In the future the SDK may create 2385// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2386// for more information on using Contexts. 2387func (c *ECS) ListAttributesPagesWithContext(ctx aws.Context, input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool, opts ...request.Option) error { 2388 p := request.Pagination{ 2389 NewRequest: func() (*request.Request, error) { 2390 var inCpy *ListAttributesInput 2391 if input != nil { 2392 tmp := *input 2393 inCpy = &tmp 2394 } 2395 req, _ := c.ListAttributesRequest(inCpy) 2396 req.SetContext(ctx) 2397 req.ApplyOptions(opts...) 2398 return req, nil 2399 }, 2400 } 2401 2402 for p.Next() { 2403 if !fn(p.Page().(*ListAttributesOutput), !p.HasNextPage()) { 2404 break 2405 } 2406 } 2407 2408 return p.Err() 2409} 2410 2411const opListClusters = "ListClusters" 2412 2413// ListClustersRequest generates a "aws/request.Request" representing the 2414// client's request for the ListClusters operation. The "output" return 2415// value will be populated with the request's response once the request completes 2416// successfully. 2417// 2418// Use "Send" method on the returned Request to send the API call to the service. 2419// the "output" return value is not valid until after Send returns without error. 2420// 2421// See ListClusters for more information on using the ListClusters 2422// API call, and error handling. 2423// 2424// This method is useful when you want to inject custom logic or configuration 2425// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2426// 2427// 2428// // Example sending a request using the ListClustersRequest method. 2429// req, resp := client.ListClustersRequest(params) 2430// 2431// err := req.Send() 2432// if err == nil { // resp is now filled 2433// fmt.Println(resp) 2434// } 2435// 2436// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2437func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 2438 op := &request.Operation{ 2439 Name: opListClusters, 2440 HTTPMethod: "POST", 2441 HTTPPath: "/", 2442 Paginator: &request.Paginator{ 2443 InputTokens: []string{"nextToken"}, 2444 OutputTokens: []string{"nextToken"}, 2445 LimitToken: "maxResults", 2446 TruncationToken: "", 2447 }, 2448 } 2449 2450 if input == nil { 2451 input = &ListClustersInput{} 2452 } 2453 2454 output = &ListClustersOutput{} 2455 req = c.newRequest(op, input, output) 2456 return 2457} 2458 2459// ListClusters API operation for Amazon EC2 Container Service. 2460// 2461// Returns a list of existing clusters. 2462// 2463// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2464// with awserr.Error's Code and Message methods to get detailed information about 2465// the error. 2466// 2467// See the AWS API reference guide for Amazon EC2 Container Service's 2468// API operation ListClusters for usage and error information. 2469// 2470// Returned Error Types: 2471// * ServerException 2472// These errors are usually caused by a server issue. 2473// 2474// * ClientException 2475// These errors are usually caused by a client action, such as using an action 2476// or resource on behalf of a user that doesn't have permissions to use the 2477// action or resource, or specifying an identifier that is not valid. 2478// 2479// * InvalidParameterException 2480// The specified parameter is invalid. Review the available parameters for the 2481// API request. 2482// 2483// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2484func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 2485 req, out := c.ListClustersRequest(input) 2486 return out, req.Send() 2487} 2488 2489// ListClustersWithContext is the same as ListClusters with the addition of 2490// the ability to pass a context and additional request options. 2491// 2492// See ListClusters for details on how to use this API operation. 2493// 2494// The context must be non-nil and will be used for request cancellation. If 2495// the context is nil a panic will occur. In the future the SDK may create 2496// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2497// for more information on using Contexts. 2498func (c *ECS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 2499 req, out := c.ListClustersRequest(input) 2500 req.SetContext(ctx) 2501 req.ApplyOptions(opts...) 2502 return out, req.Send() 2503} 2504 2505// ListClustersPages iterates over the pages of a ListClusters operation, 2506// calling the "fn" function with the response data for each page. To stop 2507// iterating, return false from the fn function. 2508// 2509// See ListClusters method for more information on how to use this operation. 2510// 2511// Note: This operation can generate multiple requests to a service. 2512// 2513// // Example iterating over at most 3 pages of a ListClusters operation. 2514// pageNum := 0 2515// err := client.ListClustersPages(params, 2516// func(page *ecs.ListClustersOutput, lastPage bool) bool { 2517// pageNum++ 2518// fmt.Println(page) 2519// return pageNum <= 3 2520// }) 2521// 2522func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 2523 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2524} 2525 2526// ListClustersPagesWithContext same as ListClustersPages except 2527// it takes a Context and allows setting request options on the pages. 2528// 2529// The context must be non-nil and will be used for request cancellation. If 2530// the context is nil a panic will occur. In the future the SDK may create 2531// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2532// for more information on using Contexts. 2533func (c *ECS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 2534 p := request.Pagination{ 2535 NewRequest: func() (*request.Request, error) { 2536 var inCpy *ListClustersInput 2537 if input != nil { 2538 tmp := *input 2539 inCpy = &tmp 2540 } 2541 req, _ := c.ListClustersRequest(inCpy) 2542 req.SetContext(ctx) 2543 req.ApplyOptions(opts...) 2544 return req, nil 2545 }, 2546 } 2547 2548 for p.Next() { 2549 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 2550 break 2551 } 2552 } 2553 2554 return p.Err() 2555} 2556 2557const opListContainerInstances = "ListContainerInstances" 2558 2559// ListContainerInstancesRequest generates a "aws/request.Request" representing the 2560// client's request for the ListContainerInstances operation. The "output" return 2561// value will be populated with the request's response once the request completes 2562// successfully. 2563// 2564// Use "Send" method on the returned Request to send the API call to the service. 2565// the "output" return value is not valid until after Send returns without error. 2566// 2567// See ListContainerInstances for more information on using the ListContainerInstances 2568// API call, and error handling. 2569// 2570// This method is useful when you want to inject custom logic or configuration 2571// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2572// 2573// 2574// // Example sending a request using the ListContainerInstancesRequest method. 2575// req, resp := client.ListContainerInstancesRequest(params) 2576// 2577// err := req.Send() 2578// if err == nil { // resp is now filled 2579// fmt.Println(resp) 2580// } 2581// 2582// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2583func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { 2584 op := &request.Operation{ 2585 Name: opListContainerInstances, 2586 HTTPMethod: "POST", 2587 HTTPPath: "/", 2588 Paginator: &request.Paginator{ 2589 InputTokens: []string{"nextToken"}, 2590 OutputTokens: []string{"nextToken"}, 2591 LimitToken: "maxResults", 2592 TruncationToken: "", 2593 }, 2594 } 2595 2596 if input == nil { 2597 input = &ListContainerInstancesInput{} 2598 } 2599 2600 output = &ListContainerInstancesOutput{} 2601 req = c.newRequest(op, input, output) 2602 return 2603} 2604 2605// ListContainerInstances API operation for Amazon EC2 Container Service. 2606// 2607// Returns a list of container instances in a specified cluster. You can filter 2608// the results of a ListContainerInstances operation with cluster query language 2609// statements inside the filter parameter. For more information, see Cluster 2610// Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 2611// in the Amazon Elastic Container Service Developer Guide. 2612// 2613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2614// with awserr.Error's Code and Message methods to get detailed information about 2615// the error. 2616// 2617// See the AWS API reference guide for Amazon EC2 Container Service's 2618// API operation ListContainerInstances for usage and error information. 2619// 2620// Returned Error Types: 2621// * ServerException 2622// These errors are usually caused by a server issue. 2623// 2624// * ClientException 2625// These errors are usually caused by a client action, such as using an action 2626// or resource on behalf of a user that doesn't have permissions to use the 2627// action or resource, or specifying an identifier that is not valid. 2628// 2629// * InvalidParameterException 2630// The specified parameter is invalid. Review the available parameters for the 2631// API request. 2632// 2633// * ClusterNotFoundException 2634// The specified cluster could not be found. You can view your available clusters 2635// with ListClusters. Amazon ECS clusters are Region-specific. 2636// 2637// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2638func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { 2639 req, out := c.ListContainerInstancesRequest(input) 2640 return out, req.Send() 2641} 2642 2643// ListContainerInstancesWithContext is the same as ListContainerInstances with the addition of 2644// the ability to pass a context and additional request options. 2645// 2646// See ListContainerInstances for details on how to use this API operation. 2647// 2648// The context must be non-nil and will be used for request cancellation. If 2649// the context is nil a panic will occur. In the future the SDK may create 2650// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2651// for more information on using Contexts. 2652func (c *ECS) ListContainerInstancesWithContext(ctx aws.Context, input *ListContainerInstancesInput, opts ...request.Option) (*ListContainerInstancesOutput, error) { 2653 req, out := c.ListContainerInstancesRequest(input) 2654 req.SetContext(ctx) 2655 req.ApplyOptions(opts...) 2656 return out, req.Send() 2657} 2658 2659// ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, 2660// calling the "fn" function with the response data for each page. To stop 2661// iterating, return false from the fn function. 2662// 2663// See ListContainerInstances method for more information on how to use this operation. 2664// 2665// Note: This operation can generate multiple requests to a service. 2666// 2667// // Example iterating over at most 3 pages of a ListContainerInstances operation. 2668// pageNum := 0 2669// err := client.ListContainerInstancesPages(params, 2670// func(page *ecs.ListContainerInstancesOutput, lastPage bool) bool { 2671// pageNum++ 2672// fmt.Println(page) 2673// return pageNum <= 3 2674// }) 2675// 2676func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool) error { 2677 return c.ListContainerInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 2678} 2679 2680// ListContainerInstancesPagesWithContext same as ListContainerInstancesPages except 2681// it takes a Context and allows setting request options on the pages. 2682// 2683// The context must be non-nil and will be used for request cancellation. If 2684// the context is nil a panic will occur. In the future the SDK may create 2685// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2686// for more information on using Contexts. 2687func (c *ECS) ListContainerInstancesPagesWithContext(ctx aws.Context, input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool, opts ...request.Option) error { 2688 p := request.Pagination{ 2689 NewRequest: func() (*request.Request, error) { 2690 var inCpy *ListContainerInstancesInput 2691 if input != nil { 2692 tmp := *input 2693 inCpy = &tmp 2694 } 2695 req, _ := c.ListContainerInstancesRequest(inCpy) 2696 req.SetContext(ctx) 2697 req.ApplyOptions(opts...) 2698 return req, nil 2699 }, 2700 } 2701 2702 for p.Next() { 2703 if !fn(p.Page().(*ListContainerInstancesOutput), !p.HasNextPage()) { 2704 break 2705 } 2706 } 2707 2708 return p.Err() 2709} 2710 2711const opListServices = "ListServices" 2712 2713// ListServicesRequest generates a "aws/request.Request" representing the 2714// client's request for the ListServices operation. The "output" return 2715// value will be populated with the request's response once the request completes 2716// successfully. 2717// 2718// Use "Send" method on the returned Request to send the API call to the service. 2719// the "output" return value is not valid until after Send returns without error. 2720// 2721// See ListServices for more information on using the ListServices 2722// API call, and error handling. 2723// 2724// This method is useful when you want to inject custom logic or configuration 2725// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2726// 2727// 2728// // Example sending a request using the ListServicesRequest method. 2729// req, resp := client.ListServicesRequest(params) 2730// 2731// err := req.Send() 2732// if err == nil { // resp is now filled 2733// fmt.Println(resp) 2734// } 2735// 2736// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2737func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { 2738 op := &request.Operation{ 2739 Name: opListServices, 2740 HTTPMethod: "POST", 2741 HTTPPath: "/", 2742 Paginator: &request.Paginator{ 2743 InputTokens: []string{"nextToken"}, 2744 OutputTokens: []string{"nextToken"}, 2745 LimitToken: "maxResults", 2746 TruncationToken: "", 2747 }, 2748 } 2749 2750 if input == nil { 2751 input = &ListServicesInput{} 2752 } 2753 2754 output = &ListServicesOutput{} 2755 req = c.newRequest(op, input, output) 2756 return 2757} 2758 2759// ListServices API operation for Amazon EC2 Container Service. 2760// 2761// Lists the services that are running in a specified cluster. 2762// 2763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2764// with awserr.Error's Code and Message methods to get detailed information about 2765// the error. 2766// 2767// See the AWS API reference guide for Amazon EC2 Container Service's 2768// API operation ListServices for usage and error information. 2769// 2770// Returned Error Types: 2771// * ServerException 2772// These errors are usually caused by a server issue. 2773// 2774// * ClientException 2775// These errors are usually caused by a client action, such as using an action 2776// or resource on behalf of a user that doesn't have permissions to use the 2777// action or resource, or specifying an identifier that is not valid. 2778// 2779// * InvalidParameterException 2780// The specified parameter is invalid. Review the available parameters for the 2781// API request. 2782// 2783// * ClusterNotFoundException 2784// The specified cluster could not be found. You can view your available clusters 2785// with ListClusters. Amazon ECS clusters are Region-specific. 2786// 2787// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2788func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { 2789 req, out := c.ListServicesRequest(input) 2790 return out, req.Send() 2791} 2792 2793// ListServicesWithContext is the same as ListServices with the addition of 2794// the ability to pass a context and additional request options. 2795// 2796// See ListServices for details on how to use this API operation. 2797// 2798// The context must be non-nil and will be used for request cancellation. If 2799// the context is nil a panic will occur. In the future the SDK may create 2800// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2801// for more information on using Contexts. 2802func (c *ECS) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) { 2803 req, out := c.ListServicesRequest(input) 2804 req.SetContext(ctx) 2805 req.ApplyOptions(opts...) 2806 return out, req.Send() 2807} 2808 2809// ListServicesPages iterates over the pages of a ListServices operation, 2810// calling the "fn" function with the response data for each page. To stop 2811// iterating, return false from the fn function. 2812// 2813// See ListServices method for more information on how to use this operation. 2814// 2815// Note: This operation can generate multiple requests to a service. 2816// 2817// // Example iterating over at most 3 pages of a ListServices operation. 2818// pageNum := 0 2819// err := client.ListServicesPages(params, 2820// func(page *ecs.ListServicesOutput, lastPage bool) bool { 2821// pageNum++ 2822// fmt.Println(page) 2823// return pageNum <= 3 2824// }) 2825// 2826func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error { 2827 return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn) 2828} 2829 2830// ListServicesPagesWithContext same as ListServicesPages except 2831// it takes a Context and allows setting request options on the pages. 2832// 2833// The context must be non-nil and will be used for request cancellation. If 2834// the context is nil a panic will occur. In the future the SDK may create 2835// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2836// for more information on using Contexts. 2837func (c *ECS) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error { 2838 p := request.Pagination{ 2839 NewRequest: func() (*request.Request, error) { 2840 var inCpy *ListServicesInput 2841 if input != nil { 2842 tmp := *input 2843 inCpy = &tmp 2844 } 2845 req, _ := c.ListServicesRequest(inCpy) 2846 req.SetContext(ctx) 2847 req.ApplyOptions(opts...) 2848 return req, nil 2849 }, 2850 } 2851 2852 for p.Next() { 2853 if !fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) { 2854 break 2855 } 2856 } 2857 2858 return p.Err() 2859} 2860 2861const opListTagsForResource = "ListTagsForResource" 2862 2863// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2864// client's request for the ListTagsForResource operation. The "output" return 2865// value will be populated with the request's response once the request completes 2866// successfully. 2867// 2868// Use "Send" method on the returned Request to send the API call to the service. 2869// the "output" return value is not valid until after Send returns without error. 2870// 2871// See ListTagsForResource for more information on using the ListTagsForResource 2872// API call, and error handling. 2873// 2874// This method is useful when you want to inject custom logic or configuration 2875// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2876// 2877// 2878// // Example sending a request using the ListTagsForResourceRequest method. 2879// req, resp := client.ListTagsForResourceRequest(params) 2880// 2881// err := req.Send() 2882// if err == nil { // resp is now filled 2883// fmt.Println(resp) 2884// } 2885// 2886// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2887func (c *ECS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2888 op := &request.Operation{ 2889 Name: opListTagsForResource, 2890 HTTPMethod: "POST", 2891 HTTPPath: "/", 2892 } 2893 2894 if input == nil { 2895 input = &ListTagsForResourceInput{} 2896 } 2897 2898 output = &ListTagsForResourceOutput{} 2899 req = c.newRequest(op, input, output) 2900 return 2901} 2902 2903// ListTagsForResource API operation for Amazon EC2 Container Service. 2904// 2905// List the tags for an Amazon ECS resource. 2906// 2907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2908// with awserr.Error's Code and Message methods to get detailed information about 2909// the error. 2910// 2911// See the AWS API reference guide for Amazon EC2 Container Service's 2912// API operation ListTagsForResource for usage and error information. 2913// 2914// Returned Error Types: 2915// * ServerException 2916// These errors are usually caused by a server issue. 2917// 2918// * ClientException 2919// These errors are usually caused by a client action, such as using an action 2920// or resource on behalf of a user that doesn't have permissions to use the 2921// action or resource, or specifying an identifier that is not valid. 2922// 2923// * ClusterNotFoundException 2924// The specified cluster could not be found. You can view your available clusters 2925// with ListClusters. Amazon ECS clusters are Region-specific. 2926// 2927// * InvalidParameterException 2928// The specified parameter is invalid. Review the available parameters for the 2929// API request. 2930// 2931// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2932func (c *ECS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2933 req, out := c.ListTagsForResourceRequest(input) 2934 return out, req.Send() 2935} 2936 2937// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2938// the ability to pass a context and additional request options. 2939// 2940// See ListTagsForResource for details on how to use this API operation. 2941// 2942// The context must be non-nil and will be used for request cancellation. If 2943// the context is nil a panic will occur. In the future the SDK may create 2944// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2945// for more information on using Contexts. 2946func (c *ECS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2947 req, out := c.ListTagsForResourceRequest(input) 2948 req.SetContext(ctx) 2949 req.ApplyOptions(opts...) 2950 return out, req.Send() 2951} 2952 2953const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" 2954 2955// ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the 2956// client's request for the ListTaskDefinitionFamilies operation. The "output" return 2957// value will be populated with the request's response once the request completes 2958// successfully. 2959// 2960// Use "Send" method on the returned Request to send the API call to the service. 2961// the "output" return value is not valid until after Send returns without error. 2962// 2963// See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies 2964// API call, and error handling. 2965// 2966// This method is useful when you want to inject custom logic or configuration 2967// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2968// 2969// 2970// // Example sending a request using the ListTaskDefinitionFamiliesRequest method. 2971// req, resp := client.ListTaskDefinitionFamiliesRequest(params) 2972// 2973// err := req.Send() 2974// if err == nil { // resp is now filled 2975// fmt.Println(resp) 2976// } 2977// 2978// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2979func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { 2980 op := &request.Operation{ 2981 Name: opListTaskDefinitionFamilies, 2982 HTTPMethod: "POST", 2983 HTTPPath: "/", 2984 Paginator: &request.Paginator{ 2985 InputTokens: []string{"nextToken"}, 2986 OutputTokens: []string{"nextToken"}, 2987 LimitToken: "maxResults", 2988 TruncationToken: "", 2989 }, 2990 } 2991 2992 if input == nil { 2993 input = &ListTaskDefinitionFamiliesInput{} 2994 } 2995 2996 output = &ListTaskDefinitionFamiliesOutput{} 2997 req = c.newRequest(op, input, output) 2998 return 2999} 3000 3001// ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service. 3002// 3003// Returns a list of task definition families that are registered to your account 3004// (which may include task definition families that no longer have any ACTIVE 3005// task definition revisions). 3006// 3007// You can filter out task definition families that do not contain any ACTIVE 3008// task definition revisions by setting the status parameter to ACTIVE. You 3009// can also filter the results with the familyPrefix parameter. 3010// 3011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3012// with awserr.Error's Code and Message methods to get detailed information about 3013// the error. 3014// 3015// See the AWS API reference guide for Amazon EC2 Container Service's 3016// API operation ListTaskDefinitionFamilies for usage and error information. 3017// 3018// Returned Error Types: 3019// * ServerException 3020// These errors are usually caused by a server issue. 3021// 3022// * ClientException 3023// These errors are usually caused by a client action, such as using an action 3024// or resource on behalf of a user that doesn't have permissions to use the 3025// action or resource, or specifying an identifier that is not valid. 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/ListTaskDefinitionFamilies 3032func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { 3033 req, out := c.ListTaskDefinitionFamiliesRequest(input) 3034 return out, req.Send() 3035} 3036 3037// ListTaskDefinitionFamiliesWithContext is the same as ListTaskDefinitionFamilies with the addition of 3038// the ability to pass a context and additional request options. 3039// 3040// See ListTaskDefinitionFamilies 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. 3046func (c *ECS) ListTaskDefinitionFamiliesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, opts ...request.Option) (*ListTaskDefinitionFamiliesOutput, error) { 3047 req, out := c.ListTaskDefinitionFamiliesRequest(input) 3048 req.SetContext(ctx) 3049 req.ApplyOptions(opts...) 3050 return out, req.Send() 3051} 3052 3053// ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, 3054// calling the "fn" function with the response data for each page. To stop 3055// iterating, return false from the fn function. 3056// 3057// See ListTaskDefinitionFamilies method for more information on how to use this operation. 3058// 3059// Note: This operation can generate multiple requests to a service. 3060// 3061// // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation. 3062// pageNum := 0 3063// err := client.ListTaskDefinitionFamiliesPages(params, 3064// func(page *ecs.ListTaskDefinitionFamiliesOutput, lastPage bool) bool { 3065// pageNum++ 3066// fmt.Println(page) 3067// return pageNum <= 3 3068// }) 3069// 3070func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool) error { 3071 return c.ListTaskDefinitionFamiliesPagesWithContext(aws.BackgroundContext(), input, fn) 3072} 3073 3074// ListTaskDefinitionFamiliesPagesWithContext same as ListTaskDefinitionFamiliesPages except 3075// it takes a Context and allows setting request options on the pages. 3076// 3077// The context must be non-nil and will be used for request cancellation. If 3078// the context is nil a panic will occur. In the future the SDK may create 3079// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3080// for more information on using Contexts. 3081func (c *ECS) ListTaskDefinitionFamiliesPagesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool, opts ...request.Option) error { 3082 p := request.Pagination{ 3083 NewRequest: func() (*request.Request, error) { 3084 var inCpy *ListTaskDefinitionFamiliesInput 3085 if input != nil { 3086 tmp := *input 3087 inCpy = &tmp 3088 } 3089 req, _ := c.ListTaskDefinitionFamiliesRequest(inCpy) 3090 req.SetContext(ctx) 3091 req.ApplyOptions(opts...) 3092 return req, nil 3093 }, 3094 } 3095 3096 for p.Next() { 3097 if !fn(p.Page().(*ListTaskDefinitionFamiliesOutput), !p.HasNextPage()) { 3098 break 3099 } 3100 } 3101 3102 return p.Err() 3103} 3104 3105const opListTaskDefinitions = "ListTaskDefinitions" 3106 3107// ListTaskDefinitionsRequest generates a "aws/request.Request" representing the 3108// client's request for the ListTaskDefinitions operation. The "output" return 3109// value will be populated with the request's response once the request completes 3110// successfully. 3111// 3112// Use "Send" method on the returned Request to send the API call to the service. 3113// the "output" return value is not valid until after Send returns without error. 3114// 3115// See ListTaskDefinitions for more information on using the ListTaskDefinitions 3116// API call, and error handling. 3117// 3118// This method is useful when you want to inject custom logic or configuration 3119// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3120// 3121// 3122// // Example sending a request using the ListTaskDefinitionsRequest method. 3123// req, resp := client.ListTaskDefinitionsRequest(params) 3124// 3125// err := req.Send() 3126// if err == nil { // resp is now filled 3127// fmt.Println(resp) 3128// } 3129// 3130// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3131func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { 3132 op := &request.Operation{ 3133 Name: opListTaskDefinitions, 3134 HTTPMethod: "POST", 3135 HTTPPath: "/", 3136 Paginator: &request.Paginator{ 3137 InputTokens: []string{"nextToken"}, 3138 OutputTokens: []string{"nextToken"}, 3139 LimitToken: "maxResults", 3140 TruncationToken: "", 3141 }, 3142 } 3143 3144 if input == nil { 3145 input = &ListTaskDefinitionsInput{} 3146 } 3147 3148 output = &ListTaskDefinitionsOutput{} 3149 req = c.newRequest(op, input, output) 3150 return 3151} 3152 3153// ListTaskDefinitions API operation for Amazon EC2 Container Service. 3154// 3155// Returns a list of task definitions that are registered to your account. You 3156// can filter the results by family name with the familyPrefix parameter or 3157// by status with the status parameter. 3158// 3159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3160// with awserr.Error's Code and Message methods to get detailed information about 3161// the error. 3162// 3163// See the AWS API reference guide for Amazon EC2 Container Service's 3164// API operation ListTaskDefinitions for usage and error information. 3165// 3166// Returned Error Types: 3167// * ServerException 3168// These errors are usually caused by a server issue. 3169// 3170// * ClientException 3171// These errors are usually caused by a client action, such as using an action 3172// or resource on behalf of a user that doesn't have permissions to use the 3173// action or resource, or specifying an identifier that is not valid. 3174// 3175// * InvalidParameterException 3176// The specified parameter is invalid. Review the available parameters for the 3177// API request. 3178// 3179// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3180func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { 3181 req, out := c.ListTaskDefinitionsRequest(input) 3182 return out, req.Send() 3183} 3184 3185// ListTaskDefinitionsWithContext is the same as ListTaskDefinitions with the addition of 3186// the ability to pass a context and additional request options. 3187// 3188// See ListTaskDefinitions for details on how to use this API operation. 3189// 3190// The context must be non-nil and will be used for request cancellation. If 3191// the context is nil a panic will occur. In the future the SDK may create 3192// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3193// for more information on using Contexts. 3194func (c *ECS) ListTaskDefinitionsWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, opts ...request.Option) (*ListTaskDefinitionsOutput, error) { 3195 req, out := c.ListTaskDefinitionsRequest(input) 3196 req.SetContext(ctx) 3197 req.ApplyOptions(opts...) 3198 return out, req.Send() 3199} 3200 3201// ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, 3202// calling the "fn" function with the response data for each page. To stop 3203// iterating, return false from the fn function. 3204// 3205// See ListTaskDefinitions method for more information on how to use this operation. 3206// 3207// Note: This operation can generate multiple requests to a service. 3208// 3209// // Example iterating over at most 3 pages of a ListTaskDefinitions operation. 3210// pageNum := 0 3211// err := client.ListTaskDefinitionsPages(params, 3212// func(page *ecs.ListTaskDefinitionsOutput, lastPage bool) bool { 3213// pageNum++ 3214// fmt.Println(page) 3215// return pageNum <= 3 3216// }) 3217// 3218func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool) error { 3219 return c.ListTaskDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 3220} 3221 3222// ListTaskDefinitionsPagesWithContext same as ListTaskDefinitionsPages except 3223// it takes a Context and allows setting request options on the pages. 3224// 3225// The context must be non-nil and will be used for request cancellation. If 3226// the context is nil a panic will occur. In the future the SDK may create 3227// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3228// for more information on using Contexts. 3229func (c *ECS) ListTaskDefinitionsPagesWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool, opts ...request.Option) error { 3230 p := request.Pagination{ 3231 NewRequest: func() (*request.Request, error) { 3232 var inCpy *ListTaskDefinitionsInput 3233 if input != nil { 3234 tmp := *input 3235 inCpy = &tmp 3236 } 3237 req, _ := c.ListTaskDefinitionsRequest(inCpy) 3238 req.SetContext(ctx) 3239 req.ApplyOptions(opts...) 3240 return req, nil 3241 }, 3242 } 3243 3244 for p.Next() { 3245 if !fn(p.Page().(*ListTaskDefinitionsOutput), !p.HasNextPage()) { 3246 break 3247 } 3248 } 3249 3250 return p.Err() 3251} 3252 3253const opListTasks = "ListTasks" 3254 3255// ListTasksRequest generates a "aws/request.Request" representing the 3256// client's request for the ListTasks operation. The "output" return 3257// value will be populated with the request's response once the request completes 3258// successfully. 3259// 3260// Use "Send" method on the returned Request to send the API call to the service. 3261// the "output" return value is not valid until after Send returns without error. 3262// 3263// See ListTasks for more information on using the ListTasks 3264// API call, and error handling. 3265// 3266// This method is useful when you want to inject custom logic or configuration 3267// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3268// 3269// 3270// // Example sending a request using the ListTasksRequest method. 3271// req, resp := client.ListTasksRequest(params) 3272// 3273// err := req.Send() 3274// if err == nil { // resp is now filled 3275// fmt.Println(resp) 3276// } 3277// 3278// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3279func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { 3280 op := &request.Operation{ 3281 Name: opListTasks, 3282 HTTPMethod: "POST", 3283 HTTPPath: "/", 3284 Paginator: &request.Paginator{ 3285 InputTokens: []string{"nextToken"}, 3286 OutputTokens: []string{"nextToken"}, 3287 LimitToken: "maxResults", 3288 TruncationToken: "", 3289 }, 3290 } 3291 3292 if input == nil { 3293 input = &ListTasksInput{} 3294 } 3295 3296 output = &ListTasksOutput{} 3297 req = c.newRequest(op, input, output) 3298 return 3299} 3300 3301// ListTasks API operation for Amazon EC2 Container Service. 3302// 3303// Returns a list of tasks for a specified cluster. You can filter the results 3304// by family name, by a particular container instance, or by the desired status 3305// of the task with the family, containerInstance, and desiredStatus parameters. 3306// 3307// Recently stopped tasks might appear in the returned results. Currently, stopped 3308// tasks appear in the returned results for at least one hour. 3309// 3310// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3311// with awserr.Error's Code and Message methods to get detailed information about 3312// the error. 3313// 3314// See the AWS API reference guide for Amazon EC2 Container Service's 3315// API operation ListTasks for usage and error information. 3316// 3317// Returned Error Types: 3318// * ServerException 3319// These errors are usually caused by a server issue. 3320// 3321// * ClientException 3322// These errors are usually caused by a client action, such as using an action 3323// or resource on behalf of a user that doesn't have permissions to use the 3324// action or resource, or specifying an identifier that is not valid. 3325// 3326// * InvalidParameterException 3327// The specified parameter is invalid. Review the available parameters for the 3328// API request. 3329// 3330// * ClusterNotFoundException 3331// The specified cluster could not be found. You can view your available clusters 3332// with ListClusters. Amazon ECS clusters are Region-specific. 3333// 3334// * ServiceNotFoundException 3335// The specified service could not be found. You can view your available services 3336// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 3337// 3338// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3339func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { 3340 req, out := c.ListTasksRequest(input) 3341 return out, req.Send() 3342} 3343 3344// ListTasksWithContext is the same as ListTasks with the addition of 3345// the ability to pass a context and additional request options. 3346// 3347// See ListTasks for details on how to use this API operation. 3348// 3349// The context must be non-nil and will be used for request cancellation. If 3350// the context is nil a panic will occur. In the future the SDK may create 3351// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3352// for more information on using Contexts. 3353func (c *ECS) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { 3354 req, out := c.ListTasksRequest(input) 3355 req.SetContext(ctx) 3356 req.ApplyOptions(opts...) 3357 return out, req.Send() 3358} 3359 3360// ListTasksPages iterates over the pages of a ListTasks operation, 3361// calling the "fn" function with the response data for each page. To stop 3362// iterating, return false from the fn function. 3363// 3364// See ListTasks method for more information on how to use this operation. 3365// 3366// Note: This operation can generate multiple requests to a service. 3367// 3368// // Example iterating over at most 3 pages of a ListTasks operation. 3369// pageNum := 0 3370// err := client.ListTasksPages(params, 3371// func(page *ecs.ListTasksOutput, lastPage bool) bool { 3372// pageNum++ 3373// fmt.Println(page) 3374// return pageNum <= 3 3375// }) 3376// 3377func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { 3378 return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) 3379} 3380 3381// ListTasksPagesWithContext same as ListTasksPages except 3382// it takes a Context and allows setting request options on the pages. 3383// 3384// The context must be non-nil and will be used for request cancellation. If 3385// the context is nil a panic will occur. In the future the SDK may create 3386// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3387// for more information on using Contexts. 3388func (c *ECS) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { 3389 p := request.Pagination{ 3390 NewRequest: func() (*request.Request, error) { 3391 var inCpy *ListTasksInput 3392 if input != nil { 3393 tmp := *input 3394 inCpy = &tmp 3395 } 3396 req, _ := c.ListTasksRequest(inCpy) 3397 req.SetContext(ctx) 3398 req.ApplyOptions(opts...) 3399 return req, nil 3400 }, 3401 } 3402 3403 for p.Next() { 3404 if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) { 3405 break 3406 } 3407 } 3408 3409 return p.Err() 3410} 3411 3412const opPutAccountSetting = "PutAccountSetting" 3413 3414// PutAccountSettingRequest generates a "aws/request.Request" representing the 3415// client's request for the PutAccountSetting operation. The "output" return 3416// value will be populated with the request's response once the request completes 3417// successfully. 3418// 3419// Use "Send" method on the returned Request to send the API call to the service. 3420// the "output" return value is not valid until after Send returns without error. 3421// 3422// See PutAccountSetting for more information on using the PutAccountSetting 3423// API call, and error handling. 3424// 3425// This method is useful when you want to inject custom logic or configuration 3426// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3427// 3428// 3429// // Example sending a request using the PutAccountSettingRequest method. 3430// req, resp := client.PutAccountSettingRequest(params) 3431// 3432// err := req.Send() 3433// if err == nil { // resp is now filled 3434// fmt.Println(resp) 3435// } 3436// 3437// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3438func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *request.Request, output *PutAccountSettingOutput) { 3439 op := &request.Operation{ 3440 Name: opPutAccountSetting, 3441 HTTPMethod: "POST", 3442 HTTPPath: "/", 3443 } 3444 3445 if input == nil { 3446 input = &PutAccountSettingInput{} 3447 } 3448 3449 output = &PutAccountSettingOutput{} 3450 req = c.newRequest(op, input, output) 3451 return 3452} 3453 3454// PutAccountSetting API operation for Amazon EC2 Container Service. 3455// 3456// Modifies an account setting. Account settings are set on a per-Region basis. 3457// 3458// If you change the account setting for the root user, the default settings 3459// for all of the IAM users and roles for which no individual account setting 3460// has been specified are reset. For more information, see Account Settings 3461// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html) 3462// in the Amazon Elastic Container Service Developer Guide. 3463// 3464// When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat 3465// are specified, the Amazon Resource Name (ARN) and resource ID format of the 3466// resource type for a specified IAM user, IAM role, or the root user for an 3467// account is affected. The opt-in and opt-out account setting must be set for 3468// each Amazon ECS resource separately. The ARN and resource ID format of a 3469// resource will be defined by the opt-in status of the IAM user or role that 3470// created the resource. You must enable this setting to use Amazon ECS features 3471// such as resource tagging. 3472// 3473// When awsvpcTrunking is specified, the elastic network interface (ENI) limit 3474// for any new container instances that support the feature is changed. If awsvpcTrunking 3475// is enabled, any new container instances that support the feature are launched 3476// have the increased ENI limits available to them. For more information, see 3477// Elastic Network Interface Trunking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html) 3478// in the Amazon Elastic Container Service Developer Guide. 3479// 3480// When containerInsights is specified, the default setting indicating whether 3481// CloudWatch Container Insights is enabled for your clusters is changed. If 3482// containerInsights is enabled, any new clusters that are created will have 3483// Container Insights enabled unless you disable it during cluster creation. 3484// For more information, see CloudWatch Container Insights (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) 3485// in the Amazon Elastic Container Service Developer Guide. 3486// 3487// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3488// with awserr.Error's Code and Message methods to get detailed information about 3489// the error. 3490// 3491// See the AWS API reference guide for Amazon EC2 Container Service's 3492// API operation PutAccountSetting for usage and error information. 3493// 3494// Returned Error Types: 3495// * ServerException 3496// These errors are usually caused by a server issue. 3497// 3498// * ClientException 3499// These errors are usually caused by a client action, such as using an action 3500// or resource on behalf of a user that doesn't have permissions to use the 3501// action or resource, or specifying an identifier that is not valid. 3502// 3503// * InvalidParameterException 3504// The specified parameter is invalid. Review the available parameters for the 3505// API request. 3506// 3507// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3508func (c *ECS) PutAccountSetting(input *PutAccountSettingInput) (*PutAccountSettingOutput, error) { 3509 req, out := c.PutAccountSettingRequest(input) 3510 return out, req.Send() 3511} 3512 3513// PutAccountSettingWithContext is the same as PutAccountSetting with the addition of 3514// the ability to pass a context and additional request options. 3515// 3516// See PutAccountSetting for details on how to use this API operation. 3517// 3518// The context must be non-nil and will be used for request cancellation. If 3519// the context is nil a panic will occur. In the future the SDK may create 3520// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3521// for more information on using Contexts. 3522func (c *ECS) PutAccountSettingWithContext(ctx aws.Context, input *PutAccountSettingInput, opts ...request.Option) (*PutAccountSettingOutput, error) { 3523 req, out := c.PutAccountSettingRequest(input) 3524 req.SetContext(ctx) 3525 req.ApplyOptions(opts...) 3526 return out, req.Send() 3527} 3528 3529const opPutAccountSettingDefault = "PutAccountSettingDefault" 3530 3531// PutAccountSettingDefaultRequest generates a "aws/request.Request" representing the 3532// client's request for the PutAccountSettingDefault operation. The "output" return 3533// value will be populated with the request's response once the request completes 3534// successfully. 3535// 3536// Use "Send" method on the returned Request to send the API call to the service. 3537// the "output" return value is not valid until after Send returns without error. 3538// 3539// See PutAccountSettingDefault for more information on using the PutAccountSettingDefault 3540// API call, and error handling. 3541// 3542// This method is useful when you want to inject custom logic or configuration 3543// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3544// 3545// 3546// // Example sending a request using the PutAccountSettingDefaultRequest method. 3547// req, resp := client.PutAccountSettingDefaultRequest(params) 3548// 3549// err := req.Send() 3550// if err == nil { // resp is now filled 3551// fmt.Println(resp) 3552// } 3553// 3554// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3555func (c *ECS) PutAccountSettingDefaultRequest(input *PutAccountSettingDefaultInput) (req *request.Request, output *PutAccountSettingDefaultOutput) { 3556 op := &request.Operation{ 3557 Name: opPutAccountSettingDefault, 3558 HTTPMethod: "POST", 3559 HTTPPath: "/", 3560 } 3561 3562 if input == nil { 3563 input = &PutAccountSettingDefaultInput{} 3564 } 3565 3566 output = &PutAccountSettingDefaultOutput{} 3567 req = c.newRequest(op, input, output) 3568 return 3569} 3570 3571// PutAccountSettingDefault API operation for Amazon EC2 Container Service. 3572// 3573// Modifies an account setting for all IAM users on an account for whom no individual 3574// account setting has been specified. Account settings are set on a per-Region 3575// basis. 3576// 3577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3578// with awserr.Error's Code and Message methods to get detailed information about 3579// the error. 3580// 3581// See the AWS API reference guide for Amazon EC2 Container Service's 3582// API operation PutAccountSettingDefault for usage and error information. 3583// 3584// Returned Error Types: 3585// * ServerException 3586// These errors are usually caused by a server issue. 3587// 3588// * ClientException 3589// These errors are usually caused by a client action, such as using an action 3590// or resource on behalf of a user that doesn't have permissions to use the 3591// action or resource, or specifying an identifier that is not valid. 3592// 3593// * InvalidParameterException 3594// The specified parameter is invalid. Review the available parameters for the 3595// API request. 3596// 3597// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3598func (c *ECS) PutAccountSettingDefault(input *PutAccountSettingDefaultInput) (*PutAccountSettingDefaultOutput, error) { 3599 req, out := c.PutAccountSettingDefaultRequest(input) 3600 return out, req.Send() 3601} 3602 3603// PutAccountSettingDefaultWithContext is the same as PutAccountSettingDefault with the addition of 3604// the ability to pass a context and additional request options. 3605// 3606// See PutAccountSettingDefault for details on how to use this API operation. 3607// 3608// The context must be non-nil and will be used for request cancellation. If 3609// the context is nil a panic will occur. In the future the SDK may create 3610// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3611// for more information on using Contexts. 3612func (c *ECS) PutAccountSettingDefaultWithContext(ctx aws.Context, input *PutAccountSettingDefaultInput, opts ...request.Option) (*PutAccountSettingDefaultOutput, error) { 3613 req, out := c.PutAccountSettingDefaultRequest(input) 3614 req.SetContext(ctx) 3615 req.ApplyOptions(opts...) 3616 return out, req.Send() 3617} 3618 3619const opPutAttributes = "PutAttributes" 3620 3621// PutAttributesRequest generates a "aws/request.Request" representing the 3622// client's request for the PutAttributes operation. The "output" return 3623// value will be populated with the request's response once the request completes 3624// successfully. 3625// 3626// Use "Send" method on the returned Request to send the API call to the service. 3627// the "output" return value is not valid until after Send returns without error. 3628// 3629// See PutAttributes for more information on using the PutAttributes 3630// API call, and error handling. 3631// 3632// This method is useful when you want to inject custom logic or configuration 3633// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3634// 3635// 3636// // Example sending a request using the PutAttributesRequest method. 3637// req, resp := client.PutAttributesRequest(params) 3638// 3639// err := req.Send() 3640// if err == nil { // resp is now filled 3641// fmt.Println(resp) 3642// } 3643// 3644// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3645func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) { 3646 op := &request.Operation{ 3647 Name: opPutAttributes, 3648 HTTPMethod: "POST", 3649 HTTPPath: "/", 3650 } 3651 3652 if input == nil { 3653 input = &PutAttributesInput{} 3654 } 3655 3656 output = &PutAttributesOutput{} 3657 req = c.newRequest(op, input, output) 3658 return 3659} 3660 3661// PutAttributes API operation for Amazon EC2 Container Service. 3662// 3663// Create or update an attribute on an Amazon ECS resource. If the attribute 3664// does not exist, it is created. If the attribute exists, its value is replaced 3665// with the specified value. To delete an attribute, use DeleteAttributes. For 3666// more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 3667// in the Amazon Elastic Container Service Developer Guide. 3668// 3669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3670// with awserr.Error's Code and Message methods to get detailed information about 3671// the error. 3672// 3673// See the AWS API reference guide for Amazon EC2 Container Service's 3674// API operation PutAttributes for usage and error information. 3675// 3676// Returned Error Types: 3677// * ClusterNotFoundException 3678// The specified cluster could not be found. You can view your available clusters 3679// with ListClusters. Amazon ECS clusters are Region-specific. 3680// 3681// * TargetNotFoundException 3682// The specified target could not be found. You can view your available container 3683// instances with ListContainerInstances. Amazon ECS container instances are 3684// cluster-specific and Region-specific. 3685// 3686// * AttributeLimitExceededException 3687// You can apply up to 10 custom attributes per resource. You can view the attributes 3688// of a resource with ListAttributes. You can remove existing attributes on 3689// a resource with DeleteAttributes. 3690// 3691// * InvalidParameterException 3692// The specified parameter is invalid. Review the available parameters for the 3693// API request. 3694// 3695// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3696func (c *ECS) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) { 3697 req, out := c.PutAttributesRequest(input) 3698 return out, req.Send() 3699} 3700 3701// PutAttributesWithContext is the same as PutAttributes with the addition of 3702// the ability to pass a context and additional request options. 3703// 3704// See PutAttributes for details on how to use this API operation. 3705// 3706// The context must be non-nil and will be used for request cancellation. If 3707// the context is nil a panic will occur. In the future the SDK may create 3708// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3709// for more information on using Contexts. 3710func (c *ECS) PutAttributesWithContext(ctx aws.Context, input *PutAttributesInput, opts ...request.Option) (*PutAttributesOutput, error) { 3711 req, out := c.PutAttributesRequest(input) 3712 req.SetContext(ctx) 3713 req.ApplyOptions(opts...) 3714 return out, req.Send() 3715} 3716 3717const opPutClusterCapacityProviders = "PutClusterCapacityProviders" 3718 3719// PutClusterCapacityProvidersRequest generates a "aws/request.Request" representing the 3720// client's request for the PutClusterCapacityProviders operation. The "output" return 3721// value will be populated with the request's response once the request completes 3722// successfully. 3723// 3724// Use "Send" method on the returned Request to send the API call to the service. 3725// the "output" return value is not valid until after Send returns without error. 3726// 3727// See PutClusterCapacityProviders for more information on using the PutClusterCapacityProviders 3728// API call, and error handling. 3729// 3730// This method is useful when you want to inject custom logic or configuration 3731// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3732// 3733// 3734// // Example sending a request using the PutClusterCapacityProvidersRequest method. 3735// req, resp := client.PutClusterCapacityProvidersRequest(params) 3736// 3737// err := req.Send() 3738// if err == nil { // resp is now filled 3739// fmt.Println(resp) 3740// } 3741// 3742// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3743func (c *ECS) PutClusterCapacityProvidersRequest(input *PutClusterCapacityProvidersInput) (req *request.Request, output *PutClusterCapacityProvidersOutput) { 3744 op := &request.Operation{ 3745 Name: opPutClusterCapacityProviders, 3746 HTTPMethod: "POST", 3747 HTTPPath: "/", 3748 } 3749 3750 if input == nil { 3751 input = &PutClusterCapacityProvidersInput{} 3752 } 3753 3754 output = &PutClusterCapacityProvidersOutput{} 3755 req = c.newRequest(op, input, output) 3756 return 3757} 3758 3759// PutClusterCapacityProviders API operation for Amazon EC2 Container Service. 3760// 3761// Modifies the available capacity providers and the default capacity provider 3762// strategy for a cluster. 3763// 3764// You must specify both the available capacity providers and a default capacity 3765// provider strategy for the cluster. If the specified cluster has existing 3766// capacity providers associated with it, you must specify all existing capacity 3767// providers in addition to any new ones you want to add. Any existing capacity 3768// providers associated with a cluster that are omitted from a PutClusterCapacityProviders 3769// API call will be disassociated with the cluster. You can only disassociate 3770// an existing capacity provider from a cluster if it's not being used by any 3771// existing tasks. 3772// 3773// When creating a service or running a task on a cluster, if no capacity provider 3774// or launch type is specified, then the cluster's default capacity provider 3775// strategy is used. It is recommended to define a default capacity provider 3776// strategy for your cluster, however you may specify an empty array ([]) to 3777// bypass defining a default strategy. 3778// 3779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3780// with awserr.Error's Code and Message methods to get detailed information about 3781// the error. 3782// 3783// See the AWS API reference guide for Amazon EC2 Container Service's 3784// API operation PutClusterCapacityProviders for usage and error information. 3785// 3786// Returned Error Types: 3787// * ServerException 3788// These errors are usually caused by a server issue. 3789// 3790// * ClientException 3791// These errors are usually caused by a client action, such as using an action 3792// or resource on behalf of a user that doesn't have permissions to use the 3793// action or resource, or specifying an identifier that is not valid. 3794// 3795// * InvalidParameterException 3796// The specified parameter is invalid. Review the available parameters for the 3797// API request. 3798// 3799// * ClusterNotFoundException 3800// The specified cluster could not be found. You can view your available clusters 3801// with ListClusters. Amazon ECS clusters are Region-specific. 3802// 3803// * ResourceInUseException 3804// The specified resource is in-use and cannot be removed. 3805// 3806// * UpdateInProgressException 3807// There is already a current Amazon ECS container agent update in progress 3808// on the specified container instance. If the container agent becomes disconnected 3809// while it is in a transitional stage, such as PENDING or STAGING, the update 3810// process can get stuck in that state. However, when the agent reconnects, 3811// it resumes where it stopped previously. 3812// 3813// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3814func (c *ECS) PutClusterCapacityProviders(input *PutClusterCapacityProvidersInput) (*PutClusterCapacityProvidersOutput, error) { 3815 req, out := c.PutClusterCapacityProvidersRequest(input) 3816 return out, req.Send() 3817} 3818 3819// PutClusterCapacityProvidersWithContext is the same as PutClusterCapacityProviders with the addition of 3820// the ability to pass a context and additional request options. 3821// 3822// See PutClusterCapacityProviders for details on how to use this API operation. 3823// 3824// The context must be non-nil and will be used for request cancellation. If 3825// the context is nil a panic will occur. In the future the SDK may create 3826// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3827// for more information on using Contexts. 3828func (c *ECS) PutClusterCapacityProvidersWithContext(ctx aws.Context, input *PutClusterCapacityProvidersInput, opts ...request.Option) (*PutClusterCapacityProvidersOutput, error) { 3829 req, out := c.PutClusterCapacityProvidersRequest(input) 3830 req.SetContext(ctx) 3831 req.ApplyOptions(opts...) 3832 return out, req.Send() 3833} 3834 3835const opRegisterContainerInstance = "RegisterContainerInstance" 3836 3837// RegisterContainerInstanceRequest generates a "aws/request.Request" representing the 3838// client's request for the RegisterContainerInstance operation. The "output" return 3839// value will be populated with the request's response once the request completes 3840// successfully. 3841// 3842// Use "Send" method on the returned Request to send the API call to the service. 3843// the "output" return value is not valid until after Send returns without error. 3844// 3845// See RegisterContainerInstance for more information on using the RegisterContainerInstance 3846// API call, and error handling. 3847// 3848// This method is useful when you want to inject custom logic or configuration 3849// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3850// 3851// 3852// // Example sending a request using the RegisterContainerInstanceRequest method. 3853// req, resp := client.RegisterContainerInstanceRequest(params) 3854// 3855// err := req.Send() 3856// if err == nil { // resp is now filled 3857// fmt.Println(resp) 3858// } 3859// 3860// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3861func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { 3862 op := &request.Operation{ 3863 Name: opRegisterContainerInstance, 3864 HTTPMethod: "POST", 3865 HTTPPath: "/", 3866 } 3867 3868 if input == nil { 3869 input = &RegisterContainerInstanceInput{} 3870 } 3871 3872 output = &RegisterContainerInstanceOutput{} 3873 req = c.newRequest(op, input, output) 3874 return 3875} 3876 3877// RegisterContainerInstance API operation for Amazon EC2 Container Service. 3878// 3879// 3880// This action is only used by the Amazon ECS agent, and it is not intended 3881// for use outside of the agent. 3882// 3883// Registers an EC2 instance into the specified cluster. This instance becomes 3884// available to place containers on. 3885// 3886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3887// with awserr.Error's Code and Message methods to get detailed information about 3888// the error. 3889// 3890// See the AWS API reference guide for Amazon EC2 Container Service's 3891// API operation RegisterContainerInstance for usage and error information. 3892// 3893// Returned Error Types: 3894// * ServerException 3895// These errors are usually caused by a server issue. 3896// 3897// * ClientException 3898// These errors are usually caused by a client action, such as using an action 3899// or resource on behalf of a user that doesn't have permissions to use the 3900// action or resource, or specifying an identifier that is not valid. 3901// 3902// * InvalidParameterException 3903// The specified parameter is invalid. Review the available parameters for the 3904// API request. 3905// 3906// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3907func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { 3908 req, out := c.RegisterContainerInstanceRequest(input) 3909 return out, req.Send() 3910} 3911 3912// RegisterContainerInstanceWithContext is the same as RegisterContainerInstance with the addition of 3913// the ability to pass a context and additional request options. 3914// 3915// See RegisterContainerInstance for details on how to use this API operation. 3916// 3917// The context must be non-nil and will be used for request cancellation. If 3918// the context is nil a panic will occur. In the future the SDK may create 3919// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3920// for more information on using Contexts. 3921func (c *ECS) RegisterContainerInstanceWithContext(ctx aws.Context, input *RegisterContainerInstanceInput, opts ...request.Option) (*RegisterContainerInstanceOutput, error) { 3922 req, out := c.RegisterContainerInstanceRequest(input) 3923 req.SetContext(ctx) 3924 req.ApplyOptions(opts...) 3925 return out, req.Send() 3926} 3927 3928const opRegisterTaskDefinition = "RegisterTaskDefinition" 3929 3930// RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the 3931// client's request for the RegisterTaskDefinition operation. The "output" return 3932// value will be populated with the request's response once the request completes 3933// successfully. 3934// 3935// Use "Send" method on the returned Request to send the API call to the service. 3936// the "output" return value is not valid until after Send returns without error. 3937// 3938// See RegisterTaskDefinition for more information on using the RegisterTaskDefinition 3939// API call, and error handling. 3940// 3941// This method is useful when you want to inject custom logic or configuration 3942// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3943// 3944// 3945// // Example sending a request using the RegisterTaskDefinitionRequest method. 3946// req, resp := client.RegisterTaskDefinitionRequest(params) 3947// 3948// err := req.Send() 3949// if err == nil { // resp is now filled 3950// fmt.Println(resp) 3951// } 3952// 3953// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3954func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { 3955 op := &request.Operation{ 3956 Name: opRegisterTaskDefinition, 3957 HTTPMethod: "POST", 3958 HTTPPath: "/", 3959 } 3960 3961 if input == nil { 3962 input = &RegisterTaskDefinitionInput{} 3963 } 3964 3965 output = &RegisterTaskDefinitionOutput{} 3966 req = c.newRequest(op, input, output) 3967 return 3968} 3969 3970// RegisterTaskDefinition API operation for Amazon EC2 Container Service. 3971// 3972// Registers a new task definition from the supplied family and containerDefinitions. 3973// Optionally, you can add data volumes to your containers with the volumes 3974// parameter. For more information about task definition parameters and defaults, 3975// see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 3976// in the Amazon Elastic Container Service Developer Guide. 3977// 3978// You can specify an IAM role for your task with the taskRoleArn parameter. 3979// When you specify an IAM role for a task, its containers can then use the 3980// latest versions of the AWS CLI or SDKs to make API requests to the AWS services 3981// that are specified in the IAM policy associated with the role. For more information, 3982// see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 3983// in the Amazon Elastic Container Service Developer Guide. 3984// 3985// You can specify a Docker networking mode for the containers in your task 3986// definition with the networkMode parameter. The available network modes correspond 3987// to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) 3988// in the Docker run reference. If you specify the awsvpc network mode, the 3989// task is allocated an elastic network interface, and you must specify a NetworkConfiguration 3990// when you create a service or run a task with the task definition. For more 3991// information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 3992// in the Amazon Elastic Container Service Developer Guide. 3993// 3994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3995// with awserr.Error's Code and Message methods to get detailed information about 3996// the error. 3997// 3998// See the AWS API reference guide for Amazon EC2 Container Service's 3999// API operation RegisterTaskDefinition for usage and error information. 4000// 4001// Returned Error Types: 4002// * ServerException 4003// These errors are usually caused by a server issue. 4004// 4005// * ClientException 4006// These errors are usually caused by a client action, such as using an action 4007// or resource on behalf of a user that doesn't have permissions to use the 4008// action or resource, or specifying an identifier that is not valid. 4009// 4010// * InvalidParameterException 4011// The specified parameter is invalid. Review the available parameters for the 4012// API request. 4013// 4014// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 4015func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { 4016 req, out := c.RegisterTaskDefinitionRequest(input) 4017 return out, req.Send() 4018} 4019 4020// RegisterTaskDefinitionWithContext is the same as RegisterTaskDefinition with the addition of 4021// the ability to pass a context and additional request options. 4022// 4023// See RegisterTaskDefinition for details on how to use this API operation. 4024// 4025// The context must be non-nil and will be used for request cancellation. If 4026// the context is nil a panic will occur. In the future the SDK may create 4027// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4028// for more information on using Contexts. 4029func (c *ECS) RegisterTaskDefinitionWithContext(ctx aws.Context, input *RegisterTaskDefinitionInput, opts ...request.Option) (*RegisterTaskDefinitionOutput, error) { 4030 req, out := c.RegisterTaskDefinitionRequest(input) 4031 req.SetContext(ctx) 4032 req.ApplyOptions(opts...) 4033 return out, req.Send() 4034} 4035 4036const opRunTask = "RunTask" 4037 4038// RunTaskRequest generates a "aws/request.Request" representing the 4039// client's request for the RunTask operation. The "output" return 4040// value will be populated with the request's response once the request completes 4041// successfully. 4042// 4043// Use "Send" method on the returned Request to send the API call to the service. 4044// the "output" return value is not valid until after Send returns without error. 4045// 4046// See RunTask for more information on using the RunTask 4047// API call, and error handling. 4048// 4049// This method is useful when you want to inject custom logic or configuration 4050// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4051// 4052// 4053// // Example sending a request using the RunTaskRequest method. 4054// req, resp := client.RunTaskRequest(params) 4055// 4056// err := req.Send() 4057// if err == nil { // resp is now filled 4058// fmt.Println(resp) 4059// } 4060// 4061// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 4062func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { 4063 op := &request.Operation{ 4064 Name: opRunTask, 4065 HTTPMethod: "POST", 4066 HTTPPath: "/", 4067 } 4068 4069 if input == nil { 4070 input = &RunTaskInput{} 4071 } 4072 4073 output = &RunTaskOutput{} 4074 req = c.newRequest(op, input, output) 4075 return 4076} 4077 4078// RunTask API operation for Amazon EC2 Container Service. 4079// 4080// Starts a new task using the specified task definition. 4081// 4082// You can allow Amazon ECS to place tasks for you, or you can customize how 4083// Amazon ECS places tasks using placement constraints and placement strategies. 4084// For more information, see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 4085// in the Amazon Elastic Container Service Developer Guide. 4086// 4087// Alternatively, you can use StartTask to use your own scheduler or place tasks 4088// manually on specific container instances. 4089// 4090// The Amazon ECS API follows an eventual consistency model, due to the distributed 4091// nature of the system supporting the API. This means that the result of an 4092// API command you run that affects your Amazon ECS resources might not be immediately 4093// visible to all subsequent commands you run. Keep this in mind when you carry 4094// out an API command that immediately follows a previous API command. 4095// 4096// To manage eventual consistency, you can do the following: 4097// 4098// * Confirm the state of the resource before you run a command to modify 4099// it. Run the DescribeTasks command using an exponential backoff algorithm 4100// to ensure that you allow enough time for the previous command to propagate 4101// through the system. To do this, run the DescribeTasks command repeatedly, 4102// starting with a couple of seconds of wait time and increasing gradually 4103// up to five minutes of wait time. 4104// 4105// * Add wait time between subsequent commands, even if the DescribeTasks 4106// command returns an accurate response. Apply an exponential backoff algorithm 4107// starting with a couple of seconds of wait time, and increase gradually 4108// up to about five minutes of wait time. 4109// 4110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4111// with awserr.Error's Code and Message methods to get detailed information about 4112// the error. 4113// 4114// See the AWS API reference guide for Amazon EC2 Container Service's 4115// API operation RunTask for usage and error information. 4116// 4117// Returned Error Types: 4118// * ServerException 4119// These errors are usually caused by a server issue. 4120// 4121// * ClientException 4122// These errors are usually caused by a client action, such as using an action 4123// or resource on behalf of a user that doesn't have permissions to use the 4124// action or resource, or specifying an identifier that is not valid. 4125// 4126// * InvalidParameterException 4127// The specified parameter is invalid. Review the available parameters for the 4128// API request. 4129// 4130// * ClusterNotFoundException 4131// The specified cluster could not be found. You can view your available clusters 4132// with ListClusters. Amazon ECS clusters are Region-specific. 4133// 4134// * UnsupportedFeatureException 4135// The specified task is not supported in this Region. 4136// 4137// * PlatformUnknownException 4138// The specified platform version does not exist. 4139// 4140// * PlatformTaskDefinitionIncompatibilityException 4141// The specified platform version does not satisfy the task definition's required 4142// capabilities. 4143// 4144// * AccessDeniedException 4145// You do not have authorization to perform the requested action. 4146// 4147// * BlockedException 4148// Your AWS account has been blocked. For more information, contact AWS Support 4149// (http://aws.amazon.com/contact-us/). 4150// 4151// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 4152func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { 4153 req, out := c.RunTaskRequest(input) 4154 return out, req.Send() 4155} 4156 4157// RunTaskWithContext is the same as RunTask with the addition of 4158// the ability to pass a context and additional request options. 4159// 4160// See RunTask for details on how to use this API operation. 4161// 4162// The context must be non-nil and will be used for request cancellation. If 4163// the context is nil a panic will occur. In the future the SDK may create 4164// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4165// for more information on using Contexts. 4166func (c *ECS) RunTaskWithContext(ctx aws.Context, input *RunTaskInput, opts ...request.Option) (*RunTaskOutput, error) { 4167 req, out := c.RunTaskRequest(input) 4168 req.SetContext(ctx) 4169 req.ApplyOptions(opts...) 4170 return out, req.Send() 4171} 4172 4173const opStartTask = "StartTask" 4174 4175// StartTaskRequest generates a "aws/request.Request" representing the 4176// client's request for the StartTask operation. The "output" return 4177// value will be populated with the request's response once the request completes 4178// successfully. 4179// 4180// Use "Send" method on the returned Request to send the API call to the service. 4181// the "output" return value is not valid until after Send returns without error. 4182// 4183// See StartTask for more information on using the StartTask 4184// API call, and error handling. 4185// 4186// This method is useful when you want to inject custom logic or configuration 4187// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4188// 4189// 4190// // Example sending a request using the StartTaskRequest method. 4191// req, resp := client.StartTaskRequest(params) 4192// 4193// err := req.Send() 4194// if err == nil { // resp is now filled 4195// fmt.Println(resp) 4196// } 4197// 4198// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4199func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { 4200 op := &request.Operation{ 4201 Name: opStartTask, 4202 HTTPMethod: "POST", 4203 HTTPPath: "/", 4204 } 4205 4206 if input == nil { 4207 input = &StartTaskInput{} 4208 } 4209 4210 output = &StartTaskOutput{} 4211 req = c.newRequest(op, input, output) 4212 return 4213} 4214 4215// StartTask API operation for Amazon EC2 Container Service. 4216// 4217// Starts a new task from the specified task definition on the specified container 4218// instance or instances. 4219// 4220// Alternatively, you can use RunTask to place tasks for you. For more information, 4221// see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 4222// in the Amazon Elastic Container Service Developer Guide. 4223// 4224// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4225// with awserr.Error's Code and Message methods to get detailed information about 4226// the error. 4227// 4228// See the AWS API reference guide for Amazon EC2 Container Service's 4229// API operation StartTask for usage and error information. 4230// 4231// Returned Error Types: 4232// * ServerException 4233// These errors are usually caused by a server issue. 4234// 4235// * ClientException 4236// These errors are usually caused by a client action, such as using an action 4237// or resource on behalf of a user that doesn't have permissions to use the 4238// action or resource, or specifying an identifier that is not valid. 4239// 4240// * InvalidParameterException 4241// The specified parameter is invalid. Review the available parameters for the 4242// API request. 4243// 4244// * ClusterNotFoundException 4245// The specified cluster could not be found. You can view your available clusters 4246// with ListClusters. Amazon ECS clusters are Region-specific. 4247// 4248// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4249func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { 4250 req, out := c.StartTaskRequest(input) 4251 return out, req.Send() 4252} 4253 4254// StartTaskWithContext is the same as StartTask with the addition of 4255// the ability to pass a context and additional request options. 4256// 4257// See StartTask for details on how to use this API operation. 4258// 4259// The context must be non-nil and will be used for request cancellation. If 4260// the context is nil a panic will occur. In the future the SDK may create 4261// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4262// for more information on using Contexts. 4263func (c *ECS) StartTaskWithContext(ctx aws.Context, input *StartTaskInput, opts ...request.Option) (*StartTaskOutput, error) { 4264 req, out := c.StartTaskRequest(input) 4265 req.SetContext(ctx) 4266 req.ApplyOptions(opts...) 4267 return out, req.Send() 4268} 4269 4270const opStopTask = "StopTask" 4271 4272// StopTaskRequest generates a "aws/request.Request" representing the 4273// client's request for the StopTask operation. The "output" return 4274// value will be populated with the request's response once the request completes 4275// successfully. 4276// 4277// Use "Send" method on the returned Request to send the API call to the service. 4278// the "output" return value is not valid until after Send returns without error. 4279// 4280// See StopTask for more information on using the StopTask 4281// API call, and error handling. 4282// 4283// This method is useful when you want to inject custom logic or configuration 4284// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4285// 4286// 4287// // Example sending a request using the StopTaskRequest method. 4288// req, resp := client.StopTaskRequest(params) 4289// 4290// err := req.Send() 4291// if err == nil { // resp is now filled 4292// fmt.Println(resp) 4293// } 4294// 4295// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4296func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { 4297 op := &request.Operation{ 4298 Name: opStopTask, 4299 HTTPMethod: "POST", 4300 HTTPPath: "/", 4301 } 4302 4303 if input == nil { 4304 input = &StopTaskInput{} 4305 } 4306 4307 output = &StopTaskOutput{} 4308 req = c.newRequest(op, input, output) 4309 return 4310} 4311 4312// StopTask API operation for Amazon EC2 Container Service. 4313// 4314// Stops a running task. Any tags associated with the task will be deleted. 4315// 4316// When StopTask is called on a task, the equivalent of docker stop is issued 4317// to the containers running in the task. This results in a SIGTERM value and 4318// a default 30-second timeout, after which the SIGKILL value is sent and the 4319// containers are forcibly stopped. If the container handles the SIGTERM value 4320// gracefully and exits within 30 seconds from receiving it, no SIGKILL value 4321// is sent. 4322// 4323// The default 30-second timeout can be configured on the Amazon ECS container 4324// agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, 4325// see Amazon ECS Container Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 4326// in the Amazon Elastic Container Service Developer Guide. 4327// 4328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4329// with awserr.Error's Code and Message methods to get detailed information about 4330// the error. 4331// 4332// See the AWS API reference guide for Amazon EC2 Container Service's 4333// API operation StopTask for usage and error information. 4334// 4335// Returned Error Types: 4336// * ServerException 4337// These errors are usually caused by a server issue. 4338// 4339// * ClientException 4340// These errors are usually caused by a client action, such as using an action 4341// or resource on behalf of a user that doesn't have permissions to use the 4342// action or resource, or specifying an identifier that is not valid. 4343// 4344// * InvalidParameterException 4345// The specified parameter is invalid. Review the available parameters for the 4346// API request. 4347// 4348// * ClusterNotFoundException 4349// The specified cluster could not be found. You can view your available clusters 4350// with ListClusters. Amazon ECS clusters are Region-specific. 4351// 4352// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4353func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { 4354 req, out := c.StopTaskRequest(input) 4355 return out, req.Send() 4356} 4357 4358// StopTaskWithContext is the same as StopTask with the addition of 4359// the ability to pass a context and additional request options. 4360// 4361// See StopTask for details on how to use this API operation. 4362// 4363// The context must be non-nil and will be used for request cancellation. If 4364// the context is nil a panic will occur. In the future the SDK may create 4365// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4366// for more information on using Contexts. 4367func (c *ECS) StopTaskWithContext(ctx aws.Context, input *StopTaskInput, opts ...request.Option) (*StopTaskOutput, error) { 4368 req, out := c.StopTaskRequest(input) 4369 req.SetContext(ctx) 4370 req.ApplyOptions(opts...) 4371 return out, req.Send() 4372} 4373 4374const opSubmitAttachmentStateChanges = "SubmitAttachmentStateChanges" 4375 4376// SubmitAttachmentStateChangesRequest generates a "aws/request.Request" representing the 4377// client's request for the SubmitAttachmentStateChanges operation. The "output" return 4378// value will be populated with the request's response once the request completes 4379// successfully. 4380// 4381// Use "Send" method on the returned Request to send the API call to the service. 4382// the "output" return value is not valid until after Send returns without error. 4383// 4384// See SubmitAttachmentStateChanges for more information on using the SubmitAttachmentStateChanges 4385// API call, and error handling. 4386// 4387// This method is useful when you want to inject custom logic or configuration 4388// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4389// 4390// 4391// // Example sending a request using the SubmitAttachmentStateChangesRequest method. 4392// req, resp := client.SubmitAttachmentStateChangesRequest(params) 4393// 4394// err := req.Send() 4395// if err == nil { // resp is now filled 4396// fmt.Println(resp) 4397// } 4398// 4399// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4400func (c *ECS) SubmitAttachmentStateChangesRequest(input *SubmitAttachmentStateChangesInput) (req *request.Request, output *SubmitAttachmentStateChangesOutput) { 4401 op := &request.Operation{ 4402 Name: opSubmitAttachmentStateChanges, 4403 HTTPMethod: "POST", 4404 HTTPPath: "/", 4405 } 4406 4407 if input == nil { 4408 input = &SubmitAttachmentStateChangesInput{} 4409 } 4410 4411 output = &SubmitAttachmentStateChangesOutput{} 4412 req = c.newRequest(op, input, output) 4413 return 4414} 4415 4416// SubmitAttachmentStateChanges API operation for Amazon EC2 Container Service. 4417// 4418// 4419// This action is only used by the Amazon ECS agent, and it is not intended 4420// for use outside of the agent. 4421// 4422// Sent to acknowledge that an attachment changed states. 4423// 4424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4425// with awserr.Error's Code and Message methods to get detailed information about 4426// the error. 4427// 4428// See the AWS API reference guide for Amazon EC2 Container Service's 4429// API operation SubmitAttachmentStateChanges for usage and error information. 4430// 4431// Returned Error Types: 4432// * ServerException 4433// These errors are usually caused by a server issue. 4434// 4435// * ClientException 4436// These errors are usually caused by a client action, such as using an action 4437// or resource on behalf of a user that doesn't have permissions to use the 4438// action or resource, or specifying an identifier that is not valid. 4439// 4440// * AccessDeniedException 4441// You do not have authorization to perform the requested action. 4442// 4443// * InvalidParameterException 4444// The specified parameter is invalid. Review the available parameters for the 4445// API request. 4446// 4447// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4448func (c *ECS) SubmitAttachmentStateChanges(input *SubmitAttachmentStateChangesInput) (*SubmitAttachmentStateChangesOutput, error) { 4449 req, out := c.SubmitAttachmentStateChangesRequest(input) 4450 return out, req.Send() 4451} 4452 4453// SubmitAttachmentStateChangesWithContext is the same as SubmitAttachmentStateChanges with the addition of 4454// the ability to pass a context and additional request options. 4455// 4456// See SubmitAttachmentStateChanges for details on how to use this API operation. 4457// 4458// The context must be non-nil and will be used for request cancellation. If 4459// the context is nil a panic will occur. In the future the SDK may create 4460// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4461// for more information on using Contexts. 4462func (c *ECS) SubmitAttachmentStateChangesWithContext(ctx aws.Context, input *SubmitAttachmentStateChangesInput, opts ...request.Option) (*SubmitAttachmentStateChangesOutput, error) { 4463 req, out := c.SubmitAttachmentStateChangesRequest(input) 4464 req.SetContext(ctx) 4465 req.ApplyOptions(opts...) 4466 return out, req.Send() 4467} 4468 4469const opSubmitContainerStateChange = "SubmitContainerStateChange" 4470 4471// SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the 4472// client's request for the SubmitContainerStateChange operation. The "output" return 4473// value will be populated with the request's response once the request completes 4474// successfully. 4475// 4476// Use "Send" method on the returned Request to send the API call to the service. 4477// the "output" return value is not valid until after Send returns without error. 4478// 4479// See SubmitContainerStateChange for more information on using the SubmitContainerStateChange 4480// API call, and error handling. 4481// 4482// This method is useful when you want to inject custom logic or configuration 4483// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4484// 4485// 4486// // Example sending a request using the SubmitContainerStateChangeRequest method. 4487// req, resp := client.SubmitContainerStateChangeRequest(params) 4488// 4489// err := req.Send() 4490// if err == nil { // resp is now filled 4491// fmt.Println(resp) 4492// } 4493// 4494// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4495func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { 4496 op := &request.Operation{ 4497 Name: opSubmitContainerStateChange, 4498 HTTPMethod: "POST", 4499 HTTPPath: "/", 4500 } 4501 4502 if input == nil { 4503 input = &SubmitContainerStateChangeInput{} 4504 } 4505 4506 output = &SubmitContainerStateChangeOutput{} 4507 req = c.newRequest(op, input, output) 4508 return 4509} 4510 4511// SubmitContainerStateChange API operation for Amazon EC2 Container Service. 4512// 4513// 4514// This action is only used by the Amazon ECS agent, and it is not intended 4515// for use outside of the agent. 4516// 4517// Sent to acknowledge that a container changed states. 4518// 4519// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4520// with awserr.Error's Code and Message methods to get detailed information about 4521// the error. 4522// 4523// See the AWS API reference guide for Amazon EC2 Container Service's 4524// API operation SubmitContainerStateChange for usage and error information. 4525// 4526// Returned Error Types: 4527// * ServerException 4528// These errors are usually caused by a server issue. 4529// 4530// * ClientException 4531// These errors are usually caused by a client action, such as using an action 4532// or resource on behalf of a user that doesn't have permissions to use the 4533// action or resource, or specifying an identifier that is not valid. 4534// 4535// * AccessDeniedException 4536// You do not have authorization to perform the requested action. 4537// 4538// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4539func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { 4540 req, out := c.SubmitContainerStateChangeRequest(input) 4541 return out, req.Send() 4542} 4543 4544// SubmitContainerStateChangeWithContext is the same as SubmitContainerStateChange with the addition of 4545// the ability to pass a context and additional request options. 4546// 4547// See SubmitContainerStateChange for details on how to use this API operation. 4548// 4549// The context must be non-nil and will be used for request cancellation. If 4550// the context is nil a panic will occur. In the future the SDK may create 4551// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4552// for more information on using Contexts. 4553func (c *ECS) SubmitContainerStateChangeWithContext(ctx aws.Context, input *SubmitContainerStateChangeInput, opts ...request.Option) (*SubmitContainerStateChangeOutput, error) { 4554 req, out := c.SubmitContainerStateChangeRequest(input) 4555 req.SetContext(ctx) 4556 req.ApplyOptions(opts...) 4557 return out, req.Send() 4558} 4559 4560const opSubmitTaskStateChange = "SubmitTaskStateChange" 4561 4562// SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the 4563// client's request for the SubmitTaskStateChange operation. The "output" return 4564// value will be populated with the request's response once the request completes 4565// successfully. 4566// 4567// Use "Send" method on the returned Request to send the API call to the service. 4568// the "output" return value is not valid until after Send returns without error. 4569// 4570// See SubmitTaskStateChange for more information on using the SubmitTaskStateChange 4571// API call, and error handling. 4572// 4573// This method is useful when you want to inject custom logic or configuration 4574// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4575// 4576// 4577// // Example sending a request using the SubmitTaskStateChangeRequest method. 4578// req, resp := client.SubmitTaskStateChangeRequest(params) 4579// 4580// err := req.Send() 4581// if err == nil { // resp is now filled 4582// fmt.Println(resp) 4583// } 4584// 4585// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4586func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { 4587 op := &request.Operation{ 4588 Name: opSubmitTaskStateChange, 4589 HTTPMethod: "POST", 4590 HTTPPath: "/", 4591 } 4592 4593 if input == nil { 4594 input = &SubmitTaskStateChangeInput{} 4595 } 4596 4597 output = &SubmitTaskStateChangeOutput{} 4598 req = c.newRequest(op, input, output) 4599 return 4600} 4601 4602// SubmitTaskStateChange API operation for Amazon EC2 Container Service. 4603// 4604// 4605// This action is only used by the Amazon ECS agent, and it is not intended 4606// for use outside of the agent. 4607// 4608// Sent to acknowledge that a task changed states. 4609// 4610// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4611// with awserr.Error's Code and Message methods to get detailed information about 4612// the error. 4613// 4614// See the AWS API reference guide for Amazon EC2 Container Service's 4615// API operation SubmitTaskStateChange for usage and error information. 4616// 4617// Returned Error Types: 4618// * ServerException 4619// These errors are usually caused by a server issue. 4620// 4621// * ClientException 4622// These errors are usually caused by a client action, such as using an action 4623// or resource on behalf of a user that doesn't have permissions to use the 4624// action or resource, or specifying an identifier that is not valid. 4625// 4626// * AccessDeniedException 4627// You do not have authorization to perform the requested action. 4628// 4629// * InvalidParameterException 4630// The specified parameter is invalid. Review the available parameters for the 4631// API request. 4632// 4633// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4634func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { 4635 req, out := c.SubmitTaskStateChangeRequest(input) 4636 return out, req.Send() 4637} 4638 4639// SubmitTaskStateChangeWithContext is the same as SubmitTaskStateChange with the addition of 4640// the ability to pass a context and additional request options. 4641// 4642// See SubmitTaskStateChange for details on how to use this API operation. 4643// 4644// The context must be non-nil and will be used for request cancellation. If 4645// the context is nil a panic will occur. In the future the SDK may create 4646// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4647// for more information on using Contexts. 4648func (c *ECS) SubmitTaskStateChangeWithContext(ctx aws.Context, input *SubmitTaskStateChangeInput, opts ...request.Option) (*SubmitTaskStateChangeOutput, error) { 4649 req, out := c.SubmitTaskStateChangeRequest(input) 4650 req.SetContext(ctx) 4651 req.ApplyOptions(opts...) 4652 return out, req.Send() 4653} 4654 4655const opTagResource = "TagResource" 4656 4657// TagResourceRequest generates a "aws/request.Request" representing the 4658// client's request for the TagResource operation. The "output" return 4659// value will be populated with the request's response once the request completes 4660// successfully. 4661// 4662// Use "Send" method on the returned Request to send the API call to the service. 4663// the "output" return value is not valid until after Send returns without error. 4664// 4665// See TagResource for more information on using the TagResource 4666// API call, and error handling. 4667// 4668// This method is useful when you want to inject custom logic or configuration 4669// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4670// 4671// 4672// // Example sending a request using the TagResourceRequest method. 4673// req, resp := client.TagResourceRequest(params) 4674// 4675// err := req.Send() 4676// if err == nil { // resp is now filled 4677// fmt.Println(resp) 4678// } 4679// 4680// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4681func (c *ECS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 4682 op := &request.Operation{ 4683 Name: opTagResource, 4684 HTTPMethod: "POST", 4685 HTTPPath: "/", 4686 } 4687 4688 if input == nil { 4689 input = &TagResourceInput{} 4690 } 4691 4692 output = &TagResourceOutput{} 4693 req = c.newRequest(op, input, output) 4694 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4695 return 4696} 4697 4698// TagResource API operation for Amazon EC2 Container Service. 4699// 4700// Associates the specified tags to a resource with the specified resourceArn. 4701// If existing tags on a resource are not specified in the request parameters, 4702// they are not changed. When a resource is deleted, the tags associated with 4703// that resource are deleted as well. 4704// 4705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4706// with awserr.Error's Code and Message methods to get detailed information about 4707// the error. 4708// 4709// See the AWS API reference guide for Amazon EC2 Container Service's 4710// API operation TagResource for usage and error information. 4711// 4712// Returned Error Types: 4713// * ServerException 4714// These errors are usually caused by a server issue. 4715// 4716// * ClientException 4717// These errors are usually caused by a client action, such as using an action 4718// or resource on behalf of a user that doesn't have permissions to use the 4719// action or resource, or specifying an identifier that is not valid. 4720// 4721// * ClusterNotFoundException 4722// The specified cluster could not be found. You can view your available clusters 4723// with ListClusters. Amazon ECS clusters are Region-specific. 4724// 4725// * ResourceNotFoundException 4726// The specified resource could not be found. 4727// 4728// * InvalidParameterException 4729// The specified parameter is invalid. Review the available parameters for the 4730// API request. 4731// 4732// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4733func (c *ECS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 4734 req, out := c.TagResourceRequest(input) 4735 return out, req.Send() 4736} 4737 4738// TagResourceWithContext is the same as TagResource with the addition of 4739// the ability to pass a context and additional request options. 4740// 4741// See TagResource for details on how to use this API operation. 4742// 4743// The context must be non-nil and will be used for request cancellation. If 4744// the context is nil a panic will occur. In the future the SDK may create 4745// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4746// for more information on using Contexts. 4747func (c *ECS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 4748 req, out := c.TagResourceRequest(input) 4749 req.SetContext(ctx) 4750 req.ApplyOptions(opts...) 4751 return out, req.Send() 4752} 4753 4754const opUntagResource = "UntagResource" 4755 4756// UntagResourceRequest generates a "aws/request.Request" representing the 4757// client's request for the UntagResource operation. The "output" return 4758// value will be populated with the request's response once the request completes 4759// successfully. 4760// 4761// Use "Send" method on the returned Request to send the API call to the service. 4762// the "output" return value is not valid until after Send returns without error. 4763// 4764// See UntagResource for more information on using the UntagResource 4765// API call, and error handling. 4766// 4767// This method is useful when you want to inject custom logic or configuration 4768// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4769// 4770// 4771// // Example sending a request using the UntagResourceRequest method. 4772// req, resp := client.UntagResourceRequest(params) 4773// 4774// err := req.Send() 4775// if err == nil { // resp is now filled 4776// fmt.Println(resp) 4777// } 4778// 4779// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4780func (c *ECS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 4781 op := &request.Operation{ 4782 Name: opUntagResource, 4783 HTTPMethod: "POST", 4784 HTTPPath: "/", 4785 } 4786 4787 if input == nil { 4788 input = &UntagResourceInput{} 4789 } 4790 4791 output = &UntagResourceOutput{} 4792 req = c.newRequest(op, input, output) 4793 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4794 return 4795} 4796 4797// UntagResource API operation for Amazon EC2 Container Service. 4798// 4799// Deletes specified tags from a resource. 4800// 4801// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4802// with awserr.Error's Code and Message methods to get detailed information about 4803// the error. 4804// 4805// See the AWS API reference guide for Amazon EC2 Container Service's 4806// API operation UntagResource for usage and error information. 4807// 4808// Returned Error Types: 4809// * ServerException 4810// These errors are usually caused by a server issue. 4811// 4812// * ClientException 4813// These errors are usually caused by a client action, such as using an action 4814// or resource on behalf of a user that doesn't have permissions to use the 4815// action or resource, or specifying an identifier that is not valid. 4816// 4817// * ClusterNotFoundException 4818// The specified cluster could not be found. You can view your available clusters 4819// with ListClusters. Amazon ECS clusters are Region-specific. 4820// 4821// * ResourceNotFoundException 4822// The specified resource could not be found. 4823// 4824// * InvalidParameterException 4825// The specified parameter is invalid. Review the available parameters for the 4826// API request. 4827// 4828// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4829func (c *ECS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 4830 req, out := c.UntagResourceRequest(input) 4831 return out, req.Send() 4832} 4833 4834// UntagResourceWithContext is the same as UntagResource with the addition of 4835// the ability to pass a context and additional request options. 4836// 4837// See UntagResource for details on how to use this API operation. 4838// 4839// The context must be non-nil and will be used for request cancellation. If 4840// the context is nil a panic will occur. In the future the SDK may create 4841// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4842// for more information on using Contexts. 4843func (c *ECS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 4844 req, out := c.UntagResourceRequest(input) 4845 req.SetContext(ctx) 4846 req.ApplyOptions(opts...) 4847 return out, req.Send() 4848} 4849 4850const opUpdateCapacityProvider = "UpdateCapacityProvider" 4851 4852// UpdateCapacityProviderRequest generates a "aws/request.Request" representing the 4853// client's request for the UpdateCapacityProvider operation. The "output" return 4854// value will be populated with the request's response once the request completes 4855// successfully. 4856// 4857// Use "Send" method on the returned Request to send the API call to the service. 4858// the "output" return value is not valid until after Send returns without error. 4859// 4860// See UpdateCapacityProvider for more information on using the UpdateCapacityProvider 4861// API call, and error handling. 4862// 4863// This method is useful when you want to inject custom logic or configuration 4864// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4865// 4866// 4867// // Example sending a request using the UpdateCapacityProviderRequest method. 4868// req, resp := client.UpdateCapacityProviderRequest(params) 4869// 4870// err := req.Send() 4871// if err == nil { // resp is now filled 4872// fmt.Println(resp) 4873// } 4874// 4875// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProvider 4876func (c *ECS) UpdateCapacityProviderRequest(input *UpdateCapacityProviderInput) (req *request.Request, output *UpdateCapacityProviderOutput) { 4877 op := &request.Operation{ 4878 Name: opUpdateCapacityProvider, 4879 HTTPMethod: "POST", 4880 HTTPPath: "/", 4881 } 4882 4883 if input == nil { 4884 input = &UpdateCapacityProviderInput{} 4885 } 4886 4887 output = &UpdateCapacityProviderOutput{} 4888 req = c.newRequest(op, input, output) 4889 return 4890} 4891 4892// UpdateCapacityProvider API operation for Amazon EC2 Container Service. 4893// 4894// Modifies the parameters for a capacity provider. 4895// 4896// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4897// with awserr.Error's Code and Message methods to get detailed information about 4898// the error. 4899// 4900// See the AWS API reference guide for Amazon EC2 Container Service's 4901// API operation UpdateCapacityProvider for usage and error information. 4902// 4903// Returned Error Types: 4904// * ServerException 4905// These errors are usually caused by a server issue. 4906// 4907// * ClientException 4908// These errors are usually caused by a client action, such as using an action 4909// or resource on behalf of a user that doesn't have permissions to use the 4910// action or resource, or specifying an identifier that is not valid. 4911// 4912// * InvalidParameterException 4913// The specified parameter is invalid. Review the available parameters for the 4914// API request. 4915// 4916// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProvider 4917func (c *ECS) UpdateCapacityProvider(input *UpdateCapacityProviderInput) (*UpdateCapacityProviderOutput, error) { 4918 req, out := c.UpdateCapacityProviderRequest(input) 4919 return out, req.Send() 4920} 4921 4922// UpdateCapacityProviderWithContext is the same as UpdateCapacityProvider with the addition of 4923// the ability to pass a context and additional request options. 4924// 4925// See UpdateCapacityProvider for details on how to use this API operation. 4926// 4927// The context must be non-nil and will be used for request cancellation. If 4928// the context is nil a panic will occur. In the future the SDK may create 4929// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4930// for more information on using Contexts. 4931func (c *ECS) UpdateCapacityProviderWithContext(ctx aws.Context, input *UpdateCapacityProviderInput, opts ...request.Option) (*UpdateCapacityProviderOutput, error) { 4932 req, out := c.UpdateCapacityProviderRequest(input) 4933 req.SetContext(ctx) 4934 req.ApplyOptions(opts...) 4935 return out, req.Send() 4936} 4937 4938const opUpdateClusterSettings = "UpdateClusterSettings" 4939 4940// UpdateClusterSettingsRequest generates a "aws/request.Request" representing the 4941// client's request for the UpdateClusterSettings operation. The "output" return 4942// value will be populated with the request's response once the request completes 4943// successfully. 4944// 4945// Use "Send" method on the returned Request to send the API call to the service. 4946// the "output" return value is not valid until after Send returns without error. 4947// 4948// See UpdateClusterSettings for more information on using the UpdateClusterSettings 4949// API call, and error handling. 4950// 4951// This method is useful when you want to inject custom logic or configuration 4952// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4953// 4954// 4955// // Example sending a request using the UpdateClusterSettingsRequest method. 4956// req, resp := client.UpdateClusterSettingsRequest(params) 4957// 4958// err := req.Send() 4959// if err == nil { // resp is now filled 4960// fmt.Println(resp) 4961// } 4962// 4963// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4964func (c *ECS) UpdateClusterSettingsRequest(input *UpdateClusterSettingsInput) (req *request.Request, output *UpdateClusterSettingsOutput) { 4965 op := &request.Operation{ 4966 Name: opUpdateClusterSettings, 4967 HTTPMethod: "POST", 4968 HTTPPath: "/", 4969 } 4970 4971 if input == nil { 4972 input = &UpdateClusterSettingsInput{} 4973 } 4974 4975 output = &UpdateClusterSettingsOutput{} 4976 req = c.newRequest(op, input, output) 4977 return 4978} 4979 4980// UpdateClusterSettings API operation for Amazon EC2 Container Service. 4981// 4982// Modifies the settings to use for a cluster. 4983// 4984// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4985// with awserr.Error's Code and Message methods to get detailed information about 4986// the error. 4987// 4988// See the AWS API reference guide for Amazon EC2 Container Service's 4989// API operation UpdateClusterSettings for usage and error information. 4990// 4991// Returned Error Types: 4992// * ServerException 4993// These errors are usually caused by a server issue. 4994// 4995// * ClientException 4996// These errors are usually caused by a client action, such as using an action 4997// or resource on behalf of a user that doesn't have permissions to use the 4998// action or resource, or specifying an identifier that is not valid. 4999// 5000// * ClusterNotFoundException 5001// The specified cluster could not be found. You can view your available clusters 5002// with ListClusters. Amazon ECS clusters are Region-specific. 5003// 5004// * InvalidParameterException 5005// The specified parameter is invalid. Review the available parameters for the 5006// API request. 5007// 5008// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 5009func (c *ECS) UpdateClusterSettings(input *UpdateClusterSettingsInput) (*UpdateClusterSettingsOutput, error) { 5010 req, out := c.UpdateClusterSettingsRequest(input) 5011 return out, req.Send() 5012} 5013 5014// UpdateClusterSettingsWithContext is the same as UpdateClusterSettings with the addition of 5015// the ability to pass a context and additional request options. 5016// 5017// See UpdateClusterSettings for details on how to use this API operation. 5018// 5019// The context must be non-nil and will be used for request cancellation. If 5020// the context is nil a panic will occur. In the future the SDK may create 5021// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5022// for more information on using Contexts. 5023func (c *ECS) UpdateClusterSettingsWithContext(ctx aws.Context, input *UpdateClusterSettingsInput, opts ...request.Option) (*UpdateClusterSettingsOutput, error) { 5024 req, out := c.UpdateClusterSettingsRequest(input) 5025 req.SetContext(ctx) 5026 req.ApplyOptions(opts...) 5027 return out, req.Send() 5028} 5029 5030const opUpdateContainerAgent = "UpdateContainerAgent" 5031 5032// UpdateContainerAgentRequest generates a "aws/request.Request" representing the 5033// client's request for the UpdateContainerAgent operation. The "output" return 5034// value will be populated with the request's response once the request completes 5035// successfully. 5036// 5037// Use "Send" method on the returned Request to send the API call to the service. 5038// the "output" return value is not valid until after Send returns without error. 5039// 5040// See UpdateContainerAgent for more information on using the UpdateContainerAgent 5041// API call, and error handling. 5042// 5043// This method is useful when you want to inject custom logic or configuration 5044// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5045// 5046// 5047// // Example sending a request using the UpdateContainerAgentRequest method. 5048// req, resp := client.UpdateContainerAgentRequest(params) 5049// 5050// err := req.Send() 5051// if err == nil { // resp is now filled 5052// fmt.Println(resp) 5053// } 5054// 5055// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 5056func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { 5057 op := &request.Operation{ 5058 Name: opUpdateContainerAgent, 5059 HTTPMethod: "POST", 5060 HTTPPath: "/", 5061 } 5062 5063 if input == nil { 5064 input = &UpdateContainerAgentInput{} 5065 } 5066 5067 output = &UpdateContainerAgentOutput{} 5068 req = c.newRequest(op, input, output) 5069 return 5070} 5071 5072// UpdateContainerAgent API operation for Amazon EC2 Container Service. 5073// 5074// Updates the Amazon ECS container agent on a specified container instance. 5075// Updating the Amazon ECS container agent does not interrupt running tasks 5076// or services on the container instance. The process for updating the agent 5077// differs depending on whether your container instance was launched with the 5078// Amazon ECS-optimized AMI or another operating system. 5079// 5080// UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux 5081// with the ecs-init service installed and running. For help updating the Amazon 5082// ECS container agent on other operating systems, see Manually Updating the 5083// Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) 5084// in the Amazon Elastic Container Service Developer Guide. 5085// 5086// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5087// with awserr.Error's Code and Message methods to get detailed information about 5088// the error. 5089// 5090// See the AWS API reference guide for Amazon EC2 Container Service's 5091// API operation UpdateContainerAgent for usage and error information. 5092// 5093// Returned Error Types: 5094// * ServerException 5095// These errors are usually caused by a server issue. 5096// 5097// * ClientException 5098// These errors are usually caused by a client action, such as using an action 5099// or resource on behalf of a user that doesn't have permissions to use the 5100// action or resource, or specifying an identifier that is not valid. 5101// 5102// * InvalidParameterException 5103// The specified parameter is invalid. Review the available parameters for the 5104// API request. 5105// 5106// * ClusterNotFoundException 5107// The specified cluster could not be found. You can view your available clusters 5108// with ListClusters. Amazon ECS clusters are Region-specific. 5109// 5110// * UpdateInProgressException 5111// There is already a current Amazon ECS container agent update in progress 5112// on the specified container instance. If the container agent becomes disconnected 5113// while it is in a transitional stage, such as PENDING or STAGING, the update 5114// process can get stuck in that state. However, when the agent reconnects, 5115// it resumes where it stopped previously. 5116// 5117// * NoUpdateAvailableException 5118// There is no update available for this Amazon ECS container agent. This could 5119// be because the agent is already running the latest version, or it is so old 5120// that there is no update path to the current version. 5121// 5122// * MissingVersionException 5123// Amazon ECS is unable to determine the current version of the Amazon ECS container 5124// agent on the container instance and does not have enough information to proceed 5125// with an update. This could be because the agent running on the container 5126// instance is an older or custom version that does not use our version information. 5127// 5128// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 5129func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { 5130 req, out := c.UpdateContainerAgentRequest(input) 5131 return out, req.Send() 5132} 5133 5134// UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of 5135// the ability to pass a context and additional request options. 5136// 5137// See UpdateContainerAgent for details on how to use this API operation. 5138// 5139// The context must be non-nil and will be used for request cancellation. If 5140// the context is nil a panic will occur. In the future the SDK may create 5141// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5142// for more information on using Contexts. 5143func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) { 5144 req, out := c.UpdateContainerAgentRequest(input) 5145 req.SetContext(ctx) 5146 req.ApplyOptions(opts...) 5147 return out, req.Send() 5148} 5149 5150const opUpdateContainerInstancesState = "UpdateContainerInstancesState" 5151 5152// UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the 5153// client's request for the UpdateContainerInstancesState operation. The "output" return 5154// value will be populated with the request's response once the request completes 5155// successfully. 5156// 5157// Use "Send" method on the returned Request to send the API call to the service. 5158// the "output" return value is not valid until after Send returns without error. 5159// 5160// See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState 5161// API call, and error handling. 5162// 5163// This method is useful when you want to inject custom logic or configuration 5164// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5165// 5166// 5167// // Example sending a request using the UpdateContainerInstancesStateRequest method. 5168// req, resp := client.UpdateContainerInstancesStateRequest(params) 5169// 5170// err := req.Send() 5171// if err == nil { // resp is now filled 5172// fmt.Println(resp) 5173// } 5174// 5175// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5176func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) { 5177 op := &request.Operation{ 5178 Name: opUpdateContainerInstancesState, 5179 HTTPMethod: "POST", 5180 HTTPPath: "/", 5181 } 5182 5183 if input == nil { 5184 input = &UpdateContainerInstancesStateInput{} 5185 } 5186 5187 output = &UpdateContainerInstancesStateOutput{} 5188 req = c.newRequest(op, input, output) 5189 return 5190} 5191 5192// UpdateContainerInstancesState API operation for Amazon EC2 Container Service. 5193// 5194// Modifies the status of an Amazon ECS container instance. 5195// 5196// Once a container instance has reached an ACTIVE state, you can change the 5197// status of a container instance to DRAINING to manually remove an instance 5198// from a cluster, for example to perform system updates, update the Docker 5199// daemon, or scale down the cluster size. 5200// 5201// A container instance cannot be changed to DRAINING until it has reached an 5202// ACTIVE status. If the instance is in any other status, an error will be received. 5203// 5204// When you set a container instance to DRAINING, Amazon ECS prevents new tasks 5205// from being scheduled for placement on the container instance and replacement 5206// service tasks are started on other container instances in the cluster if 5207// the resources are available. Service tasks on the container instance that 5208// are in the PENDING state are stopped immediately. 5209// 5210// Service tasks on the container instance that are in the RUNNING state are 5211// stopped and replaced according to the service's deployment configuration 5212// parameters, minimumHealthyPercent and maximumPercent. You can change the 5213// deployment configuration of your service using UpdateService. 5214// 5215// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5216// temporarily during task replacement. For example, desiredCount is four 5217// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5218// before starting two new tasks. If the minimum is 100%, the service scheduler 5219// can't remove existing tasks until the replacement tasks are considered 5220// healthy. Tasks for services that do not use a load balancer are considered 5221// healthy if they are in the RUNNING state. Tasks for services that use 5222// a load balancer are considered healthy if they are in the RUNNING state 5223// and the container instance they are hosted on is reported as healthy by 5224// the load balancer. 5225// 5226// * The maximumPercent parameter represents an upper limit on the number 5227// of running tasks during task replacement, which enables you to define 5228// the replacement batch size. For example, if desiredCount is four tasks, 5229// a maximum of 200% starts four new tasks before stopping the four tasks 5230// to be drained, provided that the cluster resources required to do this 5231// are available. If the maximum is 100%, then replacement tasks can't start 5232// until the draining tasks have stopped. 5233// 5234// Any PENDING or RUNNING tasks that do not belong to a service are not affected. 5235// You must wait for them to finish or stop them manually. 5236// 5237// A container instance has completed draining when it has no more RUNNING tasks. 5238// You can verify this using ListTasks. 5239// 5240// When a container instance has been drained, you can set a container instance 5241// to ACTIVE status and once it has reached that status the Amazon ECS scheduler 5242// can begin scheduling tasks on the instance again. 5243// 5244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5245// with awserr.Error's Code and Message methods to get detailed information about 5246// the error. 5247// 5248// See the AWS API reference guide for Amazon EC2 Container Service's 5249// API operation UpdateContainerInstancesState for usage and error information. 5250// 5251// Returned Error Types: 5252// * ServerException 5253// These errors are usually caused by a server issue. 5254// 5255// * ClientException 5256// These errors are usually caused by a client action, such as using an action 5257// or resource on behalf of a user that doesn't have permissions to use the 5258// action or resource, or specifying an identifier that is not valid. 5259// 5260// * InvalidParameterException 5261// The specified parameter is invalid. Review the available parameters for the 5262// API request. 5263// 5264// * ClusterNotFoundException 5265// The specified cluster could not be found. You can view your available clusters 5266// with ListClusters. Amazon ECS clusters are Region-specific. 5267// 5268// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5269func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) { 5270 req, out := c.UpdateContainerInstancesStateRequest(input) 5271 return out, req.Send() 5272} 5273 5274// UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of 5275// the ability to pass a context and additional request options. 5276// 5277// See UpdateContainerInstancesState for details on how to use this API operation. 5278// 5279// The context must be non-nil and will be used for request cancellation. If 5280// the context is nil a panic will occur. In the future the SDK may create 5281// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5282// for more information on using Contexts. 5283func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) { 5284 req, out := c.UpdateContainerInstancesStateRequest(input) 5285 req.SetContext(ctx) 5286 req.ApplyOptions(opts...) 5287 return out, req.Send() 5288} 5289 5290const opUpdateService = "UpdateService" 5291 5292// UpdateServiceRequest generates a "aws/request.Request" representing the 5293// client's request for the UpdateService operation. The "output" return 5294// value will be populated with the request's response once the request completes 5295// successfully. 5296// 5297// Use "Send" method on the returned Request to send the API call to the service. 5298// the "output" return value is not valid until after Send returns without error. 5299// 5300// See UpdateService for more information on using the UpdateService 5301// API call, and error handling. 5302// 5303// This method is useful when you want to inject custom logic or configuration 5304// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5305// 5306// 5307// // Example sending a request using the UpdateServiceRequest method. 5308// req, resp := client.UpdateServiceRequest(params) 5309// 5310// err := req.Send() 5311// if err == nil { // resp is now filled 5312// fmt.Println(resp) 5313// } 5314// 5315// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5316func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 5317 op := &request.Operation{ 5318 Name: opUpdateService, 5319 HTTPMethod: "POST", 5320 HTTPPath: "/", 5321 } 5322 5323 if input == nil { 5324 input = &UpdateServiceInput{} 5325 } 5326 5327 output = &UpdateServiceOutput{} 5328 req = c.newRequest(op, input, output) 5329 return 5330} 5331 5332// UpdateService API operation for Amazon EC2 Container Service. 5333// 5334// 5335// Updating the task placement strategies and constraints on an Amazon ECS service 5336// remains in preview and is a Beta Service as defined by and subject to the 5337// Beta Service Participation Service Terms located at https://aws.amazon.com/service-terms 5338// (https://aws.amazon.com/service-terms) ("Beta Terms"). These Beta Terms apply 5339// to your participation in this preview. 5340// 5341// Modifies the parameters of a service. 5342// 5343// For services using the rolling update (ECS) deployment controller, the desired 5344// count, deployment configuration, network configuration, task placement constraints 5345// and strategies, or task definition used can be updated. 5346// 5347// For services using the blue/green (CODE_DEPLOY) deployment controller, only 5348// the desired count, deployment configuration, task placement constraints and 5349// strategies, and health check grace period can be updated using this API. 5350// If the network configuration, platform version, or task definition need to 5351// be updated, a new AWS CodeDeploy deployment should be created. For more information, 5352// see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html) 5353// in the AWS CodeDeploy API Reference. 5354// 5355// For services using an external deployment controller, you can update only 5356// the desired count, task placement constraints and strategies, and health 5357// check grace period using this API. If the launch type, load balancer, network 5358// configuration, platform version, or task definition need to be updated, you 5359// should create a new task set. For more information, see CreateTaskSet. 5360// 5361// You can add to or subtract from the number of instantiations of a task definition 5362// in a service by specifying the cluster that the service is running in and 5363// a new desiredCount parameter. 5364// 5365// If you have updated the Docker image of your application, you can create 5366// a new task definition with that image and deploy it to your service. The 5367// service scheduler uses the minimum healthy percent and maximum percent parameters 5368// (in the service's deployment configuration) to determine the deployment strategy. 5369// 5370// If your updated Docker image uses the same tag as what is in the existing 5371// task definition for your service (for example, my_image:latest), you do not 5372// need to create a new revision of your task definition. You can update the 5373// service using the forceNewDeployment option. The new tasks launched by the 5374// deployment pull the current image/tag combination from your repository when 5375// they start. 5376// 5377// You can also update the deployment configuration of a service. When a deployment 5378// is triggered by updating the task definition of a service, the service scheduler 5379// uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, 5380// to determine the deployment strategy. 5381// 5382// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5383// temporarily during a deployment. For example, if desiredCount is four 5384// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5385// before starting two new tasks. Tasks for services that do not use a load 5386// balancer are considered healthy if they are in the RUNNING state. Tasks 5387// for services that use a load balancer are considered healthy if they are 5388// in the RUNNING state and the container instance they are hosted on is 5389// reported as healthy by the load balancer. 5390// 5391// * The maximumPercent parameter represents an upper limit on the number 5392// of running tasks during a deployment, which enables you to define the 5393// deployment batch size. For example, if desiredCount is four tasks, a maximum 5394// of 200% starts four new tasks before stopping the four older tasks (provided 5395// that the cluster resources required to do this are available). 5396// 5397// When UpdateService stops a task during a deployment, the equivalent of docker 5398// stop is issued to the containers running in the task. This results in a SIGTERM 5399// and a 30-second timeout, after which SIGKILL is sent and the containers are 5400// forcibly stopped. If the container handles the SIGTERM gracefully and exits 5401// within 30 seconds from receiving it, no SIGKILL is sent. 5402// 5403// When the service scheduler launches new tasks, it determines task placement 5404// in your cluster with the following logic: 5405// 5406// * Determine which of the container instances in your cluster can support 5407// your service's task definition (for example, they have the required CPU, 5408// memory, ports, and container instance attributes). 5409// 5410// * By default, the service scheduler attempts to balance tasks across Availability 5411// Zones in this manner (although you can choose a different placement strategy): 5412// Sort the valid container instances by the fewest number of running tasks 5413// for this service in the same Availability Zone as the instance. For example, 5414// if zone A has one running service task and zones B and C each have zero, 5415// valid container instances in either zone B or C are considered optimal 5416// for placement. Place the new service task on a valid container instance 5417// in an optimal Availability Zone (based on the previous steps), favoring 5418// container instances with the fewest number of running tasks for this service. 5419// 5420// When the service scheduler stops running tasks, it attempts to maintain balance 5421// across the Availability Zones in your cluster using the following logic: 5422// 5423// * Sort the container instances by the largest number of running tasks 5424// for this service in the same Availability Zone as the instance. For example, 5425// if zone A has one running service task and zones B and C each have two, 5426// container instances in either zone B or C are considered optimal for termination. 5427// 5428// * Stop the task on a container instance in an optimal Availability Zone 5429// (based on the previous steps), favoring container instances with the largest 5430// number of running tasks for this service. 5431// 5432// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5433// with awserr.Error's Code and Message methods to get detailed information about 5434// the error. 5435// 5436// See the AWS API reference guide for Amazon EC2 Container Service's 5437// API operation UpdateService for usage and error information. 5438// 5439// Returned Error Types: 5440// * ServerException 5441// These errors are usually caused by a server issue. 5442// 5443// * ClientException 5444// These errors are usually caused by a client action, such as using an action 5445// or resource on behalf of a user that doesn't have permissions to use the 5446// action or resource, or specifying an identifier that is not valid. 5447// 5448// * InvalidParameterException 5449// The specified parameter is invalid. Review the available parameters for the 5450// API request. 5451// 5452// * ClusterNotFoundException 5453// The specified cluster could not be found. You can view your available clusters 5454// with ListClusters. Amazon ECS clusters are Region-specific. 5455// 5456// * ServiceNotFoundException 5457// The specified service could not be found. You can view your available services 5458// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5459// 5460// * ServiceNotActiveException 5461// The specified service is not active. You can't update a service that is inactive. 5462// If you have previously deleted a service, you can re-create it with CreateService. 5463// 5464// * PlatformUnknownException 5465// The specified platform version does not exist. 5466// 5467// * PlatformTaskDefinitionIncompatibilityException 5468// The specified platform version does not satisfy the task definition's required 5469// capabilities. 5470// 5471// * AccessDeniedException 5472// You do not have authorization to perform the requested action. 5473// 5474// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5475func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 5476 req, out := c.UpdateServiceRequest(input) 5477 return out, req.Send() 5478} 5479 5480// UpdateServiceWithContext is the same as UpdateService with the addition of 5481// the ability to pass a context and additional request options. 5482// 5483// See UpdateService for details on how to use this API operation. 5484// 5485// The context must be non-nil and will be used for request cancellation. If 5486// the context is nil a panic will occur. In the future the SDK may create 5487// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5488// for more information on using Contexts. 5489func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 5490 req, out := c.UpdateServiceRequest(input) 5491 req.SetContext(ctx) 5492 req.ApplyOptions(opts...) 5493 return out, req.Send() 5494} 5495 5496const opUpdateServicePrimaryTaskSet = "UpdateServicePrimaryTaskSet" 5497 5498// UpdateServicePrimaryTaskSetRequest generates a "aws/request.Request" representing the 5499// client's request for the UpdateServicePrimaryTaskSet operation. The "output" return 5500// value will be populated with the request's response once the request completes 5501// successfully. 5502// 5503// Use "Send" method on the returned Request to send the API call to the service. 5504// the "output" return value is not valid until after Send returns without error. 5505// 5506// See UpdateServicePrimaryTaskSet for more information on using the UpdateServicePrimaryTaskSet 5507// API call, and error handling. 5508// 5509// This method is useful when you want to inject custom logic or configuration 5510// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5511// 5512// 5513// // Example sending a request using the UpdateServicePrimaryTaskSetRequest method. 5514// req, resp := client.UpdateServicePrimaryTaskSetRequest(params) 5515// 5516// err := req.Send() 5517// if err == nil { // resp is now filled 5518// fmt.Println(resp) 5519// } 5520// 5521// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5522func (c *ECS) UpdateServicePrimaryTaskSetRequest(input *UpdateServicePrimaryTaskSetInput) (req *request.Request, output *UpdateServicePrimaryTaskSetOutput) { 5523 op := &request.Operation{ 5524 Name: opUpdateServicePrimaryTaskSet, 5525 HTTPMethod: "POST", 5526 HTTPPath: "/", 5527 } 5528 5529 if input == nil { 5530 input = &UpdateServicePrimaryTaskSetInput{} 5531 } 5532 5533 output = &UpdateServicePrimaryTaskSetOutput{} 5534 req = c.newRequest(op, input, output) 5535 return 5536} 5537 5538// UpdateServicePrimaryTaskSet API operation for Amazon EC2 Container Service. 5539// 5540// Modifies which task set in a service is the primary task set. Any parameters 5541// that are updated on the primary task set in a service will transition to 5542// the service. This is used when a service uses the EXTERNAL deployment controller 5543// type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5544// in the Amazon Elastic Container Service Developer Guide. 5545// 5546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5547// with awserr.Error's Code and Message methods to get detailed information about 5548// the error. 5549// 5550// See the AWS API reference guide for Amazon EC2 Container Service's 5551// API operation UpdateServicePrimaryTaskSet for usage and error information. 5552// 5553// Returned Error Types: 5554// * ServerException 5555// These errors are usually caused by a server issue. 5556// 5557// * ClientException 5558// These errors are usually caused by a client action, such as using an action 5559// or resource on behalf of a user that doesn't have permissions to use the 5560// action or resource, or specifying an identifier that is not valid. 5561// 5562// * InvalidParameterException 5563// The specified parameter is invalid. Review the available parameters for the 5564// API request. 5565// 5566// * ClusterNotFoundException 5567// The specified cluster could not be found. You can view your available clusters 5568// with ListClusters. Amazon ECS clusters are Region-specific. 5569// 5570// * UnsupportedFeatureException 5571// The specified task is not supported in this Region. 5572// 5573// * ServiceNotFoundException 5574// The specified service could not be found. You can view your available services 5575// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5576// 5577// * ServiceNotActiveException 5578// The specified service is not active. You can't update a service that is inactive. 5579// If you have previously deleted a service, you can re-create it with CreateService. 5580// 5581// * TaskSetNotFoundException 5582// The specified task set could not be found. You can view your available task 5583// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5584// and Region. 5585// 5586// * AccessDeniedException 5587// You do not have authorization to perform the requested action. 5588// 5589// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5590func (c *ECS) UpdateServicePrimaryTaskSet(input *UpdateServicePrimaryTaskSetInput) (*UpdateServicePrimaryTaskSetOutput, error) { 5591 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5592 return out, req.Send() 5593} 5594 5595// UpdateServicePrimaryTaskSetWithContext is the same as UpdateServicePrimaryTaskSet with the addition of 5596// the ability to pass a context and additional request options. 5597// 5598// See UpdateServicePrimaryTaskSet for details on how to use this API operation. 5599// 5600// The context must be non-nil and will be used for request cancellation. If 5601// the context is nil a panic will occur. In the future the SDK may create 5602// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5603// for more information on using Contexts. 5604func (c *ECS) UpdateServicePrimaryTaskSetWithContext(ctx aws.Context, input *UpdateServicePrimaryTaskSetInput, opts ...request.Option) (*UpdateServicePrimaryTaskSetOutput, error) { 5605 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5606 req.SetContext(ctx) 5607 req.ApplyOptions(opts...) 5608 return out, req.Send() 5609} 5610 5611const opUpdateTaskSet = "UpdateTaskSet" 5612 5613// UpdateTaskSetRequest generates a "aws/request.Request" representing the 5614// client's request for the UpdateTaskSet operation. The "output" return 5615// value will be populated with the request's response once the request completes 5616// successfully. 5617// 5618// Use "Send" method on the returned Request to send the API call to the service. 5619// the "output" return value is not valid until after Send returns without error. 5620// 5621// See UpdateTaskSet for more information on using the UpdateTaskSet 5622// API call, and error handling. 5623// 5624// This method is useful when you want to inject custom logic or configuration 5625// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5626// 5627// 5628// // Example sending a request using the UpdateTaskSetRequest method. 5629// req, resp := client.UpdateTaskSetRequest(params) 5630// 5631// err := req.Send() 5632// if err == nil { // resp is now filled 5633// fmt.Println(resp) 5634// } 5635// 5636// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5637func (c *ECS) UpdateTaskSetRequest(input *UpdateTaskSetInput) (req *request.Request, output *UpdateTaskSetOutput) { 5638 op := &request.Operation{ 5639 Name: opUpdateTaskSet, 5640 HTTPMethod: "POST", 5641 HTTPPath: "/", 5642 } 5643 5644 if input == nil { 5645 input = &UpdateTaskSetInput{} 5646 } 5647 5648 output = &UpdateTaskSetOutput{} 5649 req = c.newRequest(op, input, output) 5650 return 5651} 5652 5653// UpdateTaskSet API operation for Amazon EC2 Container Service. 5654// 5655// Modifies a task set. This is used when a service uses the EXTERNAL deployment 5656// controller type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5657// in the Amazon Elastic Container Service Developer Guide. 5658// 5659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5660// with awserr.Error's Code and Message methods to get detailed information about 5661// the error. 5662// 5663// See the AWS API reference guide for Amazon EC2 Container Service's 5664// API operation UpdateTaskSet for usage and error information. 5665// 5666// Returned Error Types: 5667// * ServerException 5668// These errors are usually caused by a server issue. 5669// 5670// * ClientException 5671// These errors are usually caused by a client action, such as using an action 5672// or resource on behalf of a user that doesn't have permissions to use the 5673// action or resource, or specifying an identifier that is not valid. 5674// 5675// * InvalidParameterException 5676// The specified parameter is invalid. Review the available parameters for the 5677// API request. 5678// 5679// * ClusterNotFoundException 5680// The specified cluster could not be found. You can view your available clusters 5681// with ListClusters. Amazon ECS clusters are Region-specific. 5682// 5683// * UnsupportedFeatureException 5684// The specified task is not supported in this Region. 5685// 5686// * AccessDeniedException 5687// You do not have authorization to perform the requested action. 5688// 5689// * ServiceNotFoundException 5690// The specified service could not be found. You can view your available services 5691// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5692// 5693// * ServiceNotActiveException 5694// The specified service is not active. You can't update a service that is inactive. 5695// If you have previously deleted a service, you can re-create it with CreateService. 5696// 5697// * TaskSetNotFoundException 5698// The specified task set could not be found. You can view your available task 5699// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5700// and Region. 5701// 5702// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5703func (c *ECS) UpdateTaskSet(input *UpdateTaskSetInput) (*UpdateTaskSetOutput, error) { 5704 req, out := c.UpdateTaskSetRequest(input) 5705 return out, req.Send() 5706} 5707 5708// UpdateTaskSetWithContext is the same as UpdateTaskSet with the addition of 5709// the ability to pass a context and additional request options. 5710// 5711// See UpdateTaskSet for details on how to use this API operation. 5712// 5713// The context must be non-nil and will be used for request cancellation. If 5714// the context is nil a panic will occur. In the future the SDK may create 5715// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5716// for more information on using Contexts. 5717func (c *ECS) UpdateTaskSetWithContext(ctx aws.Context, input *UpdateTaskSetInput, opts ...request.Option) (*UpdateTaskSetOutput, error) { 5718 req, out := c.UpdateTaskSetRequest(input) 5719 req.SetContext(ctx) 5720 req.ApplyOptions(opts...) 5721 return out, req.Send() 5722} 5723 5724// You do not have authorization to perform the requested action. 5725type AccessDeniedException struct { 5726 _ struct{} `type:"structure"` 5727 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5728 5729 Message_ *string `locationName:"message" type:"string"` 5730} 5731 5732// String returns the string representation 5733func (s AccessDeniedException) String() string { 5734 return awsutil.Prettify(s) 5735} 5736 5737// GoString returns the string representation 5738func (s AccessDeniedException) GoString() string { 5739 return s.String() 5740} 5741 5742func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 5743 return &AccessDeniedException{ 5744 RespMetadata: v, 5745 } 5746} 5747 5748// Code returns the exception type name. 5749func (s *AccessDeniedException) Code() string { 5750 return "AccessDeniedException" 5751} 5752 5753// Message returns the exception's message. 5754func (s *AccessDeniedException) Message() string { 5755 if s.Message_ != nil { 5756 return *s.Message_ 5757 } 5758 return "" 5759} 5760 5761// OrigErr always returns nil, satisfies awserr.Error interface. 5762func (s *AccessDeniedException) OrigErr() error { 5763 return nil 5764} 5765 5766func (s *AccessDeniedException) Error() string { 5767 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5768} 5769 5770// Status code returns the HTTP status code for the request's response error. 5771func (s *AccessDeniedException) StatusCode() int { 5772 return s.RespMetadata.StatusCode 5773} 5774 5775// RequestID returns the service's response RequestID for request. 5776func (s *AccessDeniedException) RequestID() string { 5777 return s.RespMetadata.RequestID 5778} 5779 5780// An object representing a container instance or task attachment. 5781type Attachment struct { 5782 _ struct{} `type:"structure"` 5783 5784 // Details of the attachment. For elastic network interfaces, this includes 5785 // the network interface ID, the MAC address, the subnet ID, and the private 5786 // IPv4 address. 5787 Details []*KeyValuePair `locationName:"details" type:"list"` 5788 5789 // The unique identifier for the attachment. 5790 Id *string `locationName:"id" type:"string"` 5791 5792 // The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, 5793 // ATTACHED, DETACHING, DETACHED, and DELETED. 5794 Status *string `locationName:"status" type:"string"` 5795 5796 // The type of the attachment, such as ElasticNetworkInterface. 5797 Type *string `locationName:"type" type:"string"` 5798} 5799 5800// String returns the string representation 5801func (s Attachment) String() string { 5802 return awsutil.Prettify(s) 5803} 5804 5805// GoString returns the string representation 5806func (s Attachment) GoString() string { 5807 return s.String() 5808} 5809 5810// SetDetails sets the Details field's value. 5811func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment { 5812 s.Details = v 5813 return s 5814} 5815 5816// SetId sets the Id field's value. 5817func (s *Attachment) SetId(v string) *Attachment { 5818 s.Id = &v 5819 return s 5820} 5821 5822// SetStatus sets the Status field's value. 5823func (s *Attachment) SetStatus(v string) *Attachment { 5824 s.Status = &v 5825 return s 5826} 5827 5828// SetType sets the Type field's value. 5829func (s *Attachment) SetType(v string) *Attachment { 5830 s.Type = &v 5831 return s 5832} 5833 5834// An object representing a change in state for a task attachment. 5835type AttachmentStateChange struct { 5836 _ struct{} `type:"structure"` 5837 5838 // The Amazon Resource Name (ARN) of the attachment. 5839 // 5840 // AttachmentArn is a required field 5841 AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"` 5842 5843 // The status of the attachment. 5844 // 5845 // Status is a required field 5846 Status *string `locationName:"status" type:"string" required:"true"` 5847} 5848 5849// String returns the string representation 5850func (s AttachmentStateChange) String() string { 5851 return awsutil.Prettify(s) 5852} 5853 5854// GoString returns the string representation 5855func (s AttachmentStateChange) GoString() string { 5856 return s.String() 5857} 5858 5859// Validate inspects the fields of the type to determine if they are valid. 5860func (s *AttachmentStateChange) Validate() error { 5861 invalidParams := request.ErrInvalidParams{Context: "AttachmentStateChange"} 5862 if s.AttachmentArn == nil { 5863 invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) 5864 } 5865 if s.Status == nil { 5866 invalidParams.Add(request.NewErrParamRequired("Status")) 5867 } 5868 5869 if invalidParams.Len() > 0 { 5870 return invalidParams 5871 } 5872 return nil 5873} 5874 5875// SetAttachmentArn sets the AttachmentArn field's value. 5876func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange { 5877 s.AttachmentArn = &v 5878 return s 5879} 5880 5881// SetStatus sets the Status field's value. 5882func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange { 5883 s.Status = &v 5884 return s 5885} 5886 5887// An attribute is a name-value pair associated with an Amazon ECS object. Attributes 5888// enable you to extend the Amazon ECS data model by adding custom metadata 5889// to your resources. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 5890// in the Amazon Elastic Container Service Developer Guide. 5891type Attribute struct { 5892 _ struct{} `type:"structure"` 5893 5894 // The name of the attribute. The name must contain between 1 and 128 characters 5895 // and name may contain letters (uppercase and lowercase), numbers, hyphens, 5896 // underscores, forward slashes, back slashes, or periods. 5897 // 5898 // Name is a required field 5899 Name *string `locationName:"name" type:"string" required:"true"` 5900 5901 // The ID of the target. You can specify the short form ID for a resource or 5902 // the full Amazon Resource Name (ARN). 5903 TargetId *string `locationName:"targetId" type:"string"` 5904 5905 // The type of the target with which to attach the attribute. This parameter 5906 // is required if you use the short form ID for a resource instead of the full 5907 // ARN. 5908 TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` 5909 5910 // The value of the attribute. The value must contain between 1 and 128 characters 5911 // and may contain letters (uppercase and lowercase), numbers, hyphens, underscores, 5912 // periods, at signs (@), forward slashes, back slashes, colons, or spaces. 5913 // The value cannot contain any leading or trailing whitespace. 5914 Value *string `locationName:"value" type:"string"` 5915} 5916 5917// String returns the string representation 5918func (s Attribute) String() string { 5919 return awsutil.Prettify(s) 5920} 5921 5922// GoString returns the string representation 5923func (s Attribute) GoString() string { 5924 return s.String() 5925} 5926 5927// Validate inspects the fields of the type to determine if they are valid. 5928func (s *Attribute) Validate() error { 5929 invalidParams := request.ErrInvalidParams{Context: "Attribute"} 5930 if s.Name == nil { 5931 invalidParams.Add(request.NewErrParamRequired("Name")) 5932 } 5933 5934 if invalidParams.Len() > 0 { 5935 return invalidParams 5936 } 5937 return nil 5938} 5939 5940// SetName sets the Name field's value. 5941func (s *Attribute) SetName(v string) *Attribute { 5942 s.Name = &v 5943 return s 5944} 5945 5946// SetTargetId sets the TargetId field's value. 5947func (s *Attribute) SetTargetId(v string) *Attribute { 5948 s.TargetId = &v 5949 return s 5950} 5951 5952// SetTargetType sets the TargetType field's value. 5953func (s *Attribute) SetTargetType(v string) *Attribute { 5954 s.TargetType = &v 5955 return s 5956} 5957 5958// SetValue sets the Value field's value. 5959func (s *Attribute) SetValue(v string) *Attribute { 5960 s.Value = &v 5961 return s 5962} 5963 5964// You can apply up to 10 custom attributes per resource. You can view the attributes 5965// of a resource with ListAttributes. You can remove existing attributes on 5966// a resource with DeleteAttributes. 5967type AttributeLimitExceededException struct { 5968 _ struct{} `type:"structure"` 5969 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5970 5971 Message_ *string `locationName:"message" type:"string"` 5972} 5973 5974// String returns the string representation 5975func (s AttributeLimitExceededException) String() string { 5976 return awsutil.Prettify(s) 5977} 5978 5979// GoString returns the string representation 5980func (s AttributeLimitExceededException) GoString() string { 5981 return s.String() 5982} 5983 5984func newErrorAttributeLimitExceededException(v protocol.ResponseMetadata) error { 5985 return &AttributeLimitExceededException{ 5986 RespMetadata: v, 5987 } 5988} 5989 5990// Code returns the exception type name. 5991func (s *AttributeLimitExceededException) Code() string { 5992 return "AttributeLimitExceededException" 5993} 5994 5995// Message returns the exception's message. 5996func (s *AttributeLimitExceededException) Message() string { 5997 if s.Message_ != nil { 5998 return *s.Message_ 5999 } 6000 return "" 6001} 6002 6003// OrigErr always returns nil, satisfies awserr.Error interface. 6004func (s *AttributeLimitExceededException) OrigErr() error { 6005 return nil 6006} 6007 6008func (s *AttributeLimitExceededException) Error() string { 6009 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6010} 6011 6012// Status code returns the HTTP status code for the request's response error. 6013func (s *AttributeLimitExceededException) StatusCode() int { 6014 return s.RespMetadata.StatusCode 6015} 6016 6017// RequestID returns the service's response RequestID for request. 6018func (s *AttributeLimitExceededException) RequestID() string { 6019 return s.RespMetadata.RequestID 6020} 6021 6022// The details of the Auto Scaling group for the capacity provider. 6023type AutoScalingGroupProvider struct { 6024 _ struct{} `type:"structure"` 6025 6026 // The Amazon Resource Name (ARN) that identifies the Auto Scaling group. 6027 // 6028 // AutoScalingGroupArn is a required field 6029 AutoScalingGroupArn *string `locationName:"autoScalingGroupArn" type:"string" required:"true"` 6030 6031 // The managed scaling settings for the Auto Scaling group capacity provider. 6032 ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` 6033 6034 // The managed termination protection setting to use for the Auto Scaling group 6035 // capacity provider. This determines whether the Auto Scaling group has managed 6036 // termination protection. 6037 // 6038 // When using managed termination protection, managed scaling must also be used 6039 // otherwise managed termination protection will not work. 6040 // 6041 // When managed termination protection is enabled, Amazon ECS prevents the Amazon 6042 // EC2 instances in an Auto Scaling group that contain tasks from being terminated 6043 // during a scale-in action. The Auto Scaling group and each instance in the 6044 // Auto Scaling group must have instance protection from scale-in actions enabled 6045 // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 6046 // in the AWS Auto Scaling User Guide. 6047 // 6048 // When managed termination protection is disabled, your Amazon EC2 instances 6049 // are not protected from termination when the Auto Scaling group scales in. 6050 ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` 6051} 6052 6053// String returns the string representation 6054func (s AutoScalingGroupProvider) String() string { 6055 return awsutil.Prettify(s) 6056} 6057 6058// GoString returns the string representation 6059func (s AutoScalingGroupProvider) GoString() string { 6060 return s.String() 6061} 6062 6063// Validate inspects the fields of the type to determine if they are valid. 6064func (s *AutoScalingGroupProvider) Validate() error { 6065 invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProvider"} 6066 if s.AutoScalingGroupArn == nil { 6067 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupArn")) 6068 } 6069 if s.ManagedScaling != nil { 6070 if err := s.ManagedScaling.Validate(); err != nil { 6071 invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) 6072 } 6073 } 6074 6075 if invalidParams.Len() > 0 { 6076 return invalidParams 6077 } 6078 return nil 6079} 6080 6081// SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value. 6082func (s *AutoScalingGroupProvider) SetAutoScalingGroupArn(v string) *AutoScalingGroupProvider { 6083 s.AutoScalingGroupArn = &v 6084 return s 6085} 6086 6087// SetManagedScaling sets the ManagedScaling field's value. 6088func (s *AutoScalingGroupProvider) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProvider { 6089 s.ManagedScaling = v 6090 return s 6091} 6092 6093// SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. 6094func (s *AutoScalingGroupProvider) SetManagedTerminationProtection(v string) *AutoScalingGroupProvider { 6095 s.ManagedTerminationProtection = &v 6096 return s 6097} 6098 6099// The details of the Auto Scaling group capacity provider to update. 6100type AutoScalingGroupProviderUpdate struct { 6101 _ struct{} `type:"structure"` 6102 6103 // The managed scaling settings for the Auto Scaling group capacity provider. 6104 // 6105 // When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out 6106 // actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling 6107 // policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity 6108 // value as the target value for the metric. For more information, see Using 6109 // Managed Scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) 6110 // in the Amazon Elastic Container Service Developer Guide. 6111 // 6112 // If managed scaling is disabled, the user must manage the scaling of the Auto 6113 // Scaling group. 6114 ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` 6115 6116 // The managed termination protection setting to use for the Auto Scaling group 6117 // capacity provider. This determines whether the Auto Scaling group has managed 6118 // termination protection. 6119 // 6120 // When using managed termination protection, managed scaling must also be used 6121 // otherwise managed termination protection will not work. 6122 // 6123 // When managed termination protection is enabled, Amazon ECS prevents the Amazon 6124 // EC2 instances in an Auto Scaling group that contain tasks from being terminated 6125 // during a scale-in action. The Auto Scaling group and each instance in the 6126 // Auto Scaling group must have instance protection from scale-in actions enabled 6127 // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 6128 // in the AWS Auto Scaling User Guide. 6129 // 6130 // When managed termination protection is disabled, your Amazon EC2 instances 6131 // are not protected from termination when the Auto Scaling group scales in. 6132 ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` 6133} 6134 6135// String returns the string representation 6136func (s AutoScalingGroupProviderUpdate) String() string { 6137 return awsutil.Prettify(s) 6138} 6139 6140// GoString returns the string representation 6141func (s AutoScalingGroupProviderUpdate) GoString() string { 6142 return s.String() 6143} 6144 6145// Validate inspects the fields of the type to determine if they are valid. 6146func (s *AutoScalingGroupProviderUpdate) Validate() error { 6147 invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProviderUpdate"} 6148 if s.ManagedScaling != nil { 6149 if err := s.ManagedScaling.Validate(); err != nil { 6150 invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) 6151 } 6152 } 6153 6154 if invalidParams.Len() > 0 { 6155 return invalidParams 6156 } 6157 return nil 6158} 6159 6160// SetManagedScaling sets the ManagedScaling field's value. 6161func (s *AutoScalingGroupProviderUpdate) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProviderUpdate { 6162 s.ManagedScaling = v 6163 return s 6164} 6165 6166// SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. 6167func (s *AutoScalingGroupProviderUpdate) SetManagedTerminationProtection(v string) *AutoScalingGroupProviderUpdate { 6168 s.ManagedTerminationProtection = &v 6169 return s 6170} 6171 6172// An object representing the networking details for a task or service. 6173type AwsVpcConfiguration struct { 6174 _ struct{} `type:"structure"` 6175 6176 // Whether the task's elastic network interface receives a public IP address. 6177 // The default value is DISABLED. 6178 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 6179 6180 // The IDs of the security groups associated with the task or service. If you 6181 // do not specify a security group, the default security group for the VPC is 6182 // used. There is a limit of 5 security groups that can be specified per AwsVpcConfiguration. 6183 // 6184 // All specified security groups must be from the same VPC. 6185 SecurityGroups []*string `locationName:"securityGroups" type:"list"` 6186 6187 // The IDs of the subnets associated with the task or service. There is a limit 6188 // of 16 subnets that can be specified per AwsVpcConfiguration. 6189 // 6190 // All specified subnets must be from the same VPC. 6191 // 6192 // Subnets is a required field 6193 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 6194} 6195 6196// String returns the string representation 6197func (s AwsVpcConfiguration) String() string { 6198 return awsutil.Prettify(s) 6199} 6200 6201// GoString returns the string representation 6202func (s AwsVpcConfiguration) GoString() string { 6203 return s.String() 6204} 6205 6206// Validate inspects the fields of the type to determine if they are valid. 6207func (s *AwsVpcConfiguration) Validate() error { 6208 invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"} 6209 if s.Subnets == nil { 6210 invalidParams.Add(request.NewErrParamRequired("Subnets")) 6211 } 6212 6213 if invalidParams.Len() > 0 { 6214 return invalidParams 6215 } 6216 return nil 6217} 6218 6219// SetAssignPublicIp sets the AssignPublicIp field's value. 6220func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration { 6221 s.AssignPublicIp = &v 6222 return s 6223} 6224 6225// SetSecurityGroups sets the SecurityGroups field's value. 6226func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration { 6227 s.SecurityGroups = v 6228 return s 6229} 6230 6231// SetSubnets sets the Subnets field's value. 6232func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration { 6233 s.Subnets = v 6234 return s 6235} 6236 6237// Your AWS account has been blocked. For more information, contact AWS Support 6238// (http://aws.amazon.com/contact-us/). 6239type BlockedException struct { 6240 _ struct{} `type:"structure"` 6241 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6242 6243 Message_ *string `locationName:"message" type:"string"` 6244} 6245 6246// String returns the string representation 6247func (s BlockedException) String() string { 6248 return awsutil.Prettify(s) 6249} 6250 6251// GoString returns the string representation 6252func (s BlockedException) GoString() string { 6253 return s.String() 6254} 6255 6256func newErrorBlockedException(v protocol.ResponseMetadata) error { 6257 return &BlockedException{ 6258 RespMetadata: v, 6259 } 6260} 6261 6262// Code returns the exception type name. 6263func (s *BlockedException) Code() string { 6264 return "BlockedException" 6265} 6266 6267// Message returns the exception's message. 6268func (s *BlockedException) Message() string { 6269 if s.Message_ != nil { 6270 return *s.Message_ 6271 } 6272 return "" 6273} 6274 6275// OrigErr always returns nil, satisfies awserr.Error interface. 6276func (s *BlockedException) OrigErr() error { 6277 return nil 6278} 6279 6280func (s *BlockedException) Error() string { 6281 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6282} 6283 6284// Status code returns the HTTP status code for the request's response error. 6285func (s *BlockedException) StatusCode() int { 6286 return s.RespMetadata.StatusCode 6287} 6288 6289// RequestID returns the service's response RequestID for request. 6290func (s *BlockedException) RequestID() string { 6291 return s.RespMetadata.RequestID 6292} 6293 6294// The details of a capacity provider. 6295type CapacityProvider struct { 6296 _ struct{} `type:"structure"` 6297 6298 // The Auto Scaling group settings for the capacity provider. 6299 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure"` 6300 6301 // The Amazon Resource Name (ARN) that identifies the capacity provider. 6302 CapacityProviderArn *string `locationName:"capacityProviderArn" type:"string"` 6303 6304 // The name of the capacity provider. 6305 Name *string `locationName:"name" type:"string"` 6306 6307 // The current status of the capacity provider. Only capacity providers in an 6308 // ACTIVE state can be used in a cluster. When a capacity provider is successfully 6309 // deleted, it will have an INACTIVE status. 6310 Status *string `locationName:"status" type:"string" enum:"CapacityProviderStatus"` 6311 6312 // The metadata that you apply to the capacity provider to help you categorize 6313 // and organize it. Each tag consists of a key and an optional value, both of 6314 // which you define. 6315 // 6316 // The following basic restrictions apply to tags: 6317 // 6318 // * Maximum number of tags per resource - 50 6319 // 6320 // * For each resource, each tag key must be unique, and each tag key can 6321 // have only one value. 6322 // 6323 // * Maximum key length - 128 Unicode characters in UTF-8 6324 // 6325 // * Maximum value length - 256 Unicode characters in UTF-8 6326 // 6327 // * If your tagging schema is used across multiple services and resources, 6328 // remember that other services may have restrictions on allowed characters. 6329 // Generally allowed characters are: letters, numbers, and spaces representable 6330 // in UTF-8, and the following characters: + - = . _ : / @. 6331 // 6332 // * Tag keys and values are case-sensitive. 6333 // 6334 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6335 // as a prefix for either keys or values as it is reserved for AWS use. You 6336 // cannot edit or delete tag keys or values with this prefix. Tags with this 6337 // prefix do not count against your tags per resource limit. 6338 Tags []*Tag `locationName:"tags" type:"list"` 6339 6340 // The update status of the capacity provider. The following are the possible 6341 // states that will be returned. 6342 // 6343 // DELETE_IN_PROGRESS 6344 // 6345 // The capacity provider is in the process of being deleted. 6346 // 6347 // DELETE_COMPLETE 6348 // 6349 // The capacity provider has been successfully deleted and will have an INACTIVE 6350 // status. 6351 // 6352 // DELETE_FAILED 6353 // 6354 // The capacity provider was unable to be deleted. The update status reason 6355 // will provide further details about why the delete failed. 6356 UpdateStatus *string `locationName:"updateStatus" type:"string" enum:"CapacityProviderUpdateStatus"` 6357 6358 // The update status reason. This provides further details about the update 6359 // status for the capacity provider. 6360 UpdateStatusReason *string `locationName:"updateStatusReason" type:"string"` 6361} 6362 6363// String returns the string representation 6364func (s CapacityProvider) String() string { 6365 return awsutil.Prettify(s) 6366} 6367 6368// GoString returns the string representation 6369func (s CapacityProvider) GoString() string { 6370 return s.String() 6371} 6372 6373// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 6374func (s *CapacityProvider) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CapacityProvider { 6375 s.AutoScalingGroupProvider = v 6376 return s 6377} 6378 6379// SetCapacityProviderArn sets the CapacityProviderArn field's value. 6380func (s *CapacityProvider) SetCapacityProviderArn(v string) *CapacityProvider { 6381 s.CapacityProviderArn = &v 6382 return s 6383} 6384 6385// SetName sets the Name field's value. 6386func (s *CapacityProvider) SetName(v string) *CapacityProvider { 6387 s.Name = &v 6388 return s 6389} 6390 6391// SetStatus sets the Status field's value. 6392func (s *CapacityProvider) SetStatus(v string) *CapacityProvider { 6393 s.Status = &v 6394 return s 6395} 6396 6397// SetTags sets the Tags field's value. 6398func (s *CapacityProvider) SetTags(v []*Tag) *CapacityProvider { 6399 s.Tags = v 6400 return s 6401} 6402 6403// SetUpdateStatus sets the UpdateStatus field's value. 6404func (s *CapacityProvider) SetUpdateStatus(v string) *CapacityProvider { 6405 s.UpdateStatus = &v 6406 return s 6407} 6408 6409// SetUpdateStatusReason sets the UpdateStatusReason field's value. 6410func (s *CapacityProvider) SetUpdateStatusReason(v string) *CapacityProvider { 6411 s.UpdateStatusReason = &v 6412 return s 6413} 6414 6415// The details of a capacity provider strategy. 6416type CapacityProviderStrategyItem struct { 6417 _ struct{} `type:"structure"` 6418 6419 // The base value designates how many tasks, at a minimum, to run on the specified 6420 // capacity provider. Only one capacity provider in a capacity provider strategy 6421 // can have a base defined. 6422 Base *int64 `locationName:"base" type:"integer"` 6423 6424 // The short name of the capacity provider. 6425 // 6426 // CapacityProvider is a required field 6427 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 6428 6429 // The weight value designates the relative percentage of the total number of 6430 // tasks launched that should use the specified capacity provider. 6431 // 6432 // For example, if you have a strategy that contains two capacity providers 6433 // and both have a weight of 1, then when the base is satisfied, the tasks will 6434 // be split evenly across the two capacity providers. Using that same logic, 6435 // if you specify a weight of 1 for capacityProviderA and a weight of 4 for 6436 // capacityProviderB, then for every one task that is run using capacityProviderA, 6437 // four tasks would use capacityProviderB. 6438 Weight *int64 `locationName:"weight" type:"integer"` 6439} 6440 6441// String returns the string representation 6442func (s CapacityProviderStrategyItem) String() string { 6443 return awsutil.Prettify(s) 6444} 6445 6446// GoString returns the string representation 6447func (s CapacityProviderStrategyItem) GoString() string { 6448 return s.String() 6449} 6450 6451// Validate inspects the fields of the type to determine if they are valid. 6452func (s *CapacityProviderStrategyItem) Validate() error { 6453 invalidParams := request.ErrInvalidParams{Context: "CapacityProviderStrategyItem"} 6454 if s.CapacityProvider == nil { 6455 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 6456 } 6457 6458 if invalidParams.Len() > 0 { 6459 return invalidParams 6460 } 6461 return nil 6462} 6463 6464// SetBase sets the Base field's value. 6465func (s *CapacityProviderStrategyItem) SetBase(v int64) *CapacityProviderStrategyItem { 6466 s.Base = &v 6467 return s 6468} 6469 6470// SetCapacityProvider sets the CapacityProvider field's value. 6471func (s *CapacityProviderStrategyItem) SetCapacityProvider(v string) *CapacityProviderStrategyItem { 6472 s.CapacityProvider = &v 6473 return s 6474} 6475 6476// SetWeight sets the Weight field's value. 6477func (s *CapacityProviderStrategyItem) SetWeight(v int64) *CapacityProviderStrategyItem { 6478 s.Weight = &v 6479 return s 6480} 6481 6482// These errors are usually caused by a client action, such as using an action 6483// or resource on behalf of a user that doesn't have permissions to use the 6484// action or resource, or specifying an identifier that is not valid. 6485type ClientException struct { 6486 _ struct{} `type:"structure"` 6487 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6488 6489 Message_ *string `locationName:"message" type:"string"` 6490} 6491 6492// String returns the string representation 6493func (s ClientException) String() string { 6494 return awsutil.Prettify(s) 6495} 6496 6497// GoString returns the string representation 6498func (s ClientException) GoString() string { 6499 return s.String() 6500} 6501 6502func newErrorClientException(v protocol.ResponseMetadata) error { 6503 return &ClientException{ 6504 RespMetadata: v, 6505 } 6506} 6507 6508// Code returns the exception type name. 6509func (s *ClientException) Code() string { 6510 return "ClientException" 6511} 6512 6513// Message returns the exception's message. 6514func (s *ClientException) Message() string { 6515 if s.Message_ != nil { 6516 return *s.Message_ 6517 } 6518 return "" 6519} 6520 6521// OrigErr always returns nil, satisfies awserr.Error interface. 6522func (s *ClientException) OrigErr() error { 6523 return nil 6524} 6525 6526func (s *ClientException) Error() string { 6527 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6528} 6529 6530// Status code returns the HTTP status code for the request's response error. 6531func (s *ClientException) StatusCode() int { 6532 return s.RespMetadata.StatusCode 6533} 6534 6535// RequestID returns the service's response RequestID for request. 6536func (s *ClientException) RequestID() string { 6537 return s.RespMetadata.RequestID 6538} 6539 6540// A regional grouping of one or more container instances on which you can run 6541// task requests. Each account receives a default cluster the first time you 6542// use the Amazon ECS service, but you may also create other clusters. Clusters 6543// may contain more than one instance type simultaneously. 6544type Cluster struct { 6545 _ struct{} `type:"structure"` 6546 6547 // The number of services that are running on the cluster in an ACTIVE state. 6548 // You can view these services with ListServices. 6549 ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` 6550 6551 // The resources attached to a cluster. When using a capacity provider with 6552 // a cluster, the Auto Scaling plan that is created will be returned as a cluster 6553 // attachment. 6554 Attachments []*Attachment `locationName:"attachments" type:"list"` 6555 6556 // The status of the capacity providers associated with the cluster. The following 6557 // are the states that will be returned: 6558 // 6559 // UPDATE_IN_PROGRESS 6560 // 6561 // The available capacity providers for the cluster are updating. This occurs 6562 // when the Auto Scaling plan is provisioning or deprovisioning. 6563 // 6564 // UPDATE_COMPLETE 6565 // 6566 // The capacity providers have successfully updated. 6567 // 6568 // UPDATE_FAILED 6569 // 6570 // The capacity provider updates failed. 6571 AttachmentsStatus *string `locationName:"attachmentsStatus" type:"string"` 6572 6573 // The capacity providers associated with the cluster. 6574 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 6575 6576 // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains 6577 // the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS 6578 // account ID of the cluster owner, the cluster namespace, and then the cluster 6579 // name. For example, arn:aws:ecs:region:012345678910:cluster/test. 6580 ClusterArn *string `locationName:"clusterArn" type:"string"` 6581 6582 // A user-generated string that you use to identify your cluster. 6583 ClusterName *string `locationName:"clusterName" type:"string"` 6584 6585 // The default capacity provider strategy for the cluster. When services or 6586 // tasks are run in the cluster with no launch type or capacity provider strategy 6587 // specified, the default capacity provider strategy is used. 6588 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 6589 6590 // The number of tasks in the cluster that are in the PENDING state. 6591 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 6592 6593 // The number of container instances registered into the cluster. This includes 6594 // container instances in both ACTIVE and DRAINING status. 6595 RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` 6596 6597 // The number of tasks in the cluster that are in the RUNNING state. 6598 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 6599 6600 // The settings for the cluster. This parameter indicates whether CloudWatch 6601 // Container Insights is enabled or disabled for a cluster. 6602 Settings []*ClusterSetting `locationName:"settings" type:"list"` 6603 6604 // Additional information about your clusters that are separated by launch type, 6605 // including: 6606 // 6607 // * runningEC2TasksCount 6608 // 6609 // * RunningFargateTasksCount 6610 // 6611 // * pendingEC2TasksCount 6612 // 6613 // * pendingFargateTasksCount 6614 // 6615 // * activeEC2ServiceCount 6616 // 6617 // * activeFargateServiceCount 6618 // 6619 // * drainingEC2ServiceCount 6620 // 6621 // * drainingFargateServiceCount 6622 Statistics []*KeyValuePair `locationName:"statistics" type:"list"` 6623 6624 // The status of the cluster. The following are the possible states that will 6625 // be returned. 6626 // 6627 // ACTIVE 6628 // 6629 // The cluster is ready to accept tasks and if applicable you can register container 6630 // instances with the cluster. 6631 // 6632 // PROVISIONING 6633 // 6634 // The cluster has capacity providers associated with it and the resources needed 6635 // for the capacity provider are being created. 6636 // 6637 // DEPROVISIONING 6638 // 6639 // The cluster has capacity providers associated with it and the resources needed 6640 // for the capacity provider are being deleted. 6641 // 6642 // FAILED 6643 // 6644 // The cluster has capacity providers associated with it and the resources needed 6645 // for the capacity provider have failed to create. 6646 // 6647 // INACTIVE 6648 // 6649 // The cluster has been deleted. Clusters with an INACTIVE status may remain 6650 // discoverable in your account for a period of time. However, this behavior 6651 // is subject to change in the future, so you should not rely on INACTIVE clusters 6652 // persisting. 6653 Status *string `locationName:"status" type:"string"` 6654 6655 // The metadata that you apply to the cluster to help you categorize and organize 6656 // them. Each tag consists of a key and an optional value, both of which you 6657 // define. 6658 // 6659 // The following basic restrictions apply to tags: 6660 // 6661 // * Maximum number of tags per resource - 50 6662 // 6663 // * For each resource, each tag key must be unique, and each tag key can 6664 // have only one value. 6665 // 6666 // * Maximum key length - 128 Unicode characters in UTF-8 6667 // 6668 // * Maximum value length - 256 Unicode characters in UTF-8 6669 // 6670 // * If your tagging schema is used across multiple services and resources, 6671 // remember that other services may have restrictions on allowed characters. 6672 // Generally allowed characters are: letters, numbers, and spaces representable 6673 // in UTF-8, and the following characters: + - = . _ : / @. 6674 // 6675 // * Tag keys and values are case-sensitive. 6676 // 6677 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6678 // as a prefix for either keys or values as it is reserved for AWS use. You 6679 // cannot edit or delete tag keys or values with this prefix. Tags with this 6680 // prefix do not count against your tags per resource limit. 6681 Tags []*Tag `locationName:"tags" type:"list"` 6682} 6683 6684// String returns the string representation 6685func (s Cluster) String() string { 6686 return awsutil.Prettify(s) 6687} 6688 6689// GoString returns the string representation 6690func (s Cluster) GoString() string { 6691 return s.String() 6692} 6693 6694// SetActiveServicesCount sets the ActiveServicesCount field's value. 6695func (s *Cluster) SetActiveServicesCount(v int64) *Cluster { 6696 s.ActiveServicesCount = &v 6697 return s 6698} 6699 6700// SetAttachments sets the Attachments field's value. 6701func (s *Cluster) SetAttachments(v []*Attachment) *Cluster { 6702 s.Attachments = v 6703 return s 6704} 6705 6706// SetAttachmentsStatus sets the AttachmentsStatus field's value. 6707func (s *Cluster) SetAttachmentsStatus(v string) *Cluster { 6708 s.AttachmentsStatus = &v 6709 return s 6710} 6711 6712// SetCapacityProviders sets the CapacityProviders field's value. 6713func (s *Cluster) SetCapacityProviders(v []*string) *Cluster { 6714 s.CapacityProviders = v 6715 return s 6716} 6717 6718// SetClusterArn sets the ClusterArn field's value. 6719func (s *Cluster) SetClusterArn(v string) *Cluster { 6720 s.ClusterArn = &v 6721 return s 6722} 6723 6724// SetClusterName sets the ClusterName field's value. 6725func (s *Cluster) SetClusterName(v string) *Cluster { 6726 s.ClusterName = &v 6727 return s 6728} 6729 6730// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 6731func (s *Cluster) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Cluster { 6732 s.DefaultCapacityProviderStrategy = v 6733 return s 6734} 6735 6736// SetPendingTasksCount sets the PendingTasksCount field's value. 6737func (s *Cluster) SetPendingTasksCount(v int64) *Cluster { 6738 s.PendingTasksCount = &v 6739 return s 6740} 6741 6742// SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. 6743func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster { 6744 s.RegisteredContainerInstancesCount = &v 6745 return s 6746} 6747 6748// SetRunningTasksCount sets the RunningTasksCount field's value. 6749func (s *Cluster) SetRunningTasksCount(v int64) *Cluster { 6750 s.RunningTasksCount = &v 6751 return s 6752} 6753 6754// SetSettings sets the Settings field's value. 6755func (s *Cluster) SetSettings(v []*ClusterSetting) *Cluster { 6756 s.Settings = v 6757 return s 6758} 6759 6760// SetStatistics sets the Statistics field's value. 6761func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster { 6762 s.Statistics = v 6763 return s 6764} 6765 6766// SetStatus sets the Status field's value. 6767func (s *Cluster) SetStatus(v string) *Cluster { 6768 s.Status = &v 6769 return s 6770} 6771 6772// SetTags sets the Tags field's value. 6773func (s *Cluster) SetTags(v []*Tag) *Cluster { 6774 s.Tags = v 6775 return s 6776} 6777 6778// You cannot delete a cluster that has registered container instances. First, 6779// deregister the container instances before you can delete the cluster. For 6780// more information, see DeregisterContainerInstance. 6781type ClusterContainsContainerInstancesException struct { 6782 _ struct{} `type:"structure"` 6783 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6784 6785 Message_ *string `locationName:"message" type:"string"` 6786} 6787 6788// String returns the string representation 6789func (s ClusterContainsContainerInstancesException) String() string { 6790 return awsutil.Prettify(s) 6791} 6792 6793// GoString returns the string representation 6794func (s ClusterContainsContainerInstancesException) GoString() string { 6795 return s.String() 6796} 6797 6798func newErrorClusterContainsContainerInstancesException(v protocol.ResponseMetadata) error { 6799 return &ClusterContainsContainerInstancesException{ 6800 RespMetadata: v, 6801 } 6802} 6803 6804// Code returns the exception type name. 6805func (s *ClusterContainsContainerInstancesException) Code() string { 6806 return "ClusterContainsContainerInstancesException" 6807} 6808 6809// Message returns the exception's message. 6810func (s *ClusterContainsContainerInstancesException) Message() string { 6811 if s.Message_ != nil { 6812 return *s.Message_ 6813 } 6814 return "" 6815} 6816 6817// OrigErr always returns nil, satisfies awserr.Error interface. 6818func (s *ClusterContainsContainerInstancesException) OrigErr() error { 6819 return nil 6820} 6821 6822func (s *ClusterContainsContainerInstancesException) Error() string { 6823 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6824} 6825 6826// Status code returns the HTTP status code for the request's response error. 6827func (s *ClusterContainsContainerInstancesException) StatusCode() int { 6828 return s.RespMetadata.StatusCode 6829} 6830 6831// RequestID returns the service's response RequestID for request. 6832func (s *ClusterContainsContainerInstancesException) RequestID() string { 6833 return s.RespMetadata.RequestID 6834} 6835 6836// You cannot delete a cluster that contains services. First, update the service 6837// to reduce its desired task count to 0 and then delete the service. For more 6838// information, see UpdateService and DeleteService. 6839type ClusterContainsServicesException struct { 6840 _ struct{} `type:"structure"` 6841 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6842 6843 Message_ *string `locationName:"message" type:"string"` 6844} 6845 6846// String returns the string representation 6847func (s ClusterContainsServicesException) String() string { 6848 return awsutil.Prettify(s) 6849} 6850 6851// GoString returns the string representation 6852func (s ClusterContainsServicesException) GoString() string { 6853 return s.String() 6854} 6855 6856func newErrorClusterContainsServicesException(v protocol.ResponseMetadata) error { 6857 return &ClusterContainsServicesException{ 6858 RespMetadata: v, 6859 } 6860} 6861 6862// Code returns the exception type name. 6863func (s *ClusterContainsServicesException) Code() string { 6864 return "ClusterContainsServicesException" 6865} 6866 6867// Message returns the exception's message. 6868func (s *ClusterContainsServicesException) Message() string { 6869 if s.Message_ != nil { 6870 return *s.Message_ 6871 } 6872 return "" 6873} 6874 6875// OrigErr always returns nil, satisfies awserr.Error interface. 6876func (s *ClusterContainsServicesException) OrigErr() error { 6877 return nil 6878} 6879 6880func (s *ClusterContainsServicesException) Error() string { 6881 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6882} 6883 6884// Status code returns the HTTP status code for the request's response error. 6885func (s *ClusterContainsServicesException) StatusCode() int { 6886 return s.RespMetadata.StatusCode 6887} 6888 6889// RequestID returns the service's response RequestID for request. 6890func (s *ClusterContainsServicesException) RequestID() string { 6891 return s.RespMetadata.RequestID 6892} 6893 6894// You cannot delete a cluster that has active tasks. 6895type ClusterContainsTasksException struct { 6896 _ struct{} `type:"structure"` 6897 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6898 6899 Message_ *string `locationName:"message" type:"string"` 6900} 6901 6902// String returns the string representation 6903func (s ClusterContainsTasksException) String() string { 6904 return awsutil.Prettify(s) 6905} 6906 6907// GoString returns the string representation 6908func (s ClusterContainsTasksException) GoString() string { 6909 return s.String() 6910} 6911 6912func newErrorClusterContainsTasksException(v protocol.ResponseMetadata) error { 6913 return &ClusterContainsTasksException{ 6914 RespMetadata: v, 6915 } 6916} 6917 6918// Code returns the exception type name. 6919func (s *ClusterContainsTasksException) Code() string { 6920 return "ClusterContainsTasksException" 6921} 6922 6923// Message returns the exception's message. 6924func (s *ClusterContainsTasksException) Message() string { 6925 if s.Message_ != nil { 6926 return *s.Message_ 6927 } 6928 return "" 6929} 6930 6931// OrigErr always returns nil, satisfies awserr.Error interface. 6932func (s *ClusterContainsTasksException) OrigErr() error { 6933 return nil 6934} 6935 6936func (s *ClusterContainsTasksException) Error() string { 6937 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6938} 6939 6940// Status code returns the HTTP status code for the request's response error. 6941func (s *ClusterContainsTasksException) StatusCode() int { 6942 return s.RespMetadata.StatusCode 6943} 6944 6945// RequestID returns the service's response RequestID for request. 6946func (s *ClusterContainsTasksException) RequestID() string { 6947 return s.RespMetadata.RequestID 6948} 6949 6950// The specified cluster could not be found. You can view your available clusters 6951// with ListClusters. Amazon ECS clusters are Region-specific. 6952type ClusterNotFoundException struct { 6953 _ struct{} `type:"structure"` 6954 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6955 6956 Message_ *string `locationName:"message" type:"string"` 6957} 6958 6959// String returns the string representation 6960func (s ClusterNotFoundException) String() string { 6961 return awsutil.Prettify(s) 6962} 6963 6964// GoString returns the string representation 6965func (s ClusterNotFoundException) GoString() string { 6966 return s.String() 6967} 6968 6969func newErrorClusterNotFoundException(v protocol.ResponseMetadata) error { 6970 return &ClusterNotFoundException{ 6971 RespMetadata: v, 6972 } 6973} 6974 6975// Code returns the exception type name. 6976func (s *ClusterNotFoundException) Code() string { 6977 return "ClusterNotFoundException" 6978} 6979 6980// Message returns the exception's message. 6981func (s *ClusterNotFoundException) Message() string { 6982 if s.Message_ != nil { 6983 return *s.Message_ 6984 } 6985 return "" 6986} 6987 6988// OrigErr always returns nil, satisfies awserr.Error interface. 6989func (s *ClusterNotFoundException) OrigErr() error { 6990 return nil 6991} 6992 6993func (s *ClusterNotFoundException) Error() string { 6994 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6995} 6996 6997// Status code returns the HTTP status code for the request's response error. 6998func (s *ClusterNotFoundException) StatusCode() int { 6999 return s.RespMetadata.StatusCode 7000} 7001 7002// RequestID returns the service's response RequestID for request. 7003func (s *ClusterNotFoundException) RequestID() string { 7004 return s.RespMetadata.RequestID 7005} 7006 7007// The settings to use when creating a cluster. This parameter is used to enable 7008// CloudWatch Container Insights for a cluster. 7009type ClusterSetting struct { 7010 _ struct{} `type:"structure"` 7011 7012 // The name of the cluster setting. The only supported value is containerInsights. 7013 Name *string `locationName:"name" type:"string" enum:"ClusterSettingName"` 7014 7015 // The value to set for the cluster setting. The supported values are enabled 7016 // and disabled. If enabled is specified, CloudWatch Container Insights will 7017 // be enabled for the cluster, otherwise it will be disabled unless the containerInsights 7018 // account setting is enabled. If a cluster value is specified, it will override 7019 // the containerInsights value set with PutAccountSetting or PutAccountSettingDefault. 7020 Value *string `locationName:"value" type:"string"` 7021} 7022 7023// String returns the string representation 7024func (s ClusterSetting) String() string { 7025 return awsutil.Prettify(s) 7026} 7027 7028// GoString returns the string representation 7029func (s ClusterSetting) GoString() string { 7030 return s.String() 7031} 7032 7033// SetName sets the Name field's value. 7034func (s *ClusterSetting) SetName(v string) *ClusterSetting { 7035 s.Name = &v 7036 return s 7037} 7038 7039// SetValue sets the Value field's value. 7040func (s *ClusterSetting) SetValue(v string) *ClusterSetting { 7041 s.Value = &v 7042 return s 7043} 7044 7045// A Docker container that is part of a task. 7046type Container struct { 7047 _ struct{} `type:"structure"` 7048 7049 // The Amazon Resource Name (ARN) of the container. 7050 ContainerArn *string `locationName:"containerArn" type:"string"` 7051 7052 // The number of CPU units set for the container. The value will be 0 if no 7053 // value was specified in the container definition when the task definition 7054 // was registered. 7055 Cpu *string `locationName:"cpu" type:"string"` 7056 7057 // The exit code returned from the container. 7058 ExitCode *int64 `locationName:"exitCode" type:"integer"` 7059 7060 // The IDs of each GPU assigned to the container. 7061 GpuIds []*string `locationName:"gpuIds" type:"list"` 7062 7063 // The health status of the container. If health checks are not configured for 7064 // this container in its task definition, then it reports the health status 7065 // as UNKNOWN. 7066 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 7067 7068 // The image used for the container. 7069 Image *string `locationName:"image" type:"string"` 7070 7071 // The container image manifest digest. 7072 // 7073 // The imageDigest is only returned if the container is using an image hosted 7074 // in Amazon ECR, otherwise it is omitted. 7075 ImageDigest *string `locationName:"imageDigest" type:"string"` 7076 7077 // The last known status of the container. 7078 LastStatus *string `locationName:"lastStatus" type:"string"` 7079 7080 // The hard limit (in MiB) of memory set for the container. 7081 Memory *string `locationName:"memory" type:"string"` 7082 7083 // The soft limit (in MiB) of memory set for the container. 7084 MemoryReservation *string `locationName:"memoryReservation" type:"string"` 7085 7086 // The name of the container. 7087 Name *string `locationName:"name" type:"string"` 7088 7089 // The network bindings associated with the container. 7090 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 7091 7092 // The network interfaces associated with the container. 7093 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 7094 7095 // A short (255 max characters) human-readable string to provide additional 7096 // details about a running or stopped container. 7097 Reason *string `locationName:"reason" type:"string"` 7098 7099 // The ID of the Docker container. 7100 RuntimeId *string `locationName:"runtimeId" type:"string"` 7101 7102 // The ARN of the task. 7103 TaskArn *string `locationName:"taskArn" type:"string"` 7104} 7105 7106// String returns the string representation 7107func (s Container) String() string { 7108 return awsutil.Prettify(s) 7109} 7110 7111// GoString returns the string representation 7112func (s Container) GoString() string { 7113 return s.String() 7114} 7115 7116// SetContainerArn sets the ContainerArn field's value. 7117func (s *Container) SetContainerArn(v string) *Container { 7118 s.ContainerArn = &v 7119 return s 7120} 7121 7122// SetCpu sets the Cpu field's value. 7123func (s *Container) SetCpu(v string) *Container { 7124 s.Cpu = &v 7125 return s 7126} 7127 7128// SetExitCode sets the ExitCode field's value. 7129func (s *Container) SetExitCode(v int64) *Container { 7130 s.ExitCode = &v 7131 return s 7132} 7133 7134// SetGpuIds sets the GpuIds field's value. 7135func (s *Container) SetGpuIds(v []*string) *Container { 7136 s.GpuIds = v 7137 return s 7138} 7139 7140// SetHealthStatus sets the HealthStatus field's value. 7141func (s *Container) SetHealthStatus(v string) *Container { 7142 s.HealthStatus = &v 7143 return s 7144} 7145 7146// SetImage sets the Image field's value. 7147func (s *Container) SetImage(v string) *Container { 7148 s.Image = &v 7149 return s 7150} 7151 7152// SetImageDigest sets the ImageDigest field's value. 7153func (s *Container) SetImageDigest(v string) *Container { 7154 s.ImageDigest = &v 7155 return s 7156} 7157 7158// SetLastStatus sets the LastStatus field's value. 7159func (s *Container) SetLastStatus(v string) *Container { 7160 s.LastStatus = &v 7161 return s 7162} 7163 7164// SetMemory sets the Memory field's value. 7165func (s *Container) SetMemory(v string) *Container { 7166 s.Memory = &v 7167 return s 7168} 7169 7170// SetMemoryReservation sets the MemoryReservation field's value. 7171func (s *Container) SetMemoryReservation(v string) *Container { 7172 s.MemoryReservation = &v 7173 return s 7174} 7175 7176// SetName sets the Name field's value. 7177func (s *Container) SetName(v string) *Container { 7178 s.Name = &v 7179 return s 7180} 7181 7182// SetNetworkBindings sets the NetworkBindings field's value. 7183func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container { 7184 s.NetworkBindings = v 7185 return s 7186} 7187 7188// SetNetworkInterfaces sets the NetworkInterfaces field's value. 7189func (s *Container) SetNetworkInterfaces(v []*NetworkInterface) *Container { 7190 s.NetworkInterfaces = v 7191 return s 7192} 7193 7194// SetReason sets the Reason field's value. 7195func (s *Container) SetReason(v string) *Container { 7196 s.Reason = &v 7197 return s 7198} 7199 7200// SetRuntimeId sets the RuntimeId field's value. 7201func (s *Container) SetRuntimeId(v string) *Container { 7202 s.RuntimeId = &v 7203 return s 7204} 7205 7206// SetTaskArn sets the TaskArn field's value. 7207func (s *Container) SetTaskArn(v string) *Container { 7208 s.TaskArn = &v 7209 return s 7210} 7211 7212// Container definitions are used in task definitions to describe the different 7213// containers that are launched as part of a task. 7214type ContainerDefinition struct { 7215 _ struct{} `type:"structure"` 7216 7217 // The command that is passed to the container. This parameter maps to Cmd in 7218 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7219 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7220 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7221 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 7222 // (https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple 7223 // arguments, each argument should be a separated string in the array. 7224 Command []*string `locationName:"command" type:"list"` 7225 7226 // The number of cpu units reserved for the container. This parameter maps to 7227 // CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7228 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7229 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7230 // 7231 // This field is optional for tasks using the Fargate launch type, and the only 7232 // requirement is that the total amount of CPU reserved for all containers within 7233 // a task be lower than the task-level cpu value. 7234 // 7235 // You can determine the number of CPU units that are available per EC2 instance 7236 // type by multiplying the vCPUs listed for that instance type on the Amazon 7237 // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by 7238 // 1,024. 7239 // 7240 // Linux containers share unallocated CPU units with other containers on the 7241 // container instance with the same ratio as their allocated amount. For example, 7242 // if you run a single-container task on a single-core instance type with 512 7243 // CPU units specified for that container, and that is the only task running 7244 // on the container instance, that container could use the full 1,024 CPU unit 7245 // share at any given time. However, if you launched another copy of the same 7246 // task on that container instance, each task would be guaranteed a minimum 7247 // of 512 CPU units when needed, and each container could float to higher CPU 7248 // usage if the other container was not using it, but if both tasks were 100% 7249 // active all of the time, they would be limited to 512 CPU units. 7250 // 7251 // On Linux container instances, the Docker daemon on the container instance 7252 // uses the CPU value to calculate the relative CPU share ratios for running 7253 // containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint) 7254 // in the Docker documentation. The minimum valid CPU share value that the Linux 7255 // kernel allows is 2. However, the CPU parameter is not required, and you can 7256 // use CPU values below 2 in your container definitions. For CPU values below 7257 // 2 (including null), the behavior varies based on your Amazon ECS container 7258 // agent version: 7259 // 7260 // * Agent versions less than or equal to 1.1.0: Null and zero CPU values 7261 // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. 7262 // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts 7263 // to two CPU shares. 7264 // 7265 // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values 7266 // of 1 are passed to Docker as 2. 7267 // 7268 // On Windows container instances, the CPU limit is enforced as an absolute 7269 // limit, or a quota. Windows containers only have access to the specified amount 7270 // of CPU that is described in the task definition. A null or zero CPU value 7271 // is passed to Docker as 0, which Windows interprets as 1% of one CPU. 7272 Cpu *int64 `locationName:"cpu" type:"integer"` 7273 7274 // The dependencies defined for container startup and shutdown. A container 7275 // can contain multiple dependencies. When a dependency is defined for container 7276 // startup, for container shutdown it is reversed. 7277 // 7278 // For tasks using the EC2 launch type, the container instances require at least 7279 // version 1.26.0 of the container agent to enable container dependencies. However, 7280 // we recommend using the latest container agent version. For information about 7281 // checking your agent version and updating to the latest version, see Updating 7282 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7283 // in the Amazon Elastic Container Service Developer Guide. If you are using 7284 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7285 // of the ecs-init package. If your container instances are launched from version 7286 // 20190301 or later, then they contain the required versions of the container 7287 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7288 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7289 // in the Amazon Elastic Container Service Developer Guide. 7290 // 7291 // For tasks using the Fargate launch type, the task or service requires platform 7292 // version 1.3.0 or later. 7293 DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` 7294 7295 // When this parameter is true, networking is disabled within the container. 7296 // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7297 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 7298 // 7299 // This parameter is not supported for Windows containers or tasks that use 7300 // the awsvpc network mode. 7301 DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` 7302 7303 // A list of DNS search domains that are presented to the container. This parameter 7304 // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7305 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7306 // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7307 // 7308 // This parameter is not supported for Windows containers or tasks that use 7309 // the awsvpc network mode. 7310 DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` 7311 7312 // A list of DNS servers that are presented to the container. This parameter 7313 // maps to Dns in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7314 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7315 // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7316 // 7317 // This parameter is not supported for Windows containers or tasks that use 7318 // the awsvpc network mode. 7319 DnsServers []*string `locationName:"dnsServers" type:"list"` 7320 7321 // A key/value map of labels to add to the container. This parameter maps to 7322 // Labels in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7323 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7324 // and the --label option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7325 // This parameter requires version 1.18 of the Docker Remote API or greater 7326 // on your container instance. To check the Docker Remote API version on your 7327 // container instance, log in to your container instance and run the following 7328 // command: sudo docker version --format '{{.Server.APIVersion}}' 7329 DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` 7330 7331 // A list of strings to provide custom labels for SELinux and AppArmor multi-level 7332 // security systems. This field is not valid for containers in tasks using the 7333 // Fargate launch type. 7334 // 7335 // With Windows containers, this parameter can be used to reference a credential 7336 // spec file when configuring a container for Active Directory authentication. 7337 // For more information, see Using gMSAs for Windows Containers (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) 7338 // in the Amazon Elastic Container Service Developer Guide. 7339 // 7340 // This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7341 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7342 // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7343 // 7344 // The Amazon ECS container agent running on a container instance must register 7345 // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment 7346 // variables before containers placed on that instance can use these security 7347 // options. For more information, see Amazon ECS Container Agent Configuration 7348 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7349 // in the Amazon Elastic Container Service Developer Guide. 7350 // 7351 // For more information about valid values, see Docker Run Security Configuration 7352 // (https://docs.docker.com/engine/reference/run/#security-configuration). 7353 // 7354 // Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | 7355 // "credentialspec:CredentialSpecFilePath" 7356 DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` 7357 7358 // 7359 // Early versions of the Amazon ECS container agent do not properly handle entryPoint 7360 // parameters. If you have problems using entryPoint, update your container 7361 // agent or enter your commands and arguments as command array items instead. 7362 // 7363 // The entry point that is passed to the container. This parameter maps to Entrypoint 7364 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7365 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7366 // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7367 // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint 7368 // (https://docs.docker.com/engine/reference/builder/#entrypoint). 7369 EntryPoint []*string `locationName:"entryPoint" type:"list"` 7370 7371 // The environment variables to pass to a container. This parameter maps to 7372 // Env in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7373 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7374 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7375 // 7376 // We do not recommend using plaintext environment variables for sensitive information, 7377 // such as credential data. 7378 Environment []*KeyValuePair `locationName:"environment" type:"list"` 7379 7380 // A list of files containing the environment variables to pass to a container. 7381 // This parameter maps to the --env-file option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7382 // 7383 // You can specify up to ten environment files. The file must have a .env file 7384 // extension. Each line in an environment file should contain an environment 7385 // variable in VARIABLE=VALUE format. Lines beginning with # are treated as 7386 // comments and are ignored. For more information on the environment variable 7387 // file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 7388 // 7389 // If there are environment variables specified using the environment parameter 7390 // in a container definition, they take precedence over the variables contained 7391 // within an environment file. If multiple environment files are specified that 7392 // contain the same variable, they are processed from the top down. It is recommended 7393 // to use unique variable names. For more information, see Specifying Environment 7394 // Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 7395 // in the Amazon Elastic Container Service Developer Guide. 7396 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 7397 7398 // If the essential parameter of a container is marked as true, and that container 7399 // fails or stops for any reason, all other containers that are part of the 7400 // task are stopped. If the essential parameter of a container is marked as 7401 // false, then its failure does not affect the rest of the containers in a task. 7402 // If this parameter is omitted, a container is assumed to be essential. 7403 // 7404 // All tasks must have at least one essential container. If you have an application 7405 // that is composed of multiple containers, you should group containers that 7406 // are used for a common purpose into components, and separate the different 7407 // components into multiple task definitions. For more information, see Application 7408 // Architecture (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) 7409 // in the Amazon Elastic Container Service Developer Guide. 7410 Essential *bool `locationName:"essential" type:"boolean"` 7411 7412 // A list of hostnames and IP address mappings to append to the /etc/hosts file 7413 // on the container. This parameter maps to ExtraHosts in the Create a container 7414 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7415 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7416 // the --add-host option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7417 // 7418 // This parameter is not supported for Windows containers or tasks that use 7419 // the awsvpc network mode. 7420 ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` 7421 7422 // The FireLens configuration for the container. This is used to specify and 7423 // configure a log router for container logs. For more information, see Custom 7424 // Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 7425 // in the Amazon Elastic Container Service Developer Guide. 7426 FirelensConfiguration *FirelensConfiguration `locationName:"firelensConfiguration" type:"structure"` 7427 7428 // The container health check command and associated configuration parameters 7429 // for the container. This parameter maps to HealthCheck in the Create a container 7430 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7431 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7432 // the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7433 HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"` 7434 7435 // The hostname to use for your container. This parameter maps to Hostname in 7436 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7437 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7438 // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7439 // 7440 // The hostname parameter is not supported if you are using the awsvpc network 7441 // mode. 7442 Hostname *string `locationName:"hostname" type:"string"` 7443 7444 // The image used to start a container. This string is passed directly to the 7445 // Docker daemon. Images in the Docker Hub registry are available by default. 7446 // Other repositories are specified with either repository-url/image:tag or 7447 // repository-url/image@digest . Up to 255 letters (uppercase and lowercase), 7448 // numbers, hyphens, underscores, colons, periods, forward slashes, and number 7449 // signs are allowed. This parameter maps to Image in the Create a container 7450 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7451 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7452 // the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7453 // 7454 // * When a new task starts, the Amazon ECS container agent pulls the latest 7455 // version of the specified image and tag for the container to use. However, 7456 // subsequent updates to a repository image are not propagated to already 7457 // running tasks. 7458 // 7459 // * Images in Amazon ECR repositories can be specified by either using the 7460 // full registry/repository:tag or registry/repository@digest. For example, 7461 // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 7462 // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. 7463 // 7464 // * Images in official repositories on Docker Hub use a single name (for 7465 // example, ubuntu or mongo). 7466 // 7467 // * Images in other repositories on Docker Hub are qualified with an organization 7468 // name (for example, amazon/amazon-ecs-agent). 7469 // 7470 // * Images in other online repositories are qualified further by a domain 7471 // name (for example, quay.io/assemblyline/ubuntu). 7472 Image *string `locationName:"image" type:"string"` 7473 7474 // When this parameter is true, this allows you to deploy containerized applications 7475 // that require stdin or a tty to be allocated. This parameter maps to OpenStdin 7476 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7477 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7478 // and the --interactive option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7479 Interactive *bool `locationName:"interactive" type:"boolean"` 7480 7481 // The links parameter allows containers to communicate with each other without 7482 // the need for port mappings. This parameter is only supported if the network 7483 // mode of a task definition is bridge. The name:internalName construct is analogous 7484 // to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), 7485 // numbers, and hyphens are allowed. For more information about linking Docker 7486 // containers, go to Legacy container links (https://docs.docker.com/network/links/) 7487 // in the Docker documentation. This parameter maps to Links in the Create a 7488 // container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7489 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7490 // and the --link option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7491 // 7492 // This parameter is not supported for Windows containers or tasks that use 7493 // the awsvpc network mode. 7494 // 7495 // Containers that are collocated on a single container instance may be able 7496 // to communicate with each other without requiring links or host port mappings. 7497 // Network isolation is achieved on the container instance using security groups 7498 // and VPC settings. 7499 Links []*string `locationName:"links" type:"list"` 7500 7501 // Linux-specific modifications that are applied to the container, such as Linux 7502 // kernel capabilities. For more information see KernelCapabilities. 7503 // 7504 // This parameter is not supported for Windows containers. 7505 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 7506 7507 // The log configuration specification for the container. 7508 // 7509 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7510 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7511 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7512 // By default, containers use the same logging driver that the Docker daemon 7513 // uses. However the container may use a different logging driver than the Docker 7514 // daemon by specifying a log driver with this parameter in the container definition. 7515 // To use a different logging driver for a container, the log system must be 7516 // configured properly on the container instance (or on a different log server 7517 // for remote logging options). For more information on the options for different 7518 // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 7519 // in the Docker documentation. 7520 // 7521 // Amazon ECS currently supports a subset of the logging drivers available to 7522 // the Docker daemon (shown in the LogConfiguration data type). Additional log 7523 // drivers may be available in future releases of the Amazon ECS container agent. 7524 // 7525 // This parameter requires version 1.18 of the Docker Remote API or greater 7526 // on your container instance. To check the Docker Remote API version on your 7527 // container instance, log in to your container instance and run the following 7528 // command: sudo docker version --format '{{.Server.APIVersion}}' 7529 // 7530 // The Amazon ECS container agent running on a container instance must register 7531 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 7532 // environment variable before containers placed on that instance can use these 7533 // log configuration options. For more information, see Amazon ECS Container 7534 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7535 // in the Amazon Elastic Container Service Developer Guide. 7536 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 7537 7538 // The amount (in MiB) of memory to present to the container. If your container 7539 // attempts to exceed the memory specified here, the container is killed. The 7540 // total amount of memory reserved for all containers within a task must be 7541 // lower than the task memory value, if one is specified. This parameter maps 7542 // to Memory in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7543 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7544 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7545 // 7546 // If using the Fargate launch type, this parameter is optional. 7547 // 7548 // If using the EC2 launch type, you must specify either a task-level memory 7549 // value or a container-level memory value. If you specify both a container-level 7550 // memory and memoryReservation value, memory must be greater than memoryReservation. 7551 // If you specify memoryReservation, then that value is subtracted from the 7552 // available memory resources for the container instance on which the container 7553 // is placed. Otherwise, the value of memory is used. 7554 // 7555 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7556 // so you should not specify fewer than 4 MiB of memory for your containers. 7557 Memory *int64 `locationName:"memory" type:"integer"` 7558 7559 // The soft limit (in MiB) of memory to reserve for the container. When system 7560 // memory is under heavy contention, Docker attempts to keep the container memory 7561 // to this soft limit. However, your container can consume more memory when 7562 // it needs to, up to either the hard limit specified with the memory parameter 7563 // (if applicable), or all of the available memory on the container instance, 7564 // whichever comes first. This parameter maps to MemoryReservation in the Create 7565 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7566 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7567 // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7568 // 7569 // If a task-level memory value is not specified, you must specify a non-zero 7570 // integer for one or both of memory or memoryReservation in a container definition. 7571 // If you specify both, memory must be greater than memoryReservation. If you 7572 // specify memoryReservation, then that value is subtracted from the available 7573 // memory resources for the container instance on which the container is placed. 7574 // Otherwise, the value of memory is used. 7575 // 7576 // For example, if your container normally uses 128 MiB of memory, but occasionally 7577 // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation 7578 // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would 7579 // allow the container to only reserve 128 MiB of memory from the remaining 7580 // resources on the container instance, but also allow the container to consume 7581 // more memory resources when needed. 7582 // 7583 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7584 // so you should not specify fewer than 4 MiB of memory for your containers. 7585 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 7586 7587 // The mount points for data volumes in your container. 7588 // 7589 // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7590 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7591 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7592 // 7593 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 7594 // Windows containers cannot mount directories on a different drive, and mount 7595 // point cannot be across drives. 7596 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 7597 7598 // The name of a container. If you are linking multiple containers together 7599 // in a task definition, the name of one container can be entered in the links 7600 // of another container to connect the containers. Up to 255 letters (uppercase 7601 // and lowercase), numbers, and hyphens are allowed. This parameter maps to 7602 // name in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7603 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7604 // and the --name option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7605 Name *string `locationName:"name" type:"string"` 7606 7607 // The list of port mappings for the container. Port mappings allow containers 7608 // to access ports on the host container instance to send or receive traffic. 7609 // 7610 // For task definitions that use the awsvpc network mode, you should only specify 7611 // the containerPort. The hostPort can be left blank or it must be the same 7612 // value as the containerPort. 7613 // 7614 // Port mappings on Windows use the NetNAT gateway address rather than localhost. 7615 // There is no loopback for port mappings on Windows, so you cannot access a 7616 // container's mapped port from the host itself. 7617 // 7618 // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7619 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7620 // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7621 // If the network mode of a task definition is set to none, then you can't specify 7622 // port mappings. If the network mode of a task definition is set to host, then 7623 // host ports must either be undefined or they must match the container port 7624 // in the port mapping. 7625 // 7626 // After a task reaches the RUNNING status, manual and automatic host and container 7627 // port assignments are visible in the Network Bindings section of a container 7628 // description for a selected task in the Amazon ECS console. The assignments 7629 // are also visible in the networkBindings section DescribeTasks responses. 7630 PortMappings []*PortMapping `locationName:"portMappings" type:"list"` 7631 7632 // When this parameter is true, the container is given elevated privileges on 7633 // the host container instance (similar to the root user). This parameter maps 7634 // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7635 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7636 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7637 // 7638 // This parameter is not supported for Windows containers or tasks using the 7639 // Fargate launch type. 7640 Privileged *bool `locationName:"privileged" type:"boolean"` 7641 7642 // When this parameter is true, a TTY is allocated. This parameter maps to Tty 7643 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7644 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7645 // and the --tty option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7646 PseudoTerminal *bool `locationName:"pseudoTerminal" type:"boolean"` 7647 7648 // When this parameter is true, the container is given read-only access to its 7649 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 7650 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7651 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7652 // the --read-only option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7653 // 7654 // This parameter is not supported for Windows containers or tasks that use 7655 // the awsvpc network mode. 7656 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 7657 7658 // The private repository authentication credentials to use. 7659 RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"` 7660 7661 // The type and amount of a resource to assign to a container. The only supported 7662 // resource is a GPU. 7663 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 7664 7665 // The secrets to pass to the container. For more information, see Specifying 7666 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 7667 // in the Amazon Elastic Container Service Developer Guide. 7668 Secrets []*Secret `locationName:"secrets" type:"list"` 7669 7670 // Time duration (in seconds) to wait before giving up on resolving dependencies 7671 // for a container. For example, you specify two containers in a task definition 7672 // with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, 7673 // or HEALTHY status. If a startTimeout value is specified for containerB and 7674 // it does not reach the desired status within that time then containerA will 7675 // give up and not start. This results in the task transitioning to a STOPPED 7676 // state. 7677 // 7678 // When the ECS_CONTAINER_START_TIMEOUT container agent configuration variable 7679 // is used, it is enforced indendently from this start timeout value. 7680 // 7681 // For tasks using the Fargate launch type, this parameter requires that the 7682 // task or service uses platform version 1.3.0 or later. 7683 // 7684 // For tasks using the EC2 launch type, your container instances require at 7685 // least version 1.26.0 of the container agent to enable a container start timeout 7686 // value. However, we recommend using the latest container agent version. For 7687 // information about checking your agent version and updating to the latest 7688 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7689 // in the Amazon Elastic Container Service Developer Guide. If you are using 7690 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7691 // of the ecs-init package. If your container instances are launched from version 7692 // 20190301 or later, then they contain the required versions of the container 7693 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7694 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7695 // in the Amazon Elastic Container Service Developer Guide. 7696 StartTimeout *int64 `locationName:"startTimeout" type:"integer"` 7697 7698 // Time duration (in seconds) to wait before the container is forcefully killed 7699 // if it doesn't exit normally on its own. 7700 // 7701 // For tasks using the Fargate launch type, the task or service requires platform 7702 // version 1.3.0 or later. The max stop timeout value is 120 seconds and if 7703 // the parameter is not specified, the default value of 30 seconds is used. 7704 // 7705 // For tasks using the EC2 launch type, if the stopTimeout parameter is not 7706 // specified, the value set for the Amazon ECS container agent configuration 7707 // variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the stopTimeout 7708 // parameter or the ECS_CONTAINER_STOP_TIMEOUT agent configuration variable 7709 // are set, then the default values of 30 seconds for Linux containers and 30 7710 // seconds on Windows containers are used. Your container instances require 7711 // at least version 1.26.0 of the container agent to enable a container stop 7712 // timeout value. However, we recommend using the latest container agent version. 7713 // For information about checking your agent version and updating to the latest 7714 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7715 // in the Amazon Elastic Container Service Developer Guide. If you are using 7716 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7717 // of the ecs-init package. If your container instances are launched from version 7718 // 20190301 or later, then they contain the required versions of the container 7719 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7720 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7721 // in the Amazon Elastic Container Service Developer Guide. 7722 StopTimeout *int64 `locationName:"stopTimeout" type:"integer"` 7723 7724 // A list of namespaced kernel parameters to set in the container. This parameter 7725 // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7726 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7727 // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7728 // 7729 // It is not recommended that you specify network-related systemControls parameters 7730 // for multiple containers in a single task that also uses either the awsvpc 7731 // or host network modes. For tasks that use the awsvpc network mode, the container 7732 // that is started last determines which systemControls parameters take effect. 7733 // For tasks that use the host network mode, it changes the container instance's 7734 // namespaced kernel parameters as well as the containers. 7735 SystemControls []*SystemControl `locationName:"systemControls" type:"list"` 7736 7737 // A list of ulimits to set in the container. If a ulimit value is specified 7738 // in a task definition, it will override the default values set by Docker. 7739 // This parameter maps to Ulimits in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7740 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7741 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7742 // Valid naming values are displayed in the Ulimit data type. This parameter 7743 // requires version 1.18 of the Docker Remote API or greater on your container 7744 // instance. To check the Docker Remote API version on your container instance, 7745 // log in to your container instance and run the following command: sudo docker 7746 // version --format '{{.Server.APIVersion}}' 7747 // 7748 // This parameter is not supported for Windows containers or tasks that use 7749 // the awsvpc network mode. 7750 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 7751 7752 // The user to use inside the container. This parameter maps to User in the 7753 // Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7754 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7755 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7756 // 7757 // When running tasks using the host network mode, you should not run containers 7758 // using the root user (UID 0). It is considered best practice to use a non-root 7759 // user. 7760 // 7761 // You can specify the user using the following formats. If specifying a UID 7762 // or GID, you must specify it as a positive integer. 7763 // 7764 // * user 7765 // 7766 // * user:group 7767 // 7768 // * uid 7769 // 7770 // * uid:gid 7771 // 7772 // * user:gid 7773 // 7774 // * uid:group 7775 // 7776 // This parameter is not supported for Windows containers or tasks that use 7777 // the awsvpc network mode. 7778 User *string `locationName:"user" type:"string"` 7779 7780 // Data volumes to mount from another container. This parameter maps to VolumesFrom 7781 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7782 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7783 // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7784 VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` 7785 7786 // The working directory in which to run commands inside the container. This 7787 // parameter maps to WorkingDir 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 --workdir option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7790 WorkingDirectory *string `locationName:"workingDirectory" type:"string"` 7791} 7792 7793// String returns the string representation 7794func (s ContainerDefinition) String() string { 7795 return awsutil.Prettify(s) 7796} 7797 7798// GoString returns the string representation 7799func (s ContainerDefinition) GoString() string { 7800 return s.String() 7801} 7802 7803// Validate inspects the fields of the type to determine if they are valid. 7804func (s *ContainerDefinition) Validate() error { 7805 invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} 7806 if s.DependsOn != nil { 7807 for i, v := range s.DependsOn { 7808 if v == nil { 7809 continue 7810 } 7811 if err := v.Validate(); err != nil { 7812 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependsOn", i), err.(request.ErrInvalidParams)) 7813 } 7814 } 7815 } 7816 if s.EnvironmentFiles != nil { 7817 for i, v := range s.EnvironmentFiles { 7818 if v == nil { 7819 continue 7820 } 7821 if err := v.Validate(); err != nil { 7822 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 7823 } 7824 } 7825 } 7826 if s.ExtraHosts != nil { 7827 for i, v := range s.ExtraHosts { 7828 if v == nil { 7829 continue 7830 } 7831 if err := v.Validate(); err != nil { 7832 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) 7833 } 7834 } 7835 } 7836 if s.FirelensConfiguration != nil { 7837 if err := s.FirelensConfiguration.Validate(); err != nil { 7838 invalidParams.AddNested("FirelensConfiguration", err.(request.ErrInvalidParams)) 7839 } 7840 } 7841 if s.HealthCheck != nil { 7842 if err := s.HealthCheck.Validate(); err != nil { 7843 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 7844 } 7845 } 7846 if s.LinuxParameters != nil { 7847 if err := s.LinuxParameters.Validate(); err != nil { 7848 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 7849 } 7850 } 7851 if s.LogConfiguration != nil { 7852 if err := s.LogConfiguration.Validate(); err != nil { 7853 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 7854 } 7855 } 7856 if s.RepositoryCredentials != nil { 7857 if err := s.RepositoryCredentials.Validate(); err != nil { 7858 invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams)) 7859 } 7860 } 7861 if s.ResourceRequirements != nil { 7862 for i, v := range s.ResourceRequirements { 7863 if v == nil { 7864 continue 7865 } 7866 if err := v.Validate(); err != nil { 7867 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 7868 } 7869 } 7870 } 7871 if s.Secrets != nil { 7872 for i, v := range s.Secrets { 7873 if v == nil { 7874 continue 7875 } 7876 if err := v.Validate(); err != nil { 7877 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 7878 } 7879 } 7880 } 7881 if s.Ulimits != nil { 7882 for i, v := range s.Ulimits { 7883 if v == nil { 7884 continue 7885 } 7886 if err := v.Validate(); err != nil { 7887 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 7888 } 7889 } 7890 } 7891 7892 if invalidParams.Len() > 0 { 7893 return invalidParams 7894 } 7895 return nil 7896} 7897 7898// SetCommand sets the Command field's value. 7899func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { 7900 s.Command = v 7901 return s 7902} 7903 7904// SetCpu sets the Cpu field's value. 7905func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { 7906 s.Cpu = &v 7907 return s 7908} 7909 7910// SetDependsOn sets the DependsOn field's value. 7911func (s *ContainerDefinition) SetDependsOn(v []*ContainerDependency) *ContainerDefinition { 7912 s.DependsOn = v 7913 return s 7914} 7915 7916// SetDisableNetworking sets the DisableNetworking field's value. 7917func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition { 7918 s.DisableNetworking = &v 7919 return s 7920} 7921 7922// SetDnsSearchDomains sets the DnsSearchDomains field's value. 7923func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition { 7924 s.DnsSearchDomains = v 7925 return s 7926} 7927 7928// SetDnsServers sets the DnsServers field's value. 7929func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition { 7930 s.DnsServers = v 7931 return s 7932} 7933 7934// SetDockerLabels sets the DockerLabels field's value. 7935func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition { 7936 s.DockerLabels = v 7937 return s 7938} 7939 7940// SetDockerSecurityOptions sets the DockerSecurityOptions field's value. 7941func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition { 7942 s.DockerSecurityOptions = v 7943 return s 7944} 7945 7946// SetEntryPoint sets the EntryPoint field's value. 7947func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { 7948 s.EntryPoint = v 7949 return s 7950} 7951 7952// SetEnvironment sets the Environment field's value. 7953func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition { 7954 s.Environment = v 7955 return s 7956} 7957 7958// SetEnvironmentFiles sets the EnvironmentFiles field's value. 7959func (s *ContainerDefinition) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerDefinition { 7960 s.EnvironmentFiles = v 7961 return s 7962} 7963 7964// SetEssential sets the Essential field's value. 7965func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { 7966 s.Essential = &v 7967 return s 7968} 7969 7970// SetExtraHosts sets the ExtraHosts field's value. 7971func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition { 7972 s.ExtraHosts = v 7973 return s 7974} 7975 7976// SetFirelensConfiguration sets the FirelensConfiguration field's value. 7977func (s *ContainerDefinition) SetFirelensConfiguration(v *FirelensConfiguration) *ContainerDefinition { 7978 s.FirelensConfiguration = v 7979 return s 7980} 7981 7982// SetHealthCheck sets the HealthCheck field's value. 7983func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition { 7984 s.HealthCheck = v 7985 return s 7986} 7987 7988// SetHostname sets the Hostname field's value. 7989func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition { 7990 s.Hostname = &v 7991 return s 7992} 7993 7994// SetImage sets the Image field's value. 7995func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { 7996 s.Image = &v 7997 return s 7998} 7999 8000// SetInteractive sets the Interactive field's value. 8001func (s *ContainerDefinition) SetInteractive(v bool) *ContainerDefinition { 8002 s.Interactive = &v 8003 return s 8004} 8005 8006// SetLinks sets the Links field's value. 8007func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { 8008 s.Links = v 8009 return s 8010} 8011 8012// SetLinuxParameters sets the LinuxParameters field's value. 8013func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { 8014 s.LinuxParameters = v 8015 return s 8016} 8017 8018// SetLogConfiguration sets the LogConfiguration field's value. 8019func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { 8020 s.LogConfiguration = v 8021 return s 8022} 8023 8024// SetMemory sets the Memory field's value. 8025func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition { 8026 s.Memory = &v 8027 return s 8028} 8029 8030// SetMemoryReservation sets the MemoryReservation field's value. 8031func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition { 8032 s.MemoryReservation = &v 8033 return s 8034} 8035 8036// SetMountPoints sets the MountPoints field's value. 8037func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition { 8038 s.MountPoints = v 8039 return s 8040} 8041 8042// SetName sets the Name field's value. 8043func (s *ContainerDefinition) SetName(v string) *ContainerDefinition { 8044 s.Name = &v 8045 return s 8046} 8047 8048// SetPortMappings sets the PortMappings field's value. 8049func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition { 8050 s.PortMappings = v 8051 return s 8052} 8053 8054// SetPrivileged sets the Privileged field's value. 8055func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition { 8056 s.Privileged = &v 8057 return s 8058} 8059 8060// SetPseudoTerminal sets the PseudoTerminal field's value. 8061func (s *ContainerDefinition) SetPseudoTerminal(v bool) *ContainerDefinition { 8062 s.PseudoTerminal = &v 8063 return s 8064} 8065 8066// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 8067func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition { 8068 s.ReadonlyRootFilesystem = &v 8069 return s 8070} 8071 8072// SetRepositoryCredentials sets the RepositoryCredentials field's value. 8073func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) *ContainerDefinition { 8074 s.RepositoryCredentials = v 8075 return s 8076} 8077 8078// SetResourceRequirements sets the ResourceRequirements field's value. 8079func (s *ContainerDefinition) SetResourceRequirements(v []*ResourceRequirement) *ContainerDefinition { 8080 s.ResourceRequirements = v 8081 return s 8082} 8083 8084// SetSecrets sets the Secrets field's value. 8085func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition { 8086 s.Secrets = v 8087 return s 8088} 8089 8090// SetStartTimeout sets the StartTimeout field's value. 8091func (s *ContainerDefinition) SetStartTimeout(v int64) *ContainerDefinition { 8092 s.StartTimeout = &v 8093 return s 8094} 8095 8096// SetStopTimeout sets the StopTimeout field's value. 8097func (s *ContainerDefinition) SetStopTimeout(v int64) *ContainerDefinition { 8098 s.StopTimeout = &v 8099 return s 8100} 8101 8102// SetSystemControls sets the SystemControls field's value. 8103func (s *ContainerDefinition) SetSystemControls(v []*SystemControl) *ContainerDefinition { 8104 s.SystemControls = v 8105 return s 8106} 8107 8108// SetUlimits sets the Ulimits field's value. 8109func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition { 8110 s.Ulimits = v 8111 return s 8112} 8113 8114// SetUser sets the User field's value. 8115func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition { 8116 s.User = &v 8117 return s 8118} 8119 8120// SetVolumesFrom sets the VolumesFrom field's value. 8121func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition { 8122 s.VolumesFrom = v 8123 return s 8124} 8125 8126// SetWorkingDirectory sets the WorkingDirectory field's value. 8127func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { 8128 s.WorkingDirectory = &v 8129 return s 8130} 8131 8132// The dependencies defined for container startup and shutdown. A container 8133// can contain multiple dependencies. When a dependency is defined for container 8134// startup, for container shutdown it is reversed. 8135// 8136// Your Amazon ECS container instances require at least version 1.26.0 of the 8137// container agent to enable container dependencies. However, we recommend using 8138// the latest container agent version. For information about checking your agent 8139// version and updating to the latest version, see Updating the Amazon ECS Container 8140// Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 8141// in the Amazon Elastic Container Service Developer Guide. If you are using 8142// an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 8143// of the ecs-init package. If your container instances are launched from version 8144// 20190301 or later, then they contain the required versions of the container 8145// agent and ecs-init. For more information, see Amazon ECS-optimized Linux 8146// AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 8147// in the Amazon Elastic Container Service Developer Guide. 8148// 8149// For tasks using the Fargate launch type, this parameter requires that the 8150// task or service uses platform version 1.3.0 or later. 8151type ContainerDependency struct { 8152 _ struct{} `type:"structure"` 8153 8154 // The dependency condition of the container. The following are the available 8155 // conditions and their behavior: 8156 // 8157 // * START - This condition emulates the behavior of links and volumes today. 8158 // It validates that a dependent container is started before permitting other 8159 // containers to start. 8160 // 8161 // * COMPLETE - This condition validates that a dependent container runs 8162 // to completion (exits) before permitting other containers to start. This 8163 // can be useful for nonessential containers that run a script and then exit. 8164 // This condition cannot be set on an essential container. 8165 // 8166 // * SUCCESS - This condition is the same as COMPLETE, but it also requires 8167 // that the container exits with a zero status. This condition cannot be 8168 // set on an essential container. 8169 // 8170 // * HEALTHY - This condition validates that the dependent container passes 8171 // its Docker health check before permitting other containers to start. This 8172 // requires that the dependent container has health checks configured. This 8173 // condition is confirmed only at task startup. 8174 // 8175 // Condition is a required field 8176 Condition *string `locationName:"condition" type:"string" required:"true" enum:"ContainerCondition"` 8177 8178 // The name of a container. 8179 // 8180 // ContainerName is a required field 8181 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 8182} 8183 8184// String returns the string representation 8185func (s ContainerDependency) String() string { 8186 return awsutil.Prettify(s) 8187} 8188 8189// GoString returns the string representation 8190func (s ContainerDependency) GoString() string { 8191 return s.String() 8192} 8193 8194// Validate inspects the fields of the type to determine if they are valid. 8195func (s *ContainerDependency) Validate() error { 8196 invalidParams := request.ErrInvalidParams{Context: "ContainerDependency"} 8197 if s.Condition == nil { 8198 invalidParams.Add(request.NewErrParamRequired("Condition")) 8199 } 8200 if s.ContainerName == nil { 8201 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 8202 } 8203 8204 if invalidParams.Len() > 0 { 8205 return invalidParams 8206 } 8207 return nil 8208} 8209 8210// SetCondition sets the Condition field's value. 8211func (s *ContainerDependency) SetCondition(v string) *ContainerDependency { 8212 s.Condition = &v 8213 return s 8214} 8215 8216// SetContainerName sets the ContainerName field's value. 8217func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { 8218 s.ContainerName = &v 8219 return s 8220} 8221 8222// An EC2 instance that is running the Amazon ECS agent and has been registered 8223// with a cluster. 8224type ContainerInstance struct { 8225 _ struct{} `type:"structure"` 8226 8227 // This parameter returns true if the agent is connected to Amazon ECS. Registered 8228 // instances with an agent that may be unhealthy or stopped return false. Only 8229 // instances connected to an agent can accept placement requests. 8230 AgentConnected *bool `locationName:"agentConnected" type:"boolean"` 8231 8232 // The status of the most recent agent update. If an update has never been requested, 8233 // this value is NULL. 8234 AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` 8235 8236 // The resources attached to a container instance, such as elastic network interfaces. 8237 Attachments []*Attachment `locationName:"attachments" type:"list"` 8238 8239 // The attributes set for the container instance, either by the Amazon ECS container 8240 // agent at instance registration or manually with the PutAttributes operation. 8241 Attributes []*Attribute `locationName:"attributes" type:"list"` 8242 8243 // The capacity provider associated with the container instance. 8244 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 8245 8246 // The Amazon Resource Name (ARN) of the container instance. The ARN contains 8247 // the arn:aws:ecs namespace, followed by the Region of the container instance, 8248 // the AWS account ID of the container instance owner, the container-instance 8249 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 8250 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 8251 8252 // The EC2 instance ID of the container instance. 8253 Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` 8254 8255 // The number of tasks on the container instance that are in the PENDING status. 8256 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 8257 8258 // The Unix timestamp for when the container instance was registered. 8259 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 8260 8261 // For CPU and memory resource types, this parameter describes the amount of 8262 // each resource that was available on the container instance when the container 8263 // agent registered it with Amazon ECS. This value represents the total amount 8264 // of CPU and memory that can be allocated on this container instance to tasks. 8265 // For port resource types, this parameter describes the ports that were reserved 8266 // by the Amazon ECS container agent when it registered the container instance 8267 // with Amazon ECS. 8268 RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` 8269 8270 // For CPU and memory resource types, this parameter describes the remaining 8271 // CPU and memory that has not already been allocated to tasks and is therefore 8272 // available for new tasks. For port resource types, this parameter describes 8273 // the ports that were reserved by the Amazon ECS container agent (at instance 8274 // registration time) and any task containers that have reserved port mappings 8275 // on the host (with the host or bridge network mode). Any port that is not 8276 // specified here is available for new tasks. 8277 RemainingResources []*Resource `locationName:"remainingResources" type:"list"` 8278 8279 // The number of tasks on the container instance that are in the RUNNING status. 8280 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 8281 8282 // The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, 8283 // ACTIVE, INACTIVE, DEREGISTERING, or DRAINING. 8284 // 8285 // If your account has opted in to the awsvpcTrunking account setting, then 8286 // any newly registered container instance will transition to a REGISTERING 8287 // status while the trunk elastic network interface is provisioned for the instance. 8288 // If the registration fails, the instance will transition to a REGISTRATION_FAILED 8289 // status. You can describe the container instance and see the reason for failure 8290 // in the statusReason parameter. Once the container instance is terminated, 8291 // the instance transitions to a DEREGISTERING status while the trunk elastic 8292 // network interface is deprovisioned. The instance then transitions to an INACTIVE 8293 // status. 8294 // 8295 // The ACTIVE status indicates that the container instance can accept tasks. 8296 // The DRAINING indicates that new tasks are not placed on the container instance 8297 // and any service tasks running on the container instance are removed if possible. 8298 // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) 8299 // in the Amazon Elastic Container Service Developer Guide. 8300 Status *string `locationName:"status" type:"string"` 8301 8302 // The reason that the container instance reached its current status. 8303 StatusReason *string `locationName:"statusReason" type:"string"` 8304 8305 // The metadata that you apply to the container instance to help you categorize 8306 // and organize them. Each tag consists of a key and an optional value, both 8307 // of which you define. 8308 // 8309 // The following basic restrictions apply to tags: 8310 // 8311 // * Maximum number of tags per resource - 50 8312 // 8313 // * For each resource, each tag key must be unique, and each tag key can 8314 // have only one value. 8315 // 8316 // * Maximum key length - 128 Unicode characters in UTF-8 8317 // 8318 // * Maximum value length - 256 Unicode characters in UTF-8 8319 // 8320 // * If your tagging schema is used across multiple services and resources, 8321 // remember that other services may have restrictions on allowed characters. 8322 // Generally allowed characters are: letters, numbers, and spaces representable 8323 // in UTF-8, and the following characters: + - = . _ : / @. 8324 // 8325 // * Tag keys and values are case-sensitive. 8326 // 8327 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8328 // as a prefix for either keys or values as it is reserved for AWS use. You 8329 // cannot edit or delete tag keys or values with this prefix. Tags with this 8330 // prefix do not count against your tags per resource limit. 8331 Tags []*Tag `locationName:"tags" type:"list"` 8332 8333 // The version counter for the container instance. Every time a container instance 8334 // experiences a change that triggers a CloudWatch event, the version counter 8335 // is incremented. If you are replicating your Amazon ECS container instance 8336 // state with CloudWatch Events, you can compare the version of a container 8337 // instance reported by the Amazon ECS APIs with the version reported in CloudWatch 8338 // Events for the container instance (inside the detail object) to verify that 8339 // the version in your event stream is current. 8340 Version *int64 `locationName:"version" type:"long"` 8341 8342 // The version information for the Amazon ECS container agent and Docker daemon 8343 // running on the container instance. 8344 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 8345} 8346 8347// String returns the string representation 8348func (s ContainerInstance) String() string { 8349 return awsutil.Prettify(s) 8350} 8351 8352// GoString returns the string representation 8353func (s ContainerInstance) GoString() string { 8354 return s.String() 8355} 8356 8357// SetAgentConnected sets the AgentConnected field's value. 8358func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance { 8359 s.AgentConnected = &v 8360 return s 8361} 8362 8363// SetAgentUpdateStatus sets the AgentUpdateStatus field's value. 8364func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance { 8365 s.AgentUpdateStatus = &v 8366 return s 8367} 8368 8369// SetAttachments sets the Attachments field's value. 8370func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance { 8371 s.Attachments = v 8372 return s 8373} 8374 8375// SetAttributes sets the Attributes field's value. 8376func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance { 8377 s.Attributes = v 8378 return s 8379} 8380 8381// SetCapacityProviderName sets the CapacityProviderName field's value. 8382func (s *ContainerInstance) SetCapacityProviderName(v string) *ContainerInstance { 8383 s.CapacityProviderName = &v 8384 return s 8385} 8386 8387// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 8388func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance { 8389 s.ContainerInstanceArn = &v 8390 return s 8391} 8392 8393// SetEc2InstanceId sets the Ec2InstanceId field's value. 8394func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance { 8395 s.Ec2InstanceId = &v 8396 return s 8397} 8398 8399// SetPendingTasksCount sets the PendingTasksCount field's value. 8400func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance { 8401 s.PendingTasksCount = &v 8402 return s 8403} 8404 8405// SetRegisteredAt sets the RegisteredAt field's value. 8406func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance { 8407 s.RegisteredAt = &v 8408 return s 8409} 8410 8411// SetRegisteredResources sets the RegisteredResources field's value. 8412func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance { 8413 s.RegisteredResources = v 8414 return s 8415} 8416 8417// SetRemainingResources sets the RemainingResources field's value. 8418func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance { 8419 s.RemainingResources = v 8420 return s 8421} 8422 8423// SetRunningTasksCount sets the RunningTasksCount field's value. 8424func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance { 8425 s.RunningTasksCount = &v 8426 return s 8427} 8428 8429// SetStatus sets the Status field's value. 8430func (s *ContainerInstance) SetStatus(v string) *ContainerInstance { 8431 s.Status = &v 8432 return s 8433} 8434 8435// SetStatusReason sets the StatusReason field's value. 8436func (s *ContainerInstance) SetStatusReason(v string) *ContainerInstance { 8437 s.StatusReason = &v 8438 return s 8439} 8440 8441// SetTags sets the Tags field's value. 8442func (s *ContainerInstance) SetTags(v []*Tag) *ContainerInstance { 8443 s.Tags = v 8444 return s 8445} 8446 8447// SetVersion sets the Version field's value. 8448func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance { 8449 s.Version = &v 8450 return s 8451} 8452 8453// SetVersionInfo sets the VersionInfo field's value. 8454func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance { 8455 s.VersionInfo = v 8456 return s 8457} 8458 8459// The overrides that should be sent to a container. An empty container override 8460// can be passed in. An example of an empty container override would be {"containerOverrides": 8461// [ ] }. If a non-empty container override is specified, the name parameter 8462// must be included. 8463type ContainerOverride struct { 8464 _ struct{} `type:"structure"` 8465 8466 // The command to send to the container that overrides the default command from 8467 // the Docker image or the task definition. You must also specify a container 8468 // name. 8469 Command []*string `locationName:"command" type:"list"` 8470 8471 // The number of cpu units reserved for the container, instead of the default 8472 // value from the task definition. You must also specify a container name. 8473 Cpu *int64 `locationName:"cpu" type:"integer"` 8474 8475 // The environment variables to send to the container. You can add new environment 8476 // variables, which are added to the container at launch, or you can override 8477 // the existing environment variables from the Docker image or the task definition. 8478 // You must also specify a container name. 8479 Environment []*KeyValuePair `locationName:"environment" type:"list"` 8480 8481 // A list of files containing the environment variables to pass to a container, 8482 // instead of the value from the container definition. 8483 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 8484 8485 // The hard limit (in MiB) of memory to present to the container, instead of 8486 // the default value from the task definition. If your container attempts to 8487 // exceed the memory specified here, the container is killed. You must also 8488 // specify a container name. 8489 Memory *int64 `locationName:"memory" type:"integer"` 8490 8491 // The soft limit (in MiB) of memory to reserve for the container, instead of 8492 // the default value from the task definition. You must also specify a container 8493 // name. 8494 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 8495 8496 // The name of the container that receives the override. This parameter is required 8497 // if any override is specified. 8498 Name *string `locationName:"name" type:"string"` 8499 8500 // The type and amount of a resource to assign to a container, instead of the 8501 // default value from the task definition. The only supported resource is a 8502 // GPU. 8503 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 8504} 8505 8506// String returns the string representation 8507func (s ContainerOverride) String() string { 8508 return awsutil.Prettify(s) 8509} 8510 8511// GoString returns the string representation 8512func (s ContainerOverride) GoString() string { 8513 return s.String() 8514} 8515 8516// Validate inspects the fields of the type to determine if they are valid. 8517func (s *ContainerOverride) Validate() error { 8518 invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} 8519 if s.EnvironmentFiles != nil { 8520 for i, v := range s.EnvironmentFiles { 8521 if v == nil { 8522 continue 8523 } 8524 if err := v.Validate(); err != nil { 8525 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 8526 } 8527 } 8528 } 8529 if s.ResourceRequirements != nil { 8530 for i, v := range s.ResourceRequirements { 8531 if v == nil { 8532 continue 8533 } 8534 if err := v.Validate(); err != nil { 8535 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 8536 } 8537 } 8538 } 8539 8540 if invalidParams.Len() > 0 { 8541 return invalidParams 8542 } 8543 return nil 8544} 8545 8546// SetCommand sets the Command field's value. 8547func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { 8548 s.Command = v 8549 return s 8550} 8551 8552// SetCpu sets the Cpu field's value. 8553func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride { 8554 s.Cpu = &v 8555 return s 8556} 8557 8558// SetEnvironment sets the Environment field's value. 8559func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride { 8560 s.Environment = v 8561 return s 8562} 8563 8564// SetEnvironmentFiles sets the EnvironmentFiles field's value. 8565func (s *ContainerOverride) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerOverride { 8566 s.EnvironmentFiles = v 8567 return s 8568} 8569 8570// SetMemory sets the Memory field's value. 8571func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { 8572 s.Memory = &v 8573 return s 8574} 8575 8576// SetMemoryReservation sets the MemoryReservation field's value. 8577func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride { 8578 s.MemoryReservation = &v 8579 return s 8580} 8581 8582// SetName sets the Name field's value. 8583func (s *ContainerOverride) SetName(v string) *ContainerOverride { 8584 s.Name = &v 8585 return s 8586} 8587 8588// SetResourceRequirements sets the ResourceRequirements field's value. 8589func (s *ContainerOverride) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverride { 8590 s.ResourceRequirements = v 8591 return s 8592} 8593 8594// An object representing a change in state for a container. 8595type ContainerStateChange struct { 8596 _ struct{} `type:"structure"` 8597 8598 // The name of the container. 8599 ContainerName *string `locationName:"containerName" type:"string"` 8600 8601 // The exit code for the container, if the state change is a result of the container 8602 // exiting. 8603 ExitCode *int64 `locationName:"exitCode" type:"integer"` 8604 8605 // The container image SHA 256 digest. 8606 ImageDigest *string `locationName:"imageDigest" type:"string"` 8607 8608 // Any network bindings associated with the container. 8609 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 8610 8611 // The reason for the state change. 8612 Reason *string `locationName:"reason" type:"string"` 8613 8614 // The ID of the Docker container. 8615 RuntimeId *string `locationName:"runtimeId" type:"string"` 8616 8617 // The status of the container. 8618 Status *string `locationName:"status" type:"string"` 8619} 8620 8621// String returns the string representation 8622func (s ContainerStateChange) String() string { 8623 return awsutil.Prettify(s) 8624} 8625 8626// GoString returns the string representation 8627func (s ContainerStateChange) GoString() string { 8628 return s.String() 8629} 8630 8631// SetContainerName sets the ContainerName field's value. 8632func (s *ContainerStateChange) SetContainerName(v string) *ContainerStateChange { 8633 s.ContainerName = &v 8634 return s 8635} 8636 8637// SetExitCode sets the ExitCode field's value. 8638func (s *ContainerStateChange) SetExitCode(v int64) *ContainerStateChange { 8639 s.ExitCode = &v 8640 return s 8641} 8642 8643// SetImageDigest sets the ImageDigest field's value. 8644func (s *ContainerStateChange) SetImageDigest(v string) *ContainerStateChange { 8645 s.ImageDigest = &v 8646 return s 8647} 8648 8649// SetNetworkBindings sets the NetworkBindings field's value. 8650func (s *ContainerStateChange) SetNetworkBindings(v []*NetworkBinding) *ContainerStateChange { 8651 s.NetworkBindings = v 8652 return s 8653} 8654 8655// SetReason sets the Reason field's value. 8656func (s *ContainerStateChange) SetReason(v string) *ContainerStateChange { 8657 s.Reason = &v 8658 return s 8659} 8660 8661// SetRuntimeId sets the RuntimeId field's value. 8662func (s *ContainerStateChange) SetRuntimeId(v string) *ContainerStateChange { 8663 s.RuntimeId = &v 8664 return s 8665} 8666 8667// SetStatus sets the Status field's value. 8668func (s *ContainerStateChange) SetStatus(v string) *ContainerStateChange { 8669 s.Status = &v 8670 return s 8671} 8672 8673type CreateCapacityProviderInput struct { 8674 _ struct{} `type:"structure"` 8675 8676 // The details of the Auto Scaling group for the capacity provider. 8677 // 8678 // AutoScalingGroupProvider is a required field 8679 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` 8680 8681 // The name of the capacity provider. Up to 255 characters are allowed, including 8682 // letters (upper and lowercase), numbers, underscores, and hyphens. The name 8683 // cannot be prefixed with "aws", "ecs", or "fargate". 8684 // 8685 // Name is a required field 8686 Name *string `locationName:"name" type:"string" required:"true"` 8687 8688 // The metadata that you apply to the capacity provider to help you categorize 8689 // and organize them. Each tag consists of a key and an optional value, both 8690 // of which you define. 8691 // 8692 // The following basic restrictions apply to tags: 8693 // 8694 // * Maximum number of tags per resource - 50 8695 // 8696 // * For each resource, each tag key must be unique, and each tag key can 8697 // have only one value. 8698 // 8699 // * Maximum key length - 128 Unicode characters in UTF-8 8700 // 8701 // * Maximum value length - 256 Unicode characters in UTF-8 8702 // 8703 // * If your tagging schema is used across multiple services and resources, 8704 // remember that other services may have restrictions on allowed characters. 8705 // Generally allowed characters are: letters, numbers, and spaces representable 8706 // in UTF-8, and the following characters: + - = . _ : / @. 8707 // 8708 // * Tag keys and values are case-sensitive. 8709 // 8710 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8711 // as a prefix for either keys or values as it is reserved for AWS use. You 8712 // cannot edit or delete tag keys or values with this prefix. Tags with this 8713 // prefix do not count against your tags per resource limit. 8714 Tags []*Tag `locationName:"tags" type:"list"` 8715} 8716 8717// String returns the string representation 8718func (s CreateCapacityProviderInput) String() string { 8719 return awsutil.Prettify(s) 8720} 8721 8722// GoString returns the string representation 8723func (s CreateCapacityProviderInput) GoString() string { 8724 return s.String() 8725} 8726 8727// Validate inspects the fields of the type to determine if they are valid. 8728func (s *CreateCapacityProviderInput) Validate() error { 8729 invalidParams := request.ErrInvalidParams{Context: "CreateCapacityProviderInput"} 8730 if s.AutoScalingGroupProvider == nil { 8731 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) 8732 } 8733 if s.Name == nil { 8734 invalidParams.Add(request.NewErrParamRequired("Name")) 8735 } 8736 if s.AutoScalingGroupProvider != nil { 8737 if err := s.AutoScalingGroupProvider.Validate(); err != nil { 8738 invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) 8739 } 8740 } 8741 if s.Tags != nil { 8742 for i, v := range s.Tags { 8743 if v == nil { 8744 continue 8745 } 8746 if err := v.Validate(); err != nil { 8747 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8748 } 8749 } 8750 } 8751 8752 if invalidParams.Len() > 0 { 8753 return invalidParams 8754 } 8755 return nil 8756} 8757 8758// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 8759func (s *CreateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CreateCapacityProviderInput { 8760 s.AutoScalingGroupProvider = v 8761 return s 8762} 8763 8764// SetName sets the Name field's value. 8765func (s *CreateCapacityProviderInput) SetName(v string) *CreateCapacityProviderInput { 8766 s.Name = &v 8767 return s 8768} 8769 8770// SetTags sets the Tags field's value. 8771func (s *CreateCapacityProviderInput) SetTags(v []*Tag) *CreateCapacityProviderInput { 8772 s.Tags = v 8773 return s 8774} 8775 8776type CreateCapacityProviderOutput struct { 8777 _ struct{} `type:"structure"` 8778 8779 // The full description of the new capacity provider. 8780 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 8781} 8782 8783// String returns the string representation 8784func (s CreateCapacityProviderOutput) String() string { 8785 return awsutil.Prettify(s) 8786} 8787 8788// GoString returns the string representation 8789func (s CreateCapacityProviderOutput) GoString() string { 8790 return s.String() 8791} 8792 8793// SetCapacityProvider sets the CapacityProvider field's value. 8794func (s *CreateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *CreateCapacityProviderOutput { 8795 s.CapacityProvider = v 8796 return s 8797} 8798 8799type CreateClusterInput struct { 8800 _ struct{} `type:"structure"` 8801 8802 // The short name of one or more capacity providers to associate with the cluster. 8803 // 8804 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8805 // provider must already be created and not already associated with another 8806 // cluster. New capacity providers can be created with the CreateCapacityProvider 8807 // API operation. 8808 // 8809 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8810 // capacity providers. The AWS Fargate capacity providers are available to all 8811 // accounts and only need to be associated with a cluster to be used. 8812 // 8813 // The PutClusterCapacityProviders API operation is used to update the list 8814 // of available capacity providers for a cluster after the cluster is created. 8815 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 8816 8817 // The name of your cluster. If you do not specify a name for your cluster, 8818 // you create a cluster named default. Up to 255 letters (uppercase and lowercase), 8819 // numbers, and hyphens are allowed. 8820 ClusterName *string `locationName:"clusterName" type:"string"` 8821 8822 // The capacity provider strategy to use by default for the cluster. 8823 // 8824 // When creating a service or running a task on a cluster, if no capacity provider 8825 // or launch type is specified then the default capacity provider strategy for 8826 // the cluster is used. 8827 // 8828 // A capacity provider strategy consists of one or more capacity providers along 8829 // with the base and weight to assign to them. A capacity provider must be associated 8830 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8831 // API is used to associate a capacity provider with a cluster. Only capacity 8832 // providers with an ACTIVE or UPDATING status can be used. 8833 // 8834 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8835 // provider must already be created. New capacity providers can be created with 8836 // the CreateCapacityProvider API operation. 8837 // 8838 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8839 // capacity providers. The AWS Fargate capacity providers are available to all 8840 // accounts and only need to be associated with a cluster to be used. 8841 // 8842 // If a default capacity provider strategy is not defined for a cluster during 8843 // creation, it can be defined later with the PutClusterCapacityProviders API 8844 // operation. 8845 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 8846 8847 // The setting to use when creating a cluster. This parameter is used to enable 8848 // CloudWatch Container Insights for a cluster. If this value is specified, 8849 // it will override the containerInsights value set with PutAccountSetting or 8850 // PutAccountSettingDefault. 8851 Settings []*ClusterSetting `locationName:"settings" type:"list"` 8852 8853 // The metadata that you apply to the cluster to help you categorize and organize 8854 // them. Each tag consists of a key and an optional value, both of which you 8855 // define. 8856 // 8857 // The following basic restrictions apply to tags: 8858 // 8859 // * Maximum number of tags per resource - 50 8860 // 8861 // * For each resource, each tag key must be unique, and each tag key can 8862 // have only one value. 8863 // 8864 // * Maximum key length - 128 Unicode characters in UTF-8 8865 // 8866 // * Maximum value length - 256 Unicode characters in UTF-8 8867 // 8868 // * If your tagging schema is used across multiple services and resources, 8869 // remember that other services may have restrictions on allowed characters. 8870 // Generally allowed characters are: letters, numbers, and spaces representable 8871 // in UTF-8, and the following characters: + - = . _ : / @. 8872 // 8873 // * Tag keys and values are case-sensitive. 8874 // 8875 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8876 // as a prefix for either keys or values as it is reserved for AWS use. You 8877 // cannot edit or delete tag keys or values with this prefix. Tags with this 8878 // prefix do not count against your tags per resource limit. 8879 Tags []*Tag `locationName:"tags" type:"list"` 8880} 8881 8882// String returns the string representation 8883func (s CreateClusterInput) String() string { 8884 return awsutil.Prettify(s) 8885} 8886 8887// GoString returns the string representation 8888func (s CreateClusterInput) GoString() string { 8889 return s.String() 8890} 8891 8892// Validate inspects the fields of the type to determine if they are valid. 8893func (s *CreateClusterInput) Validate() error { 8894 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 8895 if s.DefaultCapacityProviderStrategy != nil { 8896 for i, v := range s.DefaultCapacityProviderStrategy { 8897 if v == nil { 8898 continue 8899 } 8900 if err := v.Validate(); err != nil { 8901 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 8902 } 8903 } 8904 } 8905 if s.Tags != nil { 8906 for i, v := range s.Tags { 8907 if v == nil { 8908 continue 8909 } 8910 if err := v.Validate(); err != nil { 8911 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8912 } 8913 } 8914 } 8915 8916 if invalidParams.Len() > 0 { 8917 return invalidParams 8918 } 8919 return nil 8920} 8921 8922// SetCapacityProviders sets the CapacityProviders field's value. 8923func (s *CreateClusterInput) SetCapacityProviders(v []*string) *CreateClusterInput { 8924 s.CapacityProviders = v 8925 return s 8926} 8927 8928// SetClusterName sets the ClusterName field's value. 8929func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { 8930 s.ClusterName = &v 8931 return s 8932} 8933 8934// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 8935func (s *CreateClusterInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateClusterInput { 8936 s.DefaultCapacityProviderStrategy = v 8937 return s 8938} 8939 8940// SetSettings sets the Settings field's value. 8941func (s *CreateClusterInput) SetSettings(v []*ClusterSetting) *CreateClusterInput { 8942 s.Settings = v 8943 return s 8944} 8945 8946// SetTags sets the Tags field's value. 8947func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { 8948 s.Tags = v 8949 return s 8950} 8951 8952type CreateClusterOutput struct { 8953 _ struct{} `type:"structure"` 8954 8955 // The full description of your new cluster. 8956 Cluster *Cluster `locationName:"cluster" type:"structure"` 8957} 8958 8959// String returns the string representation 8960func (s CreateClusterOutput) String() string { 8961 return awsutil.Prettify(s) 8962} 8963 8964// GoString returns the string representation 8965func (s CreateClusterOutput) GoString() string { 8966 return s.String() 8967} 8968 8969// SetCluster sets the Cluster field's value. 8970func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 8971 s.Cluster = v 8972 return s 8973} 8974 8975type CreateServiceInput struct { 8976 _ struct{} `type:"structure"` 8977 8978 // The capacity provider strategy to use for the service. 8979 // 8980 // A capacity provider strategy consists of one or more capacity providers along 8981 // with the base and weight to assign to them. A capacity provider must be associated 8982 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8983 // API is used to associate a capacity provider with a cluster. Only capacity 8984 // providers with an ACTIVE or UPDATING status can be used. 8985 // 8986 // If a capacityProviderStrategy is specified, the launchType parameter must 8987 // be omitted. If no capacityProviderStrategy or launchType is specified, the 8988 // defaultCapacityProviderStrategy for the cluster is used. 8989 // 8990 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8991 // provider must already be created. New capacity providers can be created with 8992 // the CreateCapacityProvider API operation. 8993 // 8994 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8995 // capacity providers. The AWS Fargate capacity providers are available to all 8996 // accounts and only need to be associated with a cluster to be used. 8997 // 8998 // The PutClusterCapacityProviders API operation is used to update the list 8999 // of available capacity providers for a cluster after the cluster is created. 9000 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9001 9002 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9003 // of the request. Up to 32 ASCII characters are allowed. 9004 ClientToken *string `locationName:"clientToken" type:"string"` 9005 9006 // The short name or full Amazon Resource Name (ARN) of the cluster on which 9007 // to run your service. If you do not specify a cluster, the default cluster 9008 // is assumed. 9009 Cluster *string `locationName:"cluster" type:"string"` 9010 9011 // Optional deployment parameters that control how many tasks run during the 9012 // deployment and the ordering of stopping and starting tasks. 9013 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 9014 9015 // The deployment controller to use for the service. 9016 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 9017 9018 // The number of instantiations of the specified task definition to place and 9019 // keep running on your cluster. 9020 // 9021 // This is required if schedulingStrategy is REPLICA or is not specified. If 9022 // schedulingStrategy is DAEMON then this is not required. 9023 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 9024 9025 // Specifies whether to enable Amazon ECS managed tags for the tasks within 9026 // the service. For more information, see Tagging Your Amazon ECS Resources 9027 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 9028 // in the Amazon Elastic Container Service Developer Guide. 9029 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 9030 9031 // The period of time, in seconds, that the Amazon ECS service scheduler should 9032 // ignore unhealthy Elastic Load Balancing target health checks after a task 9033 // has first started. This is only used when your service is configured to use 9034 // a load balancer. If your service has a load balancer defined and you don't 9035 // specify a health check grace period value, the default value of 0 is used. 9036 // 9037 // If your service's tasks take a while to start and respond to Elastic Load 9038 // Balancing health checks, you can specify a health check grace period of up 9039 // to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler 9040 // ignores health check status. This grace period can prevent the service scheduler 9041 // from marking tasks as unhealthy and stopping them before they have time to 9042 // come up. 9043 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 9044 9045 // The launch type on which to run your service. For more information, see Amazon 9046 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9047 // in the Amazon Elastic Container Service Developer Guide. 9048 // 9049 // If a launchType is specified, the capacityProviderStrategy parameter must 9050 // be omitted. 9051 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9052 9053 // A load balancer object representing the load balancers to use with your service. 9054 // For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 9055 // in the Amazon Elastic Container Service Developer Guide. 9056 // 9057 // If the service is using the rolling update (ECS) deployment controller and 9058 // using either an Application Load Balancer or Network Load Balancer, you must 9059 // specify one or more target group ARNs to attach to the service. The service-linked 9060 // role is required for services that make use of multiple target groups. For 9061 // more information, see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 9062 // in the Amazon Elastic Container Service Developer Guide. 9063 // 9064 // If the service is using the CODE_DEPLOY deployment controller, the service 9065 // is required to use either an Application Load Balancer or Network Load Balancer. 9066 // When creating an AWS CodeDeploy deployment group, you specify two target 9067 // groups (referred to as a targetGroupPair). During a deployment, AWS CodeDeploy 9068 // determines which task set in your service has the status PRIMARY and associates 9069 // one target group with it, and then associates the other target group with 9070 // the replacement task set. The load balancer can also have up to two listeners: 9071 // a required listener for production traffic and an optional listener that 9072 // allows you perform validation tests with Lambda functions before routing 9073 // production traffic to it. 9074 // 9075 // After you create a service using the ECS deployment controller, the load 9076 // balancer name or target group ARN, container name, and container port specified 9077 // in the service definition are immutable. If you are using the CODE_DEPLOY 9078 // deployment controller, these values can be changed when updating the service. 9079 // 9080 // For Application Load Balancers and Network Load Balancers, this object must 9081 // contain the load balancer target group ARN, the container name (as it appears 9082 // in a container definition), and the container port to access from the load 9083 // balancer. The load balancer name parameter must be omitted. When a task from 9084 // this service is placed on a container instance, the container instance and 9085 // port combination is registered as a target in the target group specified 9086 // here. 9087 // 9088 // For Classic Load Balancers, this object must contain the load balancer name, 9089 // the container name (as it appears in a container definition), and the container 9090 // port to access from the load balancer. The target group ARN parameter must 9091 // be omitted. When a task from this service is placed on a container instance, 9092 // the container instance is registered with the load balancer specified here. 9093 // 9094 // Services with tasks that use the awsvpc network mode (for example, those 9095 // with the Fargate launch type) only support Application Load Balancers and 9096 // Network Load Balancers. Classic Load Balancers are not supported. Also, when 9097 // you create any target groups for these services, you must choose ip as the 9098 // target type, not instance, because tasks that use the awsvpc network mode 9099 // are associated with an elastic network interface, not an Amazon EC2 instance. 9100 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 9101 9102 // The network configuration for the service. This parameter is required for 9103 // task definitions that use the awsvpc network mode to receive their own elastic 9104 // network interface, and it is not supported for other network modes. For more 9105 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 9106 // in the Amazon Elastic Container Service Developer Guide. 9107 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9108 9109 // An array of placement constraint objects to use for tasks in your service. 9110 // You can specify a maximum of 10 constraints per task (this limit includes 9111 // constraints in the task definition and those specified at runtime). 9112 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 9113 9114 // The placement strategy objects to use for tasks in your service. You can 9115 // specify a maximum of five strategy rules per service. 9116 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 9117 9118 // The platform version that your tasks in the service are running on. A platform 9119 // version is specified only for tasks using the Fargate launch type. If one 9120 // isn't specified, the LATEST platform version is used by default. For more 9121 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 9122 // in the Amazon Elastic Container Service Developer Guide. 9123 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9124 9125 // Specifies whether to propagate the tags from the task definition or the service 9126 // to the tasks in the service. If no value is specified, the tags are not propagated. 9127 // Tags can only be propagated to the tasks within the service during service 9128 // creation. To add tags to a task after service creation, use the TagResource 9129 // API action. 9130 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 9131 9132 // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon 9133 // ECS to make calls to your load balancer on your behalf. This parameter is 9134 // only permitted if you are using a load balancer with your service and your 9135 // task definition does not use the awsvpc network mode. If you specify the 9136 // role parameter, you must also specify a load balancer object with the loadBalancers 9137 // parameter. 9138 // 9139 // If your account has already created the Amazon ECS service-linked role, that 9140 // role is used by default for your service unless you specify a role here. 9141 // The service-linked role is required if your task definition uses the awsvpc 9142 // network mode or if the service is configured to use service discovery, an 9143 // external deployment controller, multiple target groups, or Elastic Inference 9144 // accelerators in which case you should not specify a role here. For more information, 9145 // see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 9146 // in the Amazon Elastic Container Service Developer Guide. 9147 // 9148 // If your specified role has a path other than /, then you must either specify 9149 // the full role ARN (this is recommended) or prefix the role name with the 9150 // path. For example, if a role with the name bar has a path of /foo/ then you 9151 // would specify /foo/bar as the role name. For more information, see Friendly 9152 // Names and Paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 9153 // in the IAM User Guide. 9154 Role *string `locationName:"role" type:"string"` 9155 9156 // The scheduling strategy to use for the service. For more information, see 9157 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 9158 // 9159 // There are two service scheduler strategies available: 9160 // 9161 // * REPLICA-The replica scheduling strategy places and maintains the desired 9162 // number of tasks across your cluster. By default, the service scheduler 9163 // spreads tasks across Availability Zones. You can use task placement strategies 9164 // and constraints to customize task placement decisions. This scheduler 9165 // strategy is required if the service is using the CODE_DEPLOY or EXTERNAL 9166 // deployment controller types. 9167 // 9168 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 9169 // active container instance that meets all of the task placement constraints 9170 // that you specify in your cluster. The service scheduler also evaluates 9171 // the task placement constraints for running tasks and will stop tasks that 9172 // do not meet the placement constraints. When you're using this strategy, 9173 // you don't need to specify a desired number of tasks, a task placement 9174 // strategy, or use Service Auto Scaling policies. Tasks using the Fargate 9175 // launch type or the CODE_DEPLOY or EXTERNAL deployment controller types 9176 // don't support the DAEMON scheduling strategy. 9177 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 9178 9179 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 9180 // and hyphens are allowed. Service names must be unique within a cluster, but 9181 // you can have similarly named services in multiple clusters within a Region 9182 // or across multiple Regions. 9183 // 9184 // ServiceName is a required field 9185 ServiceName *string `locationName:"serviceName" type:"string" required:"true"` 9186 9187 // The details of the service discovery registries to assign to this service. 9188 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 9189 // 9190 // Service discovery is supported for Fargate tasks if you are using platform 9191 // version v1.1.0 or later. For more information, see AWS Fargate Platform Versions 9192 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 9193 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 9194 9195 // The metadata that you apply to the service to help you categorize and organize 9196 // them. Each tag consists of a key and an optional value, both of which you 9197 // define. When a service is deleted, the tags are deleted as well. 9198 // 9199 // The following basic restrictions apply to tags: 9200 // 9201 // * Maximum number of tags per resource - 50 9202 // 9203 // * For each resource, each tag key must be unique, and each tag key can 9204 // have only one value. 9205 // 9206 // * Maximum key length - 128 Unicode characters in UTF-8 9207 // 9208 // * Maximum value length - 256 Unicode characters in UTF-8 9209 // 9210 // * If your tagging schema is used across multiple services and resources, 9211 // remember that other services may have restrictions on allowed characters. 9212 // Generally allowed characters are: letters, numbers, and spaces representable 9213 // in UTF-8, and the following characters: + - = . _ : / @. 9214 // 9215 // * Tag keys and values are case-sensitive. 9216 // 9217 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9218 // as a prefix for either keys or values as it is reserved for AWS use. You 9219 // cannot edit or delete tag keys or values with this prefix. Tags with this 9220 // prefix do not count against your tags per resource limit. 9221 Tags []*Tag `locationName:"tags" type:"list"` 9222 9223 // The family and revision (family:revision) or full ARN of the task definition 9224 // to run in your service. If a revision is not specified, the latest ACTIVE 9225 // revision is used. 9226 // 9227 // A task definition must be specified if the service is using either the ECS 9228 // or CODE_DEPLOY deployment controllers. 9229 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 9230} 9231 9232// String returns the string representation 9233func (s CreateServiceInput) String() string { 9234 return awsutil.Prettify(s) 9235} 9236 9237// GoString returns the string representation 9238func (s CreateServiceInput) GoString() string { 9239 return s.String() 9240} 9241 9242// Validate inspects the fields of the type to determine if they are valid. 9243func (s *CreateServiceInput) Validate() error { 9244 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 9245 if s.ServiceName == nil { 9246 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 9247 } 9248 if s.CapacityProviderStrategy != nil { 9249 for i, v := range s.CapacityProviderStrategy { 9250 if v == nil { 9251 continue 9252 } 9253 if err := v.Validate(); err != nil { 9254 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9255 } 9256 } 9257 } 9258 if s.DeploymentConfiguration != nil { 9259 if err := s.DeploymentConfiguration.Validate(); err != nil { 9260 invalidParams.AddNested("DeploymentConfiguration", err.(request.ErrInvalidParams)) 9261 } 9262 } 9263 if s.DeploymentController != nil { 9264 if err := s.DeploymentController.Validate(); err != nil { 9265 invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) 9266 } 9267 } 9268 if s.NetworkConfiguration != nil { 9269 if err := s.NetworkConfiguration.Validate(); err != nil { 9270 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 9271 } 9272 } 9273 if s.Tags != nil { 9274 for i, v := range s.Tags { 9275 if v == nil { 9276 continue 9277 } 9278 if err := v.Validate(); err != nil { 9279 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9280 } 9281 } 9282 } 9283 9284 if invalidParams.Len() > 0 { 9285 return invalidParams 9286 } 9287 return nil 9288} 9289 9290// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9291func (s *CreateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateServiceInput { 9292 s.CapacityProviderStrategy = v 9293 return s 9294} 9295 9296// SetClientToken sets the ClientToken field's value. 9297func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput { 9298 s.ClientToken = &v 9299 return s 9300} 9301 9302// SetCluster sets the Cluster field's value. 9303func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput { 9304 s.Cluster = &v 9305 return s 9306} 9307 9308// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 9309func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput { 9310 s.DeploymentConfiguration = v 9311 return s 9312} 9313 9314// SetDeploymentController sets the DeploymentController field's value. 9315func (s *CreateServiceInput) SetDeploymentController(v *DeploymentController) *CreateServiceInput { 9316 s.DeploymentController = v 9317 return s 9318} 9319 9320// SetDesiredCount sets the DesiredCount field's value. 9321func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput { 9322 s.DesiredCount = &v 9323 return s 9324} 9325 9326// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 9327func (s *CreateServiceInput) SetEnableECSManagedTags(v bool) *CreateServiceInput { 9328 s.EnableECSManagedTags = &v 9329 return s 9330} 9331 9332// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 9333func (s *CreateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *CreateServiceInput { 9334 s.HealthCheckGracePeriodSeconds = &v 9335 return s 9336} 9337 9338// SetLaunchType sets the LaunchType field's value. 9339func (s *CreateServiceInput) SetLaunchType(v string) *CreateServiceInput { 9340 s.LaunchType = &v 9341 return s 9342} 9343 9344// SetLoadBalancers sets the LoadBalancers field's value. 9345func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput { 9346 s.LoadBalancers = v 9347 return s 9348} 9349 9350// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9351func (s *CreateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateServiceInput { 9352 s.NetworkConfiguration = v 9353 return s 9354} 9355 9356// SetPlacementConstraints sets the PlacementConstraints field's value. 9357func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput { 9358 s.PlacementConstraints = v 9359 return s 9360} 9361 9362// SetPlacementStrategy sets the PlacementStrategy field's value. 9363func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput { 9364 s.PlacementStrategy = v 9365 return s 9366} 9367 9368// SetPlatformVersion sets the PlatformVersion field's value. 9369func (s *CreateServiceInput) SetPlatformVersion(v string) *CreateServiceInput { 9370 s.PlatformVersion = &v 9371 return s 9372} 9373 9374// SetPropagateTags sets the PropagateTags field's value. 9375func (s *CreateServiceInput) SetPropagateTags(v string) *CreateServiceInput { 9376 s.PropagateTags = &v 9377 return s 9378} 9379 9380// SetRole sets the Role field's value. 9381func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput { 9382 s.Role = &v 9383 return s 9384} 9385 9386// SetSchedulingStrategy sets the SchedulingStrategy field's value. 9387func (s *CreateServiceInput) SetSchedulingStrategy(v string) *CreateServiceInput { 9388 s.SchedulingStrategy = &v 9389 return s 9390} 9391 9392// SetServiceName sets the ServiceName field's value. 9393func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput { 9394 s.ServiceName = &v 9395 return s 9396} 9397 9398// SetServiceRegistries sets the ServiceRegistries field's value. 9399func (s *CreateServiceInput) SetServiceRegistries(v []*ServiceRegistry) *CreateServiceInput { 9400 s.ServiceRegistries = v 9401 return s 9402} 9403 9404// SetTags sets the Tags field's value. 9405func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { 9406 s.Tags = v 9407 return s 9408} 9409 9410// SetTaskDefinition sets the TaskDefinition field's value. 9411func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput { 9412 s.TaskDefinition = &v 9413 return s 9414} 9415 9416type CreateServiceOutput struct { 9417 _ struct{} `type:"structure"` 9418 9419 // The full description of your service following the create call. 9420 // 9421 // If a service is using the ECS deployment controller, the deploymentController 9422 // and taskSets parameters will not be returned. 9423 // 9424 // If the service is using the CODE_DEPLOY deployment controller, the deploymentController, 9425 // taskSets and deployments parameters will be returned, however the deployments 9426 // parameter will be an empty list. 9427 Service *Service `locationName:"service" type:"structure"` 9428} 9429 9430// String returns the string representation 9431func (s CreateServiceOutput) String() string { 9432 return awsutil.Prettify(s) 9433} 9434 9435// GoString returns the string representation 9436func (s CreateServiceOutput) GoString() string { 9437 return s.String() 9438} 9439 9440// SetService sets the Service field's value. 9441func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 9442 s.Service = v 9443 return s 9444} 9445 9446type CreateTaskSetInput struct { 9447 _ struct{} `type:"structure"` 9448 9449 // The capacity provider strategy to use for the task set. 9450 // 9451 // A capacity provider strategy consists of one or more capacity providers along 9452 // with the base and weight to assign to them. A capacity provider must be associated 9453 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 9454 // API is used to associate a capacity provider with a cluster. Only capacity 9455 // providers with an ACTIVE or UPDATING status can be used. 9456 // 9457 // If a capacityProviderStrategy is specified, the launchType parameter must 9458 // be omitted. If no capacityProviderStrategy or launchType is specified, the 9459 // defaultCapacityProviderStrategy for the cluster is used. 9460 // 9461 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 9462 // provider must already be created. New capacity providers can be created with 9463 // the CreateCapacityProvider API operation. 9464 // 9465 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 9466 // capacity providers. The AWS Fargate capacity providers are available to all 9467 // accounts and only need to be associated with a cluster to be used. 9468 // 9469 // The PutClusterCapacityProviders API operation is used to update the list 9470 // of available capacity providers for a cluster after the cluster is created. 9471 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9472 9473 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9474 // of the request. Up to 32 ASCII characters are allowed. 9475 ClientToken *string `locationName:"clientToken" type:"string"` 9476 9477 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9478 // the service to create the task set in. 9479 // 9480 // Cluster is a required field 9481 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9482 9483 // An optional non-unique tag that identifies this task set in external systems. 9484 // If the task set is associated with a service discovery registry, the tasks 9485 // in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute 9486 // set to the provided value. 9487 ExternalId *string `locationName:"externalId" type:"string"` 9488 9489 // The launch type that new tasks in the task set will use. For more information, 9490 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9491 // in the Amazon Elastic Container Service Developer Guide. 9492 // 9493 // If a launchType is specified, the capacityProviderStrategy parameter must 9494 // be omitted. 9495 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9496 9497 // A load balancer object representing the load balancer to use with the task 9498 // set. The supported load balancer types are either an Application Load Balancer 9499 // or a Network Load Balancer. 9500 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 9501 9502 // An object representing the network configuration for a task or service. 9503 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9504 9505 // The platform version that the tasks in the task set should use. A platform 9506 // version is specified only for tasks using the Fargate launch type. If one 9507 // isn't specified, the LATEST platform version is used by default. 9508 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9509 9510 // A floating-point percentage of the desired number of tasks to place and keep 9511 // running in the task set. 9512 Scale *Scale `locationName:"scale" type:"structure"` 9513 9514 // The short name or full Amazon Resource Name (ARN) of the service to create 9515 // the task set in. 9516 // 9517 // Service is a required field 9518 Service *string `locationName:"service" type:"string" required:"true"` 9519 9520 // The details of the service discovery registries to assign to this task set. 9521 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 9522 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 9523 9524 // The metadata that you apply to the task set to help you categorize and organize 9525 // them. Each tag consists of a key and an optional value, both of which you 9526 // define. When a service is deleted, the tags are deleted as well. 9527 // 9528 // The following basic restrictions apply to tags: 9529 // 9530 // * Maximum number of tags per resource - 50 9531 // 9532 // * For each resource, each tag key must be unique, and each tag key can 9533 // have only one value. 9534 // 9535 // * Maximum key length - 128 Unicode characters in UTF-8 9536 // 9537 // * Maximum value length - 256 Unicode characters in UTF-8 9538 // 9539 // * If your tagging schema is used across multiple services and resources, 9540 // remember that other services may have restrictions on allowed characters. 9541 // Generally allowed characters are: letters, numbers, and spaces representable 9542 // in UTF-8, and the following characters: + - = . _ : / @. 9543 // 9544 // * Tag keys and values are case-sensitive. 9545 // 9546 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9547 // as a prefix for either keys or values as it is reserved for AWS use. You 9548 // cannot edit or delete tag keys or values with this prefix. Tags with this 9549 // prefix do not count against your tags per resource limit. 9550 Tags []*Tag `locationName:"tags" type:"list"` 9551 9552 // The task definition for the tasks in the task set to use. 9553 // 9554 // TaskDefinition is a required field 9555 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 9556} 9557 9558// String returns the string representation 9559func (s CreateTaskSetInput) String() string { 9560 return awsutil.Prettify(s) 9561} 9562 9563// GoString returns the string representation 9564func (s CreateTaskSetInput) GoString() string { 9565 return s.String() 9566} 9567 9568// Validate inspects the fields of the type to determine if they are valid. 9569func (s *CreateTaskSetInput) Validate() error { 9570 invalidParams := request.ErrInvalidParams{Context: "CreateTaskSetInput"} 9571 if s.Cluster == nil { 9572 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9573 } 9574 if s.Service == nil { 9575 invalidParams.Add(request.NewErrParamRequired("Service")) 9576 } 9577 if s.TaskDefinition == nil { 9578 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 9579 } 9580 if s.CapacityProviderStrategy != nil { 9581 for i, v := range s.CapacityProviderStrategy { 9582 if v == nil { 9583 continue 9584 } 9585 if err := v.Validate(); err != nil { 9586 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9587 } 9588 } 9589 } 9590 if s.NetworkConfiguration != nil { 9591 if err := s.NetworkConfiguration.Validate(); err != nil { 9592 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 9593 } 9594 } 9595 if s.Tags != nil { 9596 for i, v := range s.Tags { 9597 if v == nil { 9598 continue 9599 } 9600 if err := v.Validate(); err != nil { 9601 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9602 } 9603 } 9604 } 9605 9606 if invalidParams.Len() > 0 { 9607 return invalidParams 9608 } 9609 return nil 9610} 9611 9612// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9613func (s *CreateTaskSetInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateTaskSetInput { 9614 s.CapacityProviderStrategy = v 9615 return s 9616} 9617 9618// SetClientToken sets the ClientToken field's value. 9619func (s *CreateTaskSetInput) SetClientToken(v string) *CreateTaskSetInput { 9620 s.ClientToken = &v 9621 return s 9622} 9623 9624// SetCluster sets the Cluster field's value. 9625func (s *CreateTaskSetInput) SetCluster(v string) *CreateTaskSetInput { 9626 s.Cluster = &v 9627 return s 9628} 9629 9630// SetExternalId sets the ExternalId field's value. 9631func (s *CreateTaskSetInput) SetExternalId(v string) *CreateTaskSetInput { 9632 s.ExternalId = &v 9633 return s 9634} 9635 9636// SetLaunchType sets the LaunchType field's value. 9637func (s *CreateTaskSetInput) SetLaunchType(v string) *CreateTaskSetInput { 9638 s.LaunchType = &v 9639 return s 9640} 9641 9642// SetLoadBalancers sets the LoadBalancers field's value. 9643func (s *CreateTaskSetInput) SetLoadBalancers(v []*LoadBalancer) *CreateTaskSetInput { 9644 s.LoadBalancers = v 9645 return s 9646} 9647 9648// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9649func (s *CreateTaskSetInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateTaskSetInput { 9650 s.NetworkConfiguration = v 9651 return s 9652} 9653 9654// SetPlatformVersion sets the PlatformVersion field's value. 9655func (s *CreateTaskSetInput) SetPlatformVersion(v string) *CreateTaskSetInput { 9656 s.PlatformVersion = &v 9657 return s 9658} 9659 9660// SetScale sets the Scale field's value. 9661func (s *CreateTaskSetInput) SetScale(v *Scale) *CreateTaskSetInput { 9662 s.Scale = v 9663 return s 9664} 9665 9666// SetService sets the Service field's value. 9667func (s *CreateTaskSetInput) SetService(v string) *CreateTaskSetInput { 9668 s.Service = &v 9669 return s 9670} 9671 9672// SetServiceRegistries sets the ServiceRegistries field's value. 9673func (s *CreateTaskSetInput) SetServiceRegistries(v []*ServiceRegistry) *CreateTaskSetInput { 9674 s.ServiceRegistries = v 9675 return s 9676} 9677 9678// SetTags sets the Tags field's value. 9679func (s *CreateTaskSetInput) SetTags(v []*Tag) *CreateTaskSetInput { 9680 s.Tags = v 9681 return s 9682} 9683 9684// SetTaskDefinition sets the TaskDefinition field's value. 9685func (s *CreateTaskSetInput) SetTaskDefinition(v string) *CreateTaskSetInput { 9686 s.TaskDefinition = &v 9687 return s 9688} 9689 9690type CreateTaskSetOutput struct { 9691 _ struct{} `type:"structure"` 9692 9693 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 9694 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 9695 // desired number of tasks, how many tasks are running, and whether the task 9696 // set serves production traffic. 9697 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 9698} 9699 9700// String returns the string representation 9701func (s CreateTaskSetOutput) String() string { 9702 return awsutil.Prettify(s) 9703} 9704 9705// GoString returns the string representation 9706func (s CreateTaskSetOutput) GoString() string { 9707 return s.String() 9708} 9709 9710// SetTaskSet sets the TaskSet field's value. 9711func (s *CreateTaskSetOutput) SetTaskSet(v *TaskSet) *CreateTaskSetOutput { 9712 s.TaskSet = v 9713 return s 9714} 9715 9716type DeleteAccountSettingInput struct { 9717 _ struct{} `type:"structure"` 9718 9719 // The resource name for which to disable the account setting. If serviceLongArnFormat 9720 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 9721 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 9722 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 9723 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 9724 // the ENI limit for your Amazon ECS container instances is affected. 9725 // 9726 // Name is a required field 9727 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 9728 9729 // The ARN of the principal, which can be an IAM user, IAM role, or the root 9730 // user. If you specify the root user, it disables the account setting for all 9731 // IAM users, IAM roles, and the root user of the account unless an IAM user 9732 // or role explicitly overrides these settings. If this field is omitted, the 9733 // setting is changed only for the authenticated user. 9734 PrincipalArn *string `locationName:"principalArn" type:"string"` 9735} 9736 9737// String returns the string representation 9738func (s DeleteAccountSettingInput) String() string { 9739 return awsutil.Prettify(s) 9740} 9741 9742// GoString returns the string representation 9743func (s DeleteAccountSettingInput) GoString() string { 9744 return s.String() 9745} 9746 9747// Validate inspects the fields of the type to determine if they are valid. 9748func (s *DeleteAccountSettingInput) Validate() error { 9749 invalidParams := request.ErrInvalidParams{Context: "DeleteAccountSettingInput"} 9750 if s.Name == nil { 9751 invalidParams.Add(request.NewErrParamRequired("Name")) 9752 } 9753 9754 if invalidParams.Len() > 0 { 9755 return invalidParams 9756 } 9757 return nil 9758} 9759 9760// SetName sets the Name field's value. 9761func (s *DeleteAccountSettingInput) SetName(v string) *DeleteAccountSettingInput { 9762 s.Name = &v 9763 return s 9764} 9765 9766// SetPrincipalArn sets the PrincipalArn field's value. 9767func (s *DeleteAccountSettingInput) SetPrincipalArn(v string) *DeleteAccountSettingInput { 9768 s.PrincipalArn = &v 9769 return s 9770} 9771 9772type DeleteAccountSettingOutput struct { 9773 _ struct{} `type:"structure"` 9774 9775 // The account setting for the specified principal ARN. 9776 Setting *Setting `locationName:"setting" type:"structure"` 9777} 9778 9779// String returns the string representation 9780func (s DeleteAccountSettingOutput) String() string { 9781 return awsutil.Prettify(s) 9782} 9783 9784// GoString returns the string representation 9785func (s DeleteAccountSettingOutput) GoString() string { 9786 return s.String() 9787} 9788 9789// SetSetting sets the Setting field's value. 9790func (s *DeleteAccountSettingOutput) SetSetting(v *Setting) *DeleteAccountSettingOutput { 9791 s.Setting = v 9792 return s 9793} 9794 9795type DeleteAttributesInput struct { 9796 _ struct{} `type:"structure"` 9797 9798 // The attributes to delete from your resource. You can specify up to 10 attributes 9799 // per request. For custom attributes, specify the attribute name and target 9800 // ID, but do not specify the value. If you specify the target ID using the 9801 // short form, you must also specify the target type. 9802 // 9803 // Attributes is a required field 9804 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 9805 9806 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 9807 // the resource to delete attributes. If you do not specify a cluster, the default 9808 // cluster is assumed. 9809 Cluster *string `locationName:"cluster" type:"string"` 9810} 9811 9812// String returns the string representation 9813func (s DeleteAttributesInput) String() string { 9814 return awsutil.Prettify(s) 9815} 9816 9817// GoString returns the string representation 9818func (s DeleteAttributesInput) GoString() string { 9819 return s.String() 9820} 9821 9822// Validate inspects the fields of the type to determine if they are valid. 9823func (s *DeleteAttributesInput) Validate() error { 9824 invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} 9825 if s.Attributes == nil { 9826 invalidParams.Add(request.NewErrParamRequired("Attributes")) 9827 } 9828 if s.Attributes != nil { 9829 for i, v := range s.Attributes { 9830 if v == nil { 9831 continue 9832 } 9833 if err := v.Validate(); err != nil { 9834 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 9835 } 9836 } 9837 } 9838 9839 if invalidParams.Len() > 0 { 9840 return invalidParams 9841 } 9842 return nil 9843} 9844 9845// SetAttributes sets the Attributes field's value. 9846func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput { 9847 s.Attributes = v 9848 return s 9849} 9850 9851// SetCluster sets the Cluster field's value. 9852func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput { 9853 s.Cluster = &v 9854 return s 9855} 9856 9857type DeleteAttributesOutput struct { 9858 _ struct{} `type:"structure"` 9859 9860 // A list of attribute objects that were successfully deleted from your resource. 9861 Attributes []*Attribute `locationName:"attributes" type:"list"` 9862} 9863 9864// String returns the string representation 9865func (s DeleteAttributesOutput) String() string { 9866 return awsutil.Prettify(s) 9867} 9868 9869// GoString returns the string representation 9870func (s DeleteAttributesOutput) GoString() string { 9871 return s.String() 9872} 9873 9874// SetAttributes sets the Attributes field's value. 9875func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput { 9876 s.Attributes = v 9877 return s 9878} 9879 9880type DeleteCapacityProviderInput struct { 9881 _ struct{} `type:"structure"` 9882 9883 // The short name or full Amazon Resource Name (ARN) of the capacity provider 9884 // to delete. 9885 // 9886 // CapacityProvider is a required field 9887 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 9888} 9889 9890// String returns the string representation 9891func (s DeleteCapacityProviderInput) String() string { 9892 return awsutil.Prettify(s) 9893} 9894 9895// GoString returns the string representation 9896func (s DeleteCapacityProviderInput) GoString() string { 9897 return s.String() 9898} 9899 9900// Validate inspects the fields of the type to determine if they are valid. 9901func (s *DeleteCapacityProviderInput) Validate() error { 9902 invalidParams := request.ErrInvalidParams{Context: "DeleteCapacityProviderInput"} 9903 if s.CapacityProvider == nil { 9904 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 9905 } 9906 9907 if invalidParams.Len() > 0 { 9908 return invalidParams 9909 } 9910 return nil 9911} 9912 9913// SetCapacityProvider sets the CapacityProvider field's value. 9914func (s *DeleteCapacityProviderInput) SetCapacityProvider(v string) *DeleteCapacityProviderInput { 9915 s.CapacityProvider = &v 9916 return s 9917} 9918 9919type DeleteCapacityProviderOutput struct { 9920 _ struct{} `type:"structure"` 9921 9922 // The details of a capacity provider. 9923 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 9924} 9925 9926// String returns the string representation 9927func (s DeleteCapacityProviderOutput) String() string { 9928 return awsutil.Prettify(s) 9929} 9930 9931// GoString returns the string representation 9932func (s DeleteCapacityProviderOutput) GoString() string { 9933 return s.String() 9934} 9935 9936// SetCapacityProvider sets the CapacityProvider field's value. 9937func (s *DeleteCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *DeleteCapacityProviderOutput { 9938 s.CapacityProvider = v 9939 return s 9940} 9941 9942type DeleteClusterInput struct { 9943 _ struct{} `type:"structure"` 9944 9945 // The short name or full Amazon Resource Name (ARN) of the cluster to delete. 9946 // 9947 // Cluster is a required field 9948 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9949} 9950 9951// String returns the string representation 9952func (s DeleteClusterInput) String() string { 9953 return awsutil.Prettify(s) 9954} 9955 9956// GoString returns the string representation 9957func (s DeleteClusterInput) GoString() string { 9958 return s.String() 9959} 9960 9961// Validate inspects the fields of the type to determine if they are valid. 9962func (s *DeleteClusterInput) Validate() error { 9963 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 9964 if s.Cluster == nil { 9965 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9966 } 9967 9968 if invalidParams.Len() > 0 { 9969 return invalidParams 9970 } 9971 return nil 9972} 9973 9974// SetCluster sets the Cluster field's value. 9975func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput { 9976 s.Cluster = &v 9977 return s 9978} 9979 9980type DeleteClusterOutput struct { 9981 _ struct{} `type:"structure"` 9982 9983 // The full description of the deleted cluster. 9984 Cluster *Cluster `locationName:"cluster" type:"structure"` 9985} 9986 9987// String returns the string representation 9988func (s DeleteClusterOutput) String() string { 9989 return awsutil.Prettify(s) 9990} 9991 9992// GoString returns the string representation 9993func (s DeleteClusterOutput) GoString() string { 9994 return s.String() 9995} 9996 9997// SetCluster sets the Cluster field's value. 9998func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 9999 s.Cluster = v 10000 return s 10001} 10002 10003type DeleteServiceInput struct { 10004 _ struct{} `type:"structure"` 10005 10006 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10007 // the service to delete. If you do not specify a cluster, the default cluster 10008 // is assumed. 10009 Cluster *string `locationName:"cluster" type:"string"` 10010 10011 // If true, allows you to delete a service even if it has not been scaled down 10012 // to zero tasks. It is only necessary to use this if the service is using the 10013 // REPLICA scheduling strategy. 10014 Force *bool `locationName:"force" type:"boolean"` 10015 10016 // The name of the service to delete. 10017 // 10018 // Service is a required field 10019 Service *string `locationName:"service" type:"string" required:"true"` 10020} 10021 10022// String returns the string representation 10023func (s DeleteServiceInput) String() string { 10024 return awsutil.Prettify(s) 10025} 10026 10027// GoString returns the string representation 10028func (s DeleteServiceInput) GoString() string { 10029 return s.String() 10030} 10031 10032// Validate inspects the fields of the type to determine if they are valid. 10033func (s *DeleteServiceInput) Validate() error { 10034 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 10035 if s.Service == nil { 10036 invalidParams.Add(request.NewErrParamRequired("Service")) 10037 } 10038 10039 if invalidParams.Len() > 0 { 10040 return invalidParams 10041 } 10042 return nil 10043} 10044 10045// SetCluster sets the Cluster field's value. 10046func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput { 10047 s.Cluster = &v 10048 return s 10049} 10050 10051// SetForce sets the Force field's value. 10052func (s *DeleteServiceInput) SetForce(v bool) *DeleteServiceInput { 10053 s.Force = &v 10054 return s 10055} 10056 10057// SetService sets the Service field's value. 10058func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput { 10059 s.Service = &v 10060 return s 10061} 10062 10063type DeleteServiceOutput struct { 10064 _ struct{} `type:"structure"` 10065 10066 // The full description of the deleted service. 10067 Service *Service `locationName:"service" type:"structure"` 10068} 10069 10070// String returns the string representation 10071func (s DeleteServiceOutput) String() string { 10072 return awsutil.Prettify(s) 10073} 10074 10075// GoString returns the string representation 10076func (s DeleteServiceOutput) GoString() string { 10077 return s.String() 10078} 10079 10080// SetService sets the Service field's value. 10081func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { 10082 s.Service = v 10083 return s 10084} 10085 10086type DeleteTaskSetInput struct { 10087 _ struct{} `type:"structure"` 10088 10089 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10090 // the service that the task set exists in to delete. 10091 // 10092 // Cluster is a required field 10093 Cluster *string `locationName:"cluster" type:"string" required:"true"` 10094 10095 // If true, this allows you to delete a task set even if it hasn't been scaled 10096 // down to zero. 10097 Force *bool `locationName:"force" type:"boolean"` 10098 10099 // The short name or full Amazon Resource Name (ARN) of the service that hosts 10100 // the task set to delete. 10101 // 10102 // Service is a required field 10103 Service *string `locationName:"service" type:"string" required:"true"` 10104 10105 // The task set ID or full Amazon Resource Name (ARN) of the task set to delete. 10106 // 10107 // TaskSet is a required field 10108 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 10109} 10110 10111// String returns the string representation 10112func (s DeleteTaskSetInput) String() string { 10113 return awsutil.Prettify(s) 10114} 10115 10116// GoString returns the string representation 10117func (s DeleteTaskSetInput) GoString() string { 10118 return s.String() 10119} 10120 10121// Validate inspects the fields of the type to determine if they are valid. 10122func (s *DeleteTaskSetInput) Validate() error { 10123 invalidParams := request.ErrInvalidParams{Context: "DeleteTaskSetInput"} 10124 if s.Cluster == nil { 10125 invalidParams.Add(request.NewErrParamRequired("Cluster")) 10126 } 10127 if s.Service == nil { 10128 invalidParams.Add(request.NewErrParamRequired("Service")) 10129 } 10130 if s.TaskSet == nil { 10131 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 10132 } 10133 10134 if invalidParams.Len() > 0 { 10135 return invalidParams 10136 } 10137 return nil 10138} 10139 10140// SetCluster sets the Cluster field's value. 10141func (s *DeleteTaskSetInput) SetCluster(v string) *DeleteTaskSetInput { 10142 s.Cluster = &v 10143 return s 10144} 10145 10146// SetForce sets the Force field's value. 10147func (s *DeleteTaskSetInput) SetForce(v bool) *DeleteTaskSetInput { 10148 s.Force = &v 10149 return s 10150} 10151 10152// SetService sets the Service field's value. 10153func (s *DeleteTaskSetInput) SetService(v string) *DeleteTaskSetInput { 10154 s.Service = &v 10155 return s 10156} 10157 10158// SetTaskSet sets the TaskSet field's value. 10159func (s *DeleteTaskSetInput) SetTaskSet(v string) *DeleteTaskSetInput { 10160 s.TaskSet = &v 10161 return s 10162} 10163 10164type DeleteTaskSetOutput struct { 10165 _ struct{} `type:"structure"` 10166 10167 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 10168 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 10169 // desired number of tasks, how many tasks are running, and whether the task 10170 // set serves production traffic. 10171 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 10172} 10173 10174// String returns the string representation 10175func (s DeleteTaskSetOutput) String() string { 10176 return awsutil.Prettify(s) 10177} 10178 10179// GoString returns the string representation 10180func (s DeleteTaskSetOutput) GoString() string { 10181 return s.String() 10182} 10183 10184// SetTaskSet sets the TaskSet field's value. 10185func (s *DeleteTaskSetOutput) SetTaskSet(v *TaskSet) *DeleteTaskSetOutput { 10186 s.TaskSet = v 10187 return s 10188} 10189 10190// The details of an Amazon ECS service deployment. This is used only when a 10191// service uses the ECS deployment controller type. 10192type Deployment struct { 10193 _ struct{} `type:"structure"` 10194 10195 // The capacity provider strategy that the deployment is using. 10196 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 10197 10198 // The Unix timestamp for when the service deployment was created. 10199 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 10200 10201 // The most recent desired count of tasks that was specified for the service 10202 // to deploy or maintain. 10203 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 10204 10205 // The number of consecutively failed tasks in the deployment. A task is considered 10206 // a failure if the service scheduler can't launch the task, the task doesn't 10207 // transition to a RUNNING state, or if it fails any of its defined health checks 10208 // and is stopped. 10209 // 10210 // Once a service deployment has one or more successfully running tasks, the 10211 // failed task count resets to zero and stops being evaluated. 10212 FailedTasks *int64 `locationName:"failedTasks" type:"integer"` 10213 10214 // The ID of the deployment. 10215 Id *string `locationName:"id" type:"string"` 10216 10217 // The launch type the tasks in the service are using. For more information, 10218 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 10219 // in the Amazon Elastic Container Service Developer Guide. 10220 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 10221 10222 // The VPC subnet and security group configuration for tasks that receive their 10223 // own elastic network interface by using the awsvpc networking mode. 10224 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 10225 10226 // The number of tasks in the deployment that are in the PENDING status. 10227 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 10228 10229 // The platform version on which your tasks in the service are running. A platform 10230 // version is only specified for tasks using the Fargate launch type. If one 10231 // is not specified, the LATEST platform version is used by default. For more 10232 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 10233 // in the Amazon Elastic Container Service Developer Guide. 10234 PlatformVersion *string `locationName:"platformVersion" type:"string"` 10235 10236 // 10237 // The rolloutState of a service is only returned for services that use the 10238 // rolling update (ECS) deployment type that are not behind a Classic Load Balancer. 10239 // 10240 // The rollout state of the deployment. When a service deployment is started, 10241 // it begins in an IN_PROGRESS state. When the service reaches a steady state, 10242 // the deployment will transition to a COMPLETED state. If the service fails 10243 // to reach a steady state and circuit breaker is enabled, the deployment will 10244 // transition to a FAILED state. A deployment in FAILED state will launch no 10245 // new tasks. For more information, see DeploymentCircuitBreaker. 10246 RolloutState *string `locationName:"rolloutState" type:"string" enum:"DeploymentRolloutState"` 10247 10248 // A description of the rollout state of a deployment. 10249 RolloutStateReason *string `locationName:"rolloutStateReason" type:"string"` 10250 10251 // The number of tasks in the deployment that are in the RUNNING status. 10252 RunningCount *int64 `locationName:"runningCount" type:"integer"` 10253 10254 // The status of the deployment. The following describes each state: 10255 // 10256 // PRIMARY 10257 // 10258 // The most recent deployment of a service. 10259 // 10260 // ACTIVE 10261 // 10262 // A service deployment that still has running tasks, but are in the process 10263 // of being replaced with a new PRIMARY deployment. 10264 // 10265 // INACTIVE 10266 // 10267 // A deployment that has been completely replaced. 10268 Status *string `locationName:"status" type:"string"` 10269 10270 // The most recent task definition that was specified for the tasks in the service 10271 // to use. 10272 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 10273 10274 // The Unix timestamp for when the service deployment was last updated. 10275 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 10276} 10277 10278// String returns the string representation 10279func (s Deployment) String() string { 10280 return awsutil.Prettify(s) 10281} 10282 10283// GoString returns the string representation 10284func (s Deployment) GoString() string { 10285 return s.String() 10286} 10287 10288// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 10289func (s *Deployment) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Deployment { 10290 s.CapacityProviderStrategy = v 10291 return s 10292} 10293 10294// SetCreatedAt sets the CreatedAt field's value. 10295func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { 10296 s.CreatedAt = &v 10297 return s 10298} 10299 10300// SetDesiredCount sets the DesiredCount field's value. 10301func (s *Deployment) SetDesiredCount(v int64) *Deployment { 10302 s.DesiredCount = &v 10303 return s 10304} 10305 10306// SetFailedTasks sets the FailedTasks field's value. 10307func (s *Deployment) SetFailedTasks(v int64) *Deployment { 10308 s.FailedTasks = &v 10309 return s 10310} 10311 10312// SetId sets the Id field's value. 10313func (s *Deployment) SetId(v string) *Deployment { 10314 s.Id = &v 10315 return s 10316} 10317 10318// SetLaunchType sets the LaunchType field's value. 10319func (s *Deployment) SetLaunchType(v string) *Deployment { 10320 s.LaunchType = &v 10321 return s 10322} 10323 10324// SetNetworkConfiguration sets the NetworkConfiguration field's value. 10325func (s *Deployment) SetNetworkConfiguration(v *NetworkConfiguration) *Deployment { 10326 s.NetworkConfiguration = v 10327 return s 10328} 10329 10330// SetPendingCount sets the PendingCount field's value. 10331func (s *Deployment) SetPendingCount(v int64) *Deployment { 10332 s.PendingCount = &v 10333 return s 10334} 10335 10336// SetPlatformVersion sets the PlatformVersion field's value. 10337func (s *Deployment) SetPlatformVersion(v string) *Deployment { 10338 s.PlatformVersion = &v 10339 return s 10340} 10341 10342// SetRolloutState sets the RolloutState field's value. 10343func (s *Deployment) SetRolloutState(v string) *Deployment { 10344 s.RolloutState = &v 10345 return s 10346} 10347 10348// SetRolloutStateReason sets the RolloutStateReason field's value. 10349func (s *Deployment) SetRolloutStateReason(v string) *Deployment { 10350 s.RolloutStateReason = &v 10351 return s 10352} 10353 10354// SetRunningCount sets the RunningCount field's value. 10355func (s *Deployment) SetRunningCount(v int64) *Deployment { 10356 s.RunningCount = &v 10357 return s 10358} 10359 10360// SetStatus sets the Status field's value. 10361func (s *Deployment) SetStatus(v string) *Deployment { 10362 s.Status = &v 10363 return s 10364} 10365 10366// SetTaskDefinition sets the TaskDefinition field's value. 10367func (s *Deployment) SetTaskDefinition(v string) *Deployment { 10368 s.TaskDefinition = &v 10369 return s 10370} 10371 10372// SetUpdatedAt sets the UpdatedAt field's value. 10373func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { 10374 s.UpdatedAt = &v 10375 return s 10376} 10377 10378// 10379// The deployment circuit breaker can only be used for services using the rolling 10380// update (ECS) deployment type that are not behind a Classic Load Balancer. 10381// 10382// The deployment circuit breaker determines whether a service deployment will 10383// fail if the service can't reach a steady state. If enabled, a service deployment 10384// will transition to a failed state and stop launching new tasks. You can also 10385// enable Amazon ECS to roll back your service to the last completed deployment 10386// after a failure. For more information, see Rolling update (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) 10387// in the Amazon Elastic Container Service Developer Guide. 10388type DeploymentCircuitBreaker struct { 10389 _ struct{} `type:"structure"` 10390 10391 // Whether to enable the deployment circuit breaker logic for the service. 10392 // 10393 // Enable is a required field 10394 Enable *bool `locationName:"enable" type:"boolean" required:"true"` 10395 10396 // Whether to enable Amazon ECS to roll back the service if a service deployment 10397 // fails. If rollback is enabled, when a service deployment fails, the service 10398 // is rolled back to the last deployment that completed successfully. 10399 // 10400 // Rollback is a required field 10401 Rollback *bool `locationName:"rollback" type:"boolean" required:"true"` 10402} 10403 10404// String returns the string representation 10405func (s DeploymentCircuitBreaker) String() string { 10406 return awsutil.Prettify(s) 10407} 10408 10409// GoString returns the string representation 10410func (s DeploymentCircuitBreaker) GoString() string { 10411 return s.String() 10412} 10413 10414// Validate inspects the fields of the type to determine if they are valid. 10415func (s *DeploymentCircuitBreaker) Validate() error { 10416 invalidParams := request.ErrInvalidParams{Context: "DeploymentCircuitBreaker"} 10417 if s.Enable == nil { 10418 invalidParams.Add(request.NewErrParamRequired("Enable")) 10419 } 10420 if s.Rollback == nil { 10421 invalidParams.Add(request.NewErrParamRequired("Rollback")) 10422 } 10423 10424 if invalidParams.Len() > 0 { 10425 return invalidParams 10426 } 10427 return nil 10428} 10429 10430// SetEnable sets the Enable field's value. 10431func (s *DeploymentCircuitBreaker) SetEnable(v bool) *DeploymentCircuitBreaker { 10432 s.Enable = &v 10433 return s 10434} 10435 10436// SetRollback sets the Rollback field's value. 10437func (s *DeploymentCircuitBreaker) SetRollback(v bool) *DeploymentCircuitBreaker { 10438 s.Rollback = &v 10439 return s 10440} 10441 10442// Optional deployment parameters that control how many tasks run during a deployment 10443// and the ordering of stopping and starting tasks. 10444type DeploymentConfiguration struct { 10445 _ struct{} `type:"structure"` 10446 10447 // 10448 // The deployment circuit breaker can only be used for services using the rolling 10449 // update (ECS) deployment type. 10450 // 10451 // The deployment circuit breaker determines whether a service deployment will 10452 // fail if the service can't reach a steady state. If deployment circuit breaker 10453 // is enabled, a service deployment will transition to a failed state and stop 10454 // launching new tasks. If rollback is enabled, when a service deployment fails, 10455 // the service is rolled back to the last deployment that completed successfully. 10456 DeploymentCircuitBreaker *DeploymentCircuitBreaker `locationName:"deploymentCircuitBreaker" type:"structure"` 10457 10458 // If a service is using the rolling update (ECS) deployment type, the maximum 10459 // percent parameter represents an upper limit on the number of tasks in a service 10460 // that are allowed in the RUNNING or PENDING state during a deployment, as 10461 // a percentage of the desired number of tasks (rounded down to the nearest 10462 // integer), and while any container instances are in the DRAINING state if 10463 // the service contains tasks using the EC2 launch type. This parameter enables 10464 // you to define the deployment batch size. For example, if your service has 10465 // a desired number of four tasks and a maximum percent value of 200%, the scheduler 10466 // may start four new tasks before stopping the four older tasks (provided that 10467 // the cluster resources required to do this are available). The default value 10468 // for maximum percent is 200%. 10469 // 10470 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 10471 // types and tasks that use the EC2 launch type, the maximum percent value is 10472 // set to the default value and is used to define the upper limit on the number 10473 // of the tasks in the service that remain in the RUNNING state while the container 10474 // instances are in the DRAINING state. If the tasks in the service use the 10475 // Fargate launch type, the maximum percent value is not used, although it is 10476 // returned when describing your service. 10477 MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` 10478 10479 // If a service is using the rolling update (ECS) deployment type, the minimum 10480 // healthy percent represents a lower limit on the number of tasks in a service 10481 // that must remain in the RUNNING state during a deployment, as a percentage 10482 // of the desired number of tasks (rounded up to the nearest integer), and while 10483 // any container instances are in the DRAINING state if the service contains 10484 // tasks using the EC2 launch type. This parameter enables you to deploy without 10485 // using additional cluster capacity. For example, if your service has a desired 10486 // number of four tasks and a minimum healthy percent of 50%, the scheduler 10487 // may stop two existing tasks to free up cluster capacity before starting two 10488 // new tasks. Tasks for services that do not use a load balancer are considered 10489 // healthy if they are in the RUNNING state; tasks for services that do use 10490 // a load balancer are considered healthy if they are in the RUNNING state and 10491 // they are reported as healthy by the load balancer. The default value for 10492 // minimum healthy percent is 100%. 10493 // 10494 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 10495 // types and tasks that use the EC2 launch type, the minimum healthy percent 10496 // value is set to the default value and is used to define the lower limit on 10497 // the number of the tasks in the service that remain in the RUNNING state while 10498 // the container instances are in the DRAINING state. If the tasks in the service 10499 // use the Fargate launch type, the minimum healthy percent value is not used, 10500 // although it is returned when describing your service. 10501 MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` 10502} 10503 10504// String returns the string representation 10505func (s DeploymentConfiguration) String() string { 10506 return awsutil.Prettify(s) 10507} 10508 10509// GoString returns the string representation 10510func (s DeploymentConfiguration) GoString() string { 10511 return s.String() 10512} 10513 10514// Validate inspects the fields of the type to determine if they are valid. 10515func (s *DeploymentConfiguration) Validate() error { 10516 invalidParams := request.ErrInvalidParams{Context: "DeploymentConfiguration"} 10517 if s.DeploymentCircuitBreaker != nil { 10518 if err := s.DeploymentCircuitBreaker.Validate(); err != nil { 10519 invalidParams.AddNested("DeploymentCircuitBreaker", err.(request.ErrInvalidParams)) 10520 } 10521 } 10522 10523 if invalidParams.Len() > 0 { 10524 return invalidParams 10525 } 10526 return nil 10527} 10528 10529// SetDeploymentCircuitBreaker sets the DeploymentCircuitBreaker field's value. 10530func (s *DeploymentConfiguration) SetDeploymentCircuitBreaker(v *DeploymentCircuitBreaker) *DeploymentConfiguration { 10531 s.DeploymentCircuitBreaker = v 10532 return s 10533} 10534 10535// SetMaximumPercent sets the MaximumPercent field's value. 10536func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { 10537 s.MaximumPercent = &v 10538 return s 10539} 10540 10541// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value. 10542func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration { 10543 s.MinimumHealthyPercent = &v 10544 return s 10545} 10546 10547// The deployment controller to use for the service. For more information, see 10548// Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 10549// in the Amazon Elastic Container Service Developer Guide. 10550type DeploymentController struct { 10551 _ struct{} `type:"structure"` 10552 10553 // The deployment controller type to use. 10554 // 10555 // There are three deployment controller types available: 10556 // 10557 // ECS 10558 // 10559 // The rolling update (ECS) deployment type involves replacing the current running 10560 // version of the container with the latest version. The number of containers 10561 // Amazon ECS adds or removes from the service during a rolling update is controlled 10562 // by adjusting the minimum and maximum number of healthy tasks allowed during 10563 // a service deployment, as specified in the DeploymentConfiguration. 10564 // 10565 // CODE_DEPLOY 10566 // 10567 // The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment 10568 // model powered by AWS CodeDeploy, which allows you to verify a new deployment 10569 // of a service before sending production traffic to it. 10570 // 10571 // EXTERNAL 10572 // 10573 // The external (EXTERNAL) deployment type enables you to use any third-party 10574 // deployment controller for full control over the deployment process for an 10575 // Amazon ECS service. 10576 // 10577 // Type is a required field 10578 Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"` 10579} 10580 10581// String returns the string representation 10582func (s DeploymentController) String() string { 10583 return awsutil.Prettify(s) 10584} 10585 10586// GoString returns the string representation 10587func (s DeploymentController) GoString() string { 10588 return s.String() 10589} 10590 10591// Validate inspects the fields of the type to determine if they are valid. 10592func (s *DeploymentController) Validate() error { 10593 invalidParams := request.ErrInvalidParams{Context: "DeploymentController"} 10594 if s.Type == nil { 10595 invalidParams.Add(request.NewErrParamRequired("Type")) 10596 } 10597 10598 if invalidParams.Len() > 0 { 10599 return invalidParams 10600 } 10601 return nil 10602} 10603 10604// SetType sets the Type field's value. 10605func (s *DeploymentController) SetType(v string) *DeploymentController { 10606 s.Type = &v 10607 return s 10608} 10609 10610type DeregisterContainerInstanceInput struct { 10611 _ struct{} `type:"structure"` 10612 10613 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10614 // the container instance to deregister. If you do not specify a cluster, the 10615 // default cluster is assumed. 10616 Cluster *string `locationName:"cluster" type:"string"` 10617 10618 // The container instance ID or full ARN of the container instance to deregister. 10619 // The ARN contains the arn:aws:ecs namespace, followed by the Region of the 10620 // container instance, the AWS account ID of the container instance owner, the 10621 // container-instance namespace, and then the container instance ID. For example, 10622 // arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 10623 // 10624 // ContainerInstance is a required field 10625 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 10626 10627 // Forces the deregistration of the container instance. If you have tasks running 10628 // on the container instance when you deregister it with the force option, these 10629 // tasks remain running until you terminate the instance or the tasks stop through 10630 // some other means, but they are orphaned (no longer monitored or accounted 10631 // for by Amazon ECS). If an orphaned task on your container instance is part 10632 // of an Amazon ECS service, then the service scheduler starts another copy 10633 // of that task, on a different container instance if possible. 10634 // 10635 // Any containers in orphaned service tasks that are registered with a Classic 10636 // Load Balancer or an Application Load Balancer target group are deregistered. 10637 // They begin connection draining according to the settings on the load balancer 10638 // or target group. 10639 Force *bool `locationName:"force" type:"boolean"` 10640} 10641 10642// String returns the string representation 10643func (s DeregisterContainerInstanceInput) String() string { 10644 return awsutil.Prettify(s) 10645} 10646 10647// GoString returns the string representation 10648func (s DeregisterContainerInstanceInput) GoString() string { 10649 return s.String() 10650} 10651 10652// Validate inspects the fields of the type to determine if they are valid. 10653func (s *DeregisterContainerInstanceInput) Validate() error { 10654 invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} 10655 if s.ContainerInstance == nil { 10656 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 10657 } 10658 10659 if invalidParams.Len() > 0 { 10660 return invalidParams 10661 } 10662 return nil 10663} 10664 10665// SetCluster sets the Cluster field's value. 10666func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput { 10667 s.Cluster = &v 10668 return s 10669} 10670 10671// SetContainerInstance sets the ContainerInstance field's value. 10672func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput { 10673 s.ContainerInstance = &v 10674 return s 10675} 10676 10677// SetForce sets the Force field's value. 10678func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput { 10679 s.Force = &v 10680 return s 10681} 10682 10683type DeregisterContainerInstanceOutput struct { 10684 _ struct{} `type:"structure"` 10685 10686 // The container instance that was deregistered. 10687 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 10688} 10689 10690// String returns the string representation 10691func (s DeregisterContainerInstanceOutput) String() string { 10692 return awsutil.Prettify(s) 10693} 10694 10695// GoString returns the string representation 10696func (s DeregisterContainerInstanceOutput) GoString() string { 10697 return s.String() 10698} 10699 10700// SetContainerInstance sets the ContainerInstance field's value. 10701func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput { 10702 s.ContainerInstance = v 10703 return s 10704} 10705 10706type DeregisterTaskDefinitionInput struct { 10707 _ struct{} `type:"structure"` 10708 10709 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 10710 // of the task definition to deregister. You must specify a revision. 10711 // 10712 // TaskDefinition is a required field 10713 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 10714} 10715 10716// String returns the string representation 10717func (s DeregisterTaskDefinitionInput) String() string { 10718 return awsutil.Prettify(s) 10719} 10720 10721// GoString returns the string representation 10722func (s DeregisterTaskDefinitionInput) GoString() string { 10723 return s.String() 10724} 10725 10726// Validate inspects the fields of the type to determine if they are valid. 10727func (s *DeregisterTaskDefinitionInput) Validate() error { 10728 invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} 10729 if s.TaskDefinition == nil { 10730 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 10731 } 10732 10733 if invalidParams.Len() > 0 { 10734 return invalidParams 10735 } 10736 return nil 10737} 10738 10739// SetTaskDefinition sets the TaskDefinition field's value. 10740func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput { 10741 s.TaskDefinition = &v 10742 return s 10743} 10744 10745type DeregisterTaskDefinitionOutput struct { 10746 _ struct{} `type:"structure"` 10747 10748 // The full description of the deregistered task. 10749 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 10750} 10751 10752// String returns the string representation 10753func (s DeregisterTaskDefinitionOutput) String() string { 10754 return awsutil.Prettify(s) 10755} 10756 10757// GoString returns the string representation 10758func (s DeregisterTaskDefinitionOutput) GoString() string { 10759 return s.String() 10760} 10761 10762// SetTaskDefinition sets the TaskDefinition field's value. 10763func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput { 10764 s.TaskDefinition = v 10765 return s 10766} 10767 10768type DescribeCapacityProvidersInput struct { 10769 _ struct{} `type:"structure"` 10770 10771 // The short name or full Amazon Resource Name (ARN) of one or more capacity 10772 // providers. Up to 100 capacity providers can be described in an action. 10773 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 10774 10775 // Specifies whether or not you want to see the resource tags for the capacity 10776 // provider. If TAGS is specified, the tags are included in the response. If 10777 // this field is omitted, tags are not included in the response. 10778 Include []*string `locationName:"include" type:"list"` 10779 10780 // The maximum number of account setting results returned by DescribeCapacityProviders 10781 // in paginated output. When this parameter is used, DescribeCapacityProviders 10782 // only returns maxResults results in a single page along with a nextToken response 10783 // element. The remaining results of the initial request can be seen by sending 10784 // another DescribeCapacityProviders request with the returned nextToken value. 10785 // This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders 10786 // returns up to 10 results and a nextToken value if applicable. 10787 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10788 10789 // The nextToken value returned from a previous paginated DescribeCapacityProviders 10790 // request where maxResults was used and the results exceeded the value of that 10791 // parameter. Pagination continues from the end of the previous results that 10792 // returned the nextToken value. 10793 // 10794 // This token should be treated as an opaque identifier that is only used to 10795 // retrieve the next items in a list and not for other programmatic purposes. 10796 NextToken *string `locationName:"nextToken" type:"string"` 10797} 10798 10799// String returns the string representation 10800func (s DescribeCapacityProvidersInput) String() string { 10801 return awsutil.Prettify(s) 10802} 10803 10804// GoString returns the string representation 10805func (s DescribeCapacityProvidersInput) GoString() string { 10806 return s.String() 10807} 10808 10809// SetCapacityProviders sets the CapacityProviders field's value. 10810func (s *DescribeCapacityProvidersInput) SetCapacityProviders(v []*string) *DescribeCapacityProvidersInput { 10811 s.CapacityProviders = v 10812 return s 10813} 10814 10815// SetInclude sets the Include field's value. 10816func (s *DescribeCapacityProvidersInput) SetInclude(v []*string) *DescribeCapacityProvidersInput { 10817 s.Include = v 10818 return s 10819} 10820 10821// SetMaxResults sets the MaxResults field's value. 10822func (s *DescribeCapacityProvidersInput) SetMaxResults(v int64) *DescribeCapacityProvidersInput { 10823 s.MaxResults = &v 10824 return s 10825} 10826 10827// SetNextToken sets the NextToken field's value. 10828func (s *DescribeCapacityProvidersInput) SetNextToken(v string) *DescribeCapacityProvidersInput { 10829 s.NextToken = &v 10830 return s 10831} 10832 10833type DescribeCapacityProvidersOutput struct { 10834 _ struct{} `type:"structure"` 10835 10836 // The list of capacity providers. 10837 CapacityProviders []*CapacityProvider `locationName:"capacityProviders" type:"list"` 10838 10839 // Any failures associated with the call. 10840 Failures []*Failure `locationName:"failures" type:"list"` 10841 10842 // The nextToken value to include in a future DescribeCapacityProviders request. 10843 // When the results of a DescribeCapacityProviders request exceed maxResults, 10844 // this value can be used to retrieve the next page of results. This value is 10845 // null when there are no more results to return. 10846 NextToken *string `locationName:"nextToken" type:"string"` 10847} 10848 10849// String returns the string representation 10850func (s DescribeCapacityProvidersOutput) String() string { 10851 return awsutil.Prettify(s) 10852} 10853 10854// GoString returns the string representation 10855func (s DescribeCapacityProvidersOutput) GoString() string { 10856 return s.String() 10857} 10858 10859// SetCapacityProviders sets the CapacityProviders field's value. 10860func (s *DescribeCapacityProvidersOutput) SetCapacityProviders(v []*CapacityProvider) *DescribeCapacityProvidersOutput { 10861 s.CapacityProviders = v 10862 return s 10863} 10864 10865// SetFailures sets the Failures field's value. 10866func (s *DescribeCapacityProvidersOutput) SetFailures(v []*Failure) *DescribeCapacityProvidersOutput { 10867 s.Failures = v 10868 return s 10869} 10870 10871// SetNextToken sets the NextToken field's value. 10872func (s *DescribeCapacityProvidersOutput) SetNextToken(v string) *DescribeCapacityProvidersOutput { 10873 s.NextToken = &v 10874 return s 10875} 10876 10877type DescribeClustersInput struct { 10878 _ struct{} `type:"structure"` 10879 10880 // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) 10881 // entries. If you do not specify a cluster, the default cluster is assumed. 10882 Clusters []*string `locationName:"clusters" type:"list"` 10883 10884 // Whether to include additional information about your clusters in the response. 10885 // If this field is omitted, the attachments, statistics, and tags are not included. 10886 // 10887 // If ATTACHMENTS is specified, the attachments for the container instances 10888 // or tasks within the cluster are included. 10889 // 10890 // If SETTINGS is specified, the settings for the cluster are included. 10891 // 10892 // If STATISTICS is specified, the following additional information, separated 10893 // by launch type, is included: 10894 // 10895 // * runningEC2TasksCount 10896 // 10897 // * runningFargateTasksCount 10898 // 10899 // * pendingEC2TasksCount 10900 // 10901 // * pendingFargateTasksCount 10902 // 10903 // * activeEC2ServiceCount 10904 // 10905 // * activeFargateServiceCount 10906 // 10907 // * drainingEC2ServiceCount 10908 // 10909 // * drainingFargateServiceCount 10910 // 10911 // If TAGS is specified, the metadata tags associated with the cluster are included. 10912 Include []*string `locationName:"include" type:"list"` 10913} 10914 10915// String returns the string representation 10916func (s DescribeClustersInput) String() string { 10917 return awsutil.Prettify(s) 10918} 10919 10920// GoString returns the string representation 10921func (s DescribeClustersInput) GoString() string { 10922 return s.String() 10923} 10924 10925// SetClusters sets the Clusters field's value. 10926func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput { 10927 s.Clusters = v 10928 return s 10929} 10930 10931// SetInclude sets the Include field's value. 10932func (s *DescribeClustersInput) SetInclude(v []*string) *DescribeClustersInput { 10933 s.Include = v 10934 return s 10935} 10936 10937type DescribeClustersOutput struct { 10938 _ struct{} `type:"structure"` 10939 10940 // The list of clusters. 10941 Clusters []*Cluster `locationName:"clusters" type:"list"` 10942 10943 // Any failures associated with the call. 10944 Failures []*Failure `locationName:"failures" type:"list"` 10945} 10946 10947// String returns the string representation 10948func (s DescribeClustersOutput) String() string { 10949 return awsutil.Prettify(s) 10950} 10951 10952// GoString returns the string representation 10953func (s DescribeClustersOutput) GoString() string { 10954 return s.String() 10955} 10956 10957// SetClusters sets the Clusters field's value. 10958func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 10959 s.Clusters = v 10960 return s 10961} 10962 10963// SetFailures sets the Failures field's value. 10964func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput { 10965 s.Failures = v 10966 return s 10967} 10968 10969type DescribeContainerInstancesInput struct { 10970 _ struct{} `type:"structure"` 10971 10972 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10973 // the container instances to describe. If you do not specify a cluster, the 10974 // default cluster is assumed. This parameter is required if the container instance 10975 // or container instances you are describing were launched in any cluster other 10976 // than the default cluster. 10977 Cluster *string `locationName:"cluster" type:"string"` 10978 10979 // A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) 10980 // entries. 10981 // 10982 // ContainerInstances is a required field 10983 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 10984 10985 // Specifies whether you want to see the resource tags for the container instance. 10986 // If TAGS is specified, the tags are included in the response. If this field 10987 // is omitted, tags are not included in the response. 10988 Include []*string `locationName:"include" type:"list"` 10989} 10990 10991// String returns the string representation 10992func (s DescribeContainerInstancesInput) String() string { 10993 return awsutil.Prettify(s) 10994} 10995 10996// GoString returns the string representation 10997func (s DescribeContainerInstancesInput) GoString() string { 10998 return s.String() 10999} 11000 11001// Validate inspects the fields of the type to determine if they are valid. 11002func (s *DescribeContainerInstancesInput) Validate() error { 11003 invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} 11004 if s.ContainerInstances == nil { 11005 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 11006 } 11007 11008 if invalidParams.Len() > 0 { 11009 return invalidParams 11010 } 11011 return nil 11012} 11013 11014// SetCluster sets the Cluster field's value. 11015func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput { 11016 s.Cluster = &v 11017 return s 11018} 11019 11020// SetContainerInstances sets the ContainerInstances field's value. 11021func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput { 11022 s.ContainerInstances = v 11023 return s 11024} 11025 11026// SetInclude sets the Include field's value. 11027func (s *DescribeContainerInstancesInput) SetInclude(v []*string) *DescribeContainerInstancesInput { 11028 s.Include = v 11029 return s 11030} 11031 11032type DescribeContainerInstancesOutput struct { 11033 _ struct{} `type:"structure"` 11034 11035 // The list of container instances. 11036 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 11037 11038 // Any failures associated with the call. 11039 Failures []*Failure `locationName:"failures" type:"list"` 11040} 11041 11042// String returns the string representation 11043func (s DescribeContainerInstancesOutput) String() string { 11044 return awsutil.Prettify(s) 11045} 11046 11047// GoString returns the string representation 11048func (s DescribeContainerInstancesOutput) GoString() string { 11049 return s.String() 11050} 11051 11052// SetContainerInstances sets the ContainerInstances field's value. 11053func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput { 11054 s.ContainerInstances = v 11055 return s 11056} 11057 11058// SetFailures sets the Failures field's value. 11059func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput { 11060 s.Failures = v 11061 return s 11062} 11063 11064type DescribeServicesInput struct { 11065 _ struct{} `type:"structure"` 11066 11067 // The short name or full Amazon Resource Name (ARN)the cluster that hosts the 11068 // service to describe. If you do not specify a cluster, the default cluster 11069 // is assumed. This parameter is required if the service or services you are 11070 // describing were launched in any cluster other than the default cluster. 11071 Cluster *string `locationName:"cluster" type:"string"` 11072 11073 // Specifies whether you want to see the resource tags for the service. If TAGS 11074 // is specified, the tags are included in the response. If this field is omitted, 11075 // tags are not included in the response. 11076 Include []*string `locationName:"include" type:"list"` 11077 11078 // A list of services to describe. You may specify up to 10 services to describe 11079 // in a single operation. 11080 // 11081 // Services is a required field 11082 Services []*string `locationName:"services" type:"list" required:"true"` 11083} 11084 11085// String returns the string representation 11086func (s DescribeServicesInput) String() string { 11087 return awsutil.Prettify(s) 11088} 11089 11090// GoString returns the string representation 11091func (s DescribeServicesInput) GoString() string { 11092 return s.String() 11093} 11094 11095// Validate inspects the fields of the type to determine if they are valid. 11096func (s *DescribeServicesInput) Validate() error { 11097 invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} 11098 if s.Services == nil { 11099 invalidParams.Add(request.NewErrParamRequired("Services")) 11100 } 11101 11102 if invalidParams.Len() > 0 { 11103 return invalidParams 11104 } 11105 return nil 11106} 11107 11108// SetCluster sets the Cluster field's value. 11109func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput { 11110 s.Cluster = &v 11111 return s 11112} 11113 11114// SetInclude sets the Include field's value. 11115func (s *DescribeServicesInput) SetInclude(v []*string) *DescribeServicesInput { 11116 s.Include = v 11117 return s 11118} 11119 11120// SetServices sets the Services field's value. 11121func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput { 11122 s.Services = v 11123 return s 11124} 11125 11126type DescribeServicesOutput struct { 11127 _ struct{} `type:"structure"` 11128 11129 // Any failures associated with the call. 11130 Failures []*Failure `locationName:"failures" type:"list"` 11131 11132 // The list of services described. 11133 Services []*Service `locationName:"services" type:"list"` 11134} 11135 11136// String returns the string representation 11137func (s DescribeServicesOutput) String() string { 11138 return awsutil.Prettify(s) 11139} 11140 11141// GoString returns the string representation 11142func (s DescribeServicesOutput) GoString() string { 11143 return s.String() 11144} 11145 11146// SetFailures sets the Failures field's value. 11147func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput { 11148 s.Failures = v 11149 return s 11150} 11151 11152// SetServices sets the Services field's value. 11153func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput { 11154 s.Services = v 11155 return s 11156} 11157 11158type DescribeTaskDefinitionInput struct { 11159 _ struct{} `type:"structure"` 11160 11161 // Specifies whether to see the resource tags for the task definition. If TAGS 11162 // is specified, the tags are included in the response. If this field is omitted, 11163 // tags are not included in the response. 11164 Include []*string `locationName:"include" type:"list"` 11165 11166 // The family for the latest ACTIVE revision, family and revision (family:revision) 11167 // for a specific revision in the family, or full Amazon Resource Name (ARN) 11168 // of the task definition to describe. 11169 // 11170 // TaskDefinition is a required field 11171 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 11172} 11173 11174// String returns the string representation 11175func (s DescribeTaskDefinitionInput) String() string { 11176 return awsutil.Prettify(s) 11177} 11178 11179// GoString returns the string representation 11180func (s DescribeTaskDefinitionInput) GoString() string { 11181 return s.String() 11182} 11183 11184// Validate inspects the fields of the type to determine if they are valid. 11185func (s *DescribeTaskDefinitionInput) Validate() error { 11186 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} 11187 if s.TaskDefinition == nil { 11188 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 11189 } 11190 11191 if invalidParams.Len() > 0 { 11192 return invalidParams 11193 } 11194 return nil 11195} 11196 11197// SetInclude sets the Include field's value. 11198func (s *DescribeTaskDefinitionInput) SetInclude(v []*string) *DescribeTaskDefinitionInput { 11199 s.Include = v 11200 return s 11201} 11202 11203// SetTaskDefinition sets the TaskDefinition field's value. 11204func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput { 11205 s.TaskDefinition = &v 11206 return s 11207} 11208 11209type DescribeTaskDefinitionOutput struct { 11210 _ struct{} `type:"structure"` 11211 11212 // The metadata that is applied to the task definition to help you categorize 11213 // and organize them. Each tag consists of a key and an optional value, both 11214 // of which you define. 11215 // 11216 // The following basic restrictions apply to tags: 11217 // 11218 // * Maximum number of tags per resource - 50 11219 // 11220 // * For each resource, each tag key must be unique, and each tag key can 11221 // have only one value. 11222 // 11223 // * Maximum key length - 128 Unicode characters in UTF-8 11224 // 11225 // * Maximum value length - 256 Unicode characters in UTF-8 11226 // 11227 // * If your tagging schema is used across multiple services and resources, 11228 // remember that other services may have restrictions on allowed characters. 11229 // Generally allowed characters are: letters, numbers, and spaces representable 11230 // in UTF-8, and the following characters: + - = . _ : / @. 11231 // 11232 // * Tag keys and values are case-sensitive. 11233 // 11234 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 11235 // as a prefix for either keys or values as it is reserved for AWS use. You 11236 // cannot edit or delete tag keys or values with this prefix. Tags with this 11237 // prefix do not count against your tags per resource limit. 11238 Tags []*Tag `locationName:"tags" type:"list"` 11239 11240 // The full task definition description. 11241 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 11242} 11243 11244// String returns the string representation 11245func (s DescribeTaskDefinitionOutput) String() string { 11246 return awsutil.Prettify(s) 11247} 11248 11249// GoString returns the string representation 11250func (s DescribeTaskDefinitionOutput) GoString() string { 11251 return s.String() 11252} 11253 11254// SetTags sets the Tags field's value. 11255func (s *DescribeTaskDefinitionOutput) SetTags(v []*Tag) *DescribeTaskDefinitionOutput { 11256 s.Tags = v 11257 return s 11258} 11259 11260// SetTaskDefinition sets the TaskDefinition field's value. 11261func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput { 11262 s.TaskDefinition = v 11263 return s 11264} 11265 11266type DescribeTaskSetsInput struct { 11267 _ struct{} `type:"structure"` 11268 11269 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11270 // the service that the task sets exist in. 11271 // 11272 // Cluster is a required field 11273 Cluster *string `locationName:"cluster" type:"string" required:"true"` 11274 11275 // Specifies whether to see the resource tags for the task set. If TAGS is specified, 11276 // the tags are included in the response. If this field is omitted, tags are 11277 // not included in the response. 11278 Include []*string `locationName:"include" type:"list"` 11279 11280 // The short name or full Amazon Resource Name (ARN) of the service that the 11281 // task sets exist in. 11282 // 11283 // Service is a required field 11284 Service *string `locationName:"service" type:"string" required:"true"` 11285 11286 // The ID or full Amazon Resource Name (ARN) of task sets to describe. 11287 TaskSets []*string `locationName:"taskSets" type:"list"` 11288} 11289 11290// String returns the string representation 11291func (s DescribeTaskSetsInput) String() string { 11292 return awsutil.Prettify(s) 11293} 11294 11295// GoString returns the string representation 11296func (s DescribeTaskSetsInput) GoString() string { 11297 return s.String() 11298} 11299 11300// Validate inspects the fields of the type to determine if they are valid. 11301func (s *DescribeTaskSetsInput) Validate() error { 11302 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskSetsInput"} 11303 if s.Cluster == nil { 11304 invalidParams.Add(request.NewErrParamRequired("Cluster")) 11305 } 11306 if s.Service == nil { 11307 invalidParams.Add(request.NewErrParamRequired("Service")) 11308 } 11309 11310 if invalidParams.Len() > 0 { 11311 return invalidParams 11312 } 11313 return nil 11314} 11315 11316// SetCluster sets the Cluster field's value. 11317func (s *DescribeTaskSetsInput) SetCluster(v string) *DescribeTaskSetsInput { 11318 s.Cluster = &v 11319 return s 11320} 11321 11322// SetInclude sets the Include field's value. 11323func (s *DescribeTaskSetsInput) SetInclude(v []*string) *DescribeTaskSetsInput { 11324 s.Include = v 11325 return s 11326} 11327 11328// SetService sets the Service field's value. 11329func (s *DescribeTaskSetsInput) SetService(v string) *DescribeTaskSetsInput { 11330 s.Service = &v 11331 return s 11332} 11333 11334// SetTaskSets sets the TaskSets field's value. 11335func (s *DescribeTaskSetsInput) SetTaskSets(v []*string) *DescribeTaskSetsInput { 11336 s.TaskSets = v 11337 return s 11338} 11339 11340type DescribeTaskSetsOutput struct { 11341 _ struct{} `type:"structure"` 11342 11343 // Any failures associated with the call. 11344 Failures []*Failure `locationName:"failures" type:"list"` 11345 11346 // The list of task sets described. 11347 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 11348} 11349 11350// String returns the string representation 11351func (s DescribeTaskSetsOutput) String() string { 11352 return awsutil.Prettify(s) 11353} 11354 11355// GoString returns the string representation 11356func (s DescribeTaskSetsOutput) GoString() string { 11357 return s.String() 11358} 11359 11360// SetFailures sets the Failures field's value. 11361func (s *DescribeTaskSetsOutput) SetFailures(v []*Failure) *DescribeTaskSetsOutput { 11362 s.Failures = v 11363 return s 11364} 11365 11366// SetTaskSets sets the TaskSets field's value. 11367func (s *DescribeTaskSetsOutput) SetTaskSets(v []*TaskSet) *DescribeTaskSetsOutput { 11368 s.TaskSets = v 11369 return s 11370} 11371 11372type DescribeTasksInput struct { 11373 _ struct{} `type:"structure"` 11374 11375 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11376 // the task or tasks to describe. If you do not specify a cluster, the default 11377 // cluster is assumed. This parameter is required if the task or tasks you are 11378 // describing were launched in any cluster other than the default cluster. 11379 Cluster *string `locationName:"cluster" type:"string"` 11380 11381 // Specifies whether you want to see the resource tags for the task. If TAGS 11382 // is specified, the tags are included in the response. If this field is omitted, 11383 // tags are not included in the response. 11384 Include []*string `locationName:"include" type:"list"` 11385 11386 // A list of up to 100 task IDs or full ARN entries. 11387 // 11388 // Tasks is a required field 11389 Tasks []*string `locationName:"tasks" type:"list" required:"true"` 11390} 11391 11392// String returns the string representation 11393func (s DescribeTasksInput) String() string { 11394 return awsutil.Prettify(s) 11395} 11396 11397// GoString returns the string representation 11398func (s DescribeTasksInput) GoString() string { 11399 return s.String() 11400} 11401 11402// Validate inspects the fields of the type to determine if they are valid. 11403func (s *DescribeTasksInput) Validate() error { 11404 invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} 11405 if s.Tasks == nil { 11406 invalidParams.Add(request.NewErrParamRequired("Tasks")) 11407 } 11408 11409 if invalidParams.Len() > 0 { 11410 return invalidParams 11411 } 11412 return nil 11413} 11414 11415// SetCluster sets the Cluster field's value. 11416func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput { 11417 s.Cluster = &v 11418 return s 11419} 11420 11421// SetInclude sets the Include field's value. 11422func (s *DescribeTasksInput) SetInclude(v []*string) *DescribeTasksInput { 11423 s.Include = v 11424 return s 11425} 11426 11427// SetTasks sets the Tasks field's value. 11428func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput { 11429 s.Tasks = v 11430 return s 11431} 11432 11433type DescribeTasksOutput struct { 11434 _ struct{} `type:"structure"` 11435 11436 // Any failures associated with the call. 11437 Failures []*Failure `locationName:"failures" type:"list"` 11438 11439 // The list of tasks. 11440 Tasks []*Task `locationName:"tasks" type:"list"` 11441} 11442 11443// String returns the string representation 11444func (s DescribeTasksOutput) String() string { 11445 return awsutil.Prettify(s) 11446} 11447 11448// GoString returns the string representation 11449func (s DescribeTasksOutput) GoString() string { 11450 return s.String() 11451} 11452 11453// SetFailures sets the Failures field's value. 11454func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput { 11455 s.Failures = v 11456 return s 11457} 11458 11459// SetTasks sets the Tasks field's value. 11460func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput { 11461 s.Tasks = v 11462 return s 11463} 11464 11465// An object representing a container instance host device. 11466type Device struct { 11467 _ struct{} `type:"structure"` 11468 11469 // The path inside the container at which to expose the host device. 11470 ContainerPath *string `locationName:"containerPath" type:"string"` 11471 11472 // The path for the device on the host container instance. 11473 // 11474 // HostPath is a required field 11475 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 11476 11477 // The explicit permissions to provide to the container for the device. By default, 11478 // the container has permissions for read, write, and mknod for the device. 11479 Permissions []*string `locationName:"permissions" type:"list"` 11480} 11481 11482// String returns the string representation 11483func (s Device) String() string { 11484 return awsutil.Prettify(s) 11485} 11486 11487// GoString returns the string representation 11488func (s Device) GoString() string { 11489 return s.String() 11490} 11491 11492// Validate inspects the fields of the type to determine if they are valid. 11493func (s *Device) Validate() error { 11494 invalidParams := request.ErrInvalidParams{Context: "Device"} 11495 if s.HostPath == nil { 11496 invalidParams.Add(request.NewErrParamRequired("HostPath")) 11497 } 11498 11499 if invalidParams.Len() > 0 { 11500 return invalidParams 11501 } 11502 return nil 11503} 11504 11505// SetContainerPath sets the ContainerPath field's value. 11506func (s *Device) SetContainerPath(v string) *Device { 11507 s.ContainerPath = &v 11508 return s 11509} 11510 11511// SetHostPath sets the HostPath field's value. 11512func (s *Device) SetHostPath(v string) *Device { 11513 s.HostPath = &v 11514 return s 11515} 11516 11517// SetPermissions sets the Permissions field's value. 11518func (s *Device) SetPermissions(v []*string) *Device { 11519 s.Permissions = v 11520 return s 11521} 11522 11523type DiscoverPollEndpointInput struct { 11524 _ struct{} `type:"structure"` 11525 11526 // The short name or full Amazon Resource Name (ARN) of the cluster to which 11527 // the container instance belongs. 11528 Cluster *string `locationName:"cluster" type:"string"` 11529 11530 // The container instance ID or full ARN of the container instance. The ARN 11531 // contains the arn:aws:ecs namespace, followed by the Region of the container 11532 // instance, the AWS account ID of the container instance owner, the container-instance 11533 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 11534 ContainerInstance *string `locationName:"containerInstance" type:"string"` 11535} 11536 11537// String returns the string representation 11538func (s DiscoverPollEndpointInput) String() string { 11539 return awsutil.Prettify(s) 11540} 11541 11542// GoString returns the string representation 11543func (s DiscoverPollEndpointInput) GoString() string { 11544 return s.String() 11545} 11546 11547// SetCluster sets the Cluster field's value. 11548func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput { 11549 s.Cluster = &v 11550 return s 11551} 11552 11553// SetContainerInstance sets the ContainerInstance field's value. 11554func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput { 11555 s.ContainerInstance = &v 11556 return s 11557} 11558 11559type DiscoverPollEndpointOutput struct { 11560 _ struct{} `type:"structure"` 11561 11562 // The endpoint for the Amazon ECS agent to poll. 11563 Endpoint *string `locationName:"endpoint" type:"string"` 11564 11565 // The telemetry endpoint for the Amazon ECS agent. 11566 TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` 11567} 11568 11569// String returns the string representation 11570func (s DiscoverPollEndpointOutput) String() string { 11571 return awsutil.Prettify(s) 11572} 11573 11574// GoString returns the string representation 11575func (s DiscoverPollEndpointOutput) GoString() string { 11576 return s.String() 11577} 11578 11579// SetEndpoint sets the Endpoint field's value. 11580func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput { 11581 s.Endpoint = &v 11582 return s 11583} 11584 11585// SetTelemetryEndpoint sets the TelemetryEndpoint field's value. 11586func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput { 11587 s.TelemetryEndpoint = &v 11588 return s 11589} 11590 11591// This parameter is specified when you are using Docker volumes. Docker volumes 11592// are only supported when you are using the EC2 launch type. Windows containers 11593// only support the use of the local driver. To use bind mounts, specify a host 11594// instead. 11595type DockerVolumeConfiguration struct { 11596 _ struct{} `type:"structure"` 11597 11598 // If this value is true, the Docker volume is created if it does not already 11599 // exist. 11600 // 11601 // This field is only used if the scope is shared. 11602 Autoprovision *bool `locationName:"autoprovision" type:"boolean"` 11603 11604 // The Docker volume driver to use. The driver value must match the driver name 11605 // provided by Docker because it is used for task placement. If the driver was 11606 // installed using the Docker plugin CLI, use docker plugin ls to retrieve the 11607 // driver name from your container instance. If the driver was installed using 11608 // another method, use Docker plugin discovery to retrieve the driver name. 11609 // For more information, see Docker plugin discovery (https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). 11610 // This parameter maps to Driver in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11611 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11612 // and the xxdriver option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11613 Driver *string `locationName:"driver" type:"string"` 11614 11615 // A map of Docker driver-specific options passed through. This parameter maps 11616 // to DriverOpts in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11617 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11618 // and the xxopt option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11619 DriverOpts map[string]*string `locationName:"driverOpts" type:"map"` 11620 11621 // Custom metadata to add to your Docker volume. This parameter maps to Labels 11622 // in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11623 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11624 // and the xxlabel option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11625 Labels map[string]*string `locationName:"labels" type:"map"` 11626 11627 // The scope for the Docker volume that determines its lifecycle. Docker volumes 11628 // that are scoped to a task are automatically provisioned when the task starts 11629 // and destroyed when the task stops. Docker volumes that are scoped as shared 11630 // persist after the task stops. 11631 Scope *string `locationName:"scope" type:"string" enum:"Scope"` 11632} 11633 11634// String returns the string representation 11635func (s DockerVolumeConfiguration) String() string { 11636 return awsutil.Prettify(s) 11637} 11638 11639// GoString returns the string representation 11640func (s DockerVolumeConfiguration) GoString() string { 11641 return s.String() 11642} 11643 11644// SetAutoprovision sets the Autoprovision field's value. 11645func (s *DockerVolumeConfiguration) SetAutoprovision(v bool) *DockerVolumeConfiguration { 11646 s.Autoprovision = &v 11647 return s 11648} 11649 11650// SetDriver sets the Driver field's value. 11651func (s *DockerVolumeConfiguration) SetDriver(v string) *DockerVolumeConfiguration { 11652 s.Driver = &v 11653 return s 11654} 11655 11656// SetDriverOpts sets the DriverOpts field's value. 11657func (s *DockerVolumeConfiguration) SetDriverOpts(v map[string]*string) *DockerVolumeConfiguration { 11658 s.DriverOpts = v 11659 return s 11660} 11661 11662// SetLabels sets the Labels field's value. 11663func (s *DockerVolumeConfiguration) SetLabels(v map[string]*string) *DockerVolumeConfiguration { 11664 s.Labels = v 11665 return s 11666} 11667 11668// SetScope sets the Scope field's value. 11669func (s *DockerVolumeConfiguration) SetScope(v string) *DockerVolumeConfiguration { 11670 s.Scope = &v 11671 return s 11672} 11673 11674// The authorization configuration details for the Amazon EFS file system. 11675type EFSAuthorizationConfig struct { 11676 _ struct{} `type:"structure"` 11677 11678 // The Amazon EFS access point ID to use. If an access point is specified, the 11679 // root directory value specified in the EFSVolumeConfiguration must either 11680 // be omitted or set to / which will enforce the path set on the EFS access 11681 // point. If an access point is used, transit encryption must be enabled in 11682 // the EFSVolumeConfiguration. For more information, see Working with Amazon 11683 // EFS Access Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) 11684 // in the Amazon Elastic File System User Guide. 11685 AccessPointId *string `locationName:"accessPointId" type:"string"` 11686 11687 // Whether or not to use the Amazon ECS task IAM role defined in a task definition 11688 // when mounting the Amazon EFS file system. If enabled, transit encryption 11689 // must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, 11690 // the default value of DISABLED is used. For more information, see Using Amazon 11691 // EFS Access Points (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints) 11692 // in the Amazon Elastic Container Service Developer Guide. 11693 Iam *string `locationName:"iam" type:"string" enum:"EFSAuthorizationConfigIAM"` 11694} 11695 11696// String returns the string representation 11697func (s EFSAuthorizationConfig) String() string { 11698 return awsutil.Prettify(s) 11699} 11700 11701// GoString returns the string representation 11702func (s EFSAuthorizationConfig) GoString() string { 11703 return s.String() 11704} 11705 11706// SetAccessPointId sets the AccessPointId field's value. 11707func (s *EFSAuthorizationConfig) SetAccessPointId(v string) *EFSAuthorizationConfig { 11708 s.AccessPointId = &v 11709 return s 11710} 11711 11712// SetIam sets the Iam field's value. 11713func (s *EFSAuthorizationConfig) SetIam(v string) *EFSAuthorizationConfig { 11714 s.Iam = &v 11715 return s 11716} 11717 11718// This parameter is specified when you are using an Amazon Elastic File System 11719// file system for task storage. For more information, see Amazon EFS Volumes 11720// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html) 11721// in the Amazon Elastic Container Service Developer Guide. 11722type EFSVolumeConfiguration struct { 11723 _ struct{} `type:"structure"` 11724 11725 // The authorization configuration details for the Amazon EFS file system. 11726 AuthorizationConfig *EFSAuthorizationConfig `locationName:"authorizationConfig" type:"structure"` 11727 11728 // The Amazon EFS file system ID to use. 11729 // 11730 // FileSystemId is a required field 11731 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 11732 11733 // The directory within the Amazon EFS file system to mount as the root directory 11734 // inside the host. If this parameter is omitted, the root of the Amazon EFS 11735 // volume will be used. Specifying / will have the same effect as omitting this 11736 // parameter. 11737 // 11738 // If an EFS access point is specified in the authorizationConfig, the root 11739 // directory parameter must either be omitted or set to / which will enforce 11740 // the path set on the EFS access point. 11741 RootDirectory *string `locationName:"rootDirectory" type:"string"` 11742 11743 // Whether or not to enable encryption for Amazon EFS data in transit between 11744 // the Amazon ECS host and the Amazon EFS server. Transit encryption must be 11745 // enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, 11746 // the default value of DISABLED is used. For more information, see Encrypting 11747 // Data in Transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) 11748 // in the Amazon Elastic File System User Guide. 11749 TransitEncryption *string `locationName:"transitEncryption" type:"string" enum:"EFSTransitEncryption"` 11750 11751 // The port to use when sending encrypted data between the Amazon ECS host and 11752 // the Amazon EFS server. If you do not specify a transit encryption port, it 11753 // will use the port selection strategy that the Amazon EFS mount helper uses. 11754 // For more information, see EFS Mount Helper (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) 11755 // in the Amazon Elastic File System User Guide. 11756 TransitEncryptionPort *int64 `locationName:"transitEncryptionPort" type:"integer"` 11757} 11758 11759// String returns the string representation 11760func (s EFSVolumeConfiguration) String() string { 11761 return awsutil.Prettify(s) 11762} 11763 11764// GoString returns the string representation 11765func (s EFSVolumeConfiguration) GoString() string { 11766 return s.String() 11767} 11768 11769// Validate inspects the fields of the type to determine if they are valid. 11770func (s *EFSVolumeConfiguration) Validate() error { 11771 invalidParams := request.ErrInvalidParams{Context: "EFSVolumeConfiguration"} 11772 if s.FileSystemId == nil { 11773 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 11774 } 11775 11776 if invalidParams.Len() > 0 { 11777 return invalidParams 11778 } 11779 return nil 11780} 11781 11782// SetAuthorizationConfig sets the AuthorizationConfig field's value. 11783func (s *EFSVolumeConfiguration) SetAuthorizationConfig(v *EFSAuthorizationConfig) *EFSVolumeConfiguration { 11784 s.AuthorizationConfig = v 11785 return s 11786} 11787 11788// SetFileSystemId sets the FileSystemId field's value. 11789func (s *EFSVolumeConfiguration) SetFileSystemId(v string) *EFSVolumeConfiguration { 11790 s.FileSystemId = &v 11791 return s 11792} 11793 11794// SetRootDirectory sets the RootDirectory field's value. 11795func (s *EFSVolumeConfiguration) SetRootDirectory(v string) *EFSVolumeConfiguration { 11796 s.RootDirectory = &v 11797 return s 11798} 11799 11800// SetTransitEncryption sets the TransitEncryption field's value. 11801func (s *EFSVolumeConfiguration) SetTransitEncryption(v string) *EFSVolumeConfiguration { 11802 s.TransitEncryption = &v 11803 return s 11804} 11805 11806// SetTransitEncryptionPort sets the TransitEncryptionPort field's value. 11807func (s *EFSVolumeConfiguration) SetTransitEncryptionPort(v int64) *EFSVolumeConfiguration { 11808 s.TransitEncryptionPort = &v 11809 return s 11810} 11811 11812// A list of files containing the environment variables to pass to a container. 11813// You can specify up to ten environment files. The file must have a .env file 11814// extension. Each line in an environment file should contain an environment 11815// variable in VARIABLE=VALUE format. Lines beginning with # are treated as 11816// comments and are ignored. For more information on the environment variable 11817// file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 11818// 11819// If there are environment variables specified using the environment parameter 11820// in a container definition, they take precedence over the variables contained 11821// within an environment file. If multiple environment files are specified that 11822// contain the same variable, they are processed from the top down. It is recommended 11823// to use unique variable names. For more information, see Specifying Environment 11824// Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 11825// in the Amazon Elastic Container Service Developer Guide. 11826// 11827// This field is not valid for containers in tasks using the Fargate launch 11828// type. 11829type EnvironmentFile struct { 11830 _ struct{} `type:"structure"` 11831 11832 // The file type to use. The only supported value is s3. 11833 // 11834 // Type is a required field 11835 Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentFileType"` 11836 11837 // The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment 11838 // variable file. 11839 // 11840 // Value is a required field 11841 Value *string `locationName:"value" type:"string" required:"true"` 11842} 11843 11844// String returns the string representation 11845func (s EnvironmentFile) String() string { 11846 return awsutil.Prettify(s) 11847} 11848 11849// GoString returns the string representation 11850func (s EnvironmentFile) GoString() string { 11851 return s.String() 11852} 11853 11854// Validate inspects the fields of the type to determine if they are valid. 11855func (s *EnvironmentFile) Validate() error { 11856 invalidParams := request.ErrInvalidParams{Context: "EnvironmentFile"} 11857 if s.Type == nil { 11858 invalidParams.Add(request.NewErrParamRequired("Type")) 11859 } 11860 if s.Value == nil { 11861 invalidParams.Add(request.NewErrParamRequired("Value")) 11862 } 11863 11864 if invalidParams.Len() > 0 { 11865 return invalidParams 11866 } 11867 return nil 11868} 11869 11870// SetType sets the Type field's value. 11871func (s *EnvironmentFile) SetType(v string) *EnvironmentFile { 11872 s.Type = &v 11873 return s 11874} 11875 11876// SetValue sets the Value field's value. 11877func (s *EnvironmentFile) SetValue(v string) *EnvironmentFile { 11878 s.Value = &v 11879 return s 11880} 11881 11882// The authorization configuration details for Amazon FSx for Windows File Server 11883// file system. See FSxWindowsFileServerVolumeConfiguration (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) 11884// in the Amazon Elastic Container Service API Reference. 11885// 11886// For more information and the input format, see Amazon FSx for Windows File 11887// Server Volumes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) 11888// in the Amazon Elastic Container Service Developer Guide. 11889type FSxWindowsFileServerAuthorizationConfig struct { 11890 _ struct{} `type:"structure"` 11891 11892 // The authorization credential option to use. The authorization credential 11893 // options can be provided using either the Amazon Resource Name (ARN) of an 11894 // AWS Secrets Manager secret or AWS Systems Manager Parameter Store parameter. 11895 // The ARNs refer to the stored credentials. 11896 // 11897 // CredentialsParameter is a required field 11898 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 11899 11900 // A fully qualified domain name hosted by an AWS Directory Service (https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) 11901 // Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. 11902 // 11903 // Domain is a required field 11904 Domain *string `locationName:"domain" type:"string" required:"true"` 11905} 11906 11907// String returns the string representation 11908func (s FSxWindowsFileServerAuthorizationConfig) String() string { 11909 return awsutil.Prettify(s) 11910} 11911 11912// GoString returns the string representation 11913func (s FSxWindowsFileServerAuthorizationConfig) GoString() string { 11914 return s.String() 11915} 11916 11917// Validate inspects the fields of the type to determine if they are valid. 11918func (s *FSxWindowsFileServerAuthorizationConfig) Validate() error { 11919 invalidParams := request.ErrInvalidParams{Context: "FSxWindowsFileServerAuthorizationConfig"} 11920 if s.CredentialsParameter == nil { 11921 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 11922 } 11923 if s.Domain == nil { 11924 invalidParams.Add(request.NewErrParamRequired("Domain")) 11925 } 11926 11927 if invalidParams.Len() > 0 { 11928 return invalidParams 11929 } 11930 return nil 11931} 11932 11933// SetCredentialsParameter sets the CredentialsParameter field's value. 11934func (s *FSxWindowsFileServerAuthorizationConfig) SetCredentialsParameter(v string) *FSxWindowsFileServerAuthorizationConfig { 11935 s.CredentialsParameter = &v 11936 return s 11937} 11938 11939// SetDomain sets the Domain field's value. 11940func (s *FSxWindowsFileServerAuthorizationConfig) SetDomain(v string) *FSxWindowsFileServerAuthorizationConfig { 11941 s.Domain = &v 11942 return s 11943} 11944 11945// This parameter is specified when you are using Amazon FSx for Windows File 11946// Server (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) 11947// file system for task storage. 11948// 11949// For more information and the input format, see Amazon FSx for Windows File 11950// Server Volumes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) 11951// in the Amazon Elastic Container Service Developer Guide. 11952type FSxWindowsFileServerVolumeConfiguration struct { 11953 _ struct{} `type:"structure"` 11954 11955 // The authorization configuration details for the Amazon FSx for Windows File 11956 // Server file system. 11957 // 11958 // AuthorizationConfig is a required field 11959 AuthorizationConfig *FSxWindowsFileServerAuthorizationConfig `locationName:"authorizationConfig" type:"structure" required:"true"` 11960 11961 // The Amazon FSx for Windows File Server file system ID to use. 11962 // 11963 // FileSystemId is a required field 11964 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 11965 11966 // The directory within the Amazon FSx for Windows File Server file system to 11967 // mount as the root directory inside the host. 11968 // 11969 // RootDirectory is a required field 11970 RootDirectory *string `locationName:"rootDirectory" type:"string" required:"true"` 11971} 11972 11973// String returns the string representation 11974func (s FSxWindowsFileServerVolumeConfiguration) String() string { 11975 return awsutil.Prettify(s) 11976} 11977 11978// GoString returns the string representation 11979func (s FSxWindowsFileServerVolumeConfiguration) GoString() string { 11980 return s.String() 11981} 11982 11983// Validate inspects the fields of the type to determine if they are valid. 11984func (s *FSxWindowsFileServerVolumeConfiguration) Validate() error { 11985 invalidParams := request.ErrInvalidParams{Context: "FSxWindowsFileServerVolumeConfiguration"} 11986 if s.AuthorizationConfig == nil { 11987 invalidParams.Add(request.NewErrParamRequired("AuthorizationConfig")) 11988 } 11989 if s.FileSystemId == nil { 11990 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 11991 } 11992 if s.RootDirectory == nil { 11993 invalidParams.Add(request.NewErrParamRequired("RootDirectory")) 11994 } 11995 if s.AuthorizationConfig != nil { 11996 if err := s.AuthorizationConfig.Validate(); err != nil { 11997 invalidParams.AddNested("AuthorizationConfig", err.(request.ErrInvalidParams)) 11998 } 11999 } 12000 12001 if invalidParams.Len() > 0 { 12002 return invalidParams 12003 } 12004 return nil 12005} 12006 12007// SetAuthorizationConfig sets the AuthorizationConfig field's value. 12008func (s *FSxWindowsFileServerVolumeConfiguration) SetAuthorizationConfig(v *FSxWindowsFileServerAuthorizationConfig) *FSxWindowsFileServerVolumeConfiguration { 12009 s.AuthorizationConfig = v 12010 return s 12011} 12012 12013// SetFileSystemId sets the FileSystemId field's value. 12014func (s *FSxWindowsFileServerVolumeConfiguration) SetFileSystemId(v string) *FSxWindowsFileServerVolumeConfiguration { 12015 s.FileSystemId = &v 12016 return s 12017} 12018 12019// SetRootDirectory sets the RootDirectory field's value. 12020func (s *FSxWindowsFileServerVolumeConfiguration) SetRootDirectory(v string) *FSxWindowsFileServerVolumeConfiguration { 12021 s.RootDirectory = &v 12022 return s 12023} 12024 12025// 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) 12026// in the Amazon Elastic Container Service Developer Guide. 12027type Failure struct { 12028 _ struct{} `type:"structure"` 12029 12030 // The Amazon Resource Name (ARN) of the failed resource. 12031 Arn *string `locationName:"arn" type:"string"` 12032 12033 // The details of the failure. 12034 Detail *string `locationName:"detail" type:"string"` 12035 12036 // The reason for the failure. 12037 Reason *string `locationName:"reason" type:"string"` 12038} 12039 12040// String returns the string representation 12041func (s Failure) String() string { 12042 return awsutil.Prettify(s) 12043} 12044 12045// GoString returns the string representation 12046func (s Failure) GoString() string { 12047 return s.String() 12048} 12049 12050// SetArn sets the Arn field's value. 12051func (s *Failure) SetArn(v string) *Failure { 12052 s.Arn = &v 12053 return s 12054} 12055 12056// SetDetail sets the Detail field's value. 12057func (s *Failure) SetDetail(v string) *Failure { 12058 s.Detail = &v 12059 return s 12060} 12061 12062// SetReason sets the Reason field's value. 12063func (s *Failure) SetReason(v string) *Failure { 12064 s.Reason = &v 12065 return s 12066} 12067 12068// The FireLens configuration for the container. This is used to specify and 12069// configure a log router for container logs. For more information, see Custom 12070// Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 12071// in the Amazon Elastic Container Service Developer Guide. 12072type FirelensConfiguration struct { 12073 _ struct{} `type:"structure"` 12074 12075 // The options to use when configuring the log router. This field is optional 12076 // and can be used to specify a custom configuration file or to add additional 12077 // metadata, such as the task, task definition, cluster, and container instance 12078 // 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"}. 12079 // For more information, see Creating a Task Definition that Uses a FireLens 12080 // Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef) 12081 // in the Amazon Elastic Container Service Developer Guide. 12082 Options map[string]*string `locationName:"options" type:"map"` 12083 12084 // The log router to use. The valid values are fluentd or fluentbit. 12085 // 12086 // Type is a required field 12087 Type *string `locationName:"type" type:"string" required:"true" enum:"FirelensConfigurationType"` 12088} 12089 12090// String returns the string representation 12091func (s FirelensConfiguration) String() string { 12092 return awsutil.Prettify(s) 12093} 12094 12095// GoString returns the string representation 12096func (s FirelensConfiguration) GoString() string { 12097 return s.String() 12098} 12099 12100// Validate inspects the fields of the type to determine if they are valid. 12101func (s *FirelensConfiguration) Validate() error { 12102 invalidParams := request.ErrInvalidParams{Context: "FirelensConfiguration"} 12103 if s.Type == nil { 12104 invalidParams.Add(request.NewErrParamRequired("Type")) 12105 } 12106 12107 if invalidParams.Len() > 0 { 12108 return invalidParams 12109 } 12110 return nil 12111} 12112 12113// SetOptions sets the Options field's value. 12114func (s *FirelensConfiguration) SetOptions(v map[string]*string) *FirelensConfiguration { 12115 s.Options = v 12116 return s 12117} 12118 12119// SetType sets the Type field's value. 12120func (s *FirelensConfiguration) SetType(v string) *FirelensConfiguration { 12121 s.Type = &v 12122 return s 12123} 12124 12125// An object representing a container health check. Health check parameters 12126// that are specified in a container definition override any Docker health checks 12127// that exist in the container image (such as those specified in a parent image 12128// or from the image's Dockerfile). 12129// 12130// You can view the health status of both individual containers and a task with 12131// the DescribeTasks API operation or when viewing the task details in the console. 12132// 12133// The following describes the possible healthStatus values for a container: 12134// 12135// * HEALTHY-The container health check has passed successfully. 12136// 12137// * UNHEALTHY-The container health check has failed. 12138// 12139// * UNKNOWN-The container health check is being evaluated or there is no 12140// container health check defined. 12141// 12142// The following describes the possible healthStatus values for a task. The 12143// container health check status of nonessential containers do not have an effect 12144// on the health status of a task. 12145// 12146// * HEALTHY-All essential containers within the task have passed their health 12147// checks. 12148// 12149// * UNHEALTHY-One or more essential containers have failed their health 12150// check. 12151// 12152// * UNKNOWN-The essential containers within the task are still having their 12153// health checks evaluated or there are no container health checks defined. 12154// 12155// If a task is run manually, and not as part of a service, the task will continue 12156// its lifecycle regardless of its health status. For tasks that are part of 12157// a service, if the task reports as unhealthy then the task will be stopped 12158// and the service scheduler will replace it. 12159// 12160// The following are notes about container health check support: 12161// 12162// * Container health checks require version 1.17.0 or greater of the Amazon 12163// ECS container agent. For more information, see Updating the Amazon ECS 12164// Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). 12165// 12166// * Container health checks are supported for Fargate tasks if you are using 12167// platform version 1.1.0 or greater. For more information, see AWS Fargate 12168// Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 12169// 12170// * Container health checks are not supported for tasks that are part of 12171// a service that is configured to use a Classic Load Balancer. 12172type HealthCheck struct { 12173 _ struct{} `type:"structure"` 12174 12175 // A string array representing the command that the container runs to determine 12176 // if it is healthy. The string array must start with CMD to execute the command 12177 // arguments directly, or CMD-SHELL to run the command with the container's 12178 // default shell. For example: 12179 // 12180 // [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] 12181 // 12182 // An exit code of 0 indicates success, and non-zero exit code indicates failure. 12183 // For more information, see HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12184 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 12185 // 12186 // Command is a required field 12187 Command []*string `locationName:"command" type:"list" required:"true"` 12188 12189 // The time period in seconds between each health check execution. You may specify 12190 // between 5 and 300 seconds. The default value is 30 seconds. 12191 Interval *int64 `locationName:"interval" type:"integer"` 12192 12193 // The number of times to retry a failed health check before the container is 12194 // considered unhealthy. You may specify between 1 and 10 retries. The default 12195 // value is 3. 12196 Retries *int64 `locationName:"retries" type:"integer"` 12197 12198 // The optional grace period within which to provide containers time to bootstrap 12199 // before failed health checks count towards the maximum number of retries. 12200 // You may specify between 0 and 300 seconds. The startPeriod is disabled by 12201 // default. 12202 // 12203 // If a health check succeeds within the startPeriod, then the container is 12204 // considered healthy and any subsequent failures count toward the maximum number 12205 // of retries. 12206 StartPeriod *int64 `locationName:"startPeriod" type:"integer"` 12207 12208 // The time period in seconds to wait for a health check to succeed before it 12209 // is considered a failure. You may specify between 2 and 60 seconds. The default 12210 // value is 5. 12211 Timeout *int64 `locationName:"timeout" type:"integer"` 12212} 12213 12214// String returns the string representation 12215func (s HealthCheck) String() string { 12216 return awsutil.Prettify(s) 12217} 12218 12219// GoString returns the string representation 12220func (s HealthCheck) GoString() string { 12221 return s.String() 12222} 12223 12224// Validate inspects the fields of the type to determine if they are valid. 12225func (s *HealthCheck) Validate() error { 12226 invalidParams := request.ErrInvalidParams{Context: "HealthCheck"} 12227 if s.Command == nil { 12228 invalidParams.Add(request.NewErrParamRequired("Command")) 12229 } 12230 12231 if invalidParams.Len() > 0 { 12232 return invalidParams 12233 } 12234 return nil 12235} 12236 12237// SetCommand sets the Command field's value. 12238func (s *HealthCheck) SetCommand(v []*string) *HealthCheck { 12239 s.Command = v 12240 return s 12241} 12242 12243// SetInterval sets the Interval field's value. 12244func (s *HealthCheck) SetInterval(v int64) *HealthCheck { 12245 s.Interval = &v 12246 return s 12247} 12248 12249// SetRetries sets the Retries field's value. 12250func (s *HealthCheck) SetRetries(v int64) *HealthCheck { 12251 s.Retries = &v 12252 return s 12253} 12254 12255// SetStartPeriod sets the StartPeriod field's value. 12256func (s *HealthCheck) SetStartPeriod(v int64) *HealthCheck { 12257 s.StartPeriod = &v 12258 return s 12259} 12260 12261// SetTimeout sets the Timeout field's value. 12262func (s *HealthCheck) SetTimeout(v int64) *HealthCheck { 12263 s.Timeout = &v 12264 return s 12265} 12266 12267// Hostnames and IP address entries that are added to the /etc/hosts file of 12268// a container via the extraHosts parameter of its ContainerDefinition. 12269type HostEntry struct { 12270 _ struct{} `type:"structure"` 12271 12272 // The hostname to use in the /etc/hosts entry. 12273 // 12274 // Hostname is a required field 12275 Hostname *string `locationName:"hostname" type:"string" required:"true"` 12276 12277 // The IP address to use in the /etc/hosts entry. 12278 // 12279 // IpAddress is a required field 12280 IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` 12281} 12282 12283// String returns the string representation 12284func (s HostEntry) String() string { 12285 return awsutil.Prettify(s) 12286} 12287 12288// GoString returns the string representation 12289func (s HostEntry) GoString() string { 12290 return s.String() 12291} 12292 12293// Validate inspects the fields of the type to determine if they are valid. 12294func (s *HostEntry) Validate() error { 12295 invalidParams := request.ErrInvalidParams{Context: "HostEntry"} 12296 if s.Hostname == nil { 12297 invalidParams.Add(request.NewErrParamRequired("Hostname")) 12298 } 12299 if s.IpAddress == nil { 12300 invalidParams.Add(request.NewErrParamRequired("IpAddress")) 12301 } 12302 12303 if invalidParams.Len() > 0 { 12304 return invalidParams 12305 } 12306 return nil 12307} 12308 12309// SetHostname sets the Hostname field's value. 12310func (s *HostEntry) SetHostname(v string) *HostEntry { 12311 s.Hostname = &v 12312 return s 12313} 12314 12315// SetIpAddress sets the IpAddress field's value. 12316func (s *HostEntry) SetIpAddress(v string) *HostEntry { 12317 s.IpAddress = &v 12318 return s 12319} 12320 12321// Details on a container instance bind mount host volume. 12322type HostVolumeProperties struct { 12323 _ struct{} `type:"structure"` 12324 12325 // When the host parameter is used, specify a sourcePath to declare the path 12326 // on the host container instance that is presented to the container. If this 12327 // parameter is empty, then the Docker daemon has assigned a host path for you. 12328 // If the host parameter contains a sourcePath file location, then the data 12329 // volume persists at the specified location on the host container instance 12330 // until you delete it manually. If the sourcePath value does not exist on the 12331 // host container instance, the Docker daemon creates it. If the location does 12332 // exist, the contents of the source path folder are exported. 12333 // 12334 // If you are using the Fargate launch type, the sourcePath parameter is not 12335 // supported. 12336 SourcePath *string `locationName:"sourcePath" type:"string"` 12337} 12338 12339// String returns the string representation 12340func (s HostVolumeProperties) String() string { 12341 return awsutil.Prettify(s) 12342} 12343 12344// GoString returns the string representation 12345func (s HostVolumeProperties) GoString() string { 12346 return s.String() 12347} 12348 12349// SetSourcePath sets the SourcePath field's value. 12350func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { 12351 s.SourcePath = &v 12352 return s 12353} 12354 12355// Details on a Elastic Inference accelerator. For more information, see Working 12356// with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 12357// in the Amazon Elastic Container Service Developer Guide. 12358type InferenceAccelerator struct { 12359 _ struct{} `type:"structure"` 12360 12361 // The Elastic Inference accelerator device name. The deviceName must also be 12362 // referenced in a container definition as a ResourceRequirement. 12363 // 12364 // DeviceName is a required field 12365 DeviceName *string `locationName:"deviceName" type:"string" required:"true"` 12366 12367 // The Elastic Inference accelerator type to use. 12368 // 12369 // DeviceType is a required field 12370 DeviceType *string `locationName:"deviceType" type:"string" required:"true"` 12371} 12372 12373// String returns the string representation 12374func (s InferenceAccelerator) String() string { 12375 return awsutil.Prettify(s) 12376} 12377 12378// GoString returns the string representation 12379func (s InferenceAccelerator) GoString() string { 12380 return s.String() 12381} 12382 12383// Validate inspects the fields of the type to determine if they are valid. 12384func (s *InferenceAccelerator) Validate() error { 12385 invalidParams := request.ErrInvalidParams{Context: "InferenceAccelerator"} 12386 if s.DeviceName == nil { 12387 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 12388 } 12389 if s.DeviceType == nil { 12390 invalidParams.Add(request.NewErrParamRequired("DeviceType")) 12391 } 12392 12393 if invalidParams.Len() > 0 { 12394 return invalidParams 12395 } 12396 return nil 12397} 12398 12399// SetDeviceName sets the DeviceName field's value. 12400func (s *InferenceAccelerator) SetDeviceName(v string) *InferenceAccelerator { 12401 s.DeviceName = &v 12402 return s 12403} 12404 12405// SetDeviceType sets the DeviceType field's value. 12406func (s *InferenceAccelerator) SetDeviceType(v string) *InferenceAccelerator { 12407 s.DeviceType = &v 12408 return s 12409} 12410 12411// Details on an Elastic Inference accelerator task override. This parameter 12412// is used to override the Elastic Inference accelerator specified in the task 12413// definition. For more information, see Working with Amazon Elastic Inference 12414// on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 12415// in the Amazon Elastic Container Service Developer Guide. 12416type InferenceAcceleratorOverride struct { 12417 _ struct{} `type:"structure"` 12418 12419 // The Elastic Inference accelerator device name to override for the task. This 12420 // parameter must match a deviceName specified in the task definition. 12421 DeviceName *string `locationName:"deviceName" type:"string"` 12422 12423 // The Elastic Inference accelerator type to use. 12424 DeviceType *string `locationName:"deviceType" type:"string"` 12425} 12426 12427// String returns the string representation 12428func (s InferenceAcceleratorOverride) String() string { 12429 return awsutil.Prettify(s) 12430} 12431 12432// GoString returns the string representation 12433func (s InferenceAcceleratorOverride) GoString() string { 12434 return s.String() 12435} 12436 12437// SetDeviceName sets the DeviceName field's value. 12438func (s *InferenceAcceleratorOverride) SetDeviceName(v string) *InferenceAcceleratorOverride { 12439 s.DeviceName = &v 12440 return s 12441} 12442 12443// SetDeviceType sets the DeviceType field's value. 12444func (s *InferenceAcceleratorOverride) SetDeviceType(v string) *InferenceAcceleratorOverride { 12445 s.DeviceType = &v 12446 return s 12447} 12448 12449// The specified parameter is invalid. Review the available parameters for the 12450// API request. 12451type InvalidParameterException struct { 12452 _ struct{} `type:"structure"` 12453 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 12454 12455 Message_ *string `locationName:"message" type:"string"` 12456} 12457 12458// String returns the string representation 12459func (s InvalidParameterException) String() string { 12460 return awsutil.Prettify(s) 12461} 12462 12463// GoString returns the string representation 12464func (s InvalidParameterException) GoString() string { 12465 return s.String() 12466} 12467 12468func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 12469 return &InvalidParameterException{ 12470 RespMetadata: v, 12471 } 12472} 12473 12474// Code returns the exception type name. 12475func (s *InvalidParameterException) Code() string { 12476 return "InvalidParameterException" 12477} 12478 12479// Message returns the exception's message. 12480func (s *InvalidParameterException) Message() string { 12481 if s.Message_ != nil { 12482 return *s.Message_ 12483 } 12484 return "" 12485} 12486 12487// OrigErr always returns nil, satisfies awserr.Error interface. 12488func (s *InvalidParameterException) OrigErr() error { 12489 return nil 12490} 12491 12492func (s *InvalidParameterException) Error() string { 12493 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12494} 12495 12496// Status code returns the HTTP status code for the request's response error. 12497func (s *InvalidParameterException) StatusCode() int { 12498 return s.RespMetadata.StatusCode 12499} 12500 12501// RequestID returns the service's response RequestID for request. 12502func (s *InvalidParameterException) RequestID() string { 12503 return s.RespMetadata.RequestID 12504} 12505 12506// The Linux capabilities for the container that are added to or dropped from 12507// the default configuration provided by Docker. For more information on the 12508// default capabilities and the non-default available capabilities, see Runtime 12509// privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 12510// in the Docker run reference. For more detailed information on these Linux 12511// capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) 12512// Linux manual page. 12513type KernelCapabilities struct { 12514 _ struct{} `type:"structure"` 12515 12516 // The Linux capabilities for the container that have been added to the default 12517 // configuration provided by Docker. This parameter maps to CapAdd in the Create 12518 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12519 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12520 // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 12521 // 12522 // Tasks launched on AWS Fargate only support adding the SYS_PTRACE kernel capability. 12523 // 12524 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 12525 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 12526 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 12527 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 12528 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 12529 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 12530 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 12531 // "WAKE_ALARM" 12532 Add []*string `locationName:"add" type:"list"` 12533 12534 // The Linux capabilities for the container that have been removed from the 12535 // default configuration provided by Docker. This parameter maps to CapDrop 12536 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12537 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12538 // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 12539 // 12540 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 12541 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 12542 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 12543 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 12544 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 12545 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 12546 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 12547 // "WAKE_ALARM" 12548 Drop []*string `locationName:"drop" type:"list"` 12549} 12550 12551// String returns the string representation 12552func (s KernelCapabilities) String() string { 12553 return awsutil.Prettify(s) 12554} 12555 12556// GoString returns the string representation 12557func (s KernelCapabilities) GoString() string { 12558 return s.String() 12559} 12560 12561// SetAdd sets the Add field's value. 12562func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { 12563 s.Add = v 12564 return s 12565} 12566 12567// SetDrop sets the Drop field's value. 12568func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { 12569 s.Drop = v 12570 return s 12571} 12572 12573// A key-value pair object. 12574type KeyValuePair struct { 12575 _ struct{} `type:"structure"` 12576 12577 // The name of the key-value pair. For environment variables, this is the name 12578 // of the environment variable. 12579 Name *string `locationName:"name" type:"string"` 12580 12581 // The value of the key-value pair. For environment variables, this is the value 12582 // of the environment variable. 12583 Value *string `locationName:"value" type:"string"` 12584} 12585 12586// String returns the string representation 12587func (s KeyValuePair) String() string { 12588 return awsutil.Prettify(s) 12589} 12590 12591// GoString returns the string representation 12592func (s KeyValuePair) GoString() string { 12593 return s.String() 12594} 12595 12596// SetName sets the Name field's value. 12597func (s *KeyValuePair) SetName(v string) *KeyValuePair { 12598 s.Name = &v 12599 return s 12600} 12601 12602// SetValue sets the Value field's value. 12603func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 12604 s.Value = &v 12605 return s 12606} 12607 12608// The limit for the resource has been exceeded. 12609type LimitExceededException struct { 12610 _ struct{} `type:"structure"` 12611 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 12612 12613 Message_ *string `locationName:"message" type:"string"` 12614} 12615 12616// String returns the string representation 12617func (s LimitExceededException) String() string { 12618 return awsutil.Prettify(s) 12619} 12620 12621// GoString returns the string representation 12622func (s LimitExceededException) GoString() string { 12623 return s.String() 12624} 12625 12626func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 12627 return &LimitExceededException{ 12628 RespMetadata: v, 12629 } 12630} 12631 12632// Code returns the exception type name. 12633func (s *LimitExceededException) Code() string { 12634 return "LimitExceededException" 12635} 12636 12637// Message returns the exception's message. 12638func (s *LimitExceededException) Message() string { 12639 if s.Message_ != nil { 12640 return *s.Message_ 12641 } 12642 return "" 12643} 12644 12645// OrigErr always returns nil, satisfies awserr.Error interface. 12646func (s *LimitExceededException) OrigErr() error { 12647 return nil 12648} 12649 12650func (s *LimitExceededException) Error() string { 12651 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12652} 12653 12654// Status code returns the HTTP status code for the request's response error. 12655func (s *LimitExceededException) StatusCode() int { 12656 return s.RespMetadata.StatusCode 12657} 12658 12659// RequestID returns the service's response RequestID for request. 12660func (s *LimitExceededException) RequestID() string { 12661 return s.RespMetadata.RequestID 12662} 12663 12664// Linux-specific options that are applied to the container, such as Linux KernelCapabilities. 12665type LinuxParameters struct { 12666 _ struct{} `type:"structure"` 12667 12668 // The Linux capabilities for the container that are added to or dropped from 12669 // the default configuration provided by Docker. 12670 // 12671 // For tasks that use the Fargate launch type, capabilities is supported for 12672 // all platform versions but the add parameter is only supported if using platform 12673 // version 1.4.0 or later. 12674 Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` 12675 12676 // Any host devices to expose to the container. This parameter maps to Devices 12677 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12678 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12679 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 12680 // 12681 // If you are using tasks that use the Fargate launch type, the devices parameter 12682 // is not supported. 12683 Devices []*Device `locationName:"devices" type:"list"` 12684 12685 // Run an init process inside the container that forwards signals and reaps 12686 // processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 12687 // This parameter requires version 1.25 of the Docker Remote API or greater 12688 // on your container instance. To check the Docker Remote API version on your 12689 // container instance, log in to your container instance and run the following 12690 // command: sudo docker version --format '{{.Server.APIVersion}}' 12691 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 12692 12693 // The total amount of swap memory (in MiB) a container can use. This parameter 12694 // will be translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration) 12695 // where the value would be the sum of the container memory plus the maxSwap 12696 // value. 12697 // 12698 // If a maxSwap value of 0 is specified, the container will not use swap. Accepted 12699 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 12700 // the container will use the swap configuration for the container instance 12701 // it is running on. A maxSwap value must be set for the swappiness parameter 12702 // to be used. 12703 // 12704 // If you are using tasks that use the Fargate launch type, the maxSwap parameter 12705 // is not supported. 12706 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 12707 12708 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 12709 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 12710 // 12711 // If you are using tasks that use the Fargate launch type, the sharedMemorySize 12712 // parameter is not supported. 12713 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 12714 12715 // This allows you to tune a container's memory swappiness behavior. A swappiness 12716 // value of 0 will cause swapping to not happen unless absolutely necessary. 12717 // A swappiness value of 100 will cause pages to be swapped very aggressively. 12718 // Accepted values are whole numbers between 0 and 100. If the swappiness parameter 12719 // is not specified, a default value of 60 is used. If a value is not specified 12720 // for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness 12721 // option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 12722 // 12723 // If you are using tasks that use the Fargate launch type, the swappiness parameter 12724 // is not supported. 12725 Swappiness *int64 `locationName:"swappiness" type:"integer"` 12726 12727 // The container path, mount options, and size (in MiB) of the tmpfs mount. 12728 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 12729 // 12730 // If you are using tasks that use the Fargate launch type, the tmpfs parameter 12731 // is not supported. 12732 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 12733} 12734 12735// String returns the string representation 12736func (s LinuxParameters) String() string { 12737 return awsutil.Prettify(s) 12738} 12739 12740// GoString returns the string representation 12741func (s LinuxParameters) GoString() string { 12742 return s.String() 12743} 12744 12745// Validate inspects the fields of the type to determine if they are valid. 12746func (s *LinuxParameters) Validate() error { 12747 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 12748 if s.Devices != nil { 12749 for i, v := range s.Devices { 12750 if v == nil { 12751 continue 12752 } 12753 if err := v.Validate(); err != nil { 12754 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 12755 } 12756 } 12757 } 12758 if s.Tmpfs != nil { 12759 for i, v := range s.Tmpfs { 12760 if v == nil { 12761 continue 12762 } 12763 if err := v.Validate(); err != nil { 12764 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 12765 } 12766 } 12767 } 12768 12769 if invalidParams.Len() > 0 { 12770 return invalidParams 12771 } 12772 return nil 12773} 12774 12775// SetCapabilities sets the Capabilities field's value. 12776func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { 12777 s.Capabilities = v 12778 return s 12779} 12780 12781// SetDevices sets the Devices field's value. 12782func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 12783 s.Devices = v 12784 return s 12785} 12786 12787// SetInitProcessEnabled sets the InitProcessEnabled field's value. 12788func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 12789 s.InitProcessEnabled = &v 12790 return s 12791} 12792 12793// SetMaxSwap sets the MaxSwap field's value. 12794func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 12795 s.MaxSwap = &v 12796 return s 12797} 12798 12799// SetSharedMemorySize sets the SharedMemorySize field's value. 12800func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 12801 s.SharedMemorySize = &v 12802 return s 12803} 12804 12805// SetSwappiness sets the Swappiness field's value. 12806func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 12807 s.Swappiness = &v 12808 return s 12809} 12810 12811// SetTmpfs sets the Tmpfs field's value. 12812func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 12813 s.Tmpfs = v 12814 return s 12815} 12816 12817type ListAccountSettingsInput struct { 12818 _ struct{} `type:"structure"` 12819 12820 // Specifies whether to return the effective settings. If true, the account 12821 // settings for the root user or the default setting for the principalArn are 12822 // returned. If false, the account settings for the principalArn are returned 12823 // if they are set. Otherwise, no account settings are returned. 12824 EffectiveSettings *bool `locationName:"effectiveSettings" type:"boolean"` 12825 12826 // The maximum number of account setting results returned by ListAccountSettings 12827 // in paginated output. When this parameter is used, ListAccountSettings only 12828 // returns maxResults results in a single page along with a nextToken response 12829 // element. The remaining results of the initial request can be seen by sending 12830 // another ListAccountSettings request with the returned nextToken value. This 12831 // value can be between 1 and 10. If this parameter is not used, then ListAccountSettings 12832 // returns up to 10 results and a nextToken value if applicable. 12833 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12834 12835 // The name of the account setting you want to list the settings for. 12836 Name *string `locationName:"name" type:"string" enum:"SettingName"` 12837 12838 // The nextToken value returned from a ListAccountSettings request indicating 12839 // that more results are available to fulfill the request and further calls 12840 // will be needed. If maxResults was provided, it is possible the number of 12841 // results to be fewer than maxResults. 12842 // 12843 // This token should be treated as an opaque identifier that is only used to 12844 // retrieve the next items in a list and not for other programmatic purposes. 12845 NextToken *string `locationName:"nextToken" type:"string"` 12846 12847 // The ARN of the principal, which can be an IAM user, IAM role, or the root 12848 // user. If this field is omitted, the account settings are listed only for 12849 // the authenticated user. 12850 PrincipalArn *string `locationName:"principalArn" type:"string"` 12851 12852 // The value of the account settings with which to filter results. You must 12853 // also specify an account setting name to use this parameter. 12854 Value *string `locationName:"value" type:"string"` 12855} 12856 12857// String returns the string representation 12858func (s ListAccountSettingsInput) String() string { 12859 return awsutil.Prettify(s) 12860} 12861 12862// GoString returns the string representation 12863func (s ListAccountSettingsInput) GoString() string { 12864 return s.String() 12865} 12866 12867// SetEffectiveSettings sets the EffectiveSettings field's value. 12868func (s *ListAccountSettingsInput) SetEffectiveSettings(v bool) *ListAccountSettingsInput { 12869 s.EffectiveSettings = &v 12870 return s 12871} 12872 12873// SetMaxResults sets the MaxResults field's value. 12874func (s *ListAccountSettingsInput) SetMaxResults(v int64) *ListAccountSettingsInput { 12875 s.MaxResults = &v 12876 return s 12877} 12878 12879// SetName sets the Name field's value. 12880func (s *ListAccountSettingsInput) SetName(v string) *ListAccountSettingsInput { 12881 s.Name = &v 12882 return s 12883} 12884 12885// SetNextToken sets the NextToken field's value. 12886func (s *ListAccountSettingsInput) SetNextToken(v string) *ListAccountSettingsInput { 12887 s.NextToken = &v 12888 return s 12889} 12890 12891// SetPrincipalArn sets the PrincipalArn field's value. 12892func (s *ListAccountSettingsInput) SetPrincipalArn(v string) *ListAccountSettingsInput { 12893 s.PrincipalArn = &v 12894 return s 12895} 12896 12897// SetValue sets the Value field's value. 12898func (s *ListAccountSettingsInput) SetValue(v string) *ListAccountSettingsInput { 12899 s.Value = &v 12900 return s 12901} 12902 12903type ListAccountSettingsOutput struct { 12904 _ struct{} `type:"structure"` 12905 12906 // The nextToken value to include in a future ListAccountSettings request. When 12907 // the results of a ListAccountSettings request exceed maxResults, this value 12908 // can be used to retrieve the next page of results. This value is null when 12909 // there are no more results to return. 12910 NextToken *string `locationName:"nextToken" type:"string"` 12911 12912 // The account settings for the resource. 12913 Settings []*Setting `locationName:"settings" type:"list"` 12914} 12915 12916// String returns the string representation 12917func (s ListAccountSettingsOutput) String() string { 12918 return awsutil.Prettify(s) 12919} 12920 12921// GoString returns the string representation 12922func (s ListAccountSettingsOutput) GoString() string { 12923 return s.String() 12924} 12925 12926// SetNextToken sets the NextToken field's value. 12927func (s *ListAccountSettingsOutput) SetNextToken(v string) *ListAccountSettingsOutput { 12928 s.NextToken = &v 12929 return s 12930} 12931 12932// SetSettings sets the Settings field's value. 12933func (s *ListAccountSettingsOutput) SetSettings(v []*Setting) *ListAccountSettingsOutput { 12934 s.Settings = v 12935 return s 12936} 12937 12938type ListAttributesInput struct { 12939 _ struct{} `type:"structure"` 12940 12941 // The name of the attribute with which to filter the results. 12942 AttributeName *string `locationName:"attributeName" type:"string"` 12943 12944 // The value of the attribute with which to filter results. You must also specify 12945 // an attribute name to use this parameter. 12946 AttributeValue *string `locationName:"attributeValue" type:"string"` 12947 12948 // The short name or full Amazon Resource Name (ARN) of the cluster to list 12949 // attributes. If you do not specify a cluster, the default cluster is assumed. 12950 Cluster *string `locationName:"cluster" type:"string"` 12951 12952 // The maximum number of cluster results returned by ListAttributes in paginated 12953 // output. When this parameter is used, ListAttributes only returns maxResults 12954 // results in a single page along with a nextToken response element. The remaining 12955 // results of the initial request can be seen by sending another ListAttributes 12956 // request with the returned nextToken value. This value can be between 1 and 12957 // 100. If this parameter is not used, then ListAttributes returns up to 100 12958 // results and a nextToken value if applicable. 12959 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12960 12961 // The nextToken value returned from a ListAttributes request indicating that 12962 // more results are available to fulfill the request and further calls will 12963 // be needed. If maxResults was provided, it is possible the number of results 12964 // to be fewer than maxResults. 12965 // 12966 // This token should be treated as an opaque identifier that is only used to 12967 // retrieve the next items in a list and not for other programmatic purposes. 12968 NextToken *string `locationName:"nextToken" type:"string"` 12969 12970 // The type of the target with which to list attributes. 12971 // 12972 // TargetType is a required field 12973 TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"` 12974} 12975 12976// String returns the string representation 12977func (s ListAttributesInput) String() string { 12978 return awsutil.Prettify(s) 12979} 12980 12981// GoString returns the string representation 12982func (s ListAttributesInput) GoString() string { 12983 return s.String() 12984} 12985 12986// Validate inspects the fields of the type to determine if they are valid. 12987func (s *ListAttributesInput) Validate() error { 12988 invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"} 12989 if s.TargetType == nil { 12990 invalidParams.Add(request.NewErrParamRequired("TargetType")) 12991 } 12992 12993 if invalidParams.Len() > 0 { 12994 return invalidParams 12995 } 12996 return nil 12997} 12998 12999// SetAttributeName sets the AttributeName field's value. 13000func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput { 13001 s.AttributeName = &v 13002 return s 13003} 13004 13005// SetAttributeValue sets the AttributeValue field's value. 13006func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput { 13007 s.AttributeValue = &v 13008 return s 13009} 13010 13011// SetCluster sets the Cluster field's value. 13012func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput { 13013 s.Cluster = &v 13014 return s 13015} 13016 13017// SetMaxResults sets the MaxResults field's value. 13018func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput { 13019 s.MaxResults = &v 13020 return s 13021} 13022 13023// SetNextToken sets the NextToken field's value. 13024func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput { 13025 s.NextToken = &v 13026 return s 13027} 13028 13029// SetTargetType sets the TargetType field's value. 13030func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput { 13031 s.TargetType = &v 13032 return s 13033} 13034 13035type ListAttributesOutput struct { 13036 _ struct{} `type:"structure"` 13037 13038 // A list of attribute objects that meet the criteria of the request. 13039 Attributes []*Attribute `locationName:"attributes" type:"list"` 13040 13041 // The nextToken value to include in a future ListAttributes request. When the 13042 // results of a ListAttributes request exceed maxResults, this value can be 13043 // used to retrieve the next page of results. This value is null when there 13044 // are no more results to return. 13045 NextToken *string `locationName:"nextToken" type:"string"` 13046} 13047 13048// String returns the string representation 13049func (s ListAttributesOutput) String() string { 13050 return awsutil.Prettify(s) 13051} 13052 13053// GoString returns the string representation 13054func (s ListAttributesOutput) GoString() string { 13055 return s.String() 13056} 13057 13058// SetAttributes sets the Attributes field's value. 13059func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput { 13060 s.Attributes = v 13061 return s 13062} 13063 13064// SetNextToken sets the NextToken field's value. 13065func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput { 13066 s.NextToken = &v 13067 return s 13068} 13069 13070type ListClustersInput struct { 13071 _ struct{} `type:"structure"` 13072 13073 // The maximum number of cluster results returned by ListClusters in paginated 13074 // output. When this parameter is used, ListClusters only returns maxResults 13075 // results in a single page along with a nextToken response element. The remaining 13076 // results of the initial request can be seen by sending another ListClusters 13077 // request with the returned nextToken value. This value can be between 1 and 13078 // 100. If this parameter is not used, then ListClusters returns up to 100 results 13079 // and a nextToken value if applicable. 13080 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13081 13082 // The nextToken value returned from a ListClusters request indicating that 13083 // more results are available to fulfill the request and further calls will 13084 // be needed. If maxResults was provided, it is possible the number of results 13085 // to be fewer than maxResults. 13086 // 13087 // This token should be treated as an opaque identifier that is only used to 13088 // retrieve the next items in a list and not for other programmatic purposes. 13089 NextToken *string `locationName:"nextToken" type:"string"` 13090} 13091 13092// String returns the string representation 13093func (s ListClustersInput) String() string { 13094 return awsutil.Prettify(s) 13095} 13096 13097// GoString returns the string representation 13098func (s ListClustersInput) GoString() string { 13099 return s.String() 13100} 13101 13102// SetMaxResults sets the MaxResults field's value. 13103func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 13104 s.MaxResults = &v 13105 return s 13106} 13107 13108// SetNextToken sets the NextToken field's value. 13109func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 13110 s.NextToken = &v 13111 return s 13112} 13113 13114type ListClustersOutput struct { 13115 _ struct{} `type:"structure"` 13116 13117 // The list of full Amazon Resource Name (ARN) entries for each cluster associated 13118 // with your account. 13119 ClusterArns []*string `locationName:"clusterArns" type:"list"` 13120 13121 // The nextToken value to include in a future ListClusters request. When the 13122 // results of a ListClusters request exceed maxResults, this value can be used 13123 // to retrieve the next page of results. This value is null when there are no 13124 // more results to return. 13125 NextToken *string `locationName:"nextToken" type:"string"` 13126} 13127 13128// String returns the string representation 13129func (s ListClustersOutput) String() string { 13130 return awsutil.Prettify(s) 13131} 13132 13133// GoString returns the string representation 13134func (s ListClustersOutput) GoString() string { 13135 return s.String() 13136} 13137 13138// SetClusterArns sets the ClusterArns field's value. 13139func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput { 13140 s.ClusterArns = v 13141 return s 13142} 13143 13144// SetNextToken sets the NextToken field's value. 13145func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 13146 s.NextToken = &v 13147 return s 13148} 13149 13150type ListContainerInstancesInput struct { 13151 _ struct{} `type:"structure"` 13152 13153 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 13154 // the container instances to list. If you do not specify a cluster, the default 13155 // cluster is assumed. 13156 Cluster *string `locationName:"cluster" type:"string"` 13157 13158 // You can filter the results of a ListContainerInstances operation with cluster 13159 // query language statements. For more information, see Cluster Query Language 13160 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 13161 // in the Amazon Elastic Container Service Developer Guide. 13162 Filter *string `locationName:"filter" type:"string"` 13163 13164 // The maximum number of container instance results returned by ListContainerInstances 13165 // in paginated output. When this parameter is used, ListContainerInstances 13166 // only returns maxResults results in a single page along with a nextToken response 13167 // element. The remaining results of the initial request can be seen by sending 13168 // another ListContainerInstances request with the returned nextToken value. 13169 // This value can be between 1 and 100. If this parameter is not used, then 13170 // ListContainerInstances returns up to 100 results and a nextToken value if 13171 // applicable. 13172 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13173 13174 // The nextToken value returned from a ListContainerInstances request indicating 13175 // that more results are available to fulfill the request and further calls 13176 // will be needed. If maxResults was provided, it is possible the number of 13177 // results to be fewer than maxResults. 13178 // 13179 // This token should be treated as an opaque identifier that is only used to 13180 // retrieve the next items in a list and not for other programmatic purposes. 13181 NextToken *string `locationName:"nextToken" type:"string"` 13182 13183 // Filters the container instances by status. For example, if you specify the 13184 // DRAINING status, the results include only container instances that have been 13185 // set to DRAINING using UpdateContainerInstancesState. If you do not specify 13186 // this parameter, the default is to include container instances set to all 13187 // states other than INACTIVE. 13188 Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"` 13189} 13190 13191// String returns the string representation 13192func (s ListContainerInstancesInput) String() string { 13193 return awsutil.Prettify(s) 13194} 13195 13196// GoString returns the string representation 13197func (s ListContainerInstancesInput) GoString() string { 13198 return s.String() 13199} 13200 13201// SetCluster sets the Cluster field's value. 13202func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput { 13203 s.Cluster = &v 13204 return s 13205} 13206 13207// SetFilter sets the Filter field's value. 13208func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput { 13209 s.Filter = &v 13210 return s 13211} 13212 13213// SetMaxResults sets the MaxResults field's value. 13214func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput { 13215 s.MaxResults = &v 13216 return s 13217} 13218 13219// SetNextToken sets the NextToken field's value. 13220func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput { 13221 s.NextToken = &v 13222 return s 13223} 13224 13225// SetStatus sets the Status field's value. 13226func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput { 13227 s.Status = &v 13228 return s 13229} 13230 13231type ListContainerInstancesOutput struct { 13232 _ struct{} `type:"structure"` 13233 13234 // The list of container instances with full ARN entries for each container 13235 // instance associated with the specified cluster. 13236 ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` 13237 13238 // The nextToken value to include in a future ListContainerInstances request. 13239 // When the results of a ListContainerInstances request exceed maxResults, this 13240 // value can be used to retrieve the next page of results. This value is null 13241 // when there are no more results to return. 13242 NextToken *string `locationName:"nextToken" type:"string"` 13243} 13244 13245// String returns the string representation 13246func (s ListContainerInstancesOutput) String() string { 13247 return awsutil.Prettify(s) 13248} 13249 13250// GoString returns the string representation 13251func (s ListContainerInstancesOutput) GoString() string { 13252 return s.String() 13253} 13254 13255// SetContainerInstanceArns sets the ContainerInstanceArns field's value. 13256func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput { 13257 s.ContainerInstanceArns = v 13258 return s 13259} 13260 13261// SetNextToken sets the NextToken field's value. 13262func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput { 13263 s.NextToken = &v 13264 return s 13265} 13266 13267type ListServicesInput struct { 13268 _ struct{} `type:"structure"` 13269 13270 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 13271 // the services to list. If you do not specify a cluster, the default cluster 13272 // is assumed. 13273 Cluster *string `locationName:"cluster" type:"string"` 13274 13275 // The launch type for the services to list. 13276 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 13277 13278 // The maximum number of service results returned by ListServices in paginated 13279 // output. When this parameter is used, ListServices only returns maxResults 13280 // results in a single page along with a nextToken response element. The remaining 13281 // results of the initial request can be seen by sending another ListServices 13282 // request with the returned nextToken value. This value can be between 1 and 13283 // 100. If this parameter is not used, then ListServices returns up to 10 results 13284 // and a nextToken value if applicable. 13285 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13286 13287 // The nextToken value returned from a ListServices request indicating that 13288 // more results are available to fulfill the request and further calls will 13289 // be needed. If maxResults was provided, it is possible the number of results 13290 // to be fewer than maxResults. 13291 // 13292 // This token should be treated as an opaque identifier that is only used to 13293 // retrieve the next items in a list and not for other programmatic purposes. 13294 NextToken *string `locationName:"nextToken" type:"string"` 13295 13296 // The scheduling strategy for services to list. 13297 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 13298} 13299 13300// String returns the string representation 13301func (s ListServicesInput) String() string { 13302 return awsutil.Prettify(s) 13303} 13304 13305// GoString returns the string representation 13306func (s ListServicesInput) GoString() string { 13307 return s.String() 13308} 13309 13310// SetCluster sets the Cluster field's value. 13311func (s *ListServicesInput) SetCluster(v string) *ListServicesInput { 13312 s.Cluster = &v 13313 return s 13314} 13315 13316// SetLaunchType sets the LaunchType field's value. 13317func (s *ListServicesInput) SetLaunchType(v string) *ListServicesInput { 13318 s.LaunchType = &v 13319 return s 13320} 13321 13322// SetMaxResults sets the MaxResults field's value. 13323func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 13324 s.MaxResults = &v 13325 return s 13326} 13327 13328// SetNextToken sets the NextToken field's value. 13329func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 13330 s.NextToken = &v 13331 return s 13332} 13333 13334// SetSchedulingStrategy sets the SchedulingStrategy field's value. 13335func (s *ListServicesInput) SetSchedulingStrategy(v string) *ListServicesInput { 13336 s.SchedulingStrategy = &v 13337 return s 13338} 13339 13340type ListServicesOutput struct { 13341 _ struct{} `type:"structure"` 13342 13343 // The nextToken value to include in a future ListServices request. When the 13344 // results of a ListServices request exceed maxResults, this value can be used 13345 // to retrieve the next page of results. This value is null when there are no 13346 // more results to return. 13347 NextToken *string `locationName:"nextToken" type:"string"` 13348 13349 // The list of full ARN entries for each service associated with the specified 13350 // cluster. 13351 ServiceArns []*string `locationName:"serviceArns" type:"list"` 13352} 13353 13354// String returns the string representation 13355func (s ListServicesOutput) String() string { 13356 return awsutil.Prettify(s) 13357} 13358 13359// GoString returns the string representation 13360func (s ListServicesOutput) GoString() string { 13361 return s.String() 13362} 13363 13364// SetNextToken sets the NextToken field's value. 13365func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 13366 s.NextToken = &v 13367 return s 13368} 13369 13370// SetServiceArns sets the ServiceArns field's value. 13371func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput { 13372 s.ServiceArns = v 13373 return s 13374} 13375 13376type ListTagsForResourceInput struct { 13377 _ struct{} `type:"structure"` 13378 13379 // The Amazon Resource Name (ARN) that identifies the resource for which to 13380 // list the tags. Currently, the supported resources are Amazon ECS tasks, services, 13381 // task definitions, clusters, and container instances. 13382 // 13383 // ResourceArn is a required field 13384 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 13385} 13386 13387// String returns the string representation 13388func (s ListTagsForResourceInput) String() string { 13389 return awsutil.Prettify(s) 13390} 13391 13392// GoString returns the string representation 13393func (s ListTagsForResourceInput) GoString() string { 13394 return s.String() 13395} 13396 13397// Validate inspects the fields of the type to determine if they are valid. 13398func (s *ListTagsForResourceInput) Validate() error { 13399 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 13400 if s.ResourceArn == nil { 13401 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 13402 } 13403 13404 if invalidParams.Len() > 0 { 13405 return invalidParams 13406 } 13407 return nil 13408} 13409 13410// SetResourceArn sets the ResourceArn field's value. 13411func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 13412 s.ResourceArn = &v 13413 return s 13414} 13415 13416type ListTagsForResourceOutput struct { 13417 _ struct{} `type:"structure"` 13418 13419 // The tags for the resource. 13420 Tags []*Tag `locationName:"tags" type:"list"` 13421} 13422 13423// String returns the string representation 13424func (s ListTagsForResourceOutput) String() string { 13425 return awsutil.Prettify(s) 13426} 13427 13428// GoString returns the string representation 13429func (s ListTagsForResourceOutput) GoString() string { 13430 return s.String() 13431} 13432 13433// SetTags sets the Tags field's value. 13434func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 13435 s.Tags = v 13436 return s 13437} 13438 13439type ListTaskDefinitionFamiliesInput struct { 13440 _ struct{} `type:"structure"` 13441 13442 // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. 13443 // If you specify a familyPrefix, only task definition family names that begin 13444 // with the familyPrefix string are returned. 13445 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 13446 13447 // The maximum number of task definition family results returned by ListTaskDefinitionFamilies 13448 // in paginated output. When this parameter is used, ListTaskDefinitions only 13449 // returns maxResults results in a single page along with a nextToken response 13450 // element. The remaining results of the initial request can be seen by sending 13451 // another ListTaskDefinitionFamilies request with the returned nextToken value. 13452 // This value can be between 1 and 100. If this parameter is not used, then 13453 // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value 13454 // if applicable. 13455 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13456 13457 // The nextToken value returned from a ListTaskDefinitionFamilies request indicating 13458 // that more results are available to fulfill the request and further calls 13459 // will be needed. If maxResults was provided, it is possible the number of 13460 // results to be fewer than maxResults. 13461 // 13462 // This token should be treated as an opaque identifier that is only used to 13463 // retrieve the next items in a list and not for other programmatic purposes. 13464 NextToken *string `locationName:"nextToken" type:"string"` 13465 13466 // The task definition family status with which to filter the ListTaskDefinitionFamilies 13467 // results. By default, both ACTIVE and INACTIVE task definition families are 13468 // listed. If this parameter is set to ACTIVE, only task definition families 13469 // that have an ACTIVE task definition revision are returned. If this parameter 13470 // is set to INACTIVE, only task definition families that do not have any ACTIVE 13471 // task definition revisions are returned. If you paginate the resulting output, 13472 // be sure to keep the status value constant in each subsequent request. 13473 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` 13474} 13475 13476// String returns the string representation 13477func (s ListTaskDefinitionFamiliesInput) String() string { 13478 return awsutil.Prettify(s) 13479} 13480 13481// GoString returns the string representation 13482func (s ListTaskDefinitionFamiliesInput) GoString() string { 13483 return s.String() 13484} 13485 13486// SetFamilyPrefix sets the FamilyPrefix field's value. 13487func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput { 13488 s.FamilyPrefix = &v 13489 return s 13490} 13491 13492// SetMaxResults sets the MaxResults field's value. 13493func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput { 13494 s.MaxResults = &v 13495 return s 13496} 13497 13498// SetNextToken sets the NextToken field's value. 13499func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput { 13500 s.NextToken = &v 13501 return s 13502} 13503 13504// SetStatus sets the Status field's value. 13505func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput { 13506 s.Status = &v 13507 return s 13508} 13509 13510type ListTaskDefinitionFamiliesOutput struct { 13511 _ struct{} `type:"structure"` 13512 13513 // The list of task definition family names that match the ListTaskDefinitionFamilies 13514 // request. 13515 Families []*string `locationName:"families" type:"list"` 13516 13517 // The nextToken value to include in a future ListTaskDefinitionFamilies request. 13518 // When the results of a ListTaskDefinitionFamilies request exceed maxResults, 13519 // this value can be used to retrieve the next page of results. This value is 13520 // null when there are no more results to return. 13521 NextToken *string `locationName:"nextToken" type:"string"` 13522} 13523 13524// String returns the string representation 13525func (s ListTaskDefinitionFamiliesOutput) String() string { 13526 return awsutil.Prettify(s) 13527} 13528 13529// GoString returns the string representation 13530func (s ListTaskDefinitionFamiliesOutput) GoString() string { 13531 return s.String() 13532} 13533 13534// SetFamilies sets the Families field's value. 13535func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput { 13536 s.Families = v 13537 return s 13538} 13539 13540// SetNextToken sets the NextToken field's value. 13541func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput { 13542 s.NextToken = &v 13543 return s 13544} 13545 13546type ListTaskDefinitionsInput struct { 13547 _ struct{} `type:"structure"` 13548 13549 // The full family name with which to filter the ListTaskDefinitions results. 13550 // Specifying a familyPrefix limits the listed task definitions to task definition 13551 // revisions that belong to that family. 13552 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 13553 13554 // The maximum number of task definition results returned by ListTaskDefinitions 13555 // in paginated output. When this parameter is used, ListTaskDefinitions only 13556 // returns maxResults results in a single page along with a nextToken response 13557 // element. The remaining results of the initial request can be seen by sending 13558 // another ListTaskDefinitions request with the returned nextToken value. This 13559 // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions 13560 // returns up to 100 results and a nextToken value if applicable. 13561 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13562 13563 // The nextToken value returned from a ListTaskDefinitions request indicating 13564 // that more results are available to fulfill the request and further calls 13565 // will be needed. If maxResults was provided, it is possible the number of 13566 // results to be fewer than maxResults. 13567 // 13568 // This token should be treated as an opaque identifier that is only used to 13569 // retrieve the next items in a list and not for other programmatic purposes. 13570 NextToken *string `locationName:"nextToken" type:"string"` 13571 13572 // The order in which to sort the results. Valid values are ASC and DESC. By 13573 // default (ASC), task definitions are listed lexicographically by family name 13574 // and in ascending numerical order by revision so that the newest task definitions 13575 // in a family are listed last. Setting this parameter to DESC reverses the 13576 // sort order on family name and revision so that the newest task definitions 13577 // in a family are listed first. 13578 Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` 13579 13580 // The task definition status with which to filter the ListTaskDefinitions results. 13581 // By default, only ACTIVE task definitions are listed. By setting this parameter 13582 // to INACTIVE, you can view task definitions that are INACTIVE as long as an 13583 // active task or service still references them. If you paginate the resulting 13584 // output, be sure to keep the status value constant in each subsequent request. 13585 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 13586} 13587 13588// String returns the string representation 13589func (s ListTaskDefinitionsInput) String() string { 13590 return awsutil.Prettify(s) 13591} 13592 13593// GoString returns the string representation 13594func (s ListTaskDefinitionsInput) GoString() string { 13595 return s.String() 13596} 13597 13598// SetFamilyPrefix sets the FamilyPrefix field's value. 13599func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput { 13600 s.FamilyPrefix = &v 13601 return s 13602} 13603 13604// SetMaxResults sets the MaxResults field's value. 13605func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput { 13606 s.MaxResults = &v 13607 return s 13608} 13609 13610// SetNextToken sets the NextToken field's value. 13611func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput { 13612 s.NextToken = &v 13613 return s 13614} 13615 13616// SetSort sets the Sort field's value. 13617func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput { 13618 s.Sort = &v 13619 return s 13620} 13621 13622// SetStatus sets the Status field's value. 13623func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput { 13624 s.Status = &v 13625 return s 13626} 13627 13628type ListTaskDefinitionsOutput struct { 13629 _ struct{} `type:"structure"` 13630 13631 // The nextToken value to include in a future ListTaskDefinitions request. When 13632 // the results of a ListTaskDefinitions request exceed maxResults, this value 13633 // can be used to retrieve the next page of results. This value is null when 13634 // there are no more results to return. 13635 NextToken *string `locationName:"nextToken" type:"string"` 13636 13637 // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions 13638 // request. 13639 TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` 13640} 13641 13642// String returns the string representation 13643func (s ListTaskDefinitionsOutput) String() string { 13644 return awsutil.Prettify(s) 13645} 13646 13647// GoString returns the string representation 13648func (s ListTaskDefinitionsOutput) GoString() string { 13649 return s.String() 13650} 13651 13652// SetNextToken sets the NextToken field's value. 13653func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput { 13654 s.NextToken = &v 13655 return s 13656} 13657 13658// SetTaskDefinitionArns sets the TaskDefinitionArns field's value. 13659func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput { 13660 s.TaskDefinitionArns = v 13661 return s 13662} 13663 13664type ListTasksInput struct { 13665 _ struct{} `type:"structure"` 13666 13667 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 13668 // the tasks to list. If you do not specify a cluster, the default cluster is 13669 // assumed. 13670 Cluster *string `locationName:"cluster" type:"string"` 13671 13672 // The container instance ID or full ARN of the container instance with which 13673 // to filter the ListTasks results. Specifying a containerInstance limits the 13674 // results to tasks that belong to that container instance. 13675 ContainerInstance *string `locationName:"containerInstance" type:"string"` 13676 13677 // The task desired status with which to filter the ListTasks results. Specifying 13678 // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has 13679 // set the desired status to STOPPED. This can be useful for debugging tasks 13680 // that are not starting properly or have died or finished. The default status 13681 // filter is RUNNING, which shows tasks that Amazon ECS has set the desired 13682 // status to RUNNING. 13683 // 13684 // Although you can filter results based on a desired status of PENDING, this 13685 // does not return any results. Amazon ECS never sets the desired status of 13686 // a task to that value (only a task's lastStatus may have a value of PENDING). 13687 DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` 13688 13689 // The name of the family with which to filter the ListTasks results. Specifying 13690 // a family limits the results to tasks that belong to that family. 13691 Family *string `locationName:"family" type:"string"` 13692 13693 // The launch type for services to list. 13694 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 13695 13696 // The maximum number of task results returned by ListTasks in paginated output. 13697 // When this parameter is used, ListTasks only returns maxResults results in 13698 // a single page along with a nextToken response element. The remaining results 13699 // of the initial request can be seen by sending another ListTasks request with 13700 // the returned nextToken value. This value can be between 1 and 100. If this 13701 // parameter is not used, then ListTasks returns up to 100 results and a nextToken 13702 // value if applicable. 13703 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13704 13705 // The nextToken value returned from a ListTasks request indicating that more 13706 // results are available to fulfill the request and further calls will be needed. 13707 // If maxResults was provided, it is possible the number of results to be fewer 13708 // than maxResults. 13709 // 13710 // This token should be treated as an opaque identifier that is only used to 13711 // retrieve the next items in a list and not for other programmatic purposes. 13712 NextToken *string `locationName:"nextToken" type:"string"` 13713 13714 // The name of the service with which to filter the ListTasks results. Specifying 13715 // a serviceName limits the results to tasks that belong to that service. 13716 ServiceName *string `locationName:"serviceName" type:"string"` 13717 13718 // The startedBy value with which to filter the task results. Specifying a startedBy 13719 // value limits the results to tasks that were started with that value. 13720 StartedBy *string `locationName:"startedBy" type:"string"` 13721} 13722 13723// String returns the string representation 13724func (s ListTasksInput) String() string { 13725 return awsutil.Prettify(s) 13726} 13727 13728// GoString returns the string representation 13729func (s ListTasksInput) GoString() string { 13730 return s.String() 13731} 13732 13733// SetCluster sets the Cluster field's value. 13734func (s *ListTasksInput) SetCluster(v string) *ListTasksInput { 13735 s.Cluster = &v 13736 return s 13737} 13738 13739// SetContainerInstance sets the ContainerInstance field's value. 13740func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput { 13741 s.ContainerInstance = &v 13742 return s 13743} 13744 13745// SetDesiredStatus sets the DesiredStatus field's value. 13746func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput { 13747 s.DesiredStatus = &v 13748 return s 13749} 13750 13751// SetFamily sets the Family field's value. 13752func (s *ListTasksInput) SetFamily(v string) *ListTasksInput { 13753 s.Family = &v 13754 return s 13755} 13756 13757// SetLaunchType sets the LaunchType field's value. 13758func (s *ListTasksInput) SetLaunchType(v string) *ListTasksInput { 13759 s.LaunchType = &v 13760 return s 13761} 13762 13763// SetMaxResults sets the MaxResults field's value. 13764func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { 13765 s.MaxResults = &v 13766 return s 13767} 13768 13769// SetNextToken sets the NextToken field's value. 13770func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput { 13771 s.NextToken = &v 13772 return s 13773} 13774 13775// SetServiceName sets the ServiceName field's value. 13776func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput { 13777 s.ServiceName = &v 13778 return s 13779} 13780 13781// SetStartedBy sets the StartedBy field's value. 13782func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput { 13783 s.StartedBy = &v 13784 return s 13785} 13786 13787type ListTasksOutput struct { 13788 _ struct{} `type:"structure"` 13789 13790 // The nextToken value to include in a future ListTasks request. When the results 13791 // of a ListTasks request exceed maxResults, this value can be used to retrieve 13792 // the next page of results. This value is null when there are no more results 13793 // to return. 13794 NextToken *string `locationName:"nextToken" type:"string"` 13795 13796 // The list of task ARN entries for the ListTasks request. 13797 TaskArns []*string `locationName:"taskArns" type:"list"` 13798} 13799 13800// String returns the string representation 13801func (s ListTasksOutput) String() string { 13802 return awsutil.Prettify(s) 13803} 13804 13805// GoString returns the string representation 13806func (s ListTasksOutput) GoString() string { 13807 return s.String() 13808} 13809 13810// SetNextToken sets the NextToken field's value. 13811func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput { 13812 s.NextToken = &v 13813 return s 13814} 13815 13816// SetTaskArns sets the TaskArns field's value. 13817func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { 13818 s.TaskArns = v 13819 return s 13820} 13821 13822// The load balancer configuration to use with a service or task set. 13823// 13824// For specific notes and restrictions regarding the use of load balancers with 13825// services and task sets, see the CreateService and CreateTaskSet actions. 13826type LoadBalancer struct { 13827 _ struct{} `type:"structure"` 13828 13829 // The name of the container (as it appears in a container definition) to associate 13830 // with the load balancer. 13831 ContainerName *string `locationName:"containerName" type:"string"` 13832 13833 // The port on the container to associate with the load balancer. This port 13834 // must correspond to a containerPort in the task definition the tasks in the 13835 // service are using. For tasks that use the EC2 launch type, the container 13836 // instance they are launched on must allow ingress traffic on the hostPort 13837 // of the port mapping. 13838 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 13839 13840 // The name of the load balancer to associate with the Amazon ECS service or 13841 // task set. 13842 // 13843 // A load balancer name is only specified when using a Classic Load Balancer. 13844 // If you are using an Application Load Balancer or a Network Load Balancer 13845 // the load balancer name parameter should be omitted. 13846 LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` 13847 13848 // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target 13849 // group or groups associated with a service or task set. 13850 // 13851 // A target group ARN is only specified when using an Application Load Balancer 13852 // or Network Load Balancer. If you are using a Classic Load Balancer the target 13853 // group ARN should be omitted. 13854 // 13855 // For services using the ECS deployment controller, you can specify one or 13856 // multiple target groups. For more information, see Registering Multiple Target 13857 // Groups with a Service (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) 13858 // in the Amazon Elastic Container Service Developer Guide. 13859 // 13860 // For services using the CODE_DEPLOY deployment controller, you are required 13861 // to define two target groups for the load balancer. For more information, 13862 // see Blue/Green Deployment with CodeDeploy (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) 13863 // in the Amazon Elastic Container Service Developer Guide. 13864 // 13865 // If your service's task definition uses the awsvpc network mode (which is 13866 // required for the Fargate launch type), you must choose ip as the target type, 13867 // not instance, when creating your target groups because tasks that use the 13868 // awsvpc network mode are associated with an elastic network interface, not 13869 // an Amazon EC2 instance. 13870 TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` 13871} 13872 13873// String returns the string representation 13874func (s LoadBalancer) String() string { 13875 return awsutil.Prettify(s) 13876} 13877 13878// GoString returns the string representation 13879func (s LoadBalancer) GoString() string { 13880 return s.String() 13881} 13882 13883// SetContainerName sets the ContainerName field's value. 13884func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer { 13885 s.ContainerName = &v 13886 return s 13887} 13888 13889// SetContainerPort sets the ContainerPort field's value. 13890func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer { 13891 s.ContainerPort = &v 13892 return s 13893} 13894 13895// SetLoadBalancerName sets the LoadBalancerName field's value. 13896func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 13897 s.LoadBalancerName = &v 13898 return s 13899} 13900 13901// SetTargetGroupArn sets the TargetGroupArn field's value. 13902func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer { 13903 s.TargetGroupArn = &v 13904 return s 13905} 13906 13907// The log configuration for the container. This parameter maps to LogConfig 13908// in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 13909// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 13910// and the --log-driver option to docker run (https://docs.docker.com/engine/reference/commandline/run/). 13911// 13912// By default, containers use the same logging driver that the Docker daemon 13913// uses; however the container may use a different logging driver than the Docker 13914// daemon by specifying a log driver configuration in the container definition. 13915// For more information on the options for different supported log drivers, 13916// see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 13917// in the Docker documentation. 13918// 13919// The following should be noted when specifying a log configuration for your 13920// containers: 13921// 13922// * Amazon ECS currently supports a subset of the logging drivers available 13923// to the Docker daemon (shown in the valid values below). Additional log 13924// drivers may be available in future releases of the Amazon ECS container 13925// agent. 13926// 13927// * This parameter requires version 1.18 of the Docker Remote API or greater 13928// on your container instance. 13929// 13930// * For tasks hosted on Amazon EC2 instances, the Amazon ECS container agent 13931// must register the available logging drivers with the ECS_AVAILABLE_LOGGING_DRIVERS 13932// environment variable before containers placed on that instance can use 13933// these log configuration options. For more information, see Amazon ECS 13934// container agent configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 13935// in the Amazon Elastic Container Service Developer Guide. 13936// 13937// * For tasks on AWS Fargate, because you do not have access to the underlying 13938// infrastructure your tasks are hosted on, any additional software needed 13939// will have to be installed outside of the task. For example, the Fluentd 13940// output aggregators or a remote host running Logstash to send Gelf logs 13941// to. 13942type LogConfiguration struct { 13943 _ struct{} `type:"structure"` 13944 13945 // The log driver to use for the container. 13946 // 13947 // For tasks on AWS Fargate, the supported log drivers are awslogs, splunk, 13948 // and awsfirelens. 13949 // 13950 // For tasks hosted on Amazon EC2 instances, the supported log drivers are awslogs, 13951 // fluentd, gelf, json-file, journald, logentries,syslog, splunk, and awsfirelens. 13952 // 13953 // For more information about using the awslogs log driver, see Using the awslogs 13954 // log driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) 13955 // in the Amazon Elastic Container Service Developer Guide. 13956 // 13957 // For more information about using the awsfirelens log driver, see Custom log 13958 // routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 13959 // in the Amazon Elastic Container Service Developer Guide. 13960 // 13961 // If you have a custom driver that is not listed, you can fork the Amazon ECS 13962 // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) 13963 // and customize it to work with that driver. We encourage you to submit pull 13964 // requests for changes that you would like to have included. However, we do 13965 // not currently provide support for running modified copies of this software. 13966 // 13967 // LogDriver is a required field 13968 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 13969 13970 // The configuration options to send to the log driver. This parameter requires 13971 // version 1.19 of the Docker Remote API or greater on your container instance. 13972 // To check the Docker Remote API version on your container instance, log in 13973 // to your container instance and run the following command: sudo docker version 13974 // --format '{{.Server.APIVersion}}' 13975 Options map[string]*string `locationName:"options" type:"map"` 13976 13977 // The secrets to pass to the log configuration. For more information, see Specifying 13978 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 13979 // in the Amazon Elastic Container Service Developer Guide. 13980 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 13981} 13982 13983// String returns the string representation 13984func (s LogConfiguration) String() string { 13985 return awsutil.Prettify(s) 13986} 13987 13988// GoString returns the string representation 13989func (s LogConfiguration) GoString() string { 13990 return s.String() 13991} 13992 13993// Validate inspects the fields of the type to determine if they are valid. 13994func (s *LogConfiguration) Validate() error { 13995 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 13996 if s.LogDriver == nil { 13997 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 13998 } 13999 if s.SecretOptions != nil { 14000 for i, v := range s.SecretOptions { 14001 if v == nil { 14002 continue 14003 } 14004 if err := v.Validate(); err != nil { 14005 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 14006 } 14007 } 14008 } 14009 14010 if invalidParams.Len() > 0 { 14011 return invalidParams 14012 } 14013 return nil 14014} 14015 14016// SetLogDriver sets the LogDriver field's value. 14017func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 14018 s.LogDriver = &v 14019 return s 14020} 14021 14022// SetOptions sets the Options field's value. 14023func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 14024 s.Options = v 14025 return s 14026} 14027 14028// SetSecretOptions sets the SecretOptions field's value. 14029func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 14030 s.SecretOptions = v 14031 return s 14032} 14033 14034// The managed scaling settings for the Auto Scaling group capacity provider. 14035// 14036// When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out 14037// actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling 14038// policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity 14039// value as the target value for the metric. For more information, see Using 14040// Managed Scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) 14041// in the Amazon Elastic Container Service Developer Guide. 14042// 14043// If managed scaling is disabled, the user must manage the scaling of the Auto 14044// Scaling group. 14045type ManagedScaling struct { 14046 _ struct{} `type:"structure"` 14047 14048 // The period of time, in seconds, after a newly launched Amazon EC2 instance 14049 // can contribute to CloudWatch metrics for Auto Scaling group. If this parameter 14050 // is omitted, the default value of 300 seconds is used. 14051 InstanceWarmupPeriod *int64 `locationName:"instanceWarmupPeriod" type:"integer"` 14052 14053 // The maximum number of container instances that Amazon ECS will scale in or 14054 // scale out at one time. If this parameter is omitted, the default value of 14055 // 10000 is used. 14056 MaximumScalingStepSize *int64 `locationName:"maximumScalingStepSize" min:"1" type:"integer"` 14057 14058 // The minimum number of container instances that Amazon ECS will scale in or 14059 // scale out at one time. If this parameter is omitted, the default value of 14060 // 1 is used. 14061 MinimumScalingStepSize *int64 `locationName:"minimumScalingStepSize" min:"1" type:"integer"` 14062 14063 // Whether or not to enable managed scaling for the capacity provider. 14064 Status *string `locationName:"status" type:"string" enum:"ManagedScalingStatus"` 14065 14066 // The target capacity value for the capacity provider. The specified value 14067 // must be greater than 0 and less than or equal to 100. A value of 100 will 14068 // result in the Amazon EC2 instances in your Auto Scaling group being completely 14069 // utilized. 14070 TargetCapacity *int64 `locationName:"targetCapacity" min:"1" type:"integer"` 14071} 14072 14073// String returns the string representation 14074func (s ManagedScaling) String() string { 14075 return awsutil.Prettify(s) 14076} 14077 14078// GoString returns the string representation 14079func (s ManagedScaling) GoString() string { 14080 return s.String() 14081} 14082 14083// Validate inspects the fields of the type to determine if they are valid. 14084func (s *ManagedScaling) Validate() error { 14085 invalidParams := request.ErrInvalidParams{Context: "ManagedScaling"} 14086 if s.MaximumScalingStepSize != nil && *s.MaximumScalingStepSize < 1 { 14087 invalidParams.Add(request.NewErrParamMinValue("MaximumScalingStepSize", 1)) 14088 } 14089 if s.MinimumScalingStepSize != nil && *s.MinimumScalingStepSize < 1 { 14090 invalidParams.Add(request.NewErrParamMinValue("MinimumScalingStepSize", 1)) 14091 } 14092 if s.TargetCapacity != nil && *s.TargetCapacity < 1 { 14093 invalidParams.Add(request.NewErrParamMinValue("TargetCapacity", 1)) 14094 } 14095 14096 if invalidParams.Len() > 0 { 14097 return invalidParams 14098 } 14099 return nil 14100} 14101 14102// SetInstanceWarmupPeriod sets the InstanceWarmupPeriod field's value. 14103func (s *ManagedScaling) SetInstanceWarmupPeriod(v int64) *ManagedScaling { 14104 s.InstanceWarmupPeriod = &v 14105 return s 14106} 14107 14108// SetMaximumScalingStepSize sets the MaximumScalingStepSize field's value. 14109func (s *ManagedScaling) SetMaximumScalingStepSize(v int64) *ManagedScaling { 14110 s.MaximumScalingStepSize = &v 14111 return s 14112} 14113 14114// SetMinimumScalingStepSize sets the MinimumScalingStepSize field's value. 14115func (s *ManagedScaling) SetMinimumScalingStepSize(v int64) *ManagedScaling { 14116 s.MinimumScalingStepSize = &v 14117 return s 14118} 14119 14120// SetStatus sets the Status field's value. 14121func (s *ManagedScaling) SetStatus(v string) *ManagedScaling { 14122 s.Status = &v 14123 return s 14124} 14125 14126// SetTargetCapacity sets the TargetCapacity field's value. 14127func (s *ManagedScaling) SetTargetCapacity(v int64) *ManagedScaling { 14128 s.TargetCapacity = &v 14129 return s 14130} 14131 14132// Amazon ECS is unable to determine the current version of the Amazon ECS container 14133// agent on the container instance and does not have enough information to proceed 14134// with an update. This could be because the agent running on the container 14135// instance is an older or custom version that does not use our version information. 14136type MissingVersionException struct { 14137 _ struct{} `type:"structure"` 14138 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14139 14140 Message_ *string `locationName:"message" type:"string"` 14141} 14142 14143// String returns the string representation 14144func (s MissingVersionException) String() string { 14145 return awsutil.Prettify(s) 14146} 14147 14148// GoString returns the string representation 14149func (s MissingVersionException) GoString() string { 14150 return s.String() 14151} 14152 14153func newErrorMissingVersionException(v protocol.ResponseMetadata) error { 14154 return &MissingVersionException{ 14155 RespMetadata: v, 14156 } 14157} 14158 14159// Code returns the exception type name. 14160func (s *MissingVersionException) Code() string { 14161 return "MissingVersionException" 14162} 14163 14164// Message returns the exception's message. 14165func (s *MissingVersionException) Message() string { 14166 if s.Message_ != nil { 14167 return *s.Message_ 14168 } 14169 return "" 14170} 14171 14172// OrigErr always returns nil, satisfies awserr.Error interface. 14173func (s *MissingVersionException) OrigErr() error { 14174 return nil 14175} 14176 14177func (s *MissingVersionException) Error() string { 14178 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14179} 14180 14181// Status code returns the HTTP status code for the request's response error. 14182func (s *MissingVersionException) StatusCode() int { 14183 return s.RespMetadata.StatusCode 14184} 14185 14186// RequestID returns the service's response RequestID for request. 14187func (s *MissingVersionException) RequestID() string { 14188 return s.RespMetadata.RequestID 14189} 14190 14191// Details on a volume mount point that is used in a container definition. 14192type MountPoint struct { 14193 _ struct{} `type:"structure"` 14194 14195 // The path on the container to mount the host volume at. 14196 ContainerPath *string `locationName:"containerPath" type:"string"` 14197 14198 // If this value is true, the container has read-only access to the volume. 14199 // If this value is false, then the container can write to the volume. The default 14200 // value is false. 14201 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 14202 14203 // The name of the volume to mount. Must be a volume name referenced in the 14204 // name parameter of task definition volume. 14205 SourceVolume *string `locationName:"sourceVolume" type:"string"` 14206} 14207 14208// String returns the string representation 14209func (s MountPoint) String() string { 14210 return awsutil.Prettify(s) 14211} 14212 14213// GoString returns the string representation 14214func (s MountPoint) GoString() string { 14215 return s.String() 14216} 14217 14218// SetContainerPath sets the ContainerPath field's value. 14219func (s *MountPoint) SetContainerPath(v string) *MountPoint { 14220 s.ContainerPath = &v 14221 return s 14222} 14223 14224// SetReadOnly sets the ReadOnly field's value. 14225func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 14226 s.ReadOnly = &v 14227 return s 14228} 14229 14230// SetSourceVolume sets the SourceVolume field's value. 14231func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 14232 s.SourceVolume = &v 14233 return s 14234} 14235 14236// Details on the network bindings between a container and its host container 14237// instance. After a task reaches the RUNNING status, manual and automatic host 14238// and container port assignments are visible in the networkBindings section 14239// of DescribeTasks API responses. 14240type NetworkBinding struct { 14241 _ struct{} `type:"structure"` 14242 14243 // The IP address that the container is bound to on the container instance. 14244 BindIP *string `locationName:"bindIP" type:"string"` 14245 14246 // The port number on the container that is used with the network binding. 14247 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 14248 14249 // The port number on the host that is used with the network binding. 14250 HostPort *int64 `locationName:"hostPort" type:"integer"` 14251 14252 // The protocol used for the network binding. 14253 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 14254} 14255 14256// String returns the string representation 14257func (s NetworkBinding) String() string { 14258 return awsutil.Prettify(s) 14259} 14260 14261// GoString returns the string representation 14262func (s NetworkBinding) GoString() string { 14263 return s.String() 14264} 14265 14266// SetBindIP sets the BindIP field's value. 14267func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding { 14268 s.BindIP = &v 14269 return s 14270} 14271 14272// SetContainerPort sets the ContainerPort field's value. 14273func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding { 14274 s.ContainerPort = &v 14275 return s 14276} 14277 14278// SetHostPort sets the HostPort field's value. 14279func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding { 14280 s.HostPort = &v 14281 return s 14282} 14283 14284// SetProtocol sets the Protocol field's value. 14285func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding { 14286 s.Protocol = &v 14287 return s 14288} 14289 14290// An object representing the network configuration for a task or service. 14291type NetworkConfiguration struct { 14292 _ struct{} `type:"structure"` 14293 14294 // The VPC subnets and security groups associated with a task. 14295 // 14296 // All specified subnets and security groups must be from the same VPC. 14297 AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"` 14298} 14299 14300// String returns the string representation 14301func (s NetworkConfiguration) String() string { 14302 return awsutil.Prettify(s) 14303} 14304 14305// GoString returns the string representation 14306func (s NetworkConfiguration) GoString() string { 14307 return s.String() 14308} 14309 14310// Validate inspects the fields of the type to determine if they are valid. 14311func (s *NetworkConfiguration) Validate() error { 14312 invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"} 14313 if s.AwsvpcConfiguration != nil { 14314 if err := s.AwsvpcConfiguration.Validate(); err != nil { 14315 invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams)) 14316 } 14317 } 14318 14319 if invalidParams.Len() > 0 { 14320 return invalidParams 14321 } 14322 return nil 14323} 14324 14325// SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value. 14326func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration { 14327 s.AwsvpcConfiguration = v 14328 return s 14329} 14330 14331// An object representing the elastic network interface for tasks that use the 14332// awsvpc network mode. 14333type NetworkInterface struct { 14334 _ struct{} `type:"structure"` 14335 14336 // The attachment ID for the network interface. 14337 AttachmentId *string `locationName:"attachmentId" type:"string"` 14338 14339 // The private IPv6 address for the network interface. 14340 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 14341 14342 // The private IPv4 address for the network interface. 14343 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 14344} 14345 14346// String returns the string representation 14347func (s NetworkInterface) String() string { 14348 return awsutil.Prettify(s) 14349} 14350 14351// GoString returns the string representation 14352func (s NetworkInterface) GoString() string { 14353 return s.String() 14354} 14355 14356// SetAttachmentId sets the AttachmentId field's value. 14357func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 14358 s.AttachmentId = &v 14359 return s 14360} 14361 14362// SetIpv6Address sets the Ipv6Address field's value. 14363func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 14364 s.Ipv6Address = &v 14365 return s 14366} 14367 14368// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 14369func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 14370 s.PrivateIpv4Address = &v 14371 return s 14372} 14373 14374// There is no update available for this Amazon ECS container agent. This could 14375// be because the agent is already running the latest version, or it is so old 14376// that there is no update path to the current version. 14377type NoUpdateAvailableException struct { 14378 _ struct{} `type:"structure"` 14379 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14380 14381 Message_ *string `locationName:"message" type:"string"` 14382} 14383 14384// String returns the string representation 14385func (s NoUpdateAvailableException) String() string { 14386 return awsutil.Prettify(s) 14387} 14388 14389// GoString returns the string representation 14390func (s NoUpdateAvailableException) GoString() string { 14391 return s.String() 14392} 14393 14394func newErrorNoUpdateAvailableException(v protocol.ResponseMetadata) error { 14395 return &NoUpdateAvailableException{ 14396 RespMetadata: v, 14397 } 14398} 14399 14400// Code returns the exception type name. 14401func (s *NoUpdateAvailableException) Code() string { 14402 return "NoUpdateAvailableException" 14403} 14404 14405// Message returns the exception's message. 14406func (s *NoUpdateAvailableException) Message() string { 14407 if s.Message_ != nil { 14408 return *s.Message_ 14409 } 14410 return "" 14411} 14412 14413// OrigErr always returns nil, satisfies awserr.Error interface. 14414func (s *NoUpdateAvailableException) OrigErr() error { 14415 return nil 14416} 14417 14418func (s *NoUpdateAvailableException) Error() string { 14419 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14420} 14421 14422// Status code returns the HTTP status code for the request's response error. 14423func (s *NoUpdateAvailableException) StatusCode() int { 14424 return s.RespMetadata.StatusCode 14425} 14426 14427// RequestID returns the service's response RequestID for request. 14428func (s *NoUpdateAvailableException) RequestID() string { 14429 return s.RespMetadata.RequestID 14430} 14431 14432// An object representing a constraint on task placement. For more information, 14433// see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 14434// in the Amazon Elastic Container Service Developer Guide. 14435// 14436// If you are using the Fargate launch type, task placement constraints are 14437// not supported. 14438type PlacementConstraint struct { 14439 _ struct{} `type:"structure"` 14440 14441 // A cluster query language expression to apply to the constraint. You cannot 14442 // specify an expression if the constraint type is distinctInstance. For more 14443 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 14444 // in the Amazon Elastic Container Service Developer Guide. 14445 Expression *string `locationName:"expression" type:"string"` 14446 14447 // The type of constraint. Use distinctInstance to ensure that each task in 14448 // a particular group is running on a different container instance. Use memberOf 14449 // to restrict the selection to a group of valid candidates. 14450 Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"` 14451} 14452 14453// String returns the string representation 14454func (s PlacementConstraint) String() string { 14455 return awsutil.Prettify(s) 14456} 14457 14458// GoString returns the string representation 14459func (s PlacementConstraint) GoString() string { 14460 return s.String() 14461} 14462 14463// SetExpression sets the Expression field's value. 14464func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint { 14465 s.Expression = &v 14466 return s 14467} 14468 14469// SetType sets the Type field's value. 14470func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { 14471 s.Type = &v 14472 return s 14473} 14474 14475// The task placement strategy for a task or service. For more information, 14476// see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 14477// in the Amazon Elastic Container Service Developer Guide. 14478type PlacementStrategy struct { 14479 _ struct{} `type:"structure"` 14480 14481 // The field to apply the placement strategy against. For the spread placement 14482 // strategy, valid values are instanceId (or host, which has the same effect), 14483 // or any platform or custom attribute that is applied to a container instance, 14484 // such as attribute:ecs.availability-zone. For the binpack placement strategy, 14485 // valid values are cpu and memory. For the random placement strategy, this 14486 // field is not used. 14487 Field *string `locationName:"field" type:"string"` 14488 14489 // The type of placement strategy. The random placement strategy randomly places 14490 // tasks on available candidates. The spread placement strategy spreads placement 14491 // across available candidates evenly based on the field parameter. The binpack 14492 // strategy places tasks on available candidates that have the least available 14493 // amount of the resource that is specified with the field parameter. For example, 14494 // if you binpack on memory, a task is placed on the instance with the least 14495 // amount of remaining memory (but still enough to run the task). 14496 Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"` 14497} 14498 14499// String returns the string representation 14500func (s PlacementStrategy) String() string { 14501 return awsutil.Prettify(s) 14502} 14503 14504// GoString returns the string representation 14505func (s PlacementStrategy) GoString() string { 14506 return s.String() 14507} 14508 14509// SetField sets the Field field's value. 14510func (s *PlacementStrategy) SetField(v string) *PlacementStrategy { 14511 s.Field = &v 14512 return s 14513} 14514 14515// SetType sets the Type field's value. 14516func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { 14517 s.Type = &v 14518 return s 14519} 14520 14521// The devices that are available on the container instance. The only supported 14522// device type is a GPU. 14523type PlatformDevice struct { 14524 _ struct{} `type:"structure"` 14525 14526 // The ID for the GPU(s) on the container instance. The available GPU IDs can 14527 // also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json 14528 // file. 14529 // 14530 // Id is a required field 14531 Id *string `locationName:"id" type:"string" required:"true"` 14532 14533 // The type of device that is available on the container instance. The only 14534 // supported value is GPU. 14535 // 14536 // Type is a required field 14537 Type *string `locationName:"type" type:"string" required:"true" enum:"PlatformDeviceType"` 14538} 14539 14540// String returns the string representation 14541func (s PlatformDevice) String() string { 14542 return awsutil.Prettify(s) 14543} 14544 14545// GoString returns the string representation 14546func (s PlatformDevice) GoString() string { 14547 return s.String() 14548} 14549 14550// Validate inspects the fields of the type to determine if they are valid. 14551func (s *PlatformDevice) Validate() error { 14552 invalidParams := request.ErrInvalidParams{Context: "PlatformDevice"} 14553 if s.Id == nil { 14554 invalidParams.Add(request.NewErrParamRequired("Id")) 14555 } 14556 if s.Type == nil { 14557 invalidParams.Add(request.NewErrParamRequired("Type")) 14558 } 14559 14560 if invalidParams.Len() > 0 { 14561 return invalidParams 14562 } 14563 return nil 14564} 14565 14566// SetId sets the Id field's value. 14567func (s *PlatformDevice) SetId(v string) *PlatformDevice { 14568 s.Id = &v 14569 return s 14570} 14571 14572// SetType sets the Type field's value. 14573func (s *PlatformDevice) SetType(v string) *PlatformDevice { 14574 s.Type = &v 14575 return s 14576} 14577 14578// The specified platform version does not satisfy the task definition's required 14579// capabilities. 14580type PlatformTaskDefinitionIncompatibilityException struct { 14581 _ struct{} `type:"structure"` 14582 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14583 14584 Message_ *string `locationName:"message" type:"string"` 14585} 14586 14587// String returns the string representation 14588func (s PlatformTaskDefinitionIncompatibilityException) String() string { 14589 return awsutil.Prettify(s) 14590} 14591 14592// GoString returns the string representation 14593func (s PlatformTaskDefinitionIncompatibilityException) GoString() string { 14594 return s.String() 14595} 14596 14597func newErrorPlatformTaskDefinitionIncompatibilityException(v protocol.ResponseMetadata) error { 14598 return &PlatformTaskDefinitionIncompatibilityException{ 14599 RespMetadata: v, 14600 } 14601} 14602 14603// Code returns the exception type name. 14604func (s *PlatformTaskDefinitionIncompatibilityException) Code() string { 14605 return "PlatformTaskDefinitionIncompatibilityException" 14606} 14607 14608// Message returns the exception's message. 14609func (s *PlatformTaskDefinitionIncompatibilityException) Message() string { 14610 if s.Message_ != nil { 14611 return *s.Message_ 14612 } 14613 return "" 14614} 14615 14616// OrigErr always returns nil, satisfies awserr.Error interface. 14617func (s *PlatformTaskDefinitionIncompatibilityException) OrigErr() error { 14618 return nil 14619} 14620 14621func (s *PlatformTaskDefinitionIncompatibilityException) Error() string { 14622 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14623} 14624 14625// Status code returns the HTTP status code for the request's response error. 14626func (s *PlatformTaskDefinitionIncompatibilityException) StatusCode() int { 14627 return s.RespMetadata.StatusCode 14628} 14629 14630// RequestID returns the service's response RequestID for request. 14631func (s *PlatformTaskDefinitionIncompatibilityException) RequestID() string { 14632 return s.RespMetadata.RequestID 14633} 14634 14635// The specified platform version does not exist. 14636type PlatformUnknownException struct { 14637 _ struct{} `type:"structure"` 14638 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14639 14640 Message_ *string `locationName:"message" type:"string"` 14641} 14642 14643// String returns the string representation 14644func (s PlatformUnknownException) String() string { 14645 return awsutil.Prettify(s) 14646} 14647 14648// GoString returns the string representation 14649func (s PlatformUnknownException) GoString() string { 14650 return s.String() 14651} 14652 14653func newErrorPlatformUnknownException(v protocol.ResponseMetadata) error { 14654 return &PlatformUnknownException{ 14655 RespMetadata: v, 14656 } 14657} 14658 14659// Code returns the exception type name. 14660func (s *PlatformUnknownException) Code() string { 14661 return "PlatformUnknownException" 14662} 14663 14664// Message returns the exception's message. 14665func (s *PlatformUnknownException) Message() string { 14666 if s.Message_ != nil { 14667 return *s.Message_ 14668 } 14669 return "" 14670} 14671 14672// OrigErr always returns nil, satisfies awserr.Error interface. 14673func (s *PlatformUnknownException) OrigErr() error { 14674 return nil 14675} 14676 14677func (s *PlatformUnknownException) Error() string { 14678 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14679} 14680 14681// Status code returns the HTTP status code for the request's response error. 14682func (s *PlatformUnknownException) StatusCode() int { 14683 return s.RespMetadata.StatusCode 14684} 14685 14686// RequestID returns the service's response RequestID for request. 14687func (s *PlatformUnknownException) RequestID() string { 14688 return s.RespMetadata.RequestID 14689} 14690 14691// Port mappings allow containers to access ports on the host container instance 14692// to send or receive traffic. Port mappings are specified as part of the container 14693// definition. 14694// 14695// If you are using containers in a task with the awsvpc or host network mode, 14696// exposed ports should be specified using containerPort. The hostPort can be 14697// left blank or it must be the same value as the containerPort. 14698// 14699// After a task reaches the RUNNING status, manual and automatic host and container 14700// port assignments are visible in the networkBindings section of DescribeTasks 14701// API responses. 14702type PortMapping struct { 14703 _ struct{} `type:"structure"` 14704 14705 // The port number on the container that is bound to the user-specified or automatically 14706 // assigned host port. 14707 // 14708 // If you are using containers in a task with the awsvpc or host network mode, 14709 // exposed ports should be specified using containerPort. 14710 // 14711 // If you are using containers in a task with the bridge network mode and you 14712 // specify a container port and not a host port, your container automatically 14713 // receives a host port in the ephemeral port range. For more information, see 14714 // hostPort. Port mappings that are automatically assigned in this way do not 14715 // count toward the 100 reserved ports limit of a container instance. 14716 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 14717 14718 // The port number on the container instance to reserve for your container. 14719 // 14720 // If you are using containers in a task with the awsvpc or host network mode, 14721 // the hostPort can either be left blank or set to the same value as the containerPort. 14722 // 14723 // If you are using containers in a task with the bridge network mode, you can 14724 // specify a non-reserved host port for your container port mapping, or you 14725 // can omit the hostPort (or set it to 0) while specifying a containerPort and 14726 // your container automatically receives a port in the ephemeral port range 14727 // for your container instance operating system and Docker version. 14728 // 14729 // The default ephemeral port range for Docker version 1.6.0 and later is listed 14730 // on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel 14731 // parameter is unavailable, the default ephemeral port range from 49153 through 14732 // 65535 is used. Do not attempt to specify a host port in the ephemeral port 14733 // range as these are reserved for automatic assignment. In general, ports below 14734 // 32768 are outside of the ephemeral port range. 14735 // 14736 // The default ephemeral port range from 49153 through 65535 is always used 14737 // for Docker versions before 1.6.0. 14738 // 14739 // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, 14740 // and the Amazon ECS container agent ports 51678-51680. Any host port that 14741 // was previously specified in a running task is also reserved while the task 14742 // is running (after a task stops, the host port is released). The current reserved 14743 // ports are displayed in the remainingResources of DescribeContainerInstances 14744 // output. A container instance can have up to 100 reserved ports at a time, 14745 // including the default reserved ports. Automatically assigned ports don't 14746 // count toward the 100 reserved ports limit. 14747 HostPort *int64 `locationName:"hostPort" type:"integer"` 14748 14749 // The protocol used for the port mapping. Valid values are tcp and udp. The 14750 // default is tcp. 14751 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 14752} 14753 14754// String returns the string representation 14755func (s PortMapping) String() string { 14756 return awsutil.Prettify(s) 14757} 14758 14759// GoString returns the string representation 14760func (s PortMapping) GoString() string { 14761 return s.String() 14762} 14763 14764// SetContainerPort sets the ContainerPort field's value. 14765func (s *PortMapping) SetContainerPort(v int64) *PortMapping { 14766 s.ContainerPort = &v 14767 return s 14768} 14769 14770// SetHostPort sets the HostPort field's value. 14771func (s *PortMapping) SetHostPort(v int64) *PortMapping { 14772 s.HostPort = &v 14773 return s 14774} 14775 14776// SetProtocol sets the Protocol field's value. 14777func (s *PortMapping) SetProtocol(v string) *PortMapping { 14778 s.Protocol = &v 14779 return s 14780} 14781 14782// The configuration details for the App Mesh proxy. 14783// 14784// For tasks using the EC2 launch type, the container instances require at least 14785// version 1.26.0 of the container agent and at least version 1.26.0-1 of the 14786// ecs-init package to enable a proxy configuration. If your container instances 14787// are launched from the Amazon ECS-optimized AMI version 20190301 or later, 14788// then they contain the required versions of the container agent and ecs-init. 14789// For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 14790type ProxyConfiguration struct { 14791 _ struct{} `type:"structure"` 14792 14793 // The name of the container that will serve as the App Mesh proxy. 14794 // 14795 // ContainerName is a required field 14796 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 14797 14798 // The set of network configuration parameters to provide the Container Network 14799 // Interface (CNI) plugin, specified as key-value pairs. 14800 // 14801 // * IgnoredUID - (Required) The user ID (UID) of the proxy container as 14802 // defined by the user parameter in a container definition. This is used 14803 // to ensure the proxy ignores its own traffic. If IgnoredGID is specified, 14804 // this field can be empty. 14805 // 14806 // * IgnoredGID - (Required) The group ID (GID) of the proxy container as 14807 // defined by the user parameter in a container definition. This is used 14808 // to ensure the proxy ignores its own traffic. If IgnoredUID is specified, 14809 // this field can be empty. 14810 // 14811 // * AppPorts - (Required) The list of ports that the application uses. Network 14812 // traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort. 14813 // 14814 // * ProxyIngressPort - (Required) Specifies the port that incoming traffic 14815 // to the AppPorts is directed to. 14816 // 14817 // * ProxyEgressPort - (Required) Specifies the port that outgoing traffic 14818 // from the AppPorts is directed to. 14819 // 14820 // * EgressIgnoredPorts - (Required) The egress traffic going to the specified 14821 // ports is ignored and not redirected to the ProxyEgressPort. It can be 14822 // an empty list. 14823 // 14824 // * EgressIgnoredIPs - (Required) The egress traffic going to the specified 14825 // IP addresses is ignored and not redirected to the ProxyEgressPort. It 14826 // can be an empty list. 14827 Properties []*KeyValuePair `locationName:"properties" type:"list"` 14828 14829 // The proxy type. The only supported value is APPMESH. 14830 Type *string `locationName:"type" type:"string" enum:"ProxyConfigurationType"` 14831} 14832 14833// String returns the string representation 14834func (s ProxyConfiguration) String() string { 14835 return awsutil.Prettify(s) 14836} 14837 14838// GoString returns the string representation 14839func (s ProxyConfiguration) GoString() string { 14840 return s.String() 14841} 14842 14843// Validate inspects the fields of the type to determine if they are valid. 14844func (s *ProxyConfiguration) Validate() error { 14845 invalidParams := request.ErrInvalidParams{Context: "ProxyConfiguration"} 14846 if s.ContainerName == nil { 14847 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 14848 } 14849 14850 if invalidParams.Len() > 0 { 14851 return invalidParams 14852 } 14853 return nil 14854} 14855 14856// SetContainerName sets the ContainerName field's value. 14857func (s *ProxyConfiguration) SetContainerName(v string) *ProxyConfiguration { 14858 s.ContainerName = &v 14859 return s 14860} 14861 14862// SetProperties sets the Properties field's value. 14863func (s *ProxyConfiguration) SetProperties(v []*KeyValuePair) *ProxyConfiguration { 14864 s.Properties = v 14865 return s 14866} 14867 14868// SetType sets the Type field's value. 14869func (s *ProxyConfiguration) SetType(v string) *ProxyConfiguration { 14870 s.Type = &v 14871 return s 14872} 14873 14874type PutAccountSettingDefaultInput struct { 14875 _ struct{} `type:"structure"` 14876 14877 // The resource name for which to modify the account setting. If serviceLongArnFormat 14878 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 14879 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 14880 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 14881 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 14882 // the ENI limit for your Amazon ECS container instances is affected. If containerInsights 14883 // is specified, the default setting for CloudWatch Container Insights for your 14884 // clusters is affected. 14885 // 14886 // Name is a required field 14887 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 14888 14889 // The account setting value for the specified principal ARN. Accepted values 14890 // are enabled and disabled. 14891 // 14892 // Value is a required field 14893 Value *string `locationName:"value" type:"string" required:"true"` 14894} 14895 14896// String returns the string representation 14897func (s PutAccountSettingDefaultInput) String() string { 14898 return awsutil.Prettify(s) 14899} 14900 14901// GoString returns the string representation 14902func (s PutAccountSettingDefaultInput) GoString() string { 14903 return s.String() 14904} 14905 14906// Validate inspects the fields of the type to determine if they are valid. 14907func (s *PutAccountSettingDefaultInput) Validate() error { 14908 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingDefaultInput"} 14909 if s.Name == nil { 14910 invalidParams.Add(request.NewErrParamRequired("Name")) 14911 } 14912 if s.Value == nil { 14913 invalidParams.Add(request.NewErrParamRequired("Value")) 14914 } 14915 14916 if invalidParams.Len() > 0 { 14917 return invalidParams 14918 } 14919 return nil 14920} 14921 14922// SetName sets the Name field's value. 14923func (s *PutAccountSettingDefaultInput) SetName(v string) *PutAccountSettingDefaultInput { 14924 s.Name = &v 14925 return s 14926} 14927 14928// SetValue sets the Value field's value. 14929func (s *PutAccountSettingDefaultInput) SetValue(v string) *PutAccountSettingDefaultInput { 14930 s.Value = &v 14931 return s 14932} 14933 14934type PutAccountSettingDefaultOutput struct { 14935 _ struct{} `type:"structure"` 14936 14937 // The current account setting for a resource. 14938 Setting *Setting `locationName:"setting" type:"structure"` 14939} 14940 14941// String returns the string representation 14942func (s PutAccountSettingDefaultOutput) String() string { 14943 return awsutil.Prettify(s) 14944} 14945 14946// GoString returns the string representation 14947func (s PutAccountSettingDefaultOutput) GoString() string { 14948 return s.String() 14949} 14950 14951// SetSetting sets the Setting field's value. 14952func (s *PutAccountSettingDefaultOutput) SetSetting(v *Setting) *PutAccountSettingDefaultOutput { 14953 s.Setting = v 14954 return s 14955} 14956 14957type PutAccountSettingInput struct { 14958 _ struct{} `type:"structure"` 14959 14960 // The Amazon ECS resource name for which to modify the account setting. If 14961 // serviceLongArnFormat is specified, the ARN for your Amazon ECS services is 14962 // affected. If taskLongArnFormat is specified, the ARN and resource ID for 14963 // your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, 14964 // the ARN and resource ID for your Amazon ECS container instances is affected. 14965 // If awsvpcTrunking is specified, the elastic network interface (ENI) limit 14966 // for your Amazon ECS container instances is affected. If containerInsights 14967 // is specified, the default setting for CloudWatch Container Insights for your 14968 // clusters is affected. 14969 // 14970 // Name is a required field 14971 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 14972 14973 // The ARN of the principal, which can be an IAM user, IAM role, or the root 14974 // user. If you specify the root user, it modifies the account setting for all 14975 // IAM users, IAM roles, and the root user of the account unless an IAM user 14976 // or role explicitly overrides these settings. If this field is omitted, the 14977 // setting is changed only for the authenticated user. 14978 PrincipalArn *string `locationName:"principalArn" type:"string"` 14979 14980 // The account setting value for the specified principal ARN. Accepted values 14981 // are enabled and disabled. 14982 // 14983 // Value is a required field 14984 Value *string `locationName:"value" type:"string" required:"true"` 14985} 14986 14987// String returns the string representation 14988func (s PutAccountSettingInput) String() string { 14989 return awsutil.Prettify(s) 14990} 14991 14992// GoString returns the string representation 14993func (s PutAccountSettingInput) GoString() string { 14994 return s.String() 14995} 14996 14997// Validate inspects the fields of the type to determine if they are valid. 14998func (s *PutAccountSettingInput) Validate() error { 14999 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingInput"} 15000 if s.Name == nil { 15001 invalidParams.Add(request.NewErrParamRequired("Name")) 15002 } 15003 if s.Value == nil { 15004 invalidParams.Add(request.NewErrParamRequired("Value")) 15005 } 15006 15007 if invalidParams.Len() > 0 { 15008 return invalidParams 15009 } 15010 return nil 15011} 15012 15013// SetName sets the Name field's value. 15014func (s *PutAccountSettingInput) SetName(v string) *PutAccountSettingInput { 15015 s.Name = &v 15016 return s 15017} 15018 15019// SetPrincipalArn sets the PrincipalArn field's value. 15020func (s *PutAccountSettingInput) SetPrincipalArn(v string) *PutAccountSettingInput { 15021 s.PrincipalArn = &v 15022 return s 15023} 15024 15025// SetValue sets the Value field's value. 15026func (s *PutAccountSettingInput) SetValue(v string) *PutAccountSettingInput { 15027 s.Value = &v 15028 return s 15029} 15030 15031type PutAccountSettingOutput struct { 15032 _ struct{} `type:"structure"` 15033 15034 // The current account setting for a resource. 15035 Setting *Setting `locationName:"setting" type:"structure"` 15036} 15037 15038// String returns the string representation 15039func (s PutAccountSettingOutput) String() string { 15040 return awsutil.Prettify(s) 15041} 15042 15043// GoString returns the string representation 15044func (s PutAccountSettingOutput) GoString() string { 15045 return s.String() 15046} 15047 15048// SetSetting sets the Setting field's value. 15049func (s *PutAccountSettingOutput) SetSetting(v *Setting) *PutAccountSettingOutput { 15050 s.Setting = v 15051 return s 15052} 15053 15054type PutAttributesInput struct { 15055 _ struct{} `type:"structure"` 15056 15057 // The attributes to apply to your resource. You can specify up to 10 custom 15058 // attributes per resource. You can specify up to 10 attributes in a single 15059 // call. 15060 // 15061 // Attributes is a required field 15062 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 15063 15064 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 15065 // the resource to apply attributes. If you do not specify a cluster, the default 15066 // cluster is assumed. 15067 Cluster *string `locationName:"cluster" type:"string"` 15068} 15069 15070// String returns the string representation 15071func (s PutAttributesInput) String() string { 15072 return awsutil.Prettify(s) 15073} 15074 15075// GoString returns the string representation 15076func (s PutAttributesInput) GoString() string { 15077 return s.String() 15078} 15079 15080// Validate inspects the fields of the type to determine if they are valid. 15081func (s *PutAttributesInput) Validate() error { 15082 invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} 15083 if s.Attributes == nil { 15084 invalidParams.Add(request.NewErrParamRequired("Attributes")) 15085 } 15086 if s.Attributes != nil { 15087 for i, v := range s.Attributes { 15088 if v == nil { 15089 continue 15090 } 15091 if err := v.Validate(); err != nil { 15092 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 15093 } 15094 } 15095 } 15096 15097 if invalidParams.Len() > 0 { 15098 return invalidParams 15099 } 15100 return nil 15101} 15102 15103// SetAttributes sets the Attributes field's value. 15104func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput { 15105 s.Attributes = v 15106 return s 15107} 15108 15109// SetCluster sets the Cluster field's value. 15110func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput { 15111 s.Cluster = &v 15112 return s 15113} 15114 15115type PutAttributesOutput struct { 15116 _ struct{} `type:"structure"` 15117 15118 // The attributes applied to your resource. 15119 Attributes []*Attribute `locationName:"attributes" type:"list"` 15120} 15121 15122// String returns the string representation 15123func (s PutAttributesOutput) String() string { 15124 return awsutil.Prettify(s) 15125} 15126 15127// GoString returns the string representation 15128func (s PutAttributesOutput) GoString() string { 15129 return s.String() 15130} 15131 15132// SetAttributes sets the Attributes field's value. 15133func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput { 15134 s.Attributes = v 15135 return s 15136} 15137 15138type PutClusterCapacityProvidersInput struct { 15139 _ struct{} `type:"structure"` 15140 15141 // The name of one or more capacity providers to associate with the cluster. 15142 // 15143 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 15144 // provider must already be created. New capacity providers can be created with 15145 // the CreateCapacityProvider API operation. 15146 // 15147 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 15148 // capacity providers. The AWS Fargate capacity providers are available to all 15149 // accounts and only need to be associated with a cluster to be used. 15150 // 15151 // CapacityProviders is a required field 15152 CapacityProviders []*string `locationName:"capacityProviders" type:"list" required:"true"` 15153 15154 // The short name or full Amazon Resource Name (ARN) of the cluster to modify 15155 // the capacity provider settings for. If you do not specify a cluster, the 15156 // default cluster is assumed. 15157 // 15158 // Cluster is a required field 15159 Cluster *string `locationName:"cluster" type:"string" required:"true"` 15160 15161 // The capacity provider strategy to use by default for the cluster. 15162 // 15163 // When creating a service or running a task on a cluster, if no capacity provider 15164 // or launch type is specified then the default capacity provider strategy for 15165 // the cluster is used. 15166 // 15167 // A capacity provider strategy consists of one or more capacity providers along 15168 // with the base and weight to assign to them. A capacity provider must be associated 15169 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 15170 // API is used to associate a capacity provider with a cluster. Only capacity 15171 // providers with an ACTIVE or UPDATING status can be used. 15172 // 15173 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 15174 // provider must already be created. New capacity providers can be created with 15175 // the CreateCapacityProvider API operation. 15176 // 15177 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 15178 // capacity providers. The AWS Fargate capacity providers are available to all 15179 // accounts and only need to be associated with a cluster to be used. 15180 // 15181 // DefaultCapacityProviderStrategy is a required field 15182 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list" required:"true"` 15183} 15184 15185// String returns the string representation 15186func (s PutClusterCapacityProvidersInput) String() string { 15187 return awsutil.Prettify(s) 15188} 15189 15190// GoString returns the string representation 15191func (s PutClusterCapacityProvidersInput) GoString() string { 15192 return s.String() 15193} 15194 15195// Validate inspects the fields of the type to determine if they are valid. 15196func (s *PutClusterCapacityProvidersInput) Validate() error { 15197 invalidParams := request.ErrInvalidParams{Context: "PutClusterCapacityProvidersInput"} 15198 if s.CapacityProviders == nil { 15199 invalidParams.Add(request.NewErrParamRequired("CapacityProviders")) 15200 } 15201 if s.Cluster == nil { 15202 invalidParams.Add(request.NewErrParamRequired("Cluster")) 15203 } 15204 if s.DefaultCapacityProviderStrategy == nil { 15205 invalidParams.Add(request.NewErrParamRequired("DefaultCapacityProviderStrategy")) 15206 } 15207 if s.DefaultCapacityProviderStrategy != nil { 15208 for i, v := range s.DefaultCapacityProviderStrategy { 15209 if v == nil { 15210 continue 15211 } 15212 if err := v.Validate(); err != nil { 15213 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 15214 } 15215 } 15216 } 15217 15218 if invalidParams.Len() > 0 { 15219 return invalidParams 15220 } 15221 return nil 15222} 15223 15224// SetCapacityProviders sets the CapacityProviders field's value. 15225func (s *PutClusterCapacityProvidersInput) SetCapacityProviders(v []*string) *PutClusterCapacityProvidersInput { 15226 s.CapacityProviders = v 15227 return s 15228} 15229 15230// SetCluster sets the Cluster field's value. 15231func (s *PutClusterCapacityProvidersInput) SetCluster(v string) *PutClusterCapacityProvidersInput { 15232 s.Cluster = &v 15233 return s 15234} 15235 15236// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 15237func (s *PutClusterCapacityProvidersInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *PutClusterCapacityProvidersInput { 15238 s.DefaultCapacityProviderStrategy = v 15239 return s 15240} 15241 15242type PutClusterCapacityProvidersOutput struct { 15243 _ struct{} `type:"structure"` 15244 15245 // A regional grouping of one or more container instances on which you can run 15246 // task requests. Each account receives a default cluster the first time you 15247 // use the Amazon ECS service, but you may also create other clusters. Clusters 15248 // may contain more than one instance type simultaneously. 15249 Cluster *Cluster `locationName:"cluster" type:"structure"` 15250} 15251 15252// String returns the string representation 15253func (s PutClusterCapacityProvidersOutput) String() string { 15254 return awsutil.Prettify(s) 15255} 15256 15257// GoString returns the string representation 15258func (s PutClusterCapacityProvidersOutput) GoString() string { 15259 return s.String() 15260} 15261 15262// SetCluster sets the Cluster field's value. 15263func (s *PutClusterCapacityProvidersOutput) SetCluster(v *Cluster) *PutClusterCapacityProvidersOutput { 15264 s.Cluster = v 15265 return s 15266} 15267 15268type RegisterContainerInstanceInput struct { 15269 _ struct{} `type:"structure"` 15270 15271 // The container instance attributes that this container instance supports. 15272 Attributes []*Attribute `locationName:"attributes" type:"list"` 15273 15274 // The short name or full Amazon Resource Name (ARN) of the cluster with which 15275 // to register your container instance. If you do not specify a cluster, the 15276 // default cluster is assumed. 15277 Cluster *string `locationName:"cluster" type:"string"` 15278 15279 // The ARN of the container instance (if it was previously registered). 15280 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 15281 15282 // The instance identity document for the EC2 instance to register. This document 15283 // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ 15284 InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` 15285 15286 // The instance identity document signature for the EC2 instance to register. 15287 // This signature can be found by running the following command from the instance: 15288 // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ 15289 InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` 15290 15291 // The devices that are available on the container instance. The only supported 15292 // device type is a GPU. 15293 PlatformDevices []*PlatformDevice `locationName:"platformDevices" type:"list"` 15294 15295 // The metadata that you apply to the container instance to help you categorize 15296 // and organize them. Each tag consists of a key and an optional value, both 15297 // of which you define. 15298 // 15299 // The following basic restrictions apply to tags: 15300 // 15301 // * Maximum number of tags per resource - 50 15302 // 15303 // * For each resource, each tag key must be unique, and each tag key can 15304 // have only one value. 15305 // 15306 // * Maximum key length - 128 Unicode characters in UTF-8 15307 // 15308 // * Maximum value length - 256 Unicode characters in UTF-8 15309 // 15310 // * If your tagging schema is used across multiple services and resources, 15311 // remember that other services may have restrictions on allowed characters. 15312 // Generally allowed characters are: letters, numbers, and spaces representable 15313 // in UTF-8, and the following characters: + - = . _ : / @. 15314 // 15315 // * Tag keys and values are case-sensitive. 15316 // 15317 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15318 // as a prefix for either keys or values as it is reserved for AWS use. You 15319 // cannot edit or delete tag keys or values with this prefix. Tags with this 15320 // prefix do not count against your tags per resource limit. 15321 Tags []*Tag `locationName:"tags" type:"list"` 15322 15323 // The resources available on the instance. 15324 TotalResources []*Resource `locationName:"totalResources" type:"list"` 15325 15326 // The version information for the Amazon ECS container agent and Docker daemon 15327 // running on the container instance. 15328 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 15329} 15330 15331// String returns the string representation 15332func (s RegisterContainerInstanceInput) String() string { 15333 return awsutil.Prettify(s) 15334} 15335 15336// GoString returns the string representation 15337func (s RegisterContainerInstanceInput) GoString() string { 15338 return s.String() 15339} 15340 15341// Validate inspects the fields of the type to determine if they are valid. 15342func (s *RegisterContainerInstanceInput) Validate() error { 15343 invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} 15344 if s.Attributes != nil { 15345 for i, v := range s.Attributes { 15346 if v == nil { 15347 continue 15348 } 15349 if err := v.Validate(); err != nil { 15350 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 15351 } 15352 } 15353 } 15354 if s.PlatformDevices != nil { 15355 for i, v := range s.PlatformDevices { 15356 if v == nil { 15357 continue 15358 } 15359 if err := v.Validate(); err != nil { 15360 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformDevices", i), err.(request.ErrInvalidParams)) 15361 } 15362 } 15363 } 15364 if s.Tags != nil { 15365 for i, v := range s.Tags { 15366 if v == nil { 15367 continue 15368 } 15369 if err := v.Validate(); err != nil { 15370 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15371 } 15372 } 15373 } 15374 15375 if invalidParams.Len() > 0 { 15376 return invalidParams 15377 } 15378 return nil 15379} 15380 15381// SetAttributes sets the Attributes field's value. 15382func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput { 15383 s.Attributes = v 15384 return s 15385} 15386 15387// SetCluster sets the Cluster field's value. 15388func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput { 15389 s.Cluster = &v 15390 return s 15391} 15392 15393// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 15394func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput { 15395 s.ContainerInstanceArn = &v 15396 return s 15397} 15398 15399// SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value. 15400func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput { 15401 s.InstanceIdentityDocument = &v 15402 return s 15403} 15404 15405// SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value. 15406func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput { 15407 s.InstanceIdentityDocumentSignature = &v 15408 return s 15409} 15410 15411// SetPlatformDevices sets the PlatformDevices field's value. 15412func (s *RegisterContainerInstanceInput) SetPlatformDevices(v []*PlatformDevice) *RegisterContainerInstanceInput { 15413 s.PlatformDevices = v 15414 return s 15415} 15416 15417// SetTags sets the Tags field's value. 15418func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput { 15419 s.Tags = v 15420 return s 15421} 15422 15423// SetTotalResources sets the TotalResources field's value. 15424func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput { 15425 s.TotalResources = v 15426 return s 15427} 15428 15429// SetVersionInfo sets the VersionInfo field's value. 15430func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput { 15431 s.VersionInfo = v 15432 return s 15433} 15434 15435type RegisterContainerInstanceOutput struct { 15436 _ struct{} `type:"structure"` 15437 15438 // The container instance that was registered. 15439 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 15440} 15441 15442// String returns the string representation 15443func (s RegisterContainerInstanceOutput) String() string { 15444 return awsutil.Prettify(s) 15445} 15446 15447// GoString returns the string representation 15448func (s RegisterContainerInstanceOutput) GoString() string { 15449 return s.String() 15450} 15451 15452// SetContainerInstance sets the ContainerInstance field's value. 15453func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput { 15454 s.ContainerInstance = v 15455 return s 15456} 15457 15458type RegisterTaskDefinitionInput struct { 15459 _ struct{} `type:"structure"` 15460 15461 // A list of container definitions in JSON format that describe the different 15462 // containers that make up your task. 15463 // 15464 // ContainerDefinitions is a required field 15465 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` 15466 15467 // The number of CPU units used by the task. It can be expressed as an integer 15468 // using CPU units, for example 1024, or as a string using vCPUs, for example 15469 // 1 vCPU or 1 vcpu, in a task definition. String values are converted to an 15470 // integer indicating the CPU units when the task definition is registered. 15471 // 15472 // Task-level CPU and memory parameters are ignored for Windows containers. 15473 // We recommend specifying container-level resources for Windows containers. 15474 // 15475 // If you are using the EC2 launch type, this field is optional. Supported values 15476 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 15477 // 15478 // If you are using the Fargate launch type, this field is required and you 15479 // must use one of the following values, which determines your range of supported 15480 // values for the memory parameter: 15481 // 15482 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 15483 // 2048 (2 GB) 15484 // 15485 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 15486 // (3 GB), 4096 (4 GB) 15487 // 15488 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 15489 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 15490 // 15491 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 15492 // (16 GB) in increments of 1024 (1 GB) 15493 // 15494 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 15495 // (30 GB) in increments of 1024 (1 GB) 15496 Cpu *string `locationName:"cpu" type:"string"` 15497 15498 // The Amazon Resource Name (ARN) of the task execution role that grants the 15499 // Amazon ECS container agent permission to make AWS API calls on your behalf. 15500 // The task execution IAM role is required depending on the requirements of 15501 // your task. For more information, see Amazon ECS task execution IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) 15502 // in the Amazon Elastic Container Service Developer Guide. 15503 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 15504 15505 // You must specify a family for a task definition, which allows you to track 15506 // multiple versions of the same task definition. The family is used as a name 15507 // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, 15508 // and hyphens are allowed. 15509 // 15510 // Family is a required field 15511 Family *string `locationName:"family" type:"string" required:"true"` 15512 15513 // The Elastic Inference accelerators to use for the containers in the task. 15514 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 15515 15516 // The IPC resource namespace to use for the containers in the task. The valid 15517 // values are host, task, or none. If host is specified, then all containers 15518 // within the tasks that specified the host IPC mode on the same container instance 15519 // share the same IPC resources with the host Amazon EC2 instance. If task is 15520 // specified, all containers within the specified task share the same IPC resources. 15521 // If none is specified, then IPC resources within the containers of a task 15522 // are private and not shared with other containers in a task or on the container 15523 // instance. If no value is specified, then the IPC resource namespace sharing 15524 // depends on the Docker daemon setting on the container instance. For more 15525 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 15526 // in the Docker run reference. 15527 // 15528 // If the host IPC mode is used, be aware that there is a heightened risk of 15529 // undesired IPC namespace expose. For more information, see Docker security 15530 // (https://docs.docker.com/engine/security/security/). 15531 // 15532 // If you are setting namespaced kernel parameters using systemControls for 15533 // the containers in the task, the following will apply to your IPC resource 15534 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 15535 // in the Amazon Elastic Container Service Developer Guide. 15536 // 15537 // * For tasks that use the host IPC mode, IPC namespace related systemControls 15538 // are not supported. 15539 // 15540 // * For tasks that use the task IPC mode, IPC namespace related systemControls 15541 // will apply to all containers within a task. 15542 // 15543 // This parameter is not supported for Windows containers or tasks using the 15544 // Fargate launch type. 15545 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 15546 15547 // The amount of memory (in MiB) used by the task. It can be expressed as an 15548 // integer using MiB, for example 1024, or as a string using GB, for example 15549 // 1GB or 1 GB, in a task definition. String values are converted to an integer 15550 // indicating the MiB when the task definition is registered. 15551 // 15552 // Task-level CPU and memory parameters are ignored for Windows containers. 15553 // We recommend specifying container-level resources for Windows containers. 15554 // 15555 // If using the EC2 launch type, this field is optional. 15556 // 15557 // If using the Fargate launch type, this field is required and you must use 15558 // one of the following values, which determines your range of supported values 15559 // for the cpu parameter: 15560 // 15561 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 15562 // vCPU) 15563 // 15564 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 15565 // 512 (.5 vCPU) 15566 // 15567 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 15568 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 15569 // 15570 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 15571 // Available cpu values: 2048 (2 vCPU) 15572 // 15573 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 15574 // Available cpu values: 4096 (4 vCPU) 15575 Memory *string `locationName:"memory" type:"string"` 15576 15577 // The Docker networking mode to use for the containers in the task. The valid 15578 // values are none, bridge, awsvpc, and host. If no network mode is specified, 15579 // the default is bridge. 15580 // 15581 // For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For 15582 // Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If 15583 // the network mode is set to none, you cannot specify port mappings in your 15584 // container definitions, and the tasks containers do not have external connectivity. 15585 // The host and awsvpc network modes offer the highest networking performance 15586 // for containers because they use the EC2 network stack instead of the virtualized 15587 // network stack provided by the bridge mode. 15588 // 15589 // With the host and awsvpc network modes, exposed container ports are mapped 15590 // directly to the corresponding host port (for the host network mode) or the 15591 // attached elastic network interface port (for the awsvpc network mode), so 15592 // you cannot take advantage of dynamic host port mappings. 15593 // 15594 // When using the host network mode, you should not run containers using the 15595 // root user (UID 0). It is considered best practice to use a non-root user. 15596 // 15597 // If the network mode is awsvpc, the task is allocated an elastic network interface, 15598 // and you must specify a NetworkConfiguration value when you create a service 15599 // or run a task with the task definition. For more information, see Task Networking 15600 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 15601 // in the Amazon Elastic Container Service Developer Guide. 15602 // 15603 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 15604 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 15605 // mode. 15606 // 15607 // If the network mode is host, you cannot run multiple instantiations of the 15608 // same task on a single container instance when port mappings are used. 15609 // 15610 // Docker for Windows uses different network modes than Docker for Linux. When 15611 // you register a task definition with Windows containers, you must not specify 15612 // a network mode. If you use the console to register a task definition with 15613 // Windows containers, you must choose the <default> network mode object. 15614 // 15615 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 15616 // in the Docker run reference. 15617 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 15618 15619 // The process namespace to use for the containers in the task. The valid values 15620 // are host or task. If host is specified, then all containers within the tasks 15621 // that specified the host PID mode on the same container instance share the 15622 // same process namespace with the host Amazon EC2 instance. If task is specified, 15623 // all containers within the specified task share the same process namespace. 15624 // If no value is specified, the default is a private namespace. For more information, 15625 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 15626 // in the Docker run reference. 15627 // 15628 // If the host PID mode is used, be aware that there is a heightened risk of 15629 // undesired process namespace expose. For more information, see Docker security 15630 // (https://docs.docker.com/engine/security/security/). 15631 // 15632 // This parameter is not supported for Windows containers or tasks using the 15633 // Fargate launch type. 15634 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 15635 15636 // An array of placement constraint objects to use for the task. You can specify 15637 // a maximum of 10 constraints per task (this limit includes constraints in 15638 // the task definition and those specified at runtime). 15639 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 15640 15641 // The configuration details for the App Mesh proxy. 15642 // 15643 // For tasks using the EC2 launch type, the container instances require at least 15644 // version 1.26.0 of the container agent and at least version 1.26.0-1 of the 15645 // ecs-init package to enable a proxy configuration. If your container instances 15646 // are launched from the Amazon ECS-optimized AMI version 20190301 or later, 15647 // then they contain the required versions of the container agent and ecs-init. 15648 // For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 15649 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 15650 15651 // The task launch type that Amazon ECS should validate the task definition 15652 // against. This ensures that the task definition parameters are compatible 15653 // with the specified launch type. If no value is specified, it defaults to 15654 // EC2. 15655 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 15656 15657 // The metadata that you apply to the task definition to help you categorize 15658 // and organize them. Each tag consists of a key and an optional value, both 15659 // of which you define. 15660 // 15661 // The following basic restrictions apply to tags: 15662 // 15663 // * Maximum number of tags per resource - 50 15664 // 15665 // * For each resource, each tag key must be unique, and each tag key can 15666 // have only one value. 15667 // 15668 // * Maximum key length - 128 Unicode characters in UTF-8 15669 // 15670 // * Maximum value length - 256 Unicode characters in UTF-8 15671 // 15672 // * If your tagging schema is used across multiple services and resources, 15673 // remember that other services may have restrictions on allowed characters. 15674 // Generally allowed characters are: letters, numbers, and spaces representable 15675 // in UTF-8, and the following characters: + - = . _ : / @. 15676 // 15677 // * Tag keys and values are case-sensitive. 15678 // 15679 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15680 // as a prefix for either keys or values as it is reserved for AWS use. You 15681 // cannot edit or delete tag keys or values with this prefix. Tags with this 15682 // prefix do not count against your tags per resource limit. 15683 Tags []*Tag `locationName:"tags" type:"list"` 15684 15685 // The short name or full Amazon Resource Name (ARN) of the IAM role that containers 15686 // in this task can assume. All containers in this task are granted the permissions 15687 // that are specified in this role. For more information, see IAM Roles for 15688 // Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 15689 // in the Amazon Elastic Container Service Developer Guide. 15690 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 15691 15692 // A list of volume definitions in JSON format that containers in your task 15693 // may use. 15694 Volumes []*Volume `locationName:"volumes" type:"list"` 15695} 15696 15697// String returns the string representation 15698func (s RegisterTaskDefinitionInput) String() string { 15699 return awsutil.Prettify(s) 15700} 15701 15702// GoString returns the string representation 15703func (s RegisterTaskDefinitionInput) GoString() string { 15704 return s.String() 15705} 15706 15707// Validate inspects the fields of the type to determine if they are valid. 15708func (s *RegisterTaskDefinitionInput) Validate() error { 15709 invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} 15710 if s.ContainerDefinitions == nil { 15711 invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) 15712 } 15713 if s.Family == nil { 15714 invalidParams.Add(request.NewErrParamRequired("Family")) 15715 } 15716 if s.ContainerDefinitions != nil { 15717 for i, v := range s.ContainerDefinitions { 15718 if v == nil { 15719 continue 15720 } 15721 if err := v.Validate(); err != nil { 15722 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) 15723 } 15724 } 15725 } 15726 if s.InferenceAccelerators != nil { 15727 for i, v := range s.InferenceAccelerators { 15728 if v == nil { 15729 continue 15730 } 15731 if err := v.Validate(); err != nil { 15732 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InferenceAccelerators", i), err.(request.ErrInvalidParams)) 15733 } 15734 } 15735 } 15736 if s.ProxyConfiguration != nil { 15737 if err := s.ProxyConfiguration.Validate(); err != nil { 15738 invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) 15739 } 15740 } 15741 if s.Tags != nil { 15742 for i, v := range s.Tags { 15743 if v == nil { 15744 continue 15745 } 15746 if err := v.Validate(); err != nil { 15747 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15748 } 15749 } 15750 } 15751 if s.Volumes != nil { 15752 for i, v := range s.Volumes { 15753 if v == nil { 15754 continue 15755 } 15756 if err := v.Validate(); err != nil { 15757 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) 15758 } 15759 } 15760 } 15761 15762 if invalidParams.Len() > 0 { 15763 return invalidParams 15764 } 15765 return nil 15766} 15767 15768// SetContainerDefinitions sets the ContainerDefinitions field's value. 15769func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput { 15770 s.ContainerDefinitions = v 15771 return s 15772} 15773 15774// SetCpu sets the Cpu field's value. 15775func (s *RegisterTaskDefinitionInput) SetCpu(v string) *RegisterTaskDefinitionInput { 15776 s.Cpu = &v 15777 return s 15778} 15779 15780// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 15781func (s *RegisterTaskDefinitionInput) SetExecutionRoleArn(v string) *RegisterTaskDefinitionInput { 15782 s.ExecutionRoleArn = &v 15783 return s 15784} 15785 15786// SetFamily sets the Family field's value. 15787func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput { 15788 s.Family = &v 15789 return s 15790} 15791 15792// SetInferenceAccelerators sets the InferenceAccelerators field's value. 15793func (s *RegisterTaskDefinitionInput) SetInferenceAccelerators(v []*InferenceAccelerator) *RegisterTaskDefinitionInput { 15794 s.InferenceAccelerators = v 15795 return s 15796} 15797 15798// SetIpcMode sets the IpcMode field's value. 15799func (s *RegisterTaskDefinitionInput) SetIpcMode(v string) *RegisterTaskDefinitionInput { 15800 s.IpcMode = &v 15801 return s 15802} 15803 15804// SetMemory sets the Memory field's value. 15805func (s *RegisterTaskDefinitionInput) SetMemory(v string) *RegisterTaskDefinitionInput { 15806 s.Memory = &v 15807 return s 15808} 15809 15810// SetNetworkMode sets the NetworkMode field's value. 15811func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput { 15812 s.NetworkMode = &v 15813 return s 15814} 15815 15816// SetPidMode sets the PidMode field's value. 15817func (s *RegisterTaskDefinitionInput) SetPidMode(v string) *RegisterTaskDefinitionInput { 15818 s.PidMode = &v 15819 return s 15820} 15821 15822// SetPlacementConstraints sets the PlacementConstraints field's value. 15823func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput { 15824 s.PlacementConstraints = v 15825 return s 15826} 15827 15828// SetProxyConfiguration sets the ProxyConfiguration field's value. 15829func (s *RegisterTaskDefinitionInput) SetProxyConfiguration(v *ProxyConfiguration) *RegisterTaskDefinitionInput { 15830 s.ProxyConfiguration = v 15831 return s 15832} 15833 15834// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 15835func (s *RegisterTaskDefinitionInput) SetRequiresCompatibilities(v []*string) *RegisterTaskDefinitionInput { 15836 s.RequiresCompatibilities = v 15837 return s 15838} 15839 15840// SetTags sets the Tags field's value. 15841func (s *RegisterTaskDefinitionInput) SetTags(v []*Tag) *RegisterTaskDefinitionInput { 15842 s.Tags = v 15843 return s 15844} 15845 15846// SetTaskRoleArn sets the TaskRoleArn field's value. 15847func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput { 15848 s.TaskRoleArn = &v 15849 return s 15850} 15851 15852// SetVolumes sets the Volumes field's value. 15853func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput { 15854 s.Volumes = v 15855 return s 15856} 15857 15858type RegisterTaskDefinitionOutput struct { 15859 _ struct{} `type:"structure"` 15860 15861 // The list of tags associated with the task definition. 15862 Tags []*Tag `locationName:"tags" type:"list"` 15863 15864 // The full description of the registered task definition. 15865 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 15866} 15867 15868// String returns the string representation 15869func (s RegisterTaskDefinitionOutput) String() string { 15870 return awsutil.Prettify(s) 15871} 15872 15873// GoString returns the string representation 15874func (s RegisterTaskDefinitionOutput) GoString() string { 15875 return s.String() 15876} 15877 15878// SetTags sets the Tags field's value. 15879func (s *RegisterTaskDefinitionOutput) SetTags(v []*Tag) *RegisterTaskDefinitionOutput { 15880 s.Tags = v 15881 return s 15882} 15883 15884// SetTaskDefinition sets the TaskDefinition field's value. 15885func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput { 15886 s.TaskDefinition = v 15887 return s 15888} 15889 15890// The repository credentials for private registry authentication. 15891type RepositoryCredentials struct { 15892 _ struct{} `type:"structure"` 15893 15894 // The Amazon Resource Name (ARN) of the secret containing the private repository 15895 // credentials. 15896 // 15897 // When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret 15898 // exists in the same Region as the task that you are launching then you can 15899 // use either the full ARN or the name of the secret. When you are using the 15900 // AWS Management Console, you must specify the full ARN of the secret. 15901 // 15902 // CredentialsParameter is a required field 15903 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 15904} 15905 15906// String returns the string representation 15907func (s RepositoryCredentials) String() string { 15908 return awsutil.Prettify(s) 15909} 15910 15911// GoString returns the string representation 15912func (s RepositoryCredentials) GoString() string { 15913 return s.String() 15914} 15915 15916// Validate inspects the fields of the type to determine if they are valid. 15917func (s *RepositoryCredentials) Validate() error { 15918 invalidParams := request.ErrInvalidParams{Context: "RepositoryCredentials"} 15919 if s.CredentialsParameter == nil { 15920 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 15921 } 15922 15923 if invalidParams.Len() > 0 { 15924 return invalidParams 15925 } 15926 return nil 15927} 15928 15929// SetCredentialsParameter sets the CredentialsParameter field's value. 15930func (s *RepositoryCredentials) SetCredentialsParameter(v string) *RepositoryCredentials { 15931 s.CredentialsParameter = &v 15932 return s 15933} 15934 15935// Describes the resources available for a container instance. 15936type Resource struct { 15937 _ struct{} `type:"structure"` 15938 15939 // When the doubleValue type is set, the value of the resource must be a double 15940 // precision floating-point type. 15941 DoubleValue *float64 `locationName:"doubleValue" type:"double"` 15942 15943 // When the integerValue type is set, the value of the resource must be an integer. 15944 IntegerValue *int64 `locationName:"integerValue" type:"integer"` 15945 15946 // When the longValue type is set, the value of the resource must be an extended 15947 // precision floating-point type. 15948 LongValue *int64 `locationName:"longValue" type:"long"` 15949 15950 // The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined 15951 // resource. 15952 Name *string `locationName:"name" type:"string"` 15953 15954 // When the stringSetValue type is set, the value of the resource must be a 15955 // string type. 15956 StringSetValue []*string `locationName:"stringSetValue" type:"list"` 15957 15958 // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. 15959 Type *string `locationName:"type" type:"string"` 15960} 15961 15962// String returns the string representation 15963func (s Resource) String() string { 15964 return awsutil.Prettify(s) 15965} 15966 15967// GoString returns the string representation 15968func (s Resource) GoString() string { 15969 return s.String() 15970} 15971 15972// SetDoubleValue sets the DoubleValue field's value. 15973func (s *Resource) SetDoubleValue(v float64) *Resource { 15974 s.DoubleValue = &v 15975 return s 15976} 15977 15978// SetIntegerValue sets the IntegerValue field's value. 15979func (s *Resource) SetIntegerValue(v int64) *Resource { 15980 s.IntegerValue = &v 15981 return s 15982} 15983 15984// SetLongValue sets the LongValue field's value. 15985func (s *Resource) SetLongValue(v int64) *Resource { 15986 s.LongValue = &v 15987 return s 15988} 15989 15990// SetName sets the Name field's value. 15991func (s *Resource) SetName(v string) *Resource { 15992 s.Name = &v 15993 return s 15994} 15995 15996// SetStringSetValue sets the StringSetValue field's value. 15997func (s *Resource) SetStringSetValue(v []*string) *Resource { 15998 s.StringSetValue = v 15999 return s 16000} 16001 16002// SetType sets the Type field's value. 16003func (s *Resource) SetType(v string) *Resource { 16004 s.Type = &v 16005 return s 16006} 16007 16008// The specified resource is in-use and cannot be removed. 16009type ResourceInUseException struct { 16010 _ struct{} `type:"structure"` 16011 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16012 16013 Message_ *string `locationName:"message" type:"string"` 16014} 16015 16016// String returns the string representation 16017func (s ResourceInUseException) String() string { 16018 return awsutil.Prettify(s) 16019} 16020 16021// GoString returns the string representation 16022func (s ResourceInUseException) GoString() string { 16023 return s.String() 16024} 16025 16026func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 16027 return &ResourceInUseException{ 16028 RespMetadata: v, 16029 } 16030} 16031 16032// Code returns the exception type name. 16033func (s *ResourceInUseException) Code() string { 16034 return "ResourceInUseException" 16035} 16036 16037// Message returns the exception's message. 16038func (s *ResourceInUseException) Message() string { 16039 if s.Message_ != nil { 16040 return *s.Message_ 16041 } 16042 return "" 16043} 16044 16045// OrigErr always returns nil, satisfies awserr.Error interface. 16046func (s *ResourceInUseException) OrigErr() error { 16047 return nil 16048} 16049 16050func (s *ResourceInUseException) Error() string { 16051 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16052} 16053 16054// Status code returns the HTTP status code for the request's response error. 16055func (s *ResourceInUseException) StatusCode() int { 16056 return s.RespMetadata.StatusCode 16057} 16058 16059// RequestID returns the service's response RequestID for request. 16060func (s *ResourceInUseException) RequestID() string { 16061 return s.RespMetadata.RequestID 16062} 16063 16064// The specified resource could not be found. 16065type ResourceNotFoundException struct { 16066 _ struct{} `type:"structure"` 16067 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16068 16069 Message_ *string `locationName:"message" type:"string"` 16070} 16071 16072// String returns the string representation 16073func (s ResourceNotFoundException) String() string { 16074 return awsutil.Prettify(s) 16075} 16076 16077// GoString returns the string representation 16078func (s ResourceNotFoundException) GoString() string { 16079 return s.String() 16080} 16081 16082func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 16083 return &ResourceNotFoundException{ 16084 RespMetadata: v, 16085 } 16086} 16087 16088// Code returns the exception type name. 16089func (s *ResourceNotFoundException) Code() string { 16090 return "ResourceNotFoundException" 16091} 16092 16093// Message returns the exception's message. 16094func (s *ResourceNotFoundException) Message() string { 16095 if s.Message_ != nil { 16096 return *s.Message_ 16097 } 16098 return "" 16099} 16100 16101// OrigErr always returns nil, satisfies awserr.Error interface. 16102func (s *ResourceNotFoundException) OrigErr() error { 16103 return nil 16104} 16105 16106func (s *ResourceNotFoundException) Error() string { 16107 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16108} 16109 16110// Status code returns the HTTP status code for the request's response error. 16111func (s *ResourceNotFoundException) StatusCode() int { 16112 return s.RespMetadata.StatusCode 16113} 16114 16115// RequestID returns the service's response RequestID for request. 16116func (s *ResourceNotFoundException) RequestID() string { 16117 return s.RespMetadata.RequestID 16118} 16119 16120// The type and amount of a resource to assign to a container. The supported 16121// resource types are GPUs and Elastic Inference accelerators. For more information, 16122// see Working with GPUs on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 16123// or Working with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 16124// in the Amazon Elastic Container Service Developer Guide 16125type ResourceRequirement struct { 16126 _ struct{} `type:"structure"` 16127 16128 // The type of resource to assign to a container. The supported values are GPU 16129 // or InferenceAccelerator. 16130 // 16131 // Type is a required field 16132 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 16133 16134 // The value for the specified resource type. 16135 // 16136 // If the GPU type is used, the value is the number of physical GPUs the Amazon 16137 // ECS container agent will reserve for the container. The number of GPUs reserved 16138 // for all containers in a task should not exceed the number of available GPUs 16139 // on the container instance the task is launched on. 16140 // 16141 // If the InferenceAccelerator type is used, the value should match the deviceName 16142 // for an InferenceAccelerator specified in a task definition. 16143 // 16144 // Value is a required field 16145 Value *string `locationName:"value" type:"string" required:"true"` 16146} 16147 16148// String returns the string representation 16149func (s ResourceRequirement) String() string { 16150 return awsutil.Prettify(s) 16151} 16152 16153// GoString returns the string representation 16154func (s ResourceRequirement) GoString() string { 16155 return s.String() 16156} 16157 16158// Validate inspects the fields of the type to determine if they are valid. 16159func (s *ResourceRequirement) Validate() error { 16160 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 16161 if s.Type == nil { 16162 invalidParams.Add(request.NewErrParamRequired("Type")) 16163 } 16164 if s.Value == nil { 16165 invalidParams.Add(request.NewErrParamRequired("Value")) 16166 } 16167 16168 if invalidParams.Len() > 0 { 16169 return invalidParams 16170 } 16171 return nil 16172} 16173 16174// SetType sets the Type field's value. 16175func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 16176 s.Type = &v 16177 return s 16178} 16179 16180// SetValue sets the Value field's value. 16181func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 16182 s.Value = &v 16183 return s 16184} 16185 16186type RunTaskInput struct { 16187 _ struct{} `type:"structure"` 16188 16189 // The capacity provider strategy to use for the task. 16190 // 16191 // A capacity provider strategy consists of one or more capacity providers along 16192 // with the base and weight to assign to them. A capacity provider must be associated 16193 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 16194 // API is used to associate a capacity provider with a cluster. Only capacity 16195 // providers with an ACTIVE or UPDATING status can be used. 16196 // 16197 // If a capacityProviderStrategy is specified, the launchType parameter must 16198 // be omitted. If no capacityProviderStrategy or launchType is specified, the 16199 // defaultCapacityProviderStrategy for the cluster is used. 16200 // 16201 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 16202 // provider must already be created. New capacity providers can be created with 16203 // the CreateCapacityProvider API operation. 16204 // 16205 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 16206 // capacity providers. The AWS Fargate capacity providers are available to all 16207 // accounts and only need to be associated with a cluster to be used. 16208 // 16209 // The PutClusterCapacityProviders API operation is used to update the list 16210 // of available capacity providers for a cluster after the cluster is created. 16211 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 16212 16213 // The short name or full Amazon Resource Name (ARN) of the cluster on which 16214 // to run your task. If you do not specify a cluster, the default cluster is 16215 // assumed. 16216 Cluster *string `locationName:"cluster" type:"string"` 16217 16218 // The number of instantiations of the specified task to place on your cluster. 16219 // You can specify up to 10 tasks per call. 16220 Count *int64 `locationName:"count" type:"integer"` 16221 16222 // Specifies whether to enable Amazon ECS managed tags for the task. For more 16223 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 16224 // in the Amazon Elastic Container Service Developer Guide. 16225 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 16226 16227 // The name of the task group to associate with the task. The default value 16228 // is the family name of the task definition (for example, family:my-family-name). 16229 Group *string `locationName:"group" type:"string"` 16230 16231 // The launch type on which to run your task. For more information, see Amazon 16232 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 16233 // in the Amazon Elastic Container Service Developer Guide. 16234 // 16235 // If a launchType is specified, the capacityProviderStrategy parameter must 16236 // be omitted. 16237 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 16238 16239 // The network configuration for the task. This parameter is required for task 16240 // definitions that use the awsvpc network mode to receive their own elastic 16241 // network interface, and it is not supported for other network modes. For more 16242 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 16243 // in the Amazon Elastic Container Service Developer Guide. 16244 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16245 16246 // A list of container overrides in JSON format that specify the name of a container 16247 // in the specified task definition and the overrides it should receive. You 16248 // can override the default command for a container (that is specified in the 16249 // task definition or Docker image) with a command override. You can also override 16250 // existing environment variables (that are specified in the task definition 16251 // or Docker image) on a container or add new environment variables to it with 16252 // an environment override. 16253 // 16254 // A total of 8192 characters are allowed for overrides. This limit includes 16255 // the JSON formatting characters of the override structure. 16256 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 16257 16258 // An array of placement constraint objects to use for the task. You can specify 16259 // up to 10 constraints per task (including constraints in the task definition 16260 // and those specified at runtime). 16261 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 16262 16263 // The placement strategy objects to use for the task. You can specify a maximum 16264 // of five strategy rules per task. 16265 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 16266 16267 // The platform version the task should run. A platform version is only specified 16268 // for tasks using the Fargate launch type. If one is not specified, the LATEST 16269 // platform version is used by default. For more information, see AWS Fargate 16270 // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 16271 // in the Amazon Elastic Container Service Developer Guide. 16272 PlatformVersion *string `locationName:"platformVersion" type:"string"` 16273 16274 // Specifies whether to propagate the tags from the task definition to the task. 16275 // If no value is specified, the tags are not propagated. Tags can only be propagated 16276 // to the task during task creation. To add tags to a task after task creation, 16277 // use the TagResource API action. 16278 // 16279 // An error will be received if you specify the SERVICE option when running 16280 // a task. 16281 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 16282 16283 // The reference ID to use for the task. 16284 ReferenceId *string `locationName:"referenceId" type:"string"` 16285 16286 // An optional tag specified when a task is started. For example, if you automatically 16287 // trigger a task to run a batch process job, you could apply a unique identifier 16288 // for that job to your task with the startedBy parameter. You can then identify 16289 // which tasks belong to that job by filtering the results of a ListTasks call 16290 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 16291 // hyphens, and underscores are allowed. 16292 // 16293 // If a task is started by an Amazon ECS service, then the startedBy parameter 16294 // contains the deployment ID of the service that starts it. 16295 StartedBy *string `locationName:"startedBy" type:"string"` 16296 16297 // The metadata that you apply to the task to help you categorize and organize 16298 // them. Each tag consists of a key and an optional value, both of which you 16299 // define. 16300 // 16301 // The following basic restrictions apply to tags: 16302 // 16303 // * Maximum number of tags per resource - 50 16304 // 16305 // * For each resource, each tag key must be unique, and each tag key can 16306 // have only one value. 16307 // 16308 // * Maximum key length - 128 Unicode characters in UTF-8 16309 // 16310 // * Maximum value length - 256 Unicode characters in UTF-8 16311 // 16312 // * If your tagging schema is used across multiple services and resources, 16313 // remember that other services may have restrictions on allowed characters. 16314 // Generally allowed characters are: letters, numbers, and spaces representable 16315 // in UTF-8, and the following characters: + - = . _ : / @. 16316 // 16317 // * Tag keys and values are case-sensitive. 16318 // 16319 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16320 // as a prefix for either keys or values as it is reserved for AWS use. You 16321 // cannot edit or delete tag keys or values with this prefix. Tags with this 16322 // prefix do not count against your tags per resource limit. 16323 Tags []*Tag `locationName:"tags" type:"list"` 16324 16325 // The family and revision (family:revision) or full ARN of the task definition 16326 // to run. If a revision is not specified, the latest ACTIVE revision is used. 16327 // 16328 // TaskDefinition is a required field 16329 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 16330} 16331 16332// String returns the string representation 16333func (s RunTaskInput) String() string { 16334 return awsutil.Prettify(s) 16335} 16336 16337// GoString returns the string representation 16338func (s RunTaskInput) GoString() string { 16339 return s.String() 16340} 16341 16342// Validate inspects the fields of the type to determine if they are valid. 16343func (s *RunTaskInput) Validate() error { 16344 invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} 16345 if s.TaskDefinition == nil { 16346 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 16347 } 16348 if s.CapacityProviderStrategy != nil { 16349 for i, v := range s.CapacityProviderStrategy { 16350 if v == nil { 16351 continue 16352 } 16353 if err := v.Validate(); err != nil { 16354 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 16355 } 16356 } 16357 } 16358 if s.NetworkConfiguration != nil { 16359 if err := s.NetworkConfiguration.Validate(); err != nil { 16360 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 16361 } 16362 } 16363 if s.Overrides != nil { 16364 if err := s.Overrides.Validate(); err != nil { 16365 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 16366 } 16367 } 16368 if s.Tags != nil { 16369 for i, v := range s.Tags { 16370 if v == nil { 16371 continue 16372 } 16373 if err := v.Validate(); err != nil { 16374 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 16375 } 16376 } 16377 } 16378 16379 if invalidParams.Len() > 0 { 16380 return invalidParams 16381 } 16382 return nil 16383} 16384 16385// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 16386func (s *RunTaskInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *RunTaskInput { 16387 s.CapacityProviderStrategy = v 16388 return s 16389} 16390 16391// SetCluster sets the Cluster field's value. 16392func (s *RunTaskInput) SetCluster(v string) *RunTaskInput { 16393 s.Cluster = &v 16394 return s 16395} 16396 16397// SetCount sets the Count field's value. 16398func (s *RunTaskInput) SetCount(v int64) *RunTaskInput { 16399 s.Count = &v 16400 return s 16401} 16402 16403// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 16404func (s *RunTaskInput) SetEnableECSManagedTags(v bool) *RunTaskInput { 16405 s.EnableECSManagedTags = &v 16406 return s 16407} 16408 16409// SetGroup sets the Group field's value. 16410func (s *RunTaskInput) SetGroup(v string) *RunTaskInput { 16411 s.Group = &v 16412 return s 16413} 16414 16415// SetLaunchType sets the LaunchType field's value. 16416func (s *RunTaskInput) SetLaunchType(v string) *RunTaskInput { 16417 s.LaunchType = &v 16418 return s 16419} 16420 16421// SetNetworkConfiguration sets the NetworkConfiguration field's value. 16422func (s *RunTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *RunTaskInput { 16423 s.NetworkConfiguration = v 16424 return s 16425} 16426 16427// SetOverrides sets the Overrides field's value. 16428func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput { 16429 s.Overrides = v 16430 return s 16431} 16432 16433// SetPlacementConstraints sets the PlacementConstraints field's value. 16434func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput { 16435 s.PlacementConstraints = v 16436 return s 16437} 16438 16439// SetPlacementStrategy sets the PlacementStrategy field's value. 16440func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput { 16441 s.PlacementStrategy = v 16442 return s 16443} 16444 16445// SetPlatformVersion sets the PlatformVersion field's value. 16446func (s *RunTaskInput) SetPlatformVersion(v string) *RunTaskInput { 16447 s.PlatformVersion = &v 16448 return s 16449} 16450 16451// SetPropagateTags sets the PropagateTags field's value. 16452func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput { 16453 s.PropagateTags = &v 16454 return s 16455} 16456 16457// SetReferenceId sets the ReferenceId field's value. 16458func (s *RunTaskInput) SetReferenceId(v string) *RunTaskInput { 16459 s.ReferenceId = &v 16460 return s 16461} 16462 16463// SetStartedBy sets the StartedBy field's value. 16464func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { 16465 s.StartedBy = &v 16466 return s 16467} 16468 16469// SetTags sets the Tags field's value. 16470func (s *RunTaskInput) SetTags(v []*Tag) *RunTaskInput { 16471 s.Tags = v 16472 return s 16473} 16474 16475// SetTaskDefinition sets the TaskDefinition field's value. 16476func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput { 16477 s.TaskDefinition = &v 16478 return s 16479} 16480 16481type RunTaskOutput struct { 16482 _ struct{} `type:"structure"` 16483 16484 // Any failures associated with the call. 16485 Failures []*Failure `locationName:"failures" type:"list"` 16486 16487 // A full description of the tasks that were run. The tasks that were successfully 16488 // placed on your cluster are described here. 16489 Tasks []*Task `locationName:"tasks" type:"list"` 16490} 16491 16492// String returns the string representation 16493func (s RunTaskOutput) String() string { 16494 return awsutil.Prettify(s) 16495} 16496 16497// GoString returns the string representation 16498func (s RunTaskOutput) GoString() string { 16499 return s.String() 16500} 16501 16502// SetFailures sets the Failures field's value. 16503func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput { 16504 s.Failures = v 16505 return s 16506} 16507 16508// SetTasks sets the Tasks field's value. 16509func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { 16510 s.Tasks = v 16511 return s 16512} 16513 16514// A floating-point percentage of the desired number of tasks to place and keep 16515// running in the task set. 16516type Scale struct { 16517 _ struct{} `type:"structure"` 16518 16519 // The unit of measure for the scale value. 16520 Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"` 16521 16522 // The value, specified as a percent total of a service's desiredCount, to scale 16523 // the task set. Accepted values are numbers between 0 and 100. 16524 Value *float64 `locationName:"value" type:"double"` 16525} 16526 16527// String returns the string representation 16528func (s Scale) String() string { 16529 return awsutil.Prettify(s) 16530} 16531 16532// GoString returns the string representation 16533func (s Scale) GoString() string { 16534 return s.String() 16535} 16536 16537// SetUnit sets the Unit field's value. 16538func (s *Scale) SetUnit(v string) *Scale { 16539 s.Unit = &v 16540 return s 16541} 16542 16543// SetValue sets the Value field's value. 16544func (s *Scale) SetValue(v float64) *Scale { 16545 s.Value = &v 16546 return s 16547} 16548 16549// An object representing the secret to expose to your container. Secrets can 16550// be exposed to a container in the following ways: 16551// 16552// * To inject sensitive data into your containers as environment variables, 16553// use the secrets container definition parameter. 16554// 16555// * To reference sensitive information in the log configuration of a container, 16556// use the secretOptions container definition parameter. 16557// 16558// For more information, see Specifying Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 16559// in the Amazon Elastic Container Service Developer Guide. 16560type Secret struct { 16561 _ struct{} `type:"structure"` 16562 16563 // The name of the secret. 16564 // 16565 // Name is a required field 16566 Name *string `locationName:"name" type:"string" required:"true"` 16567 16568 // The secret to expose to the container. The supported values are either the 16569 // full ARN of the AWS Secrets Manager secret or the full ARN of the parameter 16570 // in the AWS Systems Manager Parameter Store. 16571 // 16572 // If the AWS Systems Manager Parameter Store parameter exists in the same Region 16573 // as the task you are launching, then you can use either the full ARN or name 16574 // of the parameter. If the parameter exists in a different Region, then the 16575 // full ARN must be specified. 16576 // 16577 // ValueFrom is a required field 16578 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 16579} 16580 16581// String returns the string representation 16582func (s Secret) String() string { 16583 return awsutil.Prettify(s) 16584} 16585 16586// GoString returns the string representation 16587func (s Secret) GoString() string { 16588 return s.String() 16589} 16590 16591// Validate inspects the fields of the type to determine if they are valid. 16592func (s *Secret) Validate() error { 16593 invalidParams := request.ErrInvalidParams{Context: "Secret"} 16594 if s.Name == nil { 16595 invalidParams.Add(request.NewErrParamRequired("Name")) 16596 } 16597 if s.ValueFrom == nil { 16598 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 16599 } 16600 16601 if invalidParams.Len() > 0 { 16602 return invalidParams 16603 } 16604 return nil 16605} 16606 16607// SetName sets the Name field's value. 16608func (s *Secret) SetName(v string) *Secret { 16609 s.Name = &v 16610 return s 16611} 16612 16613// SetValueFrom sets the ValueFrom field's value. 16614func (s *Secret) SetValueFrom(v string) *Secret { 16615 s.ValueFrom = &v 16616 return s 16617} 16618 16619// These errors are usually caused by a server issue. 16620type ServerException struct { 16621 _ struct{} `type:"structure"` 16622 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16623 16624 Message_ *string `locationName:"message" type:"string"` 16625} 16626 16627// String returns the string representation 16628func (s ServerException) String() string { 16629 return awsutil.Prettify(s) 16630} 16631 16632// GoString returns the string representation 16633func (s ServerException) GoString() string { 16634 return s.String() 16635} 16636 16637func newErrorServerException(v protocol.ResponseMetadata) error { 16638 return &ServerException{ 16639 RespMetadata: v, 16640 } 16641} 16642 16643// Code returns the exception type name. 16644func (s *ServerException) Code() string { 16645 return "ServerException" 16646} 16647 16648// Message returns the exception's message. 16649func (s *ServerException) Message() string { 16650 if s.Message_ != nil { 16651 return *s.Message_ 16652 } 16653 return "" 16654} 16655 16656// OrigErr always returns nil, satisfies awserr.Error interface. 16657func (s *ServerException) OrigErr() error { 16658 return nil 16659} 16660 16661func (s *ServerException) Error() string { 16662 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16663} 16664 16665// Status code returns the HTTP status code for the request's response error. 16666func (s *ServerException) StatusCode() int { 16667 return s.RespMetadata.StatusCode 16668} 16669 16670// RequestID returns the service's response RequestID for request. 16671func (s *ServerException) RequestID() string { 16672 return s.RespMetadata.RequestID 16673} 16674 16675// Details on a service within a cluster 16676type Service struct { 16677 _ struct{} `type:"structure"` 16678 16679 // The capacity provider strategy associated with the service. 16680 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 16681 16682 // The Amazon Resource Name (ARN) of the cluster that hosts the service. 16683 ClusterArn *string `locationName:"clusterArn" type:"string"` 16684 16685 // The Unix timestamp for when the service was created. 16686 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 16687 16688 // The principal that created the service. 16689 CreatedBy *string `locationName:"createdBy" type:"string"` 16690 16691 // Optional deployment parameters that control how many tasks run during the 16692 // deployment and the ordering of stopping and starting tasks. 16693 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 16694 16695 // The deployment controller type the service is using. When using the DescribeServices 16696 // API, this field is omitted if the service is using the ECS deployment controller 16697 // type. 16698 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 16699 16700 // The current state of deployments for the service. 16701 Deployments []*Deployment `locationName:"deployments" type:"list"` 16702 16703 // The desired number of instantiations of the task definition to keep running 16704 // on the service. This value is specified when the service is created with 16705 // CreateService, and it can be modified with UpdateService. 16706 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 16707 16708 // Specifies whether to enable Amazon ECS managed tags for the tasks in the 16709 // service. For more information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 16710 // in the Amazon Elastic Container Service Developer Guide. 16711 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 16712 16713 // The event stream for your service. A maximum of 100 of the latest events 16714 // are displayed. 16715 Events []*ServiceEvent `locationName:"events" type:"list"` 16716 16717 // The period of time, in seconds, that the Amazon ECS service scheduler ignores 16718 // unhealthy Elastic Load Balancing target health checks after a task has first 16719 // started. 16720 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 16721 16722 // The launch type on which your service is running. If no value is specified, 16723 // it will default to EC2. Valid values include EC2 and FARGATE. For more information, 16724 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 16725 // in the Amazon Elastic Container Service Developer Guide. 16726 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 16727 16728 // A list of Elastic Load Balancing load balancer objects, containing the load 16729 // balancer name, the container name (as it appears in a container definition), 16730 // and the container port to access from the load balancer. 16731 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 16732 16733 // The VPC subnet and security group configuration for tasks that receive their 16734 // own elastic network interface by using the awsvpc networking mode. 16735 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16736 16737 // The number of tasks in the cluster that are in the PENDING state. 16738 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 16739 16740 // The placement constraints for the tasks in the service. 16741 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 16742 16743 // The placement strategy that determines how tasks for the service are placed. 16744 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 16745 16746 // The platform version on which to run your service. A platform version is 16747 // only specified for tasks using the Fargate launch type. If one is not specified, 16748 // the LATEST platform version is used by default. For more information, see 16749 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 16750 // in the Amazon Elastic Container Service Developer Guide. 16751 PlatformVersion *string `locationName:"platformVersion" type:"string"` 16752 16753 // Specifies whether to propagate the tags from the task definition or the service 16754 // to the task. If no value is specified, the tags are not propagated. 16755 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 16756 16757 // The ARN of the IAM role associated with the service that allows the Amazon 16758 // ECS container agent to register container instances with an Elastic Load 16759 // Balancing load balancer. 16760 RoleArn *string `locationName:"roleArn" type:"string"` 16761 16762 // The number of tasks in the cluster that are in the RUNNING state. 16763 RunningCount *int64 `locationName:"runningCount" type:"integer"` 16764 16765 // The scheduling strategy to use for the service. For more information, see 16766 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 16767 // 16768 // There are two service scheduler strategies available: 16769 // 16770 // * REPLICA-The replica scheduling strategy places and maintains the desired 16771 // number of tasks across your cluster. By default, the service scheduler 16772 // spreads tasks across Availability Zones. You can use task placement strategies 16773 // and constraints to customize task placement decisions. 16774 // 16775 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 16776 // active container instance that meets all of the task placement constraints 16777 // that you specify in your cluster. The service scheduler also evaluates 16778 // the task placement constraints for running tasks and will stop tasks that 16779 // do not meet the placement constraints. Fargate tasks do not support the 16780 // DAEMON scheduling strategy. 16781 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 16782 16783 // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, 16784 // followed by the Region of the service, the AWS account ID of the service 16785 // owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service. 16786 ServiceArn *string `locationName:"serviceArn" type:"string"` 16787 16788 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 16789 // and hyphens are allowed. Service names must be unique within a cluster, but 16790 // you can have similarly named services in multiple clusters within a Region 16791 // or across multiple Regions. 16792 ServiceName *string `locationName:"serviceName" type:"string"` 16793 16794 // The details of the service discovery registries to assign to this service. 16795 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 16796 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 16797 16798 // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. 16799 Status *string `locationName:"status" type:"string"` 16800 16801 // The metadata that you apply to the service to help you categorize and organize 16802 // them. Each tag consists of a key and an optional value, both of which you 16803 // define. 16804 // 16805 // The following basic restrictions apply to tags: 16806 // 16807 // * Maximum number of tags per resource - 50 16808 // 16809 // * For each resource, each tag key must be unique, and each tag key can 16810 // have only one value. 16811 // 16812 // * Maximum key length - 128 Unicode characters in UTF-8 16813 // 16814 // * Maximum value length - 256 Unicode characters in UTF-8 16815 // 16816 // * If your tagging schema is used across multiple services and resources, 16817 // remember that other services may have restrictions on allowed characters. 16818 // Generally allowed characters are: letters, numbers, and spaces representable 16819 // in UTF-8, and the following characters: + - = . _ : / @. 16820 // 16821 // * Tag keys and values are case-sensitive. 16822 // 16823 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16824 // as a prefix for either keys or values as it is reserved for AWS use. You 16825 // cannot edit or delete tag keys or values with this prefix. Tags with this 16826 // prefix do not count against your tags per resource limit. 16827 Tags []*Tag `locationName:"tags" type:"list"` 16828 16829 // The task definition to use for tasks in the service. This value is specified 16830 // when the service is created with CreateService, and it can be modified with 16831 // UpdateService. 16832 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 16833 16834 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 16835 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 16836 // desired number of tasks, how many tasks are running, and whether the task 16837 // set serves production traffic. 16838 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 16839} 16840 16841// String returns the string representation 16842func (s Service) String() string { 16843 return awsutil.Prettify(s) 16844} 16845 16846// GoString returns the string representation 16847func (s Service) GoString() string { 16848 return s.String() 16849} 16850 16851// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 16852func (s *Service) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Service { 16853 s.CapacityProviderStrategy = v 16854 return s 16855} 16856 16857// SetClusterArn sets the ClusterArn field's value. 16858func (s *Service) SetClusterArn(v string) *Service { 16859 s.ClusterArn = &v 16860 return s 16861} 16862 16863// SetCreatedAt sets the CreatedAt field's value. 16864func (s *Service) SetCreatedAt(v time.Time) *Service { 16865 s.CreatedAt = &v 16866 return s 16867} 16868 16869// SetCreatedBy sets the CreatedBy field's value. 16870func (s *Service) SetCreatedBy(v string) *Service { 16871 s.CreatedBy = &v 16872 return s 16873} 16874 16875// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 16876func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service { 16877 s.DeploymentConfiguration = v 16878 return s 16879} 16880 16881// SetDeploymentController sets the DeploymentController field's value. 16882func (s *Service) SetDeploymentController(v *DeploymentController) *Service { 16883 s.DeploymentController = v 16884 return s 16885} 16886 16887// SetDeployments sets the Deployments field's value. 16888func (s *Service) SetDeployments(v []*Deployment) *Service { 16889 s.Deployments = v 16890 return s 16891} 16892 16893// SetDesiredCount sets the DesiredCount field's value. 16894func (s *Service) SetDesiredCount(v int64) *Service { 16895 s.DesiredCount = &v 16896 return s 16897} 16898 16899// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 16900func (s *Service) SetEnableECSManagedTags(v bool) *Service { 16901 s.EnableECSManagedTags = &v 16902 return s 16903} 16904 16905// SetEvents sets the Events field's value. 16906func (s *Service) SetEvents(v []*ServiceEvent) *Service { 16907 s.Events = v 16908 return s 16909} 16910 16911// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 16912func (s *Service) SetHealthCheckGracePeriodSeconds(v int64) *Service { 16913 s.HealthCheckGracePeriodSeconds = &v 16914 return s 16915} 16916 16917// SetLaunchType sets the LaunchType field's value. 16918func (s *Service) SetLaunchType(v string) *Service { 16919 s.LaunchType = &v 16920 return s 16921} 16922 16923// SetLoadBalancers sets the LoadBalancers field's value. 16924func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service { 16925 s.LoadBalancers = v 16926 return s 16927} 16928 16929// SetNetworkConfiguration sets the NetworkConfiguration field's value. 16930func (s *Service) SetNetworkConfiguration(v *NetworkConfiguration) *Service { 16931 s.NetworkConfiguration = v 16932 return s 16933} 16934 16935// SetPendingCount sets the PendingCount field's value. 16936func (s *Service) SetPendingCount(v int64) *Service { 16937 s.PendingCount = &v 16938 return s 16939} 16940 16941// SetPlacementConstraints sets the PlacementConstraints field's value. 16942func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service { 16943 s.PlacementConstraints = v 16944 return s 16945} 16946 16947// SetPlacementStrategy sets the PlacementStrategy field's value. 16948func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service { 16949 s.PlacementStrategy = v 16950 return s 16951} 16952 16953// SetPlatformVersion sets the PlatformVersion field's value. 16954func (s *Service) SetPlatformVersion(v string) *Service { 16955 s.PlatformVersion = &v 16956 return s 16957} 16958 16959// SetPropagateTags sets the PropagateTags field's value. 16960func (s *Service) SetPropagateTags(v string) *Service { 16961 s.PropagateTags = &v 16962 return s 16963} 16964 16965// SetRoleArn sets the RoleArn field's value. 16966func (s *Service) SetRoleArn(v string) *Service { 16967 s.RoleArn = &v 16968 return s 16969} 16970 16971// SetRunningCount sets the RunningCount field's value. 16972func (s *Service) SetRunningCount(v int64) *Service { 16973 s.RunningCount = &v 16974 return s 16975} 16976 16977// SetSchedulingStrategy sets the SchedulingStrategy field's value. 16978func (s *Service) SetSchedulingStrategy(v string) *Service { 16979 s.SchedulingStrategy = &v 16980 return s 16981} 16982 16983// SetServiceArn sets the ServiceArn field's value. 16984func (s *Service) SetServiceArn(v string) *Service { 16985 s.ServiceArn = &v 16986 return s 16987} 16988 16989// SetServiceName sets the ServiceName field's value. 16990func (s *Service) SetServiceName(v string) *Service { 16991 s.ServiceName = &v 16992 return s 16993} 16994 16995// SetServiceRegistries sets the ServiceRegistries field's value. 16996func (s *Service) SetServiceRegistries(v []*ServiceRegistry) *Service { 16997 s.ServiceRegistries = v 16998 return s 16999} 17000 17001// SetStatus sets the Status field's value. 17002func (s *Service) SetStatus(v string) *Service { 17003 s.Status = &v 17004 return s 17005} 17006 17007// SetTags sets the Tags field's value. 17008func (s *Service) SetTags(v []*Tag) *Service { 17009 s.Tags = v 17010 return s 17011} 17012 17013// SetTaskDefinition sets the TaskDefinition field's value. 17014func (s *Service) SetTaskDefinition(v string) *Service { 17015 s.TaskDefinition = &v 17016 return s 17017} 17018 17019// SetTaskSets sets the TaskSets field's value. 17020func (s *Service) SetTaskSets(v []*TaskSet) *Service { 17021 s.TaskSets = v 17022 return s 17023} 17024 17025// Details on an event associated with a service. 17026type ServiceEvent struct { 17027 _ struct{} `type:"structure"` 17028 17029 // The Unix timestamp for when the event was triggered. 17030 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 17031 17032 // The ID string of the event. 17033 Id *string `locationName:"id" type:"string"` 17034 17035 // The event message. 17036 Message *string `locationName:"message" type:"string"` 17037} 17038 17039// String returns the string representation 17040func (s ServiceEvent) String() string { 17041 return awsutil.Prettify(s) 17042} 17043 17044// GoString returns the string representation 17045func (s ServiceEvent) GoString() string { 17046 return s.String() 17047} 17048 17049// SetCreatedAt sets the CreatedAt field's value. 17050func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent { 17051 s.CreatedAt = &v 17052 return s 17053} 17054 17055// SetId sets the Id field's value. 17056func (s *ServiceEvent) SetId(v string) *ServiceEvent { 17057 s.Id = &v 17058 return s 17059} 17060 17061// SetMessage sets the Message field's value. 17062func (s *ServiceEvent) SetMessage(v string) *ServiceEvent { 17063 s.Message = &v 17064 return s 17065} 17066 17067// The specified service is not active. You can't update a service that is inactive. 17068// If you have previously deleted a service, you can re-create it with CreateService. 17069type ServiceNotActiveException struct { 17070 _ struct{} `type:"structure"` 17071 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17072 17073 Message_ *string `locationName:"message" type:"string"` 17074} 17075 17076// String returns the string representation 17077func (s ServiceNotActiveException) String() string { 17078 return awsutil.Prettify(s) 17079} 17080 17081// GoString returns the string representation 17082func (s ServiceNotActiveException) GoString() string { 17083 return s.String() 17084} 17085 17086func newErrorServiceNotActiveException(v protocol.ResponseMetadata) error { 17087 return &ServiceNotActiveException{ 17088 RespMetadata: v, 17089 } 17090} 17091 17092// Code returns the exception type name. 17093func (s *ServiceNotActiveException) Code() string { 17094 return "ServiceNotActiveException" 17095} 17096 17097// Message returns the exception's message. 17098func (s *ServiceNotActiveException) Message() string { 17099 if s.Message_ != nil { 17100 return *s.Message_ 17101 } 17102 return "" 17103} 17104 17105// OrigErr always returns nil, satisfies awserr.Error interface. 17106func (s *ServiceNotActiveException) OrigErr() error { 17107 return nil 17108} 17109 17110func (s *ServiceNotActiveException) Error() string { 17111 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17112} 17113 17114// Status code returns the HTTP status code for the request's response error. 17115func (s *ServiceNotActiveException) StatusCode() int { 17116 return s.RespMetadata.StatusCode 17117} 17118 17119// RequestID returns the service's response RequestID for request. 17120func (s *ServiceNotActiveException) RequestID() string { 17121 return s.RespMetadata.RequestID 17122} 17123 17124// The specified service could not be found. You can view your available services 17125// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 17126type ServiceNotFoundException struct { 17127 _ struct{} `type:"structure"` 17128 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17129 17130 Message_ *string `locationName:"message" type:"string"` 17131} 17132 17133// String returns the string representation 17134func (s ServiceNotFoundException) String() string { 17135 return awsutil.Prettify(s) 17136} 17137 17138// GoString returns the string representation 17139func (s ServiceNotFoundException) GoString() string { 17140 return s.String() 17141} 17142 17143func newErrorServiceNotFoundException(v protocol.ResponseMetadata) error { 17144 return &ServiceNotFoundException{ 17145 RespMetadata: v, 17146 } 17147} 17148 17149// Code returns the exception type name. 17150func (s *ServiceNotFoundException) Code() string { 17151 return "ServiceNotFoundException" 17152} 17153 17154// Message returns the exception's message. 17155func (s *ServiceNotFoundException) Message() string { 17156 if s.Message_ != nil { 17157 return *s.Message_ 17158 } 17159 return "" 17160} 17161 17162// OrigErr always returns nil, satisfies awserr.Error interface. 17163func (s *ServiceNotFoundException) OrigErr() error { 17164 return nil 17165} 17166 17167func (s *ServiceNotFoundException) Error() string { 17168 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17169} 17170 17171// Status code returns the HTTP status code for the request's response error. 17172func (s *ServiceNotFoundException) StatusCode() int { 17173 return s.RespMetadata.StatusCode 17174} 17175 17176// RequestID returns the service's response RequestID for request. 17177func (s *ServiceNotFoundException) RequestID() string { 17178 return s.RespMetadata.RequestID 17179} 17180 17181// Details of the service registry. 17182type ServiceRegistry struct { 17183 _ struct{} `type:"structure"` 17184 17185 // The container name value, already specified in the task definition, to be 17186 // used for your service discovery service. If the task definition that your 17187 // service task specifies uses the bridge or host network mode, you must specify 17188 // a containerName and containerPort combination from the task definition. If 17189 // the task definition that your service task specifies uses the awsvpc network 17190 // mode and a type SRV DNS record is used, you must specify either a containerName 17191 // and containerPort combination or a port value, but not both. 17192 ContainerName *string `locationName:"containerName" type:"string"` 17193 17194 // The port value, already specified in the task definition, to be used for 17195 // your service discovery service. If the task definition your service task 17196 // specifies uses the bridge or host network mode, you must specify a containerName 17197 // and containerPort combination from the task definition. If the task definition 17198 // your service task specifies uses the awsvpc network mode and a type SRV DNS 17199 // record is used, you must specify either a containerName and containerPort 17200 // combination or a port value, but not both. 17201 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 17202 17203 // The port value used if your service discovery service specified an SRV record. 17204 // This field may be used if both the awsvpc network mode and SRV records are 17205 // used. 17206 Port *int64 `locationName:"port" type:"integer"` 17207 17208 // The Amazon Resource Name (ARN) of the service registry. The currently supported 17209 // service registry is AWS Cloud Map. For more information, see CreateService 17210 // (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). 17211 RegistryArn *string `locationName:"registryArn" type:"string"` 17212} 17213 17214// String returns the string representation 17215func (s ServiceRegistry) String() string { 17216 return awsutil.Prettify(s) 17217} 17218 17219// GoString returns the string representation 17220func (s ServiceRegistry) GoString() string { 17221 return s.String() 17222} 17223 17224// SetContainerName sets the ContainerName field's value. 17225func (s *ServiceRegistry) SetContainerName(v string) *ServiceRegistry { 17226 s.ContainerName = &v 17227 return s 17228} 17229 17230// SetContainerPort sets the ContainerPort field's value. 17231func (s *ServiceRegistry) SetContainerPort(v int64) *ServiceRegistry { 17232 s.ContainerPort = &v 17233 return s 17234} 17235 17236// SetPort sets the Port field's value. 17237func (s *ServiceRegistry) SetPort(v int64) *ServiceRegistry { 17238 s.Port = &v 17239 return s 17240} 17241 17242// SetRegistryArn sets the RegistryArn field's value. 17243func (s *ServiceRegistry) SetRegistryArn(v string) *ServiceRegistry { 17244 s.RegistryArn = &v 17245 return s 17246} 17247 17248// The current account setting for a resource. 17249type Setting struct { 17250 _ struct{} `type:"structure"` 17251 17252 // The Amazon ECS resource name. 17253 Name *string `locationName:"name" type:"string" enum:"SettingName"` 17254 17255 // The ARN of the principal, which can be an IAM user, IAM role, or the root 17256 // user. If this field is omitted, the authenticated user is assumed. 17257 PrincipalArn *string `locationName:"principalArn" type:"string"` 17258 17259 // Whether the account setting is enabled or disabled for the specified resource. 17260 Value *string `locationName:"value" type:"string"` 17261} 17262 17263// String returns the string representation 17264func (s Setting) String() string { 17265 return awsutil.Prettify(s) 17266} 17267 17268// GoString returns the string representation 17269func (s Setting) GoString() string { 17270 return s.String() 17271} 17272 17273// SetName sets the Name field's value. 17274func (s *Setting) SetName(v string) *Setting { 17275 s.Name = &v 17276 return s 17277} 17278 17279// SetPrincipalArn sets the PrincipalArn field's value. 17280func (s *Setting) SetPrincipalArn(v string) *Setting { 17281 s.PrincipalArn = &v 17282 return s 17283} 17284 17285// SetValue sets the Value field's value. 17286func (s *Setting) SetValue(v string) *Setting { 17287 s.Value = &v 17288 return s 17289} 17290 17291type StartTaskInput struct { 17292 _ struct{} `type:"structure"` 17293 17294 // The short name or full Amazon Resource Name (ARN) of the cluster on which 17295 // to start your task. If you do not specify a cluster, the default cluster 17296 // is assumed. 17297 Cluster *string `locationName:"cluster" type:"string"` 17298 17299 // The container instance IDs or full ARN entries for the container instances 17300 // on which you would like to place your task. You can specify up to 10 container 17301 // instances. 17302 // 17303 // ContainerInstances is a required field 17304 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 17305 17306 // Specifies whether to enable Amazon ECS managed tags for the task. For more 17307 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 17308 // in the Amazon Elastic Container Service Developer Guide. 17309 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 17310 17311 // The name of the task group to associate with the task. The default value 17312 // is the family name of the task definition (for example, family:my-family-name). 17313 Group *string `locationName:"group" type:"string"` 17314 17315 // The VPC subnet and security group configuration for tasks that receive their 17316 // own elastic network interface by using the awsvpc networking mode. 17317 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 17318 17319 // A list of container overrides in JSON format that specify the name of a container 17320 // in the specified task definition and the overrides it should receive. You 17321 // can override the default command for a container (that is specified in the 17322 // task definition or Docker image) with a command override. You can also override 17323 // existing environment variables (that are specified in the task definition 17324 // or Docker image) on a container or add new environment variables to it with 17325 // an environment override. 17326 // 17327 // A total of 8192 characters are allowed for overrides. This limit includes 17328 // the JSON formatting characters of the override structure. 17329 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 17330 17331 // Specifies whether to propagate the tags from the task definition or the service 17332 // to the task. If no value is specified, the tags are not propagated. 17333 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 17334 17335 // The reference ID to use for the task. 17336 ReferenceId *string `locationName:"referenceId" type:"string"` 17337 17338 // An optional tag specified when a task is started. For example, if you automatically 17339 // trigger a task to run a batch process job, you could apply a unique identifier 17340 // for that job to your task with the startedBy parameter. You can then identify 17341 // which tasks belong to that job by filtering the results of a ListTasks call 17342 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 17343 // hyphens, and underscores are allowed. 17344 // 17345 // If a task is started by an Amazon ECS service, then the startedBy parameter 17346 // contains the deployment ID of the service that starts it. 17347 StartedBy *string `locationName:"startedBy" type:"string"` 17348 17349 // The metadata that you apply to the task to help you categorize and organize 17350 // them. Each tag consists of a key and an optional value, both of which you 17351 // define. 17352 // 17353 // The following basic restrictions apply to tags: 17354 // 17355 // * Maximum number of tags per resource - 50 17356 // 17357 // * For each resource, each tag key must be unique, and each tag key can 17358 // have only one value. 17359 // 17360 // * Maximum key length - 128 Unicode characters in UTF-8 17361 // 17362 // * Maximum value length - 256 Unicode characters in UTF-8 17363 // 17364 // * If your tagging schema is used across multiple services and resources, 17365 // remember that other services may have restrictions on allowed characters. 17366 // Generally allowed characters are: letters, numbers, and spaces representable 17367 // in UTF-8, and the following characters: + - = . _ : / @. 17368 // 17369 // * Tag keys and values are case-sensitive. 17370 // 17371 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17372 // as a prefix for either keys or values as it is reserved for AWS use. You 17373 // cannot edit or delete tag keys or values with this prefix. Tags with this 17374 // prefix do not count against your tags per resource limit. 17375 Tags []*Tag `locationName:"tags" type:"list"` 17376 17377 // The family and revision (family:revision) or full ARN of the task definition 17378 // to start. If a revision is not specified, the latest ACTIVE revision is used. 17379 // 17380 // TaskDefinition is a required field 17381 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 17382} 17383 17384// String returns the string representation 17385func (s StartTaskInput) String() string { 17386 return awsutil.Prettify(s) 17387} 17388 17389// GoString returns the string representation 17390func (s StartTaskInput) GoString() string { 17391 return s.String() 17392} 17393 17394// Validate inspects the fields of the type to determine if they are valid. 17395func (s *StartTaskInput) Validate() error { 17396 invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} 17397 if s.ContainerInstances == nil { 17398 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 17399 } 17400 if s.TaskDefinition == nil { 17401 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 17402 } 17403 if s.NetworkConfiguration != nil { 17404 if err := s.NetworkConfiguration.Validate(); err != nil { 17405 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 17406 } 17407 } 17408 if s.Overrides != nil { 17409 if err := s.Overrides.Validate(); err != nil { 17410 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 17411 } 17412 } 17413 if s.Tags != nil { 17414 for i, v := range s.Tags { 17415 if v == nil { 17416 continue 17417 } 17418 if err := v.Validate(); err != nil { 17419 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 17420 } 17421 } 17422 } 17423 17424 if invalidParams.Len() > 0 { 17425 return invalidParams 17426 } 17427 return nil 17428} 17429 17430// SetCluster sets the Cluster field's value. 17431func (s *StartTaskInput) SetCluster(v string) *StartTaskInput { 17432 s.Cluster = &v 17433 return s 17434} 17435 17436// SetContainerInstances sets the ContainerInstances field's value. 17437func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput { 17438 s.ContainerInstances = v 17439 return s 17440} 17441 17442// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 17443func (s *StartTaskInput) SetEnableECSManagedTags(v bool) *StartTaskInput { 17444 s.EnableECSManagedTags = &v 17445 return s 17446} 17447 17448// SetGroup sets the Group field's value. 17449func (s *StartTaskInput) SetGroup(v string) *StartTaskInput { 17450 s.Group = &v 17451 return s 17452} 17453 17454// SetNetworkConfiguration sets the NetworkConfiguration field's value. 17455func (s *StartTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *StartTaskInput { 17456 s.NetworkConfiguration = v 17457 return s 17458} 17459 17460// SetOverrides sets the Overrides field's value. 17461func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput { 17462 s.Overrides = v 17463 return s 17464} 17465 17466// SetPropagateTags sets the PropagateTags field's value. 17467func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput { 17468 s.PropagateTags = &v 17469 return s 17470} 17471 17472// SetReferenceId sets the ReferenceId field's value. 17473func (s *StartTaskInput) SetReferenceId(v string) *StartTaskInput { 17474 s.ReferenceId = &v 17475 return s 17476} 17477 17478// SetStartedBy sets the StartedBy field's value. 17479func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { 17480 s.StartedBy = &v 17481 return s 17482} 17483 17484// SetTags sets the Tags field's value. 17485func (s *StartTaskInput) SetTags(v []*Tag) *StartTaskInput { 17486 s.Tags = v 17487 return s 17488} 17489 17490// SetTaskDefinition sets the TaskDefinition field's value. 17491func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput { 17492 s.TaskDefinition = &v 17493 return s 17494} 17495 17496type StartTaskOutput struct { 17497 _ struct{} `type:"structure"` 17498 17499 // Any failures associated with the call. 17500 Failures []*Failure `locationName:"failures" type:"list"` 17501 17502 // A full description of the tasks that were started. Each task that was successfully 17503 // placed on your container instances is described. 17504 Tasks []*Task `locationName:"tasks" type:"list"` 17505} 17506 17507// String returns the string representation 17508func (s StartTaskOutput) String() string { 17509 return awsutil.Prettify(s) 17510} 17511 17512// GoString returns the string representation 17513func (s StartTaskOutput) GoString() string { 17514 return s.String() 17515} 17516 17517// SetFailures sets the Failures field's value. 17518func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput { 17519 s.Failures = v 17520 return s 17521} 17522 17523// SetTasks sets the Tasks field's value. 17524func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput { 17525 s.Tasks = v 17526 return s 17527} 17528 17529type StopTaskInput struct { 17530 _ struct{} `type:"structure"` 17531 17532 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 17533 // the task to stop. If you do not specify a cluster, the default cluster is 17534 // assumed. 17535 Cluster *string `locationName:"cluster" type:"string"` 17536 17537 // An optional message specified when a task is stopped. For example, if you 17538 // are using a custom scheduler, you can use this parameter to specify the reason 17539 // for stopping the task here, and the message appears in subsequent DescribeTasks 17540 // API operations on this task. Up to 255 characters are allowed in this message. 17541 Reason *string `locationName:"reason" type:"string"` 17542 17543 // The task ID or full Amazon Resource Name (ARN) of the task to stop. 17544 // 17545 // Task is a required field 17546 Task *string `locationName:"task" type:"string" required:"true"` 17547} 17548 17549// String returns the string representation 17550func (s StopTaskInput) String() string { 17551 return awsutil.Prettify(s) 17552} 17553 17554// GoString returns the string representation 17555func (s StopTaskInput) GoString() string { 17556 return s.String() 17557} 17558 17559// Validate inspects the fields of the type to determine if they are valid. 17560func (s *StopTaskInput) Validate() error { 17561 invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} 17562 if s.Task == nil { 17563 invalidParams.Add(request.NewErrParamRequired("Task")) 17564 } 17565 17566 if invalidParams.Len() > 0 { 17567 return invalidParams 17568 } 17569 return nil 17570} 17571 17572// SetCluster sets the Cluster field's value. 17573func (s *StopTaskInput) SetCluster(v string) *StopTaskInput { 17574 s.Cluster = &v 17575 return s 17576} 17577 17578// SetReason sets the Reason field's value. 17579func (s *StopTaskInput) SetReason(v string) *StopTaskInput { 17580 s.Reason = &v 17581 return s 17582} 17583 17584// SetTask sets the Task field's value. 17585func (s *StopTaskInput) SetTask(v string) *StopTaskInput { 17586 s.Task = &v 17587 return s 17588} 17589 17590type StopTaskOutput struct { 17591 _ struct{} `type:"structure"` 17592 17593 // The task that was stopped. 17594 Task *Task `locationName:"task" type:"structure"` 17595} 17596 17597// String returns the string representation 17598func (s StopTaskOutput) String() string { 17599 return awsutil.Prettify(s) 17600} 17601 17602// GoString returns the string representation 17603func (s StopTaskOutput) GoString() string { 17604 return s.String() 17605} 17606 17607// SetTask sets the Task field's value. 17608func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput { 17609 s.Task = v 17610 return s 17611} 17612 17613type SubmitAttachmentStateChangesInput struct { 17614 _ struct{} `type:"structure"` 17615 17616 // Any attachments associated with the state change request. 17617 // 17618 // Attachments is a required field 17619 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list" required:"true"` 17620 17621 // The short name or full ARN of the cluster that hosts the container instance 17622 // the attachment belongs to. 17623 Cluster *string `locationName:"cluster" type:"string"` 17624} 17625 17626// String returns the string representation 17627func (s SubmitAttachmentStateChangesInput) String() string { 17628 return awsutil.Prettify(s) 17629} 17630 17631// GoString returns the string representation 17632func (s SubmitAttachmentStateChangesInput) GoString() string { 17633 return s.String() 17634} 17635 17636// Validate inspects the fields of the type to determine if they are valid. 17637func (s *SubmitAttachmentStateChangesInput) Validate() error { 17638 invalidParams := request.ErrInvalidParams{Context: "SubmitAttachmentStateChangesInput"} 17639 if s.Attachments == nil { 17640 invalidParams.Add(request.NewErrParamRequired("Attachments")) 17641 } 17642 if s.Attachments != nil { 17643 for i, v := range s.Attachments { 17644 if v == nil { 17645 continue 17646 } 17647 if err := v.Validate(); err != nil { 17648 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 17649 } 17650 } 17651 } 17652 17653 if invalidParams.Len() > 0 { 17654 return invalidParams 17655 } 17656 return nil 17657} 17658 17659// SetAttachments sets the Attachments field's value. 17660func (s *SubmitAttachmentStateChangesInput) SetAttachments(v []*AttachmentStateChange) *SubmitAttachmentStateChangesInput { 17661 s.Attachments = v 17662 return s 17663} 17664 17665// SetCluster sets the Cluster field's value. 17666func (s *SubmitAttachmentStateChangesInput) SetCluster(v string) *SubmitAttachmentStateChangesInput { 17667 s.Cluster = &v 17668 return s 17669} 17670 17671type SubmitAttachmentStateChangesOutput struct { 17672 _ struct{} `type:"structure"` 17673 17674 // Acknowledgement of the state change. 17675 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 17676} 17677 17678// String returns the string representation 17679func (s SubmitAttachmentStateChangesOutput) String() string { 17680 return awsutil.Prettify(s) 17681} 17682 17683// GoString returns the string representation 17684func (s SubmitAttachmentStateChangesOutput) GoString() string { 17685 return s.String() 17686} 17687 17688// SetAcknowledgment sets the Acknowledgment field's value. 17689func (s *SubmitAttachmentStateChangesOutput) SetAcknowledgment(v string) *SubmitAttachmentStateChangesOutput { 17690 s.Acknowledgment = &v 17691 return s 17692} 17693 17694type SubmitContainerStateChangeInput struct { 17695 _ struct{} `type:"structure"` 17696 17697 // The short name or full ARN of the cluster that hosts the container. 17698 Cluster *string `locationName:"cluster" type:"string"` 17699 17700 // The name of the container. 17701 ContainerName *string `locationName:"containerName" type:"string"` 17702 17703 // The exit code returned for the state change request. 17704 ExitCode *int64 `locationName:"exitCode" type:"integer"` 17705 17706 // The network bindings of the container. 17707 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 17708 17709 // The reason for the state change request. 17710 Reason *string `locationName:"reason" type:"string"` 17711 17712 // The ID of the Docker container. 17713 RuntimeId *string `locationName:"runtimeId" type:"string"` 17714 17715 // The status of the state change request. 17716 Status *string `locationName:"status" type:"string"` 17717 17718 // The task ID or full Amazon Resource Name (ARN) of the task that hosts the 17719 // container. 17720 Task *string `locationName:"task" type:"string"` 17721} 17722 17723// String returns the string representation 17724func (s SubmitContainerStateChangeInput) String() string { 17725 return awsutil.Prettify(s) 17726} 17727 17728// GoString returns the string representation 17729func (s SubmitContainerStateChangeInput) GoString() string { 17730 return s.String() 17731} 17732 17733// SetCluster sets the Cluster field's value. 17734func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput { 17735 s.Cluster = &v 17736 return s 17737} 17738 17739// SetContainerName sets the ContainerName field's value. 17740func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput { 17741 s.ContainerName = &v 17742 return s 17743} 17744 17745// SetExitCode sets the ExitCode field's value. 17746func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput { 17747 s.ExitCode = &v 17748 return s 17749} 17750 17751// SetNetworkBindings sets the NetworkBindings field's value. 17752func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput { 17753 s.NetworkBindings = v 17754 return s 17755} 17756 17757// SetReason sets the Reason field's value. 17758func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput { 17759 s.Reason = &v 17760 return s 17761} 17762 17763// SetRuntimeId sets the RuntimeId field's value. 17764func (s *SubmitContainerStateChangeInput) SetRuntimeId(v string) *SubmitContainerStateChangeInput { 17765 s.RuntimeId = &v 17766 return s 17767} 17768 17769// SetStatus sets the Status field's value. 17770func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput { 17771 s.Status = &v 17772 return s 17773} 17774 17775// SetTask sets the Task field's value. 17776func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput { 17777 s.Task = &v 17778 return s 17779} 17780 17781type SubmitContainerStateChangeOutput struct { 17782 _ struct{} `type:"structure"` 17783 17784 // Acknowledgement of the state change. 17785 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 17786} 17787 17788// String returns the string representation 17789func (s SubmitContainerStateChangeOutput) String() string { 17790 return awsutil.Prettify(s) 17791} 17792 17793// GoString returns the string representation 17794func (s SubmitContainerStateChangeOutput) GoString() string { 17795 return s.String() 17796} 17797 17798// SetAcknowledgment sets the Acknowledgment field's value. 17799func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput { 17800 s.Acknowledgment = &v 17801 return s 17802} 17803 17804type SubmitTaskStateChangeInput struct { 17805 _ struct{} `type:"structure"` 17806 17807 // Any attachments associated with the state change request. 17808 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list"` 17809 17810 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 17811 // the task. 17812 Cluster *string `locationName:"cluster" type:"string"` 17813 17814 // Any containers associated with the state change request. 17815 Containers []*ContainerStateChange `locationName:"containers" type:"list"` 17816 17817 // The Unix timestamp for when the task execution stopped. 17818 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 17819 17820 // The Unix timestamp for when the container image pull began. 17821 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 17822 17823 // The Unix timestamp for when the container image pull completed. 17824 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 17825 17826 // The reason for the state change request. 17827 Reason *string `locationName:"reason" type:"string"` 17828 17829 // The status of the state change request. 17830 Status *string `locationName:"status" type:"string"` 17831 17832 // The task ID or full ARN of the task in the state change request. 17833 Task *string `locationName:"task" type:"string"` 17834} 17835 17836// String returns the string representation 17837func (s SubmitTaskStateChangeInput) String() string { 17838 return awsutil.Prettify(s) 17839} 17840 17841// GoString returns the string representation 17842func (s SubmitTaskStateChangeInput) GoString() string { 17843 return s.String() 17844} 17845 17846// Validate inspects the fields of the type to determine if they are valid. 17847func (s *SubmitTaskStateChangeInput) Validate() error { 17848 invalidParams := request.ErrInvalidParams{Context: "SubmitTaskStateChangeInput"} 17849 if s.Attachments != nil { 17850 for i, v := range s.Attachments { 17851 if v == nil { 17852 continue 17853 } 17854 if err := v.Validate(); err != nil { 17855 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 17856 } 17857 } 17858 } 17859 17860 if invalidParams.Len() > 0 { 17861 return invalidParams 17862 } 17863 return nil 17864} 17865 17866// SetAttachments sets the Attachments field's value. 17867func (s *SubmitTaskStateChangeInput) SetAttachments(v []*AttachmentStateChange) *SubmitTaskStateChangeInput { 17868 s.Attachments = v 17869 return s 17870} 17871 17872// SetCluster sets the Cluster field's value. 17873func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput { 17874 s.Cluster = &v 17875 return s 17876} 17877 17878// SetContainers sets the Containers field's value. 17879func (s *SubmitTaskStateChangeInput) SetContainers(v []*ContainerStateChange) *SubmitTaskStateChangeInput { 17880 s.Containers = v 17881 return s 17882} 17883 17884// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 17885func (s *SubmitTaskStateChangeInput) SetExecutionStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 17886 s.ExecutionStoppedAt = &v 17887 return s 17888} 17889 17890// SetPullStartedAt sets the PullStartedAt field's value. 17891func (s *SubmitTaskStateChangeInput) SetPullStartedAt(v time.Time) *SubmitTaskStateChangeInput { 17892 s.PullStartedAt = &v 17893 return s 17894} 17895 17896// SetPullStoppedAt sets the PullStoppedAt field's value. 17897func (s *SubmitTaskStateChangeInput) SetPullStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 17898 s.PullStoppedAt = &v 17899 return s 17900} 17901 17902// SetReason sets the Reason field's value. 17903func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput { 17904 s.Reason = &v 17905 return s 17906} 17907 17908// SetStatus sets the Status field's value. 17909func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput { 17910 s.Status = &v 17911 return s 17912} 17913 17914// SetTask sets the Task field's value. 17915func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput { 17916 s.Task = &v 17917 return s 17918} 17919 17920type SubmitTaskStateChangeOutput struct { 17921 _ struct{} `type:"structure"` 17922 17923 // Acknowledgement of the state change. 17924 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 17925} 17926 17927// String returns the string representation 17928func (s SubmitTaskStateChangeOutput) String() string { 17929 return awsutil.Prettify(s) 17930} 17931 17932// GoString returns the string representation 17933func (s SubmitTaskStateChangeOutput) GoString() string { 17934 return s.String() 17935} 17936 17937// SetAcknowledgment sets the Acknowledgment field's value. 17938func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput { 17939 s.Acknowledgment = &v 17940 return s 17941} 17942 17943// A list of namespaced kernel parameters to set in the container. This parameter 17944// maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 17945// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 17946// and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 17947// 17948// It is not recommended that you specify network-related systemControls parameters 17949// for multiple containers in a single task that also uses either the awsvpc 17950// or host network mode for the following reasons: 17951// 17952// * For tasks that use the awsvpc network mode, if you set systemControls 17953// for any container, it applies to all containers in the task. If you set 17954// different systemControls for multiple containers in a single task, the 17955// container that is started last determines which systemControls take effect. 17956// 17957// * For tasks that use the host network mode, the systemControls parameter 17958// applies to the container instance's kernel parameter as well as that of 17959// all containers of any tasks running on that container instance. 17960type SystemControl struct { 17961 _ struct{} `type:"structure"` 17962 17963 // The namespaced kernel parameter for which to set a value. 17964 Namespace *string `locationName:"namespace" type:"string"` 17965 17966 // The value for the namespaced kernel parameter specified in namespace. 17967 Value *string `locationName:"value" type:"string"` 17968} 17969 17970// String returns the string representation 17971func (s SystemControl) String() string { 17972 return awsutil.Prettify(s) 17973} 17974 17975// GoString returns the string representation 17976func (s SystemControl) GoString() string { 17977 return s.String() 17978} 17979 17980// SetNamespace sets the Namespace field's value. 17981func (s *SystemControl) SetNamespace(v string) *SystemControl { 17982 s.Namespace = &v 17983 return s 17984} 17985 17986// SetValue sets the Value field's value. 17987func (s *SystemControl) SetValue(v string) *SystemControl { 17988 s.Value = &v 17989 return s 17990} 17991 17992// The metadata that you apply to a resource to help you categorize and organize 17993// them. Each tag consists of a key and an optional value, both of which you 17994// define. 17995// 17996// The following basic restrictions apply to tags: 17997// 17998// * Maximum number of tags per resource - 50 17999// 18000// * For each resource, each tag key must be unique, and each tag key can 18001// have only one value. 18002// 18003// * Maximum key length - 128 Unicode characters in UTF-8 18004// 18005// * Maximum value length - 256 Unicode characters in UTF-8 18006// 18007// * If your tagging schema is used across multiple services and resources, 18008// remember that other services may have restrictions on allowed characters. 18009// Generally allowed characters are: letters, numbers, and spaces representable 18010// in UTF-8, and the following characters: + - = . _ : / @. 18011// 18012// * Tag keys and values are case-sensitive. 18013// 18014// * Do not use aws:, AWS:, or any upper or lowercase combination of such 18015// as a prefix for either keys or values as it is reserved for AWS use. You 18016// cannot edit or delete tag keys or values with this prefix. Tags with this 18017// prefix do not count against your tags per resource limit. 18018type Tag struct { 18019 _ struct{} `type:"structure"` 18020 18021 // One part of a key-value pair that make up a tag. A key is a general label 18022 // that acts like a category for more specific tag values. 18023 Key *string `locationName:"key" min:"1" type:"string"` 18024 18025 // The optional part of a key-value pair that make up a tag. A value acts as 18026 // a descriptor within a tag category (key). 18027 Value *string `locationName:"value" type:"string"` 18028} 18029 18030// String returns the string representation 18031func (s Tag) String() string { 18032 return awsutil.Prettify(s) 18033} 18034 18035// GoString returns the string representation 18036func (s Tag) GoString() string { 18037 return s.String() 18038} 18039 18040// Validate inspects the fields of the type to determine if they are valid. 18041func (s *Tag) Validate() error { 18042 invalidParams := request.ErrInvalidParams{Context: "Tag"} 18043 if s.Key != nil && len(*s.Key) < 1 { 18044 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 18045 } 18046 18047 if invalidParams.Len() > 0 { 18048 return invalidParams 18049 } 18050 return nil 18051} 18052 18053// SetKey sets the Key field's value. 18054func (s *Tag) SetKey(v string) *Tag { 18055 s.Key = &v 18056 return s 18057} 18058 18059// SetValue sets the Value field's value. 18060func (s *Tag) SetValue(v string) *Tag { 18061 s.Value = &v 18062 return s 18063} 18064 18065type TagResourceInput struct { 18066 _ struct{} `type:"structure"` 18067 18068 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 18069 // the supported resources are Amazon ECS capacity providers, tasks, services, 18070 // task definitions, clusters, and container instances. 18071 // 18072 // ResourceArn is a required field 18073 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 18074 18075 // The tags to add to the resource. A tag is an array of key-value pairs. 18076 // 18077 // The following basic restrictions apply to tags: 18078 // 18079 // * Maximum number of tags per resource - 50 18080 // 18081 // * For each resource, each tag key must be unique, and each tag key can 18082 // have only one value. 18083 // 18084 // * Maximum key length - 128 Unicode characters in UTF-8 18085 // 18086 // * Maximum value length - 256 Unicode characters in UTF-8 18087 // 18088 // * If your tagging schema is used across multiple services and resources, 18089 // remember that other services may have restrictions on allowed characters. 18090 // Generally allowed characters are: letters, numbers, and spaces representable 18091 // in UTF-8, and the following characters: + - = . _ : / @. 18092 // 18093 // * Tag keys and values are case-sensitive. 18094 // 18095 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 18096 // as a prefix for either keys or values as it is reserved for AWS use. You 18097 // cannot edit or delete tag keys or values with this prefix. Tags with this 18098 // prefix do not count against your tags per resource limit. 18099 // 18100 // Tags is a required field 18101 Tags []*Tag `locationName:"tags" type:"list" required:"true"` 18102} 18103 18104// String returns the string representation 18105func (s TagResourceInput) String() string { 18106 return awsutil.Prettify(s) 18107} 18108 18109// GoString returns the string representation 18110func (s TagResourceInput) GoString() string { 18111 return s.String() 18112} 18113 18114// Validate inspects the fields of the type to determine if they are valid. 18115func (s *TagResourceInput) Validate() error { 18116 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 18117 if s.ResourceArn == nil { 18118 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 18119 } 18120 if s.Tags == nil { 18121 invalidParams.Add(request.NewErrParamRequired("Tags")) 18122 } 18123 if s.Tags != nil { 18124 for i, v := range s.Tags { 18125 if v == nil { 18126 continue 18127 } 18128 if err := v.Validate(); err != nil { 18129 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 18130 } 18131 } 18132 } 18133 18134 if invalidParams.Len() > 0 { 18135 return invalidParams 18136 } 18137 return nil 18138} 18139 18140// SetResourceArn sets the ResourceArn field's value. 18141func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 18142 s.ResourceArn = &v 18143 return s 18144} 18145 18146// SetTags sets the Tags field's value. 18147func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 18148 s.Tags = v 18149 return s 18150} 18151 18152type TagResourceOutput struct { 18153 _ struct{} `type:"structure"` 18154} 18155 18156// String returns the string representation 18157func (s TagResourceOutput) String() string { 18158 return awsutil.Prettify(s) 18159} 18160 18161// GoString returns the string representation 18162func (s TagResourceOutput) GoString() string { 18163 return s.String() 18164} 18165 18166// The specified target could not be found. You can view your available container 18167// instances with ListContainerInstances. Amazon ECS container instances are 18168// cluster-specific and Region-specific. 18169type TargetNotFoundException struct { 18170 _ struct{} `type:"structure"` 18171 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 18172 18173 Message_ *string `locationName:"message" type:"string"` 18174} 18175 18176// String returns the string representation 18177func (s TargetNotFoundException) String() string { 18178 return awsutil.Prettify(s) 18179} 18180 18181// GoString returns the string representation 18182func (s TargetNotFoundException) GoString() string { 18183 return s.String() 18184} 18185 18186func newErrorTargetNotFoundException(v protocol.ResponseMetadata) error { 18187 return &TargetNotFoundException{ 18188 RespMetadata: v, 18189 } 18190} 18191 18192// Code returns the exception type name. 18193func (s *TargetNotFoundException) Code() string { 18194 return "TargetNotFoundException" 18195} 18196 18197// Message returns the exception's message. 18198func (s *TargetNotFoundException) Message() string { 18199 if s.Message_ != nil { 18200 return *s.Message_ 18201 } 18202 return "" 18203} 18204 18205// OrigErr always returns nil, satisfies awserr.Error interface. 18206func (s *TargetNotFoundException) OrigErr() error { 18207 return nil 18208} 18209 18210func (s *TargetNotFoundException) Error() string { 18211 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 18212} 18213 18214// Status code returns the HTTP status code for the request's response error. 18215func (s *TargetNotFoundException) StatusCode() int { 18216 return s.RespMetadata.StatusCode 18217} 18218 18219// RequestID returns the service's response RequestID for request. 18220func (s *TargetNotFoundException) RequestID() string { 18221 return s.RespMetadata.RequestID 18222} 18223 18224// Details on a task in a cluster. 18225type Task struct { 18226 _ struct{} `type:"structure"` 18227 18228 // The Elastic Network Adapter associated with the task if the task uses the 18229 // awsvpc network mode. 18230 Attachments []*Attachment `locationName:"attachments" type:"list"` 18231 18232 // The attributes of the task 18233 Attributes []*Attribute `locationName:"attributes" type:"list"` 18234 18235 // The availability zone of the task. 18236 AvailabilityZone *string `locationName:"availabilityZone" type:"string"` 18237 18238 // The capacity provider associated with the task. 18239 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 18240 18241 // The ARN of the cluster that hosts the task. 18242 ClusterArn *string `locationName:"clusterArn" type:"string"` 18243 18244 // The connectivity status of a task. 18245 Connectivity *string `locationName:"connectivity" type:"string" enum:"Connectivity"` 18246 18247 // The Unix timestamp for when the task last went into CONNECTED status. 18248 ConnectivityAt *time.Time `locationName:"connectivityAt" type:"timestamp"` 18249 18250 // The ARN of the container instances that host the task. 18251 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 18252 18253 // The containers associated with the task. 18254 Containers []*Container `locationName:"containers" type:"list"` 18255 18256 // The number of CPU units used by the task as expressed in a task definition. 18257 // It can be expressed as an integer using CPU units, for example 1024. It can 18258 // also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu. 18259 // String values are converted to an integer indicating the CPU units when the 18260 // task definition is registered. 18261 // 18262 // If you are using the EC2 launch type, this field is optional. Supported values 18263 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 18264 // 18265 // If you are using the Fargate launch type, this field is required and you 18266 // must use one of the following values, which determines your range of supported 18267 // values for the memory parameter: 18268 // 18269 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 18270 // 2048 (2 GB) 18271 // 18272 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 18273 // (3 GB), 4096 (4 GB) 18274 // 18275 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 18276 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 18277 // 18278 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 18279 // (16 GB) in increments of 1024 (1 GB) 18280 // 18281 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 18282 // (30 GB) in increments of 1024 (1 GB) 18283 Cpu *string `locationName:"cpu" type:"string"` 18284 18285 // The Unix timestamp for when the task was created (the task entered the PENDING 18286 // state). 18287 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 18288 18289 // The desired status of the task. For more information, see Task Lifecycle 18290 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 18291 DesiredStatus *string `locationName:"desiredStatus" type:"string"` 18292 18293 // The Unix timestamp for when the task execution stopped. 18294 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 18295 18296 // The name of the task group associated with the task. 18297 Group *string `locationName:"group" type:"string"` 18298 18299 // The health status for the task, which is determined by the health of the 18300 // essential containers in the task. If all essential containers in the task 18301 // are reporting as HEALTHY, then the task status also reports as HEALTHY. If 18302 // any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, 18303 // then the task status also reports as UNHEALTHY or UNKNOWN, accordingly. 18304 // 18305 // The Amazon ECS container agent does not monitor or report on Docker health 18306 // checks that are embedded in a container image (such as those specified in 18307 // a parent image or from the image's Dockerfile) and not specified in the container 18308 // definition. Health check parameters that are specified in a container definition 18309 // override any Docker health checks that exist in the container image. 18310 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 18311 18312 // The Elastic Inference accelerator associated with the task. 18313 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 18314 18315 // The last known status of the task. For more information, see Task Lifecycle 18316 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 18317 LastStatus *string `locationName:"lastStatus" type:"string"` 18318 18319 // The launch type on which your task is running. For more information, see 18320 // Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 18321 // in the Amazon Elastic Container Service Developer Guide. 18322 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 18323 18324 // The amount of memory (in MiB) used by the task as expressed in a task definition. 18325 // It can be expressed as an integer using MiB, for example 1024. It can also 18326 // be expressed as a string using GB, for example 1GB or 1 GB. String values 18327 // are converted to an integer indicating the MiB when the task definition is 18328 // registered. 18329 // 18330 // If you are using the EC2 launch type, this field is optional. 18331 // 18332 // If you are using the Fargate launch type, this field is required and you 18333 // must use one of the following values, which determines your range of supported 18334 // values for the cpu parameter: 18335 // 18336 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 18337 // vCPU) 18338 // 18339 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 18340 // 512 (.5 vCPU) 18341 // 18342 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 18343 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 18344 // 18345 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 18346 // Available cpu values: 2048 (2 vCPU) 18347 // 18348 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 18349 // Available cpu values: 4096 (4 vCPU) 18350 Memory *string `locationName:"memory" type:"string"` 18351 18352 // One or more container overrides. 18353 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 18354 18355 // The platform version on which your task is running. A platform version is 18356 // only specified for tasks using the Fargate launch type. If one is not specified, 18357 // the LATEST platform version is used by default. For more information, see 18358 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 18359 // in the Amazon Elastic Container Service Developer Guide. 18360 PlatformVersion *string `locationName:"platformVersion" type:"string"` 18361 18362 // The Unix timestamp for when the container image pull began. 18363 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 18364 18365 // The Unix timestamp for when the container image pull completed. 18366 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 18367 18368 // The Unix timestamp for when the task started (the task transitioned from 18369 // the PENDING state to the RUNNING state). 18370 StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` 18371 18372 // The tag specified when a task is started. If the task is started by an Amazon 18373 // ECS service, then the startedBy parameter contains the deployment ID of the 18374 // service that starts it. 18375 StartedBy *string `locationName:"startedBy" type:"string"` 18376 18377 // The stop code indicating why a task was stopped. The stoppedReason may contain 18378 // additional details. 18379 StopCode *string `locationName:"stopCode" type:"string" enum:"TaskStopCode"` 18380 18381 // The Unix timestamp for when the task was stopped (the task transitioned from 18382 // the RUNNING state to the STOPPED state). 18383 StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp"` 18384 18385 // The reason that the task was stopped. 18386 StoppedReason *string `locationName:"stoppedReason" type:"string"` 18387 18388 // The Unix timestamp for when the task stops (transitions from the RUNNING 18389 // state to STOPPED). 18390 StoppingAt *time.Time `locationName:"stoppingAt" type:"timestamp"` 18391 18392 // The metadata that you apply to the task to help you categorize and organize 18393 // them. Each tag consists of a key and an optional value, both of which you 18394 // define. 18395 // 18396 // The following basic restrictions apply to tags: 18397 // 18398 // * Maximum number of tags per resource - 50 18399 // 18400 // * For each resource, each tag key must be unique, and each tag key can 18401 // have only one value. 18402 // 18403 // * Maximum key length - 128 Unicode characters in UTF-8 18404 // 18405 // * Maximum value length - 256 Unicode characters in UTF-8 18406 // 18407 // * If your tagging schema is used across multiple services and resources, 18408 // remember that other services may have restrictions on allowed characters. 18409 // Generally allowed characters are: letters, numbers, and spaces representable 18410 // in UTF-8, and the following characters: + - = . _ : / @. 18411 // 18412 // * Tag keys and values are case-sensitive. 18413 // 18414 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 18415 // as a prefix for either keys or values as it is reserved for AWS use. You 18416 // cannot edit or delete tag keys or values with this prefix. Tags with this 18417 // prefix do not count against your tags per resource limit. 18418 Tags []*Tag `locationName:"tags" type:"list"` 18419 18420 // The Amazon Resource Name (ARN) of the task. 18421 TaskArn *string `locationName:"taskArn" type:"string"` 18422 18423 // The ARN of the task definition that creates the task. 18424 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 18425 18426 // The version counter for the task. Every time a task experiences a change 18427 // that triggers a CloudWatch event, the version counter is incremented. If 18428 // you are replicating your Amazon ECS task state with CloudWatch Events, you 18429 // can compare the version of a task reported by the Amazon ECS API actions 18430 // with the version reported in CloudWatch Events for the task (inside the detail 18431 // object) to verify that the version in your event stream is current. 18432 Version *int64 `locationName:"version" type:"long"` 18433} 18434 18435// String returns the string representation 18436func (s Task) String() string { 18437 return awsutil.Prettify(s) 18438} 18439 18440// GoString returns the string representation 18441func (s Task) GoString() string { 18442 return s.String() 18443} 18444 18445// SetAttachments sets the Attachments field's value. 18446func (s *Task) SetAttachments(v []*Attachment) *Task { 18447 s.Attachments = v 18448 return s 18449} 18450 18451// SetAttributes sets the Attributes field's value. 18452func (s *Task) SetAttributes(v []*Attribute) *Task { 18453 s.Attributes = v 18454 return s 18455} 18456 18457// SetAvailabilityZone sets the AvailabilityZone field's value. 18458func (s *Task) SetAvailabilityZone(v string) *Task { 18459 s.AvailabilityZone = &v 18460 return s 18461} 18462 18463// SetCapacityProviderName sets the CapacityProviderName field's value. 18464func (s *Task) SetCapacityProviderName(v string) *Task { 18465 s.CapacityProviderName = &v 18466 return s 18467} 18468 18469// SetClusterArn sets the ClusterArn field's value. 18470func (s *Task) SetClusterArn(v string) *Task { 18471 s.ClusterArn = &v 18472 return s 18473} 18474 18475// SetConnectivity sets the Connectivity field's value. 18476func (s *Task) SetConnectivity(v string) *Task { 18477 s.Connectivity = &v 18478 return s 18479} 18480 18481// SetConnectivityAt sets the ConnectivityAt field's value. 18482func (s *Task) SetConnectivityAt(v time.Time) *Task { 18483 s.ConnectivityAt = &v 18484 return s 18485} 18486 18487// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 18488func (s *Task) SetContainerInstanceArn(v string) *Task { 18489 s.ContainerInstanceArn = &v 18490 return s 18491} 18492 18493// SetContainers sets the Containers field's value. 18494func (s *Task) SetContainers(v []*Container) *Task { 18495 s.Containers = v 18496 return s 18497} 18498 18499// SetCpu sets the Cpu field's value. 18500func (s *Task) SetCpu(v string) *Task { 18501 s.Cpu = &v 18502 return s 18503} 18504 18505// SetCreatedAt sets the CreatedAt field's value. 18506func (s *Task) SetCreatedAt(v time.Time) *Task { 18507 s.CreatedAt = &v 18508 return s 18509} 18510 18511// SetDesiredStatus sets the DesiredStatus field's value. 18512func (s *Task) SetDesiredStatus(v string) *Task { 18513 s.DesiredStatus = &v 18514 return s 18515} 18516 18517// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 18518func (s *Task) SetExecutionStoppedAt(v time.Time) *Task { 18519 s.ExecutionStoppedAt = &v 18520 return s 18521} 18522 18523// SetGroup sets the Group field's value. 18524func (s *Task) SetGroup(v string) *Task { 18525 s.Group = &v 18526 return s 18527} 18528 18529// SetHealthStatus sets the HealthStatus field's value. 18530func (s *Task) SetHealthStatus(v string) *Task { 18531 s.HealthStatus = &v 18532 return s 18533} 18534 18535// SetInferenceAccelerators sets the InferenceAccelerators field's value. 18536func (s *Task) SetInferenceAccelerators(v []*InferenceAccelerator) *Task { 18537 s.InferenceAccelerators = v 18538 return s 18539} 18540 18541// SetLastStatus sets the LastStatus field's value. 18542func (s *Task) SetLastStatus(v string) *Task { 18543 s.LastStatus = &v 18544 return s 18545} 18546 18547// SetLaunchType sets the LaunchType field's value. 18548func (s *Task) SetLaunchType(v string) *Task { 18549 s.LaunchType = &v 18550 return s 18551} 18552 18553// SetMemory sets the Memory field's value. 18554func (s *Task) SetMemory(v string) *Task { 18555 s.Memory = &v 18556 return s 18557} 18558 18559// SetOverrides sets the Overrides field's value. 18560func (s *Task) SetOverrides(v *TaskOverride) *Task { 18561 s.Overrides = v 18562 return s 18563} 18564 18565// SetPlatformVersion sets the PlatformVersion field's value. 18566func (s *Task) SetPlatformVersion(v string) *Task { 18567 s.PlatformVersion = &v 18568 return s 18569} 18570 18571// SetPullStartedAt sets the PullStartedAt field's value. 18572func (s *Task) SetPullStartedAt(v time.Time) *Task { 18573 s.PullStartedAt = &v 18574 return s 18575} 18576 18577// SetPullStoppedAt sets the PullStoppedAt field's value. 18578func (s *Task) SetPullStoppedAt(v time.Time) *Task { 18579 s.PullStoppedAt = &v 18580 return s 18581} 18582 18583// SetStartedAt sets the StartedAt field's value. 18584func (s *Task) SetStartedAt(v time.Time) *Task { 18585 s.StartedAt = &v 18586 return s 18587} 18588 18589// SetStartedBy sets the StartedBy field's value. 18590func (s *Task) SetStartedBy(v string) *Task { 18591 s.StartedBy = &v 18592 return s 18593} 18594 18595// SetStopCode sets the StopCode field's value. 18596func (s *Task) SetStopCode(v string) *Task { 18597 s.StopCode = &v 18598 return s 18599} 18600 18601// SetStoppedAt sets the StoppedAt field's value. 18602func (s *Task) SetStoppedAt(v time.Time) *Task { 18603 s.StoppedAt = &v 18604 return s 18605} 18606 18607// SetStoppedReason sets the StoppedReason field's value. 18608func (s *Task) SetStoppedReason(v string) *Task { 18609 s.StoppedReason = &v 18610 return s 18611} 18612 18613// SetStoppingAt sets the StoppingAt field's value. 18614func (s *Task) SetStoppingAt(v time.Time) *Task { 18615 s.StoppingAt = &v 18616 return s 18617} 18618 18619// SetTags sets the Tags field's value. 18620func (s *Task) SetTags(v []*Tag) *Task { 18621 s.Tags = v 18622 return s 18623} 18624 18625// SetTaskArn sets the TaskArn field's value. 18626func (s *Task) SetTaskArn(v string) *Task { 18627 s.TaskArn = &v 18628 return s 18629} 18630 18631// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 18632func (s *Task) SetTaskDefinitionArn(v string) *Task { 18633 s.TaskDefinitionArn = &v 18634 return s 18635} 18636 18637// SetVersion sets the Version field's value. 18638func (s *Task) SetVersion(v int64) *Task { 18639 s.Version = &v 18640 return s 18641} 18642 18643// The details of a task definition which describes the container and volume 18644// definitions of an Amazon Elastic Container Service task. You can specify 18645// which Docker images to use, the required resources, and other configurations 18646// related to launching the task definition through an Amazon ECS service or 18647// task. 18648type TaskDefinition struct { 18649 _ struct{} `type:"structure"` 18650 18651 // The launch type to use with your task. For more information, see Amazon ECS 18652 // Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 18653 // in the Amazon Elastic Container Service Developer Guide. 18654 Compatibilities []*string `locationName:"compatibilities" type:"list"` 18655 18656 // A list of container definitions in JSON format that describe the different 18657 // containers that make up your task. For more information about container definition 18658 // parameters and defaults, see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 18659 // in the Amazon Elastic Container Service Developer Guide. 18660 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` 18661 18662 // The number of cpu units used by the task. If you are using the EC2 launch 18663 // type, this field is optional and any value can be used. If you are using 18664 // the Fargate launch type, this field is required and you must use one of the 18665 // following values, which determines your range of valid values for the memory 18666 // parameter: 18667 // 18668 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 18669 // 2048 (2 GB) 18670 // 18671 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 18672 // (3 GB), 4096 (4 GB) 18673 // 18674 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 18675 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 18676 // 18677 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 18678 // (16 GB) in increments of 1024 (1 GB) 18679 // 18680 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 18681 // (30 GB) in increments of 1024 (1 GB) 18682 Cpu *string `locationName:"cpu" type:"string"` 18683 18684 // The Unix timestamp for when the task definition was deregistered. 18685 DeregisteredAt *time.Time `locationName:"deregisteredAt" type:"timestamp"` 18686 18687 // The Amazon Resource Name (ARN) of the task execution role that grants the 18688 // Amazon ECS container agent permission to make AWS API calls on your behalf. 18689 // The task execution IAM role is required depending on the requirements of 18690 // your task. For more information, see Amazon ECS task execution IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) 18691 // in the Amazon Elastic Container Service Developer Guide. 18692 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 18693 18694 // The name of a family that this task definition is registered to. Up to 255 18695 // letters (uppercase and lowercase), numbers, hyphens, and underscores are 18696 // allowed. 18697 // 18698 // A family groups multiple versions of a task definition. Amazon ECS gives 18699 // the first task definition that you registered to a family a revision number 18700 // of 1. Amazon ECS gives sequential revision numbers to each task definition 18701 // that you add. 18702 Family *string `locationName:"family" type:"string"` 18703 18704 // The Elastic Inference accelerator associated with the task. 18705 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 18706 18707 // The IPC resource namespace to use for the containers in the task. The valid 18708 // values are host, task, or none. If host is specified, then all containers 18709 // within the tasks that specified the host IPC mode on the same container instance 18710 // share the same IPC resources with the host Amazon EC2 instance. If task is 18711 // specified, all containers within the specified task share the same IPC resources. 18712 // If none is specified, then IPC resources within the containers of a task 18713 // are private and not shared with other containers in a task or on the container 18714 // instance. If no value is specified, then the IPC resource namespace sharing 18715 // depends on the Docker daemon setting on the container instance. For more 18716 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 18717 // in the Docker run reference. 18718 // 18719 // If the host IPC mode is used, be aware that there is a heightened risk of 18720 // undesired IPC namespace expose. For more information, see Docker security 18721 // (https://docs.docker.com/engine/security/security/). 18722 // 18723 // If you are setting namespaced kernel parameters using systemControls for 18724 // the containers in the task, the following will apply to your IPC resource 18725 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 18726 // in the Amazon Elastic Container Service Developer Guide. 18727 // 18728 // * For tasks that use the host IPC mode, IPC namespace related systemControls 18729 // are not supported. 18730 // 18731 // * For tasks that use the task IPC mode, IPC namespace related systemControls 18732 // will apply to all containers within a task. 18733 // 18734 // This parameter is not supported for Windows containers or tasks using the 18735 // Fargate launch type. 18736 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 18737 18738 // The amount (in MiB) of memory used by the task. 18739 // 18740 // If using the EC2 launch type, you must specify either a task-level memory 18741 // value or a container-level memory value. This field is optional and any value 18742 // can be used. If a task-level memory value is specified then the container-level 18743 // memory value is optional. For more information regarding container-level 18744 // memory and memory reservation, see ContainerDefinition (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html). 18745 // 18746 // If using the Fargate launch type, this field is required and you must use 18747 // one of the following values, which determines your range of valid values 18748 // for the cpu parameter: 18749 // 18750 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 18751 // vCPU) 18752 // 18753 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 18754 // 512 (.5 vCPU) 18755 // 18756 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 18757 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 18758 // 18759 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 18760 // Available cpu values: 2048 (2 vCPU) 18761 // 18762 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 18763 // Available cpu values: 4096 (4 vCPU) 18764 Memory *string `locationName:"memory" type:"string"` 18765 18766 // The Docker networking mode to use for the containers in the task. The valid 18767 // values are none, bridge, awsvpc, and host. If no network mode is specified, 18768 // the default is bridge. 18769 // 18770 // For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For 18771 // Amazon ECS tasks on Amazon EC2 instances, any network mode can be used. If 18772 // the network mode is set to none, you cannot specify port mappings in your 18773 // container definitions, and the tasks containers do not have external connectivity. 18774 // The host and awsvpc network modes offer the highest networking performance 18775 // for containers because they use the EC2 network stack instead of the virtualized 18776 // network stack provided by the bridge mode. 18777 // 18778 // With the host and awsvpc network modes, exposed container ports are mapped 18779 // directly to the corresponding host port (for the host network mode) or the 18780 // attached elastic network interface port (for the awsvpc network mode), so 18781 // you cannot take advantage of dynamic host port mappings. 18782 // 18783 // When using the host network mode, you should not run containers using the 18784 // root user (UID 0). It is considered best practice to use a non-root user. 18785 // 18786 // If the network mode is awsvpc, the task is allocated an elastic network interface, 18787 // and you must specify a NetworkConfiguration value when you create a service 18788 // or run a task with the task definition. For more information, see Task Networking 18789 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 18790 // in the Amazon Elastic Container Service Developer Guide. 18791 // 18792 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 18793 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 18794 // mode. 18795 // 18796 // If the network mode is host, you cannot run multiple instantiations of the 18797 // same task on a single container instance when port mappings are used. 18798 // 18799 // Docker for Windows uses different network modes than Docker for Linux. When 18800 // you register a task definition with Windows containers, you must not specify 18801 // a network mode. If you use the console to register a task definition with 18802 // Windows containers, you must choose the <default> network mode object. 18803 // 18804 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 18805 // in the Docker run reference. 18806 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 18807 18808 // The process namespace to use for the containers in the task. The valid values 18809 // are host or task. If host is specified, then all containers within the tasks 18810 // that specified the host PID mode on the same container instance share the 18811 // same process namespace with the host Amazon EC2 instance. If task is specified, 18812 // all containers within the specified task share the same process namespace. 18813 // If no value is specified, the default is a private namespace. For more information, 18814 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 18815 // in the Docker run reference. 18816 // 18817 // If the host PID mode is used, be aware that there is a heightened risk of 18818 // undesired process namespace expose. For more information, see Docker security 18819 // (https://docs.docker.com/engine/security/security/). 18820 // 18821 // This parameter is not supported for Windows containers or tasks using the 18822 // Fargate launch type. 18823 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 18824 18825 // An array of placement constraint objects to use for tasks. This field is 18826 // not valid if you are using the Fargate launch type for your task. 18827 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 18828 18829 // The configuration details for the App Mesh proxy. 18830 // 18831 // Your Amazon ECS container instances require at least version 1.26.0 of the 18832 // container agent and at least version 1.26.0-1 of the ecs-init package to 18833 // enable a proxy configuration. If your container instances are launched from 18834 // the Amazon ECS-optimized AMI version 20190301 or later, then they contain 18835 // the required versions of the container agent and ecs-init. For more information, 18836 // see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 18837 // in the Amazon Elastic Container Service Developer Guide. 18838 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 18839 18840 // The Unix timestamp for when the task definition was registered. 18841 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 18842 18843 // The principal that registered the task definition. 18844 RegisteredBy *string `locationName:"registeredBy" type:"string"` 18845 18846 // The container instance attributes required by your task. This field is not 18847 // valid if you are using the Fargate launch type for your task. 18848 RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` 18849 18850 // The launch type the task requires. If no value is specified, it will default 18851 // to EC2. Valid values include EC2 and FARGATE. 18852 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 18853 18854 // The revision of the task in a particular family. The revision is a version 18855 // number of a task definition in a family. When you register a task definition 18856 // for the first time, the revision is 1. Each time that you register a new 18857 // revision of a task definition in the same family, the revision value always 18858 // increases by one, even if you have deregistered previous revisions in this 18859 // family. 18860 Revision *int64 `locationName:"revision" type:"integer"` 18861 18862 // The status of the task definition. 18863 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 18864 18865 // The full Amazon Resource Name (ARN) of the task definition. 18866 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 18867 18868 // The short name or full Amazon Resource Name (ARN) of the AWS Identity and 18869 // Access Management (IAM) role that grants containers in the task permission 18870 // to call AWS APIs on your behalf. For more information, see Amazon ECS Task 18871 // Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 18872 // in the Amazon Elastic Container Service Developer Guide. 18873 // 18874 // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option 18875 // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers 18876 // must also run some configuration code in order to take advantage of the feature. 18877 // For more information, see Windows IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) 18878 // in the Amazon Elastic Container Service Developer Guide. 18879 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 18880 18881 // The list of volume definitions for the task. 18882 // 18883 // If your tasks are using the Fargate launch type, the host and sourcePath 18884 // parameters are not supported. 18885 // 18886 // For more information about volume definition parameters and defaults, see 18887 // Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) 18888 // in the Amazon Elastic Container Service Developer Guide. 18889 Volumes []*Volume `locationName:"volumes" type:"list"` 18890} 18891 18892// String returns the string representation 18893func (s TaskDefinition) String() string { 18894 return awsutil.Prettify(s) 18895} 18896 18897// GoString returns the string representation 18898func (s TaskDefinition) GoString() string { 18899 return s.String() 18900} 18901 18902// SetCompatibilities sets the Compatibilities field's value. 18903func (s *TaskDefinition) SetCompatibilities(v []*string) *TaskDefinition { 18904 s.Compatibilities = v 18905 return s 18906} 18907 18908// SetContainerDefinitions sets the ContainerDefinitions field's value. 18909func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition { 18910 s.ContainerDefinitions = v 18911 return s 18912} 18913 18914// SetCpu sets the Cpu field's value. 18915func (s *TaskDefinition) SetCpu(v string) *TaskDefinition { 18916 s.Cpu = &v 18917 return s 18918} 18919 18920// SetDeregisteredAt sets the DeregisteredAt field's value. 18921func (s *TaskDefinition) SetDeregisteredAt(v time.Time) *TaskDefinition { 18922 s.DeregisteredAt = &v 18923 return s 18924} 18925 18926// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 18927func (s *TaskDefinition) SetExecutionRoleArn(v string) *TaskDefinition { 18928 s.ExecutionRoleArn = &v 18929 return s 18930} 18931 18932// SetFamily sets the Family field's value. 18933func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { 18934 s.Family = &v 18935 return s 18936} 18937 18938// SetInferenceAccelerators sets the InferenceAccelerators field's value. 18939func (s *TaskDefinition) SetInferenceAccelerators(v []*InferenceAccelerator) *TaskDefinition { 18940 s.InferenceAccelerators = v 18941 return s 18942} 18943 18944// SetIpcMode sets the IpcMode field's value. 18945func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition { 18946 s.IpcMode = &v 18947 return s 18948} 18949 18950// SetMemory sets the Memory field's value. 18951func (s *TaskDefinition) SetMemory(v string) *TaskDefinition { 18952 s.Memory = &v 18953 return s 18954} 18955 18956// SetNetworkMode sets the NetworkMode field's value. 18957func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition { 18958 s.NetworkMode = &v 18959 return s 18960} 18961 18962// SetPidMode sets the PidMode field's value. 18963func (s *TaskDefinition) SetPidMode(v string) *TaskDefinition { 18964 s.PidMode = &v 18965 return s 18966} 18967 18968// SetPlacementConstraints sets the PlacementConstraints field's value. 18969func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition { 18970 s.PlacementConstraints = v 18971 return s 18972} 18973 18974// SetProxyConfiguration sets the ProxyConfiguration field's value. 18975func (s *TaskDefinition) SetProxyConfiguration(v *ProxyConfiguration) *TaskDefinition { 18976 s.ProxyConfiguration = v 18977 return s 18978} 18979 18980// SetRegisteredAt sets the RegisteredAt field's value. 18981func (s *TaskDefinition) SetRegisteredAt(v time.Time) *TaskDefinition { 18982 s.RegisteredAt = &v 18983 return s 18984} 18985 18986// SetRegisteredBy sets the RegisteredBy field's value. 18987func (s *TaskDefinition) SetRegisteredBy(v string) *TaskDefinition { 18988 s.RegisteredBy = &v 18989 return s 18990} 18991 18992// SetRequiresAttributes sets the RequiresAttributes field's value. 18993func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition { 18994 s.RequiresAttributes = v 18995 return s 18996} 18997 18998// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 18999func (s *TaskDefinition) SetRequiresCompatibilities(v []*string) *TaskDefinition { 19000 s.RequiresCompatibilities = v 19001 return s 19002} 19003 19004// SetRevision sets the Revision field's value. 19005func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition { 19006 s.Revision = &v 19007 return s 19008} 19009 19010// SetStatus sets the Status field's value. 19011func (s *TaskDefinition) SetStatus(v string) *TaskDefinition { 19012 s.Status = &v 19013 return s 19014} 19015 19016// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 19017func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition { 19018 s.TaskDefinitionArn = &v 19019 return s 19020} 19021 19022// SetTaskRoleArn sets the TaskRoleArn field's value. 19023func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition { 19024 s.TaskRoleArn = &v 19025 return s 19026} 19027 19028// SetVolumes sets the Volumes field's value. 19029func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { 19030 s.Volumes = v 19031 return s 19032} 19033 19034// An object representing a constraint on task placement in the task definition. 19035// For more information, see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 19036// in the Amazon Elastic Container Service Developer Guide. 19037// 19038// If you are using the Fargate launch type, task placement constraints are 19039// not supported. 19040type TaskDefinitionPlacementConstraint struct { 19041 _ struct{} `type:"structure"` 19042 19043 // A cluster query language expression to apply to the constraint. For more 19044 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 19045 // in the Amazon Elastic Container Service Developer Guide. 19046 Expression *string `locationName:"expression" type:"string"` 19047 19048 // The type of constraint. The MemberOf constraint restricts selection to be 19049 // from a group of valid candidates. 19050 Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"` 19051} 19052 19053// String returns the string representation 19054func (s TaskDefinitionPlacementConstraint) String() string { 19055 return awsutil.Prettify(s) 19056} 19057 19058// GoString returns the string representation 19059func (s TaskDefinitionPlacementConstraint) GoString() string { 19060 return s.String() 19061} 19062 19063// SetExpression sets the Expression field's value. 19064func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint { 19065 s.Expression = &v 19066 return s 19067} 19068 19069// SetType sets the Type field's value. 19070func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint { 19071 s.Type = &v 19072 return s 19073} 19074 19075// The overrides associated with a task. 19076type TaskOverride struct { 19077 _ struct{} `type:"structure"` 19078 19079 // One or more container overrides sent to a task. 19080 ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` 19081 19082 // The cpu override for the task. 19083 Cpu *string `locationName:"cpu" type:"string"` 19084 19085 // The Amazon Resource Name (ARN) of the task execution IAM role override for 19086 // the task. 19087 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 19088 19089 // The Elastic Inference accelerator override for the task. 19090 InferenceAcceleratorOverrides []*InferenceAcceleratorOverride `locationName:"inferenceAcceleratorOverrides" type:"list"` 19091 19092 // The memory override for the task. 19093 Memory *string `locationName:"memory" type:"string"` 19094 19095 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 19096 // can assume. All containers in this task are granted the permissions that 19097 // are specified in this role. 19098 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 19099} 19100 19101// String returns the string representation 19102func (s TaskOverride) String() string { 19103 return awsutil.Prettify(s) 19104} 19105 19106// GoString returns the string representation 19107func (s TaskOverride) GoString() string { 19108 return s.String() 19109} 19110 19111// Validate inspects the fields of the type to determine if they are valid. 19112func (s *TaskOverride) Validate() error { 19113 invalidParams := request.ErrInvalidParams{Context: "TaskOverride"} 19114 if s.ContainerOverrides != nil { 19115 for i, v := range s.ContainerOverrides { 19116 if v == nil { 19117 continue 19118 } 19119 if err := v.Validate(); err != nil { 19120 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerOverrides", i), err.(request.ErrInvalidParams)) 19121 } 19122 } 19123 } 19124 19125 if invalidParams.Len() > 0 { 19126 return invalidParams 19127 } 19128 return nil 19129} 19130 19131// SetContainerOverrides sets the ContainerOverrides field's value. 19132func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { 19133 s.ContainerOverrides = v 19134 return s 19135} 19136 19137// SetCpu sets the Cpu field's value. 19138func (s *TaskOverride) SetCpu(v string) *TaskOverride { 19139 s.Cpu = &v 19140 return s 19141} 19142 19143// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 19144func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride { 19145 s.ExecutionRoleArn = &v 19146 return s 19147} 19148 19149// SetInferenceAcceleratorOverrides sets the InferenceAcceleratorOverrides field's value. 19150func (s *TaskOverride) SetInferenceAcceleratorOverrides(v []*InferenceAcceleratorOverride) *TaskOverride { 19151 s.InferenceAcceleratorOverrides = v 19152 return s 19153} 19154 19155// SetMemory sets the Memory field's value. 19156func (s *TaskOverride) SetMemory(v string) *TaskOverride { 19157 s.Memory = &v 19158 return s 19159} 19160 19161// SetTaskRoleArn sets the TaskRoleArn field's value. 19162func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { 19163 s.TaskRoleArn = &v 19164 return s 19165} 19166 19167// Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 19168// an EXTERNAL deployment. An Amazon ECS task set includes details such as the 19169// desired number of tasks, how many tasks are running, and whether the task 19170// set serves production traffic. 19171type TaskSet struct { 19172 _ struct{} `type:"structure"` 19173 19174 // The capacity provider strategy associated with the task set. 19175 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 19176 19177 // The Amazon Resource Name (ARN) of the cluster that the service that hosts 19178 // the task set exists in. 19179 ClusterArn *string `locationName:"clusterArn" type:"string"` 19180 19181 // The computed desired count for the task set. This is calculated by multiplying 19182 // the service's desiredCount by the task set's scale percentage. The result 19183 // is always rounded up. For example, if the computed desired count is 1.2, 19184 // it rounds up to 2 tasks. 19185 ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"` 19186 19187 // The Unix timestamp for when the task set was created. 19188 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 19189 19190 // The external ID associated with the task set. 19191 // 19192 // If a task set is created by an AWS CodeDeploy deployment, the externalId 19193 // parameter contains the AWS CodeDeploy deployment ID. 19194 // 19195 // If a task set is created for an external deployment and is associated with 19196 // a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID 19197 // AWS Cloud Map attribute. 19198 ExternalId *string `locationName:"externalId" type:"string"` 19199 19200 // The ID of the task set. 19201 Id *string `locationName:"id" type:"string"` 19202 19203 // The launch type the tasks in the task set are using. For more information, 19204 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 19205 // in the Amazon Elastic Container Service Developer Guide. 19206 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 19207 19208 // Details on a load balancer that is used with a task set. 19209 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 19210 19211 // The network configuration for the task set. 19212 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 19213 19214 // The number of tasks in the task set that are in the PENDING status during 19215 // a deployment. A task in the PENDING state is preparing to enter the RUNNING 19216 // state. A task set enters the PENDING status when it launches for the first 19217 // time or when it is restarted after being in the STOPPED state. 19218 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 19219 19220 // The platform version on which the tasks in the task set are running. A platform 19221 // version is only specified for tasks using the Fargate launch type. If one 19222 // is not specified, the LATEST platform version is used by default. For more 19223 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 19224 // in the Amazon Elastic Container Service Developer Guide. 19225 PlatformVersion *string `locationName:"platformVersion" type:"string"` 19226 19227 // The number of tasks in the task set that are in the RUNNING status during 19228 // a deployment. A task in the RUNNING state is running and ready for use. 19229 RunningCount *int64 `locationName:"runningCount" type:"integer"` 19230 19231 // A floating-point percentage of the desired number of tasks to place and keep 19232 // running in the task set. 19233 Scale *Scale `locationName:"scale" type:"structure"` 19234 19235 // The Amazon Resource Name (ARN) of the service the task set exists in. 19236 ServiceArn *string `locationName:"serviceArn" type:"string"` 19237 19238 // The details of the service discovery registries to assign to this task set. 19239 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 19240 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 19241 19242 // The stability status, which indicates whether the task set has reached a 19243 // steady state. If the following conditions are met, the task set will be in 19244 // STEADY_STATE: 19245 // 19246 // * The task runningCount is equal to the computedDesiredCount. 19247 // 19248 // * The pendingCount is 0. 19249 // 19250 // * There are no tasks running on container instances in the DRAINING status. 19251 // 19252 // * All tasks are reporting a healthy status from the load balancers, service 19253 // discovery, and container health checks. 19254 // 19255 // If any of those conditions are not met, the stability status returns STABILIZING. 19256 StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"` 19257 19258 // The Unix timestamp for when the task set stability status was retrieved. 19259 StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"` 19260 19261 // The tag specified when a task set is started. If the task set is created 19262 // by an AWS CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. 19263 // For a task set created for an external deployment, the startedBy field isn't 19264 // used. 19265 StartedBy *string `locationName:"startedBy" type:"string"` 19266 19267 // The status of the task set. The following describes each state: 19268 // 19269 // PRIMARY 19270 // 19271 // The task set is serving production traffic. 19272 // 19273 // ACTIVE 19274 // 19275 // The task set is not serving production traffic. 19276 // 19277 // DRAINING 19278 // 19279 // The tasks in the task set are being stopped and their corresponding targets 19280 // are being deregistered from their target group. 19281 Status *string `locationName:"status" type:"string"` 19282 19283 // The metadata that you apply to the task set to help you categorize and organize 19284 // them. Each tag consists of a key and an optional value, both of which you 19285 // define. 19286 // 19287 // The following basic restrictions apply to tags: 19288 // 19289 // * Maximum number of tags per resource - 50 19290 // 19291 // * For each resource, each tag key must be unique, and each tag key can 19292 // have only one value. 19293 // 19294 // * Maximum key length - 128 Unicode characters in UTF-8 19295 // 19296 // * Maximum value length - 256 Unicode characters in UTF-8 19297 // 19298 // * If your tagging schema is used across multiple services and resources, 19299 // remember that other services may have restrictions on allowed characters. 19300 // Generally allowed characters are: letters, numbers, and spaces representable 19301 // in UTF-8, and the following characters: + - = . _ : / @. 19302 // 19303 // * Tag keys and values are case-sensitive. 19304 // 19305 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 19306 // as a prefix for either keys or values as it is reserved for AWS use. You 19307 // cannot edit or delete tag keys or values with this prefix. Tags with this 19308 // prefix do not count against your tags per resource limit. 19309 Tags []*Tag `locationName:"tags" type:"list"` 19310 19311 // The task definition the task set is using. 19312 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 19313 19314 // The Amazon Resource Name (ARN) of the task set. 19315 TaskSetArn *string `locationName:"taskSetArn" type:"string"` 19316 19317 // The Unix timestamp for when the task set was last updated. 19318 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 19319} 19320 19321// String returns the string representation 19322func (s TaskSet) String() string { 19323 return awsutil.Prettify(s) 19324} 19325 19326// GoString returns the string representation 19327func (s TaskSet) GoString() string { 19328 return s.String() 19329} 19330 19331// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 19332func (s *TaskSet) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *TaskSet { 19333 s.CapacityProviderStrategy = v 19334 return s 19335} 19336 19337// SetClusterArn sets the ClusterArn field's value. 19338func (s *TaskSet) SetClusterArn(v string) *TaskSet { 19339 s.ClusterArn = &v 19340 return s 19341} 19342 19343// SetComputedDesiredCount sets the ComputedDesiredCount field's value. 19344func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet { 19345 s.ComputedDesiredCount = &v 19346 return s 19347} 19348 19349// SetCreatedAt sets the CreatedAt field's value. 19350func (s *TaskSet) SetCreatedAt(v time.Time) *TaskSet { 19351 s.CreatedAt = &v 19352 return s 19353} 19354 19355// SetExternalId sets the ExternalId field's value. 19356func (s *TaskSet) SetExternalId(v string) *TaskSet { 19357 s.ExternalId = &v 19358 return s 19359} 19360 19361// SetId sets the Id field's value. 19362func (s *TaskSet) SetId(v string) *TaskSet { 19363 s.Id = &v 19364 return s 19365} 19366 19367// SetLaunchType sets the LaunchType field's value. 19368func (s *TaskSet) SetLaunchType(v string) *TaskSet { 19369 s.LaunchType = &v 19370 return s 19371} 19372 19373// SetLoadBalancers sets the LoadBalancers field's value. 19374func (s *TaskSet) SetLoadBalancers(v []*LoadBalancer) *TaskSet { 19375 s.LoadBalancers = v 19376 return s 19377} 19378 19379// SetNetworkConfiguration sets the NetworkConfiguration field's value. 19380func (s *TaskSet) SetNetworkConfiguration(v *NetworkConfiguration) *TaskSet { 19381 s.NetworkConfiguration = v 19382 return s 19383} 19384 19385// SetPendingCount sets the PendingCount field's value. 19386func (s *TaskSet) SetPendingCount(v int64) *TaskSet { 19387 s.PendingCount = &v 19388 return s 19389} 19390 19391// SetPlatformVersion sets the PlatformVersion field's value. 19392func (s *TaskSet) SetPlatformVersion(v string) *TaskSet { 19393 s.PlatformVersion = &v 19394 return s 19395} 19396 19397// SetRunningCount sets the RunningCount field's value. 19398func (s *TaskSet) SetRunningCount(v int64) *TaskSet { 19399 s.RunningCount = &v 19400 return s 19401} 19402 19403// SetScale sets the Scale field's value. 19404func (s *TaskSet) SetScale(v *Scale) *TaskSet { 19405 s.Scale = v 19406 return s 19407} 19408 19409// SetServiceArn sets the ServiceArn field's value. 19410func (s *TaskSet) SetServiceArn(v string) *TaskSet { 19411 s.ServiceArn = &v 19412 return s 19413} 19414 19415// SetServiceRegistries sets the ServiceRegistries field's value. 19416func (s *TaskSet) SetServiceRegistries(v []*ServiceRegistry) *TaskSet { 19417 s.ServiceRegistries = v 19418 return s 19419} 19420 19421// SetStabilityStatus sets the StabilityStatus field's value. 19422func (s *TaskSet) SetStabilityStatus(v string) *TaskSet { 19423 s.StabilityStatus = &v 19424 return s 19425} 19426 19427// SetStabilityStatusAt sets the StabilityStatusAt field's value. 19428func (s *TaskSet) SetStabilityStatusAt(v time.Time) *TaskSet { 19429 s.StabilityStatusAt = &v 19430 return s 19431} 19432 19433// SetStartedBy sets the StartedBy field's value. 19434func (s *TaskSet) SetStartedBy(v string) *TaskSet { 19435 s.StartedBy = &v 19436 return s 19437} 19438 19439// SetStatus sets the Status field's value. 19440func (s *TaskSet) SetStatus(v string) *TaskSet { 19441 s.Status = &v 19442 return s 19443} 19444 19445// SetTags sets the Tags field's value. 19446func (s *TaskSet) SetTags(v []*Tag) *TaskSet { 19447 s.Tags = v 19448 return s 19449} 19450 19451// SetTaskDefinition sets the TaskDefinition field's value. 19452func (s *TaskSet) SetTaskDefinition(v string) *TaskSet { 19453 s.TaskDefinition = &v 19454 return s 19455} 19456 19457// SetTaskSetArn sets the TaskSetArn field's value. 19458func (s *TaskSet) SetTaskSetArn(v string) *TaskSet { 19459 s.TaskSetArn = &v 19460 return s 19461} 19462 19463// SetUpdatedAt sets the UpdatedAt field's value. 19464func (s *TaskSet) SetUpdatedAt(v time.Time) *TaskSet { 19465 s.UpdatedAt = &v 19466 return s 19467} 19468 19469// The specified task set could not be found. You can view your available task 19470// sets with DescribeTaskSets. Task sets are specific to each cluster, service 19471// and Region. 19472type TaskSetNotFoundException struct { 19473 _ struct{} `type:"structure"` 19474 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19475 19476 Message_ *string `locationName:"message" type:"string"` 19477} 19478 19479// String returns the string representation 19480func (s TaskSetNotFoundException) String() string { 19481 return awsutil.Prettify(s) 19482} 19483 19484// GoString returns the string representation 19485func (s TaskSetNotFoundException) GoString() string { 19486 return s.String() 19487} 19488 19489func newErrorTaskSetNotFoundException(v protocol.ResponseMetadata) error { 19490 return &TaskSetNotFoundException{ 19491 RespMetadata: v, 19492 } 19493} 19494 19495// Code returns the exception type name. 19496func (s *TaskSetNotFoundException) Code() string { 19497 return "TaskSetNotFoundException" 19498} 19499 19500// Message returns the exception's message. 19501func (s *TaskSetNotFoundException) Message() string { 19502 if s.Message_ != nil { 19503 return *s.Message_ 19504 } 19505 return "" 19506} 19507 19508// OrigErr always returns nil, satisfies awserr.Error interface. 19509func (s *TaskSetNotFoundException) OrigErr() error { 19510 return nil 19511} 19512 19513func (s *TaskSetNotFoundException) Error() string { 19514 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19515} 19516 19517// Status code returns the HTTP status code for the request's response error. 19518func (s *TaskSetNotFoundException) StatusCode() int { 19519 return s.RespMetadata.StatusCode 19520} 19521 19522// RequestID returns the service's response RequestID for request. 19523func (s *TaskSetNotFoundException) RequestID() string { 19524 return s.RespMetadata.RequestID 19525} 19526 19527// The container path, mount options, and size of the tmpfs mount. 19528type Tmpfs struct { 19529 _ struct{} `type:"structure"` 19530 19531 // The absolute file path where the tmpfs volume is to be mounted. 19532 // 19533 // ContainerPath is a required field 19534 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 19535 19536 // The list of tmpfs volume mount options. 19537 // 19538 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 19539 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 19540 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 19541 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 19542 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 19543 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 19544 MountOptions []*string `locationName:"mountOptions" type:"list"` 19545 19546 // The maximum size (in MiB) of the tmpfs volume. 19547 // 19548 // Size is a required field 19549 Size *int64 `locationName:"size" type:"integer" required:"true"` 19550} 19551 19552// String returns the string representation 19553func (s Tmpfs) String() string { 19554 return awsutil.Prettify(s) 19555} 19556 19557// GoString returns the string representation 19558func (s Tmpfs) GoString() string { 19559 return s.String() 19560} 19561 19562// Validate inspects the fields of the type to determine if they are valid. 19563func (s *Tmpfs) Validate() error { 19564 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 19565 if s.ContainerPath == nil { 19566 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 19567 } 19568 if s.Size == nil { 19569 invalidParams.Add(request.NewErrParamRequired("Size")) 19570 } 19571 19572 if invalidParams.Len() > 0 { 19573 return invalidParams 19574 } 19575 return nil 19576} 19577 19578// SetContainerPath sets the ContainerPath field's value. 19579func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 19580 s.ContainerPath = &v 19581 return s 19582} 19583 19584// SetMountOptions sets the MountOptions field's value. 19585func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 19586 s.MountOptions = v 19587 return s 19588} 19589 19590// SetSize sets the Size field's value. 19591func (s *Tmpfs) SetSize(v int64) *Tmpfs { 19592 s.Size = &v 19593 return s 19594} 19595 19596// The ulimit settings to pass to the container. 19597type Ulimit struct { 19598 _ struct{} `type:"structure"` 19599 19600 // The hard limit for the ulimit type. 19601 // 19602 // HardLimit is a required field 19603 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 19604 19605 // The type of the ulimit. 19606 // 19607 // Name is a required field 19608 Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` 19609 19610 // The soft limit for the ulimit type. 19611 // 19612 // SoftLimit is a required field 19613 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 19614} 19615 19616// String returns the string representation 19617func (s Ulimit) String() string { 19618 return awsutil.Prettify(s) 19619} 19620 19621// GoString returns the string representation 19622func (s Ulimit) GoString() string { 19623 return s.String() 19624} 19625 19626// Validate inspects the fields of the type to determine if they are valid. 19627func (s *Ulimit) Validate() error { 19628 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 19629 if s.HardLimit == nil { 19630 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 19631 } 19632 if s.Name == nil { 19633 invalidParams.Add(request.NewErrParamRequired("Name")) 19634 } 19635 if s.SoftLimit == nil { 19636 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 19637 } 19638 19639 if invalidParams.Len() > 0 { 19640 return invalidParams 19641 } 19642 return nil 19643} 19644 19645// SetHardLimit sets the HardLimit field's value. 19646func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 19647 s.HardLimit = &v 19648 return s 19649} 19650 19651// SetName sets the Name field's value. 19652func (s *Ulimit) SetName(v string) *Ulimit { 19653 s.Name = &v 19654 return s 19655} 19656 19657// SetSoftLimit sets the SoftLimit field's value. 19658func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 19659 s.SoftLimit = &v 19660 return s 19661} 19662 19663// The specified task is not supported in this Region. 19664type UnsupportedFeatureException struct { 19665 _ struct{} `type:"structure"` 19666 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19667 19668 Message_ *string `locationName:"message" type:"string"` 19669} 19670 19671// String returns the string representation 19672func (s UnsupportedFeatureException) String() string { 19673 return awsutil.Prettify(s) 19674} 19675 19676// GoString returns the string representation 19677func (s UnsupportedFeatureException) GoString() string { 19678 return s.String() 19679} 19680 19681func newErrorUnsupportedFeatureException(v protocol.ResponseMetadata) error { 19682 return &UnsupportedFeatureException{ 19683 RespMetadata: v, 19684 } 19685} 19686 19687// Code returns the exception type name. 19688func (s *UnsupportedFeatureException) Code() string { 19689 return "UnsupportedFeatureException" 19690} 19691 19692// Message returns the exception's message. 19693func (s *UnsupportedFeatureException) Message() string { 19694 if s.Message_ != nil { 19695 return *s.Message_ 19696 } 19697 return "" 19698} 19699 19700// OrigErr always returns nil, satisfies awserr.Error interface. 19701func (s *UnsupportedFeatureException) OrigErr() error { 19702 return nil 19703} 19704 19705func (s *UnsupportedFeatureException) Error() string { 19706 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19707} 19708 19709// Status code returns the HTTP status code for the request's response error. 19710func (s *UnsupportedFeatureException) StatusCode() int { 19711 return s.RespMetadata.StatusCode 19712} 19713 19714// RequestID returns the service's response RequestID for request. 19715func (s *UnsupportedFeatureException) RequestID() string { 19716 return s.RespMetadata.RequestID 19717} 19718 19719type UntagResourceInput struct { 19720 _ struct{} `type:"structure"` 19721 19722 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 19723 // Currently, the supported resources are Amazon ECS capacity providers, tasks, 19724 // services, task definitions, clusters, and container instances. 19725 // 19726 // ResourceArn is a required field 19727 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 19728 19729 // The keys of the tags to be removed. 19730 // 19731 // TagKeys is a required field 19732 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 19733} 19734 19735// String returns the string representation 19736func (s UntagResourceInput) String() string { 19737 return awsutil.Prettify(s) 19738} 19739 19740// GoString returns the string representation 19741func (s UntagResourceInput) GoString() string { 19742 return s.String() 19743} 19744 19745// Validate inspects the fields of the type to determine if they are valid. 19746func (s *UntagResourceInput) Validate() error { 19747 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 19748 if s.ResourceArn == nil { 19749 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 19750 } 19751 if s.TagKeys == nil { 19752 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 19753 } 19754 19755 if invalidParams.Len() > 0 { 19756 return invalidParams 19757 } 19758 return nil 19759} 19760 19761// SetResourceArn sets the ResourceArn field's value. 19762func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 19763 s.ResourceArn = &v 19764 return s 19765} 19766 19767// SetTagKeys sets the TagKeys field's value. 19768func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 19769 s.TagKeys = v 19770 return s 19771} 19772 19773type UntagResourceOutput struct { 19774 _ struct{} `type:"structure"` 19775} 19776 19777// String returns the string representation 19778func (s UntagResourceOutput) String() string { 19779 return awsutil.Prettify(s) 19780} 19781 19782// GoString returns the string representation 19783func (s UntagResourceOutput) GoString() string { 19784 return s.String() 19785} 19786 19787type UpdateCapacityProviderInput struct { 19788 _ struct{} `type:"structure"` 19789 19790 // An object representing the parameters to update for the Auto Scaling group 19791 // capacity provider. 19792 // 19793 // AutoScalingGroupProvider is a required field 19794 AutoScalingGroupProvider *AutoScalingGroupProviderUpdate `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` 19795 19796 // The name of the capacity provider to update. 19797 // 19798 // Name is a required field 19799 Name *string `locationName:"name" type:"string" required:"true"` 19800} 19801 19802// String returns the string representation 19803func (s UpdateCapacityProviderInput) String() string { 19804 return awsutil.Prettify(s) 19805} 19806 19807// GoString returns the string representation 19808func (s UpdateCapacityProviderInput) GoString() string { 19809 return s.String() 19810} 19811 19812// Validate inspects the fields of the type to determine if they are valid. 19813func (s *UpdateCapacityProviderInput) Validate() error { 19814 invalidParams := request.ErrInvalidParams{Context: "UpdateCapacityProviderInput"} 19815 if s.AutoScalingGroupProvider == nil { 19816 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) 19817 } 19818 if s.Name == nil { 19819 invalidParams.Add(request.NewErrParamRequired("Name")) 19820 } 19821 if s.AutoScalingGroupProvider != nil { 19822 if err := s.AutoScalingGroupProvider.Validate(); err != nil { 19823 invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) 19824 } 19825 } 19826 19827 if invalidParams.Len() > 0 { 19828 return invalidParams 19829 } 19830 return nil 19831} 19832 19833// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 19834func (s *UpdateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProviderUpdate) *UpdateCapacityProviderInput { 19835 s.AutoScalingGroupProvider = v 19836 return s 19837} 19838 19839// SetName sets the Name field's value. 19840func (s *UpdateCapacityProviderInput) SetName(v string) *UpdateCapacityProviderInput { 19841 s.Name = &v 19842 return s 19843} 19844 19845type UpdateCapacityProviderOutput struct { 19846 _ struct{} `type:"structure"` 19847 19848 // The details of a capacity provider. 19849 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 19850} 19851 19852// String returns the string representation 19853func (s UpdateCapacityProviderOutput) String() string { 19854 return awsutil.Prettify(s) 19855} 19856 19857// GoString returns the string representation 19858func (s UpdateCapacityProviderOutput) GoString() string { 19859 return s.String() 19860} 19861 19862// SetCapacityProvider sets the CapacityProvider field's value. 19863func (s *UpdateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *UpdateCapacityProviderOutput { 19864 s.CapacityProvider = v 19865 return s 19866} 19867 19868type UpdateClusterSettingsInput struct { 19869 _ struct{} `type:"structure"` 19870 19871 // The name of the cluster to modify the settings for. 19872 // 19873 // Cluster is a required field 19874 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19875 19876 // The setting to use by default for a cluster. This parameter is used to enable 19877 // CloudWatch Container Insights for a cluster. If this value is specified, 19878 // it will override the containerInsights value set with PutAccountSetting or 19879 // PutAccountSettingDefault. 19880 // 19881 // Settings is a required field 19882 Settings []*ClusterSetting `locationName:"settings" type:"list" required:"true"` 19883} 19884 19885// String returns the string representation 19886func (s UpdateClusterSettingsInput) String() string { 19887 return awsutil.Prettify(s) 19888} 19889 19890// GoString returns the string representation 19891func (s UpdateClusterSettingsInput) GoString() string { 19892 return s.String() 19893} 19894 19895// Validate inspects the fields of the type to determine if they are valid. 19896func (s *UpdateClusterSettingsInput) Validate() error { 19897 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterSettingsInput"} 19898 if s.Cluster == nil { 19899 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19900 } 19901 if s.Settings == nil { 19902 invalidParams.Add(request.NewErrParamRequired("Settings")) 19903 } 19904 19905 if invalidParams.Len() > 0 { 19906 return invalidParams 19907 } 19908 return nil 19909} 19910 19911// SetCluster sets the Cluster field's value. 19912func (s *UpdateClusterSettingsInput) SetCluster(v string) *UpdateClusterSettingsInput { 19913 s.Cluster = &v 19914 return s 19915} 19916 19917// SetSettings sets the Settings field's value. 19918func (s *UpdateClusterSettingsInput) SetSettings(v []*ClusterSetting) *UpdateClusterSettingsInput { 19919 s.Settings = v 19920 return s 19921} 19922 19923type UpdateClusterSettingsOutput struct { 19924 _ struct{} `type:"structure"` 19925 19926 // A regional grouping of one or more container instances on which you can run 19927 // task requests. Each account receives a default cluster the first time you 19928 // use the Amazon ECS service, but you may also create other clusters. Clusters 19929 // may contain more than one instance type simultaneously. 19930 Cluster *Cluster `locationName:"cluster" type:"structure"` 19931} 19932 19933// String returns the string representation 19934func (s UpdateClusterSettingsOutput) String() string { 19935 return awsutil.Prettify(s) 19936} 19937 19938// GoString returns the string representation 19939func (s UpdateClusterSettingsOutput) GoString() string { 19940 return s.String() 19941} 19942 19943// SetCluster sets the Cluster field's value. 19944func (s *UpdateClusterSettingsOutput) SetCluster(v *Cluster) *UpdateClusterSettingsOutput { 19945 s.Cluster = v 19946 return s 19947} 19948 19949type UpdateContainerAgentInput struct { 19950 _ struct{} `type:"structure"` 19951 19952 // The short name or full Amazon Resource Name (ARN) of the cluster that your 19953 // container instance is running on. If you do not specify a cluster, the default 19954 // cluster is assumed. 19955 Cluster *string `locationName:"cluster" type:"string"` 19956 19957 // The container instance ID or full ARN entries for the container instance 19958 // on which you would like to update the Amazon ECS container agent. 19959 // 19960 // ContainerInstance is a required field 19961 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 19962} 19963 19964// String returns the string representation 19965func (s UpdateContainerAgentInput) String() string { 19966 return awsutil.Prettify(s) 19967} 19968 19969// GoString returns the string representation 19970func (s UpdateContainerAgentInput) GoString() string { 19971 return s.String() 19972} 19973 19974// Validate inspects the fields of the type to determine if they are valid. 19975func (s *UpdateContainerAgentInput) Validate() error { 19976 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} 19977 if s.ContainerInstance == nil { 19978 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 19979 } 19980 19981 if invalidParams.Len() > 0 { 19982 return invalidParams 19983 } 19984 return nil 19985} 19986 19987// SetCluster sets the Cluster field's value. 19988func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput { 19989 s.Cluster = &v 19990 return s 19991} 19992 19993// SetContainerInstance sets the ContainerInstance field's value. 19994func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput { 19995 s.ContainerInstance = &v 19996 return s 19997} 19998 19999type UpdateContainerAgentOutput struct { 20000 _ struct{} `type:"structure"` 20001 20002 // The container instance for which the container agent was updated. 20003 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 20004} 20005 20006// String returns the string representation 20007func (s UpdateContainerAgentOutput) String() string { 20008 return awsutil.Prettify(s) 20009} 20010 20011// GoString returns the string representation 20012func (s UpdateContainerAgentOutput) GoString() string { 20013 return s.String() 20014} 20015 20016// SetContainerInstance sets the ContainerInstance field's value. 20017func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput { 20018 s.ContainerInstance = v 20019 return s 20020} 20021 20022type UpdateContainerInstancesStateInput struct { 20023 _ struct{} `type:"structure"` 20024 20025 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 20026 // the container instance to update. If you do not specify a cluster, the default 20027 // cluster is assumed. 20028 Cluster *string `locationName:"cluster" type:"string"` 20029 20030 // A list of container instance IDs or full ARN entries. 20031 // 20032 // ContainerInstances is a required field 20033 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 20034 20035 // The container instance state with which to update the container instance. 20036 // The only valid values for this action are ACTIVE and DRAINING. A container 20037 // instance can only be updated to DRAINING status once it has reached an ACTIVE 20038 // state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED 20039 // state you can describe the container instance but will be unable to update 20040 // the container instance state. 20041 // 20042 // Status is a required field 20043 Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"` 20044} 20045 20046// String returns the string representation 20047func (s UpdateContainerInstancesStateInput) String() string { 20048 return awsutil.Prettify(s) 20049} 20050 20051// GoString returns the string representation 20052func (s UpdateContainerInstancesStateInput) GoString() string { 20053 return s.String() 20054} 20055 20056// Validate inspects the fields of the type to determine if they are valid. 20057func (s *UpdateContainerInstancesStateInput) Validate() error { 20058 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"} 20059 if s.ContainerInstances == nil { 20060 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 20061 } 20062 if s.Status == nil { 20063 invalidParams.Add(request.NewErrParamRequired("Status")) 20064 } 20065 20066 if invalidParams.Len() > 0 { 20067 return invalidParams 20068 } 20069 return nil 20070} 20071 20072// SetCluster sets the Cluster field's value. 20073func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput { 20074 s.Cluster = &v 20075 return s 20076} 20077 20078// SetContainerInstances sets the ContainerInstances field's value. 20079func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput { 20080 s.ContainerInstances = v 20081 return s 20082} 20083 20084// SetStatus sets the Status field's value. 20085func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput { 20086 s.Status = &v 20087 return s 20088} 20089 20090type UpdateContainerInstancesStateOutput struct { 20091 _ struct{} `type:"structure"` 20092 20093 // The list of container instances. 20094 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 20095 20096 // Any failures associated with the call. 20097 Failures []*Failure `locationName:"failures" type:"list"` 20098} 20099 20100// String returns the string representation 20101func (s UpdateContainerInstancesStateOutput) String() string { 20102 return awsutil.Prettify(s) 20103} 20104 20105// GoString returns the string representation 20106func (s UpdateContainerInstancesStateOutput) GoString() string { 20107 return s.String() 20108} 20109 20110// SetContainerInstances sets the ContainerInstances field's value. 20111func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput { 20112 s.ContainerInstances = v 20113 return s 20114} 20115 20116// SetFailures sets the Failures field's value. 20117func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput { 20118 s.Failures = v 20119 return s 20120} 20121 20122// There is already a current Amazon ECS container agent update in progress 20123// on the specified container instance. If the container agent becomes disconnected 20124// while it is in a transitional stage, such as PENDING or STAGING, the update 20125// process can get stuck in that state. However, when the agent reconnects, 20126// it resumes where it stopped previously. 20127type UpdateInProgressException struct { 20128 _ struct{} `type:"structure"` 20129 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 20130 20131 Message_ *string `locationName:"message" type:"string"` 20132} 20133 20134// String returns the string representation 20135func (s UpdateInProgressException) String() string { 20136 return awsutil.Prettify(s) 20137} 20138 20139// GoString returns the string representation 20140func (s UpdateInProgressException) GoString() string { 20141 return s.String() 20142} 20143 20144func newErrorUpdateInProgressException(v protocol.ResponseMetadata) error { 20145 return &UpdateInProgressException{ 20146 RespMetadata: v, 20147 } 20148} 20149 20150// Code returns the exception type name. 20151func (s *UpdateInProgressException) Code() string { 20152 return "UpdateInProgressException" 20153} 20154 20155// Message returns the exception's message. 20156func (s *UpdateInProgressException) Message() string { 20157 if s.Message_ != nil { 20158 return *s.Message_ 20159 } 20160 return "" 20161} 20162 20163// OrigErr always returns nil, satisfies awserr.Error interface. 20164func (s *UpdateInProgressException) OrigErr() error { 20165 return nil 20166} 20167 20168func (s *UpdateInProgressException) Error() string { 20169 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 20170} 20171 20172// Status code returns the HTTP status code for the request's response error. 20173func (s *UpdateInProgressException) StatusCode() int { 20174 return s.RespMetadata.StatusCode 20175} 20176 20177// RequestID returns the service's response RequestID for request. 20178func (s *UpdateInProgressException) RequestID() string { 20179 return s.RespMetadata.RequestID 20180} 20181 20182type UpdateServiceInput struct { 20183 _ struct{} `type:"structure"` 20184 20185 // The capacity provider strategy to update the service to use. 20186 // 20187 // If the service is using the default capacity provider strategy for the cluster, 20188 // the service can be updated to use one or more capacity providers as opposed 20189 // to the default capacity provider strategy. However, when a service is using 20190 // a capacity provider strategy that is not the default capacity provider strategy, 20191 // the service cannot be updated to use the cluster's default capacity provider 20192 // strategy. 20193 // 20194 // A capacity provider strategy consists of one or more capacity providers along 20195 // with the base and weight to assign to them. A capacity provider must be associated 20196 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 20197 // API is used to associate a capacity provider with a cluster. Only capacity 20198 // providers with an ACTIVE or UPDATING status can be used. 20199 // 20200 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 20201 // provider must already be created. New capacity providers can be created with 20202 // the CreateCapacityProvider API operation. 20203 // 20204 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 20205 // capacity providers. The AWS Fargate capacity providers are available to all 20206 // accounts and only need to be associated with a cluster to be used. 20207 // 20208 // The PutClusterCapacityProviders API operation is used to update the list 20209 // of available capacity providers for a cluster after the cluster is created. 20210 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 20211 20212 // The short name or full Amazon Resource Name (ARN) of the cluster that your 20213 // service is running on. If you do not specify a cluster, the default cluster 20214 // is assumed. 20215 Cluster *string `locationName:"cluster" type:"string"` 20216 20217 // Optional deployment parameters that control how many tasks run during the 20218 // deployment and the ordering of stopping and starting tasks. 20219 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 20220 20221 // The number of instantiations of the task to place and keep running in your 20222 // service. 20223 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 20224 20225 // Whether to force a new deployment of the service. Deployments are not forced 20226 // by default. You can use this option to trigger a new deployment with no service 20227 // definition changes. For example, you can update a service's tasks to use 20228 // a newer Docker image with the same image/tag combination (my_image:latest) 20229 // or to roll Fargate tasks onto a newer platform version. 20230 ForceNewDeployment *bool `locationName:"forceNewDeployment" type:"boolean"` 20231 20232 // The period of time, in seconds, that the Amazon ECS service scheduler should 20233 // ignore unhealthy Elastic Load Balancing target health checks after a task 20234 // has first started. This is only valid if your service is configured to use 20235 // a load balancer. If your service's tasks take a while to start and respond 20236 // to Elastic Load Balancing health checks, you can specify a health check grace 20237 // period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service 20238 // scheduler ignores the Elastic Load Balancing health check status. This grace 20239 // period can prevent the ECS service scheduler from marking tasks as unhealthy 20240 // and stopping them before they have time to come up. 20241 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 20242 20243 // An object representing the network configuration for a task or service. 20244 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 20245 20246 // An array of task placement constraint objects to update the service to use. 20247 // If no value is specified, the existing placement constraints for the service 20248 // will remain unchanged. If this value is specified, it will override any existing 20249 // placement constraints defined for the service. To remove all existing placement 20250 // constraints, specify an empty array. 20251 // 20252 // You can specify a maximum of 10 constraints per task (this limit includes 20253 // constraints in the task definition and those specified at runtime). 20254 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 20255 20256 // The task placement strategy objects to update the service to use. If no value 20257 // is specified, the existing placement strategy for the service will remain 20258 // unchanged. If this value is specified, it will override the existing placement 20259 // strategy defined for the service. To remove an existing placement strategy, 20260 // specify an empty object. 20261 // 20262 // You can specify a maximum of five strategy rules per service. 20263 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 20264 20265 // The platform version on which your tasks in the service are running. A platform 20266 // version is only specified for tasks using the Fargate launch type. If a platform 20267 // version is not specified, the LATEST platform version is used by default. 20268 // For more information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 20269 // in the Amazon Elastic Container Service Developer Guide. 20270 PlatformVersion *string `locationName:"platformVersion" type:"string"` 20271 20272 // The name of the service to update. 20273 // 20274 // Service is a required field 20275 Service *string `locationName:"service" type:"string" required:"true"` 20276 20277 // The family and revision (family:revision) or full ARN of the task definition 20278 // to run in your service. If a revision is not specified, the latest ACTIVE 20279 // revision is used. If you modify the task definition with UpdateService, Amazon 20280 // ECS spawns a task with the new version of the task definition and then stops 20281 // an old task after the new version is running. 20282 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 20283} 20284 20285// String returns the string representation 20286func (s UpdateServiceInput) String() string { 20287 return awsutil.Prettify(s) 20288} 20289 20290// GoString returns the string representation 20291func (s UpdateServiceInput) GoString() string { 20292 return s.String() 20293} 20294 20295// Validate inspects the fields of the type to determine if they are valid. 20296func (s *UpdateServiceInput) Validate() error { 20297 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 20298 if s.Service == nil { 20299 invalidParams.Add(request.NewErrParamRequired("Service")) 20300 } 20301 if s.CapacityProviderStrategy != nil { 20302 for i, v := range s.CapacityProviderStrategy { 20303 if v == nil { 20304 continue 20305 } 20306 if err := v.Validate(); err != nil { 20307 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 20308 } 20309 } 20310 } 20311 if s.DeploymentConfiguration != nil { 20312 if err := s.DeploymentConfiguration.Validate(); err != nil { 20313 invalidParams.AddNested("DeploymentConfiguration", err.(request.ErrInvalidParams)) 20314 } 20315 } 20316 if s.NetworkConfiguration != nil { 20317 if err := s.NetworkConfiguration.Validate(); err != nil { 20318 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 20319 } 20320 } 20321 20322 if invalidParams.Len() > 0 { 20323 return invalidParams 20324 } 20325 return nil 20326} 20327 20328// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 20329func (s *UpdateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *UpdateServiceInput { 20330 s.CapacityProviderStrategy = v 20331 return s 20332} 20333 20334// SetCluster sets the Cluster field's value. 20335func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput { 20336 s.Cluster = &v 20337 return s 20338} 20339 20340// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 20341func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput { 20342 s.DeploymentConfiguration = v 20343 return s 20344} 20345 20346// SetDesiredCount sets the DesiredCount field's value. 20347func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput { 20348 s.DesiredCount = &v 20349 return s 20350} 20351 20352// SetForceNewDeployment sets the ForceNewDeployment field's value. 20353func (s *UpdateServiceInput) SetForceNewDeployment(v bool) *UpdateServiceInput { 20354 s.ForceNewDeployment = &v 20355 return s 20356} 20357 20358// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 20359func (s *UpdateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *UpdateServiceInput { 20360 s.HealthCheckGracePeriodSeconds = &v 20361 return s 20362} 20363 20364// SetNetworkConfiguration sets the NetworkConfiguration field's value. 20365func (s *UpdateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateServiceInput { 20366 s.NetworkConfiguration = v 20367 return s 20368} 20369 20370// SetPlacementConstraints sets the PlacementConstraints field's value. 20371func (s *UpdateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *UpdateServiceInput { 20372 s.PlacementConstraints = v 20373 return s 20374} 20375 20376// SetPlacementStrategy sets the PlacementStrategy field's value. 20377func (s *UpdateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *UpdateServiceInput { 20378 s.PlacementStrategy = v 20379 return s 20380} 20381 20382// SetPlatformVersion sets the PlatformVersion field's value. 20383func (s *UpdateServiceInput) SetPlatformVersion(v string) *UpdateServiceInput { 20384 s.PlatformVersion = &v 20385 return s 20386} 20387 20388// SetService sets the Service field's value. 20389func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput { 20390 s.Service = &v 20391 return s 20392} 20393 20394// SetTaskDefinition sets the TaskDefinition field's value. 20395func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput { 20396 s.TaskDefinition = &v 20397 return s 20398} 20399 20400type UpdateServiceOutput struct { 20401 _ struct{} `type:"structure"` 20402 20403 // The full description of your service following the update call. 20404 Service *Service `locationName:"service" type:"structure"` 20405} 20406 20407// String returns the string representation 20408func (s UpdateServiceOutput) String() string { 20409 return awsutil.Prettify(s) 20410} 20411 20412// GoString returns the string representation 20413func (s UpdateServiceOutput) GoString() string { 20414 return s.String() 20415} 20416 20417// SetService sets the Service field's value. 20418func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { 20419 s.Service = v 20420 return s 20421} 20422 20423type UpdateServicePrimaryTaskSetInput struct { 20424 _ struct{} `type:"structure"` 20425 20426 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 20427 // the service that the task set exists in. 20428 // 20429 // Cluster is a required field 20430 Cluster *string `locationName:"cluster" type:"string" required:"true"` 20431 20432 // The short name or full Amazon Resource Name (ARN) of the task set to set 20433 // as the primary task set in the deployment. 20434 // 20435 // PrimaryTaskSet is a required field 20436 PrimaryTaskSet *string `locationName:"primaryTaskSet" type:"string" required:"true"` 20437 20438 // The short name or full Amazon Resource Name (ARN) of the service that the 20439 // task set exists in. 20440 // 20441 // Service is a required field 20442 Service *string `locationName:"service" type:"string" required:"true"` 20443} 20444 20445// String returns the string representation 20446func (s UpdateServicePrimaryTaskSetInput) String() string { 20447 return awsutil.Prettify(s) 20448} 20449 20450// GoString returns the string representation 20451func (s UpdateServicePrimaryTaskSetInput) GoString() string { 20452 return s.String() 20453} 20454 20455// Validate inspects the fields of the type to determine if they are valid. 20456func (s *UpdateServicePrimaryTaskSetInput) Validate() error { 20457 invalidParams := request.ErrInvalidParams{Context: "UpdateServicePrimaryTaskSetInput"} 20458 if s.Cluster == nil { 20459 invalidParams.Add(request.NewErrParamRequired("Cluster")) 20460 } 20461 if s.PrimaryTaskSet == nil { 20462 invalidParams.Add(request.NewErrParamRequired("PrimaryTaskSet")) 20463 } 20464 if s.Service == nil { 20465 invalidParams.Add(request.NewErrParamRequired("Service")) 20466 } 20467 20468 if invalidParams.Len() > 0 { 20469 return invalidParams 20470 } 20471 return nil 20472} 20473 20474// SetCluster sets the Cluster field's value. 20475func (s *UpdateServicePrimaryTaskSetInput) SetCluster(v string) *UpdateServicePrimaryTaskSetInput { 20476 s.Cluster = &v 20477 return s 20478} 20479 20480// SetPrimaryTaskSet sets the PrimaryTaskSet field's value. 20481func (s *UpdateServicePrimaryTaskSetInput) SetPrimaryTaskSet(v string) *UpdateServicePrimaryTaskSetInput { 20482 s.PrimaryTaskSet = &v 20483 return s 20484} 20485 20486// SetService sets the Service field's value. 20487func (s *UpdateServicePrimaryTaskSetInput) SetService(v string) *UpdateServicePrimaryTaskSetInput { 20488 s.Service = &v 20489 return s 20490} 20491 20492type UpdateServicePrimaryTaskSetOutput struct { 20493 _ struct{} `type:"structure"` 20494 20495 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 20496 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 20497 // desired number of tasks, how many tasks are running, and whether the task 20498 // set serves production traffic. 20499 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 20500} 20501 20502// String returns the string representation 20503func (s UpdateServicePrimaryTaskSetOutput) String() string { 20504 return awsutil.Prettify(s) 20505} 20506 20507// GoString returns the string representation 20508func (s UpdateServicePrimaryTaskSetOutput) GoString() string { 20509 return s.String() 20510} 20511 20512// SetTaskSet sets the TaskSet field's value. 20513func (s *UpdateServicePrimaryTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateServicePrimaryTaskSetOutput { 20514 s.TaskSet = v 20515 return s 20516} 20517 20518type UpdateTaskSetInput struct { 20519 _ struct{} `type:"structure"` 20520 20521 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 20522 // the service that the task set exists in. 20523 // 20524 // Cluster is a required field 20525 Cluster *string `locationName:"cluster" type:"string" required:"true"` 20526 20527 // A floating-point percentage of the desired number of tasks to place and keep 20528 // running in the task set. 20529 // 20530 // Scale is a required field 20531 Scale *Scale `locationName:"scale" type:"structure" required:"true"` 20532 20533 // The short name or full Amazon Resource Name (ARN) of the service that the 20534 // task set exists in. 20535 // 20536 // Service is a required field 20537 Service *string `locationName:"service" type:"string" required:"true"` 20538 20539 // The short name or full Amazon Resource Name (ARN) of the task set to update. 20540 // 20541 // TaskSet is a required field 20542 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 20543} 20544 20545// String returns the string representation 20546func (s UpdateTaskSetInput) String() string { 20547 return awsutil.Prettify(s) 20548} 20549 20550// GoString returns the string representation 20551func (s UpdateTaskSetInput) GoString() string { 20552 return s.String() 20553} 20554 20555// Validate inspects the fields of the type to determine if they are valid. 20556func (s *UpdateTaskSetInput) Validate() error { 20557 invalidParams := request.ErrInvalidParams{Context: "UpdateTaskSetInput"} 20558 if s.Cluster == nil { 20559 invalidParams.Add(request.NewErrParamRequired("Cluster")) 20560 } 20561 if s.Scale == nil { 20562 invalidParams.Add(request.NewErrParamRequired("Scale")) 20563 } 20564 if s.Service == nil { 20565 invalidParams.Add(request.NewErrParamRequired("Service")) 20566 } 20567 if s.TaskSet == nil { 20568 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 20569 } 20570 20571 if invalidParams.Len() > 0 { 20572 return invalidParams 20573 } 20574 return nil 20575} 20576 20577// SetCluster sets the Cluster field's value. 20578func (s *UpdateTaskSetInput) SetCluster(v string) *UpdateTaskSetInput { 20579 s.Cluster = &v 20580 return s 20581} 20582 20583// SetScale sets the Scale field's value. 20584func (s *UpdateTaskSetInput) SetScale(v *Scale) *UpdateTaskSetInput { 20585 s.Scale = v 20586 return s 20587} 20588 20589// SetService sets the Service field's value. 20590func (s *UpdateTaskSetInput) SetService(v string) *UpdateTaskSetInput { 20591 s.Service = &v 20592 return s 20593} 20594 20595// SetTaskSet sets the TaskSet field's value. 20596func (s *UpdateTaskSetInput) SetTaskSet(v string) *UpdateTaskSetInput { 20597 s.TaskSet = &v 20598 return s 20599} 20600 20601type UpdateTaskSetOutput struct { 20602 _ struct{} `type:"structure"` 20603 20604 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 20605 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 20606 // desired number of tasks, how many tasks are running, and whether the task 20607 // set serves production traffic. 20608 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 20609} 20610 20611// String returns the string representation 20612func (s UpdateTaskSetOutput) String() string { 20613 return awsutil.Prettify(s) 20614} 20615 20616// GoString returns the string representation 20617func (s UpdateTaskSetOutput) GoString() string { 20618 return s.String() 20619} 20620 20621// SetTaskSet sets the TaskSet field's value. 20622func (s *UpdateTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateTaskSetOutput { 20623 s.TaskSet = v 20624 return s 20625} 20626 20627// The Docker and Amazon ECS container agent version information about a container 20628// instance. 20629type VersionInfo struct { 20630 _ struct{} `type:"structure"` 20631 20632 // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent 20633 // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository. 20634 AgentHash *string `locationName:"agentHash" type:"string"` 20635 20636 // The version number of the Amazon ECS container agent. 20637 AgentVersion *string `locationName:"agentVersion" type:"string"` 20638 20639 // The Docker version running on the container instance. 20640 DockerVersion *string `locationName:"dockerVersion" type:"string"` 20641} 20642 20643// String returns the string representation 20644func (s VersionInfo) String() string { 20645 return awsutil.Prettify(s) 20646} 20647 20648// GoString returns the string representation 20649func (s VersionInfo) GoString() string { 20650 return s.String() 20651} 20652 20653// SetAgentHash sets the AgentHash field's value. 20654func (s *VersionInfo) SetAgentHash(v string) *VersionInfo { 20655 s.AgentHash = &v 20656 return s 20657} 20658 20659// SetAgentVersion sets the AgentVersion field's value. 20660func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo { 20661 s.AgentVersion = &v 20662 return s 20663} 20664 20665// SetDockerVersion sets the DockerVersion field's value. 20666func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { 20667 s.DockerVersion = &v 20668 return s 20669} 20670 20671// A data volume used in a task definition. For tasks that use the Amazon Elastic 20672// File System (Amazon EFS), specify an efsVolumeConfiguration. For Windows 20673// tasks that use Amazon FSx for Windows File Server file system, specify a 20674// fsxWindowsFileServerVolumeConfiguration. For tasks that use a Docker volume, 20675// specify a DockerVolumeConfiguration. For tasks that use a bind mount host 20676// volume, specify a host and optional sourcePath. For more information, see 20677// Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). 20678type Volume struct { 20679 _ struct{} `type:"structure"` 20680 20681 // This parameter is specified when you are using Docker volumes. Docker volumes 20682 // are only supported when you are using the EC2 launch type. Windows containers 20683 // only support the use of the local driver. To use bind mounts, specify the 20684 // host parameter instead. 20685 DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` 20686 20687 // This parameter is specified when you are using an Amazon Elastic File System 20688 // file system for task storage. 20689 EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` 20690 20691 // This parameter is specified when you are using Amazon FSx for Windows File 20692 // Server file system for task storage. 20693 FsxWindowsFileServerVolumeConfiguration *FSxWindowsFileServerVolumeConfiguration `locationName:"fsxWindowsFileServerVolumeConfiguration" type:"structure"` 20694 20695 // This parameter is specified when you are using bind mount host volumes. The 20696 // contents of the host parameter determine whether your bind mount host volume 20697 // persists on the host container instance and where it is stored. If the host 20698 // parameter is empty, then the Docker daemon assigns a host path for your data 20699 // volume. However, the data is not guaranteed to persist after the containers 20700 // associated with it stop running. 20701 // 20702 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 20703 // Windows containers cannot mount directories on a different drive, and mount 20704 // point cannot be across drives. For example, you can mount C:\my\path:C:\my\path 20705 // and D:\:D:\, but not D:\my\path:C:\my\path or D:\:C:\my\path. 20706 Host *HostVolumeProperties `locationName:"host" type:"structure"` 20707 20708 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 20709 // and hyphens are allowed. This name is referenced in the sourceVolume parameter 20710 // of container definition mountPoints. 20711 Name *string `locationName:"name" type:"string"` 20712} 20713 20714// String returns the string representation 20715func (s Volume) String() string { 20716 return awsutil.Prettify(s) 20717} 20718 20719// GoString returns the string representation 20720func (s Volume) GoString() string { 20721 return s.String() 20722} 20723 20724// Validate inspects the fields of the type to determine if they are valid. 20725func (s *Volume) Validate() error { 20726 invalidParams := request.ErrInvalidParams{Context: "Volume"} 20727 if s.EfsVolumeConfiguration != nil { 20728 if err := s.EfsVolumeConfiguration.Validate(); err != nil { 20729 invalidParams.AddNested("EfsVolumeConfiguration", err.(request.ErrInvalidParams)) 20730 } 20731 } 20732 if s.FsxWindowsFileServerVolumeConfiguration != nil { 20733 if err := s.FsxWindowsFileServerVolumeConfiguration.Validate(); err != nil { 20734 invalidParams.AddNested("FsxWindowsFileServerVolumeConfiguration", err.(request.ErrInvalidParams)) 20735 } 20736 } 20737 20738 if invalidParams.Len() > 0 { 20739 return invalidParams 20740 } 20741 return nil 20742} 20743 20744// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value. 20745func (s *Volume) SetDockerVolumeConfiguration(v *DockerVolumeConfiguration) *Volume { 20746 s.DockerVolumeConfiguration = v 20747 return s 20748} 20749 20750// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value. 20751func (s *Volume) SetEfsVolumeConfiguration(v *EFSVolumeConfiguration) *Volume { 20752 s.EfsVolumeConfiguration = v 20753 return s 20754} 20755 20756// SetFsxWindowsFileServerVolumeConfiguration sets the FsxWindowsFileServerVolumeConfiguration field's value. 20757func (s *Volume) SetFsxWindowsFileServerVolumeConfiguration(v *FSxWindowsFileServerVolumeConfiguration) *Volume { 20758 s.FsxWindowsFileServerVolumeConfiguration = v 20759 return s 20760} 20761 20762// SetHost sets the Host field's value. 20763func (s *Volume) SetHost(v *HostVolumeProperties) *Volume { 20764 s.Host = v 20765 return s 20766} 20767 20768// SetName sets the Name field's value. 20769func (s *Volume) SetName(v string) *Volume { 20770 s.Name = &v 20771 return s 20772} 20773 20774// Details on a data volume from another container in the same task definition. 20775type VolumeFrom struct { 20776 _ struct{} `type:"structure"` 20777 20778 // If this value is true, the container has read-only access to the volume. 20779 // If this value is false, then the container can write to the volume. The default 20780 // value is false. 20781 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 20782 20783 // The name of another container within the same task definition from which 20784 // to mount volumes. 20785 SourceContainer *string `locationName:"sourceContainer" type:"string"` 20786} 20787 20788// String returns the string representation 20789func (s VolumeFrom) String() string { 20790 return awsutil.Prettify(s) 20791} 20792 20793// GoString returns the string representation 20794func (s VolumeFrom) GoString() string { 20795 return s.String() 20796} 20797 20798// SetReadOnly sets the ReadOnly field's value. 20799func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom { 20800 s.ReadOnly = &v 20801 return s 20802} 20803 20804// SetSourceContainer sets the SourceContainer field's value. 20805func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom { 20806 s.SourceContainer = &v 20807 return s 20808} 20809 20810const ( 20811 // AgentUpdateStatusPending is a AgentUpdateStatus enum value 20812 AgentUpdateStatusPending = "PENDING" 20813 20814 // AgentUpdateStatusStaging is a AgentUpdateStatus enum value 20815 AgentUpdateStatusStaging = "STAGING" 20816 20817 // AgentUpdateStatusStaged is a AgentUpdateStatus enum value 20818 AgentUpdateStatusStaged = "STAGED" 20819 20820 // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value 20821 AgentUpdateStatusUpdating = "UPDATING" 20822 20823 // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value 20824 AgentUpdateStatusUpdated = "UPDATED" 20825 20826 // AgentUpdateStatusFailed is a AgentUpdateStatus enum value 20827 AgentUpdateStatusFailed = "FAILED" 20828) 20829 20830// AgentUpdateStatus_Values returns all elements of the AgentUpdateStatus enum 20831func AgentUpdateStatus_Values() []string { 20832 return []string{ 20833 AgentUpdateStatusPending, 20834 AgentUpdateStatusStaging, 20835 AgentUpdateStatusStaged, 20836 AgentUpdateStatusUpdating, 20837 AgentUpdateStatusUpdated, 20838 AgentUpdateStatusFailed, 20839 } 20840} 20841 20842const ( 20843 // AssignPublicIpEnabled is a AssignPublicIp enum value 20844 AssignPublicIpEnabled = "ENABLED" 20845 20846 // AssignPublicIpDisabled is a AssignPublicIp enum value 20847 AssignPublicIpDisabled = "DISABLED" 20848) 20849 20850// AssignPublicIp_Values returns all elements of the AssignPublicIp enum 20851func AssignPublicIp_Values() []string { 20852 return []string{ 20853 AssignPublicIpEnabled, 20854 AssignPublicIpDisabled, 20855 } 20856} 20857 20858const ( 20859 // CapacityProviderFieldTags is a CapacityProviderField enum value 20860 CapacityProviderFieldTags = "TAGS" 20861) 20862 20863// CapacityProviderField_Values returns all elements of the CapacityProviderField enum 20864func CapacityProviderField_Values() []string { 20865 return []string{ 20866 CapacityProviderFieldTags, 20867 } 20868} 20869 20870const ( 20871 // CapacityProviderStatusActive is a CapacityProviderStatus enum value 20872 CapacityProviderStatusActive = "ACTIVE" 20873 20874 // CapacityProviderStatusInactive is a CapacityProviderStatus enum value 20875 CapacityProviderStatusInactive = "INACTIVE" 20876) 20877 20878// CapacityProviderStatus_Values returns all elements of the CapacityProviderStatus enum 20879func CapacityProviderStatus_Values() []string { 20880 return []string{ 20881 CapacityProviderStatusActive, 20882 CapacityProviderStatusInactive, 20883 } 20884} 20885 20886const ( 20887 // CapacityProviderUpdateStatusDeleteInProgress is a CapacityProviderUpdateStatus enum value 20888 CapacityProviderUpdateStatusDeleteInProgress = "DELETE_IN_PROGRESS" 20889 20890 // CapacityProviderUpdateStatusDeleteComplete is a CapacityProviderUpdateStatus enum value 20891 CapacityProviderUpdateStatusDeleteComplete = "DELETE_COMPLETE" 20892 20893 // CapacityProviderUpdateStatusDeleteFailed is a CapacityProviderUpdateStatus enum value 20894 CapacityProviderUpdateStatusDeleteFailed = "DELETE_FAILED" 20895 20896 // CapacityProviderUpdateStatusUpdateInProgress is a CapacityProviderUpdateStatus enum value 20897 CapacityProviderUpdateStatusUpdateInProgress = "UPDATE_IN_PROGRESS" 20898 20899 // CapacityProviderUpdateStatusUpdateComplete is a CapacityProviderUpdateStatus enum value 20900 CapacityProviderUpdateStatusUpdateComplete = "UPDATE_COMPLETE" 20901 20902 // CapacityProviderUpdateStatusUpdateFailed is a CapacityProviderUpdateStatus enum value 20903 CapacityProviderUpdateStatusUpdateFailed = "UPDATE_FAILED" 20904) 20905 20906// CapacityProviderUpdateStatus_Values returns all elements of the CapacityProviderUpdateStatus enum 20907func CapacityProviderUpdateStatus_Values() []string { 20908 return []string{ 20909 CapacityProviderUpdateStatusDeleteInProgress, 20910 CapacityProviderUpdateStatusDeleteComplete, 20911 CapacityProviderUpdateStatusDeleteFailed, 20912 CapacityProviderUpdateStatusUpdateInProgress, 20913 CapacityProviderUpdateStatusUpdateComplete, 20914 CapacityProviderUpdateStatusUpdateFailed, 20915 } 20916} 20917 20918const ( 20919 // ClusterFieldAttachments is a ClusterField enum value 20920 ClusterFieldAttachments = "ATTACHMENTS" 20921 20922 // ClusterFieldSettings is a ClusterField enum value 20923 ClusterFieldSettings = "SETTINGS" 20924 20925 // ClusterFieldStatistics is a ClusterField enum value 20926 ClusterFieldStatistics = "STATISTICS" 20927 20928 // ClusterFieldTags is a ClusterField enum value 20929 ClusterFieldTags = "TAGS" 20930) 20931 20932// ClusterField_Values returns all elements of the ClusterField enum 20933func ClusterField_Values() []string { 20934 return []string{ 20935 ClusterFieldAttachments, 20936 ClusterFieldSettings, 20937 ClusterFieldStatistics, 20938 ClusterFieldTags, 20939 } 20940} 20941 20942const ( 20943 // ClusterSettingNameContainerInsights is a ClusterSettingName enum value 20944 ClusterSettingNameContainerInsights = "containerInsights" 20945) 20946 20947// ClusterSettingName_Values returns all elements of the ClusterSettingName enum 20948func ClusterSettingName_Values() []string { 20949 return []string{ 20950 ClusterSettingNameContainerInsights, 20951 } 20952} 20953 20954const ( 20955 // CompatibilityEc2 is a Compatibility enum value 20956 CompatibilityEc2 = "EC2" 20957 20958 // CompatibilityFargate is a Compatibility enum value 20959 CompatibilityFargate = "FARGATE" 20960) 20961 20962// Compatibility_Values returns all elements of the Compatibility enum 20963func Compatibility_Values() []string { 20964 return []string{ 20965 CompatibilityEc2, 20966 CompatibilityFargate, 20967 } 20968} 20969 20970const ( 20971 // ConnectivityConnected is a Connectivity enum value 20972 ConnectivityConnected = "CONNECTED" 20973 20974 // ConnectivityDisconnected is a Connectivity enum value 20975 ConnectivityDisconnected = "DISCONNECTED" 20976) 20977 20978// Connectivity_Values returns all elements of the Connectivity enum 20979func Connectivity_Values() []string { 20980 return []string{ 20981 ConnectivityConnected, 20982 ConnectivityDisconnected, 20983 } 20984} 20985 20986const ( 20987 // ContainerConditionStart is a ContainerCondition enum value 20988 ContainerConditionStart = "START" 20989 20990 // ContainerConditionComplete is a ContainerCondition enum value 20991 ContainerConditionComplete = "COMPLETE" 20992 20993 // ContainerConditionSuccess is a ContainerCondition enum value 20994 ContainerConditionSuccess = "SUCCESS" 20995 20996 // ContainerConditionHealthy is a ContainerCondition enum value 20997 ContainerConditionHealthy = "HEALTHY" 20998) 20999 21000// ContainerCondition_Values returns all elements of the ContainerCondition enum 21001func ContainerCondition_Values() []string { 21002 return []string{ 21003 ContainerConditionStart, 21004 ContainerConditionComplete, 21005 ContainerConditionSuccess, 21006 ContainerConditionHealthy, 21007 } 21008} 21009 21010const ( 21011 // ContainerInstanceFieldTags is a ContainerInstanceField enum value 21012 ContainerInstanceFieldTags = "TAGS" 21013) 21014 21015// ContainerInstanceField_Values returns all elements of the ContainerInstanceField enum 21016func ContainerInstanceField_Values() []string { 21017 return []string{ 21018 ContainerInstanceFieldTags, 21019 } 21020} 21021 21022const ( 21023 // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value 21024 ContainerInstanceStatusActive = "ACTIVE" 21025 21026 // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value 21027 ContainerInstanceStatusDraining = "DRAINING" 21028 21029 // ContainerInstanceStatusRegistering is a ContainerInstanceStatus enum value 21030 ContainerInstanceStatusRegistering = "REGISTERING" 21031 21032 // ContainerInstanceStatusDeregistering is a ContainerInstanceStatus enum value 21033 ContainerInstanceStatusDeregistering = "DEREGISTERING" 21034 21035 // ContainerInstanceStatusRegistrationFailed is a ContainerInstanceStatus enum value 21036 ContainerInstanceStatusRegistrationFailed = "REGISTRATION_FAILED" 21037) 21038 21039// ContainerInstanceStatus_Values returns all elements of the ContainerInstanceStatus enum 21040func ContainerInstanceStatus_Values() []string { 21041 return []string{ 21042 ContainerInstanceStatusActive, 21043 ContainerInstanceStatusDraining, 21044 ContainerInstanceStatusRegistering, 21045 ContainerInstanceStatusDeregistering, 21046 ContainerInstanceStatusRegistrationFailed, 21047 } 21048} 21049 21050const ( 21051 // DeploymentControllerTypeEcs is a DeploymentControllerType enum value 21052 DeploymentControllerTypeEcs = "ECS" 21053 21054 // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value 21055 DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY" 21056 21057 // DeploymentControllerTypeExternal is a DeploymentControllerType enum value 21058 DeploymentControllerTypeExternal = "EXTERNAL" 21059) 21060 21061// DeploymentControllerType_Values returns all elements of the DeploymentControllerType enum 21062func DeploymentControllerType_Values() []string { 21063 return []string{ 21064 DeploymentControllerTypeEcs, 21065 DeploymentControllerTypeCodeDeploy, 21066 DeploymentControllerTypeExternal, 21067 } 21068} 21069 21070const ( 21071 // DeploymentRolloutStateCompleted is a DeploymentRolloutState enum value 21072 DeploymentRolloutStateCompleted = "COMPLETED" 21073 21074 // DeploymentRolloutStateFailed is a DeploymentRolloutState enum value 21075 DeploymentRolloutStateFailed = "FAILED" 21076 21077 // DeploymentRolloutStateInProgress is a DeploymentRolloutState enum value 21078 DeploymentRolloutStateInProgress = "IN_PROGRESS" 21079) 21080 21081// DeploymentRolloutState_Values returns all elements of the DeploymentRolloutState enum 21082func DeploymentRolloutState_Values() []string { 21083 return []string{ 21084 DeploymentRolloutStateCompleted, 21085 DeploymentRolloutStateFailed, 21086 DeploymentRolloutStateInProgress, 21087 } 21088} 21089 21090const ( 21091 // DesiredStatusRunning is a DesiredStatus enum value 21092 DesiredStatusRunning = "RUNNING" 21093 21094 // DesiredStatusPending is a DesiredStatus enum value 21095 DesiredStatusPending = "PENDING" 21096 21097 // DesiredStatusStopped is a DesiredStatus enum value 21098 DesiredStatusStopped = "STOPPED" 21099) 21100 21101// DesiredStatus_Values returns all elements of the DesiredStatus enum 21102func DesiredStatus_Values() []string { 21103 return []string{ 21104 DesiredStatusRunning, 21105 DesiredStatusPending, 21106 DesiredStatusStopped, 21107 } 21108} 21109 21110const ( 21111 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 21112 DeviceCgroupPermissionRead = "read" 21113 21114 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 21115 DeviceCgroupPermissionWrite = "write" 21116 21117 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 21118 DeviceCgroupPermissionMknod = "mknod" 21119) 21120 21121// DeviceCgroupPermission_Values returns all elements of the DeviceCgroupPermission enum 21122func DeviceCgroupPermission_Values() []string { 21123 return []string{ 21124 DeviceCgroupPermissionRead, 21125 DeviceCgroupPermissionWrite, 21126 DeviceCgroupPermissionMknod, 21127 } 21128} 21129 21130const ( 21131 // EFSAuthorizationConfigIAMEnabled is a EFSAuthorizationConfigIAM enum value 21132 EFSAuthorizationConfigIAMEnabled = "ENABLED" 21133 21134 // EFSAuthorizationConfigIAMDisabled is a EFSAuthorizationConfigIAM enum value 21135 EFSAuthorizationConfigIAMDisabled = "DISABLED" 21136) 21137 21138// EFSAuthorizationConfigIAM_Values returns all elements of the EFSAuthorizationConfigIAM enum 21139func EFSAuthorizationConfigIAM_Values() []string { 21140 return []string{ 21141 EFSAuthorizationConfigIAMEnabled, 21142 EFSAuthorizationConfigIAMDisabled, 21143 } 21144} 21145 21146const ( 21147 // EFSTransitEncryptionEnabled is a EFSTransitEncryption enum value 21148 EFSTransitEncryptionEnabled = "ENABLED" 21149 21150 // EFSTransitEncryptionDisabled is a EFSTransitEncryption enum value 21151 EFSTransitEncryptionDisabled = "DISABLED" 21152) 21153 21154// EFSTransitEncryption_Values returns all elements of the EFSTransitEncryption enum 21155func EFSTransitEncryption_Values() []string { 21156 return []string{ 21157 EFSTransitEncryptionEnabled, 21158 EFSTransitEncryptionDisabled, 21159 } 21160} 21161 21162const ( 21163 // EnvironmentFileTypeS3 is a EnvironmentFileType enum value 21164 EnvironmentFileTypeS3 = "s3" 21165) 21166 21167// EnvironmentFileType_Values returns all elements of the EnvironmentFileType enum 21168func EnvironmentFileType_Values() []string { 21169 return []string{ 21170 EnvironmentFileTypeS3, 21171 } 21172} 21173 21174const ( 21175 // FirelensConfigurationTypeFluentd is a FirelensConfigurationType enum value 21176 FirelensConfigurationTypeFluentd = "fluentd" 21177 21178 // FirelensConfigurationTypeFluentbit is a FirelensConfigurationType enum value 21179 FirelensConfigurationTypeFluentbit = "fluentbit" 21180) 21181 21182// FirelensConfigurationType_Values returns all elements of the FirelensConfigurationType enum 21183func FirelensConfigurationType_Values() []string { 21184 return []string{ 21185 FirelensConfigurationTypeFluentd, 21186 FirelensConfigurationTypeFluentbit, 21187 } 21188} 21189 21190const ( 21191 // HealthStatusHealthy is a HealthStatus enum value 21192 HealthStatusHealthy = "HEALTHY" 21193 21194 // HealthStatusUnhealthy is a HealthStatus enum value 21195 HealthStatusUnhealthy = "UNHEALTHY" 21196 21197 // HealthStatusUnknown is a HealthStatus enum value 21198 HealthStatusUnknown = "UNKNOWN" 21199) 21200 21201// HealthStatus_Values returns all elements of the HealthStatus enum 21202func HealthStatus_Values() []string { 21203 return []string{ 21204 HealthStatusHealthy, 21205 HealthStatusUnhealthy, 21206 HealthStatusUnknown, 21207 } 21208} 21209 21210const ( 21211 // IpcModeHost is a IpcMode enum value 21212 IpcModeHost = "host" 21213 21214 // IpcModeTask is a IpcMode enum value 21215 IpcModeTask = "task" 21216 21217 // IpcModeNone is a IpcMode enum value 21218 IpcModeNone = "none" 21219) 21220 21221// IpcMode_Values returns all elements of the IpcMode enum 21222func IpcMode_Values() []string { 21223 return []string{ 21224 IpcModeHost, 21225 IpcModeTask, 21226 IpcModeNone, 21227 } 21228} 21229 21230const ( 21231 // LaunchTypeEc2 is a LaunchType enum value 21232 LaunchTypeEc2 = "EC2" 21233 21234 // LaunchTypeFargate is a LaunchType enum value 21235 LaunchTypeFargate = "FARGATE" 21236) 21237 21238// LaunchType_Values returns all elements of the LaunchType enum 21239func LaunchType_Values() []string { 21240 return []string{ 21241 LaunchTypeEc2, 21242 LaunchTypeFargate, 21243 } 21244} 21245 21246const ( 21247 // LogDriverJsonFile is a LogDriver enum value 21248 LogDriverJsonFile = "json-file" 21249 21250 // LogDriverSyslog is a LogDriver enum value 21251 LogDriverSyslog = "syslog" 21252 21253 // LogDriverJournald is a LogDriver enum value 21254 LogDriverJournald = "journald" 21255 21256 // LogDriverGelf is a LogDriver enum value 21257 LogDriverGelf = "gelf" 21258 21259 // LogDriverFluentd is a LogDriver enum value 21260 LogDriverFluentd = "fluentd" 21261 21262 // LogDriverAwslogs is a LogDriver enum value 21263 LogDriverAwslogs = "awslogs" 21264 21265 // LogDriverSplunk is a LogDriver enum value 21266 LogDriverSplunk = "splunk" 21267 21268 // LogDriverAwsfirelens is a LogDriver enum value 21269 LogDriverAwsfirelens = "awsfirelens" 21270) 21271 21272// LogDriver_Values returns all elements of the LogDriver enum 21273func LogDriver_Values() []string { 21274 return []string{ 21275 LogDriverJsonFile, 21276 LogDriverSyslog, 21277 LogDriverJournald, 21278 LogDriverGelf, 21279 LogDriverFluentd, 21280 LogDriverAwslogs, 21281 LogDriverSplunk, 21282 LogDriverAwsfirelens, 21283 } 21284} 21285 21286const ( 21287 // ManagedScalingStatusEnabled is a ManagedScalingStatus enum value 21288 ManagedScalingStatusEnabled = "ENABLED" 21289 21290 // ManagedScalingStatusDisabled is a ManagedScalingStatus enum value 21291 ManagedScalingStatusDisabled = "DISABLED" 21292) 21293 21294// ManagedScalingStatus_Values returns all elements of the ManagedScalingStatus enum 21295func ManagedScalingStatus_Values() []string { 21296 return []string{ 21297 ManagedScalingStatusEnabled, 21298 ManagedScalingStatusDisabled, 21299 } 21300} 21301 21302const ( 21303 // ManagedTerminationProtectionEnabled is a ManagedTerminationProtection enum value 21304 ManagedTerminationProtectionEnabled = "ENABLED" 21305 21306 // ManagedTerminationProtectionDisabled is a ManagedTerminationProtection enum value 21307 ManagedTerminationProtectionDisabled = "DISABLED" 21308) 21309 21310// ManagedTerminationProtection_Values returns all elements of the ManagedTerminationProtection enum 21311func ManagedTerminationProtection_Values() []string { 21312 return []string{ 21313 ManagedTerminationProtectionEnabled, 21314 ManagedTerminationProtectionDisabled, 21315 } 21316} 21317 21318const ( 21319 // NetworkModeBridge is a NetworkMode enum value 21320 NetworkModeBridge = "bridge" 21321 21322 // NetworkModeHost is a NetworkMode enum value 21323 NetworkModeHost = "host" 21324 21325 // NetworkModeAwsvpc is a NetworkMode enum value 21326 NetworkModeAwsvpc = "awsvpc" 21327 21328 // NetworkModeNone is a NetworkMode enum value 21329 NetworkModeNone = "none" 21330) 21331 21332// NetworkMode_Values returns all elements of the NetworkMode enum 21333func NetworkMode_Values() []string { 21334 return []string{ 21335 NetworkModeBridge, 21336 NetworkModeHost, 21337 NetworkModeAwsvpc, 21338 NetworkModeNone, 21339 } 21340} 21341 21342const ( 21343 // PidModeHost is a PidMode enum value 21344 PidModeHost = "host" 21345 21346 // PidModeTask is a PidMode enum value 21347 PidModeTask = "task" 21348) 21349 21350// PidMode_Values returns all elements of the PidMode enum 21351func PidMode_Values() []string { 21352 return []string{ 21353 PidModeHost, 21354 PidModeTask, 21355 } 21356} 21357 21358const ( 21359 // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value 21360 PlacementConstraintTypeDistinctInstance = "distinctInstance" 21361 21362 // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value 21363 PlacementConstraintTypeMemberOf = "memberOf" 21364) 21365 21366// PlacementConstraintType_Values returns all elements of the PlacementConstraintType enum 21367func PlacementConstraintType_Values() []string { 21368 return []string{ 21369 PlacementConstraintTypeDistinctInstance, 21370 PlacementConstraintTypeMemberOf, 21371 } 21372} 21373 21374const ( 21375 // PlacementStrategyTypeRandom is a PlacementStrategyType enum value 21376 PlacementStrategyTypeRandom = "random" 21377 21378 // PlacementStrategyTypeSpread is a PlacementStrategyType enum value 21379 PlacementStrategyTypeSpread = "spread" 21380 21381 // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value 21382 PlacementStrategyTypeBinpack = "binpack" 21383) 21384 21385// PlacementStrategyType_Values returns all elements of the PlacementStrategyType enum 21386func PlacementStrategyType_Values() []string { 21387 return []string{ 21388 PlacementStrategyTypeRandom, 21389 PlacementStrategyTypeSpread, 21390 PlacementStrategyTypeBinpack, 21391 } 21392} 21393 21394const ( 21395 // PlatformDeviceTypeGpu is a PlatformDeviceType enum value 21396 PlatformDeviceTypeGpu = "GPU" 21397) 21398 21399// PlatformDeviceType_Values returns all elements of the PlatformDeviceType enum 21400func PlatformDeviceType_Values() []string { 21401 return []string{ 21402 PlatformDeviceTypeGpu, 21403 } 21404} 21405 21406const ( 21407 // PropagateTagsTaskDefinition is a PropagateTags enum value 21408 PropagateTagsTaskDefinition = "TASK_DEFINITION" 21409 21410 // PropagateTagsService is a PropagateTags enum value 21411 PropagateTagsService = "SERVICE" 21412) 21413 21414// PropagateTags_Values returns all elements of the PropagateTags enum 21415func PropagateTags_Values() []string { 21416 return []string{ 21417 PropagateTagsTaskDefinition, 21418 PropagateTagsService, 21419 } 21420} 21421 21422const ( 21423 // ProxyConfigurationTypeAppmesh is a ProxyConfigurationType enum value 21424 ProxyConfigurationTypeAppmesh = "APPMESH" 21425) 21426 21427// ProxyConfigurationType_Values returns all elements of the ProxyConfigurationType enum 21428func ProxyConfigurationType_Values() []string { 21429 return []string{ 21430 ProxyConfigurationTypeAppmesh, 21431 } 21432} 21433 21434const ( 21435 // ResourceTypeGpu is a ResourceType enum value 21436 ResourceTypeGpu = "GPU" 21437 21438 // ResourceTypeInferenceAccelerator is a ResourceType enum value 21439 ResourceTypeInferenceAccelerator = "InferenceAccelerator" 21440) 21441 21442// ResourceType_Values returns all elements of the ResourceType enum 21443func ResourceType_Values() []string { 21444 return []string{ 21445 ResourceTypeGpu, 21446 ResourceTypeInferenceAccelerator, 21447 } 21448} 21449 21450const ( 21451 // ScaleUnitPercent is a ScaleUnit enum value 21452 ScaleUnitPercent = "PERCENT" 21453) 21454 21455// ScaleUnit_Values returns all elements of the ScaleUnit enum 21456func ScaleUnit_Values() []string { 21457 return []string{ 21458 ScaleUnitPercent, 21459 } 21460} 21461 21462const ( 21463 // SchedulingStrategyReplica is a SchedulingStrategy enum value 21464 SchedulingStrategyReplica = "REPLICA" 21465 21466 // SchedulingStrategyDaemon is a SchedulingStrategy enum value 21467 SchedulingStrategyDaemon = "DAEMON" 21468) 21469 21470// SchedulingStrategy_Values returns all elements of the SchedulingStrategy enum 21471func SchedulingStrategy_Values() []string { 21472 return []string{ 21473 SchedulingStrategyReplica, 21474 SchedulingStrategyDaemon, 21475 } 21476} 21477 21478const ( 21479 // ScopeTask is a Scope enum value 21480 ScopeTask = "task" 21481 21482 // ScopeShared is a Scope enum value 21483 ScopeShared = "shared" 21484) 21485 21486// Scope_Values returns all elements of the Scope enum 21487func Scope_Values() []string { 21488 return []string{ 21489 ScopeTask, 21490 ScopeShared, 21491 } 21492} 21493 21494const ( 21495 // ServiceFieldTags is a ServiceField enum value 21496 ServiceFieldTags = "TAGS" 21497) 21498 21499// ServiceField_Values returns all elements of the ServiceField enum 21500func ServiceField_Values() []string { 21501 return []string{ 21502 ServiceFieldTags, 21503 } 21504} 21505 21506const ( 21507 // SettingNameServiceLongArnFormat is a SettingName enum value 21508 SettingNameServiceLongArnFormat = "serviceLongArnFormat" 21509 21510 // SettingNameTaskLongArnFormat is a SettingName enum value 21511 SettingNameTaskLongArnFormat = "taskLongArnFormat" 21512 21513 // SettingNameContainerInstanceLongArnFormat is a SettingName enum value 21514 SettingNameContainerInstanceLongArnFormat = "containerInstanceLongArnFormat" 21515 21516 // SettingNameAwsvpcTrunking is a SettingName enum value 21517 SettingNameAwsvpcTrunking = "awsvpcTrunking" 21518 21519 // SettingNameContainerInsights is a SettingName enum value 21520 SettingNameContainerInsights = "containerInsights" 21521) 21522 21523// SettingName_Values returns all elements of the SettingName enum 21524func SettingName_Values() []string { 21525 return []string{ 21526 SettingNameServiceLongArnFormat, 21527 SettingNameTaskLongArnFormat, 21528 SettingNameContainerInstanceLongArnFormat, 21529 SettingNameAwsvpcTrunking, 21530 SettingNameContainerInsights, 21531 } 21532} 21533 21534const ( 21535 // SortOrderAsc is a SortOrder enum value 21536 SortOrderAsc = "ASC" 21537 21538 // SortOrderDesc is a SortOrder enum value 21539 SortOrderDesc = "DESC" 21540) 21541 21542// SortOrder_Values returns all elements of the SortOrder enum 21543func SortOrder_Values() []string { 21544 return []string{ 21545 SortOrderAsc, 21546 SortOrderDesc, 21547 } 21548} 21549 21550const ( 21551 // StabilityStatusSteadyState is a StabilityStatus enum value 21552 StabilityStatusSteadyState = "STEADY_STATE" 21553 21554 // StabilityStatusStabilizing is a StabilityStatus enum value 21555 StabilityStatusStabilizing = "STABILIZING" 21556) 21557 21558// StabilityStatus_Values returns all elements of the StabilityStatus enum 21559func StabilityStatus_Values() []string { 21560 return []string{ 21561 StabilityStatusSteadyState, 21562 StabilityStatusStabilizing, 21563 } 21564} 21565 21566const ( 21567 // TargetTypeContainerInstance is a TargetType enum value 21568 TargetTypeContainerInstance = "container-instance" 21569) 21570 21571// TargetType_Values returns all elements of the TargetType enum 21572func TargetType_Values() []string { 21573 return []string{ 21574 TargetTypeContainerInstance, 21575 } 21576} 21577 21578const ( 21579 // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value 21580 TaskDefinitionFamilyStatusActive = "ACTIVE" 21581 21582 // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value 21583 TaskDefinitionFamilyStatusInactive = "INACTIVE" 21584 21585 // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value 21586 TaskDefinitionFamilyStatusAll = "ALL" 21587) 21588 21589// TaskDefinitionFamilyStatus_Values returns all elements of the TaskDefinitionFamilyStatus enum 21590func TaskDefinitionFamilyStatus_Values() []string { 21591 return []string{ 21592 TaskDefinitionFamilyStatusActive, 21593 TaskDefinitionFamilyStatusInactive, 21594 TaskDefinitionFamilyStatusAll, 21595 } 21596} 21597 21598const ( 21599 // TaskDefinitionFieldTags is a TaskDefinitionField enum value 21600 TaskDefinitionFieldTags = "TAGS" 21601) 21602 21603// TaskDefinitionField_Values returns all elements of the TaskDefinitionField enum 21604func TaskDefinitionField_Values() []string { 21605 return []string{ 21606 TaskDefinitionFieldTags, 21607 } 21608} 21609 21610const ( 21611 // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value 21612 TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf" 21613) 21614 21615// TaskDefinitionPlacementConstraintType_Values returns all elements of the TaskDefinitionPlacementConstraintType enum 21616func TaskDefinitionPlacementConstraintType_Values() []string { 21617 return []string{ 21618 TaskDefinitionPlacementConstraintTypeMemberOf, 21619 } 21620} 21621 21622const ( 21623 // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value 21624 TaskDefinitionStatusActive = "ACTIVE" 21625 21626 // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value 21627 TaskDefinitionStatusInactive = "INACTIVE" 21628) 21629 21630// TaskDefinitionStatus_Values returns all elements of the TaskDefinitionStatus enum 21631func TaskDefinitionStatus_Values() []string { 21632 return []string{ 21633 TaskDefinitionStatusActive, 21634 TaskDefinitionStatusInactive, 21635 } 21636} 21637 21638const ( 21639 // TaskFieldTags is a TaskField enum value 21640 TaskFieldTags = "TAGS" 21641) 21642 21643// TaskField_Values returns all elements of the TaskField enum 21644func TaskField_Values() []string { 21645 return []string{ 21646 TaskFieldTags, 21647 } 21648} 21649 21650const ( 21651 // TaskSetFieldTags is a TaskSetField enum value 21652 TaskSetFieldTags = "TAGS" 21653) 21654 21655// TaskSetField_Values returns all elements of the TaskSetField enum 21656func TaskSetField_Values() []string { 21657 return []string{ 21658 TaskSetFieldTags, 21659 } 21660} 21661 21662const ( 21663 // TaskStopCodeTaskFailedToStart is a TaskStopCode enum value 21664 TaskStopCodeTaskFailedToStart = "TaskFailedToStart" 21665 21666 // TaskStopCodeEssentialContainerExited is a TaskStopCode enum value 21667 TaskStopCodeEssentialContainerExited = "EssentialContainerExited" 21668 21669 // TaskStopCodeUserInitiated is a TaskStopCode enum value 21670 TaskStopCodeUserInitiated = "UserInitiated" 21671) 21672 21673// TaskStopCode_Values returns all elements of the TaskStopCode enum 21674func TaskStopCode_Values() []string { 21675 return []string{ 21676 TaskStopCodeTaskFailedToStart, 21677 TaskStopCodeEssentialContainerExited, 21678 TaskStopCodeUserInitiated, 21679 } 21680} 21681 21682const ( 21683 // TransportProtocolTcp is a TransportProtocol enum value 21684 TransportProtocolTcp = "tcp" 21685 21686 // TransportProtocolUdp is a TransportProtocol enum value 21687 TransportProtocolUdp = "udp" 21688) 21689 21690// TransportProtocol_Values returns all elements of the TransportProtocol enum 21691func TransportProtocol_Values() []string { 21692 return []string{ 21693 TransportProtocolTcp, 21694 TransportProtocolUdp, 21695 } 21696} 21697 21698const ( 21699 // UlimitNameCore is a UlimitName enum value 21700 UlimitNameCore = "core" 21701 21702 // UlimitNameCpu is a UlimitName enum value 21703 UlimitNameCpu = "cpu" 21704 21705 // UlimitNameData is a UlimitName enum value 21706 UlimitNameData = "data" 21707 21708 // UlimitNameFsize is a UlimitName enum value 21709 UlimitNameFsize = "fsize" 21710 21711 // UlimitNameLocks is a UlimitName enum value 21712 UlimitNameLocks = "locks" 21713 21714 // UlimitNameMemlock is a UlimitName enum value 21715 UlimitNameMemlock = "memlock" 21716 21717 // UlimitNameMsgqueue is a UlimitName enum value 21718 UlimitNameMsgqueue = "msgqueue" 21719 21720 // UlimitNameNice is a UlimitName enum value 21721 UlimitNameNice = "nice" 21722 21723 // UlimitNameNofile is a UlimitName enum value 21724 UlimitNameNofile = "nofile" 21725 21726 // UlimitNameNproc is a UlimitName enum value 21727 UlimitNameNproc = "nproc" 21728 21729 // UlimitNameRss is a UlimitName enum value 21730 UlimitNameRss = "rss" 21731 21732 // UlimitNameRtprio is a UlimitName enum value 21733 UlimitNameRtprio = "rtprio" 21734 21735 // UlimitNameRttime is a UlimitName enum value 21736 UlimitNameRttime = "rttime" 21737 21738 // UlimitNameSigpending is a UlimitName enum value 21739 UlimitNameSigpending = "sigpending" 21740 21741 // UlimitNameStack is a UlimitName enum value 21742 UlimitNameStack = "stack" 21743) 21744 21745// UlimitName_Values returns all elements of the UlimitName enum 21746func UlimitName_Values() []string { 21747 return []string{ 21748 UlimitNameCore, 21749 UlimitNameCpu, 21750 UlimitNameData, 21751 UlimitNameFsize, 21752 UlimitNameLocks, 21753 UlimitNameMemlock, 21754 UlimitNameMsgqueue, 21755 UlimitNameNice, 21756 UlimitNameNofile, 21757 UlimitNameNproc, 21758 UlimitNameRss, 21759 UlimitNameRtprio, 21760 UlimitNameRttime, 21761 UlimitNameSigpending, 21762 UlimitNameStack, 21763 } 21764} 21765