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 opUpdateClusterSettings = "UpdateClusterSettings" 4851 4852// UpdateClusterSettingsRequest generates a "aws/request.Request" representing the 4853// client's request for the UpdateClusterSettings 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 UpdateClusterSettings for more information on using the UpdateClusterSettings 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 UpdateClusterSettingsRequest method. 4868// req, resp := client.UpdateClusterSettingsRequest(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/UpdateClusterSettings 4876func (c *ECS) UpdateClusterSettingsRequest(input *UpdateClusterSettingsInput) (req *request.Request, output *UpdateClusterSettingsOutput) { 4877 op := &request.Operation{ 4878 Name: opUpdateClusterSettings, 4879 HTTPMethod: "POST", 4880 HTTPPath: "/", 4881 } 4882 4883 if input == nil { 4884 input = &UpdateClusterSettingsInput{} 4885 } 4886 4887 output = &UpdateClusterSettingsOutput{} 4888 req = c.newRequest(op, input, output) 4889 return 4890} 4891 4892// UpdateClusterSettings API operation for Amazon EC2 Container Service. 4893// 4894// Modifies the settings to use for a cluster. 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 UpdateClusterSettings 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// * ClusterNotFoundException 4913// The specified cluster could not be found. You can view your available clusters 4914// with ListClusters. Amazon ECS clusters are Region-specific. 4915// 4916// * InvalidParameterException 4917// The specified parameter is invalid. Review the available parameters for the 4918// API request. 4919// 4920// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4921func (c *ECS) UpdateClusterSettings(input *UpdateClusterSettingsInput) (*UpdateClusterSettingsOutput, error) { 4922 req, out := c.UpdateClusterSettingsRequest(input) 4923 return out, req.Send() 4924} 4925 4926// UpdateClusterSettingsWithContext is the same as UpdateClusterSettings with the addition of 4927// the ability to pass a context and additional request options. 4928// 4929// See UpdateClusterSettings for details on how to use this API operation. 4930// 4931// The context must be non-nil and will be used for request cancellation. If 4932// the context is nil a panic will occur. In the future the SDK may create 4933// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4934// for more information on using Contexts. 4935func (c *ECS) UpdateClusterSettingsWithContext(ctx aws.Context, input *UpdateClusterSettingsInput, opts ...request.Option) (*UpdateClusterSettingsOutput, error) { 4936 req, out := c.UpdateClusterSettingsRequest(input) 4937 req.SetContext(ctx) 4938 req.ApplyOptions(opts...) 4939 return out, req.Send() 4940} 4941 4942const opUpdateContainerAgent = "UpdateContainerAgent" 4943 4944// UpdateContainerAgentRequest generates a "aws/request.Request" representing the 4945// client's request for the UpdateContainerAgent operation. The "output" return 4946// value will be populated with the request's response once the request completes 4947// successfully. 4948// 4949// Use "Send" method on the returned Request to send the API call to the service. 4950// the "output" return value is not valid until after Send returns without error. 4951// 4952// See UpdateContainerAgent for more information on using the UpdateContainerAgent 4953// API call, and error handling. 4954// 4955// This method is useful when you want to inject custom logic or configuration 4956// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4957// 4958// 4959// // Example sending a request using the UpdateContainerAgentRequest method. 4960// req, resp := client.UpdateContainerAgentRequest(params) 4961// 4962// err := req.Send() 4963// if err == nil { // resp is now filled 4964// fmt.Println(resp) 4965// } 4966// 4967// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4968func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { 4969 op := &request.Operation{ 4970 Name: opUpdateContainerAgent, 4971 HTTPMethod: "POST", 4972 HTTPPath: "/", 4973 } 4974 4975 if input == nil { 4976 input = &UpdateContainerAgentInput{} 4977 } 4978 4979 output = &UpdateContainerAgentOutput{} 4980 req = c.newRequest(op, input, output) 4981 return 4982} 4983 4984// UpdateContainerAgent API operation for Amazon EC2 Container Service. 4985// 4986// Updates the Amazon ECS container agent on a specified container instance. 4987// Updating the Amazon ECS container agent does not interrupt running tasks 4988// or services on the container instance. The process for updating the agent 4989// differs depending on whether your container instance was launched with the 4990// Amazon ECS-optimized AMI or another operating system. 4991// 4992// UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux 4993// with the ecs-init service installed and running. For help updating the Amazon 4994// ECS container agent on other operating systems, see Manually Updating the 4995// Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) 4996// in the Amazon Elastic Container Service Developer Guide. 4997// 4998// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4999// with awserr.Error's Code and Message methods to get detailed information about 5000// the error. 5001// 5002// See the AWS API reference guide for Amazon EC2 Container Service's 5003// API operation UpdateContainerAgent for usage and error information. 5004// 5005// Returned Error Types: 5006// * ServerException 5007// These errors are usually caused by a server issue. 5008// 5009// * ClientException 5010// These errors are usually caused by a client action, such as using an action 5011// or resource on behalf of a user that doesn't have permissions to use the 5012// action or resource, or specifying an identifier that is not valid. 5013// 5014// * InvalidParameterException 5015// The specified parameter is invalid. Review the available parameters for the 5016// API request. 5017// 5018// * ClusterNotFoundException 5019// The specified cluster could not be found. You can view your available clusters 5020// with ListClusters. Amazon ECS clusters are Region-specific. 5021// 5022// * UpdateInProgressException 5023// There is already a current Amazon ECS container agent update in progress 5024// on the specified container instance. If the container agent becomes disconnected 5025// while it is in a transitional stage, such as PENDING or STAGING, the update 5026// process can get stuck in that state. However, when the agent reconnects, 5027// it resumes where it stopped previously. 5028// 5029// * NoUpdateAvailableException 5030// There is no update available for this Amazon ECS container agent. This could 5031// be because the agent is already running the latest version, or it is so old 5032// that there is no update path to the current version. 5033// 5034// * MissingVersionException 5035// Amazon ECS is unable to determine the current version of the Amazon ECS container 5036// agent on the container instance and does not have enough information to proceed 5037// with an update. This could be because the agent running on the container 5038// instance is an older or custom version that does not use our version information. 5039// 5040// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 5041func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { 5042 req, out := c.UpdateContainerAgentRequest(input) 5043 return out, req.Send() 5044} 5045 5046// UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of 5047// the ability to pass a context and additional request options. 5048// 5049// See UpdateContainerAgent for details on how to use this API operation. 5050// 5051// The context must be non-nil and will be used for request cancellation. If 5052// the context is nil a panic will occur. In the future the SDK may create 5053// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5054// for more information on using Contexts. 5055func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) { 5056 req, out := c.UpdateContainerAgentRequest(input) 5057 req.SetContext(ctx) 5058 req.ApplyOptions(opts...) 5059 return out, req.Send() 5060} 5061 5062const opUpdateContainerInstancesState = "UpdateContainerInstancesState" 5063 5064// UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the 5065// client's request for the UpdateContainerInstancesState operation. The "output" return 5066// value will be populated with the request's response once the request completes 5067// successfully. 5068// 5069// Use "Send" method on the returned Request to send the API call to the service. 5070// the "output" return value is not valid until after Send returns without error. 5071// 5072// See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState 5073// API call, and error handling. 5074// 5075// This method is useful when you want to inject custom logic or configuration 5076// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5077// 5078// 5079// // Example sending a request using the UpdateContainerInstancesStateRequest method. 5080// req, resp := client.UpdateContainerInstancesStateRequest(params) 5081// 5082// err := req.Send() 5083// if err == nil { // resp is now filled 5084// fmt.Println(resp) 5085// } 5086// 5087// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5088func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) { 5089 op := &request.Operation{ 5090 Name: opUpdateContainerInstancesState, 5091 HTTPMethod: "POST", 5092 HTTPPath: "/", 5093 } 5094 5095 if input == nil { 5096 input = &UpdateContainerInstancesStateInput{} 5097 } 5098 5099 output = &UpdateContainerInstancesStateOutput{} 5100 req = c.newRequest(op, input, output) 5101 return 5102} 5103 5104// UpdateContainerInstancesState API operation for Amazon EC2 Container Service. 5105// 5106// Modifies the status of an Amazon ECS container instance. 5107// 5108// Once a container instance has reached an ACTIVE state, you can change the 5109// status of a container instance to DRAINING to manually remove an instance 5110// from a cluster, for example to perform system updates, update the Docker 5111// daemon, or scale down the cluster size. 5112// 5113// A container instance cannot be changed to DRAINING until it has reached an 5114// ACTIVE status. If the instance is in any other status, an error will be received. 5115// 5116// When you set a container instance to DRAINING, Amazon ECS prevents new tasks 5117// from being scheduled for placement on the container instance and replacement 5118// service tasks are started on other container instances in the cluster if 5119// the resources are available. Service tasks on the container instance that 5120// are in the PENDING state are stopped immediately. 5121// 5122// Service tasks on the container instance that are in the RUNNING state are 5123// stopped and replaced according to the service's deployment configuration 5124// parameters, minimumHealthyPercent and maximumPercent. You can change the 5125// deployment configuration of your service using UpdateService. 5126// 5127// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5128// temporarily during task replacement. For example, desiredCount is four 5129// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5130// before starting two new tasks. If the minimum is 100%, the service scheduler 5131// can't remove existing tasks until the replacement tasks are considered 5132// healthy. Tasks for services that do not use a load balancer are considered 5133// healthy if they are in the RUNNING state. Tasks for services that use 5134// a load balancer are considered healthy if they are in the RUNNING state 5135// and the container instance they are hosted on is reported as healthy by 5136// the load balancer. 5137// 5138// * The maximumPercent parameter represents an upper limit on the number 5139// of running tasks during task replacement, which enables you to define 5140// the replacement batch size. For example, if desiredCount is four tasks, 5141// a maximum of 200% starts four new tasks before stopping the four tasks 5142// to be drained, provided that the cluster resources required to do this 5143// are available. If the maximum is 100%, then replacement tasks can't start 5144// until the draining tasks have stopped. 5145// 5146// Any PENDING or RUNNING tasks that do not belong to a service are not affected. 5147// You must wait for them to finish or stop them manually. 5148// 5149// A container instance has completed draining when it has no more RUNNING tasks. 5150// You can verify this using ListTasks. 5151// 5152// When a container instance has been drained, you can set a container instance 5153// to ACTIVE status and once it has reached that status the Amazon ECS scheduler 5154// can begin scheduling tasks on the instance again. 5155// 5156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5157// with awserr.Error's Code and Message methods to get detailed information about 5158// the error. 5159// 5160// See the AWS API reference guide for Amazon EC2 Container Service's 5161// API operation UpdateContainerInstancesState for usage and error information. 5162// 5163// Returned Error Types: 5164// * ServerException 5165// These errors are usually caused by a server issue. 5166// 5167// * ClientException 5168// These errors are usually caused by a client action, such as using an action 5169// or resource on behalf of a user that doesn't have permissions to use the 5170// action or resource, or specifying an identifier that is not valid. 5171// 5172// * InvalidParameterException 5173// The specified parameter is invalid. Review the available parameters for the 5174// API request. 5175// 5176// * ClusterNotFoundException 5177// The specified cluster could not be found. You can view your available clusters 5178// with ListClusters. Amazon ECS clusters are Region-specific. 5179// 5180// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5181func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) { 5182 req, out := c.UpdateContainerInstancesStateRequest(input) 5183 return out, req.Send() 5184} 5185 5186// UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of 5187// the ability to pass a context and additional request options. 5188// 5189// See UpdateContainerInstancesState for details on how to use this API operation. 5190// 5191// The context must be non-nil and will be used for request cancellation. If 5192// the context is nil a panic will occur. In the future the SDK may create 5193// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5194// for more information on using Contexts. 5195func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) { 5196 req, out := c.UpdateContainerInstancesStateRequest(input) 5197 req.SetContext(ctx) 5198 req.ApplyOptions(opts...) 5199 return out, req.Send() 5200} 5201 5202const opUpdateService = "UpdateService" 5203 5204// UpdateServiceRequest generates a "aws/request.Request" representing the 5205// client's request for the UpdateService operation. The "output" return 5206// value will be populated with the request's response once the request completes 5207// successfully. 5208// 5209// Use "Send" method on the returned Request to send the API call to the service. 5210// the "output" return value is not valid until after Send returns without error. 5211// 5212// See UpdateService for more information on using the UpdateService 5213// API call, and error handling. 5214// 5215// This method is useful when you want to inject custom logic or configuration 5216// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5217// 5218// 5219// // Example sending a request using the UpdateServiceRequest method. 5220// req, resp := client.UpdateServiceRequest(params) 5221// 5222// err := req.Send() 5223// if err == nil { // resp is now filled 5224// fmt.Println(resp) 5225// } 5226// 5227// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5228func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 5229 op := &request.Operation{ 5230 Name: opUpdateService, 5231 HTTPMethod: "POST", 5232 HTTPPath: "/", 5233 } 5234 5235 if input == nil { 5236 input = &UpdateServiceInput{} 5237 } 5238 5239 output = &UpdateServiceOutput{} 5240 req = c.newRequest(op, input, output) 5241 return 5242} 5243 5244// UpdateService API operation for Amazon EC2 Container Service. 5245// 5246// 5247// Updating the task placement strategies and constraints on an Amazon ECS service 5248// remains in preview and is a Beta Service as defined by and subject to the 5249// Beta Service Participation Service Terms located at https://aws.amazon.com/service-terms 5250// (https://aws.amazon.com/service-terms) ("Beta Terms"). These Beta Terms apply 5251// to your participation in this preview. 5252// 5253// Modifies the parameters of a service. 5254// 5255// For services using the rolling update (ECS) deployment controller, the desired 5256// count, deployment configuration, network configuration, task placement constraints 5257// and strategies, or task definition used can be updated. 5258// 5259// For services using the blue/green (CODE_DEPLOY) deployment controller, only 5260// the desired count, deployment configuration, task placement constraints and 5261// strategies, and health check grace period can be updated using this API. 5262// If the network configuration, platform version, or task definition need to 5263// be updated, a new AWS CodeDeploy deployment should be created. For more information, 5264// see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html) 5265// in the AWS CodeDeploy API Reference. 5266// 5267// For services using an external deployment controller, you can update only 5268// the desired count, task placement constraints and strategies, and health 5269// check grace period using this API. If the launch type, load balancer, network 5270// configuration, platform version, or task definition need to be updated, you 5271// should create a new task set. For more information, see CreateTaskSet. 5272// 5273// You can add to or subtract from the number of instantiations of a task definition 5274// in a service by specifying the cluster that the service is running in and 5275// a new desiredCount parameter. 5276// 5277// If you have updated the Docker image of your application, you can create 5278// a new task definition with that image and deploy it to your service. The 5279// service scheduler uses the minimum healthy percent and maximum percent parameters 5280// (in the service's deployment configuration) to determine the deployment strategy. 5281// 5282// If your updated Docker image uses the same tag as what is in the existing 5283// task definition for your service (for example, my_image:latest), you do not 5284// need to create a new revision of your task definition. You can update the 5285// service using the forceNewDeployment option. The new tasks launched by the 5286// deployment pull the current image/tag combination from your repository when 5287// they start. 5288// 5289// You can also update the deployment configuration of a service. When a deployment 5290// is triggered by updating the task definition of a service, the service scheduler 5291// uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, 5292// to determine the deployment strategy. 5293// 5294// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5295// temporarily during a deployment. For example, if desiredCount is four 5296// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5297// before starting two new tasks. Tasks for services that do not use a load 5298// balancer are considered healthy if they are in the RUNNING state. Tasks 5299// for services that use a load balancer are considered healthy if they are 5300// in the RUNNING state and the container instance they are hosted on is 5301// reported as healthy by the load balancer. 5302// 5303// * The maximumPercent parameter represents an upper limit on the number 5304// of running tasks during a deployment, which enables you to define the 5305// deployment batch size. For example, if desiredCount is four tasks, a maximum 5306// of 200% starts four new tasks before stopping the four older tasks (provided 5307// that the cluster resources required to do this are available). 5308// 5309// When UpdateService stops a task during a deployment, the equivalent of docker 5310// stop is issued to the containers running in the task. This results in a SIGTERM 5311// and a 30-second timeout, after which SIGKILL is sent and the containers are 5312// forcibly stopped. If the container handles the SIGTERM gracefully and exits 5313// within 30 seconds from receiving it, no SIGKILL is sent. 5314// 5315// When the service scheduler launches new tasks, it determines task placement 5316// in your cluster with the following logic: 5317// 5318// * Determine which of the container instances in your cluster can support 5319// your service's task definition (for example, they have the required CPU, 5320// memory, ports, and container instance attributes). 5321// 5322// * By default, the service scheduler attempts to balance tasks across Availability 5323// Zones in this manner (although you can choose a different placement strategy): 5324// Sort the valid container instances by the fewest number of running tasks 5325// for this service in the same Availability Zone as the instance. For example, 5326// if zone A has one running service task and zones B and C each have zero, 5327// valid container instances in either zone B or C are considered optimal 5328// for placement. Place the new service task on a valid container instance 5329// in an optimal Availability Zone (based on the previous steps), favoring 5330// container instances with the fewest number of running tasks for this service. 5331// 5332// When the service scheduler stops running tasks, it attempts to maintain balance 5333// across the Availability Zones in your cluster using the following logic: 5334// 5335// * Sort the container instances by the largest number of running tasks 5336// for this service in the same Availability Zone as the instance. For example, 5337// if zone A has one running service task and zones B and C each have two, 5338// container instances in either zone B or C are considered optimal for termination. 5339// 5340// * Stop the task on a container instance in an optimal Availability Zone 5341// (based on the previous steps), favoring container instances with the largest 5342// number of running tasks for this service. 5343// 5344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5345// with awserr.Error's Code and Message methods to get detailed information about 5346// the error. 5347// 5348// See the AWS API reference guide for Amazon EC2 Container Service's 5349// API operation UpdateService for usage and error information. 5350// 5351// Returned Error Types: 5352// * ServerException 5353// These errors are usually caused by a server issue. 5354// 5355// * ClientException 5356// These errors are usually caused by a client action, such as using an action 5357// or resource on behalf of a user that doesn't have permissions to use the 5358// action or resource, or specifying an identifier that is not valid. 5359// 5360// * InvalidParameterException 5361// The specified parameter is invalid. Review the available parameters for the 5362// API request. 5363// 5364// * ClusterNotFoundException 5365// The specified cluster could not be found. You can view your available clusters 5366// with ListClusters. Amazon ECS clusters are Region-specific. 5367// 5368// * ServiceNotFoundException 5369// The specified service could not be found. You can view your available services 5370// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5371// 5372// * ServiceNotActiveException 5373// The specified service is not active. You can't update a service that is inactive. 5374// If you have previously deleted a service, you can re-create it with CreateService. 5375// 5376// * PlatformUnknownException 5377// The specified platform version does not exist. 5378// 5379// * PlatformTaskDefinitionIncompatibilityException 5380// The specified platform version does not satisfy the task definition's required 5381// capabilities. 5382// 5383// * AccessDeniedException 5384// You do not have authorization to perform the requested action. 5385// 5386// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5387func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 5388 req, out := c.UpdateServiceRequest(input) 5389 return out, req.Send() 5390} 5391 5392// UpdateServiceWithContext is the same as UpdateService with the addition of 5393// the ability to pass a context and additional request options. 5394// 5395// See UpdateService for details on how to use this API operation. 5396// 5397// The context must be non-nil and will be used for request cancellation. If 5398// the context is nil a panic will occur. In the future the SDK may create 5399// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5400// for more information on using Contexts. 5401func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 5402 req, out := c.UpdateServiceRequest(input) 5403 req.SetContext(ctx) 5404 req.ApplyOptions(opts...) 5405 return out, req.Send() 5406} 5407 5408const opUpdateServicePrimaryTaskSet = "UpdateServicePrimaryTaskSet" 5409 5410// UpdateServicePrimaryTaskSetRequest generates a "aws/request.Request" representing the 5411// client's request for the UpdateServicePrimaryTaskSet operation. The "output" return 5412// value will be populated with the request's response once the request completes 5413// successfully. 5414// 5415// Use "Send" method on the returned Request to send the API call to the service. 5416// the "output" return value is not valid until after Send returns without error. 5417// 5418// See UpdateServicePrimaryTaskSet for more information on using the UpdateServicePrimaryTaskSet 5419// API call, and error handling. 5420// 5421// This method is useful when you want to inject custom logic or configuration 5422// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5423// 5424// 5425// // Example sending a request using the UpdateServicePrimaryTaskSetRequest method. 5426// req, resp := client.UpdateServicePrimaryTaskSetRequest(params) 5427// 5428// err := req.Send() 5429// if err == nil { // resp is now filled 5430// fmt.Println(resp) 5431// } 5432// 5433// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5434func (c *ECS) UpdateServicePrimaryTaskSetRequest(input *UpdateServicePrimaryTaskSetInput) (req *request.Request, output *UpdateServicePrimaryTaskSetOutput) { 5435 op := &request.Operation{ 5436 Name: opUpdateServicePrimaryTaskSet, 5437 HTTPMethod: "POST", 5438 HTTPPath: "/", 5439 } 5440 5441 if input == nil { 5442 input = &UpdateServicePrimaryTaskSetInput{} 5443 } 5444 5445 output = &UpdateServicePrimaryTaskSetOutput{} 5446 req = c.newRequest(op, input, output) 5447 return 5448} 5449 5450// UpdateServicePrimaryTaskSet API operation for Amazon EC2 Container Service. 5451// 5452// Modifies which task set in a service is the primary task set. Any parameters 5453// that are updated on the primary task set in a service will transition to 5454// the service. This is used when a service uses the EXTERNAL deployment controller 5455// type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5456// in the Amazon Elastic Container Service Developer Guide. 5457// 5458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5459// with awserr.Error's Code and Message methods to get detailed information about 5460// the error. 5461// 5462// See the AWS API reference guide for Amazon EC2 Container Service's 5463// API operation UpdateServicePrimaryTaskSet for usage and error information. 5464// 5465// Returned Error Types: 5466// * ServerException 5467// These errors are usually caused by a server issue. 5468// 5469// * ClientException 5470// These errors are usually caused by a client action, such as using an action 5471// or resource on behalf of a user that doesn't have permissions to use the 5472// action or resource, or specifying an identifier that is not valid. 5473// 5474// * InvalidParameterException 5475// The specified parameter is invalid. Review the available parameters for the 5476// API request. 5477// 5478// * ClusterNotFoundException 5479// The specified cluster could not be found. You can view your available clusters 5480// with ListClusters. Amazon ECS clusters are Region-specific. 5481// 5482// * UnsupportedFeatureException 5483// The specified task is not supported in this Region. 5484// 5485// * ServiceNotFoundException 5486// The specified service could not be found. You can view your available services 5487// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5488// 5489// * ServiceNotActiveException 5490// The specified service is not active. You can't update a service that is inactive. 5491// If you have previously deleted a service, you can re-create it with CreateService. 5492// 5493// * TaskSetNotFoundException 5494// The specified task set could not be found. You can view your available task 5495// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5496// and Region. 5497// 5498// * AccessDeniedException 5499// You do not have authorization to perform the requested action. 5500// 5501// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5502func (c *ECS) UpdateServicePrimaryTaskSet(input *UpdateServicePrimaryTaskSetInput) (*UpdateServicePrimaryTaskSetOutput, error) { 5503 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5504 return out, req.Send() 5505} 5506 5507// UpdateServicePrimaryTaskSetWithContext is the same as UpdateServicePrimaryTaskSet with the addition of 5508// the ability to pass a context and additional request options. 5509// 5510// See UpdateServicePrimaryTaskSet for details on how to use this API operation. 5511// 5512// The context must be non-nil and will be used for request cancellation. If 5513// the context is nil a panic will occur. In the future the SDK may create 5514// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5515// for more information on using Contexts. 5516func (c *ECS) UpdateServicePrimaryTaskSetWithContext(ctx aws.Context, input *UpdateServicePrimaryTaskSetInput, opts ...request.Option) (*UpdateServicePrimaryTaskSetOutput, error) { 5517 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5518 req.SetContext(ctx) 5519 req.ApplyOptions(opts...) 5520 return out, req.Send() 5521} 5522 5523const opUpdateTaskSet = "UpdateTaskSet" 5524 5525// UpdateTaskSetRequest generates a "aws/request.Request" representing the 5526// client's request for the UpdateTaskSet operation. The "output" return 5527// value will be populated with the request's response once the request completes 5528// successfully. 5529// 5530// Use "Send" method on the returned Request to send the API call to the service. 5531// the "output" return value is not valid until after Send returns without error. 5532// 5533// See UpdateTaskSet for more information on using the UpdateTaskSet 5534// API call, and error handling. 5535// 5536// This method is useful when you want to inject custom logic or configuration 5537// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5538// 5539// 5540// // Example sending a request using the UpdateTaskSetRequest method. 5541// req, resp := client.UpdateTaskSetRequest(params) 5542// 5543// err := req.Send() 5544// if err == nil { // resp is now filled 5545// fmt.Println(resp) 5546// } 5547// 5548// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5549func (c *ECS) UpdateTaskSetRequest(input *UpdateTaskSetInput) (req *request.Request, output *UpdateTaskSetOutput) { 5550 op := &request.Operation{ 5551 Name: opUpdateTaskSet, 5552 HTTPMethod: "POST", 5553 HTTPPath: "/", 5554 } 5555 5556 if input == nil { 5557 input = &UpdateTaskSetInput{} 5558 } 5559 5560 output = &UpdateTaskSetOutput{} 5561 req = c.newRequest(op, input, output) 5562 return 5563} 5564 5565// UpdateTaskSet API operation for Amazon EC2 Container Service. 5566// 5567// Modifies a task set. This is used when a service uses the EXTERNAL deployment 5568// controller type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5569// in the Amazon Elastic Container Service Developer Guide. 5570// 5571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5572// with awserr.Error's Code and Message methods to get detailed information about 5573// the error. 5574// 5575// See the AWS API reference guide for Amazon EC2 Container Service's 5576// API operation UpdateTaskSet for usage and error information. 5577// 5578// Returned Error Types: 5579// * ServerException 5580// These errors are usually caused by a server issue. 5581// 5582// * ClientException 5583// These errors are usually caused by a client action, such as using an action 5584// or resource on behalf of a user that doesn't have permissions to use the 5585// action or resource, or specifying an identifier that is not valid. 5586// 5587// * InvalidParameterException 5588// The specified parameter is invalid. Review the available parameters for the 5589// API request. 5590// 5591// * ClusterNotFoundException 5592// The specified cluster could not be found. You can view your available clusters 5593// with ListClusters. Amazon ECS clusters are Region-specific. 5594// 5595// * UnsupportedFeatureException 5596// The specified task is not supported in this Region. 5597// 5598// * AccessDeniedException 5599// You do not have authorization to perform the requested action. 5600// 5601// * ServiceNotFoundException 5602// The specified service could not be found. You can view your available services 5603// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5604// 5605// * ServiceNotActiveException 5606// The specified service is not active. You can't update a service that is inactive. 5607// If you have previously deleted a service, you can re-create it with CreateService. 5608// 5609// * TaskSetNotFoundException 5610// The specified task set could not be found. You can view your available task 5611// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5612// and Region. 5613// 5614// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5615func (c *ECS) UpdateTaskSet(input *UpdateTaskSetInput) (*UpdateTaskSetOutput, error) { 5616 req, out := c.UpdateTaskSetRequest(input) 5617 return out, req.Send() 5618} 5619 5620// UpdateTaskSetWithContext is the same as UpdateTaskSet with the addition of 5621// the ability to pass a context and additional request options. 5622// 5623// See UpdateTaskSet for details on how to use this API operation. 5624// 5625// The context must be non-nil and will be used for request cancellation. If 5626// the context is nil a panic will occur. In the future the SDK may create 5627// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5628// for more information on using Contexts. 5629func (c *ECS) UpdateTaskSetWithContext(ctx aws.Context, input *UpdateTaskSetInput, opts ...request.Option) (*UpdateTaskSetOutput, error) { 5630 req, out := c.UpdateTaskSetRequest(input) 5631 req.SetContext(ctx) 5632 req.ApplyOptions(opts...) 5633 return out, req.Send() 5634} 5635 5636// You do not have authorization to perform the requested action. 5637type AccessDeniedException struct { 5638 _ struct{} `type:"structure"` 5639 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5640 5641 Message_ *string `locationName:"message" type:"string"` 5642} 5643 5644// String returns the string representation 5645func (s AccessDeniedException) String() string { 5646 return awsutil.Prettify(s) 5647} 5648 5649// GoString returns the string representation 5650func (s AccessDeniedException) GoString() string { 5651 return s.String() 5652} 5653 5654func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 5655 return &AccessDeniedException{ 5656 RespMetadata: v, 5657 } 5658} 5659 5660// Code returns the exception type name. 5661func (s *AccessDeniedException) Code() string { 5662 return "AccessDeniedException" 5663} 5664 5665// Message returns the exception's message. 5666func (s *AccessDeniedException) Message() string { 5667 if s.Message_ != nil { 5668 return *s.Message_ 5669 } 5670 return "" 5671} 5672 5673// OrigErr always returns nil, satisfies awserr.Error interface. 5674func (s *AccessDeniedException) OrigErr() error { 5675 return nil 5676} 5677 5678func (s *AccessDeniedException) Error() string { 5679 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5680} 5681 5682// Status code returns the HTTP status code for the request's response error. 5683func (s *AccessDeniedException) StatusCode() int { 5684 return s.RespMetadata.StatusCode 5685} 5686 5687// RequestID returns the service's response RequestID for request. 5688func (s *AccessDeniedException) RequestID() string { 5689 return s.RespMetadata.RequestID 5690} 5691 5692// An object representing a container instance or task attachment. 5693type Attachment struct { 5694 _ struct{} `type:"structure"` 5695 5696 // Details of the attachment. For elastic network interfaces, this includes 5697 // the network interface ID, the MAC address, the subnet ID, and the private 5698 // IPv4 address. 5699 Details []*KeyValuePair `locationName:"details" type:"list"` 5700 5701 // The unique identifier for the attachment. 5702 Id *string `locationName:"id" type:"string"` 5703 5704 // The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, 5705 // ATTACHED, DETACHING, DETACHED, and DELETED. 5706 Status *string `locationName:"status" type:"string"` 5707 5708 // The type of the attachment, such as ElasticNetworkInterface. 5709 Type *string `locationName:"type" type:"string"` 5710} 5711 5712// String returns the string representation 5713func (s Attachment) String() string { 5714 return awsutil.Prettify(s) 5715} 5716 5717// GoString returns the string representation 5718func (s Attachment) GoString() string { 5719 return s.String() 5720} 5721 5722// SetDetails sets the Details field's value. 5723func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment { 5724 s.Details = v 5725 return s 5726} 5727 5728// SetId sets the Id field's value. 5729func (s *Attachment) SetId(v string) *Attachment { 5730 s.Id = &v 5731 return s 5732} 5733 5734// SetStatus sets the Status field's value. 5735func (s *Attachment) SetStatus(v string) *Attachment { 5736 s.Status = &v 5737 return s 5738} 5739 5740// SetType sets the Type field's value. 5741func (s *Attachment) SetType(v string) *Attachment { 5742 s.Type = &v 5743 return s 5744} 5745 5746// An object representing a change in state for a task attachment. 5747type AttachmentStateChange struct { 5748 _ struct{} `type:"structure"` 5749 5750 // The Amazon Resource Name (ARN) of the attachment. 5751 // 5752 // AttachmentArn is a required field 5753 AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"` 5754 5755 // The status of the attachment. 5756 // 5757 // Status is a required field 5758 Status *string `locationName:"status" type:"string" required:"true"` 5759} 5760 5761// String returns the string representation 5762func (s AttachmentStateChange) String() string { 5763 return awsutil.Prettify(s) 5764} 5765 5766// GoString returns the string representation 5767func (s AttachmentStateChange) GoString() string { 5768 return s.String() 5769} 5770 5771// Validate inspects the fields of the type to determine if they are valid. 5772func (s *AttachmentStateChange) Validate() error { 5773 invalidParams := request.ErrInvalidParams{Context: "AttachmentStateChange"} 5774 if s.AttachmentArn == nil { 5775 invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) 5776 } 5777 if s.Status == nil { 5778 invalidParams.Add(request.NewErrParamRequired("Status")) 5779 } 5780 5781 if invalidParams.Len() > 0 { 5782 return invalidParams 5783 } 5784 return nil 5785} 5786 5787// SetAttachmentArn sets the AttachmentArn field's value. 5788func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange { 5789 s.AttachmentArn = &v 5790 return s 5791} 5792 5793// SetStatus sets the Status field's value. 5794func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange { 5795 s.Status = &v 5796 return s 5797} 5798 5799// An attribute is a name-value pair associated with an Amazon ECS object. Attributes 5800// enable you to extend the Amazon ECS data model by adding custom metadata 5801// to your resources. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 5802// in the Amazon Elastic Container Service Developer Guide. 5803type Attribute struct { 5804 _ struct{} `type:"structure"` 5805 5806 // The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, 5807 // hyphens, underscores, and periods are allowed. 5808 // 5809 // Name is a required field 5810 Name *string `locationName:"name" type:"string" required:"true"` 5811 5812 // The ID of the target. You can specify the short form ID for a resource or 5813 // the full Amazon Resource Name (ARN). 5814 TargetId *string `locationName:"targetId" type:"string"` 5815 5816 // The type of the target with which to attach the attribute. This parameter 5817 // is required if you use the short form ID for a resource instead of the full 5818 // ARN. 5819 TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` 5820 5821 // The value of the attribute. Up to 128 letters (uppercase and lowercase), 5822 // numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, 5823 // and spaces are allowed. 5824 Value *string `locationName:"value" type:"string"` 5825} 5826 5827// String returns the string representation 5828func (s Attribute) String() string { 5829 return awsutil.Prettify(s) 5830} 5831 5832// GoString returns the string representation 5833func (s Attribute) GoString() string { 5834 return s.String() 5835} 5836 5837// Validate inspects the fields of the type to determine if they are valid. 5838func (s *Attribute) Validate() error { 5839 invalidParams := request.ErrInvalidParams{Context: "Attribute"} 5840 if s.Name == nil { 5841 invalidParams.Add(request.NewErrParamRequired("Name")) 5842 } 5843 5844 if invalidParams.Len() > 0 { 5845 return invalidParams 5846 } 5847 return nil 5848} 5849 5850// SetName sets the Name field's value. 5851func (s *Attribute) SetName(v string) *Attribute { 5852 s.Name = &v 5853 return s 5854} 5855 5856// SetTargetId sets the TargetId field's value. 5857func (s *Attribute) SetTargetId(v string) *Attribute { 5858 s.TargetId = &v 5859 return s 5860} 5861 5862// SetTargetType sets the TargetType field's value. 5863func (s *Attribute) SetTargetType(v string) *Attribute { 5864 s.TargetType = &v 5865 return s 5866} 5867 5868// SetValue sets the Value field's value. 5869func (s *Attribute) SetValue(v string) *Attribute { 5870 s.Value = &v 5871 return s 5872} 5873 5874// You can apply up to 10 custom attributes per resource. You can view the attributes 5875// of a resource with ListAttributes. You can remove existing attributes on 5876// a resource with DeleteAttributes. 5877type AttributeLimitExceededException struct { 5878 _ struct{} `type:"structure"` 5879 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5880 5881 Message_ *string `locationName:"message" type:"string"` 5882} 5883 5884// String returns the string representation 5885func (s AttributeLimitExceededException) String() string { 5886 return awsutil.Prettify(s) 5887} 5888 5889// GoString returns the string representation 5890func (s AttributeLimitExceededException) GoString() string { 5891 return s.String() 5892} 5893 5894func newErrorAttributeLimitExceededException(v protocol.ResponseMetadata) error { 5895 return &AttributeLimitExceededException{ 5896 RespMetadata: v, 5897 } 5898} 5899 5900// Code returns the exception type name. 5901func (s *AttributeLimitExceededException) Code() string { 5902 return "AttributeLimitExceededException" 5903} 5904 5905// Message returns the exception's message. 5906func (s *AttributeLimitExceededException) Message() string { 5907 if s.Message_ != nil { 5908 return *s.Message_ 5909 } 5910 return "" 5911} 5912 5913// OrigErr always returns nil, satisfies awserr.Error interface. 5914func (s *AttributeLimitExceededException) OrigErr() error { 5915 return nil 5916} 5917 5918func (s *AttributeLimitExceededException) Error() string { 5919 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5920} 5921 5922// Status code returns the HTTP status code for the request's response error. 5923func (s *AttributeLimitExceededException) StatusCode() int { 5924 return s.RespMetadata.StatusCode 5925} 5926 5927// RequestID returns the service's response RequestID for request. 5928func (s *AttributeLimitExceededException) RequestID() string { 5929 return s.RespMetadata.RequestID 5930} 5931 5932// The details of the Auto Scaling group for the capacity provider. 5933type AutoScalingGroupProvider struct { 5934 _ struct{} `type:"structure"` 5935 5936 // The Amazon Resource Name (ARN) that identifies the Auto Scaling group. 5937 // 5938 // AutoScalingGroupArn is a required field 5939 AutoScalingGroupArn *string `locationName:"autoScalingGroupArn" type:"string" required:"true"` 5940 5941 // The managed scaling settings for the Auto Scaling group capacity provider. 5942 ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` 5943 5944 // The managed termination protection setting to use for the Auto Scaling group 5945 // capacity provider. This determines whether the Auto Scaling group has managed 5946 // termination protection. 5947 // 5948 // When using managed termination protection, managed scaling must also be used 5949 // otherwise managed termination protection will not work. 5950 // 5951 // When managed termination protection is enabled, Amazon ECS prevents the Amazon 5952 // EC2 instances in an Auto Scaling group that contain tasks from being terminated 5953 // during a scale-in action. The Auto Scaling group and each instance in the 5954 // Auto Scaling group must have instance protection from scale-in actions enabled 5955 // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 5956 // in the AWS Auto Scaling User Guide. 5957 // 5958 // When managed termination protection is disabled, your Amazon EC2 instances 5959 // are not protected from termination when the Auto Scaling group scales in. 5960 ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` 5961} 5962 5963// String returns the string representation 5964func (s AutoScalingGroupProvider) String() string { 5965 return awsutil.Prettify(s) 5966} 5967 5968// GoString returns the string representation 5969func (s AutoScalingGroupProvider) GoString() string { 5970 return s.String() 5971} 5972 5973// Validate inspects the fields of the type to determine if they are valid. 5974func (s *AutoScalingGroupProvider) Validate() error { 5975 invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProvider"} 5976 if s.AutoScalingGroupArn == nil { 5977 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupArn")) 5978 } 5979 if s.ManagedScaling != nil { 5980 if err := s.ManagedScaling.Validate(); err != nil { 5981 invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) 5982 } 5983 } 5984 5985 if invalidParams.Len() > 0 { 5986 return invalidParams 5987 } 5988 return nil 5989} 5990 5991// SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value. 5992func (s *AutoScalingGroupProvider) SetAutoScalingGroupArn(v string) *AutoScalingGroupProvider { 5993 s.AutoScalingGroupArn = &v 5994 return s 5995} 5996 5997// SetManagedScaling sets the ManagedScaling field's value. 5998func (s *AutoScalingGroupProvider) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProvider { 5999 s.ManagedScaling = v 6000 return s 6001} 6002 6003// SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. 6004func (s *AutoScalingGroupProvider) SetManagedTerminationProtection(v string) *AutoScalingGroupProvider { 6005 s.ManagedTerminationProtection = &v 6006 return s 6007} 6008 6009// An object representing the networking details for a task or service. 6010type AwsVpcConfiguration struct { 6011 _ struct{} `type:"structure"` 6012 6013 // Whether the task's elastic network interface receives a public IP address. 6014 // The default value is DISABLED. 6015 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 6016 6017 // The security groups associated with the task or service. If you do not specify 6018 // a security group, the default security group for the VPC is used. There is 6019 // a limit of 5 security groups that can be specified per AwsVpcConfiguration. 6020 // 6021 // All specified security groups must be from the same VPC. 6022 SecurityGroups []*string `locationName:"securityGroups" type:"list"` 6023 6024 // The subnets associated with the task or service. There is a limit of 16 subnets 6025 // that can be specified per AwsVpcConfiguration. 6026 // 6027 // All specified subnets must be from the same VPC. 6028 // 6029 // Subnets is a required field 6030 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 6031} 6032 6033// String returns the string representation 6034func (s AwsVpcConfiguration) String() string { 6035 return awsutil.Prettify(s) 6036} 6037 6038// GoString returns the string representation 6039func (s AwsVpcConfiguration) GoString() string { 6040 return s.String() 6041} 6042 6043// Validate inspects the fields of the type to determine if they are valid. 6044func (s *AwsVpcConfiguration) Validate() error { 6045 invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"} 6046 if s.Subnets == nil { 6047 invalidParams.Add(request.NewErrParamRequired("Subnets")) 6048 } 6049 6050 if invalidParams.Len() > 0 { 6051 return invalidParams 6052 } 6053 return nil 6054} 6055 6056// SetAssignPublicIp sets the AssignPublicIp field's value. 6057func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration { 6058 s.AssignPublicIp = &v 6059 return s 6060} 6061 6062// SetSecurityGroups sets the SecurityGroups field's value. 6063func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration { 6064 s.SecurityGroups = v 6065 return s 6066} 6067 6068// SetSubnets sets the Subnets field's value. 6069func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration { 6070 s.Subnets = v 6071 return s 6072} 6073 6074// Your AWS account has been blocked. For more information, contact AWS Support 6075// (http://aws.amazon.com/contact-us/). 6076type BlockedException struct { 6077 _ struct{} `type:"structure"` 6078 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6079 6080 Message_ *string `locationName:"message" type:"string"` 6081} 6082 6083// String returns the string representation 6084func (s BlockedException) String() string { 6085 return awsutil.Prettify(s) 6086} 6087 6088// GoString returns the string representation 6089func (s BlockedException) GoString() string { 6090 return s.String() 6091} 6092 6093func newErrorBlockedException(v protocol.ResponseMetadata) error { 6094 return &BlockedException{ 6095 RespMetadata: v, 6096 } 6097} 6098 6099// Code returns the exception type name. 6100func (s *BlockedException) Code() string { 6101 return "BlockedException" 6102} 6103 6104// Message returns the exception's message. 6105func (s *BlockedException) Message() string { 6106 if s.Message_ != nil { 6107 return *s.Message_ 6108 } 6109 return "" 6110} 6111 6112// OrigErr always returns nil, satisfies awserr.Error interface. 6113func (s *BlockedException) OrigErr() error { 6114 return nil 6115} 6116 6117func (s *BlockedException) Error() string { 6118 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6119} 6120 6121// Status code returns the HTTP status code for the request's response error. 6122func (s *BlockedException) StatusCode() int { 6123 return s.RespMetadata.StatusCode 6124} 6125 6126// RequestID returns the service's response RequestID for request. 6127func (s *BlockedException) RequestID() string { 6128 return s.RespMetadata.RequestID 6129} 6130 6131// The details of a capacity provider. 6132type CapacityProvider struct { 6133 _ struct{} `type:"structure"` 6134 6135 // The Auto Scaling group settings for the capacity provider. 6136 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure"` 6137 6138 // The Amazon Resource Name (ARN) that identifies the capacity provider. 6139 CapacityProviderArn *string `locationName:"capacityProviderArn" type:"string"` 6140 6141 // The name of the capacity provider. 6142 Name *string `locationName:"name" type:"string"` 6143 6144 // The current status of the capacity provider. Only capacity providers in an 6145 // ACTIVE state can be used in a cluster. When a capacity provider is successfully 6146 // deleted, it will have an INACTIVE status. 6147 Status *string `locationName:"status" type:"string" enum:"CapacityProviderStatus"` 6148 6149 // The metadata that you apply to the capacity provider to help you categorize 6150 // and organize it. Each tag consists of a key and an optional value, both of 6151 // which you define. 6152 // 6153 // The following basic restrictions apply to tags: 6154 // 6155 // * Maximum number of tags per resource - 50 6156 // 6157 // * For each resource, each tag key must be unique, and each tag key can 6158 // have only one value. 6159 // 6160 // * Maximum key length - 128 Unicode characters in UTF-8 6161 // 6162 // * Maximum value length - 256 Unicode characters in UTF-8 6163 // 6164 // * If your tagging schema is used across multiple services and resources, 6165 // remember that other services may have restrictions on allowed characters. 6166 // Generally allowed characters are: letters, numbers, and spaces representable 6167 // in UTF-8, and the following characters: + - = . _ : / @. 6168 // 6169 // * Tag keys and values are case-sensitive. 6170 // 6171 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6172 // as a prefix for either keys or values as it is reserved for AWS use. You 6173 // cannot edit or delete tag keys or values with this prefix. Tags with this 6174 // prefix do not count against your tags per resource limit. 6175 Tags []*Tag `locationName:"tags" type:"list"` 6176 6177 // The update status of the capacity provider. The following are the possible 6178 // states that will be returned. 6179 // 6180 // DELETE_IN_PROGRESS 6181 // 6182 // The capacity provider is in the process of being deleted. 6183 // 6184 // DELETE_COMPLETE 6185 // 6186 // The capacity provider has been successfully deleted and will have an INACTIVE 6187 // status. 6188 // 6189 // DELETE_FAILED 6190 // 6191 // The capacity provider was unable to be deleted. The update status reason 6192 // will provide further details about why the delete failed. 6193 UpdateStatus *string `locationName:"updateStatus" type:"string" enum:"CapacityProviderUpdateStatus"` 6194 6195 // The update status reason. This provides further details about the update 6196 // status for the capacity provider. 6197 UpdateStatusReason *string `locationName:"updateStatusReason" type:"string"` 6198} 6199 6200// String returns the string representation 6201func (s CapacityProvider) String() string { 6202 return awsutil.Prettify(s) 6203} 6204 6205// GoString returns the string representation 6206func (s CapacityProvider) GoString() string { 6207 return s.String() 6208} 6209 6210// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 6211func (s *CapacityProvider) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CapacityProvider { 6212 s.AutoScalingGroupProvider = v 6213 return s 6214} 6215 6216// SetCapacityProviderArn sets the CapacityProviderArn field's value. 6217func (s *CapacityProvider) SetCapacityProviderArn(v string) *CapacityProvider { 6218 s.CapacityProviderArn = &v 6219 return s 6220} 6221 6222// SetName sets the Name field's value. 6223func (s *CapacityProvider) SetName(v string) *CapacityProvider { 6224 s.Name = &v 6225 return s 6226} 6227 6228// SetStatus sets the Status field's value. 6229func (s *CapacityProvider) SetStatus(v string) *CapacityProvider { 6230 s.Status = &v 6231 return s 6232} 6233 6234// SetTags sets the Tags field's value. 6235func (s *CapacityProvider) SetTags(v []*Tag) *CapacityProvider { 6236 s.Tags = v 6237 return s 6238} 6239 6240// SetUpdateStatus sets the UpdateStatus field's value. 6241func (s *CapacityProvider) SetUpdateStatus(v string) *CapacityProvider { 6242 s.UpdateStatus = &v 6243 return s 6244} 6245 6246// SetUpdateStatusReason sets the UpdateStatusReason field's value. 6247func (s *CapacityProvider) SetUpdateStatusReason(v string) *CapacityProvider { 6248 s.UpdateStatusReason = &v 6249 return s 6250} 6251 6252// The details of a capacity provider strategy. 6253type CapacityProviderStrategyItem struct { 6254 _ struct{} `type:"structure"` 6255 6256 // The base value designates how many tasks, at a minimum, to run on the specified 6257 // capacity provider. Only one capacity provider in a capacity provider strategy 6258 // can have a base defined. 6259 Base *int64 `locationName:"base" type:"integer"` 6260 6261 // The short name of the capacity provider. 6262 // 6263 // CapacityProvider is a required field 6264 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 6265 6266 // The weight value designates the relative percentage of the total number of 6267 // tasks launched that should use the specified capacity provider. 6268 // 6269 // For example, if you have a strategy that contains two capacity providers 6270 // and both have a weight of 1, then when the base is satisfied, the tasks will 6271 // be split evenly across the two capacity providers. Using that same logic, 6272 // if you specify a weight of 1 for capacityProviderA and a weight of 4 for 6273 // capacityProviderB, then for every one task that is run using capacityProviderA, 6274 // four tasks would use capacityProviderB. 6275 Weight *int64 `locationName:"weight" type:"integer"` 6276} 6277 6278// String returns the string representation 6279func (s CapacityProviderStrategyItem) String() string { 6280 return awsutil.Prettify(s) 6281} 6282 6283// GoString returns the string representation 6284func (s CapacityProviderStrategyItem) GoString() string { 6285 return s.String() 6286} 6287 6288// Validate inspects the fields of the type to determine if they are valid. 6289func (s *CapacityProviderStrategyItem) Validate() error { 6290 invalidParams := request.ErrInvalidParams{Context: "CapacityProviderStrategyItem"} 6291 if s.CapacityProvider == nil { 6292 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 6293 } 6294 6295 if invalidParams.Len() > 0 { 6296 return invalidParams 6297 } 6298 return nil 6299} 6300 6301// SetBase sets the Base field's value. 6302func (s *CapacityProviderStrategyItem) SetBase(v int64) *CapacityProviderStrategyItem { 6303 s.Base = &v 6304 return s 6305} 6306 6307// SetCapacityProvider sets the CapacityProvider field's value. 6308func (s *CapacityProviderStrategyItem) SetCapacityProvider(v string) *CapacityProviderStrategyItem { 6309 s.CapacityProvider = &v 6310 return s 6311} 6312 6313// SetWeight sets the Weight field's value. 6314func (s *CapacityProviderStrategyItem) SetWeight(v int64) *CapacityProviderStrategyItem { 6315 s.Weight = &v 6316 return s 6317} 6318 6319// These errors are usually caused by a client action, such as using an action 6320// or resource on behalf of a user that doesn't have permissions to use the 6321// action or resource, or specifying an identifier that is not valid. 6322type ClientException struct { 6323 _ struct{} `type:"structure"` 6324 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6325 6326 Message_ *string `locationName:"message" type:"string"` 6327} 6328 6329// String returns the string representation 6330func (s ClientException) String() string { 6331 return awsutil.Prettify(s) 6332} 6333 6334// GoString returns the string representation 6335func (s ClientException) GoString() string { 6336 return s.String() 6337} 6338 6339func newErrorClientException(v protocol.ResponseMetadata) error { 6340 return &ClientException{ 6341 RespMetadata: v, 6342 } 6343} 6344 6345// Code returns the exception type name. 6346func (s *ClientException) Code() string { 6347 return "ClientException" 6348} 6349 6350// Message returns the exception's message. 6351func (s *ClientException) Message() string { 6352 if s.Message_ != nil { 6353 return *s.Message_ 6354 } 6355 return "" 6356} 6357 6358// OrigErr always returns nil, satisfies awserr.Error interface. 6359func (s *ClientException) OrigErr() error { 6360 return nil 6361} 6362 6363func (s *ClientException) Error() string { 6364 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6365} 6366 6367// Status code returns the HTTP status code for the request's response error. 6368func (s *ClientException) StatusCode() int { 6369 return s.RespMetadata.StatusCode 6370} 6371 6372// RequestID returns the service's response RequestID for request. 6373func (s *ClientException) RequestID() string { 6374 return s.RespMetadata.RequestID 6375} 6376 6377// A regional grouping of one or more container instances on which you can run 6378// task requests. Each account receives a default cluster the first time you 6379// use the Amazon ECS service, but you may also create other clusters. Clusters 6380// may contain more than one instance type simultaneously. 6381type Cluster struct { 6382 _ struct{} `type:"structure"` 6383 6384 // The number of services that are running on the cluster in an ACTIVE state. 6385 // You can view these services with ListServices. 6386 ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` 6387 6388 // The resources attached to a cluster. When using a capacity provider with 6389 // a cluster, the Auto Scaling plan that is created will be returned as a cluster 6390 // attachment. 6391 Attachments []*Attachment `locationName:"attachments" type:"list"` 6392 6393 // The status of the capacity providers associated with the cluster. The following 6394 // are the states that will be returned: 6395 // 6396 // UPDATE_IN_PROGRESS 6397 // 6398 // The available capacity providers for the cluster are updating. This occurs 6399 // when the Auto Scaling plan is provisioning or deprovisioning. 6400 // 6401 // UPDATE_COMPLETE 6402 // 6403 // The capacity providers have successfully updated. 6404 // 6405 // UPDATE_FAILED 6406 // 6407 // The capacity provider updates failed. 6408 AttachmentsStatus *string `locationName:"attachmentsStatus" type:"string"` 6409 6410 // The capacity providers associated with the cluster. 6411 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 6412 6413 // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains 6414 // the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS 6415 // account ID of the cluster owner, the cluster namespace, and then the cluster 6416 // name. For example, arn:aws:ecs:region:012345678910:cluster/test. 6417 ClusterArn *string `locationName:"clusterArn" type:"string"` 6418 6419 // A user-generated string that you use to identify your cluster. 6420 ClusterName *string `locationName:"clusterName" type:"string"` 6421 6422 // The default capacity provider strategy for the cluster. When services or 6423 // tasks are run in the cluster with no launch type or capacity provider strategy 6424 // specified, the default capacity provider strategy is used. 6425 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 6426 6427 // The number of tasks in the cluster that are in the PENDING state. 6428 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 6429 6430 // The number of container instances registered into the cluster. This includes 6431 // container instances in both ACTIVE and DRAINING status. 6432 RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` 6433 6434 // The number of tasks in the cluster that are in the RUNNING state. 6435 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 6436 6437 // The settings for the cluster. This parameter indicates whether CloudWatch 6438 // Container Insights is enabled or disabled for a cluster. 6439 Settings []*ClusterSetting `locationName:"settings" type:"list"` 6440 6441 // Additional information about your clusters that are separated by launch type, 6442 // including: 6443 // 6444 // * runningEC2TasksCount 6445 // 6446 // * RunningFargateTasksCount 6447 // 6448 // * pendingEC2TasksCount 6449 // 6450 // * pendingFargateTasksCount 6451 // 6452 // * activeEC2ServiceCount 6453 // 6454 // * activeFargateServiceCount 6455 // 6456 // * drainingEC2ServiceCount 6457 // 6458 // * drainingFargateServiceCount 6459 Statistics []*KeyValuePair `locationName:"statistics" type:"list"` 6460 6461 // The status of the cluster. The following are the possible states that will 6462 // be returned. 6463 // 6464 // ACTIVE 6465 // 6466 // The cluster is ready to accept tasks and if applicable you can register container 6467 // instances with the cluster. 6468 // 6469 // PROVISIONING 6470 // 6471 // The cluster has capacity providers associated with it and the resources needed 6472 // for the capacity provider are being created. 6473 // 6474 // DEPROVISIONING 6475 // 6476 // The cluster has capacity providers associated with it and the resources needed 6477 // for the capacity provider are being deleted. 6478 // 6479 // FAILED 6480 // 6481 // The cluster has capacity providers associated with it and the resources needed 6482 // for the capacity provider have failed to create. 6483 // 6484 // INACTIVE 6485 // 6486 // The cluster has been deleted. Clusters with an INACTIVE status may remain 6487 // discoverable in your account for a period of time. However, this behavior 6488 // is subject to change in the future, so you should not rely on INACTIVE clusters 6489 // persisting. 6490 Status *string `locationName:"status" type:"string"` 6491 6492 // The metadata that you apply to the cluster to help you categorize and organize 6493 // them. Each tag consists of a key and an optional value, both of which you 6494 // define. 6495 // 6496 // The following basic restrictions apply to tags: 6497 // 6498 // * Maximum number of tags per resource - 50 6499 // 6500 // * For each resource, each tag key must be unique, and each tag key can 6501 // have only one value. 6502 // 6503 // * Maximum key length - 128 Unicode characters in UTF-8 6504 // 6505 // * Maximum value length - 256 Unicode characters in UTF-8 6506 // 6507 // * If your tagging schema is used across multiple services and resources, 6508 // remember that other services may have restrictions on allowed characters. 6509 // Generally allowed characters are: letters, numbers, and spaces representable 6510 // in UTF-8, and the following characters: + - = . _ : / @. 6511 // 6512 // * Tag keys and values are case-sensitive. 6513 // 6514 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6515 // as a prefix for either keys or values as it is reserved for AWS use. You 6516 // cannot edit or delete tag keys or values with this prefix. Tags with this 6517 // prefix do not count against your tags per resource limit. 6518 Tags []*Tag `locationName:"tags" type:"list"` 6519} 6520 6521// String returns the string representation 6522func (s Cluster) String() string { 6523 return awsutil.Prettify(s) 6524} 6525 6526// GoString returns the string representation 6527func (s Cluster) GoString() string { 6528 return s.String() 6529} 6530 6531// SetActiveServicesCount sets the ActiveServicesCount field's value. 6532func (s *Cluster) SetActiveServicesCount(v int64) *Cluster { 6533 s.ActiveServicesCount = &v 6534 return s 6535} 6536 6537// SetAttachments sets the Attachments field's value. 6538func (s *Cluster) SetAttachments(v []*Attachment) *Cluster { 6539 s.Attachments = v 6540 return s 6541} 6542 6543// SetAttachmentsStatus sets the AttachmentsStatus field's value. 6544func (s *Cluster) SetAttachmentsStatus(v string) *Cluster { 6545 s.AttachmentsStatus = &v 6546 return s 6547} 6548 6549// SetCapacityProviders sets the CapacityProviders field's value. 6550func (s *Cluster) SetCapacityProviders(v []*string) *Cluster { 6551 s.CapacityProviders = v 6552 return s 6553} 6554 6555// SetClusterArn sets the ClusterArn field's value. 6556func (s *Cluster) SetClusterArn(v string) *Cluster { 6557 s.ClusterArn = &v 6558 return s 6559} 6560 6561// SetClusterName sets the ClusterName field's value. 6562func (s *Cluster) SetClusterName(v string) *Cluster { 6563 s.ClusterName = &v 6564 return s 6565} 6566 6567// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 6568func (s *Cluster) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Cluster { 6569 s.DefaultCapacityProviderStrategy = v 6570 return s 6571} 6572 6573// SetPendingTasksCount sets the PendingTasksCount field's value. 6574func (s *Cluster) SetPendingTasksCount(v int64) *Cluster { 6575 s.PendingTasksCount = &v 6576 return s 6577} 6578 6579// SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. 6580func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster { 6581 s.RegisteredContainerInstancesCount = &v 6582 return s 6583} 6584 6585// SetRunningTasksCount sets the RunningTasksCount field's value. 6586func (s *Cluster) SetRunningTasksCount(v int64) *Cluster { 6587 s.RunningTasksCount = &v 6588 return s 6589} 6590 6591// SetSettings sets the Settings field's value. 6592func (s *Cluster) SetSettings(v []*ClusterSetting) *Cluster { 6593 s.Settings = v 6594 return s 6595} 6596 6597// SetStatistics sets the Statistics field's value. 6598func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster { 6599 s.Statistics = v 6600 return s 6601} 6602 6603// SetStatus sets the Status field's value. 6604func (s *Cluster) SetStatus(v string) *Cluster { 6605 s.Status = &v 6606 return s 6607} 6608 6609// SetTags sets the Tags field's value. 6610func (s *Cluster) SetTags(v []*Tag) *Cluster { 6611 s.Tags = v 6612 return s 6613} 6614 6615// You cannot delete a cluster that has registered container instances. First, 6616// deregister the container instances before you can delete the cluster. For 6617// more information, see DeregisterContainerInstance. 6618type ClusterContainsContainerInstancesException struct { 6619 _ struct{} `type:"structure"` 6620 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6621 6622 Message_ *string `locationName:"message" type:"string"` 6623} 6624 6625// String returns the string representation 6626func (s ClusterContainsContainerInstancesException) String() string { 6627 return awsutil.Prettify(s) 6628} 6629 6630// GoString returns the string representation 6631func (s ClusterContainsContainerInstancesException) GoString() string { 6632 return s.String() 6633} 6634 6635func newErrorClusterContainsContainerInstancesException(v protocol.ResponseMetadata) error { 6636 return &ClusterContainsContainerInstancesException{ 6637 RespMetadata: v, 6638 } 6639} 6640 6641// Code returns the exception type name. 6642func (s *ClusterContainsContainerInstancesException) Code() string { 6643 return "ClusterContainsContainerInstancesException" 6644} 6645 6646// Message returns the exception's message. 6647func (s *ClusterContainsContainerInstancesException) Message() string { 6648 if s.Message_ != nil { 6649 return *s.Message_ 6650 } 6651 return "" 6652} 6653 6654// OrigErr always returns nil, satisfies awserr.Error interface. 6655func (s *ClusterContainsContainerInstancesException) OrigErr() error { 6656 return nil 6657} 6658 6659func (s *ClusterContainsContainerInstancesException) Error() string { 6660 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6661} 6662 6663// Status code returns the HTTP status code for the request's response error. 6664func (s *ClusterContainsContainerInstancesException) StatusCode() int { 6665 return s.RespMetadata.StatusCode 6666} 6667 6668// RequestID returns the service's response RequestID for request. 6669func (s *ClusterContainsContainerInstancesException) RequestID() string { 6670 return s.RespMetadata.RequestID 6671} 6672 6673// You cannot delete a cluster that contains services. First, update the service 6674// to reduce its desired task count to 0 and then delete the service. For more 6675// information, see UpdateService and DeleteService. 6676type ClusterContainsServicesException struct { 6677 _ struct{} `type:"structure"` 6678 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6679 6680 Message_ *string `locationName:"message" type:"string"` 6681} 6682 6683// String returns the string representation 6684func (s ClusterContainsServicesException) String() string { 6685 return awsutil.Prettify(s) 6686} 6687 6688// GoString returns the string representation 6689func (s ClusterContainsServicesException) GoString() string { 6690 return s.String() 6691} 6692 6693func newErrorClusterContainsServicesException(v protocol.ResponseMetadata) error { 6694 return &ClusterContainsServicesException{ 6695 RespMetadata: v, 6696 } 6697} 6698 6699// Code returns the exception type name. 6700func (s *ClusterContainsServicesException) Code() string { 6701 return "ClusterContainsServicesException" 6702} 6703 6704// Message returns the exception's message. 6705func (s *ClusterContainsServicesException) Message() string { 6706 if s.Message_ != nil { 6707 return *s.Message_ 6708 } 6709 return "" 6710} 6711 6712// OrigErr always returns nil, satisfies awserr.Error interface. 6713func (s *ClusterContainsServicesException) OrigErr() error { 6714 return nil 6715} 6716 6717func (s *ClusterContainsServicesException) Error() string { 6718 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6719} 6720 6721// Status code returns the HTTP status code for the request's response error. 6722func (s *ClusterContainsServicesException) StatusCode() int { 6723 return s.RespMetadata.StatusCode 6724} 6725 6726// RequestID returns the service's response RequestID for request. 6727func (s *ClusterContainsServicesException) RequestID() string { 6728 return s.RespMetadata.RequestID 6729} 6730 6731// You cannot delete a cluster that has active tasks. 6732type ClusterContainsTasksException struct { 6733 _ struct{} `type:"structure"` 6734 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6735 6736 Message_ *string `locationName:"message" type:"string"` 6737} 6738 6739// String returns the string representation 6740func (s ClusterContainsTasksException) String() string { 6741 return awsutil.Prettify(s) 6742} 6743 6744// GoString returns the string representation 6745func (s ClusterContainsTasksException) GoString() string { 6746 return s.String() 6747} 6748 6749func newErrorClusterContainsTasksException(v protocol.ResponseMetadata) error { 6750 return &ClusterContainsTasksException{ 6751 RespMetadata: v, 6752 } 6753} 6754 6755// Code returns the exception type name. 6756func (s *ClusterContainsTasksException) Code() string { 6757 return "ClusterContainsTasksException" 6758} 6759 6760// Message returns the exception's message. 6761func (s *ClusterContainsTasksException) Message() string { 6762 if s.Message_ != nil { 6763 return *s.Message_ 6764 } 6765 return "" 6766} 6767 6768// OrigErr always returns nil, satisfies awserr.Error interface. 6769func (s *ClusterContainsTasksException) OrigErr() error { 6770 return nil 6771} 6772 6773func (s *ClusterContainsTasksException) Error() string { 6774 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6775} 6776 6777// Status code returns the HTTP status code for the request's response error. 6778func (s *ClusterContainsTasksException) StatusCode() int { 6779 return s.RespMetadata.StatusCode 6780} 6781 6782// RequestID returns the service's response RequestID for request. 6783func (s *ClusterContainsTasksException) RequestID() string { 6784 return s.RespMetadata.RequestID 6785} 6786 6787// The specified cluster could not be found. You can view your available clusters 6788// with ListClusters. Amazon ECS clusters are Region-specific. 6789type ClusterNotFoundException struct { 6790 _ struct{} `type:"structure"` 6791 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6792 6793 Message_ *string `locationName:"message" type:"string"` 6794} 6795 6796// String returns the string representation 6797func (s ClusterNotFoundException) String() string { 6798 return awsutil.Prettify(s) 6799} 6800 6801// GoString returns the string representation 6802func (s ClusterNotFoundException) GoString() string { 6803 return s.String() 6804} 6805 6806func newErrorClusterNotFoundException(v protocol.ResponseMetadata) error { 6807 return &ClusterNotFoundException{ 6808 RespMetadata: v, 6809 } 6810} 6811 6812// Code returns the exception type name. 6813func (s *ClusterNotFoundException) Code() string { 6814 return "ClusterNotFoundException" 6815} 6816 6817// Message returns the exception's message. 6818func (s *ClusterNotFoundException) Message() string { 6819 if s.Message_ != nil { 6820 return *s.Message_ 6821 } 6822 return "" 6823} 6824 6825// OrigErr always returns nil, satisfies awserr.Error interface. 6826func (s *ClusterNotFoundException) OrigErr() error { 6827 return nil 6828} 6829 6830func (s *ClusterNotFoundException) Error() string { 6831 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6832} 6833 6834// Status code returns the HTTP status code for the request's response error. 6835func (s *ClusterNotFoundException) StatusCode() int { 6836 return s.RespMetadata.StatusCode 6837} 6838 6839// RequestID returns the service's response RequestID for request. 6840func (s *ClusterNotFoundException) RequestID() string { 6841 return s.RespMetadata.RequestID 6842} 6843 6844// The settings to use when creating a cluster. This parameter is used to enable 6845// CloudWatch Container Insights for a cluster. 6846type ClusterSetting struct { 6847 _ struct{} `type:"structure"` 6848 6849 // The name of the cluster setting. The only supported value is containerInsights. 6850 Name *string `locationName:"name" type:"string" enum:"ClusterSettingName"` 6851 6852 // The value to set for the cluster setting. The supported values are enabled 6853 // and disabled. If enabled is specified, CloudWatch Container Insights will 6854 // be enabled for the cluster, otherwise it will be disabled unless the containerInsights 6855 // account setting is enabled. If a cluster value is specified, it will override 6856 // the containerInsights value set with PutAccountSetting or PutAccountSettingDefault. 6857 Value *string `locationName:"value" type:"string"` 6858} 6859 6860// String returns the string representation 6861func (s ClusterSetting) String() string { 6862 return awsutil.Prettify(s) 6863} 6864 6865// GoString returns the string representation 6866func (s ClusterSetting) GoString() string { 6867 return s.String() 6868} 6869 6870// SetName sets the Name field's value. 6871func (s *ClusterSetting) SetName(v string) *ClusterSetting { 6872 s.Name = &v 6873 return s 6874} 6875 6876// SetValue sets the Value field's value. 6877func (s *ClusterSetting) SetValue(v string) *ClusterSetting { 6878 s.Value = &v 6879 return s 6880} 6881 6882// A Docker container that is part of a task. 6883type Container struct { 6884 _ struct{} `type:"structure"` 6885 6886 // The Amazon Resource Name (ARN) of the container. 6887 ContainerArn *string `locationName:"containerArn" type:"string"` 6888 6889 // The number of CPU units set for the container. The value will be 0 if no 6890 // value was specified in the container definition when the task definition 6891 // was registered. 6892 Cpu *string `locationName:"cpu" type:"string"` 6893 6894 // The exit code returned from the container. 6895 ExitCode *int64 `locationName:"exitCode" type:"integer"` 6896 6897 // The IDs of each GPU assigned to the container. 6898 GpuIds []*string `locationName:"gpuIds" type:"list"` 6899 6900 // The health status of the container. If health checks are not configured for 6901 // this container in its task definition, then it reports the health status 6902 // as UNKNOWN. 6903 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 6904 6905 // The image used for the container. 6906 Image *string `locationName:"image" type:"string"` 6907 6908 // The container image manifest digest. 6909 // 6910 // The imageDigest is only returned if the container is using an image hosted 6911 // in Amazon ECR, otherwise it is omitted. 6912 ImageDigest *string `locationName:"imageDigest" type:"string"` 6913 6914 // The last known status of the container. 6915 LastStatus *string `locationName:"lastStatus" type:"string"` 6916 6917 // The hard limit (in MiB) of memory set for the container. 6918 Memory *string `locationName:"memory" type:"string"` 6919 6920 // The soft limit (in MiB) of memory set for the container. 6921 MemoryReservation *string `locationName:"memoryReservation" type:"string"` 6922 6923 // The name of the container. 6924 Name *string `locationName:"name" type:"string"` 6925 6926 // The network bindings associated with the container. 6927 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 6928 6929 // The network interfaces associated with the container. 6930 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 6931 6932 // A short (255 max characters) human-readable string to provide additional 6933 // details about a running or stopped container. 6934 Reason *string `locationName:"reason" type:"string"` 6935 6936 // The ID of the Docker container. 6937 RuntimeId *string `locationName:"runtimeId" type:"string"` 6938 6939 // The ARN of the task. 6940 TaskArn *string `locationName:"taskArn" type:"string"` 6941} 6942 6943// String returns the string representation 6944func (s Container) String() string { 6945 return awsutil.Prettify(s) 6946} 6947 6948// GoString returns the string representation 6949func (s Container) GoString() string { 6950 return s.String() 6951} 6952 6953// SetContainerArn sets the ContainerArn field's value. 6954func (s *Container) SetContainerArn(v string) *Container { 6955 s.ContainerArn = &v 6956 return s 6957} 6958 6959// SetCpu sets the Cpu field's value. 6960func (s *Container) SetCpu(v string) *Container { 6961 s.Cpu = &v 6962 return s 6963} 6964 6965// SetExitCode sets the ExitCode field's value. 6966func (s *Container) SetExitCode(v int64) *Container { 6967 s.ExitCode = &v 6968 return s 6969} 6970 6971// SetGpuIds sets the GpuIds field's value. 6972func (s *Container) SetGpuIds(v []*string) *Container { 6973 s.GpuIds = v 6974 return s 6975} 6976 6977// SetHealthStatus sets the HealthStatus field's value. 6978func (s *Container) SetHealthStatus(v string) *Container { 6979 s.HealthStatus = &v 6980 return s 6981} 6982 6983// SetImage sets the Image field's value. 6984func (s *Container) SetImage(v string) *Container { 6985 s.Image = &v 6986 return s 6987} 6988 6989// SetImageDigest sets the ImageDigest field's value. 6990func (s *Container) SetImageDigest(v string) *Container { 6991 s.ImageDigest = &v 6992 return s 6993} 6994 6995// SetLastStatus sets the LastStatus field's value. 6996func (s *Container) SetLastStatus(v string) *Container { 6997 s.LastStatus = &v 6998 return s 6999} 7000 7001// SetMemory sets the Memory field's value. 7002func (s *Container) SetMemory(v string) *Container { 7003 s.Memory = &v 7004 return s 7005} 7006 7007// SetMemoryReservation sets the MemoryReservation field's value. 7008func (s *Container) SetMemoryReservation(v string) *Container { 7009 s.MemoryReservation = &v 7010 return s 7011} 7012 7013// SetName sets the Name field's value. 7014func (s *Container) SetName(v string) *Container { 7015 s.Name = &v 7016 return s 7017} 7018 7019// SetNetworkBindings sets the NetworkBindings field's value. 7020func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container { 7021 s.NetworkBindings = v 7022 return s 7023} 7024 7025// SetNetworkInterfaces sets the NetworkInterfaces field's value. 7026func (s *Container) SetNetworkInterfaces(v []*NetworkInterface) *Container { 7027 s.NetworkInterfaces = v 7028 return s 7029} 7030 7031// SetReason sets the Reason field's value. 7032func (s *Container) SetReason(v string) *Container { 7033 s.Reason = &v 7034 return s 7035} 7036 7037// SetRuntimeId sets the RuntimeId field's value. 7038func (s *Container) SetRuntimeId(v string) *Container { 7039 s.RuntimeId = &v 7040 return s 7041} 7042 7043// SetTaskArn sets the TaskArn field's value. 7044func (s *Container) SetTaskArn(v string) *Container { 7045 s.TaskArn = &v 7046 return s 7047} 7048 7049// Container definitions are used in task definitions to describe the different 7050// containers that are launched as part of a task. 7051type ContainerDefinition struct { 7052 _ struct{} `type:"structure"` 7053 7054 // The command that is passed to the container. This parameter maps to Cmd in 7055 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7056 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7057 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 7058 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 7059 // (https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple 7060 // arguments, each argument should be a separated string in the array. 7061 Command []*string `locationName:"command" type:"list"` 7062 7063 // The number of cpu units reserved for the container. This parameter maps to 7064 // CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7065 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7066 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 7067 // 7068 // This field is optional for tasks using the Fargate launch type, and the only 7069 // requirement is that the total amount of CPU reserved for all containers within 7070 // a task be lower than the task-level cpu value. 7071 // 7072 // You can determine the number of CPU units that are available per EC2 instance 7073 // type by multiplying the vCPUs listed for that instance type on the Amazon 7074 // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by 7075 // 1,024. 7076 // 7077 // Linux containers share unallocated CPU units with other containers on the 7078 // container instance with the same ratio as their allocated amount. For example, 7079 // if you run a single-container task on a single-core instance type with 512 7080 // CPU units specified for that container, and that is the only task running 7081 // on the container instance, that container could use the full 1,024 CPU unit 7082 // share at any given time. However, if you launched another copy of the same 7083 // task on that container instance, each task would be guaranteed a minimum 7084 // of 512 CPU units when needed, and each container could float to higher CPU 7085 // usage if the other container was not using it, but if both tasks were 100% 7086 // active all of the time, they would be limited to 512 CPU units. 7087 // 7088 // On Linux container instances, the Docker daemon on the container instance 7089 // uses the CPU value to calculate the relative CPU share ratios for running 7090 // containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint) 7091 // in the Docker documentation. The minimum valid CPU share value that the Linux 7092 // kernel allows is 2. However, the CPU parameter is not required, and you can 7093 // use CPU values below 2 in your container definitions. For CPU values below 7094 // 2 (including null), the behavior varies based on your Amazon ECS container 7095 // agent version: 7096 // 7097 // * Agent versions less than or equal to 1.1.0: Null and zero CPU values 7098 // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. 7099 // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts 7100 // to two CPU shares. 7101 // 7102 // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values 7103 // of 1 are passed to Docker as 2. 7104 // 7105 // On Windows container instances, the CPU limit is enforced as an absolute 7106 // limit, or a quota. Windows containers only have access to the specified amount 7107 // of CPU that is described in the task definition. 7108 Cpu *int64 `locationName:"cpu" type:"integer"` 7109 7110 // The dependencies defined for container startup and shutdown. A container 7111 // can contain multiple dependencies. When a dependency is defined for container 7112 // startup, for container shutdown it is reversed. 7113 // 7114 // For tasks using the EC2 launch type, the container instances require at least 7115 // version 1.26.0 of the container agent to enable container dependencies. However, 7116 // we recommend using the latest container agent version. For information about 7117 // checking your agent version and updating to the latest version, see Updating 7118 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7119 // in the Amazon Elastic Container Service Developer Guide. If you are using 7120 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7121 // of the ecs-init package. If your container instances are launched from version 7122 // 20190301 or later, then they contain the required versions of the container 7123 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7124 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7125 // in the Amazon Elastic Container Service Developer Guide. 7126 // 7127 // For tasks using the Fargate launch type, the task or service requires platform 7128 // version 1.3.0 or later. 7129 DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` 7130 7131 // When this parameter is true, networking is disabled within the container. 7132 // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7133 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 7134 // 7135 // This parameter is not supported for Windows containers. 7136 DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` 7137 7138 // A list of DNS search domains that are presented to the container. This parameter 7139 // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7140 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7141 // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/). 7142 // 7143 // This parameter is not supported for Windows containers. 7144 DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` 7145 7146 // A list of DNS servers that are presented to the container. This parameter 7147 // maps to Dns in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7148 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7149 // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/). 7150 // 7151 // This parameter is not supported for Windows containers. 7152 DnsServers []*string `locationName:"dnsServers" type:"list"` 7153 7154 // A key/value map of labels to add to the container. This parameter maps to 7155 // Labels in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7156 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7157 // and the --label option to docker run (https://docs.docker.com/engine/reference/run/). 7158 // This parameter requires version 1.18 of the Docker Remote API or greater 7159 // on your container instance. To check the Docker Remote API version on your 7160 // container instance, log in to your container instance and run the following 7161 // command: sudo docker version --format '{{.Server.APIVersion}}' 7162 DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` 7163 7164 // A list of strings to provide custom labels for SELinux and AppArmor multi-level 7165 // security systems. This field is not valid for containers in tasks using the 7166 // Fargate launch type. 7167 // 7168 // With Windows containers, this parameter can be used to reference a credential 7169 // spec file when configuring a container for Active Directory authentication. 7170 // For more information, see Using gMSAs for Windows Containers (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) 7171 // in the Amazon Elastic Container Service Developer Guide. 7172 // 7173 // This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7174 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7175 // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/). 7176 // 7177 // The Amazon ECS container agent running on a container instance must register 7178 // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment 7179 // variables before containers placed on that instance can use these security 7180 // options. For more information, see Amazon ECS Container Agent Configuration 7181 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7182 // in the Amazon Elastic Container Service Developer Guide. 7183 DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` 7184 7185 // 7186 // Early versions of the Amazon ECS container agent do not properly handle entryPoint 7187 // parameters. If you have problems using entryPoint, update your container 7188 // agent or enter your commands and arguments as command array items instead. 7189 // 7190 // The entry point that is passed to the container. This parameter maps to Entrypoint 7191 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7192 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7193 // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/). 7194 // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint 7195 // (https://docs.docker.com/engine/reference/builder/#entrypoint). 7196 EntryPoint []*string `locationName:"entryPoint" type:"list"` 7197 7198 // The environment variables to pass to a container. This parameter maps to 7199 // Env in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7200 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7201 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 7202 // 7203 // We do not recommend using plaintext environment variables for sensitive information, 7204 // such as credential data. 7205 Environment []*KeyValuePair `locationName:"environment" type:"list"` 7206 7207 // A list of files containing the environment variables to pass to a container. 7208 // This parameter maps to the --env-file option to docker run (https://docs.docker.com/engine/reference/run/). 7209 // 7210 // You can specify up to ten environment files. The file must have a .env file 7211 // extension. Each line in an environment file should contain an environment 7212 // variable in VARIABLE=VALUE format. Lines beginning with # are treated as 7213 // comments and are ignored. For more information on the environment variable 7214 // file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 7215 // 7216 // If there are environment variables specified using the environment parameter 7217 // in a container definition, they take precedence over the variables contained 7218 // within an environment file. If multiple environment files are specified that 7219 // contain the same variable, they are processed from the top down. It is recommended 7220 // to use unique variable names. For more information, see Specifying Environment 7221 // Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 7222 // in the Amazon Elastic Container Service Developer Guide. 7223 // 7224 // This field is not valid for containers in tasks using the Fargate launch 7225 // type. 7226 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 7227 7228 // If the essential parameter of a container is marked as true, and that container 7229 // fails or stops for any reason, all other containers that are part of the 7230 // task are stopped. If the essential parameter of a container is marked as 7231 // false, then its failure does not affect the rest of the containers in a task. 7232 // If this parameter is omitted, a container is assumed to be essential. 7233 // 7234 // All tasks must have at least one essential container. If you have an application 7235 // that is composed of multiple containers, you should group containers that 7236 // are used for a common purpose into components, and separate the different 7237 // components into multiple task definitions. For more information, see Application 7238 // Architecture (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) 7239 // in the Amazon Elastic Container Service Developer Guide. 7240 Essential *bool `locationName:"essential" type:"boolean"` 7241 7242 // A list of hostnames and IP address mappings to append to the /etc/hosts file 7243 // on the container. This parameter maps to ExtraHosts in the Create a container 7244 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7245 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7246 // the --add-host option to docker run (https://docs.docker.com/engine/reference/run/). 7247 // 7248 // This parameter is not supported for Windows containers or tasks that use 7249 // the awsvpc network mode. 7250 ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` 7251 7252 // The FireLens configuration for the container. This is used to specify and 7253 // configure a log router for container logs. For more information, see Custom 7254 // Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 7255 // in the Amazon Elastic Container Service Developer Guide. 7256 FirelensConfiguration *FirelensConfiguration `locationName:"firelensConfiguration" type:"structure"` 7257 7258 // The container health check command and associated configuration parameters 7259 // for the container. This parameter maps to HealthCheck in the Create a container 7260 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7261 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7262 // the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/). 7263 HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"` 7264 7265 // The hostname to use for your container. This parameter maps to Hostname in 7266 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7267 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7268 // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/). 7269 // 7270 // The hostname parameter is not supported if you are using the awsvpc network 7271 // mode. 7272 Hostname *string `locationName:"hostname" type:"string"` 7273 7274 // The image used to start a container. This string is passed directly to the 7275 // Docker daemon. Images in the Docker Hub registry are available by default. 7276 // Other repositories are specified with either repository-url/image:tag or 7277 // repository-url/image@digest . Up to 255 letters (uppercase and lowercase), 7278 // numbers, hyphens, underscores, colons, periods, forward slashes, and number 7279 // signs are allowed. This parameter maps to Image in the Create a container 7280 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7281 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7282 // the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 7283 // 7284 // * When a new task starts, the Amazon ECS container agent pulls the latest 7285 // version of the specified image and tag for the container to use. However, 7286 // subsequent updates to a repository image are not propagated to already 7287 // running tasks. 7288 // 7289 // * Images in Amazon ECR repositories can be specified by either using the 7290 // full registry/repository:tag or registry/repository@digest. For example, 7291 // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 7292 // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. 7293 // 7294 // * Images in official repositories on Docker Hub use a single name (for 7295 // example, ubuntu or mongo). 7296 // 7297 // * Images in other repositories on Docker Hub are qualified with an organization 7298 // name (for example, amazon/amazon-ecs-agent). 7299 // 7300 // * Images in other online repositories are qualified further by a domain 7301 // name (for example, quay.io/assemblyline/ubuntu). 7302 Image *string `locationName:"image" type:"string"` 7303 7304 // When this parameter is true, this allows you to deploy containerized applications 7305 // that require stdin or a tty to be allocated. This parameter maps to OpenStdin 7306 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7307 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7308 // and the --interactive option to docker run (https://docs.docker.com/engine/reference/run/). 7309 Interactive *bool `locationName:"interactive" type:"boolean"` 7310 7311 // The links parameter allows containers to communicate with each other without 7312 // the need for port mappings. This parameter is only supported if the network 7313 // mode of a task definition is bridge. The name:internalName construct is analogous 7314 // to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), 7315 // numbers, and hyphens are allowed. For more information about linking Docker 7316 // containers, go to Legacy container links (https://docs.docker.com/network/links/) 7317 // in the Docker documentation. This parameter maps to Links in the Create a 7318 // container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7319 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7320 // and the --link option to docker run (https://docs.docker.com/engine/reference/run/). 7321 // 7322 // This parameter is not supported for Windows containers. 7323 // 7324 // Containers that are collocated on a single container instance may be able 7325 // to communicate with each other without requiring links or host port mappings. 7326 // Network isolation is achieved on the container instance using security groups 7327 // and VPC settings. 7328 Links []*string `locationName:"links" type:"list"` 7329 7330 // Linux-specific modifications that are applied to the container, such as Linux 7331 // kernel capabilities. For more information see KernelCapabilities. 7332 // 7333 // This parameter is not supported for Windows containers. 7334 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 7335 7336 // The log configuration specification for the container. 7337 // 7338 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7339 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7340 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 7341 // By default, containers use the same logging driver that the Docker daemon 7342 // uses. However the container may use a different logging driver than the Docker 7343 // daemon by specifying a log driver with this parameter in the container definition. 7344 // To use a different logging driver for a container, the log system must be 7345 // configured properly on the container instance (or on a different log server 7346 // for remote logging options). For more information on the options for different 7347 // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 7348 // in the Docker documentation. 7349 // 7350 // Amazon ECS currently supports a subset of the logging drivers available to 7351 // the Docker daemon (shown in the LogConfiguration data type). Additional log 7352 // drivers may be available in future releases of the Amazon ECS container agent. 7353 // 7354 // This parameter requires version 1.18 of the Docker Remote API or greater 7355 // on your container instance. To check the Docker Remote API version on your 7356 // container instance, log in to your container instance and run the following 7357 // command: sudo docker version --format '{{.Server.APIVersion}}' 7358 // 7359 // The Amazon ECS container agent running on a container instance must register 7360 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 7361 // environment variable before containers placed on that instance can use these 7362 // log configuration options. For more information, see Amazon ECS Container 7363 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7364 // in the Amazon Elastic Container Service Developer Guide. 7365 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 7366 7367 // The amount (in MiB) of memory to present to the container. If your container 7368 // attempts to exceed the memory specified here, the container is killed. The 7369 // total amount of memory reserved for all containers within a task must be 7370 // lower than the task memory value, if one is specified. This parameter maps 7371 // to Memory in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7372 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7373 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 7374 // 7375 // If using the Fargate launch type, this parameter is optional. 7376 // 7377 // If using the EC2 launch type, you must specify either a task-level memory 7378 // value or a container-level memory value. If you specify both a container-level 7379 // memory and memoryReservation value, memory must be greater than memoryReservation. 7380 // If you specify memoryReservation, then that value is subtracted from the 7381 // available memory resources for the container instance on which the container 7382 // is placed. Otherwise, the value of memory is used. 7383 // 7384 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7385 // so you should not specify fewer than 4 MiB of memory for your containers. 7386 Memory *int64 `locationName:"memory" type:"integer"` 7387 7388 // The soft limit (in MiB) of memory to reserve for the container. When system 7389 // memory is under heavy contention, Docker attempts to keep the container memory 7390 // to this soft limit. However, your container can consume more memory when 7391 // it needs to, up to either the hard limit specified with the memory parameter 7392 // (if applicable), or all of the available memory on the container instance, 7393 // whichever comes first. This parameter maps to MemoryReservation in the Create 7394 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7395 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7396 // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/). 7397 // 7398 // If a task-level memory value is not specified, you must specify a non-zero 7399 // integer for one or both of memory or memoryReservation in a container definition. 7400 // If you specify both, memory must be greater than memoryReservation. If you 7401 // specify memoryReservation, then that value is subtracted from the available 7402 // memory resources for the container instance on which the container is placed. 7403 // Otherwise, the value of memory is used. 7404 // 7405 // For example, if your container normally uses 128 MiB of memory, but occasionally 7406 // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation 7407 // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would 7408 // allow the container to only reserve 128 MiB of memory from the remaining 7409 // resources on the container instance, but also allow the container to consume 7410 // more memory resources when needed. 7411 // 7412 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7413 // so you should not specify fewer than 4 MiB of memory for your containers. 7414 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 7415 7416 // The mount points for data volumes in your container. 7417 // 7418 // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7419 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7420 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 7421 // 7422 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 7423 // Windows containers cannot mount directories on a different drive, and mount 7424 // point cannot be across drives. 7425 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 7426 7427 // The name of a container. If you are linking multiple containers together 7428 // in a task definition, the name of one container can be entered in the links 7429 // of another container to connect the containers. Up to 255 letters (uppercase 7430 // and lowercase), numbers, and hyphens are allowed. This parameter maps to 7431 // name in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7432 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7433 // and the --name option to docker run (https://docs.docker.com/engine/reference/run/). 7434 Name *string `locationName:"name" type:"string"` 7435 7436 // The list of port mappings for the container. Port mappings allow containers 7437 // to access ports on the host container instance to send or receive traffic. 7438 // 7439 // For task definitions that use the awsvpc network mode, you should only specify 7440 // the containerPort. The hostPort can be left blank or it must be the same 7441 // value as the containerPort. 7442 // 7443 // Port mappings on Windows use the NetNAT gateway address rather than localhost. 7444 // There is no loopback for port mappings on Windows, so you cannot access a 7445 // container's mapped port from the host itself. 7446 // 7447 // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7448 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7449 // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/). 7450 // If the network mode of a task definition is set to none, then you can't specify 7451 // port mappings. If the network mode of a task definition is set to host, then 7452 // host ports must either be undefined or they must match the container port 7453 // in the port mapping. 7454 // 7455 // After a task reaches the RUNNING status, manual and automatic host and container 7456 // port assignments are visible in the Network Bindings section of a container 7457 // description for a selected task in the Amazon ECS console. The assignments 7458 // are also visible in the networkBindings section DescribeTasks responses. 7459 PortMappings []*PortMapping `locationName:"portMappings" type:"list"` 7460 7461 // When this parameter is true, the container is given elevated privileges on 7462 // the host container instance (similar to the root user). This parameter maps 7463 // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7464 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7465 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 7466 // 7467 // This parameter is not supported for Windows containers or tasks using the 7468 // Fargate launch type. 7469 Privileged *bool `locationName:"privileged" type:"boolean"` 7470 7471 // When this parameter is true, a TTY is allocated. This parameter maps to Tty 7472 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7473 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7474 // and the --tty option to docker run (https://docs.docker.com/engine/reference/run/). 7475 PseudoTerminal *bool `locationName:"pseudoTerminal" type:"boolean"` 7476 7477 // When this parameter is true, the container is given read-only access to its 7478 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 7479 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7480 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7481 // the --read-only option to docker run (https://docs.docker.com/engine/reference/run/). 7482 // 7483 // This parameter is not supported for Windows containers. 7484 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 7485 7486 // The private repository authentication credentials to use. 7487 RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"` 7488 7489 // The type and amount of a resource to assign to a container. The only supported 7490 // resource is a GPU. 7491 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 7492 7493 // The secrets to pass to the container. For more information, see Specifying 7494 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 7495 // in the Amazon Elastic Container Service Developer Guide. 7496 Secrets []*Secret `locationName:"secrets" type:"list"` 7497 7498 // Time duration (in seconds) to wait before giving up on resolving dependencies 7499 // for a container. For example, you specify two containers in a task definition 7500 // with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, 7501 // or HEALTHY status. If a startTimeout value is specified for containerB and 7502 // it does not reach the desired status within that time then containerA will 7503 // give up and not start. This results in the task transitioning to a STOPPED 7504 // state. 7505 // 7506 // For tasks using the Fargate launch type, this parameter requires that the 7507 // task or service uses platform version 1.3.0 or later. If this parameter is 7508 // not specified, the default value of 3 minutes is used. 7509 // 7510 // For tasks using the EC2 launch type, if the startTimeout parameter is not 7511 // specified, the value set for the Amazon ECS container agent configuration 7512 // variable ECS_CONTAINER_START_TIMEOUT is used by default. If neither the startTimeout 7513 // parameter or the ECS_CONTAINER_START_TIMEOUT agent configuration variable 7514 // are set, then the default values of 3 minutes for Linux containers and 8 7515 // minutes on Windows containers are used. Your container instances require 7516 // at least version 1.26.0 of the container agent to enable a container start 7517 // timeout value. However, we recommend using the latest container agent version. 7518 // For information about checking your agent version and updating to the latest 7519 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7520 // in the Amazon Elastic Container Service Developer Guide. If you are using 7521 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7522 // of the ecs-init package. If your container instances are launched from version 7523 // 20190301 or later, then they contain the required versions of the container 7524 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7525 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7526 // in the Amazon Elastic Container Service Developer Guide. 7527 StartTimeout *int64 `locationName:"startTimeout" type:"integer"` 7528 7529 // Time duration (in seconds) to wait before the container is forcefully killed 7530 // if it doesn't exit normally on its own. 7531 // 7532 // For tasks using the Fargate launch type, the task or service requires platform 7533 // version 1.3.0 or later. The max stop timeout value is 120 seconds and if 7534 // the parameter is not specified, the default value of 30 seconds is used. 7535 // 7536 // For tasks using the EC2 launch type, if the stopTimeout parameter is not 7537 // specified, the value set for the Amazon ECS container agent configuration 7538 // variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the stopTimeout 7539 // parameter or the ECS_CONTAINER_STOP_TIMEOUT agent configuration variable 7540 // are set, then the default values of 30 seconds for Linux containers and 30 7541 // seconds on Windows containers are used. Your container instances require 7542 // at least version 1.26.0 of the container agent to enable a container stop 7543 // timeout value. However, we recommend using the latest container agent version. 7544 // For information about checking your agent version and updating to the latest 7545 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7546 // in the Amazon Elastic Container Service Developer Guide. If you are using 7547 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7548 // of the ecs-init package. If your container instances are launched from version 7549 // 20190301 or later, then they contain the required versions of the container 7550 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7551 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7552 // in the Amazon Elastic Container Service Developer Guide. 7553 StopTimeout *int64 `locationName:"stopTimeout" type:"integer"` 7554 7555 // A list of namespaced kernel parameters to set in the container. This parameter 7556 // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7557 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7558 // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 7559 // 7560 // It is not recommended that you specify network-related systemControls parameters 7561 // for multiple containers in a single task that also uses either the awsvpc 7562 // or host network modes. For tasks that use the awsvpc network mode, the container 7563 // that is started last determines which systemControls parameters take effect. 7564 // For tasks that use the host network mode, it changes the container instance's 7565 // namespaced kernel parameters as well as the containers. 7566 SystemControls []*SystemControl `locationName:"systemControls" type:"list"` 7567 7568 // A list of ulimits to set in the container. If a ulimit value is specified 7569 // in a task definition, it will override the default values set by Docker. 7570 // This parameter maps to Ulimits in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7571 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7572 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 7573 // Valid naming values are displayed in the Ulimit data type. This parameter 7574 // requires version 1.18 of the Docker Remote API or greater on your container 7575 // instance. To check the Docker Remote API version on your container instance, 7576 // log in to your container instance and run the following command: sudo docker 7577 // version --format '{{.Server.APIVersion}}' 7578 // 7579 // This parameter is not supported for Windows containers. 7580 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 7581 7582 // The user name to use inside the container. This parameter maps to User in 7583 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7584 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7585 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 7586 // 7587 // You can use the following formats. If specifying a UID or GID, you must specify 7588 // it as a positive integer. 7589 // 7590 // * user 7591 // 7592 // * user:group 7593 // 7594 // * uid 7595 // 7596 // * uid:gid 7597 // 7598 // * user:gid 7599 // 7600 // * uid:group 7601 // 7602 // This parameter is not supported for Windows containers. 7603 User *string `locationName:"user" type:"string"` 7604 7605 // Data volumes to mount from another container. This parameter maps to VolumesFrom 7606 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7607 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7608 // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/). 7609 VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` 7610 7611 // The working directory in which to run commands inside the container. This 7612 // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7613 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7614 // and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/). 7615 WorkingDirectory *string `locationName:"workingDirectory" type:"string"` 7616} 7617 7618// String returns the string representation 7619func (s ContainerDefinition) String() string { 7620 return awsutil.Prettify(s) 7621} 7622 7623// GoString returns the string representation 7624func (s ContainerDefinition) GoString() string { 7625 return s.String() 7626} 7627 7628// Validate inspects the fields of the type to determine if they are valid. 7629func (s *ContainerDefinition) Validate() error { 7630 invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} 7631 if s.DependsOn != nil { 7632 for i, v := range s.DependsOn { 7633 if v == nil { 7634 continue 7635 } 7636 if err := v.Validate(); err != nil { 7637 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependsOn", i), err.(request.ErrInvalidParams)) 7638 } 7639 } 7640 } 7641 if s.EnvironmentFiles != nil { 7642 for i, v := range s.EnvironmentFiles { 7643 if v == nil { 7644 continue 7645 } 7646 if err := v.Validate(); err != nil { 7647 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 7648 } 7649 } 7650 } 7651 if s.ExtraHosts != nil { 7652 for i, v := range s.ExtraHosts { 7653 if v == nil { 7654 continue 7655 } 7656 if err := v.Validate(); err != nil { 7657 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) 7658 } 7659 } 7660 } 7661 if s.FirelensConfiguration != nil { 7662 if err := s.FirelensConfiguration.Validate(); err != nil { 7663 invalidParams.AddNested("FirelensConfiguration", err.(request.ErrInvalidParams)) 7664 } 7665 } 7666 if s.HealthCheck != nil { 7667 if err := s.HealthCheck.Validate(); err != nil { 7668 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 7669 } 7670 } 7671 if s.LinuxParameters != nil { 7672 if err := s.LinuxParameters.Validate(); err != nil { 7673 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 7674 } 7675 } 7676 if s.LogConfiguration != nil { 7677 if err := s.LogConfiguration.Validate(); err != nil { 7678 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 7679 } 7680 } 7681 if s.RepositoryCredentials != nil { 7682 if err := s.RepositoryCredentials.Validate(); err != nil { 7683 invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams)) 7684 } 7685 } 7686 if s.ResourceRequirements != nil { 7687 for i, v := range s.ResourceRequirements { 7688 if v == nil { 7689 continue 7690 } 7691 if err := v.Validate(); err != nil { 7692 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 7693 } 7694 } 7695 } 7696 if s.Secrets != nil { 7697 for i, v := range s.Secrets { 7698 if v == nil { 7699 continue 7700 } 7701 if err := v.Validate(); err != nil { 7702 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 7703 } 7704 } 7705 } 7706 if s.Ulimits != nil { 7707 for i, v := range s.Ulimits { 7708 if v == nil { 7709 continue 7710 } 7711 if err := v.Validate(); err != nil { 7712 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 7713 } 7714 } 7715 } 7716 7717 if invalidParams.Len() > 0 { 7718 return invalidParams 7719 } 7720 return nil 7721} 7722 7723// SetCommand sets the Command field's value. 7724func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { 7725 s.Command = v 7726 return s 7727} 7728 7729// SetCpu sets the Cpu field's value. 7730func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { 7731 s.Cpu = &v 7732 return s 7733} 7734 7735// SetDependsOn sets the DependsOn field's value. 7736func (s *ContainerDefinition) SetDependsOn(v []*ContainerDependency) *ContainerDefinition { 7737 s.DependsOn = v 7738 return s 7739} 7740 7741// SetDisableNetworking sets the DisableNetworking field's value. 7742func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition { 7743 s.DisableNetworking = &v 7744 return s 7745} 7746 7747// SetDnsSearchDomains sets the DnsSearchDomains field's value. 7748func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition { 7749 s.DnsSearchDomains = v 7750 return s 7751} 7752 7753// SetDnsServers sets the DnsServers field's value. 7754func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition { 7755 s.DnsServers = v 7756 return s 7757} 7758 7759// SetDockerLabels sets the DockerLabels field's value. 7760func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition { 7761 s.DockerLabels = v 7762 return s 7763} 7764 7765// SetDockerSecurityOptions sets the DockerSecurityOptions field's value. 7766func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition { 7767 s.DockerSecurityOptions = v 7768 return s 7769} 7770 7771// SetEntryPoint sets the EntryPoint field's value. 7772func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { 7773 s.EntryPoint = v 7774 return s 7775} 7776 7777// SetEnvironment sets the Environment field's value. 7778func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition { 7779 s.Environment = v 7780 return s 7781} 7782 7783// SetEnvironmentFiles sets the EnvironmentFiles field's value. 7784func (s *ContainerDefinition) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerDefinition { 7785 s.EnvironmentFiles = v 7786 return s 7787} 7788 7789// SetEssential sets the Essential field's value. 7790func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { 7791 s.Essential = &v 7792 return s 7793} 7794 7795// SetExtraHosts sets the ExtraHosts field's value. 7796func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition { 7797 s.ExtraHosts = v 7798 return s 7799} 7800 7801// SetFirelensConfiguration sets the FirelensConfiguration field's value. 7802func (s *ContainerDefinition) SetFirelensConfiguration(v *FirelensConfiguration) *ContainerDefinition { 7803 s.FirelensConfiguration = v 7804 return s 7805} 7806 7807// SetHealthCheck sets the HealthCheck field's value. 7808func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition { 7809 s.HealthCheck = v 7810 return s 7811} 7812 7813// SetHostname sets the Hostname field's value. 7814func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition { 7815 s.Hostname = &v 7816 return s 7817} 7818 7819// SetImage sets the Image field's value. 7820func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { 7821 s.Image = &v 7822 return s 7823} 7824 7825// SetInteractive sets the Interactive field's value. 7826func (s *ContainerDefinition) SetInteractive(v bool) *ContainerDefinition { 7827 s.Interactive = &v 7828 return s 7829} 7830 7831// SetLinks sets the Links field's value. 7832func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { 7833 s.Links = v 7834 return s 7835} 7836 7837// SetLinuxParameters sets the LinuxParameters field's value. 7838func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { 7839 s.LinuxParameters = v 7840 return s 7841} 7842 7843// SetLogConfiguration sets the LogConfiguration field's value. 7844func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { 7845 s.LogConfiguration = v 7846 return s 7847} 7848 7849// SetMemory sets the Memory field's value. 7850func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition { 7851 s.Memory = &v 7852 return s 7853} 7854 7855// SetMemoryReservation sets the MemoryReservation field's value. 7856func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition { 7857 s.MemoryReservation = &v 7858 return s 7859} 7860 7861// SetMountPoints sets the MountPoints field's value. 7862func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition { 7863 s.MountPoints = v 7864 return s 7865} 7866 7867// SetName sets the Name field's value. 7868func (s *ContainerDefinition) SetName(v string) *ContainerDefinition { 7869 s.Name = &v 7870 return s 7871} 7872 7873// SetPortMappings sets the PortMappings field's value. 7874func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition { 7875 s.PortMappings = v 7876 return s 7877} 7878 7879// SetPrivileged sets the Privileged field's value. 7880func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition { 7881 s.Privileged = &v 7882 return s 7883} 7884 7885// SetPseudoTerminal sets the PseudoTerminal field's value. 7886func (s *ContainerDefinition) SetPseudoTerminal(v bool) *ContainerDefinition { 7887 s.PseudoTerminal = &v 7888 return s 7889} 7890 7891// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 7892func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition { 7893 s.ReadonlyRootFilesystem = &v 7894 return s 7895} 7896 7897// SetRepositoryCredentials sets the RepositoryCredentials field's value. 7898func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) *ContainerDefinition { 7899 s.RepositoryCredentials = v 7900 return s 7901} 7902 7903// SetResourceRequirements sets the ResourceRequirements field's value. 7904func (s *ContainerDefinition) SetResourceRequirements(v []*ResourceRequirement) *ContainerDefinition { 7905 s.ResourceRequirements = v 7906 return s 7907} 7908 7909// SetSecrets sets the Secrets field's value. 7910func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition { 7911 s.Secrets = v 7912 return s 7913} 7914 7915// SetStartTimeout sets the StartTimeout field's value. 7916func (s *ContainerDefinition) SetStartTimeout(v int64) *ContainerDefinition { 7917 s.StartTimeout = &v 7918 return s 7919} 7920 7921// SetStopTimeout sets the StopTimeout field's value. 7922func (s *ContainerDefinition) SetStopTimeout(v int64) *ContainerDefinition { 7923 s.StopTimeout = &v 7924 return s 7925} 7926 7927// SetSystemControls sets the SystemControls field's value. 7928func (s *ContainerDefinition) SetSystemControls(v []*SystemControl) *ContainerDefinition { 7929 s.SystemControls = v 7930 return s 7931} 7932 7933// SetUlimits sets the Ulimits field's value. 7934func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition { 7935 s.Ulimits = v 7936 return s 7937} 7938 7939// SetUser sets the User field's value. 7940func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition { 7941 s.User = &v 7942 return s 7943} 7944 7945// SetVolumesFrom sets the VolumesFrom field's value. 7946func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition { 7947 s.VolumesFrom = v 7948 return s 7949} 7950 7951// SetWorkingDirectory sets the WorkingDirectory field's value. 7952func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { 7953 s.WorkingDirectory = &v 7954 return s 7955} 7956 7957// The dependencies defined for container startup and shutdown. A container 7958// can contain multiple dependencies. When a dependency is defined for container 7959// startup, for container shutdown it is reversed. 7960// 7961// Your Amazon ECS container instances require at least version 1.26.0 of the 7962// container agent to enable container dependencies. However, we recommend using 7963// the latest container agent version. For information about checking your agent 7964// version and updating to the latest version, see Updating the Amazon ECS Container 7965// Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7966// in the Amazon Elastic Container Service Developer Guide. If you are using 7967// an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7968// of the ecs-init package. If your container instances are launched from version 7969// 20190301 or later, then they contain the required versions of the container 7970// agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7971// AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7972// in the Amazon Elastic Container Service Developer Guide. 7973// 7974// For tasks using the Fargate launch type, this parameter requires that the 7975// task or service uses platform version 1.3.0 or later. 7976type ContainerDependency struct { 7977 _ struct{} `type:"structure"` 7978 7979 // The dependency condition of the container. The following are the available 7980 // conditions and their behavior: 7981 // 7982 // * START - This condition emulates the behavior of links and volumes today. 7983 // It validates that a dependent container is started before permitting other 7984 // containers to start. 7985 // 7986 // * COMPLETE - This condition validates that a dependent container runs 7987 // to completion (exits) before permitting other containers to start. This 7988 // can be useful for nonessential containers that run a script and then exit. 7989 // 7990 // * SUCCESS - This condition is the same as COMPLETE, but it also requires 7991 // that the container exits with a zero status. 7992 // 7993 // * HEALTHY - This condition validates that the dependent container passes 7994 // its Docker health check before permitting other containers to start. This 7995 // requires that the dependent container has health checks configured. This 7996 // condition is confirmed only at task startup. 7997 // 7998 // Condition is a required field 7999 Condition *string `locationName:"condition" type:"string" required:"true" enum:"ContainerCondition"` 8000 8001 // The name of a container. 8002 // 8003 // ContainerName is a required field 8004 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 8005} 8006 8007// String returns the string representation 8008func (s ContainerDependency) String() string { 8009 return awsutil.Prettify(s) 8010} 8011 8012// GoString returns the string representation 8013func (s ContainerDependency) GoString() string { 8014 return s.String() 8015} 8016 8017// Validate inspects the fields of the type to determine if they are valid. 8018func (s *ContainerDependency) Validate() error { 8019 invalidParams := request.ErrInvalidParams{Context: "ContainerDependency"} 8020 if s.Condition == nil { 8021 invalidParams.Add(request.NewErrParamRequired("Condition")) 8022 } 8023 if s.ContainerName == nil { 8024 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 8025 } 8026 8027 if invalidParams.Len() > 0 { 8028 return invalidParams 8029 } 8030 return nil 8031} 8032 8033// SetCondition sets the Condition field's value. 8034func (s *ContainerDependency) SetCondition(v string) *ContainerDependency { 8035 s.Condition = &v 8036 return s 8037} 8038 8039// SetContainerName sets the ContainerName field's value. 8040func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { 8041 s.ContainerName = &v 8042 return s 8043} 8044 8045// An EC2 instance that is running the Amazon ECS agent and has been registered 8046// with a cluster. 8047type ContainerInstance struct { 8048 _ struct{} `type:"structure"` 8049 8050 // This parameter returns true if the agent is connected to Amazon ECS. Registered 8051 // instances with an agent that may be unhealthy or stopped return false. Only 8052 // instances connected to an agent can accept placement requests. 8053 AgentConnected *bool `locationName:"agentConnected" type:"boolean"` 8054 8055 // The status of the most recent agent update. If an update has never been requested, 8056 // this value is NULL. 8057 AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` 8058 8059 // The resources attached to a container instance, such as elastic network interfaces. 8060 Attachments []*Attachment `locationName:"attachments" type:"list"` 8061 8062 // The attributes set for the container instance, either by the Amazon ECS container 8063 // agent at instance registration or manually with the PutAttributes operation. 8064 Attributes []*Attribute `locationName:"attributes" type:"list"` 8065 8066 // The capacity provider associated with the container instance. 8067 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 8068 8069 // The Amazon Resource Name (ARN) of the container instance. The ARN contains 8070 // the arn:aws:ecs namespace, followed by the Region of the container instance, 8071 // the AWS account ID of the container instance owner, the container-instance 8072 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 8073 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 8074 8075 // The EC2 instance ID of the container instance. 8076 Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` 8077 8078 // The number of tasks on the container instance that are in the PENDING status. 8079 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 8080 8081 // The Unix timestamp for when the container instance was registered. 8082 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 8083 8084 // For CPU and memory resource types, this parameter describes the amount of 8085 // each resource that was available on the container instance when the container 8086 // agent registered it with Amazon ECS. This value represents the total amount 8087 // of CPU and memory that can be allocated on this container instance to tasks. 8088 // For port resource types, this parameter describes the ports that were reserved 8089 // by the Amazon ECS container agent when it registered the container instance 8090 // with Amazon ECS. 8091 RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` 8092 8093 // For CPU and memory resource types, this parameter describes the remaining 8094 // CPU and memory that has not already been allocated to tasks and is therefore 8095 // available for new tasks. For port resource types, this parameter describes 8096 // the ports that were reserved by the Amazon ECS container agent (at instance 8097 // registration time) and any task containers that have reserved port mappings 8098 // on the host (with the host or bridge network mode). Any port that is not 8099 // specified here is available for new tasks. 8100 RemainingResources []*Resource `locationName:"remainingResources" type:"list"` 8101 8102 // The number of tasks on the container instance that are in the RUNNING status. 8103 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 8104 8105 // The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, 8106 // ACTIVE, INACTIVE, DEREGISTERING, or DRAINING. 8107 // 8108 // If your account has opted in to the awsvpcTrunking account setting, then 8109 // any newly registered container instance will transition to a REGISTERING 8110 // status while the trunk elastic network interface is provisioned for the instance. 8111 // If the registration fails, the instance will transition to a REGISTRATION_FAILED 8112 // status. You can describe the container instance and see the reason for failure 8113 // in the statusReason parameter. Once the container instance is terminated, 8114 // the instance transitions to a DEREGISTERING status while the trunk elastic 8115 // network interface is deprovisioned. The instance then transitions to an INACTIVE 8116 // status. 8117 // 8118 // The ACTIVE status indicates that the container instance can accept tasks. 8119 // The DRAINING indicates that new tasks are not placed on the container instance 8120 // and any service tasks running on the container instance are removed if possible. 8121 // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) 8122 // in the Amazon Elastic Container Service Developer Guide. 8123 Status *string `locationName:"status" type:"string"` 8124 8125 // The reason that the container instance reached its current status. 8126 StatusReason *string `locationName:"statusReason" type:"string"` 8127 8128 // The metadata that you apply to the container instance to help you categorize 8129 // and organize them. Each tag consists of a key and an optional value, both 8130 // of which you define. 8131 // 8132 // The following basic restrictions apply to tags: 8133 // 8134 // * Maximum number of tags per resource - 50 8135 // 8136 // * For each resource, each tag key must be unique, and each tag key can 8137 // have only one value. 8138 // 8139 // * Maximum key length - 128 Unicode characters in UTF-8 8140 // 8141 // * Maximum value length - 256 Unicode characters in UTF-8 8142 // 8143 // * If your tagging schema is used across multiple services and resources, 8144 // remember that other services may have restrictions on allowed characters. 8145 // Generally allowed characters are: letters, numbers, and spaces representable 8146 // in UTF-8, and the following characters: + - = . _ : / @. 8147 // 8148 // * Tag keys and values are case-sensitive. 8149 // 8150 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8151 // as a prefix for either keys or values as it is reserved for AWS use. You 8152 // cannot edit or delete tag keys or values with this prefix. Tags with this 8153 // prefix do not count against your tags per resource limit. 8154 Tags []*Tag `locationName:"tags" type:"list"` 8155 8156 // The version counter for the container instance. Every time a container instance 8157 // experiences a change that triggers a CloudWatch event, the version counter 8158 // is incremented. If you are replicating your Amazon ECS container instance 8159 // state with CloudWatch Events, you can compare the version of a container 8160 // instance reported by the Amazon ECS APIs with the version reported in CloudWatch 8161 // Events for the container instance (inside the detail object) to verify that 8162 // the version in your event stream is current. 8163 Version *int64 `locationName:"version" type:"long"` 8164 8165 // The version information for the Amazon ECS container agent and Docker daemon 8166 // running on the container instance. 8167 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 8168} 8169 8170// String returns the string representation 8171func (s ContainerInstance) String() string { 8172 return awsutil.Prettify(s) 8173} 8174 8175// GoString returns the string representation 8176func (s ContainerInstance) GoString() string { 8177 return s.String() 8178} 8179 8180// SetAgentConnected sets the AgentConnected field's value. 8181func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance { 8182 s.AgentConnected = &v 8183 return s 8184} 8185 8186// SetAgentUpdateStatus sets the AgentUpdateStatus field's value. 8187func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance { 8188 s.AgentUpdateStatus = &v 8189 return s 8190} 8191 8192// SetAttachments sets the Attachments field's value. 8193func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance { 8194 s.Attachments = v 8195 return s 8196} 8197 8198// SetAttributes sets the Attributes field's value. 8199func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance { 8200 s.Attributes = v 8201 return s 8202} 8203 8204// SetCapacityProviderName sets the CapacityProviderName field's value. 8205func (s *ContainerInstance) SetCapacityProviderName(v string) *ContainerInstance { 8206 s.CapacityProviderName = &v 8207 return s 8208} 8209 8210// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 8211func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance { 8212 s.ContainerInstanceArn = &v 8213 return s 8214} 8215 8216// SetEc2InstanceId sets the Ec2InstanceId field's value. 8217func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance { 8218 s.Ec2InstanceId = &v 8219 return s 8220} 8221 8222// SetPendingTasksCount sets the PendingTasksCount field's value. 8223func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance { 8224 s.PendingTasksCount = &v 8225 return s 8226} 8227 8228// SetRegisteredAt sets the RegisteredAt field's value. 8229func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance { 8230 s.RegisteredAt = &v 8231 return s 8232} 8233 8234// SetRegisteredResources sets the RegisteredResources field's value. 8235func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance { 8236 s.RegisteredResources = v 8237 return s 8238} 8239 8240// SetRemainingResources sets the RemainingResources field's value. 8241func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance { 8242 s.RemainingResources = v 8243 return s 8244} 8245 8246// SetRunningTasksCount sets the RunningTasksCount field's value. 8247func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance { 8248 s.RunningTasksCount = &v 8249 return s 8250} 8251 8252// SetStatus sets the Status field's value. 8253func (s *ContainerInstance) SetStatus(v string) *ContainerInstance { 8254 s.Status = &v 8255 return s 8256} 8257 8258// SetStatusReason sets the StatusReason field's value. 8259func (s *ContainerInstance) SetStatusReason(v string) *ContainerInstance { 8260 s.StatusReason = &v 8261 return s 8262} 8263 8264// SetTags sets the Tags field's value. 8265func (s *ContainerInstance) SetTags(v []*Tag) *ContainerInstance { 8266 s.Tags = v 8267 return s 8268} 8269 8270// SetVersion sets the Version field's value. 8271func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance { 8272 s.Version = &v 8273 return s 8274} 8275 8276// SetVersionInfo sets the VersionInfo field's value. 8277func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance { 8278 s.VersionInfo = v 8279 return s 8280} 8281 8282// The overrides that should be sent to a container. An empty container override 8283// can be passed in. An example of an empty container override would be {"containerOverrides": 8284// [ ] }. If a non-empty container override is specified, the name parameter 8285// must be included. 8286type ContainerOverride struct { 8287 _ struct{} `type:"structure"` 8288 8289 // The command to send to the container that overrides the default command from 8290 // the Docker image or the task definition. You must also specify a container 8291 // name. 8292 Command []*string `locationName:"command" type:"list"` 8293 8294 // The number of cpu units reserved for the container, instead of the default 8295 // value from the task definition. You must also specify a container name. 8296 Cpu *int64 `locationName:"cpu" type:"integer"` 8297 8298 // The environment variables to send to the container. You can add new environment 8299 // variables, which are added to the container at launch, or you can override 8300 // the existing environment variables from the Docker image or the task definition. 8301 // You must also specify a container name. 8302 Environment []*KeyValuePair `locationName:"environment" type:"list"` 8303 8304 // A list of files containing the environment variables to pass to a container, 8305 // instead of the value from the container definition. 8306 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 8307 8308 // The hard limit (in MiB) of memory to present to the container, instead of 8309 // the default value from the task definition. If your container attempts to 8310 // exceed the memory specified here, the container is killed. You must also 8311 // specify a container name. 8312 Memory *int64 `locationName:"memory" type:"integer"` 8313 8314 // The soft limit (in MiB) of memory to reserve for the container, instead of 8315 // the default value from the task definition. You must also specify a container 8316 // name. 8317 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 8318 8319 // The name of the container that receives the override. This parameter is required 8320 // if any override is specified. 8321 Name *string `locationName:"name" type:"string"` 8322 8323 // The type and amount of a resource to assign to a container, instead of the 8324 // default value from the task definition. The only supported resource is a 8325 // GPU. 8326 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 8327} 8328 8329// String returns the string representation 8330func (s ContainerOverride) String() string { 8331 return awsutil.Prettify(s) 8332} 8333 8334// GoString returns the string representation 8335func (s ContainerOverride) GoString() string { 8336 return s.String() 8337} 8338 8339// Validate inspects the fields of the type to determine if they are valid. 8340func (s *ContainerOverride) Validate() error { 8341 invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} 8342 if s.EnvironmentFiles != nil { 8343 for i, v := range s.EnvironmentFiles { 8344 if v == nil { 8345 continue 8346 } 8347 if err := v.Validate(); err != nil { 8348 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 8349 } 8350 } 8351 } 8352 if s.ResourceRequirements != nil { 8353 for i, v := range s.ResourceRequirements { 8354 if v == nil { 8355 continue 8356 } 8357 if err := v.Validate(); err != nil { 8358 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 8359 } 8360 } 8361 } 8362 8363 if invalidParams.Len() > 0 { 8364 return invalidParams 8365 } 8366 return nil 8367} 8368 8369// SetCommand sets the Command field's value. 8370func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { 8371 s.Command = v 8372 return s 8373} 8374 8375// SetCpu sets the Cpu field's value. 8376func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride { 8377 s.Cpu = &v 8378 return s 8379} 8380 8381// SetEnvironment sets the Environment field's value. 8382func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride { 8383 s.Environment = v 8384 return s 8385} 8386 8387// SetEnvironmentFiles sets the EnvironmentFiles field's value. 8388func (s *ContainerOverride) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerOverride { 8389 s.EnvironmentFiles = v 8390 return s 8391} 8392 8393// SetMemory sets the Memory field's value. 8394func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { 8395 s.Memory = &v 8396 return s 8397} 8398 8399// SetMemoryReservation sets the MemoryReservation field's value. 8400func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride { 8401 s.MemoryReservation = &v 8402 return s 8403} 8404 8405// SetName sets the Name field's value. 8406func (s *ContainerOverride) SetName(v string) *ContainerOverride { 8407 s.Name = &v 8408 return s 8409} 8410 8411// SetResourceRequirements sets the ResourceRequirements field's value. 8412func (s *ContainerOverride) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverride { 8413 s.ResourceRequirements = v 8414 return s 8415} 8416 8417// An object representing a change in state for a container. 8418type ContainerStateChange struct { 8419 _ struct{} `type:"structure"` 8420 8421 // The name of the container. 8422 ContainerName *string `locationName:"containerName" type:"string"` 8423 8424 // The exit code for the container, if the state change is a result of the container 8425 // exiting. 8426 ExitCode *int64 `locationName:"exitCode" type:"integer"` 8427 8428 // The container image SHA 256 digest. 8429 ImageDigest *string `locationName:"imageDigest" type:"string"` 8430 8431 // Any network bindings associated with the container. 8432 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 8433 8434 // The reason for the state change. 8435 Reason *string `locationName:"reason" type:"string"` 8436 8437 // The ID of the Docker container. 8438 RuntimeId *string `locationName:"runtimeId" type:"string"` 8439 8440 // The status of the container. 8441 Status *string `locationName:"status" type:"string"` 8442} 8443 8444// String returns the string representation 8445func (s ContainerStateChange) String() string { 8446 return awsutil.Prettify(s) 8447} 8448 8449// GoString returns the string representation 8450func (s ContainerStateChange) GoString() string { 8451 return s.String() 8452} 8453 8454// SetContainerName sets the ContainerName field's value. 8455func (s *ContainerStateChange) SetContainerName(v string) *ContainerStateChange { 8456 s.ContainerName = &v 8457 return s 8458} 8459 8460// SetExitCode sets the ExitCode field's value. 8461func (s *ContainerStateChange) SetExitCode(v int64) *ContainerStateChange { 8462 s.ExitCode = &v 8463 return s 8464} 8465 8466// SetImageDigest sets the ImageDigest field's value. 8467func (s *ContainerStateChange) SetImageDigest(v string) *ContainerStateChange { 8468 s.ImageDigest = &v 8469 return s 8470} 8471 8472// SetNetworkBindings sets the NetworkBindings field's value. 8473func (s *ContainerStateChange) SetNetworkBindings(v []*NetworkBinding) *ContainerStateChange { 8474 s.NetworkBindings = v 8475 return s 8476} 8477 8478// SetReason sets the Reason field's value. 8479func (s *ContainerStateChange) SetReason(v string) *ContainerStateChange { 8480 s.Reason = &v 8481 return s 8482} 8483 8484// SetRuntimeId sets the RuntimeId field's value. 8485func (s *ContainerStateChange) SetRuntimeId(v string) *ContainerStateChange { 8486 s.RuntimeId = &v 8487 return s 8488} 8489 8490// SetStatus sets the Status field's value. 8491func (s *ContainerStateChange) SetStatus(v string) *ContainerStateChange { 8492 s.Status = &v 8493 return s 8494} 8495 8496type CreateCapacityProviderInput struct { 8497 _ struct{} `type:"structure"` 8498 8499 // The details of the Auto Scaling group for the capacity provider. 8500 // 8501 // AutoScalingGroupProvider is a required field 8502 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` 8503 8504 // The name of the capacity provider. Up to 255 characters are allowed, including 8505 // letters (upper and lowercase), numbers, underscores, and hyphens. The name 8506 // cannot be prefixed with "aws", "ecs", or "fargate". 8507 // 8508 // Name is a required field 8509 Name *string `locationName:"name" type:"string" required:"true"` 8510 8511 // The metadata that you apply to the capacity provider to help you categorize 8512 // and organize them. Each tag consists of a key and an optional value, both 8513 // of which you define. 8514 // 8515 // The following basic restrictions apply to tags: 8516 // 8517 // * Maximum number of tags per resource - 50 8518 // 8519 // * For each resource, each tag key must be unique, and each tag key can 8520 // have only one value. 8521 // 8522 // * Maximum key length - 128 Unicode characters in UTF-8 8523 // 8524 // * Maximum value length - 256 Unicode characters in UTF-8 8525 // 8526 // * If your tagging schema is used across multiple services and resources, 8527 // remember that other services may have restrictions on allowed characters. 8528 // Generally allowed characters are: letters, numbers, and spaces representable 8529 // in UTF-8, and the following characters: + - = . _ : / @. 8530 // 8531 // * Tag keys and values are case-sensitive. 8532 // 8533 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8534 // as a prefix for either keys or values as it is reserved for AWS use. You 8535 // cannot edit or delete tag keys or values with this prefix. Tags with this 8536 // prefix do not count against your tags per resource limit. 8537 Tags []*Tag `locationName:"tags" type:"list"` 8538} 8539 8540// String returns the string representation 8541func (s CreateCapacityProviderInput) String() string { 8542 return awsutil.Prettify(s) 8543} 8544 8545// GoString returns the string representation 8546func (s CreateCapacityProviderInput) GoString() string { 8547 return s.String() 8548} 8549 8550// Validate inspects the fields of the type to determine if they are valid. 8551func (s *CreateCapacityProviderInput) Validate() error { 8552 invalidParams := request.ErrInvalidParams{Context: "CreateCapacityProviderInput"} 8553 if s.AutoScalingGroupProvider == nil { 8554 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) 8555 } 8556 if s.Name == nil { 8557 invalidParams.Add(request.NewErrParamRequired("Name")) 8558 } 8559 if s.AutoScalingGroupProvider != nil { 8560 if err := s.AutoScalingGroupProvider.Validate(); err != nil { 8561 invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) 8562 } 8563 } 8564 if s.Tags != nil { 8565 for i, v := range s.Tags { 8566 if v == nil { 8567 continue 8568 } 8569 if err := v.Validate(); err != nil { 8570 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8571 } 8572 } 8573 } 8574 8575 if invalidParams.Len() > 0 { 8576 return invalidParams 8577 } 8578 return nil 8579} 8580 8581// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 8582func (s *CreateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CreateCapacityProviderInput { 8583 s.AutoScalingGroupProvider = v 8584 return s 8585} 8586 8587// SetName sets the Name field's value. 8588func (s *CreateCapacityProviderInput) SetName(v string) *CreateCapacityProviderInput { 8589 s.Name = &v 8590 return s 8591} 8592 8593// SetTags sets the Tags field's value. 8594func (s *CreateCapacityProviderInput) SetTags(v []*Tag) *CreateCapacityProviderInput { 8595 s.Tags = v 8596 return s 8597} 8598 8599type CreateCapacityProviderOutput struct { 8600 _ struct{} `type:"structure"` 8601 8602 // The full description of the new capacity provider. 8603 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 8604} 8605 8606// String returns the string representation 8607func (s CreateCapacityProviderOutput) String() string { 8608 return awsutil.Prettify(s) 8609} 8610 8611// GoString returns the string representation 8612func (s CreateCapacityProviderOutput) GoString() string { 8613 return s.String() 8614} 8615 8616// SetCapacityProvider sets the CapacityProvider field's value. 8617func (s *CreateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *CreateCapacityProviderOutput { 8618 s.CapacityProvider = v 8619 return s 8620} 8621 8622type CreateClusterInput struct { 8623 _ struct{} `type:"structure"` 8624 8625 // The short name of one or more capacity providers to associate with the cluster. 8626 // 8627 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8628 // provider must already be created and not already associated with another 8629 // cluster. New capacity providers can be created with the CreateCapacityProvider 8630 // API operation. 8631 // 8632 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8633 // capacity providers. The AWS Fargate capacity providers are available to all 8634 // accounts and only need to be associated with a cluster to be used. 8635 // 8636 // The PutClusterCapacityProviders API operation is used to update the list 8637 // of available capacity providers for a cluster after the cluster is created. 8638 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 8639 8640 // The name of your cluster. If you do not specify a name for your cluster, 8641 // you create a cluster named default. Up to 255 letters (uppercase and lowercase), 8642 // numbers, and hyphens are allowed. 8643 ClusterName *string `locationName:"clusterName" type:"string"` 8644 8645 // The capacity provider strategy to use by default for the cluster. 8646 // 8647 // When creating a service or running a task on a cluster, if no capacity provider 8648 // or launch type is specified then the default capacity provider strategy for 8649 // the cluster is used. 8650 // 8651 // A capacity provider strategy consists of one or more capacity providers along 8652 // with the base and weight to assign to them. A capacity provider must be associated 8653 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8654 // API is used to associate a capacity provider with a cluster. Only capacity 8655 // providers with an ACTIVE or UPDATING status can be used. 8656 // 8657 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8658 // provider must already be created. New capacity providers can be created with 8659 // the CreateCapacityProvider API operation. 8660 // 8661 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8662 // capacity providers. The AWS Fargate capacity providers are available to all 8663 // accounts and only need to be associated with a cluster to be used. 8664 // 8665 // If a default capacity provider strategy is not defined for a cluster during 8666 // creation, it can be defined later with the PutClusterCapacityProviders API 8667 // operation. 8668 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 8669 8670 // The setting to use when creating a cluster. This parameter is used to enable 8671 // CloudWatch Container Insights for a cluster. If this value is specified, 8672 // it will override the containerInsights value set with PutAccountSetting or 8673 // PutAccountSettingDefault. 8674 Settings []*ClusterSetting `locationName:"settings" type:"list"` 8675 8676 // The metadata that you apply to the cluster to help you categorize and organize 8677 // them. Each tag consists of a key and an optional value, both of which you 8678 // define. 8679 // 8680 // The following basic restrictions apply to tags: 8681 // 8682 // * Maximum number of tags per resource - 50 8683 // 8684 // * For each resource, each tag key must be unique, and each tag key can 8685 // have only one value. 8686 // 8687 // * Maximum key length - 128 Unicode characters in UTF-8 8688 // 8689 // * Maximum value length - 256 Unicode characters in UTF-8 8690 // 8691 // * If your tagging schema is used across multiple services and resources, 8692 // remember that other services may have restrictions on allowed characters. 8693 // Generally allowed characters are: letters, numbers, and spaces representable 8694 // in UTF-8, and the following characters: + - = . _ : / @. 8695 // 8696 // * Tag keys and values are case-sensitive. 8697 // 8698 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8699 // as a prefix for either keys or values as it is reserved for AWS use. You 8700 // cannot edit or delete tag keys or values with this prefix. Tags with this 8701 // prefix do not count against your tags per resource limit. 8702 Tags []*Tag `locationName:"tags" type:"list"` 8703} 8704 8705// String returns the string representation 8706func (s CreateClusterInput) String() string { 8707 return awsutil.Prettify(s) 8708} 8709 8710// GoString returns the string representation 8711func (s CreateClusterInput) GoString() string { 8712 return s.String() 8713} 8714 8715// Validate inspects the fields of the type to determine if they are valid. 8716func (s *CreateClusterInput) Validate() error { 8717 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 8718 if s.DefaultCapacityProviderStrategy != nil { 8719 for i, v := range s.DefaultCapacityProviderStrategy { 8720 if v == nil { 8721 continue 8722 } 8723 if err := v.Validate(); err != nil { 8724 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 8725 } 8726 } 8727 } 8728 if s.Tags != nil { 8729 for i, v := range s.Tags { 8730 if v == nil { 8731 continue 8732 } 8733 if err := v.Validate(); err != nil { 8734 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8735 } 8736 } 8737 } 8738 8739 if invalidParams.Len() > 0 { 8740 return invalidParams 8741 } 8742 return nil 8743} 8744 8745// SetCapacityProviders sets the CapacityProviders field's value. 8746func (s *CreateClusterInput) SetCapacityProviders(v []*string) *CreateClusterInput { 8747 s.CapacityProviders = v 8748 return s 8749} 8750 8751// SetClusterName sets the ClusterName field's value. 8752func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { 8753 s.ClusterName = &v 8754 return s 8755} 8756 8757// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 8758func (s *CreateClusterInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateClusterInput { 8759 s.DefaultCapacityProviderStrategy = v 8760 return s 8761} 8762 8763// SetSettings sets the Settings field's value. 8764func (s *CreateClusterInput) SetSettings(v []*ClusterSetting) *CreateClusterInput { 8765 s.Settings = v 8766 return s 8767} 8768 8769// SetTags sets the Tags field's value. 8770func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { 8771 s.Tags = v 8772 return s 8773} 8774 8775type CreateClusterOutput struct { 8776 _ struct{} `type:"structure"` 8777 8778 // The full description of your new cluster. 8779 Cluster *Cluster `locationName:"cluster" type:"structure"` 8780} 8781 8782// String returns the string representation 8783func (s CreateClusterOutput) String() string { 8784 return awsutil.Prettify(s) 8785} 8786 8787// GoString returns the string representation 8788func (s CreateClusterOutput) GoString() string { 8789 return s.String() 8790} 8791 8792// SetCluster sets the Cluster field's value. 8793func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 8794 s.Cluster = v 8795 return s 8796} 8797 8798type CreateServiceInput struct { 8799 _ struct{} `type:"structure"` 8800 8801 // The capacity provider strategy to use for the service. 8802 // 8803 // A capacity provider strategy consists of one or more capacity providers along 8804 // with the base and weight to assign to them. A capacity provider must be associated 8805 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8806 // API is used to associate a capacity provider with a cluster. Only capacity 8807 // providers with an ACTIVE or UPDATING status can be used. 8808 // 8809 // If a capacityProviderStrategy is specified, the launchType parameter must 8810 // be omitted. If no capacityProviderStrategy or launchType is specified, the 8811 // defaultCapacityProviderStrategy for the cluster is used. 8812 // 8813 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8814 // provider must already be created. New capacity providers can be created with 8815 // the CreateCapacityProvider API operation. 8816 // 8817 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8818 // capacity providers. The AWS Fargate capacity providers are available to all 8819 // accounts and only need to be associated with a cluster to be used. 8820 // 8821 // The PutClusterCapacityProviders API operation is used to update the list 8822 // of available capacity providers for a cluster after the cluster is created. 8823 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 8824 8825 // Unique, case-sensitive identifier that you provide to ensure the idempotency 8826 // of the request. Up to 32 ASCII characters are allowed. 8827 ClientToken *string `locationName:"clientToken" type:"string"` 8828 8829 // The short name or full Amazon Resource Name (ARN) of the cluster on which 8830 // to run your service. If you do not specify a cluster, the default cluster 8831 // is assumed. 8832 Cluster *string `locationName:"cluster" type:"string"` 8833 8834 // Optional deployment parameters that control how many tasks run during the 8835 // deployment and the ordering of stopping and starting tasks. 8836 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 8837 8838 // The deployment controller to use for the service. 8839 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 8840 8841 // The number of instantiations of the specified task definition to place and 8842 // keep running on your cluster. 8843 // 8844 // This is required if schedulingStrategy is REPLICA or is not specified. If 8845 // schedulingStrategy is DAEMON then this is not required. 8846 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 8847 8848 // Specifies whether to enable Amazon ECS managed tags for the tasks within 8849 // the service. For more information, see Tagging Your Amazon ECS Resources 8850 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 8851 // in the Amazon Elastic Container Service Developer Guide. 8852 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 8853 8854 // The period of time, in seconds, that the Amazon ECS service scheduler should 8855 // ignore unhealthy Elastic Load Balancing target health checks after a task 8856 // has first started. This is only used when your service is configured to use 8857 // a load balancer. If your service has a load balancer defined and you don't 8858 // specify a health check grace period value, the default value of 0 is used. 8859 // 8860 // If your service's tasks take a while to start and respond to Elastic Load 8861 // Balancing health checks, you can specify a health check grace period of up 8862 // to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler 8863 // ignores health check status. This grace period can prevent the service scheduler 8864 // from marking tasks as unhealthy and stopping them before they have time to 8865 // come up. 8866 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 8867 8868 // The launch type on which to run your service. For more information, see Amazon 8869 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 8870 // in the Amazon Elastic Container Service Developer Guide. 8871 // 8872 // If a launchType is specified, the capacityProviderStrategy parameter must 8873 // be omitted. 8874 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 8875 8876 // A load balancer object representing the load balancers to use with your service. 8877 // For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 8878 // in the Amazon Elastic Container Service Developer Guide. 8879 // 8880 // If the service is using the rolling update (ECS) deployment controller and 8881 // using either an Application Load Balancer or Network Load Balancer, you can 8882 // specify multiple target groups to attach to the service. The service-linked 8883 // role is required for services that make use of multiple target groups. For 8884 // more information, see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 8885 // in the Amazon Elastic Container Service Developer Guide. 8886 // 8887 // If the service is using the CODE_DEPLOY deployment controller, the service 8888 // is required to use either an Application Load Balancer or Network Load Balancer. 8889 // When creating an AWS CodeDeploy deployment group, you specify two target 8890 // groups (referred to as a targetGroupPair). During a deployment, AWS CodeDeploy 8891 // determines which task set in your service has the status PRIMARY and associates 8892 // one target group with it, and then associates the other target group with 8893 // the replacement task set. The load balancer can also have up to two listeners: 8894 // a required listener for production traffic and an optional listener that 8895 // allows you perform validation tests with Lambda functions before routing 8896 // production traffic to it. 8897 // 8898 // After you create a service using the ECS deployment controller, the load 8899 // balancer name or target group ARN, container name, and container port specified 8900 // in the service definition are immutable. If you are using the CODE_DEPLOY 8901 // deployment controller, these values can be changed when updating the service. 8902 // 8903 // For Application Load Balancers and Network Load Balancers, this object must 8904 // contain the load balancer target group ARN, the container name (as it appears 8905 // in a container definition), and the container port to access from the load 8906 // balancer. When a task from this service is placed on a container instance, 8907 // the container instance and port combination is registered as a target in 8908 // the target group specified here. 8909 // 8910 // For Classic Load Balancers, this object must contain the load balancer name, 8911 // the container name (as it appears in a container definition), and the container 8912 // port to access from the load balancer. When a task from this service is placed 8913 // on a container instance, the container instance is registered with the load 8914 // balancer specified here. 8915 // 8916 // Services with tasks that use the awsvpc network mode (for example, those 8917 // with the Fargate launch type) only support Application Load Balancers and 8918 // Network Load Balancers. Classic Load Balancers are not supported. Also, when 8919 // you create any target groups for these services, you must choose ip as the 8920 // target type, not instance, because tasks that use the awsvpc network mode 8921 // are associated with an elastic network interface, not an Amazon EC2 instance. 8922 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 8923 8924 // The network configuration for the service. This parameter is required for 8925 // task definitions that use the awsvpc network mode to receive their own elastic 8926 // network interface, and it is not supported for other network modes. For more 8927 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 8928 // in the Amazon Elastic Container Service Developer Guide. 8929 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 8930 8931 // An array of placement constraint objects to use for tasks in your service. 8932 // You can specify a maximum of 10 constraints per task (this limit includes 8933 // constraints in the task definition and those specified at runtime). 8934 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 8935 8936 // The placement strategy objects to use for tasks in your service. You can 8937 // specify a maximum of five strategy rules per service. 8938 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 8939 8940 // The platform version that your tasks in the service are running on. A platform 8941 // version is specified only for tasks using the Fargate launch type. If one 8942 // isn't specified, the LATEST platform version is used by default. For more 8943 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 8944 // in the Amazon Elastic Container Service Developer Guide. 8945 PlatformVersion *string `locationName:"platformVersion" type:"string"` 8946 8947 // Specifies whether to propagate the tags from the task definition or the service 8948 // to the tasks in the service. If no value is specified, the tags are not propagated. 8949 // Tags can only be propagated to the tasks within the service during service 8950 // creation. To add tags to a task after service creation, use the TagResource 8951 // API action. 8952 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 8953 8954 // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon 8955 // ECS to make calls to your load balancer on your behalf. This parameter is 8956 // only permitted if you are using a load balancer with your service and your 8957 // task definition does not use the awsvpc network mode. If you specify the 8958 // role parameter, you must also specify a load balancer object with the loadBalancers 8959 // parameter. 8960 // 8961 // If your account has already created the Amazon ECS service-linked role, that 8962 // role is used by default for your service unless you specify a role here. 8963 // The service-linked role is required if your task definition uses the awsvpc 8964 // network mode or if the service is configured to use service discovery, an 8965 // external deployment controller, multiple target groups, or Elastic Inference 8966 // accelerators in which case you should not specify a role here. For more information, 8967 // see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 8968 // in the Amazon Elastic Container Service Developer Guide. 8969 // 8970 // If your specified role has a path other than /, then you must either specify 8971 // the full role ARN (this is recommended) or prefix the role name with the 8972 // path. For example, if a role with the name bar has a path of /foo/ then you 8973 // would specify /foo/bar as the role name. For more information, see Friendly 8974 // Names and Paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 8975 // in the IAM User Guide. 8976 Role *string `locationName:"role" type:"string"` 8977 8978 // The scheduling strategy to use for the service. For more information, see 8979 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 8980 // 8981 // There are two service scheduler strategies available: 8982 // 8983 // * REPLICA-The replica scheduling strategy places and maintains the desired 8984 // number of tasks across your cluster. By default, the service scheduler 8985 // spreads tasks across Availability Zones. You can use task placement strategies 8986 // and constraints to customize task placement decisions. This scheduler 8987 // strategy is required if the service is using the CODE_DEPLOY or EXTERNAL 8988 // deployment controller types. 8989 // 8990 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 8991 // active container instance that meets all of the task placement constraints 8992 // that you specify in your cluster. The service scheduler also evaluates 8993 // the task placement constraints for running tasks and will stop tasks that 8994 // do not meet the placement constraints. When you're using this strategy, 8995 // you don't need to specify a desired number of tasks, a task placement 8996 // strategy, or use Service Auto Scaling policies. Tasks using the Fargate 8997 // launch type or the CODE_DEPLOY or EXTERNAL deployment controller types 8998 // don't support the DAEMON scheduling strategy. 8999 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 9000 9001 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 9002 // and hyphens are allowed. Service names must be unique within a cluster, but 9003 // you can have similarly named services in multiple clusters within a Region 9004 // or across multiple Regions. 9005 // 9006 // ServiceName is a required field 9007 ServiceName *string `locationName:"serviceName" type:"string" required:"true"` 9008 9009 // The details of the service discovery registries to assign to this service. 9010 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 9011 // 9012 // Service discovery is supported for Fargate tasks if you are using platform 9013 // version v1.1.0 or later. For more information, see AWS Fargate Platform Versions 9014 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 9015 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 9016 9017 // The metadata that you apply to the service to help you categorize and organize 9018 // them. Each tag consists of a key and an optional value, both of which you 9019 // define. When a service is deleted, the tags are deleted as well. 9020 // 9021 // The following basic restrictions apply to tags: 9022 // 9023 // * Maximum number of tags per resource - 50 9024 // 9025 // * For each resource, each tag key must be unique, and each tag key can 9026 // have only one value. 9027 // 9028 // * Maximum key length - 128 Unicode characters in UTF-8 9029 // 9030 // * Maximum value length - 256 Unicode characters in UTF-8 9031 // 9032 // * If your tagging schema is used across multiple services and resources, 9033 // remember that other services may have restrictions on allowed characters. 9034 // Generally allowed characters are: letters, numbers, and spaces representable 9035 // in UTF-8, and the following characters: + - = . _ : / @. 9036 // 9037 // * Tag keys and values are case-sensitive. 9038 // 9039 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9040 // as a prefix for either keys or values as it is reserved for AWS use. You 9041 // cannot edit or delete tag keys or values with this prefix. Tags with this 9042 // prefix do not count against your tags per resource limit. 9043 Tags []*Tag `locationName:"tags" type:"list"` 9044 9045 // The family and revision (family:revision) or full ARN of the task definition 9046 // to run in your service. If a revision is not specified, the latest ACTIVE 9047 // revision is used. 9048 // 9049 // A task definition must be specified if the service is using the ECS deployment 9050 // controller. 9051 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 9052} 9053 9054// String returns the string representation 9055func (s CreateServiceInput) String() string { 9056 return awsutil.Prettify(s) 9057} 9058 9059// GoString returns the string representation 9060func (s CreateServiceInput) GoString() string { 9061 return s.String() 9062} 9063 9064// Validate inspects the fields of the type to determine if they are valid. 9065func (s *CreateServiceInput) Validate() error { 9066 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 9067 if s.ServiceName == nil { 9068 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 9069 } 9070 if s.CapacityProviderStrategy != nil { 9071 for i, v := range s.CapacityProviderStrategy { 9072 if v == nil { 9073 continue 9074 } 9075 if err := v.Validate(); err != nil { 9076 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9077 } 9078 } 9079 } 9080 if s.DeploymentController != nil { 9081 if err := s.DeploymentController.Validate(); err != nil { 9082 invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) 9083 } 9084 } 9085 if s.NetworkConfiguration != nil { 9086 if err := s.NetworkConfiguration.Validate(); err != nil { 9087 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 9088 } 9089 } 9090 if s.Tags != nil { 9091 for i, v := range s.Tags { 9092 if v == nil { 9093 continue 9094 } 9095 if err := v.Validate(); err != nil { 9096 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9097 } 9098 } 9099 } 9100 9101 if invalidParams.Len() > 0 { 9102 return invalidParams 9103 } 9104 return nil 9105} 9106 9107// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9108func (s *CreateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateServiceInput { 9109 s.CapacityProviderStrategy = v 9110 return s 9111} 9112 9113// SetClientToken sets the ClientToken field's value. 9114func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput { 9115 s.ClientToken = &v 9116 return s 9117} 9118 9119// SetCluster sets the Cluster field's value. 9120func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput { 9121 s.Cluster = &v 9122 return s 9123} 9124 9125// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 9126func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput { 9127 s.DeploymentConfiguration = v 9128 return s 9129} 9130 9131// SetDeploymentController sets the DeploymentController field's value. 9132func (s *CreateServiceInput) SetDeploymentController(v *DeploymentController) *CreateServiceInput { 9133 s.DeploymentController = v 9134 return s 9135} 9136 9137// SetDesiredCount sets the DesiredCount field's value. 9138func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput { 9139 s.DesiredCount = &v 9140 return s 9141} 9142 9143// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 9144func (s *CreateServiceInput) SetEnableECSManagedTags(v bool) *CreateServiceInput { 9145 s.EnableECSManagedTags = &v 9146 return s 9147} 9148 9149// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 9150func (s *CreateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *CreateServiceInput { 9151 s.HealthCheckGracePeriodSeconds = &v 9152 return s 9153} 9154 9155// SetLaunchType sets the LaunchType field's value. 9156func (s *CreateServiceInput) SetLaunchType(v string) *CreateServiceInput { 9157 s.LaunchType = &v 9158 return s 9159} 9160 9161// SetLoadBalancers sets the LoadBalancers field's value. 9162func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput { 9163 s.LoadBalancers = v 9164 return s 9165} 9166 9167// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9168func (s *CreateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateServiceInput { 9169 s.NetworkConfiguration = v 9170 return s 9171} 9172 9173// SetPlacementConstraints sets the PlacementConstraints field's value. 9174func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput { 9175 s.PlacementConstraints = v 9176 return s 9177} 9178 9179// SetPlacementStrategy sets the PlacementStrategy field's value. 9180func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput { 9181 s.PlacementStrategy = v 9182 return s 9183} 9184 9185// SetPlatformVersion sets the PlatformVersion field's value. 9186func (s *CreateServiceInput) SetPlatformVersion(v string) *CreateServiceInput { 9187 s.PlatformVersion = &v 9188 return s 9189} 9190 9191// SetPropagateTags sets the PropagateTags field's value. 9192func (s *CreateServiceInput) SetPropagateTags(v string) *CreateServiceInput { 9193 s.PropagateTags = &v 9194 return s 9195} 9196 9197// SetRole sets the Role field's value. 9198func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput { 9199 s.Role = &v 9200 return s 9201} 9202 9203// SetSchedulingStrategy sets the SchedulingStrategy field's value. 9204func (s *CreateServiceInput) SetSchedulingStrategy(v string) *CreateServiceInput { 9205 s.SchedulingStrategy = &v 9206 return s 9207} 9208 9209// SetServiceName sets the ServiceName field's value. 9210func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput { 9211 s.ServiceName = &v 9212 return s 9213} 9214 9215// SetServiceRegistries sets the ServiceRegistries field's value. 9216func (s *CreateServiceInput) SetServiceRegistries(v []*ServiceRegistry) *CreateServiceInput { 9217 s.ServiceRegistries = v 9218 return s 9219} 9220 9221// SetTags sets the Tags field's value. 9222func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { 9223 s.Tags = v 9224 return s 9225} 9226 9227// SetTaskDefinition sets the TaskDefinition field's value. 9228func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput { 9229 s.TaskDefinition = &v 9230 return s 9231} 9232 9233type CreateServiceOutput struct { 9234 _ struct{} `type:"structure"` 9235 9236 // The full description of your service following the create call. 9237 // 9238 // If a service is using the ECS deployment controller, the deploymentController 9239 // and taskSets parameters will not be returned. 9240 // 9241 // If the service is using the CODE_DEPLOY deployment controller, the deploymentController, 9242 // taskSets and deployments parameters will be returned, however the deployments 9243 // parameter will be an empty list. 9244 Service *Service `locationName:"service" type:"structure"` 9245} 9246 9247// String returns the string representation 9248func (s CreateServiceOutput) String() string { 9249 return awsutil.Prettify(s) 9250} 9251 9252// GoString returns the string representation 9253func (s CreateServiceOutput) GoString() string { 9254 return s.String() 9255} 9256 9257// SetService sets the Service field's value. 9258func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 9259 s.Service = v 9260 return s 9261} 9262 9263type CreateTaskSetInput struct { 9264 _ struct{} `type:"structure"` 9265 9266 // The capacity provider strategy to use for the task set. 9267 // 9268 // A capacity provider strategy consists of one or more capacity providers along 9269 // with the base and weight to assign to them. A capacity provider must be associated 9270 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 9271 // API is used to associate a capacity provider with a cluster. Only capacity 9272 // providers with an ACTIVE or UPDATING status can be used. 9273 // 9274 // If a capacityProviderStrategy is specified, the launchType parameter must 9275 // be omitted. If no capacityProviderStrategy or launchType is specified, the 9276 // defaultCapacityProviderStrategy for the cluster is used. 9277 // 9278 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 9279 // provider must already be created. New capacity providers can be created with 9280 // the CreateCapacityProvider API operation. 9281 // 9282 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 9283 // capacity providers. The AWS Fargate capacity providers are available to all 9284 // accounts and only need to be associated with a cluster to be used. 9285 // 9286 // The PutClusterCapacityProviders API operation is used to update the list 9287 // of available capacity providers for a cluster after the cluster is created. 9288 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9289 9290 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9291 // of the request. Up to 32 ASCII characters are allowed. 9292 ClientToken *string `locationName:"clientToken" type:"string"` 9293 9294 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9295 // the service to create the task set in. 9296 // 9297 // Cluster is a required field 9298 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9299 9300 // An optional non-unique tag that identifies this task set in external systems. 9301 // If the task set is associated with a service discovery registry, the tasks 9302 // in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute 9303 // set to the provided value. 9304 ExternalId *string `locationName:"externalId" type:"string"` 9305 9306 // The launch type that new tasks in the task set will use. For more information, 9307 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9308 // in the Amazon Elastic Container Service Developer Guide. 9309 // 9310 // If a launchType is specified, the capacityProviderStrategy parameter must 9311 // be omitted. 9312 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9313 9314 // A load balancer object representing the load balancer to use with the task 9315 // set. The supported load balancer types are either an Application Load Balancer 9316 // or a Network Load Balancer. 9317 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 9318 9319 // An object representing the network configuration for a task or service. 9320 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9321 9322 // The platform version that the tasks in the task set should use. A platform 9323 // version is specified only for tasks using the Fargate launch type. If one 9324 // isn't specified, the LATEST platform version is used by default. 9325 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9326 9327 // A floating-point percentage of the desired number of tasks to place and keep 9328 // running in the task set. 9329 Scale *Scale `locationName:"scale" type:"structure"` 9330 9331 // The short name or full Amazon Resource Name (ARN) of the service to create 9332 // the task set in. 9333 // 9334 // Service is a required field 9335 Service *string `locationName:"service" type:"string" required:"true"` 9336 9337 // The details of the service discovery registries to assign to this task set. 9338 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 9339 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 9340 9341 // The metadata that you apply to the task set to help you categorize and organize 9342 // them. Each tag consists of a key and an optional value, both of which you 9343 // define. When a service is deleted, the tags are deleted as well. 9344 // 9345 // The following basic restrictions apply to tags: 9346 // 9347 // * Maximum number of tags per resource - 50 9348 // 9349 // * For each resource, each tag key must be unique, and each tag key can 9350 // have only one value. 9351 // 9352 // * Maximum key length - 128 Unicode characters in UTF-8 9353 // 9354 // * Maximum value length - 256 Unicode characters in UTF-8 9355 // 9356 // * If your tagging schema is used across multiple services and resources, 9357 // remember that other services may have restrictions on allowed characters. 9358 // Generally allowed characters are: letters, numbers, and spaces representable 9359 // in UTF-8, and the following characters: + - = . _ : / @. 9360 // 9361 // * Tag keys and values are case-sensitive. 9362 // 9363 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9364 // as a prefix for either keys or values as it is reserved for AWS use. You 9365 // cannot edit or delete tag keys or values with this prefix. Tags with this 9366 // prefix do not count against your tags per resource limit. 9367 Tags []*Tag `locationName:"tags" type:"list"` 9368 9369 // The task definition for the tasks in the task set to use. 9370 // 9371 // TaskDefinition is a required field 9372 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 9373} 9374 9375// String returns the string representation 9376func (s CreateTaskSetInput) String() string { 9377 return awsutil.Prettify(s) 9378} 9379 9380// GoString returns the string representation 9381func (s CreateTaskSetInput) GoString() string { 9382 return s.String() 9383} 9384 9385// Validate inspects the fields of the type to determine if they are valid. 9386func (s *CreateTaskSetInput) Validate() error { 9387 invalidParams := request.ErrInvalidParams{Context: "CreateTaskSetInput"} 9388 if s.Cluster == nil { 9389 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9390 } 9391 if s.Service == nil { 9392 invalidParams.Add(request.NewErrParamRequired("Service")) 9393 } 9394 if s.TaskDefinition == nil { 9395 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 9396 } 9397 if s.CapacityProviderStrategy != nil { 9398 for i, v := range s.CapacityProviderStrategy { 9399 if v == nil { 9400 continue 9401 } 9402 if err := v.Validate(); err != nil { 9403 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9404 } 9405 } 9406 } 9407 if s.NetworkConfiguration != nil { 9408 if err := s.NetworkConfiguration.Validate(); err != nil { 9409 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 9410 } 9411 } 9412 if s.Tags != nil { 9413 for i, v := range s.Tags { 9414 if v == nil { 9415 continue 9416 } 9417 if err := v.Validate(); err != nil { 9418 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9419 } 9420 } 9421 } 9422 9423 if invalidParams.Len() > 0 { 9424 return invalidParams 9425 } 9426 return nil 9427} 9428 9429// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9430func (s *CreateTaskSetInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateTaskSetInput { 9431 s.CapacityProviderStrategy = v 9432 return s 9433} 9434 9435// SetClientToken sets the ClientToken field's value. 9436func (s *CreateTaskSetInput) SetClientToken(v string) *CreateTaskSetInput { 9437 s.ClientToken = &v 9438 return s 9439} 9440 9441// SetCluster sets the Cluster field's value. 9442func (s *CreateTaskSetInput) SetCluster(v string) *CreateTaskSetInput { 9443 s.Cluster = &v 9444 return s 9445} 9446 9447// SetExternalId sets the ExternalId field's value. 9448func (s *CreateTaskSetInput) SetExternalId(v string) *CreateTaskSetInput { 9449 s.ExternalId = &v 9450 return s 9451} 9452 9453// SetLaunchType sets the LaunchType field's value. 9454func (s *CreateTaskSetInput) SetLaunchType(v string) *CreateTaskSetInput { 9455 s.LaunchType = &v 9456 return s 9457} 9458 9459// SetLoadBalancers sets the LoadBalancers field's value. 9460func (s *CreateTaskSetInput) SetLoadBalancers(v []*LoadBalancer) *CreateTaskSetInput { 9461 s.LoadBalancers = v 9462 return s 9463} 9464 9465// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9466func (s *CreateTaskSetInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateTaskSetInput { 9467 s.NetworkConfiguration = v 9468 return s 9469} 9470 9471// SetPlatformVersion sets the PlatformVersion field's value. 9472func (s *CreateTaskSetInput) SetPlatformVersion(v string) *CreateTaskSetInput { 9473 s.PlatformVersion = &v 9474 return s 9475} 9476 9477// SetScale sets the Scale field's value. 9478func (s *CreateTaskSetInput) SetScale(v *Scale) *CreateTaskSetInput { 9479 s.Scale = v 9480 return s 9481} 9482 9483// SetService sets the Service field's value. 9484func (s *CreateTaskSetInput) SetService(v string) *CreateTaskSetInput { 9485 s.Service = &v 9486 return s 9487} 9488 9489// SetServiceRegistries sets the ServiceRegistries field's value. 9490func (s *CreateTaskSetInput) SetServiceRegistries(v []*ServiceRegistry) *CreateTaskSetInput { 9491 s.ServiceRegistries = v 9492 return s 9493} 9494 9495// SetTags sets the Tags field's value. 9496func (s *CreateTaskSetInput) SetTags(v []*Tag) *CreateTaskSetInput { 9497 s.Tags = v 9498 return s 9499} 9500 9501// SetTaskDefinition sets the TaskDefinition field's value. 9502func (s *CreateTaskSetInput) SetTaskDefinition(v string) *CreateTaskSetInput { 9503 s.TaskDefinition = &v 9504 return s 9505} 9506 9507type CreateTaskSetOutput struct { 9508 _ struct{} `type:"structure"` 9509 9510 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 9511 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 9512 // desired number of tasks, how many tasks are running, and whether the task 9513 // set serves production traffic. 9514 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 9515} 9516 9517// String returns the string representation 9518func (s CreateTaskSetOutput) String() string { 9519 return awsutil.Prettify(s) 9520} 9521 9522// GoString returns the string representation 9523func (s CreateTaskSetOutput) GoString() string { 9524 return s.String() 9525} 9526 9527// SetTaskSet sets the TaskSet field's value. 9528func (s *CreateTaskSetOutput) SetTaskSet(v *TaskSet) *CreateTaskSetOutput { 9529 s.TaskSet = v 9530 return s 9531} 9532 9533type DeleteAccountSettingInput struct { 9534 _ struct{} `type:"structure"` 9535 9536 // The resource name for which to disable the account setting. If serviceLongArnFormat 9537 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 9538 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 9539 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 9540 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 9541 // the ENI limit for your Amazon ECS container instances is affected. 9542 // 9543 // Name is a required field 9544 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 9545 9546 // The ARN of the principal, which can be an IAM user, IAM role, or the root 9547 // user. If you specify the root user, it disables the account setting for all 9548 // IAM users, IAM roles, and the root user of the account unless an IAM user 9549 // or role explicitly overrides these settings. If this field is omitted, the 9550 // setting is changed only for the authenticated user. 9551 PrincipalArn *string `locationName:"principalArn" type:"string"` 9552} 9553 9554// String returns the string representation 9555func (s DeleteAccountSettingInput) String() string { 9556 return awsutil.Prettify(s) 9557} 9558 9559// GoString returns the string representation 9560func (s DeleteAccountSettingInput) GoString() string { 9561 return s.String() 9562} 9563 9564// Validate inspects the fields of the type to determine if they are valid. 9565func (s *DeleteAccountSettingInput) Validate() error { 9566 invalidParams := request.ErrInvalidParams{Context: "DeleteAccountSettingInput"} 9567 if s.Name == nil { 9568 invalidParams.Add(request.NewErrParamRequired("Name")) 9569 } 9570 9571 if invalidParams.Len() > 0 { 9572 return invalidParams 9573 } 9574 return nil 9575} 9576 9577// SetName sets the Name field's value. 9578func (s *DeleteAccountSettingInput) SetName(v string) *DeleteAccountSettingInput { 9579 s.Name = &v 9580 return s 9581} 9582 9583// SetPrincipalArn sets the PrincipalArn field's value. 9584func (s *DeleteAccountSettingInput) SetPrincipalArn(v string) *DeleteAccountSettingInput { 9585 s.PrincipalArn = &v 9586 return s 9587} 9588 9589type DeleteAccountSettingOutput struct { 9590 _ struct{} `type:"structure"` 9591 9592 // The account setting for the specified principal ARN. 9593 Setting *Setting `locationName:"setting" type:"structure"` 9594} 9595 9596// String returns the string representation 9597func (s DeleteAccountSettingOutput) String() string { 9598 return awsutil.Prettify(s) 9599} 9600 9601// GoString returns the string representation 9602func (s DeleteAccountSettingOutput) GoString() string { 9603 return s.String() 9604} 9605 9606// SetSetting sets the Setting field's value. 9607func (s *DeleteAccountSettingOutput) SetSetting(v *Setting) *DeleteAccountSettingOutput { 9608 s.Setting = v 9609 return s 9610} 9611 9612type DeleteAttributesInput struct { 9613 _ struct{} `type:"structure"` 9614 9615 // The attributes to delete from your resource. You can specify up to 10 attributes 9616 // per request. For custom attributes, specify the attribute name and target 9617 // ID, but do not specify the value. If you specify the target ID using the 9618 // short form, you must also specify the target type. 9619 // 9620 // Attributes is a required field 9621 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 9622 9623 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 9624 // the resource to delete attributes. If you do not specify a cluster, the default 9625 // cluster is assumed. 9626 Cluster *string `locationName:"cluster" type:"string"` 9627} 9628 9629// String returns the string representation 9630func (s DeleteAttributesInput) String() string { 9631 return awsutil.Prettify(s) 9632} 9633 9634// GoString returns the string representation 9635func (s DeleteAttributesInput) GoString() string { 9636 return s.String() 9637} 9638 9639// Validate inspects the fields of the type to determine if they are valid. 9640func (s *DeleteAttributesInput) Validate() error { 9641 invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} 9642 if s.Attributes == nil { 9643 invalidParams.Add(request.NewErrParamRequired("Attributes")) 9644 } 9645 if s.Attributes != nil { 9646 for i, v := range s.Attributes { 9647 if v == nil { 9648 continue 9649 } 9650 if err := v.Validate(); err != nil { 9651 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 9652 } 9653 } 9654 } 9655 9656 if invalidParams.Len() > 0 { 9657 return invalidParams 9658 } 9659 return nil 9660} 9661 9662// SetAttributes sets the Attributes field's value. 9663func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput { 9664 s.Attributes = v 9665 return s 9666} 9667 9668// SetCluster sets the Cluster field's value. 9669func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput { 9670 s.Cluster = &v 9671 return s 9672} 9673 9674type DeleteAttributesOutput struct { 9675 _ struct{} `type:"structure"` 9676 9677 // A list of attribute objects that were successfully deleted from your resource. 9678 Attributes []*Attribute `locationName:"attributes" type:"list"` 9679} 9680 9681// String returns the string representation 9682func (s DeleteAttributesOutput) String() string { 9683 return awsutil.Prettify(s) 9684} 9685 9686// GoString returns the string representation 9687func (s DeleteAttributesOutput) GoString() string { 9688 return s.String() 9689} 9690 9691// SetAttributes sets the Attributes field's value. 9692func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput { 9693 s.Attributes = v 9694 return s 9695} 9696 9697type DeleteCapacityProviderInput struct { 9698 _ struct{} `type:"structure"` 9699 9700 // The short name or full Amazon Resource Name (ARN) of the capacity provider 9701 // to delete. 9702 // 9703 // CapacityProvider is a required field 9704 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 9705} 9706 9707// String returns the string representation 9708func (s DeleteCapacityProviderInput) String() string { 9709 return awsutil.Prettify(s) 9710} 9711 9712// GoString returns the string representation 9713func (s DeleteCapacityProviderInput) GoString() string { 9714 return s.String() 9715} 9716 9717// Validate inspects the fields of the type to determine if they are valid. 9718func (s *DeleteCapacityProviderInput) Validate() error { 9719 invalidParams := request.ErrInvalidParams{Context: "DeleteCapacityProviderInput"} 9720 if s.CapacityProvider == nil { 9721 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 9722 } 9723 9724 if invalidParams.Len() > 0 { 9725 return invalidParams 9726 } 9727 return nil 9728} 9729 9730// SetCapacityProvider sets the CapacityProvider field's value. 9731func (s *DeleteCapacityProviderInput) SetCapacityProvider(v string) *DeleteCapacityProviderInput { 9732 s.CapacityProvider = &v 9733 return s 9734} 9735 9736type DeleteCapacityProviderOutput struct { 9737 _ struct{} `type:"structure"` 9738 9739 // The details of a capacity provider. 9740 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 9741} 9742 9743// String returns the string representation 9744func (s DeleteCapacityProviderOutput) String() string { 9745 return awsutil.Prettify(s) 9746} 9747 9748// GoString returns the string representation 9749func (s DeleteCapacityProviderOutput) GoString() string { 9750 return s.String() 9751} 9752 9753// SetCapacityProvider sets the CapacityProvider field's value. 9754func (s *DeleteCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *DeleteCapacityProviderOutput { 9755 s.CapacityProvider = v 9756 return s 9757} 9758 9759type DeleteClusterInput struct { 9760 _ struct{} `type:"structure"` 9761 9762 // The short name or full Amazon Resource Name (ARN) of the cluster to delete. 9763 // 9764 // Cluster is a required field 9765 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9766} 9767 9768// String returns the string representation 9769func (s DeleteClusterInput) String() string { 9770 return awsutil.Prettify(s) 9771} 9772 9773// GoString returns the string representation 9774func (s DeleteClusterInput) GoString() string { 9775 return s.String() 9776} 9777 9778// Validate inspects the fields of the type to determine if they are valid. 9779func (s *DeleteClusterInput) Validate() error { 9780 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 9781 if s.Cluster == nil { 9782 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9783 } 9784 9785 if invalidParams.Len() > 0 { 9786 return invalidParams 9787 } 9788 return nil 9789} 9790 9791// SetCluster sets the Cluster field's value. 9792func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput { 9793 s.Cluster = &v 9794 return s 9795} 9796 9797type DeleteClusterOutput struct { 9798 _ struct{} `type:"structure"` 9799 9800 // The full description of the deleted cluster. 9801 Cluster *Cluster `locationName:"cluster" type:"structure"` 9802} 9803 9804// String returns the string representation 9805func (s DeleteClusterOutput) String() string { 9806 return awsutil.Prettify(s) 9807} 9808 9809// GoString returns the string representation 9810func (s DeleteClusterOutput) GoString() string { 9811 return s.String() 9812} 9813 9814// SetCluster sets the Cluster field's value. 9815func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 9816 s.Cluster = v 9817 return s 9818} 9819 9820type DeleteServiceInput struct { 9821 _ struct{} `type:"structure"` 9822 9823 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9824 // the service to delete. If you do not specify a cluster, the default cluster 9825 // is assumed. 9826 Cluster *string `locationName:"cluster" type:"string"` 9827 9828 // If true, allows you to delete a service even if it has not been scaled down 9829 // to zero tasks. It is only necessary to use this if the service is using the 9830 // REPLICA scheduling strategy. 9831 Force *bool `locationName:"force" type:"boolean"` 9832 9833 // The name of the service to delete. 9834 // 9835 // Service is a required field 9836 Service *string `locationName:"service" type:"string" required:"true"` 9837} 9838 9839// String returns the string representation 9840func (s DeleteServiceInput) String() string { 9841 return awsutil.Prettify(s) 9842} 9843 9844// GoString returns the string representation 9845func (s DeleteServiceInput) GoString() string { 9846 return s.String() 9847} 9848 9849// Validate inspects the fields of the type to determine if they are valid. 9850func (s *DeleteServiceInput) Validate() error { 9851 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 9852 if s.Service == nil { 9853 invalidParams.Add(request.NewErrParamRequired("Service")) 9854 } 9855 9856 if invalidParams.Len() > 0 { 9857 return invalidParams 9858 } 9859 return nil 9860} 9861 9862// SetCluster sets the Cluster field's value. 9863func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput { 9864 s.Cluster = &v 9865 return s 9866} 9867 9868// SetForce sets the Force field's value. 9869func (s *DeleteServiceInput) SetForce(v bool) *DeleteServiceInput { 9870 s.Force = &v 9871 return s 9872} 9873 9874// SetService sets the Service field's value. 9875func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput { 9876 s.Service = &v 9877 return s 9878} 9879 9880type DeleteServiceOutput struct { 9881 _ struct{} `type:"structure"` 9882 9883 // The full description of the deleted service. 9884 Service *Service `locationName:"service" type:"structure"` 9885} 9886 9887// String returns the string representation 9888func (s DeleteServiceOutput) String() string { 9889 return awsutil.Prettify(s) 9890} 9891 9892// GoString returns the string representation 9893func (s DeleteServiceOutput) GoString() string { 9894 return s.String() 9895} 9896 9897// SetService sets the Service field's value. 9898func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { 9899 s.Service = v 9900 return s 9901} 9902 9903type DeleteTaskSetInput struct { 9904 _ struct{} `type:"structure"` 9905 9906 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9907 // the service that the task set exists in to delete. 9908 // 9909 // Cluster is a required field 9910 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9911 9912 // If true, this allows you to delete a task set even if it hasn't been scaled 9913 // down to zero. 9914 Force *bool `locationName:"force" type:"boolean"` 9915 9916 // The short name or full Amazon Resource Name (ARN) of the service that hosts 9917 // the task set to delete. 9918 // 9919 // Service is a required field 9920 Service *string `locationName:"service" type:"string" required:"true"` 9921 9922 // The task set ID or full Amazon Resource Name (ARN) of the task set to delete. 9923 // 9924 // TaskSet is a required field 9925 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 9926} 9927 9928// String returns the string representation 9929func (s DeleteTaskSetInput) String() string { 9930 return awsutil.Prettify(s) 9931} 9932 9933// GoString returns the string representation 9934func (s DeleteTaskSetInput) GoString() string { 9935 return s.String() 9936} 9937 9938// Validate inspects the fields of the type to determine if they are valid. 9939func (s *DeleteTaskSetInput) Validate() error { 9940 invalidParams := request.ErrInvalidParams{Context: "DeleteTaskSetInput"} 9941 if s.Cluster == nil { 9942 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9943 } 9944 if s.Service == nil { 9945 invalidParams.Add(request.NewErrParamRequired("Service")) 9946 } 9947 if s.TaskSet == nil { 9948 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 9949 } 9950 9951 if invalidParams.Len() > 0 { 9952 return invalidParams 9953 } 9954 return nil 9955} 9956 9957// SetCluster sets the Cluster field's value. 9958func (s *DeleteTaskSetInput) SetCluster(v string) *DeleteTaskSetInput { 9959 s.Cluster = &v 9960 return s 9961} 9962 9963// SetForce sets the Force field's value. 9964func (s *DeleteTaskSetInput) SetForce(v bool) *DeleteTaskSetInput { 9965 s.Force = &v 9966 return s 9967} 9968 9969// SetService sets the Service field's value. 9970func (s *DeleteTaskSetInput) SetService(v string) *DeleteTaskSetInput { 9971 s.Service = &v 9972 return s 9973} 9974 9975// SetTaskSet sets the TaskSet field's value. 9976func (s *DeleteTaskSetInput) SetTaskSet(v string) *DeleteTaskSetInput { 9977 s.TaskSet = &v 9978 return s 9979} 9980 9981type DeleteTaskSetOutput struct { 9982 _ struct{} `type:"structure"` 9983 9984 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 9985 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 9986 // desired number of tasks, how many tasks are running, and whether the task 9987 // set serves production traffic. 9988 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 9989} 9990 9991// String returns the string representation 9992func (s DeleteTaskSetOutput) String() string { 9993 return awsutil.Prettify(s) 9994} 9995 9996// GoString returns the string representation 9997func (s DeleteTaskSetOutput) GoString() string { 9998 return s.String() 9999} 10000 10001// SetTaskSet sets the TaskSet field's value. 10002func (s *DeleteTaskSetOutput) SetTaskSet(v *TaskSet) *DeleteTaskSetOutput { 10003 s.TaskSet = v 10004 return s 10005} 10006 10007// The details of an Amazon ECS service deployment. This is used only when a 10008// service uses the ECS deployment controller type. 10009type Deployment struct { 10010 _ struct{} `type:"structure"` 10011 10012 // The capacity provider strategy that the deployment is using. 10013 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 10014 10015 // The Unix timestamp for when the service deployment was created. 10016 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 10017 10018 // The most recent desired count of tasks that was specified for the service 10019 // to deploy or maintain. 10020 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 10021 10022 // The ID of the deployment. 10023 Id *string `locationName:"id" type:"string"` 10024 10025 // The launch type the tasks in the service are using. For more information, 10026 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 10027 // in the Amazon Elastic Container Service Developer Guide. 10028 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 10029 10030 // The VPC subnet and security group configuration for tasks that receive their 10031 // own elastic network interface by using the awsvpc networking mode. 10032 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 10033 10034 // The number of tasks in the deployment that are in the PENDING status. 10035 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 10036 10037 // The platform version on which your tasks in the service are running. A platform 10038 // version is only specified for tasks using the Fargate launch type. If one 10039 // is not specified, the LATEST platform version is used by default. For more 10040 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 10041 // in the Amazon Elastic Container Service Developer Guide. 10042 PlatformVersion *string `locationName:"platformVersion" type:"string"` 10043 10044 // The number of tasks in the deployment that are in the RUNNING status. 10045 RunningCount *int64 `locationName:"runningCount" type:"integer"` 10046 10047 // The status of the deployment. The following describes each state: 10048 // 10049 // PRIMARY 10050 // 10051 // The most recent deployment of a service. 10052 // 10053 // ACTIVE 10054 // 10055 // A service deployment that still has running tasks, but are in the process 10056 // of being replaced with a new PRIMARY deployment. 10057 // 10058 // INACTIVE 10059 // 10060 // A deployment that has been completely replaced. 10061 Status *string `locationName:"status" type:"string"` 10062 10063 // The most recent task definition that was specified for the tasks in the service 10064 // to use. 10065 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 10066 10067 // The Unix timestamp for when the service deployment was last updated. 10068 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 10069} 10070 10071// String returns the string representation 10072func (s Deployment) String() string { 10073 return awsutil.Prettify(s) 10074} 10075 10076// GoString returns the string representation 10077func (s Deployment) GoString() string { 10078 return s.String() 10079} 10080 10081// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 10082func (s *Deployment) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Deployment { 10083 s.CapacityProviderStrategy = v 10084 return s 10085} 10086 10087// SetCreatedAt sets the CreatedAt field's value. 10088func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { 10089 s.CreatedAt = &v 10090 return s 10091} 10092 10093// SetDesiredCount sets the DesiredCount field's value. 10094func (s *Deployment) SetDesiredCount(v int64) *Deployment { 10095 s.DesiredCount = &v 10096 return s 10097} 10098 10099// SetId sets the Id field's value. 10100func (s *Deployment) SetId(v string) *Deployment { 10101 s.Id = &v 10102 return s 10103} 10104 10105// SetLaunchType sets the LaunchType field's value. 10106func (s *Deployment) SetLaunchType(v string) *Deployment { 10107 s.LaunchType = &v 10108 return s 10109} 10110 10111// SetNetworkConfiguration sets the NetworkConfiguration field's value. 10112func (s *Deployment) SetNetworkConfiguration(v *NetworkConfiguration) *Deployment { 10113 s.NetworkConfiguration = v 10114 return s 10115} 10116 10117// SetPendingCount sets the PendingCount field's value. 10118func (s *Deployment) SetPendingCount(v int64) *Deployment { 10119 s.PendingCount = &v 10120 return s 10121} 10122 10123// SetPlatformVersion sets the PlatformVersion field's value. 10124func (s *Deployment) SetPlatformVersion(v string) *Deployment { 10125 s.PlatformVersion = &v 10126 return s 10127} 10128 10129// SetRunningCount sets the RunningCount field's value. 10130func (s *Deployment) SetRunningCount(v int64) *Deployment { 10131 s.RunningCount = &v 10132 return s 10133} 10134 10135// SetStatus sets the Status field's value. 10136func (s *Deployment) SetStatus(v string) *Deployment { 10137 s.Status = &v 10138 return s 10139} 10140 10141// SetTaskDefinition sets the TaskDefinition field's value. 10142func (s *Deployment) SetTaskDefinition(v string) *Deployment { 10143 s.TaskDefinition = &v 10144 return s 10145} 10146 10147// SetUpdatedAt sets the UpdatedAt field's value. 10148func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { 10149 s.UpdatedAt = &v 10150 return s 10151} 10152 10153// Optional deployment parameters that control how many tasks run during a deployment 10154// and the ordering of stopping and starting tasks. 10155type DeploymentConfiguration struct { 10156 _ struct{} `type:"structure"` 10157 10158 // If a service is using the rolling update (ECS) deployment type, the maximum 10159 // percent parameter represents an upper limit on the number of tasks in a service 10160 // that are allowed in the RUNNING or PENDING state during a deployment, as 10161 // a percentage of the desired number of tasks (rounded down to the nearest 10162 // integer), and while any container instances are in the DRAINING state if 10163 // the service contains tasks using the EC2 launch type. This parameter enables 10164 // you to define the deployment batch size. For example, if your service has 10165 // a desired number of four tasks and a maximum percent value of 200%, the scheduler 10166 // may start four new tasks before stopping the four older tasks (provided that 10167 // the cluster resources required to do this are available). The default value 10168 // for maximum percent is 200%. 10169 // 10170 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 10171 // types and tasks that use the EC2 launch type, the maximum percent value is 10172 // set to the default value and is used to define the upper limit on the number 10173 // of the tasks in the service that remain in the RUNNING state while the container 10174 // instances are in the DRAINING state. If the tasks in the service use the 10175 // Fargate launch type, the maximum percent value is not used, although it is 10176 // returned when describing your service. 10177 MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` 10178 10179 // If a service is using the rolling update (ECS) deployment type, the minimum 10180 // healthy percent represents a lower limit on the number of tasks in a service 10181 // that must remain in the RUNNING state during a deployment, as a percentage 10182 // of the desired number of tasks (rounded up to the nearest integer), and while 10183 // any container instances are in the DRAINING state if the service contains 10184 // tasks using the EC2 launch type. This parameter enables you to deploy without 10185 // using additional cluster capacity. For example, if your service has a desired 10186 // number of four tasks and a minimum healthy percent of 50%, the scheduler 10187 // may stop two existing tasks to free up cluster capacity before starting two 10188 // new tasks. Tasks for services that do not use a load balancer are considered 10189 // healthy if they are in the RUNNING state; tasks for services that do use 10190 // a load balancer are considered healthy if they are in the RUNNING state and 10191 // they are reported as healthy by the load balancer. The default value for 10192 // minimum healthy percent is 100%. 10193 // 10194 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 10195 // types and tasks that use the EC2 launch type, the minimum healthy percent 10196 // value is set to the default value and is used to define the lower limit on 10197 // the number of the tasks in the service that remain in the RUNNING state while 10198 // the container instances are in the DRAINING state. If the tasks in the service 10199 // use the Fargate launch type, the minimum healthy percent value is not used, 10200 // although it is returned when describing your service. 10201 MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` 10202} 10203 10204// String returns the string representation 10205func (s DeploymentConfiguration) String() string { 10206 return awsutil.Prettify(s) 10207} 10208 10209// GoString returns the string representation 10210func (s DeploymentConfiguration) GoString() string { 10211 return s.String() 10212} 10213 10214// SetMaximumPercent sets the MaximumPercent field's value. 10215func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { 10216 s.MaximumPercent = &v 10217 return s 10218} 10219 10220// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value. 10221func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration { 10222 s.MinimumHealthyPercent = &v 10223 return s 10224} 10225 10226// The deployment controller to use for the service. For more information, see 10227// Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 10228// in the Amazon Elastic Container Service Developer Guide. 10229type DeploymentController struct { 10230 _ struct{} `type:"structure"` 10231 10232 // The deployment controller type to use. 10233 // 10234 // There are three deployment controller types available: 10235 // 10236 // ECS 10237 // 10238 // The rolling update (ECS) deployment type involves replacing the current running 10239 // version of the container with the latest version. The number of containers 10240 // Amazon ECS adds or removes from the service during a rolling update is controlled 10241 // by adjusting the minimum and maximum number of healthy tasks allowed during 10242 // a service deployment, as specified in the DeploymentConfiguration. 10243 // 10244 // CODE_DEPLOY 10245 // 10246 // The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment 10247 // model powered by AWS CodeDeploy, which allows you to verify a new deployment 10248 // of a service before sending production traffic to it. 10249 // 10250 // EXTERNAL 10251 // 10252 // The external (EXTERNAL) deployment type enables you to use any third-party 10253 // deployment controller for full control over the deployment process for an 10254 // Amazon ECS service. 10255 // 10256 // Type is a required field 10257 Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"` 10258} 10259 10260// String returns the string representation 10261func (s DeploymentController) String() string { 10262 return awsutil.Prettify(s) 10263} 10264 10265// GoString returns the string representation 10266func (s DeploymentController) GoString() string { 10267 return s.String() 10268} 10269 10270// Validate inspects the fields of the type to determine if they are valid. 10271func (s *DeploymentController) Validate() error { 10272 invalidParams := request.ErrInvalidParams{Context: "DeploymentController"} 10273 if s.Type == nil { 10274 invalidParams.Add(request.NewErrParamRequired("Type")) 10275 } 10276 10277 if invalidParams.Len() > 0 { 10278 return invalidParams 10279 } 10280 return nil 10281} 10282 10283// SetType sets the Type field's value. 10284func (s *DeploymentController) SetType(v string) *DeploymentController { 10285 s.Type = &v 10286 return s 10287} 10288 10289type DeregisterContainerInstanceInput struct { 10290 _ struct{} `type:"structure"` 10291 10292 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10293 // the container instance to deregister. If you do not specify a cluster, the 10294 // default cluster is assumed. 10295 Cluster *string `locationName:"cluster" type:"string"` 10296 10297 // The container instance ID or full ARN of the container instance to deregister. 10298 // The ARN contains the arn:aws:ecs namespace, followed by the Region of the 10299 // container instance, the AWS account ID of the container instance owner, the 10300 // container-instance namespace, and then the container instance ID. For example, 10301 // arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 10302 // 10303 // ContainerInstance is a required field 10304 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 10305 10306 // Forces the deregistration of the container instance. If you have tasks running 10307 // on the container instance when you deregister it with the force option, these 10308 // tasks remain running until you terminate the instance or the tasks stop through 10309 // some other means, but they are orphaned (no longer monitored or accounted 10310 // for by Amazon ECS). If an orphaned task on your container instance is part 10311 // of an Amazon ECS service, then the service scheduler starts another copy 10312 // of that task, on a different container instance if possible. 10313 // 10314 // Any containers in orphaned service tasks that are registered with a Classic 10315 // Load Balancer or an Application Load Balancer target group are deregistered. 10316 // They begin connection draining according to the settings on the load balancer 10317 // or target group. 10318 Force *bool `locationName:"force" type:"boolean"` 10319} 10320 10321// String returns the string representation 10322func (s DeregisterContainerInstanceInput) String() string { 10323 return awsutil.Prettify(s) 10324} 10325 10326// GoString returns the string representation 10327func (s DeregisterContainerInstanceInput) GoString() string { 10328 return s.String() 10329} 10330 10331// Validate inspects the fields of the type to determine if they are valid. 10332func (s *DeregisterContainerInstanceInput) Validate() error { 10333 invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} 10334 if s.ContainerInstance == nil { 10335 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 10336 } 10337 10338 if invalidParams.Len() > 0 { 10339 return invalidParams 10340 } 10341 return nil 10342} 10343 10344// SetCluster sets the Cluster field's value. 10345func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput { 10346 s.Cluster = &v 10347 return s 10348} 10349 10350// SetContainerInstance sets the ContainerInstance field's value. 10351func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput { 10352 s.ContainerInstance = &v 10353 return s 10354} 10355 10356// SetForce sets the Force field's value. 10357func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput { 10358 s.Force = &v 10359 return s 10360} 10361 10362type DeregisterContainerInstanceOutput struct { 10363 _ struct{} `type:"structure"` 10364 10365 // The container instance that was deregistered. 10366 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 10367} 10368 10369// String returns the string representation 10370func (s DeregisterContainerInstanceOutput) String() string { 10371 return awsutil.Prettify(s) 10372} 10373 10374// GoString returns the string representation 10375func (s DeregisterContainerInstanceOutput) GoString() string { 10376 return s.String() 10377} 10378 10379// SetContainerInstance sets the ContainerInstance field's value. 10380func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput { 10381 s.ContainerInstance = v 10382 return s 10383} 10384 10385type DeregisterTaskDefinitionInput struct { 10386 _ struct{} `type:"structure"` 10387 10388 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 10389 // of the task definition to deregister. You must specify a revision. 10390 // 10391 // TaskDefinition is a required field 10392 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 10393} 10394 10395// String returns the string representation 10396func (s DeregisterTaskDefinitionInput) String() string { 10397 return awsutil.Prettify(s) 10398} 10399 10400// GoString returns the string representation 10401func (s DeregisterTaskDefinitionInput) GoString() string { 10402 return s.String() 10403} 10404 10405// Validate inspects the fields of the type to determine if they are valid. 10406func (s *DeregisterTaskDefinitionInput) Validate() error { 10407 invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} 10408 if s.TaskDefinition == nil { 10409 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 10410 } 10411 10412 if invalidParams.Len() > 0 { 10413 return invalidParams 10414 } 10415 return nil 10416} 10417 10418// SetTaskDefinition sets the TaskDefinition field's value. 10419func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput { 10420 s.TaskDefinition = &v 10421 return s 10422} 10423 10424type DeregisterTaskDefinitionOutput struct { 10425 _ struct{} `type:"structure"` 10426 10427 // The full description of the deregistered task. 10428 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 10429} 10430 10431// String returns the string representation 10432func (s DeregisterTaskDefinitionOutput) String() string { 10433 return awsutil.Prettify(s) 10434} 10435 10436// GoString returns the string representation 10437func (s DeregisterTaskDefinitionOutput) GoString() string { 10438 return s.String() 10439} 10440 10441// SetTaskDefinition sets the TaskDefinition field's value. 10442func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput { 10443 s.TaskDefinition = v 10444 return s 10445} 10446 10447type DescribeCapacityProvidersInput struct { 10448 _ struct{} `type:"structure"` 10449 10450 // The short name or full Amazon Resource Name (ARN) of one or more capacity 10451 // providers. Up to 100 capacity providers can be described in an action. 10452 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 10453 10454 // Specifies whether or not you want to see the resource tags for the capacity 10455 // provider. If TAGS is specified, the tags are included in the response. If 10456 // this field is omitted, tags are not included in the response. 10457 Include []*string `locationName:"include" type:"list"` 10458 10459 // The maximum number of account setting results returned by DescribeCapacityProviders 10460 // in paginated output. When this parameter is used, DescribeCapacityProviders 10461 // only returns maxResults results in a single page along with a nextToken response 10462 // element. The remaining results of the initial request can be seen by sending 10463 // another DescribeCapacityProviders request with the returned nextToken value. 10464 // This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders 10465 // returns up to 10 results and a nextToken value if applicable. 10466 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10467 10468 // The nextToken value returned from a previous paginated DescribeCapacityProviders 10469 // request where maxResults was used and the results exceeded the value of that 10470 // parameter. Pagination continues from the end of the previous results that 10471 // returned the nextToken value. 10472 // 10473 // This token should be treated as an opaque identifier that is only used to 10474 // retrieve the next items in a list and not for other programmatic purposes. 10475 NextToken *string `locationName:"nextToken" type:"string"` 10476} 10477 10478// String returns the string representation 10479func (s DescribeCapacityProvidersInput) String() string { 10480 return awsutil.Prettify(s) 10481} 10482 10483// GoString returns the string representation 10484func (s DescribeCapacityProvidersInput) GoString() string { 10485 return s.String() 10486} 10487 10488// SetCapacityProviders sets the CapacityProviders field's value. 10489func (s *DescribeCapacityProvidersInput) SetCapacityProviders(v []*string) *DescribeCapacityProvidersInput { 10490 s.CapacityProviders = v 10491 return s 10492} 10493 10494// SetInclude sets the Include field's value. 10495func (s *DescribeCapacityProvidersInput) SetInclude(v []*string) *DescribeCapacityProvidersInput { 10496 s.Include = v 10497 return s 10498} 10499 10500// SetMaxResults sets the MaxResults field's value. 10501func (s *DescribeCapacityProvidersInput) SetMaxResults(v int64) *DescribeCapacityProvidersInput { 10502 s.MaxResults = &v 10503 return s 10504} 10505 10506// SetNextToken sets the NextToken field's value. 10507func (s *DescribeCapacityProvidersInput) SetNextToken(v string) *DescribeCapacityProvidersInput { 10508 s.NextToken = &v 10509 return s 10510} 10511 10512type DescribeCapacityProvidersOutput struct { 10513 _ struct{} `type:"structure"` 10514 10515 // The list of capacity providers. 10516 CapacityProviders []*CapacityProvider `locationName:"capacityProviders" type:"list"` 10517 10518 // Any failures associated with the call. 10519 Failures []*Failure `locationName:"failures" type:"list"` 10520 10521 // The nextToken value to include in a future DescribeCapacityProviders request. 10522 // When the results of a DescribeCapacityProviders request exceed maxResults, 10523 // this value can be used to retrieve the next page of results. This value is 10524 // null when there are no more results to return. 10525 NextToken *string `locationName:"nextToken" type:"string"` 10526} 10527 10528// String returns the string representation 10529func (s DescribeCapacityProvidersOutput) String() string { 10530 return awsutil.Prettify(s) 10531} 10532 10533// GoString returns the string representation 10534func (s DescribeCapacityProvidersOutput) GoString() string { 10535 return s.String() 10536} 10537 10538// SetCapacityProviders sets the CapacityProviders field's value. 10539func (s *DescribeCapacityProvidersOutput) SetCapacityProviders(v []*CapacityProvider) *DescribeCapacityProvidersOutput { 10540 s.CapacityProviders = v 10541 return s 10542} 10543 10544// SetFailures sets the Failures field's value. 10545func (s *DescribeCapacityProvidersOutput) SetFailures(v []*Failure) *DescribeCapacityProvidersOutput { 10546 s.Failures = v 10547 return s 10548} 10549 10550// SetNextToken sets the NextToken field's value. 10551func (s *DescribeCapacityProvidersOutput) SetNextToken(v string) *DescribeCapacityProvidersOutput { 10552 s.NextToken = &v 10553 return s 10554} 10555 10556type DescribeClustersInput struct { 10557 _ struct{} `type:"structure"` 10558 10559 // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) 10560 // entries. If you do not specify a cluster, the default cluster is assumed. 10561 Clusters []*string `locationName:"clusters" type:"list"` 10562 10563 // Whether to include additional information about your clusters in the response. 10564 // If this field is omitted, the attachments, statistics, and tags are not included. 10565 // 10566 // If ATTACHMENTS is specified, the attachments for the container instances 10567 // or tasks within the cluster are included. 10568 // 10569 // If SETTINGS is specified, the settings for the cluster are included. 10570 // 10571 // If STATISTICS is specified, the following additional information, separated 10572 // by launch type, is included: 10573 // 10574 // * runningEC2TasksCount 10575 // 10576 // * runningFargateTasksCount 10577 // 10578 // * pendingEC2TasksCount 10579 // 10580 // * pendingFargateTasksCount 10581 // 10582 // * activeEC2ServiceCount 10583 // 10584 // * activeFargateServiceCount 10585 // 10586 // * drainingEC2ServiceCount 10587 // 10588 // * drainingFargateServiceCount 10589 // 10590 // If TAGS is specified, the metadata tags associated with the cluster are included. 10591 Include []*string `locationName:"include" type:"list"` 10592} 10593 10594// String returns the string representation 10595func (s DescribeClustersInput) String() string { 10596 return awsutil.Prettify(s) 10597} 10598 10599// GoString returns the string representation 10600func (s DescribeClustersInput) GoString() string { 10601 return s.String() 10602} 10603 10604// SetClusters sets the Clusters field's value. 10605func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput { 10606 s.Clusters = v 10607 return s 10608} 10609 10610// SetInclude sets the Include field's value. 10611func (s *DescribeClustersInput) SetInclude(v []*string) *DescribeClustersInput { 10612 s.Include = v 10613 return s 10614} 10615 10616type DescribeClustersOutput struct { 10617 _ struct{} `type:"structure"` 10618 10619 // The list of clusters. 10620 Clusters []*Cluster `locationName:"clusters" type:"list"` 10621 10622 // Any failures associated with the call. 10623 Failures []*Failure `locationName:"failures" type:"list"` 10624} 10625 10626// String returns the string representation 10627func (s DescribeClustersOutput) String() string { 10628 return awsutil.Prettify(s) 10629} 10630 10631// GoString returns the string representation 10632func (s DescribeClustersOutput) GoString() string { 10633 return s.String() 10634} 10635 10636// SetClusters sets the Clusters field's value. 10637func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 10638 s.Clusters = v 10639 return s 10640} 10641 10642// SetFailures sets the Failures field's value. 10643func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput { 10644 s.Failures = v 10645 return s 10646} 10647 10648type DescribeContainerInstancesInput struct { 10649 _ struct{} `type:"structure"` 10650 10651 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10652 // the container instances to describe. If you do not specify a cluster, the 10653 // default cluster is assumed. This parameter is required if the container instance 10654 // or container instances you are describing were launched in any cluster other 10655 // than the default cluster. 10656 Cluster *string `locationName:"cluster" type:"string"` 10657 10658 // A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) 10659 // entries. 10660 // 10661 // ContainerInstances is a required field 10662 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 10663 10664 // Specifies whether you want to see the resource tags for the container instance. 10665 // If TAGS is specified, the tags are included in the response. If this field 10666 // is omitted, tags are not included in the response. 10667 Include []*string `locationName:"include" type:"list"` 10668} 10669 10670// String returns the string representation 10671func (s DescribeContainerInstancesInput) String() string { 10672 return awsutil.Prettify(s) 10673} 10674 10675// GoString returns the string representation 10676func (s DescribeContainerInstancesInput) GoString() string { 10677 return s.String() 10678} 10679 10680// Validate inspects the fields of the type to determine if they are valid. 10681func (s *DescribeContainerInstancesInput) Validate() error { 10682 invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} 10683 if s.ContainerInstances == nil { 10684 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 10685 } 10686 10687 if invalidParams.Len() > 0 { 10688 return invalidParams 10689 } 10690 return nil 10691} 10692 10693// SetCluster sets the Cluster field's value. 10694func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput { 10695 s.Cluster = &v 10696 return s 10697} 10698 10699// SetContainerInstances sets the ContainerInstances field's value. 10700func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput { 10701 s.ContainerInstances = v 10702 return s 10703} 10704 10705// SetInclude sets the Include field's value. 10706func (s *DescribeContainerInstancesInput) SetInclude(v []*string) *DescribeContainerInstancesInput { 10707 s.Include = v 10708 return s 10709} 10710 10711type DescribeContainerInstancesOutput struct { 10712 _ struct{} `type:"structure"` 10713 10714 // The list of container instances. 10715 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 10716 10717 // Any failures associated with the call. 10718 Failures []*Failure `locationName:"failures" type:"list"` 10719} 10720 10721// String returns the string representation 10722func (s DescribeContainerInstancesOutput) String() string { 10723 return awsutil.Prettify(s) 10724} 10725 10726// GoString returns the string representation 10727func (s DescribeContainerInstancesOutput) GoString() string { 10728 return s.String() 10729} 10730 10731// SetContainerInstances sets the ContainerInstances field's value. 10732func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput { 10733 s.ContainerInstances = v 10734 return s 10735} 10736 10737// SetFailures sets the Failures field's value. 10738func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput { 10739 s.Failures = v 10740 return s 10741} 10742 10743type DescribeServicesInput struct { 10744 _ struct{} `type:"structure"` 10745 10746 // The short name or full Amazon Resource Name (ARN)the cluster that hosts the 10747 // service to describe. If you do not specify a cluster, the default cluster 10748 // is assumed. This parameter is required if the service or services you are 10749 // describing were launched in any cluster other than the default cluster. 10750 Cluster *string `locationName:"cluster" type:"string"` 10751 10752 // Specifies whether you want to see the resource tags for the service. If TAGS 10753 // is specified, the tags are included in the response. If this field is omitted, 10754 // tags are not included in the response. 10755 Include []*string `locationName:"include" type:"list"` 10756 10757 // A list of services to describe. You may specify up to 10 services to describe 10758 // in a single operation. 10759 // 10760 // Services is a required field 10761 Services []*string `locationName:"services" type:"list" required:"true"` 10762} 10763 10764// String returns the string representation 10765func (s DescribeServicesInput) String() string { 10766 return awsutil.Prettify(s) 10767} 10768 10769// GoString returns the string representation 10770func (s DescribeServicesInput) GoString() string { 10771 return s.String() 10772} 10773 10774// Validate inspects the fields of the type to determine if they are valid. 10775func (s *DescribeServicesInput) Validate() error { 10776 invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} 10777 if s.Services == nil { 10778 invalidParams.Add(request.NewErrParamRequired("Services")) 10779 } 10780 10781 if invalidParams.Len() > 0 { 10782 return invalidParams 10783 } 10784 return nil 10785} 10786 10787// SetCluster sets the Cluster field's value. 10788func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput { 10789 s.Cluster = &v 10790 return s 10791} 10792 10793// SetInclude sets the Include field's value. 10794func (s *DescribeServicesInput) SetInclude(v []*string) *DescribeServicesInput { 10795 s.Include = v 10796 return s 10797} 10798 10799// SetServices sets the Services field's value. 10800func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput { 10801 s.Services = v 10802 return s 10803} 10804 10805type DescribeServicesOutput struct { 10806 _ struct{} `type:"structure"` 10807 10808 // Any failures associated with the call. 10809 Failures []*Failure `locationName:"failures" type:"list"` 10810 10811 // The list of services described. 10812 Services []*Service `locationName:"services" type:"list"` 10813} 10814 10815// String returns the string representation 10816func (s DescribeServicesOutput) String() string { 10817 return awsutil.Prettify(s) 10818} 10819 10820// GoString returns the string representation 10821func (s DescribeServicesOutput) GoString() string { 10822 return s.String() 10823} 10824 10825// SetFailures sets the Failures field's value. 10826func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput { 10827 s.Failures = v 10828 return s 10829} 10830 10831// SetServices sets the Services field's value. 10832func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput { 10833 s.Services = v 10834 return s 10835} 10836 10837type DescribeTaskDefinitionInput struct { 10838 _ struct{} `type:"structure"` 10839 10840 // Specifies whether to see the resource tags for the task definition. If TAGS 10841 // is specified, the tags are included in the response. If this field is omitted, 10842 // tags are not included in the response. 10843 Include []*string `locationName:"include" type:"list"` 10844 10845 // The family for the latest ACTIVE revision, family and revision (family:revision) 10846 // for a specific revision in the family, or full Amazon Resource Name (ARN) 10847 // of the task definition to describe. 10848 // 10849 // TaskDefinition is a required field 10850 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 10851} 10852 10853// String returns the string representation 10854func (s DescribeTaskDefinitionInput) String() string { 10855 return awsutil.Prettify(s) 10856} 10857 10858// GoString returns the string representation 10859func (s DescribeTaskDefinitionInput) GoString() string { 10860 return s.String() 10861} 10862 10863// Validate inspects the fields of the type to determine if they are valid. 10864func (s *DescribeTaskDefinitionInput) Validate() error { 10865 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} 10866 if s.TaskDefinition == nil { 10867 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 10868 } 10869 10870 if invalidParams.Len() > 0 { 10871 return invalidParams 10872 } 10873 return nil 10874} 10875 10876// SetInclude sets the Include field's value. 10877func (s *DescribeTaskDefinitionInput) SetInclude(v []*string) *DescribeTaskDefinitionInput { 10878 s.Include = v 10879 return s 10880} 10881 10882// SetTaskDefinition sets the TaskDefinition field's value. 10883func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput { 10884 s.TaskDefinition = &v 10885 return s 10886} 10887 10888type DescribeTaskDefinitionOutput struct { 10889 _ struct{} `type:"structure"` 10890 10891 // The metadata that is applied to the task definition to help you categorize 10892 // and organize them. Each tag consists of a key and an optional value, both 10893 // of which you define. 10894 // 10895 // The following basic restrictions apply to tags: 10896 // 10897 // * Maximum number of tags per resource - 50 10898 // 10899 // * For each resource, each tag key must be unique, and each tag key can 10900 // have only one value. 10901 // 10902 // * Maximum key length - 128 Unicode characters in UTF-8 10903 // 10904 // * Maximum value length - 256 Unicode characters in UTF-8 10905 // 10906 // * If your tagging schema is used across multiple services and resources, 10907 // remember that other services may have restrictions on allowed characters. 10908 // Generally allowed characters are: letters, numbers, and spaces representable 10909 // in UTF-8, and the following characters: + - = . _ : / @. 10910 // 10911 // * Tag keys and values are case-sensitive. 10912 // 10913 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 10914 // as a prefix for either keys or values as it is reserved for AWS use. You 10915 // cannot edit or delete tag keys or values with this prefix. Tags with this 10916 // prefix do not count against your tags per resource limit. 10917 Tags []*Tag `locationName:"tags" type:"list"` 10918 10919 // The full task definition description. 10920 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 10921} 10922 10923// String returns the string representation 10924func (s DescribeTaskDefinitionOutput) String() string { 10925 return awsutil.Prettify(s) 10926} 10927 10928// GoString returns the string representation 10929func (s DescribeTaskDefinitionOutput) GoString() string { 10930 return s.String() 10931} 10932 10933// SetTags sets the Tags field's value. 10934func (s *DescribeTaskDefinitionOutput) SetTags(v []*Tag) *DescribeTaskDefinitionOutput { 10935 s.Tags = v 10936 return s 10937} 10938 10939// SetTaskDefinition sets the TaskDefinition field's value. 10940func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput { 10941 s.TaskDefinition = v 10942 return s 10943} 10944 10945type DescribeTaskSetsInput struct { 10946 _ struct{} `type:"structure"` 10947 10948 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10949 // the service that the task sets exist in. 10950 // 10951 // Cluster is a required field 10952 Cluster *string `locationName:"cluster" type:"string" required:"true"` 10953 10954 // Specifies whether to see the resource tags for the task set. If TAGS is specified, 10955 // the tags are included in the response. If this field is omitted, tags are 10956 // not included in the response. 10957 Include []*string `locationName:"include" type:"list"` 10958 10959 // The short name or full Amazon Resource Name (ARN) of the service that the 10960 // task sets exist in. 10961 // 10962 // Service is a required field 10963 Service *string `locationName:"service" type:"string" required:"true"` 10964 10965 // The ID or full Amazon Resource Name (ARN) of task sets to describe. 10966 TaskSets []*string `locationName:"taskSets" type:"list"` 10967} 10968 10969// String returns the string representation 10970func (s DescribeTaskSetsInput) String() string { 10971 return awsutil.Prettify(s) 10972} 10973 10974// GoString returns the string representation 10975func (s DescribeTaskSetsInput) GoString() string { 10976 return s.String() 10977} 10978 10979// Validate inspects the fields of the type to determine if they are valid. 10980func (s *DescribeTaskSetsInput) Validate() error { 10981 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskSetsInput"} 10982 if s.Cluster == nil { 10983 invalidParams.Add(request.NewErrParamRequired("Cluster")) 10984 } 10985 if s.Service == nil { 10986 invalidParams.Add(request.NewErrParamRequired("Service")) 10987 } 10988 10989 if invalidParams.Len() > 0 { 10990 return invalidParams 10991 } 10992 return nil 10993} 10994 10995// SetCluster sets the Cluster field's value. 10996func (s *DescribeTaskSetsInput) SetCluster(v string) *DescribeTaskSetsInput { 10997 s.Cluster = &v 10998 return s 10999} 11000 11001// SetInclude sets the Include field's value. 11002func (s *DescribeTaskSetsInput) SetInclude(v []*string) *DescribeTaskSetsInput { 11003 s.Include = v 11004 return s 11005} 11006 11007// SetService sets the Service field's value. 11008func (s *DescribeTaskSetsInput) SetService(v string) *DescribeTaskSetsInput { 11009 s.Service = &v 11010 return s 11011} 11012 11013// SetTaskSets sets the TaskSets field's value. 11014func (s *DescribeTaskSetsInput) SetTaskSets(v []*string) *DescribeTaskSetsInput { 11015 s.TaskSets = v 11016 return s 11017} 11018 11019type DescribeTaskSetsOutput struct { 11020 _ struct{} `type:"structure"` 11021 11022 // Any failures associated with the call. 11023 Failures []*Failure `locationName:"failures" type:"list"` 11024 11025 // The list of task sets described. 11026 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 11027} 11028 11029// String returns the string representation 11030func (s DescribeTaskSetsOutput) String() string { 11031 return awsutil.Prettify(s) 11032} 11033 11034// GoString returns the string representation 11035func (s DescribeTaskSetsOutput) GoString() string { 11036 return s.String() 11037} 11038 11039// SetFailures sets the Failures field's value. 11040func (s *DescribeTaskSetsOutput) SetFailures(v []*Failure) *DescribeTaskSetsOutput { 11041 s.Failures = v 11042 return s 11043} 11044 11045// SetTaskSets sets the TaskSets field's value. 11046func (s *DescribeTaskSetsOutput) SetTaskSets(v []*TaskSet) *DescribeTaskSetsOutput { 11047 s.TaskSets = v 11048 return s 11049} 11050 11051type DescribeTasksInput struct { 11052 _ struct{} `type:"structure"` 11053 11054 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11055 // the task or tasks to describe. If you do not specify a cluster, the default 11056 // cluster is assumed. This parameter is required if the task or tasks you are 11057 // describing were launched in any cluster other than the default cluster. 11058 Cluster *string `locationName:"cluster" type:"string"` 11059 11060 // Specifies whether you want to see the resource tags for the task. If TAGS 11061 // is specified, the tags are included in the response. If this field is omitted, 11062 // tags are not included in the response. 11063 Include []*string `locationName:"include" type:"list"` 11064 11065 // A list of up to 100 task IDs or full ARN entries. 11066 // 11067 // Tasks is a required field 11068 Tasks []*string `locationName:"tasks" type:"list" required:"true"` 11069} 11070 11071// String returns the string representation 11072func (s DescribeTasksInput) String() string { 11073 return awsutil.Prettify(s) 11074} 11075 11076// GoString returns the string representation 11077func (s DescribeTasksInput) GoString() string { 11078 return s.String() 11079} 11080 11081// Validate inspects the fields of the type to determine if they are valid. 11082func (s *DescribeTasksInput) Validate() error { 11083 invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} 11084 if s.Tasks == nil { 11085 invalidParams.Add(request.NewErrParamRequired("Tasks")) 11086 } 11087 11088 if invalidParams.Len() > 0 { 11089 return invalidParams 11090 } 11091 return nil 11092} 11093 11094// SetCluster sets the Cluster field's value. 11095func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput { 11096 s.Cluster = &v 11097 return s 11098} 11099 11100// SetInclude sets the Include field's value. 11101func (s *DescribeTasksInput) SetInclude(v []*string) *DescribeTasksInput { 11102 s.Include = v 11103 return s 11104} 11105 11106// SetTasks sets the Tasks field's value. 11107func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput { 11108 s.Tasks = v 11109 return s 11110} 11111 11112type DescribeTasksOutput struct { 11113 _ struct{} `type:"structure"` 11114 11115 // Any failures associated with the call. 11116 Failures []*Failure `locationName:"failures" type:"list"` 11117 11118 // The list of tasks. 11119 Tasks []*Task `locationName:"tasks" type:"list"` 11120} 11121 11122// String returns the string representation 11123func (s DescribeTasksOutput) String() string { 11124 return awsutil.Prettify(s) 11125} 11126 11127// GoString returns the string representation 11128func (s DescribeTasksOutput) GoString() string { 11129 return s.String() 11130} 11131 11132// SetFailures sets the Failures field's value. 11133func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput { 11134 s.Failures = v 11135 return s 11136} 11137 11138// SetTasks sets the Tasks field's value. 11139func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput { 11140 s.Tasks = v 11141 return s 11142} 11143 11144// An object representing a container instance host device. 11145type Device struct { 11146 _ struct{} `type:"structure"` 11147 11148 // The path inside the container at which to expose the host device. 11149 ContainerPath *string `locationName:"containerPath" type:"string"` 11150 11151 // The path for the device on the host container instance. 11152 // 11153 // HostPath is a required field 11154 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 11155 11156 // The explicit permissions to provide to the container for the device. By default, 11157 // the container has permissions for read, write, and mknod for the device. 11158 Permissions []*string `locationName:"permissions" type:"list"` 11159} 11160 11161// String returns the string representation 11162func (s Device) String() string { 11163 return awsutil.Prettify(s) 11164} 11165 11166// GoString returns the string representation 11167func (s Device) GoString() string { 11168 return s.String() 11169} 11170 11171// Validate inspects the fields of the type to determine if they are valid. 11172func (s *Device) Validate() error { 11173 invalidParams := request.ErrInvalidParams{Context: "Device"} 11174 if s.HostPath == nil { 11175 invalidParams.Add(request.NewErrParamRequired("HostPath")) 11176 } 11177 11178 if invalidParams.Len() > 0 { 11179 return invalidParams 11180 } 11181 return nil 11182} 11183 11184// SetContainerPath sets the ContainerPath field's value. 11185func (s *Device) SetContainerPath(v string) *Device { 11186 s.ContainerPath = &v 11187 return s 11188} 11189 11190// SetHostPath sets the HostPath field's value. 11191func (s *Device) SetHostPath(v string) *Device { 11192 s.HostPath = &v 11193 return s 11194} 11195 11196// SetPermissions sets the Permissions field's value. 11197func (s *Device) SetPermissions(v []*string) *Device { 11198 s.Permissions = v 11199 return s 11200} 11201 11202type DiscoverPollEndpointInput struct { 11203 _ struct{} `type:"structure"` 11204 11205 // The short name or full Amazon Resource Name (ARN) of the cluster to which 11206 // the container instance belongs. 11207 Cluster *string `locationName:"cluster" type:"string"` 11208 11209 // The container instance ID or full ARN of the container instance. The ARN 11210 // contains the arn:aws:ecs namespace, followed by the Region of the container 11211 // instance, the AWS account ID of the container instance owner, the container-instance 11212 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 11213 ContainerInstance *string `locationName:"containerInstance" type:"string"` 11214} 11215 11216// String returns the string representation 11217func (s DiscoverPollEndpointInput) String() string { 11218 return awsutil.Prettify(s) 11219} 11220 11221// GoString returns the string representation 11222func (s DiscoverPollEndpointInput) GoString() string { 11223 return s.String() 11224} 11225 11226// SetCluster sets the Cluster field's value. 11227func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput { 11228 s.Cluster = &v 11229 return s 11230} 11231 11232// SetContainerInstance sets the ContainerInstance field's value. 11233func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput { 11234 s.ContainerInstance = &v 11235 return s 11236} 11237 11238type DiscoverPollEndpointOutput struct { 11239 _ struct{} `type:"structure"` 11240 11241 // The endpoint for the Amazon ECS agent to poll. 11242 Endpoint *string `locationName:"endpoint" type:"string"` 11243 11244 // The telemetry endpoint for the Amazon ECS agent. 11245 TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` 11246} 11247 11248// String returns the string representation 11249func (s DiscoverPollEndpointOutput) String() string { 11250 return awsutil.Prettify(s) 11251} 11252 11253// GoString returns the string representation 11254func (s DiscoverPollEndpointOutput) GoString() string { 11255 return s.String() 11256} 11257 11258// SetEndpoint sets the Endpoint field's value. 11259func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput { 11260 s.Endpoint = &v 11261 return s 11262} 11263 11264// SetTelemetryEndpoint sets the TelemetryEndpoint field's value. 11265func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput { 11266 s.TelemetryEndpoint = &v 11267 return s 11268} 11269 11270// This parameter is specified when you are using Docker volumes. Docker volumes 11271// are only supported when you are using the EC2 launch type. Windows containers 11272// only support the use of the local driver. To use bind mounts, specify a host 11273// instead. 11274type DockerVolumeConfiguration struct { 11275 _ struct{} `type:"structure"` 11276 11277 // If this value is true, the Docker volume is created if it does not already 11278 // exist. 11279 // 11280 // This field is only used if the scope is shared. 11281 Autoprovision *bool `locationName:"autoprovision" type:"boolean"` 11282 11283 // The Docker volume driver to use. The driver value must match the driver name 11284 // provided by Docker because it is used for task placement. If the driver was 11285 // installed using the Docker plugin CLI, use docker plugin ls to retrieve the 11286 // driver name from your container instance. If the driver was installed using 11287 // another method, use Docker plugin discovery to retrieve the driver name. 11288 // For more information, see Docker plugin discovery (https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). 11289 // This parameter maps to Driver in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11290 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11291 // and the xxdriver option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11292 Driver *string `locationName:"driver" type:"string"` 11293 11294 // A map of Docker driver-specific options passed through. This parameter maps 11295 // to DriverOpts in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11296 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11297 // and the xxopt option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11298 DriverOpts map[string]*string `locationName:"driverOpts" type:"map"` 11299 11300 // Custom metadata to add to your Docker volume. This parameter maps to Labels 11301 // in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11302 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11303 // and the xxlabel option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11304 Labels map[string]*string `locationName:"labels" type:"map"` 11305 11306 // The scope for the Docker volume that determines its lifecycle. Docker volumes 11307 // that are scoped to a task are automatically provisioned when the task starts 11308 // and destroyed when the task stops. Docker volumes that are scoped as shared 11309 // persist after the task stops. 11310 Scope *string `locationName:"scope" type:"string" enum:"Scope"` 11311} 11312 11313// String returns the string representation 11314func (s DockerVolumeConfiguration) String() string { 11315 return awsutil.Prettify(s) 11316} 11317 11318// GoString returns the string representation 11319func (s DockerVolumeConfiguration) GoString() string { 11320 return s.String() 11321} 11322 11323// SetAutoprovision sets the Autoprovision field's value. 11324func (s *DockerVolumeConfiguration) SetAutoprovision(v bool) *DockerVolumeConfiguration { 11325 s.Autoprovision = &v 11326 return s 11327} 11328 11329// SetDriver sets the Driver field's value. 11330func (s *DockerVolumeConfiguration) SetDriver(v string) *DockerVolumeConfiguration { 11331 s.Driver = &v 11332 return s 11333} 11334 11335// SetDriverOpts sets the DriverOpts field's value. 11336func (s *DockerVolumeConfiguration) SetDriverOpts(v map[string]*string) *DockerVolumeConfiguration { 11337 s.DriverOpts = v 11338 return s 11339} 11340 11341// SetLabels sets the Labels field's value. 11342func (s *DockerVolumeConfiguration) SetLabels(v map[string]*string) *DockerVolumeConfiguration { 11343 s.Labels = v 11344 return s 11345} 11346 11347// SetScope sets the Scope field's value. 11348func (s *DockerVolumeConfiguration) SetScope(v string) *DockerVolumeConfiguration { 11349 s.Scope = &v 11350 return s 11351} 11352 11353// The authorization configuration details for the Amazon EFS file system. 11354type EFSAuthorizationConfig struct { 11355 _ struct{} `type:"structure"` 11356 11357 // The Amazon EFS access point ID to use. If an access point is specified, the 11358 // root directory value specified in the EFSVolumeConfiguration will be relative 11359 // to the directory set for the access point. If an access point is used, transit 11360 // encryption must be enabled in the EFSVolumeConfiguration. For more information, 11361 // see Working with Amazon EFS Access Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) 11362 // in the Amazon Elastic File System User Guide. 11363 AccessPointId *string `locationName:"accessPointId" type:"string"` 11364 11365 // Whether or not to use the Amazon ECS task IAM role defined in a task definition 11366 // when mounting the Amazon EFS file system. If enabled, transit encryption 11367 // must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, 11368 // the default value of DISABLED is used. For more information, see Using Amazon 11369 // EFS Access Points (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints) 11370 // in the Amazon Elastic Container Service Developer Guide. 11371 Iam *string `locationName:"iam" type:"string" enum:"EFSAuthorizationConfigIAM"` 11372} 11373 11374// String returns the string representation 11375func (s EFSAuthorizationConfig) String() string { 11376 return awsutil.Prettify(s) 11377} 11378 11379// GoString returns the string representation 11380func (s EFSAuthorizationConfig) GoString() string { 11381 return s.String() 11382} 11383 11384// SetAccessPointId sets the AccessPointId field's value. 11385func (s *EFSAuthorizationConfig) SetAccessPointId(v string) *EFSAuthorizationConfig { 11386 s.AccessPointId = &v 11387 return s 11388} 11389 11390// SetIam sets the Iam field's value. 11391func (s *EFSAuthorizationConfig) SetIam(v string) *EFSAuthorizationConfig { 11392 s.Iam = &v 11393 return s 11394} 11395 11396// This parameter is specified when you are using an Amazon Elastic File System 11397// file system for task storage. For more information, see Amazon EFS Volumes 11398// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html) 11399// in the Amazon Elastic Container Service Developer Guide. 11400type EFSVolumeConfiguration struct { 11401 _ struct{} `type:"structure"` 11402 11403 // The authorization configuration details for the Amazon EFS file system. 11404 AuthorizationConfig *EFSAuthorizationConfig `locationName:"authorizationConfig" type:"structure"` 11405 11406 // The Amazon EFS file system ID to use. 11407 // 11408 // FileSystemId is a required field 11409 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 11410 11411 // The directory within the Amazon EFS file system to mount as the root directory 11412 // inside the host. If this parameter is omitted, the root of the Amazon EFS 11413 // volume will be used. Specifying / will have the same effect as omitting this 11414 // parameter. 11415 RootDirectory *string `locationName:"rootDirectory" type:"string"` 11416 11417 // Whether or not to enable encryption for Amazon EFS data in transit between 11418 // the Amazon ECS host and the Amazon EFS server. Transit encryption must be 11419 // enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, 11420 // the default value of DISABLED is used. For more information, see Encrypting 11421 // Data in Transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) 11422 // in the Amazon Elastic File System User Guide. 11423 TransitEncryption *string `locationName:"transitEncryption" type:"string" enum:"EFSTransitEncryption"` 11424 11425 // The port to use when sending encrypted data between the Amazon ECS host and 11426 // the Amazon EFS server. If you do not specify a transit encryption port, it 11427 // will use the port selection strategy that the Amazon EFS mount helper uses. 11428 // For more information, see EFS Mount Helper (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) 11429 // in the Amazon Elastic File System User Guide. 11430 TransitEncryptionPort *int64 `locationName:"transitEncryptionPort" type:"integer"` 11431} 11432 11433// String returns the string representation 11434func (s EFSVolumeConfiguration) String() string { 11435 return awsutil.Prettify(s) 11436} 11437 11438// GoString returns the string representation 11439func (s EFSVolumeConfiguration) GoString() string { 11440 return s.String() 11441} 11442 11443// Validate inspects the fields of the type to determine if they are valid. 11444func (s *EFSVolumeConfiguration) Validate() error { 11445 invalidParams := request.ErrInvalidParams{Context: "EFSVolumeConfiguration"} 11446 if s.FileSystemId == nil { 11447 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 11448 } 11449 11450 if invalidParams.Len() > 0 { 11451 return invalidParams 11452 } 11453 return nil 11454} 11455 11456// SetAuthorizationConfig sets the AuthorizationConfig field's value. 11457func (s *EFSVolumeConfiguration) SetAuthorizationConfig(v *EFSAuthorizationConfig) *EFSVolumeConfiguration { 11458 s.AuthorizationConfig = v 11459 return s 11460} 11461 11462// SetFileSystemId sets the FileSystemId field's value. 11463func (s *EFSVolumeConfiguration) SetFileSystemId(v string) *EFSVolumeConfiguration { 11464 s.FileSystemId = &v 11465 return s 11466} 11467 11468// SetRootDirectory sets the RootDirectory field's value. 11469func (s *EFSVolumeConfiguration) SetRootDirectory(v string) *EFSVolumeConfiguration { 11470 s.RootDirectory = &v 11471 return s 11472} 11473 11474// SetTransitEncryption sets the TransitEncryption field's value. 11475func (s *EFSVolumeConfiguration) SetTransitEncryption(v string) *EFSVolumeConfiguration { 11476 s.TransitEncryption = &v 11477 return s 11478} 11479 11480// SetTransitEncryptionPort sets the TransitEncryptionPort field's value. 11481func (s *EFSVolumeConfiguration) SetTransitEncryptionPort(v int64) *EFSVolumeConfiguration { 11482 s.TransitEncryptionPort = &v 11483 return s 11484} 11485 11486// A list of files containing the environment variables to pass to a container. 11487// You can specify up to ten environment files. The file must have a .env file 11488// extension. Each line in an environment file should contain an environment 11489// variable in VARIABLE=VALUE format. Lines beginning with # are treated as 11490// comments and are ignored. For more information on the environment variable 11491// file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 11492// 11493// If there are environment variables specified using the environment parameter 11494// in a container definition, they take precedence over the variables contained 11495// within an environment file. If multiple environment files are specified that 11496// contain the same variable, they are processed from the top down. It is recommended 11497// to use unique variable names. For more information, see Specifying Environment 11498// Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 11499// in the Amazon Elastic Container Service Developer Guide. 11500// 11501// This field is not valid for containers in tasks using the Fargate launch 11502// type. 11503type EnvironmentFile struct { 11504 _ struct{} `type:"structure"` 11505 11506 // The file type to use. The only supported value is s3. 11507 // 11508 // Type is a required field 11509 Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentFileType"` 11510 11511 // The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment 11512 // variable file. 11513 // 11514 // Value is a required field 11515 Value *string `locationName:"value" type:"string" required:"true"` 11516} 11517 11518// String returns the string representation 11519func (s EnvironmentFile) String() string { 11520 return awsutil.Prettify(s) 11521} 11522 11523// GoString returns the string representation 11524func (s EnvironmentFile) GoString() string { 11525 return s.String() 11526} 11527 11528// Validate inspects the fields of the type to determine if they are valid. 11529func (s *EnvironmentFile) Validate() error { 11530 invalidParams := request.ErrInvalidParams{Context: "EnvironmentFile"} 11531 if s.Type == nil { 11532 invalidParams.Add(request.NewErrParamRequired("Type")) 11533 } 11534 if s.Value == nil { 11535 invalidParams.Add(request.NewErrParamRequired("Value")) 11536 } 11537 11538 if invalidParams.Len() > 0 { 11539 return invalidParams 11540 } 11541 return nil 11542} 11543 11544// SetType sets the Type field's value. 11545func (s *EnvironmentFile) SetType(v string) *EnvironmentFile { 11546 s.Type = &v 11547 return s 11548} 11549 11550// SetValue sets the Value field's value. 11551func (s *EnvironmentFile) SetValue(v string) *EnvironmentFile { 11552 s.Value = &v 11553 return s 11554} 11555 11556// A failed resource. 11557type Failure struct { 11558 _ struct{} `type:"structure"` 11559 11560 // The Amazon Resource Name (ARN) of the failed resource. 11561 Arn *string `locationName:"arn" type:"string"` 11562 11563 // The details of the failure. 11564 Detail *string `locationName:"detail" type:"string"` 11565 11566 // The reason for the failure. 11567 Reason *string `locationName:"reason" type:"string"` 11568} 11569 11570// String returns the string representation 11571func (s Failure) String() string { 11572 return awsutil.Prettify(s) 11573} 11574 11575// GoString returns the string representation 11576func (s Failure) GoString() string { 11577 return s.String() 11578} 11579 11580// SetArn sets the Arn field's value. 11581func (s *Failure) SetArn(v string) *Failure { 11582 s.Arn = &v 11583 return s 11584} 11585 11586// SetDetail sets the Detail field's value. 11587func (s *Failure) SetDetail(v string) *Failure { 11588 s.Detail = &v 11589 return s 11590} 11591 11592// SetReason sets the Reason field's value. 11593func (s *Failure) SetReason(v string) *Failure { 11594 s.Reason = &v 11595 return s 11596} 11597 11598// The FireLens configuration for the container. This is used to specify and 11599// configure a log router for container logs. For more information, see Custom 11600// Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 11601// in the Amazon Elastic Container Service Developer Guide. 11602type FirelensConfiguration struct { 11603 _ struct{} `type:"structure"` 11604 11605 // The options to use when configuring the log router. This field is optional 11606 // and can be used to specify a custom configuration file or to add additional 11607 // metadata, such as the task, task definition, cluster, and container instance 11608 // 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"}. 11609 // For more information, see Creating a Task Definition that Uses a FireLens 11610 // Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef) 11611 // in the Amazon Elastic Container Service Developer Guide. 11612 Options map[string]*string `locationName:"options" type:"map"` 11613 11614 // The log router to use. The valid values are fluentd or fluentbit. 11615 // 11616 // Type is a required field 11617 Type *string `locationName:"type" type:"string" required:"true" enum:"FirelensConfigurationType"` 11618} 11619 11620// String returns the string representation 11621func (s FirelensConfiguration) String() string { 11622 return awsutil.Prettify(s) 11623} 11624 11625// GoString returns the string representation 11626func (s FirelensConfiguration) GoString() string { 11627 return s.String() 11628} 11629 11630// Validate inspects the fields of the type to determine if they are valid. 11631func (s *FirelensConfiguration) Validate() error { 11632 invalidParams := request.ErrInvalidParams{Context: "FirelensConfiguration"} 11633 if s.Type == nil { 11634 invalidParams.Add(request.NewErrParamRequired("Type")) 11635 } 11636 11637 if invalidParams.Len() > 0 { 11638 return invalidParams 11639 } 11640 return nil 11641} 11642 11643// SetOptions sets the Options field's value. 11644func (s *FirelensConfiguration) SetOptions(v map[string]*string) *FirelensConfiguration { 11645 s.Options = v 11646 return s 11647} 11648 11649// SetType sets the Type field's value. 11650func (s *FirelensConfiguration) SetType(v string) *FirelensConfiguration { 11651 s.Type = &v 11652 return s 11653} 11654 11655// An object representing a container health check. Health check parameters 11656// that are specified in a container definition override any Docker health checks 11657// that exist in the container image (such as those specified in a parent image 11658// or from the image's Dockerfile). 11659// 11660// You can view the health status of both individual containers and a task with 11661// the DescribeTasks API operation or when viewing the task details in the console. 11662// 11663// The following describes the possible healthStatus values for a container: 11664// 11665// * HEALTHY-The container health check has passed successfully. 11666// 11667// * UNHEALTHY-The container health check has failed. 11668// 11669// * UNKNOWN-The container health check is being evaluated or there is no 11670// container health check defined. 11671// 11672// The following describes the possible healthStatus values for a task. The 11673// container health check status of nonessential containers do not have an effect 11674// on the health status of a task. 11675// 11676// * HEALTHY-All essential containers within the task have passed their health 11677// checks. 11678// 11679// * UNHEALTHY-One or more essential containers have failed their health 11680// check. 11681// 11682// * UNKNOWN-The essential containers within the task are still having their 11683// health checks evaluated or there are no container health checks defined. 11684// 11685// If a task is run manually, and not as part of a service, the task will continue 11686// its lifecycle regardless of its health status. For tasks that are part of 11687// a service, if the task reports as unhealthy then the task will be stopped 11688// and the service scheduler will replace it. 11689// 11690// The following are notes about container health check support: 11691// 11692// * Container health checks require version 1.17.0 or greater of the Amazon 11693// ECS container agent. For more information, see Updating the Amazon ECS 11694// Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). 11695// 11696// * Container health checks are supported for Fargate tasks if you are using 11697// platform version 1.1.0 or greater. For more information, see AWS Fargate 11698// Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 11699// 11700// * Container health checks are not supported for tasks that are part of 11701// a service that is configured to use a Classic Load Balancer. 11702type HealthCheck struct { 11703 _ struct{} `type:"structure"` 11704 11705 // A string array representing the command that the container runs to determine 11706 // if it is healthy. The string array must start with CMD to execute the command 11707 // arguments directly, or CMD-SHELL to run the command with the container's 11708 // default shell. For example: 11709 // 11710 // [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] 11711 // 11712 // An exit code of 0 indicates success, and non-zero exit code indicates failure. 11713 // For more information, see HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 11714 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 11715 // 11716 // Command is a required field 11717 Command []*string `locationName:"command" type:"list" required:"true"` 11718 11719 // The time period in seconds between each health check execution. You may specify 11720 // between 5 and 300 seconds. The default value is 30 seconds. 11721 Interval *int64 `locationName:"interval" type:"integer"` 11722 11723 // The number of times to retry a failed health check before the container is 11724 // considered unhealthy. You may specify between 1 and 10 retries. The default 11725 // value is 3. 11726 Retries *int64 `locationName:"retries" type:"integer"` 11727 11728 // The optional grace period within which to provide containers time to bootstrap 11729 // before failed health checks count towards the maximum number of retries. 11730 // You may specify between 0 and 300 seconds. The startPeriod is disabled by 11731 // default. 11732 // 11733 // If a health check succeeds within the startPeriod, then the container is 11734 // considered healthy and any subsequent failures count toward the maximum number 11735 // of retries. 11736 StartPeriod *int64 `locationName:"startPeriod" type:"integer"` 11737 11738 // The time period in seconds to wait for a health check to succeed before it 11739 // is considered a failure. You may specify between 2 and 60 seconds. The default 11740 // value is 5. 11741 Timeout *int64 `locationName:"timeout" type:"integer"` 11742} 11743 11744// String returns the string representation 11745func (s HealthCheck) String() string { 11746 return awsutil.Prettify(s) 11747} 11748 11749// GoString returns the string representation 11750func (s HealthCheck) GoString() string { 11751 return s.String() 11752} 11753 11754// Validate inspects the fields of the type to determine if they are valid. 11755func (s *HealthCheck) Validate() error { 11756 invalidParams := request.ErrInvalidParams{Context: "HealthCheck"} 11757 if s.Command == nil { 11758 invalidParams.Add(request.NewErrParamRequired("Command")) 11759 } 11760 11761 if invalidParams.Len() > 0 { 11762 return invalidParams 11763 } 11764 return nil 11765} 11766 11767// SetCommand sets the Command field's value. 11768func (s *HealthCheck) SetCommand(v []*string) *HealthCheck { 11769 s.Command = v 11770 return s 11771} 11772 11773// SetInterval sets the Interval field's value. 11774func (s *HealthCheck) SetInterval(v int64) *HealthCheck { 11775 s.Interval = &v 11776 return s 11777} 11778 11779// SetRetries sets the Retries field's value. 11780func (s *HealthCheck) SetRetries(v int64) *HealthCheck { 11781 s.Retries = &v 11782 return s 11783} 11784 11785// SetStartPeriod sets the StartPeriod field's value. 11786func (s *HealthCheck) SetStartPeriod(v int64) *HealthCheck { 11787 s.StartPeriod = &v 11788 return s 11789} 11790 11791// SetTimeout sets the Timeout field's value. 11792func (s *HealthCheck) SetTimeout(v int64) *HealthCheck { 11793 s.Timeout = &v 11794 return s 11795} 11796 11797// Hostnames and IP address entries that are added to the /etc/hosts file of 11798// a container via the extraHosts parameter of its ContainerDefinition. 11799type HostEntry struct { 11800 _ struct{} `type:"structure"` 11801 11802 // The hostname to use in the /etc/hosts entry. 11803 // 11804 // Hostname is a required field 11805 Hostname *string `locationName:"hostname" type:"string" required:"true"` 11806 11807 // The IP address to use in the /etc/hosts entry. 11808 // 11809 // IpAddress is a required field 11810 IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` 11811} 11812 11813// String returns the string representation 11814func (s HostEntry) String() string { 11815 return awsutil.Prettify(s) 11816} 11817 11818// GoString returns the string representation 11819func (s HostEntry) GoString() string { 11820 return s.String() 11821} 11822 11823// Validate inspects the fields of the type to determine if they are valid. 11824func (s *HostEntry) Validate() error { 11825 invalidParams := request.ErrInvalidParams{Context: "HostEntry"} 11826 if s.Hostname == nil { 11827 invalidParams.Add(request.NewErrParamRequired("Hostname")) 11828 } 11829 if s.IpAddress == nil { 11830 invalidParams.Add(request.NewErrParamRequired("IpAddress")) 11831 } 11832 11833 if invalidParams.Len() > 0 { 11834 return invalidParams 11835 } 11836 return nil 11837} 11838 11839// SetHostname sets the Hostname field's value. 11840func (s *HostEntry) SetHostname(v string) *HostEntry { 11841 s.Hostname = &v 11842 return s 11843} 11844 11845// SetIpAddress sets the IpAddress field's value. 11846func (s *HostEntry) SetIpAddress(v string) *HostEntry { 11847 s.IpAddress = &v 11848 return s 11849} 11850 11851// Details on a container instance bind mount host volume. 11852type HostVolumeProperties struct { 11853 _ struct{} `type:"structure"` 11854 11855 // When the host parameter is used, specify a sourcePath to declare the path 11856 // on the host container instance that is presented to the container. If this 11857 // parameter is empty, then the Docker daemon has assigned a host path for you. 11858 // If the host parameter contains a sourcePath file location, then the data 11859 // volume persists at the specified location on the host container instance 11860 // until you delete it manually. If the sourcePath value does not exist on the 11861 // host container instance, the Docker daemon creates it. If the location does 11862 // exist, the contents of the source path folder are exported. 11863 // 11864 // If you are using the Fargate launch type, the sourcePath parameter is not 11865 // supported. 11866 SourcePath *string `locationName:"sourcePath" type:"string"` 11867} 11868 11869// String returns the string representation 11870func (s HostVolumeProperties) String() string { 11871 return awsutil.Prettify(s) 11872} 11873 11874// GoString returns the string representation 11875func (s HostVolumeProperties) GoString() string { 11876 return s.String() 11877} 11878 11879// SetSourcePath sets the SourcePath field's value. 11880func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { 11881 s.SourcePath = &v 11882 return s 11883} 11884 11885// Details on a Elastic Inference accelerator. For more information, see Working 11886// with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 11887// in the Amazon Elastic Container Service Developer Guide. 11888type InferenceAccelerator struct { 11889 _ struct{} `type:"structure"` 11890 11891 // The Elastic Inference accelerator device name. The deviceName must also be 11892 // referenced in a container definition as a ResourceRequirement. 11893 // 11894 // DeviceName is a required field 11895 DeviceName *string `locationName:"deviceName" type:"string" required:"true"` 11896 11897 // The Elastic Inference accelerator type to use. 11898 // 11899 // DeviceType is a required field 11900 DeviceType *string `locationName:"deviceType" type:"string" required:"true"` 11901} 11902 11903// String returns the string representation 11904func (s InferenceAccelerator) String() string { 11905 return awsutil.Prettify(s) 11906} 11907 11908// GoString returns the string representation 11909func (s InferenceAccelerator) GoString() string { 11910 return s.String() 11911} 11912 11913// Validate inspects the fields of the type to determine if they are valid. 11914func (s *InferenceAccelerator) Validate() error { 11915 invalidParams := request.ErrInvalidParams{Context: "InferenceAccelerator"} 11916 if s.DeviceName == nil { 11917 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 11918 } 11919 if s.DeviceType == nil { 11920 invalidParams.Add(request.NewErrParamRequired("DeviceType")) 11921 } 11922 11923 if invalidParams.Len() > 0 { 11924 return invalidParams 11925 } 11926 return nil 11927} 11928 11929// SetDeviceName sets the DeviceName field's value. 11930func (s *InferenceAccelerator) SetDeviceName(v string) *InferenceAccelerator { 11931 s.DeviceName = &v 11932 return s 11933} 11934 11935// SetDeviceType sets the DeviceType field's value. 11936func (s *InferenceAccelerator) SetDeviceType(v string) *InferenceAccelerator { 11937 s.DeviceType = &v 11938 return s 11939} 11940 11941// Details on an Elastic Inference accelerator task override. This parameter 11942// is used to override the Elastic Inference accelerator specified in the task 11943// definition. For more information, see Working with Amazon Elastic Inference 11944// on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 11945// in the Amazon Elastic Container Service Developer Guide. 11946type InferenceAcceleratorOverride struct { 11947 _ struct{} `type:"structure"` 11948 11949 // The Elastic Inference accelerator device name to override for the task. This 11950 // parameter must match a deviceName specified in the task definition. 11951 DeviceName *string `locationName:"deviceName" type:"string"` 11952 11953 // The Elastic Inference accelerator type to use. 11954 DeviceType *string `locationName:"deviceType" type:"string"` 11955} 11956 11957// String returns the string representation 11958func (s InferenceAcceleratorOverride) String() string { 11959 return awsutil.Prettify(s) 11960} 11961 11962// GoString returns the string representation 11963func (s InferenceAcceleratorOverride) GoString() string { 11964 return s.String() 11965} 11966 11967// SetDeviceName sets the DeviceName field's value. 11968func (s *InferenceAcceleratorOverride) SetDeviceName(v string) *InferenceAcceleratorOverride { 11969 s.DeviceName = &v 11970 return s 11971} 11972 11973// SetDeviceType sets the DeviceType field's value. 11974func (s *InferenceAcceleratorOverride) SetDeviceType(v string) *InferenceAcceleratorOverride { 11975 s.DeviceType = &v 11976 return s 11977} 11978 11979// The specified parameter is invalid. Review the available parameters for the 11980// API request. 11981type InvalidParameterException struct { 11982 _ struct{} `type:"structure"` 11983 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11984 11985 Message_ *string `locationName:"message" type:"string"` 11986} 11987 11988// String returns the string representation 11989func (s InvalidParameterException) String() string { 11990 return awsutil.Prettify(s) 11991} 11992 11993// GoString returns the string representation 11994func (s InvalidParameterException) GoString() string { 11995 return s.String() 11996} 11997 11998func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 11999 return &InvalidParameterException{ 12000 RespMetadata: v, 12001 } 12002} 12003 12004// Code returns the exception type name. 12005func (s *InvalidParameterException) Code() string { 12006 return "InvalidParameterException" 12007} 12008 12009// Message returns the exception's message. 12010func (s *InvalidParameterException) Message() string { 12011 if s.Message_ != nil { 12012 return *s.Message_ 12013 } 12014 return "" 12015} 12016 12017// OrigErr always returns nil, satisfies awserr.Error interface. 12018func (s *InvalidParameterException) OrigErr() error { 12019 return nil 12020} 12021 12022func (s *InvalidParameterException) Error() string { 12023 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12024} 12025 12026// Status code returns the HTTP status code for the request's response error. 12027func (s *InvalidParameterException) StatusCode() int { 12028 return s.RespMetadata.StatusCode 12029} 12030 12031// RequestID returns the service's response RequestID for request. 12032func (s *InvalidParameterException) RequestID() string { 12033 return s.RespMetadata.RequestID 12034} 12035 12036// The Linux capabilities for the container that are added to or dropped from 12037// the default configuration provided by Docker. For more information on the 12038// default capabilities and the non-default available capabilities, see Runtime 12039// privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 12040// in the Docker run reference. For more detailed information on these Linux 12041// capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) 12042// Linux manual page. 12043type KernelCapabilities struct { 12044 _ struct{} `type:"structure"` 12045 12046 // The Linux capabilities for the container that have been added to the default 12047 // configuration provided by Docker. This parameter maps to CapAdd in the Create 12048 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12049 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12050 // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/). 12051 // 12052 // The SYS_PTRACE capability is supported for tasks that use the Fargate launch 12053 // type if they are also using platform version 1.4.0. The other capabilities 12054 // are not supported for any platform versions. 12055 // 12056 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 12057 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 12058 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 12059 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 12060 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 12061 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 12062 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 12063 // "WAKE_ALARM" 12064 Add []*string `locationName:"add" type:"list"` 12065 12066 // The Linux capabilities for the container that have been removed from the 12067 // default configuration provided by Docker. This parameter maps to CapDrop 12068 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12069 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12070 // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/). 12071 // 12072 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 12073 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 12074 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 12075 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 12076 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 12077 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 12078 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 12079 // "WAKE_ALARM" 12080 Drop []*string `locationName:"drop" type:"list"` 12081} 12082 12083// String returns the string representation 12084func (s KernelCapabilities) String() string { 12085 return awsutil.Prettify(s) 12086} 12087 12088// GoString returns the string representation 12089func (s KernelCapabilities) GoString() string { 12090 return s.String() 12091} 12092 12093// SetAdd sets the Add field's value. 12094func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { 12095 s.Add = v 12096 return s 12097} 12098 12099// SetDrop sets the Drop field's value. 12100func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { 12101 s.Drop = v 12102 return s 12103} 12104 12105// A key-value pair object. 12106type KeyValuePair struct { 12107 _ struct{} `type:"structure"` 12108 12109 // The name of the key-value pair. For environment variables, this is the name 12110 // of the environment variable. 12111 Name *string `locationName:"name" type:"string"` 12112 12113 // The value of the key-value pair. For environment variables, this is the value 12114 // of the environment variable. 12115 Value *string `locationName:"value" type:"string"` 12116} 12117 12118// String returns the string representation 12119func (s KeyValuePair) String() string { 12120 return awsutil.Prettify(s) 12121} 12122 12123// GoString returns the string representation 12124func (s KeyValuePair) GoString() string { 12125 return s.String() 12126} 12127 12128// SetName sets the Name field's value. 12129func (s *KeyValuePair) SetName(v string) *KeyValuePair { 12130 s.Name = &v 12131 return s 12132} 12133 12134// SetValue sets the Value field's value. 12135func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 12136 s.Value = &v 12137 return s 12138} 12139 12140// The limit for the resource has been exceeded. 12141type LimitExceededException struct { 12142 _ struct{} `type:"structure"` 12143 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 12144 12145 Message_ *string `locationName:"message" type:"string"` 12146} 12147 12148// String returns the string representation 12149func (s LimitExceededException) String() string { 12150 return awsutil.Prettify(s) 12151} 12152 12153// GoString returns the string representation 12154func (s LimitExceededException) GoString() string { 12155 return s.String() 12156} 12157 12158func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 12159 return &LimitExceededException{ 12160 RespMetadata: v, 12161 } 12162} 12163 12164// Code returns the exception type name. 12165func (s *LimitExceededException) Code() string { 12166 return "LimitExceededException" 12167} 12168 12169// Message returns the exception's message. 12170func (s *LimitExceededException) Message() string { 12171 if s.Message_ != nil { 12172 return *s.Message_ 12173 } 12174 return "" 12175} 12176 12177// OrigErr always returns nil, satisfies awserr.Error interface. 12178func (s *LimitExceededException) OrigErr() error { 12179 return nil 12180} 12181 12182func (s *LimitExceededException) Error() string { 12183 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12184} 12185 12186// Status code returns the HTTP status code for the request's response error. 12187func (s *LimitExceededException) StatusCode() int { 12188 return s.RespMetadata.StatusCode 12189} 12190 12191// RequestID returns the service's response RequestID for request. 12192func (s *LimitExceededException) RequestID() string { 12193 return s.RespMetadata.RequestID 12194} 12195 12196// Linux-specific options that are applied to the container, such as Linux KernelCapabilities. 12197type LinuxParameters struct { 12198 _ struct{} `type:"structure"` 12199 12200 // The Linux capabilities for the container that are added to or dropped from 12201 // the default configuration provided by Docker. 12202 // 12203 // For tasks that use the Fargate launch type, capabilities is supported for 12204 // all platform versions but the add parameter is only supported if using platform 12205 // version 1.4.0 or later. 12206 Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` 12207 12208 // Any host devices to expose to the container. This parameter maps to Devices 12209 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12210 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12211 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/). 12212 // 12213 // If you are using tasks that use the Fargate launch type, the devices parameter 12214 // is not supported. 12215 Devices []*Device `locationName:"devices" type:"list"` 12216 12217 // Run an init process inside the container that forwards signals and reaps 12218 // processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/). 12219 // This parameter requires version 1.25 of the Docker Remote API or greater 12220 // on your container instance. To check the Docker Remote API version on your 12221 // container instance, log in to your container instance and run the following 12222 // command: sudo docker version --format '{{.Server.APIVersion}}' 12223 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 12224 12225 // The total amount of swap memory (in MiB) a container can use. This parameter 12226 // will be translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/) 12227 // where the value would be the sum of the container memory plus the maxSwap 12228 // value. 12229 // 12230 // If a maxSwap value of 0 is specified, the container will not use swap. Accepted 12231 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 12232 // the container will use the swap configuration for the container instance 12233 // it is running on. A maxSwap value must be set for the swappiness parameter 12234 // to be used. 12235 // 12236 // If you are using tasks that use the Fargate launch type, the maxSwap parameter 12237 // is not supported. 12238 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 12239 12240 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 12241 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/). 12242 // 12243 // If you are using tasks that use the Fargate launch type, the sharedMemorySize 12244 // parameter is not supported. 12245 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 12246 12247 // This allows you to tune a container's memory swappiness behavior. A swappiness 12248 // value of 0 will cause swapping to not happen unless absolutely necessary. 12249 // A swappiness value of 100 will cause pages to be swapped very aggressively. 12250 // Accepted values are whole numbers between 0 and 100. If the swappiness parameter 12251 // is not specified, a default value of 60 is used. If a value is not specified 12252 // for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness 12253 // option to docker run (https://docs.docker.com/engine/reference/run/). 12254 // 12255 // If you are using tasks that use the Fargate launch type, the swappiness parameter 12256 // is not supported. 12257 Swappiness *int64 `locationName:"swappiness" type:"integer"` 12258 12259 // The container path, mount options, and size (in MiB) of the tmpfs mount. 12260 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/). 12261 // 12262 // If you are using tasks that use the Fargate launch type, the tmpfs parameter 12263 // is not supported. 12264 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 12265} 12266 12267// String returns the string representation 12268func (s LinuxParameters) String() string { 12269 return awsutil.Prettify(s) 12270} 12271 12272// GoString returns the string representation 12273func (s LinuxParameters) GoString() string { 12274 return s.String() 12275} 12276 12277// Validate inspects the fields of the type to determine if they are valid. 12278func (s *LinuxParameters) Validate() error { 12279 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 12280 if s.Devices != nil { 12281 for i, v := range s.Devices { 12282 if v == nil { 12283 continue 12284 } 12285 if err := v.Validate(); err != nil { 12286 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 12287 } 12288 } 12289 } 12290 if s.Tmpfs != nil { 12291 for i, v := range s.Tmpfs { 12292 if v == nil { 12293 continue 12294 } 12295 if err := v.Validate(); err != nil { 12296 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 12297 } 12298 } 12299 } 12300 12301 if invalidParams.Len() > 0 { 12302 return invalidParams 12303 } 12304 return nil 12305} 12306 12307// SetCapabilities sets the Capabilities field's value. 12308func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { 12309 s.Capabilities = v 12310 return s 12311} 12312 12313// SetDevices sets the Devices field's value. 12314func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 12315 s.Devices = v 12316 return s 12317} 12318 12319// SetInitProcessEnabled sets the InitProcessEnabled field's value. 12320func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 12321 s.InitProcessEnabled = &v 12322 return s 12323} 12324 12325// SetMaxSwap sets the MaxSwap field's value. 12326func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 12327 s.MaxSwap = &v 12328 return s 12329} 12330 12331// SetSharedMemorySize sets the SharedMemorySize field's value. 12332func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 12333 s.SharedMemorySize = &v 12334 return s 12335} 12336 12337// SetSwappiness sets the Swappiness field's value. 12338func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 12339 s.Swappiness = &v 12340 return s 12341} 12342 12343// SetTmpfs sets the Tmpfs field's value. 12344func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 12345 s.Tmpfs = v 12346 return s 12347} 12348 12349type ListAccountSettingsInput struct { 12350 _ struct{} `type:"structure"` 12351 12352 // Specifies whether to return the effective settings. If true, the account 12353 // settings for the root user or the default setting for the principalArn are 12354 // returned. If false, the account settings for the principalArn are returned 12355 // if they are set. Otherwise, no account settings are returned. 12356 EffectiveSettings *bool `locationName:"effectiveSettings" type:"boolean"` 12357 12358 // The maximum number of account setting results returned by ListAccountSettings 12359 // in paginated output. When this parameter is used, ListAccountSettings only 12360 // returns maxResults results in a single page along with a nextToken response 12361 // element. The remaining results of the initial request can be seen by sending 12362 // another ListAccountSettings request with the returned nextToken value. This 12363 // value can be between 1 and 10. If this parameter is not used, then ListAccountSettings 12364 // returns up to 10 results and a nextToken value if applicable. 12365 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12366 12367 // The name of the account setting you want to list the settings for. 12368 Name *string `locationName:"name" type:"string" enum:"SettingName"` 12369 12370 // The nextToken value returned from a ListAccountSettings request indicating 12371 // that more results are available to fulfill the request and further calls 12372 // will be needed. If maxResults was provided, it is possible the number of 12373 // results to be fewer than maxResults. 12374 // 12375 // This token should be treated as an opaque identifier that is only used to 12376 // retrieve the next items in a list and not for other programmatic purposes. 12377 NextToken *string `locationName:"nextToken" type:"string"` 12378 12379 // The ARN of the principal, which can be an IAM user, IAM role, or the root 12380 // user. If this field is omitted, the account settings are listed only for 12381 // the authenticated user. 12382 PrincipalArn *string `locationName:"principalArn" type:"string"` 12383 12384 // The value of the account settings with which to filter results. You must 12385 // also specify an account setting name to use this parameter. 12386 Value *string `locationName:"value" type:"string"` 12387} 12388 12389// String returns the string representation 12390func (s ListAccountSettingsInput) String() string { 12391 return awsutil.Prettify(s) 12392} 12393 12394// GoString returns the string representation 12395func (s ListAccountSettingsInput) GoString() string { 12396 return s.String() 12397} 12398 12399// SetEffectiveSettings sets the EffectiveSettings field's value. 12400func (s *ListAccountSettingsInput) SetEffectiveSettings(v bool) *ListAccountSettingsInput { 12401 s.EffectiveSettings = &v 12402 return s 12403} 12404 12405// SetMaxResults sets the MaxResults field's value. 12406func (s *ListAccountSettingsInput) SetMaxResults(v int64) *ListAccountSettingsInput { 12407 s.MaxResults = &v 12408 return s 12409} 12410 12411// SetName sets the Name field's value. 12412func (s *ListAccountSettingsInput) SetName(v string) *ListAccountSettingsInput { 12413 s.Name = &v 12414 return s 12415} 12416 12417// SetNextToken sets the NextToken field's value. 12418func (s *ListAccountSettingsInput) SetNextToken(v string) *ListAccountSettingsInput { 12419 s.NextToken = &v 12420 return s 12421} 12422 12423// SetPrincipalArn sets the PrincipalArn field's value. 12424func (s *ListAccountSettingsInput) SetPrincipalArn(v string) *ListAccountSettingsInput { 12425 s.PrincipalArn = &v 12426 return s 12427} 12428 12429// SetValue sets the Value field's value. 12430func (s *ListAccountSettingsInput) SetValue(v string) *ListAccountSettingsInput { 12431 s.Value = &v 12432 return s 12433} 12434 12435type ListAccountSettingsOutput struct { 12436 _ struct{} `type:"structure"` 12437 12438 // The nextToken value to include in a future ListAccountSettings request. When 12439 // the results of a ListAccountSettings request exceed maxResults, this value 12440 // can be used to retrieve the next page of results. This value is null when 12441 // there are no more results to return. 12442 NextToken *string `locationName:"nextToken" type:"string"` 12443 12444 // The account settings for the resource. 12445 Settings []*Setting `locationName:"settings" type:"list"` 12446} 12447 12448// String returns the string representation 12449func (s ListAccountSettingsOutput) String() string { 12450 return awsutil.Prettify(s) 12451} 12452 12453// GoString returns the string representation 12454func (s ListAccountSettingsOutput) GoString() string { 12455 return s.String() 12456} 12457 12458// SetNextToken sets the NextToken field's value. 12459func (s *ListAccountSettingsOutput) SetNextToken(v string) *ListAccountSettingsOutput { 12460 s.NextToken = &v 12461 return s 12462} 12463 12464// SetSettings sets the Settings field's value. 12465func (s *ListAccountSettingsOutput) SetSettings(v []*Setting) *ListAccountSettingsOutput { 12466 s.Settings = v 12467 return s 12468} 12469 12470type ListAttributesInput struct { 12471 _ struct{} `type:"structure"` 12472 12473 // The name of the attribute with which to filter the results. 12474 AttributeName *string `locationName:"attributeName" type:"string"` 12475 12476 // The value of the attribute with which to filter results. You must also specify 12477 // an attribute name to use this parameter. 12478 AttributeValue *string `locationName:"attributeValue" type:"string"` 12479 12480 // The short name or full Amazon Resource Name (ARN) of the cluster to list 12481 // attributes. If you do not specify a cluster, the default cluster is assumed. 12482 Cluster *string `locationName:"cluster" type:"string"` 12483 12484 // The maximum number of cluster results returned by ListAttributes in paginated 12485 // output. When this parameter is used, ListAttributes only returns maxResults 12486 // results in a single page along with a nextToken response element. The remaining 12487 // results of the initial request can be seen by sending another ListAttributes 12488 // request with the returned nextToken value. This value can be between 1 and 12489 // 100. If this parameter is not used, then ListAttributes returns up to 100 12490 // results and a nextToken value if applicable. 12491 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12492 12493 // The nextToken value returned from a ListAttributes request indicating that 12494 // more results are available to fulfill the request and further calls will 12495 // be needed. If maxResults was provided, it is possible the number of results 12496 // to be fewer than maxResults. 12497 // 12498 // This token should be treated as an opaque identifier that is only used to 12499 // retrieve the next items in a list and not for other programmatic purposes. 12500 NextToken *string `locationName:"nextToken" type:"string"` 12501 12502 // The type of the target with which to list attributes. 12503 // 12504 // TargetType is a required field 12505 TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"` 12506} 12507 12508// String returns the string representation 12509func (s ListAttributesInput) String() string { 12510 return awsutil.Prettify(s) 12511} 12512 12513// GoString returns the string representation 12514func (s ListAttributesInput) GoString() string { 12515 return s.String() 12516} 12517 12518// Validate inspects the fields of the type to determine if they are valid. 12519func (s *ListAttributesInput) Validate() error { 12520 invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"} 12521 if s.TargetType == nil { 12522 invalidParams.Add(request.NewErrParamRequired("TargetType")) 12523 } 12524 12525 if invalidParams.Len() > 0 { 12526 return invalidParams 12527 } 12528 return nil 12529} 12530 12531// SetAttributeName sets the AttributeName field's value. 12532func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput { 12533 s.AttributeName = &v 12534 return s 12535} 12536 12537// SetAttributeValue sets the AttributeValue field's value. 12538func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput { 12539 s.AttributeValue = &v 12540 return s 12541} 12542 12543// SetCluster sets the Cluster field's value. 12544func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput { 12545 s.Cluster = &v 12546 return s 12547} 12548 12549// SetMaxResults sets the MaxResults field's value. 12550func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput { 12551 s.MaxResults = &v 12552 return s 12553} 12554 12555// SetNextToken sets the NextToken field's value. 12556func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput { 12557 s.NextToken = &v 12558 return s 12559} 12560 12561// SetTargetType sets the TargetType field's value. 12562func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput { 12563 s.TargetType = &v 12564 return s 12565} 12566 12567type ListAttributesOutput struct { 12568 _ struct{} `type:"structure"` 12569 12570 // A list of attribute objects that meet the criteria of the request. 12571 Attributes []*Attribute `locationName:"attributes" type:"list"` 12572 12573 // The nextToken value to include in a future ListAttributes request. When the 12574 // results of a ListAttributes request exceed maxResults, this value can be 12575 // used to retrieve the next page of results. This value is null when there 12576 // are no more results to return. 12577 NextToken *string `locationName:"nextToken" type:"string"` 12578} 12579 12580// String returns the string representation 12581func (s ListAttributesOutput) String() string { 12582 return awsutil.Prettify(s) 12583} 12584 12585// GoString returns the string representation 12586func (s ListAttributesOutput) GoString() string { 12587 return s.String() 12588} 12589 12590// SetAttributes sets the Attributes field's value. 12591func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput { 12592 s.Attributes = v 12593 return s 12594} 12595 12596// SetNextToken sets the NextToken field's value. 12597func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput { 12598 s.NextToken = &v 12599 return s 12600} 12601 12602type ListClustersInput struct { 12603 _ struct{} `type:"structure"` 12604 12605 // The maximum number of cluster results returned by ListClusters in paginated 12606 // output. When this parameter is used, ListClusters only returns maxResults 12607 // results in a single page along with a nextToken response element. The remaining 12608 // results of the initial request can be seen by sending another ListClusters 12609 // request with the returned nextToken value. This value can be between 1 and 12610 // 100. If this parameter is not used, then ListClusters returns up to 100 results 12611 // and a nextToken value if applicable. 12612 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12613 12614 // The nextToken value returned from a ListClusters request indicating that 12615 // more results are available to fulfill the request and further calls will 12616 // be needed. If maxResults was provided, it is possible the number of results 12617 // to be fewer than maxResults. 12618 // 12619 // This token should be treated as an opaque identifier that is only used to 12620 // retrieve the next items in a list and not for other programmatic purposes. 12621 NextToken *string `locationName:"nextToken" type:"string"` 12622} 12623 12624// String returns the string representation 12625func (s ListClustersInput) String() string { 12626 return awsutil.Prettify(s) 12627} 12628 12629// GoString returns the string representation 12630func (s ListClustersInput) GoString() string { 12631 return s.String() 12632} 12633 12634// SetMaxResults sets the MaxResults field's value. 12635func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 12636 s.MaxResults = &v 12637 return s 12638} 12639 12640// SetNextToken sets the NextToken field's value. 12641func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 12642 s.NextToken = &v 12643 return s 12644} 12645 12646type ListClustersOutput struct { 12647 _ struct{} `type:"structure"` 12648 12649 // The list of full Amazon Resource Name (ARN) entries for each cluster associated 12650 // with your account. 12651 ClusterArns []*string `locationName:"clusterArns" type:"list"` 12652 12653 // The nextToken value to include in a future ListClusters request. When the 12654 // results of a ListClusters request exceed maxResults, this value can be used 12655 // to retrieve the next page of results. This value is null when there are no 12656 // more results to return. 12657 NextToken *string `locationName:"nextToken" type:"string"` 12658} 12659 12660// String returns the string representation 12661func (s ListClustersOutput) String() string { 12662 return awsutil.Prettify(s) 12663} 12664 12665// GoString returns the string representation 12666func (s ListClustersOutput) GoString() string { 12667 return s.String() 12668} 12669 12670// SetClusterArns sets the ClusterArns field's value. 12671func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput { 12672 s.ClusterArns = v 12673 return s 12674} 12675 12676// SetNextToken sets the NextToken field's value. 12677func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 12678 s.NextToken = &v 12679 return s 12680} 12681 12682type ListContainerInstancesInput struct { 12683 _ struct{} `type:"structure"` 12684 12685 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12686 // the container instances to list. If you do not specify a cluster, the default 12687 // cluster is assumed. 12688 Cluster *string `locationName:"cluster" type:"string"` 12689 12690 // You can filter the results of a ListContainerInstances operation with cluster 12691 // query language statements. For more information, see Cluster Query Language 12692 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 12693 // in the Amazon Elastic Container Service Developer Guide. 12694 Filter *string `locationName:"filter" type:"string"` 12695 12696 // The maximum number of container instance results returned by ListContainerInstances 12697 // in paginated output. When this parameter is used, ListContainerInstances 12698 // only returns maxResults results in a single page along with a nextToken response 12699 // element. The remaining results of the initial request can be seen by sending 12700 // another ListContainerInstances request with the returned nextToken value. 12701 // This value can be between 1 and 100. If this parameter is not used, then 12702 // ListContainerInstances returns up to 100 results and a nextToken value if 12703 // applicable. 12704 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12705 12706 // The nextToken value returned from a ListContainerInstances request indicating 12707 // that more results are available to fulfill the request and further calls 12708 // will be needed. If maxResults was provided, it is possible the number of 12709 // results to be fewer than maxResults. 12710 // 12711 // This token should be treated as an opaque identifier that is only used to 12712 // retrieve the next items in a list and not for other programmatic purposes. 12713 NextToken *string `locationName:"nextToken" type:"string"` 12714 12715 // Filters the container instances by status. For example, if you specify the 12716 // DRAINING status, the results include only container instances that have been 12717 // set to DRAINING using UpdateContainerInstancesState. If you do not specify 12718 // this parameter, the default is to include container instances set to all 12719 // states other than INACTIVE. 12720 Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"` 12721} 12722 12723// String returns the string representation 12724func (s ListContainerInstancesInput) String() string { 12725 return awsutil.Prettify(s) 12726} 12727 12728// GoString returns the string representation 12729func (s ListContainerInstancesInput) GoString() string { 12730 return s.String() 12731} 12732 12733// SetCluster sets the Cluster field's value. 12734func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput { 12735 s.Cluster = &v 12736 return s 12737} 12738 12739// SetFilter sets the Filter field's value. 12740func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput { 12741 s.Filter = &v 12742 return s 12743} 12744 12745// SetMaxResults sets the MaxResults field's value. 12746func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput { 12747 s.MaxResults = &v 12748 return s 12749} 12750 12751// SetNextToken sets the NextToken field's value. 12752func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput { 12753 s.NextToken = &v 12754 return s 12755} 12756 12757// SetStatus sets the Status field's value. 12758func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput { 12759 s.Status = &v 12760 return s 12761} 12762 12763type ListContainerInstancesOutput struct { 12764 _ struct{} `type:"structure"` 12765 12766 // The list of container instances with full ARN entries for each container 12767 // instance associated with the specified cluster. 12768 ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` 12769 12770 // The nextToken value to include in a future ListContainerInstances request. 12771 // When the results of a ListContainerInstances request exceed maxResults, this 12772 // value can be used to retrieve the next page of results. This value is null 12773 // when there are no more results to return. 12774 NextToken *string `locationName:"nextToken" type:"string"` 12775} 12776 12777// String returns the string representation 12778func (s ListContainerInstancesOutput) String() string { 12779 return awsutil.Prettify(s) 12780} 12781 12782// GoString returns the string representation 12783func (s ListContainerInstancesOutput) GoString() string { 12784 return s.String() 12785} 12786 12787// SetContainerInstanceArns sets the ContainerInstanceArns field's value. 12788func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput { 12789 s.ContainerInstanceArns = v 12790 return s 12791} 12792 12793// SetNextToken sets the NextToken field's value. 12794func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput { 12795 s.NextToken = &v 12796 return s 12797} 12798 12799type ListServicesInput struct { 12800 _ struct{} `type:"structure"` 12801 12802 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12803 // the services to list. If you do not specify a cluster, the default cluster 12804 // is assumed. 12805 Cluster *string `locationName:"cluster" type:"string"` 12806 12807 // The launch type for the services to list. 12808 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 12809 12810 // The maximum number of service results returned by ListServices in paginated 12811 // output. When this parameter is used, ListServices only returns maxResults 12812 // results in a single page along with a nextToken response element. The remaining 12813 // results of the initial request can be seen by sending another ListServices 12814 // request with the returned nextToken value. This value can be between 1 and 12815 // 100. If this parameter is not used, then ListServices returns up to 10 results 12816 // and a nextToken value if applicable. 12817 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12818 12819 // The nextToken value returned from a ListServices request indicating that 12820 // more results are available to fulfill the request and further calls will 12821 // be needed. If maxResults was provided, it is possible the number of results 12822 // to be fewer than maxResults. 12823 // 12824 // This token should be treated as an opaque identifier that is only used to 12825 // retrieve the next items in a list and not for other programmatic purposes. 12826 NextToken *string `locationName:"nextToken" type:"string"` 12827 12828 // The scheduling strategy for services to list. 12829 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 12830} 12831 12832// String returns the string representation 12833func (s ListServicesInput) String() string { 12834 return awsutil.Prettify(s) 12835} 12836 12837// GoString returns the string representation 12838func (s ListServicesInput) GoString() string { 12839 return s.String() 12840} 12841 12842// SetCluster sets the Cluster field's value. 12843func (s *ListServicesInput) SetCluster(v string) *ListServicesInput { 12844 s.Cluster = &v 12845 return s 12846} 12847 12848// SetLaunchType sets the LaunchType field's value. 12849func (s *ListServicesInput) SetLaunchType(v string) *ListServicesInput { 12850 s.LaunchType = &v 12851 return s 12852} 12853 12854// SetMaxResults sets the MaxResults field's value. 12855func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 12856 s.MaxResults = &v 12857 return s 12858} 12859 12860// SetNextToken sets the NextToken field's value. 12861func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 12862 s.NextToken = &v 12863 return s 12864} 12865 12866// SetSchedulingStrategy sets the SchedulingStrategy field's value. 12867func (s *ListServicesInput) SetSchedulingStrategy(v string) *ListServicesInput { 12868 s.SchedulingStrategy = &v 12869 return s 12870} 12871 12872type ListServicesOutput struct { 12873 _ struct{} `type:"structure"` 12874 12875 // The nextToken value to include in a future ListServices request. When the 12876 // results of a ListServices request exceed maxResults, this value can be used 12877 // to retrieve the next page of results. This value is null when there are no 12878 // more results to return. 12879 NextToken *string `locationName:"nextToken" type:"string"` 12880 12881 // The list of full ARN entries for each service associated with the specified 12882 // cluster. 12883 ServiceArns []*string `locationName:"serviceArns" type:"list"` 12884} 12885 12886// String returns the string representation 12887func (s ListServicesOutput) String() string { 12888 return awsutil.Prettify(s) 12889} 12890 12891// GoString returns the string representation 12892func (s ListServicesOutput) GoString() string { 12893 return s.String() 12894} 12895 12896// SetNextToken sets the NextToken field's value. 12897func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 12898 s.NextToken = &v 12899 return s 12900} 12901 12902// SetServiceArns sets the ServiceArns field's value. 12903func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput { 12904 s.ServiceArns = v 12905 return s 12906} 12907 12908type ListTagsForResourceInput struct { 12909 _ struct{} `type:"structure"` 12910 12911 // The Amazon Resource Name (ARN) that identifies the resource for which to 12912 // list the tags. Currently, the supported resources are Amazon ECS tasks, services, 12913 // task definitions, clusters, and container instances. 12914 // 12915 // ResourceArn is a required field 12916 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 12917} 12918 12919// String returns the string representation 12920func (s ListTagsForResourceInput) String() string { 12921 return awsutil.Prettify(s) 12922} 12923 12924// GoString returns the string representation 12925func (s ListTagsForResourceInput) GoString() string { 12926 return s.String() 12927} 12928 12929// Validate inspects the fields of the type to determine if they are valid. 12930func (s *ListTagsForResourceInput) Validate() error { 12931 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 12932 if s.ResourceArn == nil { 12933 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 12934 } 12935 12936 if invalidParams.Len() > 0 { 12937 return invalidParams 12938 } 12939 return nil 12940} 12941 12942// SetResourceArn sets the ResourceArn field's value. 12943func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 12944 s.ResourceArn = &v 12945 return s 12946} 12947 12948type ListTagsForResourceOutput struct { 12949 _ struct{} `type:"structure"` 12950 12951 // The tags for the resource. 12952 Tags []*Tag `locationName:"tags" type:"list"` 12953} 12954 12955// String returns the string representation 12956func (s ListTagsForResourceOutput) String() string { 12957 return awsutil.Prettify(s) 12958} 12959 12960// GoString returns the string representation 12961func (s ListTagsForResourceOutput) GoString() string { 12962 return s.String() 12963} 12964 12965// SetTags sets the Tags field's value. 12966func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 12967 s.Tags = v 12968 return s 12969} 12970 12971type ListTaskDefinitionFamiliesInput struct { 12972 _ struct{} `type:"structure"` 12973 12974 // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. 12975 // If you specify a familyPrefix, only task definition family names that begin 12976 // with the familyPrefix string are returned. 12977 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 12978 12979 // The maximum number of task definition family results returned by ListTaskDefinitionFamilies 12980 // in paginated output. When this parameter is used, ListTaskDefinitions only 12981 // returns maxResults results in a single page along with a nextToken response 12982 // element. The remaining results of the initial request can be seen by sending 12983 // another ListTaskDefinitionFamilies request with the returned nextToken value. 12984 // This value can be between 1 and 100. If this parameter is not used, then 12985 // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value 12986 // if applicable. 12987 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12988 12989 // The nextToken value returned from a ListTaskDefinitionFamilies request indicating 12990 // that more results are available to fulfill the request and further calls 12991 // will be needed. If maxResults was provided, it is possible the number of 12992 // results to be fewer than maxResults. 12993 // 12994 // This token should be treated as an opaque identifier that is only used to 12995 // retrieve the next items in a list and not for other programmatic purposes. 12996 NextToken *string `locationName:"nextToken" type:"string"` 12997 12998 // The task definition family status with which to filter the ListTaskDefinitionFamilies 12999 // results. By default, both ACTIVE and INACTIVE task definition families are 13000 // listed. If this parameter is set to ACTIVE, only task definition families 13001 // that have an ACTIVE task definition revision are returned. If this parameter 13002 // is set to INACTIVE, only task definition families that do not have any ACTIVE 13003 // task definition revisions are returned. If you paginate the resulting output, 13004 // be sure to keep the status value constant in each subsequent request. 13005 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` 13006} 13007 13008// String returns the string representation 13009func (s ListTaskDefinitionFamiliesInput) String() string { 13010 return awsutil.Prettify(s) 13011} 13012 13013// GoString returns the string representation 13014func (s ListTaskDefinitionFamiliesInput) GoString() string { 13015 return s.String() 13016} 13017 13018// SetFamilyPrefix sets the FamilyPrefix field's value. 13019func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput { 13020 s.FamilyPrefix = &v 13021 return s 13022} 13023 13024// SetMaxResults sets the MaxResults field's value. 13025func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput { 13026 s.MaxResults = &v 13027 return s 13028} 13029 13030// SetNextToken sets the NextToken field's value. 13031func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput { 13032 s.NextToken = &v 13033 return s 13034} 13035 13036// SetStatus sets the Status field's value. 13037func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput { 13038 s.Status = &v 13039 return s 13040} 13041 13042type ListTaskDefinitionFamiliesOutput struct { 13043 _ struct{} `type:"structure"` 13044 13045 // The list of task definition family names that match the ListTaskDefinitionFamilies 13046 // request. 13047 Families []*string `locationName:"families" type:"list"` 13048 13049 // The nextToken value to include in a future ListTaskDefinitionFamilies request. 13050 // When the results of a ListTaskDefinitionFamilies request exceed maxResults, 13051 // this value can be used to retrieve the next page of results. This value is 13052 // null when there are no more results to return. 13053 NextToken *string `locationName:"nextToken" type:"string"` 13054} 13055 13056// String returns the string representation 13057func (s ListTaskDefinitionFamiliesOutput) String() string { 13058 return awsutil.Prettify(s) 13059} 13060 13061// GoString returns the string representation 13062func (s ListTaskDefinitionFamiliesOutput) GoString() string { 13063 return s.String() 13064} 13065 13066// SetFamilies sets the Families field's value. 13067func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput { 13068 s.Families = v 13069 return s 13070} 13071 13072// SetNextToken sets the NextToken field's value. 13073func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput { 13074 s.NextToken = &v 13075 return s 13076} 13077 13078type ListTaskDefinitionsInput struct { 13079 _ struct{} `type:"structure"` 13080 13081 // The full family name with which to filter the ListTaskDefinitions results. 13082 // Specifying a familyPrefix limits the listed task definitions to task definition 13083 // revisions that belong to that family. 13084 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 13085 13086 // The maximum number of task definition results returned by ListTaskDefinitions 13087 // in paginated output. When this parameter is used, ListTaskDefinitions only 13088 // returns maxResults results in a single page along with a nextToken response 13089 // element. The remaining results of the initial request can be seen by sending 13090 // another ListTaskDefinitions request with the returned nextToken value. This 13091 // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions 13092 // returns up to 100 results and a nextToken value if applicable. 13093 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13094 13095 // The nextToken value returned from a ListTaskDefinitions request indicating 13096 // that more results are available to fulfill the request and further calls 13097 // will be needed. If maxResults was provided, it is possible the number of 13098 // results to be fewer than maxResults. 13099 // 13100 // This token should be treated as an opaque identifier that is only used to 13101 // retrieve the next items in a list and not for other programmatic purposes. 13102 NextToken *string `locationName:"nextToken" type:"string"` 13103 13104 // The order in which to sort the results. Valid values are ASC and DESC. By 13105 // default (ASC), task definitions are listed lexicographically by family name 13106 // and in ascending numerical order by revision so that the newest task definitions 13107 // in a family are listed last. Setting this parameter to DESC reverses the 13108 // sort order on family name and revision so that the newest task definitions 13109 // in a family are listed first. 13110 Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` 13111 13112 // The task definition status with which to filter the ListTaskDefinitions results. 13113 // By default, only ACTIVE task definitions are listed. By setting this parameter 13114 // to INACTIVE, you can view task definitions that are INACTIVE as long as an 13115 // active task or service still references them. If you paginate the resulting 13116 // output, be sure to keep the status value constant in each subsequent request. 13117 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 13118} 13119 13120// String returns the string representation 13121func (s ListTaskDefinitionsInput) String() string { 13122 return awsutil.Prettify(s) 13123} 13124 13125// GoString returns the string representation 13126func (s ListTaskDefinitionsInput) GoString() string { 13127 return s.String() 13128} 13129 13130// SetFamilyPrefix sets the FamilyPrefix field's value. 13131func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput { 13132 s.FamilyPrefix = &v 13133 return s 13134} 13135 13136// SetMaxResults sets the MaxResults field's value. 13137func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput { 13138 s.MaxResults = &v 13139 return s 13140} 13141 13142// SetNextToken sets the NextToken field's value. 13143func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput { 13144 s.NextToken = &v 13145 return s 13146} 13147 13148// SetSort sets the Sort field's value. 13149func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput { 13150 s.Sort = &v 13151 return s 13152} 13153 13154// SetStatus sets the Status field's value. 13155func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput { 13156 s.Status = &v 13157 return s 13158} 13159 13160type ListTaskDefinitionsOutput struct { 13161 _ struct{} `type:"structure"` 13162 13163 // The nextToken value to include in a future ListTaskDefinitions request. When 13164 // the results of a ListTaskDefinitions request exceed maxResults, this value 13165 // can be used to retrieve the next page of results. This value is null when 13166 // there are no more results to return. 13167 NextToken *string `locationName:"nextToken" type:"string"` 13168 13169 // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions 13170 // request. 13171 TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` 13172} 13173 13174// String returns the string representation 13175func (s ListTaskDefinitionsOutput) String() string { 13176 return awsutil.Prettify(s) 13177} 13178 13179// GoString returns the string representation 13180func (s ListTaskDefinitionsOutput) GoString() string { 13181 return s.String() 13182} 13183 13184// SetNextToken sets the NextToken field's value. 13185func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput { 13186 s.NextToken = &v 13187 return s 13188} 13189 13190// SetTaskDefinitionArns sets the TaskDefinitionArns field's value. 13191func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput { 13192 s.TaskDefinitionArns = v 13193 return s 13194} 13195 13196type ListTasksInput struct { 13197 _ struct{} `type:"structure"` 13198 13199 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 13200 // the tasks to list. If you do not specify a cluster, the default cluster is 13201 // assumed. 13202 Cluster *string `locationName:"cluster" type:"string"` 13203 13204 // The container instance ID or full ARN of the container instance with which 13205 // to filter the ListTasks results. Specifying a containerInstance limits the 13206 // results to tasks that belong to that container instance. 13207 ContainerInstance *string `locationName:"containerInstance" type:"string"` 13208 13209 // The task desired status with which to filter the ListTasks results. Specifying 13210 // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has 13211 // set the desired status to STOPPED. This can be useful for debugging tasks 13212 // that are not starting properly or have died or finished. The default status 13213 // filter is RUNNING, which shows tasks that Amazon ECS has set the desired 13214 // status to RUNNING. 13215 // 13216 // Although you can filter results based on a desired status of PENDING, this 13217 // does not return any results. Amazon ECS never sets the desired status of 13218 // a task to that value (only a task's lastStatus may have a value of PENDING). 13219 DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` 13220 13221 // The name of the family with which to filter the ListTasks results. Specifying 13222 // a family limits the results to tasks that belong to that family. 13223 Family *string `locationName:"family" type:"string"` 13224 13225 // The launch type for services to list. 13226 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 13227 13228 // The maximum number of task results returned by ListTasks in paginated output. 13229 // When this parameter is used, ListTasks only returns maxResults results in 13230 // a single page along with a nextToken response element. The remaining results 13231 // of the initial request can be seen by sending another ListTasks request with 13232 // the returned nextToken value. This value can be between 1 and 100. If this 13233 // parameter is not used, then ListTasks returns up to 100 results and a nextToken 13234 // value if applicable. 13235 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13236 13237 // The nextToken value returned from a ListTasks request indicating that more 13238 // results are available to fulfill the request and further calls will be needed. 13239 // If maxResults was provided, it is possible the number of results to be fewer 13240 // than maxResults. 13241 // 13242 // This token should be treated as an opaque identifier that is only used to 13243 // retrieve the next items in a list and not for other programmatic purposes. 13244 NextToken *string `locationName:"nextToken" type:"string"` 13245 13246 // The name of the service with which to filter the ListTasks results. Specifying 13247 // a serviceName limits the results to tasks that belong to that service. 13248 ServiceName *string `locationName:"serviceName" type:"string"` 13249 13250 // The startedBy value with which to filter the task results. Specifying a startedBy 13251 // value limits the results to tasks that were started with that value. 13252 StartedBy *string `locationName:"startedBy" type:"string"` 13253} 13254 13255// String returns the string representation 13256func (s ListTasksInput) String() string { 13257 return awsutil.Prettify(s) 13258} 13259 13260// GoString returns the string representation 13261func (s ListTasksInput) GoString() string { 13262 return s.String() 13263} 13264 13265// SetCluster sets the Cluster field's value. 13266func (s *ListTasksInput) SetCluster(v string) *ListTasksInput { 13267 s.Cluster = &v 13268 return s 13269} 13270 13271// SetContainerInstance sets the ContainerInstance field's value. 13272func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput { 13273 s.ContainerInstance = &v 13274 return s 13275} 13276 13277// SetDesiredStatus sets the DesiredStatus field's value. 13278func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput { 13279 s.DesiredStatus = &v 13280 return s 13281} 13282 13283// SetFamily sets the Family field's value. 13284func (s *ListTasksInput) SetFamily(v string) *ListTasksInput { 13285 s.Family = &v 13286 return s 13287} 13288 13289// SetLaunchType sets the LaunchType field's value. 13290func (s *ListTasksInput) SetLaunchType(v string) *ListTasksInput { 13291 s.LaunchType = &v 13292 return s 13293} 13294 13295// SetMaxResults sets the MaxResults field's value. 13296func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { 13297 s.MaxResults = &v 13298 return s 13299} 13300 13301// SetNextToken sets the NextToken field's value. 13302func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput { 13303 s.NextToken = &v 13304 return s 13305} 13306 13307// SetServiceName sets the ServiceName field's value. 13308func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput { 13309 s.ServiceName = &v 13310 return s 13311} 13312 13313// SetStartedBy sets the StartedBy field's value. 13314func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput { 13315 s.StartedBy = &v 13316 return s 13317} 13318 13319type ListTasksOutput struct { 13320 _ struct{} `type:"structure"` 13321 13322 // The nextToken value to include in a future ListTasks request. When the results 13323 // of a ListTasks request exceed maxResults, this value can be used to retrieve 13324 // the next page of results. This value is null when there are no more results 13325 // to return. 13326 NextToken *string `locationName:"nextToken" type:"string"` 13327 13328 // The list of task ARN entries for the ListTasks request. 13329 TaskArns []*string `locationName:"taskArns" type:"list"` 13330} 13331 13332// String returns the string representation 13333func (s ListTasksOutput) String() string { 13334 return awsutil.Prettify(s) 13335} 13336 13337// GoString returns the string representation 13338func (s ListTasksOutput) GoString() string { 13339 return s.String() 13340} 13341 13342// SetNextToken sets the NextToken field's value. 13343func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput { 13344 s.NextToken = &v 13345 return s 13346} 13347 13348// SetTaskArns sets the TaskArns field's value. 13349func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { 13350 s.TaskArns = v 13351 return s 13352} 13353 13354// The load balancer configuration to use with a service or task set. 13355// 13356// For specific notes and restrictions regarding the use of load balancers with 13357// services and task sets, see the CreateService and CreateTaskSet actions. 13358type LoadBalancer struct { 13359 _ struct{} `type:"structure"` 13360 13361 // The name of the container (as it appears in a container definition) to associate 13362 // with the load balancer. 13363 ContainerName *string `locationName:"containerName" type:"string"` 13364 13365 // The port on the container to associate with the load balancer. This port 13366 // must correspond to a containerPort in the task definition the tasks in the 13367 // service are using. For tasks that use the EC2 launch type, the container 13368 // instance they are launched on must allow ingress traffic on the hostPort 13369 // of the port mapping. 13370 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 13371 13372 // The name of the load balancer to associate with the Amazon ECS service or 13373 // task set. 13374 // 13375 // A load balancer name is only specified when using a Classic Load Balancer. 13376 // If you are using an Application Load Balancer or a Network Load Balancer 13377 // the load balancer name parameter should be omitted. 13378 LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` 13379 13380 // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target 13381 // group or groups associated with a service or task set. 13382 // 13383 // A target group ARN is only specified when using an Application Load Balancer 13384 // or Network Load Balancer. If you are using a Classic Load Balancer the target 13385 // group ARN should be omitted. 13386 // 13387 // For services using the ECS deployment controller, you can specify one or 13388 // multiple target groups. For more information, see Registering Multiple Target 13389 // Groups with a Service (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) 13390 // in the Amazon Elastic Container Service Developer Guide. 13391 // 13392 // For services using the CODE_DEPLOY deployment controller, you are required 13393 // to define two target groups for the load balancer. For more information, 13394 // see Blue/Green Deployment with CodeDeploy (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) 13395 // in the Amazon Elastic Container Service Developer Guide. 13396 // 13397 // If your service's task definition uses the awsvpc network mode (which is 13398 // required for the Fargate launch type), you must choose ip as the target type, 13399 // not instance, when creating your target groups because tasks that use the 13400 // awsvpc network mode are associated with an elastic network interface, not 13401 // an Amazon EC2 instance. 13402 TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` 13403} 13404 13405// String returns the string representation 13406func (s LoadBalancer) String() string { 13407 return awsutil.Prettify(s) 13408} 13409 13410// GoString returns the string representation 13411func (s LoadBalancer) GoString() string { 13412 return s.String() 13413} 13414 13415// SetContainerName sets the ContainerName field's value. 13416func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer { 13417 s.ContainerName = &v 13418 return s 13419} 13420 13421// SetContainerPort sets the ContainerPort field's value. 13422func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer { 13423 s.ContainerPort = &v 13424 return s 13425} 13426 13427// SetLoadBalancerName sets the LoadBalancerName field's value. 13428func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 13429 s.LoadBalancerName = &v 13430 return s 13431} 13432 13433// SetTargetGroupArn sets the TargetGroupArn field's value. 13434func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer { 13435 s.TargetGroupArn = &v 13436 return s 13437} 13438 13439// The log configuration specification for the container. 13440// 13441// This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 13442// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 13443// and the --log-driver option to docker run (https://docs.docker.com/engine/reference/commandline/run/). 13444// By default, containers use the same logging driver that the Docker daemon 13445// uses; however the container may use a different logging driver than the Docker 13446// daemon by specifying a log driver with this parameter in the container definition. 13447// To use a different logging driver for a container, the log system must be 13448// configured properly on the container instance (or on a different log server 13449// for remote logging options). For more information on the options for different 13450// supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 13451// in the Docker documentation. 13452// 13453// The following should be noted when specifying a log configuration for your 13454// containers: 13455// 13456// * Amazon ECS currently supports a subset of the logging drivers available 13457// to the Docker daemon (shown in the valid values below). Additional log 13458// drivers may be available in future releases of the Amazon ECS container 13459// agent. 13460// 13461// * This parameter requires version 1.18 of the Docker Remote API or greater 13462// on your container instance. 13463// 13464// * For tasks using the EC2 launch type, the Amazon ECS container agent 13465// running on a container instance must register the logging drivers available 13466// on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable 13467// before containers placed on that instance can use these log configuration 13468// options. For more information, see Amazon ECS Container Agent Configuration 13469// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 13470// in the Amazon Elastic Container Service Developer Guide. 13471// 13472// * For tasks using the Fargate launch type, because you do not have access 13473// to the underlying infrastructure your tasks are hosted on, any additional 13474// software needed will have to be installed outside of the task. For example, 13475// the Fluentd output aggregators or a remote host running Logstash to send 13476// Gelf logs to. 13477type LogConfiguration struct { 13478 _ struct{} `type:"structure"` 13479 13480 // The log driver to use for the container. The valid values listed earlier 13481 // are log drivers that the Amazon ECS container agent can communicate with 13482 // by default. 13483 // 13484 // For tasks using the Fargate launch type, the supported log drivers are awslogs, 13485 // splunk, and awsfirelens. 13486 // 13487 // For tasks using the EC2 launch type, the supported log drivers are awslogs, 13488 // fluentd, gelf, json-file, journald, logentries,syslog, splunk, and awsfirelens. 13489 // 13490 // For more information about using the awslogs log driver, see Using the awslogs 13491 // Log Driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) 13492 // in the Amazon Elastic Container Service Developer Guide. 13493 // 13494 // For more information about using the awsfirelens log driver, see Custom Log 13495 // Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 13496 // in the Amazon Elastic Container Service Developer Guide. 13497 // 13498 // If you have a custom driver that is not listed, you can fork the Amazon ECS 13499 // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) 13500 // and customize it to work with that driver. We encourage you to submit pull 13501 // requests for changes that you would like to have included. However, we do 13502 // not currently provide support for running modified copies of this software. 13503 // 13504 // LogDriver is a required field 13505 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 13506 13507 // The configuration options to send to the log driver. This parameter requires 13508 // version 1.19 of the Docker Remote API or greater on your container instance. 13509 // To check the Docker Remote API version on your container instance, log in 13510 // to your container instance and run the following command: sudo docker version 13511 // --format '{{.Server.APIVersion}}' 13512 Options map[string]*string `locationName:"options" type:"map"` 13513 13514 // The secrets to pass to the log configuration. For more information, see Specifying 13515 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 13516 // in the Amazon Elastic Container Service Developer Guide. 13517 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 13518} 13519 13520// String returns the string representation 13521func (s LogConfiguration) String() string { 13522 return awsutil.Prettify(s) 13523} 13524 13525// GoString returns the string representation 13526func (s LogConfiguration) GoString() string { 13527 return s.String() 13528} 13529 13530// Validate inspects the fields of the type to determine if they are valid. 13531func (s *LogConfiguration) Validate() error { 13532 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 13533 if s.LogDriver == nil { 13534 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 13535 } 13536 if s.SecretOptions != nil { 13537 for i, v := range s.SecretOptions { 13538 if v == nil { 13539 continue 13540 } 13541 if err := v.Validate(); err != nil { 13542 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 13543 } 13544 } 13545 } 13546 13547 if invalidParams.Len() > 0 { 13548 return invalidParams 13549 } 13550 return nil 13551} 13552 13553// SetLogDriver sets the LogDriver field's value. 13554func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 13555 s.LogDriver = &v 13556 return s 13557} 13558 13559// SetOptions sets the Options field's value. 13560func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 13561 s.Options = v 13562 return s 13563} 13564 13565// SetSecretOptions sets the SecretOptions field's value. 13566func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 13567 s.SecretOptions = v 13568 return s 13569} 13570 13571// The managed scaling settings for the Auto Scaling group capacity provider. 13572// 13573// When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out 13574// actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling 13575// policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity 13576// value as the target value for the metric. For more information, see Using 13577// Managed Scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) 13578// in the Amazon Elastic Container Service Developer Guide. 13579// 13580// If managed scaling is disabled, the user must manage the scaling of the Auto 13581// Scaling group. 13582type ManagedScaling struct { 13583 _ struct{} `type:"structure"` 13584 13585 // The maximum number of container instances that Amazon ECS will scale in or 13586 // scale out at one time. If this parameter is omitted, the default value of 13587 // 10000 is used. 13588 MaximumScalingStepSize *int64 `locationName:"maximumScalingStepSize" min:"1" type:"integer"` 13589 13590 // The minimum number of container instances that Amazon ECS will scale in or 13591 // scale out at one time. If this parameter is omitted, the default value of 13592 // 1 is used. 13593 MinimumScalingStepSize *int64 `locationName:"minimumScalingStepSize" min:"1" type:"integer"` 13594 13595 // Whether or not to enable managed scaling for the capacity provider. 13596 Status *string `locationName:"status" type:"string" enum:"ManagedScalingStatus"` 13597 13598 // The target capacity value for the capacity provider. The specified value 13599 // must be greater than 0 and less than or equal to 100. A value of 100 will 13600 // result in the Amazon EC2 instances in your Auto Scaling group being completely 13601 // utilized. 13602 TargetCapacity *int64 `locationName:"targetCapacity" min:"1" type:"integer"` 13603} 13604 13605// String returns the string representation 13606func (s ManagedScaling) String() string { 13607 return awsutil.Prettify(s) 13608} 13609 13610// GoString returns the string representation 13611func (s ManagedScaling) GoString() string { 13612 return s.String() 13613} 13614 13615// Validate inspects the fields of the type to determine if they are valid. 13616func (s *ManagedScaling) Validate() error { 13617 invalidParams := request.ErrInvalidParams{Context: "ManagedScaling"} 13618 if s.MaximumScalingStepSize != nil && *s.MaximumScalingStepSize < 1 { 13619 invalidParams.Add(request.NewErrParamMinValue("MaximumScalingStepSize", 1)) 13620 } 13621 if s.MinimumScalingStepSize != nil && *s.MinimumScalingStepSize < 1 { 13622 invalidParams.Add(request.NewErrParamMinValue("MinimumScalingStepSize", 1)) 13623 } 13624 if s.TargetCapacity != nil && *s.TargetCapacity < 1 { 13625 invalidParams.Add(request.NewErrParamMinValue("TargetCapacity", 1)) 13626 } 13627 13628 if invalidParams.Len() > 0 { 13629 return invalidParams 13630 } 13631 return nil 13632} 13633 13634// SetMaximumScalingStepSize sets the MaximumScalingStepSize field's value. 13635func (s *ManagedScaling) SetMaximumScalingStepSize(v int64) *ManagedScaling { 13636 s.MaximumScalingStepSize = &v 13637 return s 13638} 13639 13640// SetMinimumScalingStepSize sets the MinimumScalingStepSize field's value. 13641func (s *ManagedScaling) SetMinimumScalingStepSize(v int64) *ManagedScaling { 13642 s.MinimumScalingStepSize = &v 13643 return s 13644} 13645 13646// SetStatus sets the Status field's value. 13647func (s *ManagedScaling) SetStatus(v string) *ManagedScaling { 13648 s.Status = &v 13649 return s 13650} 13651 13652// SetTargetCapacity sets the TargetCapacity field's value. 13653func (s *ManagedScaling) SetTargetCapacity(v int64) *ManagedScaling { 13654 s.TargetCapacity = &v 13655 return s 13656} 13657 13658// Amazon ECS is unable to determine the current version of the Amazon ECS container 13659// agent on the container instance and does not have enough information to proceed 13660// with an update. This could be because the agent running on the container 13661// instance is an older or custom version that does not use our version information. 13662type MissingVersionException struct { 13663 _ struct{} `type:"structure"` 13664 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13665 13666 Message_ *string `locationName:"message" type:"string"` 13667} 13668 13669// String returns the string representation 13670func (s MissingVersionException) String() string { 13671 return awsutil.Prettify(s) 13672} 13673 13674// GoString returns the string representation 13675func (s MissingVersionException) GoString() string { 13676 return s.String() 13677} 13678 13679func newErrorMissingVersionException(v protocol.ResponseMetadata) error { 13680 return &MissingVersionException{ 13681 RespMetadata: v, 13682 } 13683} 13684 13685// Code returns the exception type name. 13686func (s *MissingVersionException) Code() string { 13687 return "MissingVersionException" 13688} 13689 13690// Message returns the exception's message. 13691func (s *MissingVersionException) Message() string { 13692 if s.Message_ != nil { 13693 return *s.Message_ 13694 } 13695 return "" 13696} 13697 13698// OrigErr always returns nil, satisfies awserr.Error interface. 13699func (s *MissingVersionException) OrigErr() error { 13700 return nil 13701} 13702 13703func (s *MissingVersionException) Error() string { 13704 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13705} 13706 13707// Status code returns the HTTP status code for the request's response error. 13708func (s *MissingVersionException) StatusCode() int { 13709 return s.RespMetadata.StatusCode 13710} 13711 13712// RequestID returns the service's response RequestID for request. 13713func (s *MissingVersionException) RequestID() string { 13714 return s.RespMetadata.RequestID 13715} 13716 13717// Details on a volume mount point that is used in a container definition. 13718type MountPoint struct { 13719 _ struct{} `type:"structure"` 13720 13721 // The path on the container to mount the host volume at. 13722 ContainerPath *string `locationName:"containerPath" type:"string"` 13723 13724 // If this value is true, the container has read-only access to the volume. 13725 // If this value is false, then the container can write to the volume. The default 13726 // value is false. 13727 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 13728 13729 // The name of the volume to mount. Must be a volume name referenced in the 13730 // name parameter of task definition volume. 13731 SourceVolume *string `locationName:"sourceVolume" type:"string"` 13732} 13733 13734// String returns the string representation 13735func (s MountPoint) String() string { 13736 return awsutil.Prettify(s) 13737} 13738 13739// GoString returns the string representation 13740func (s MountPoint) GoString() string { 13741 return s.String() 13742} 13743 13744// SetContainerPath sets the ContainerPath field's value. 13745func (s *MountPoint) SetContainerPath(v string) *MountPoint { 13746 s.ContainerPath = &v 13747 return s 13748} 13749 13750// SetReadOnly sets the ReadOnly field's value. 13751func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 13752 s.ReadOnly = &v 13753 return s 13754} 13755 13756// SetSourceVolume sets the SourceVolume field's value. 13757func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 13758 s.SourceVolume = &v 13759 return s 13760} 13761 13762// Details on the network bindings between a container and its host container 13763// instance. After a task reaches the RUNNING status, manual and automatic host 13764// and container port assignments are visible in the networkBindings section 13765// of DescribeTasks API responses. 13766type NetworkBinding struct { 13767 _ struct{} `type:"structure"` 13768 13769 // The IP address that the container is bound to on the container instance. 13770 BindIP *string `locationName:"bindIP" type:"string"` 13771 13772 // The port number on the container that is used with the network binding. 13773 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 13774 13775 // The port number on the host that is used with the network binding. 13776 HostPort *int64 `locationName:"hostPort" type:"integer"` 13777 13778 // The protocol used for the network binding. 13779 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 13780} 13781 13782// String returns the string representation 13783func (s NetworkBinding) String() string { 13784 return awsutil.Prettify(s) 13785} 13786 13787// GoString returns the string representation 13788func (s NetworkBinding) GoString() string { 13789 return s.String() 13790} 13791 13792// SetBindIP sets the BindIP field's value. 13793func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding { 13794 s.BindIP = &v 13795 return s 13796} 13797 13798// SetContainerPort sets the ContainerPort field's value. 13799func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding { 13800 s.ContainerPort = &v 13801 return s 13802} 13803 13804// SetHostPort sets the HostPort field's value. 13805func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding { 13806 s.HostPort = &v 13807 return s 13808} 13809 13810// SetProtocol sets the Protocol field's value. 13811func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding { 13812 s.Protocol = &v 13813 return s 13814} 13815 13816// An object representing the network configuration for a task or service. 13817type NetworkConfiguration struct { 13818 _ struct{} `type:"structure"` 13819 13820 // The VPC subnets and security groups associated with a task. 13821 // 13822 // All specified subnets and security groups must be from the same VPC. 13823 AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"` 13824} 13825 13826// String returns the string representation 13827func (s NetworkConfiguration) String() string { 13828 return awsutil.Prettify(s) 13829} 13830 13831// GoString returns the string representation 13832func (s NetworkConfiguration) GoString() string { 13833 return s.String() 13834} 13835 13836// Validate inspects the fields of the type to determine if they are valid. 13837func (s *NetworkConfiguration) Validate() error { 13838 invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"} 13839 if s.AwsvpcConfiguration != nil { 13840 if err := s.AwsvpcConfiguration.Validate(); err != nil { 13841 invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams)) 13842 } 13843 } 13844 13845 if invalidParams.Len() > 0 { 13846 return invalidParams 13847 } 13848 return nil 13849} 13850 13851// SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value. 13852func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration { 13853 s.AwsvpcConfiguration = v 13854 return s 13855} 13856 13857// An object representing the elastic network interface for tasks that use the 13858// awsvpc network mode. 13859type NetworkInterface struct { 13860 _ struct{} `type:"structure"` 13861 13862 // The attachment ID for the network interface. 13863 AttachmentId *string `locationName:"attachmentId" type:"string"` 13864 13865 // The private IPv6 address for the network interface. 13866 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 13867 13868 // The private IPv4 address for the network interface. 13869 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 13870} 13871 13872// String returns the string representation 13873func (s NetworkInterface) String() string { 13874 return awsutil.Prettify(s) 13875} 13876 13877// GoString returns the string representation 13878func (s NetworkInterface) GoString() string { 13879 return s.String() 13880} 13881 13882// SetAttachmentId sets the AttachmentId field's value. 13883func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 13884 s.AttachmentId = &v 13885 return s 13886} 13887 13888// SetIpv6Address sets the Ipv6Address field's value. 13889func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 13890 s.Ipv6Address = &v 13891 return s 13892} 13893 13894// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 13895func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 13896 s.PrivateIpv4Address = &v 13897 return s 13898} 13899 13900// There is no update available for this Amazon ECS container agent. This could 13901// be because the agent is already running the latest version, or it is so old 13902// that there is no update path to the current version. 13903type NoUpdateAvailableException struct { 13904 _ struct{} `type:"structure"` 13905 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13906 13907 Message_ *string `locationName:"message" type:"string"` 13908} 13909 13910// String returns the string representation 13911func (s NoUpdateAvailableException) String() string { 13912 return awsutil.Prettify(s) 13913} 13914 13915// GoString returns the string representation 13916func (s NoUpdateAvailableException) GoString() string { 13917 return s.String() 13918} 13919 13920func newErrorNoUpdateAvailableException(v protocol.ResponseMetadata) error { 13921 return &NoUpdateAvailableException{ 13922 RespMetadata: v, 13923 } 13924} 13925 13926// Code returns the exception type name. 13927func (s *NoUpdateAvailableException) Code() string { 13928 return "NoUpdateAvailableException" 13929} 13930 13931// Message returns the exception's message. 13932func (s *NoUpdateAvailableException) Message() string { 13933 if s.Message_ != nil { 13934 return *s.Message_ 13935 } 13936 return "" 13937} 13938 13939// OrigErr always returns nil, satisfies awserr.Error interface. 13940func (s *NoUpdateAvailableException) OrigErr() error { 13941 return nil 13942} 13943 13944func (s *NoUpdateAvailableException) Error() string { 13945 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13946} 13947 13948// Status code returns the HTTP status code for the request's response error. 13949func (s *NoUpdateAvailableException) StatusCode() int { 13950 return s.RespMetadata.StatusCode 13951} 13952 13953// RequestID returns the service's response RequestID for request. 13954func (s *NoUpdateAvailableException) RequestID() string { 13955 return s.RespMetadata.RequestID 13956} 13957 13958// An object representing a constraint on task placement. For more information, 13959// see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 13960// in the Amazon Elastic Container Service Developer Guide. 13961// 13962// If you are using the Fargate launch type, task placement constraints are 13963// not supported. 13964type PlacementConstraint struct { 13965 _ struct{} `type:"structure"` 13966 13967 // A cluster query language expression to apply to the constraint. You cannot 13968 // specify an expression if the constraint type is distinctInstance. For more 13969 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 13970 // in the Amazon Elastic Container Service Developer Guide. 13971 Expression *string `locationName:"expression" type:"string"` 13972 13973 // The type of constraint. Use distinctInstance to ensure that each task in 13974 // a particular group is running on a different container instance. Use memberOf 13975 // to restrict the selection to a group of valid candidates. 13976 Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"` 13977} 13978 13979// String returns the string representation 13980func (s PlacementConstraint) String() string { 13981 return awsutil.Prettify(s) 13982} 13983 13984// GoString returns the string representation 13985func (s PlacementConstraint) GoString() string { 13986 return s.String() 13987} 13988 13989// SetExpression sets the Expression field's value. 13990func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint { 13991 s.Expression = &v 13992 return s 13993} 13994 13995// SetType sets the Type field's value. 13996func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { 13997 s.Type = &v 13998 return s 13999} 14000 14001// The task placement strategy for a task or service. For more information, 14002// see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 14003// in the Amazon Elastic Container Service Developer Guide. 14004type PlacementStrategy struct { 14005 _ struct{} `type:"structure"` 14006 14007 // The field to apply the placement strategy against. For the spread placement 14008 // strategy, valid values are instanceId (or host, which has the same effect), 14009 // or any platform or custom attribute that is applied to a container instance, 14010 // such as attribute:ecs.availability-zone. For the binpack placement strategy, 14011 // valid values are cpu and memory. For the random placement strategy, this 14012 // field is not used. 14013 Field *string `locationName:"field" type:"string"` 14014 14015 // The type of placement strategy. The random placement strategy randomly places 14016 // tasks on available candidates. The spread placement strategy spreads placement 14017 // across available candidates evenly based on the field parameter. The binpack 14018 // strategy places tasks on available candidates that have the least available 14019 // amount of the resource that is specified with the field parameter. For example, 14020 // if you binpack on memory, a task is placed on the instance with the least 14021 // amount of remaining memory (but still enough to run the task). 14022 Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"` 14023} 14024 14025// String returns the string representation 14026func (s PlacementStrategy) String() string { 14027 return awsutil.Prettify(s) 14028} 14029 14030// GoString returns the string representation 14031func (s PlacementStrategy) GoString() string { 14032 return s.String() 14033} 14034 14035// SetField sets the Field field's value. 14036func (s *PlacementStrategy) SetField(v string) *PlacementStrategy { 14037 s.Field = &v 14038 return s 14039} 14040 14041// SetType sets the Type field's value. 14042func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { 14043 s.Type = &v 14044 return s 14045} 14046 14047// The devices that are available on the container instance. The only supported 14048// device type is a GPU. 14049type PlatformDevice struct { 14050 _ struct{} `type:"structure"` 14051 14052 // The ID for the GPU(s) on the container instance. The available GPU IDs can 14053 // also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json 14054 // file. 14055 // 14056 // Id is a required field 14057 Id *string `locationName:"id" type:"string" required:"true"` 14058 14059 // The type of device that is available on the container instance. The only 14060 // supported value is GPU. 14061 // 14062 // Type is a required field 14063 Type *string `locationName:"type" type:"string" required:"true" enum:"PlatformDeviceType"` 14064} 14065 14066// String returns the string representation 14067func (s PlatformDevice) String() string { 14068 return awsutil.Prettify(s) 14069} 14070 14071// GoString returns the string representation 14072func (s PlatformDevice) GoString() string { 14073 return s.String() 14074} 14075 14076// Validate inspects the fields of the type to determine if they are valid. 14077func (s *PlatformDevice) Validate() error { 14078 invalidParams := request.ErrInvalidParams{Context: "PlatformDevice"} 14079 if s.Id == nil { 14080 invalidParams.Add(request.NewErrParamRequired("Id")) 14081 } 14082 if s.Type == nil { 14083 invalidParams.Add(request.NewErrParamRequired("Type")) 14084 } 14085 14086 if invalidParams.Len() > 0 { 14087 return invalidParams 14088 } 14089 return nil 14090} 14091 14092// SetId sets the Id field's value. 14093func (s *PlatformDevice) SetId(v string) *PlatformDevice { 14094 s.Id = &v 14095 return s 14096} 14097 14098// SetType sets the Type field's value. 14099func (s *PlatformDevice) SetType(v string) *PlatformDevice { 14100 s.Type = &v 14101 return s 14102} 14103 14104// The specified platform version does not satisfy the task definition's required 14105// capabilities. 14106type PlatformTaskDefinitionIncompatibilityException struct { 14107 _ struct{} `type:"structure"` 14108 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14109 14110 Message_ *string `locationName:"message" type:"string"` 14111} 14112 14113// String returns the string representation 14114func (s PlatformTaskDefinitionIncompatibilityException) String() string { 14115 return awsutil.Prettify(s) 14116} 14117 14118// GoString returns the string representation 14119func (s PlatformTaskDefinitionIncompatibilityException) GoString() string { 14120 return s.String() 14121} 14122 14123func newErrorPlatformTaskDefinitionIncompatibilityException(v protocol.ResponseMetadata) error { 14124 return &PlatformTaskDefinitionIncompatibilityException{ 14125 RespMetadata: v, 14126 } 14127} 14128 14129// Code returns the exception type name. 14130func (s *PlatformTaskDefinitionIncompatibilityException) Code() string { 14131 return "PlatformTaskDefinitionIncompatibilityException" 14132} 14133 14134// Message returns the exception's message. 14135func (s *PlatformTaskDefinitionIncompatibilityException) Message() string { 14136 if s.Message_ != nil { 14137 return *s.Message_ 14138 } 14139 return "" 14140} 14141 14142// OrigErr always returns nil, satisfies awserr.Error interface. 14143func (s *PlatformTaskDefinitionIncompatibilityException) OrigErr() error { 14144 return nil 14145} 14146 14147func (s *PlatformTaskDefinitionIncompatibilityException) Error() string { 14148 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14149} 14150 14151// Status code returns the HTTP status code for the request's response error. 14152func (s *PlatformTaskDefinitionIncompatibilityException) StatusCode() int { 14153 return s.RespMetadata.StatusCode 14154} 14155 14156// RequestID returns the service's response RequestID for request. 14157func (s *PlatformTaskDefinitionIncompatibilityException) RequestID() string { 14158 return s.RespMetadata.RequestID 14159} 14160 14161// The specified platform version does not exist. 14162type PlatformUnknownException struct { 14163 _ struct{} `type:"structure"` 14164 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14165 14166 Message_ *string `locationName:"message" type:"string"` 14167} 14168 14169// String returns the string representation 14170func (s PlatformUnknownException) String() string { 14171 return awsutil.Prettify(s) 14172} 14173 14174// GoString returns the string representation 14175func (s PlatformUnknownException) GoString() string { 14176 return s.String() 14177} 14178 14179func newErrorPlatformUnknownException(v protocol.ResponseMetadata) error { 14180 return &PlatformUnknownException{ 14181 RespMetadata: v, 14182 } 14183} 14184 14185// Code returns the exception type name. 14186func (s *PlatformUnknownException) Code() string { 14187 return "PlatformUnknownException" 14188} 14189 14190// Message returns the exception's message. 14191func (s *PlatformUnknownException) Message() string { 14192 if s.Message_ != nil { 14193 return *s.Message_ 14194 } 14195 return "" 14196} 14197 14198// OrigErr always returns nil, satisfies awserr.Error interface. 14199func (s *PlatformUnknownException) OrigErr() error { 14200 return nil 14201} 14202 14203func (s *PlatformUnknownException) Error() string { 14204 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14205} 14206 14207// Status code returns the HTTP status code for the request's response error. 14208func (s *PlatformUnknownException) StatusCode() int { 14209 return s.RespMetadata.StatusCode 14210} 14211 14212// RequestID returns the service's response RequestID for request. 14213func (s *PlatformUnknownException) RequestID() string { 14214 return s.RespMetadata.RequestID 14215} 14216 14217// Port mappings allow containers to access ports on the host container instance 14218// to send or receive traffic. Port mappings are specified as part of the container 14219// definition. 14220// 14221// If you are using containers in a task with the awsvpc or host network mode, 14222// exposed ports should be specified using containerPort. The hostPort can be 14223// left blank or it must be the same value as the containerPort. 14224// 14225// After a task reaches the RUNNING status, manual and automatic host and container 14226// port assignments are visible in the networkBindings section of DescribeTasks 14227// API responses. 14228type PortMapping struct { 14229 _ struct{} `type:"structure"` 14230 14231 // The port number on the container that is bound to the user-specified or automatically 14232 // assigned host port. 14233 // 14234 // If you are using containers in a task with the awsvpc or host network mode, 14235 // exposed ports should be specified using containerPort. 14236 // 14237 // If you are using containers in a task with the bridge network mode and you 14238 // specify a container port and not a host port, your container automatically 14239 // receives a host port in the ephemeral port range. For more information, see 14240 // hostPort. Port mappings that are automatically assigned in this way do not 14241 // count toward the 100 reserved ports limit of a container instance. 14242 // 14243 // You cannot expose the same container port for multiple protocols. An error 14244 // will be returned if this is attempted. 14245 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 14246 14247 // The port number on the container instance to reserve for your container. 14248 // 14249 // If you are using containers in a task with the awsvpc or host network mode, 14250 // the hostPort can either be left blank or set to the same value as the containerPort. 14251 // 14252 // If you are using containers in a task with the bridge network mode, you can 14253 // specify a non-reserved host port for your container port mapping, or you 14254 // can omit the hostPort (or set it to 0) while specifying a containerPort and 14255 // your container automatically receives a port in the ephemeral port range 14256 // for your container instance operating system and Docker version. 14257 // 14258 // The default ephemeral port range for Docker version 1.6.0 and later is listed 14259 // on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel 14260 // parameter is unavailable, the default ephemeral port range from 49153 through 14261 // 65535 is used. Do not attempt to specify a host port in the ephemeral port 14262 // range as these are reserved for automatic assignment. In general, ports below 14263 // 32768 are outside of the ephemeral port range. 14264 // 14265 // The default ephemeral port range from 49153 through 65535 is always used 14266 // for Docker versions before 1.6.0. 14267 // 14268 // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, 14269 // and the Amazon ECS container agent ports 51678-51680. Any host port that 14270 // was previously specified in a running task is also reserved while the task 14271 // is running (after a task stops, the host port is released). The current reserved 14272 // ports are displayed in the remainingResources of DescribeContainerInstances 14273 // output. A container instance can have up to 100 reserved ports at a time, 14274 // including the default reserved ports. Automatically assigned ports don't 14275 // count toward the 100 reserved ports limit. 14276 HostPort *int64 `locationName:"hostPort" type:"integer"` 14277 14278 // The protocol used for the port mapping. Valid values are tcp and udp. The 14279 // default is tcp. 14280 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 14281} 14282 14283// String returns the string representation 14284func (s PortMapping) String() string { 14285 return awsutil.Prettify(s) 14286} 14287 14288// GoString returns the string representation 14289func (s PortMapping) GoString() string { 14290 return s.String() 14291} 14292 14293// SetContainerPort sets the ContainerPort field's value. 14294func (s *PortMapping) SetContainerPort(v int64) *PortMapping { 14295 s.ContainerPort = &v 14296 return s 14297} 14298 14299// SetHostPort sets the HostPort field's value. 14300func (s *PortMapping) SetHostPort(v int64) *PortMapping { 14301 s.HostPort = &v 14302 return s 14303} 14304 14305// SetProtocol sets the Protocol field's value. 14306func (s *PortMapping) SetProtocol(v string) *PortMapping { 14307 s.Protocol = &v 14308 return s 14309} 14310 14311// The configuration details for the App Mesh proxy. 14312// 14313// For tasks using the EC2 launch type, the container instances require at least 14314// version 1.26.0 of the container agent and at least version 1.26.0-1 of the 14315// ecs-init package to enable a proxy configuration. If your container instances 14316// are launched from the Amazon ECS-optimized AMI version 20190301 or later, 14317// then they contain the required versions of the container agent and ecs-init. 14318// For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 14319// in the Amazon Elastic Container Service Developer Guide. 14320// 14321// For tasks using the Fargate launch type, the task or service requires platform 14322// version 1.3.0 or later. 14323type ProxyConfiguration struct { 14324 _ struct{} `type:"structure"` 14325 14326 // The name of the container that will serve as the App Mesh proxy. 14327 // 14328 // ContainerName is a required field 14329 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 14330 14331 // The set of network configuration parameters to provide the Container Network 14332 // Interface (CNI) plugin, specified as key-value pairs. 14333 // 14334 // * IgnoredUID - (Required) The user ID (UID) of the proxy container as 14335 // defined by the user parameter in a container definition. This is used 14336 // to ensure the proxy ignores its own traffic. If IgnoredGID is specified, 14337 // this field can be empty. 14338 // 14339 // * IgnoredGID - (Required) The group ID (GID) of the proxy container as 14340 // defined by the user parameter in a container definition. This is used 14341 // to ensure the proxy ignores its own traffic. If IgnoredUID is specified, 14342 // this field can be empty. 14343 // 14344 // * AppPorts - (Required) The list of ports that the application uses. Network 14345 // traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort. 14346 // 14347 // * ProxyIngressPort - (Required) Specifies the port that incoming traffic 14348 // to the AppPorts is directed to. 14349 // 14350 // * ProxyEgressPort - (Required) Specifies the port that outgoing traffic 14351 // from the AppPorts is directed to. 14352 // 14353 // * EgressIgnoredPorts - (Required) The egress traffic going to the specified 14354 // ports is ignored and not redirected to the ProxyEgressPort. It can be 14355 // an empty list. 14356 // 14357 // * EgressIgnoredIPs - (Required) The egress traffic going to the specified 14358 // IP addresses is ignored and not redirected to the ProxyEgressPort. It 14359 // can be an empty list. 14360 Properties []*KeyValuePair `locationName:"properties" type:"list"` 14361 14362 // The proxy type. The only supported value is APPMESH. 14363 Type *string `locationName:"type" type:"string" enum:"ProxyConfigurationType"` 14364} 14365 14366// String returns the string representation 14367func (s ProxyConfiguration) String() string { 14368 return awsutil.Prettify(s) 14369} 14370 14371// GoString returns the string representation 14372func (s ProxyConfiguration) GoString() string { 14373 return s.String() 14374} 14375 14376// Validate inspects the fields of the type to determine if they are valid. 14377func (s *ProxyConfiguration) Validate() error { 14378 invalidParams := request.ErrInvalidParams{Context: "ProxyConfiguration"} 14379 if s.ContainerName == nil { 14380 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 14381 } 14382 14383 if invalidParams.Len() > 0 { 14384 return invalidParams 14385 } 14386 return nil 14387} 14388 14389// SetContainerName sets the ContainerName field's value. 14390func (s *ProxyConfiguration) SetContainerName(v string) *ProxyConfiguration { 14391 s.ContainerName = &v 14392 return s 14393} 14394 14395// SetProperties sets the Properties field's value. 14396func (s *ProxyConfiguration) SetProperties(v []*KeyValuePair) *ProxyConfiguration { 14397 s.Properties = v 14398 return s 14399} 14400 14401// SetType sets the Type field's value. 14402func (s *ProxyConfiguration) SetType(v string) *ProxyConfiguration { 14403 s.Type = &v 14404 return s 14405} 14406 14407type PutAccountSettingDefaultInput struct { 14408 _ struct{} `type:"structure"` 14409 14410 // The resource name for which to modify the account setting. If serviceLongArnFormat 14411 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 14412 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 14413 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 14414 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 14415 // the ENI limit for your Amazon ECS container instances is affected. If containerInsights 14416 // is specified, the default setting for CloudWatch Container Insights for your 14417 // clusters is affected. 14418 // 14419 // Name is a required field 14420 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 14421 14422 // The account setting value for the specified principal ARN. Accepted values 14423 // are enabled and disabled. 14424 // 14425 // Value is a required field 14426 Value *string `locationName:"value" type:"string" required:"true"` 14427} 14428 14429// String returns the string representation 14430func (s PutAccountSettingDefaultInput) String() string { 14431 return awsutil.Prettify(s) 14432} 14433 14434// GoString returns the string representation 14435func (s PutAccountSettingDefaultInput) GoString() string { 14436 return s.String() 14437} 14438 14439// Validate inspects the fields of the type to determine if they are valid. 14440func (s *PutAccountSettingDefaultInput) Validate() error { 14441 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingDefaultInput"} 14442 if s.Name == nil { 14443 invalidParams.Add(request.NewErrParamRequired("Name")) 14444 } 14445 if s.Value == nil { 14446 invalidParams.Add(request.NewErrParamRequired("Value")) 14447 } 14448 14449 if invalidParams.Len() > 0 { 14450 return invalidParams 14451 } 14452 return nil 14453} 14454 14455// SetName sets the Name field's value. 14456func (s *PutAccountSettingDefaultInput) SetName(v string) *PutAccountSettingDefaultInput { 14457 s.Name = &v 14458 return s 14459} 14460 14461// SetValue sets the Value field's value. 14462func (s *PutAccountSettingDefaultInput) SetValue(v string) *PutAccountSettingDefaultInput { 14463 s.Value = &v 14464 return s 14465} 14466 14467type PutAccountSettingDefaultOutput struct { 14468 _ struct{} `type:"structure"` 14469 14470 // The current account setting for a resource. 14471 Setting *Setting `locationName:"setting" type:"structure"` 14472} 14473 14474// String returns the string representation 14475func (s PutAccountSettingDefaultOutput) String() string { 14476 return awsutil.Prettify(s) 14477} 14478 14479// GoString returns the string representation 14480func (s PutAccountSettingDefaultOutput) GoString() string { 14481 return s.String() 14482} 14483 14484// SetSetting sets the Setting field's value. 14485func (s *PutAccountSettingDefaultOutput) SetSetting(v *Setting) *PutAccountSettingDefaultOutput { 14486 s.Setting = v 14487 return s 14488} 14489 14490type PutAccountSettingInput struct { 14491 _ struct{} `type:"structure"` 14492 14493 // The Amazon ECS resource name for which to modify the account setting. If 14494 // serviceLongArnFormat is specified, the ARN for your Amazon ECS services is 14495 // affected. If taskLongArnFormat is specified, the ARN and resource ID for 14496 // your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, 14497 // the ARN and resource ID for your Amazon ECS container instances is affected. 14498 // If awsvpcTrunking is specified, the elastic network interface (ENI) limit 14499 // for your Amazon ECS container instances is affected. If containerInsights 14500 // is specified, the default setting for CloudWatch Container Insights for your 14501 // clusters is affected. 14502 // 14503 // Name is a required field 14504 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 14505 14506 // The ARN of the principal, which can be an IAM user, IAM role, or the root 14507 // user. If you specify the root user, it modifies the account setting for all 14508 // IAM users, IAM roles, and the root user of the account unless an IAM user 14509 // or role explicitly overrides these settings. If this field is omitted, the 14510 // setting is changed only for the authenticated user. 14511 PrincipalArn *string `locationName:"principalArn" type:"string"` 14512 14513 // The account setting value for the specified principal ARN. Accepted values 14514 // are enabled and disabled. 14515 // 14516 // Value is a required field 14517 Value *string `locationName:"value" type:"string" required:"true"` 14518} 14519 14520// String returns the string representation 14521func (s PutAccountSettingInput) String() string { 14522 return awsutil.Prettify(s) 14523} 14524 14525// GoString returns the string representation 14526func (s PutAccountSettingInput) GoString() string { 14527 return s.String() 14528} 14529 14530// Validate inspects the fields of the type to determine if they are valid. 14531func (s *PutAccountSettingInput) Validate() error { 14532 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingInput"} 14533 if s.Name == nil { 14534 invalidParams.Add(request.NewErrParamRequired("Name")) 14535 } 14536 if s.Value == nil { 14537 invalidParams.Add(request.NewErrParamRequired("Value")) 14538 } 14539 14540 if invalidParams.Len() > 0 { 14541 return invalidParams 14542 } 14543 return nil 14544} 14545 14546// SetName sets the Name field's value. 14547func (s *PutAccountSettingInput) SetName(v string) *PutAccountSettingInput { 14548 s.Name = &v 14549 return s 14550} 14551 14552// SetPrincipalArn sets the PrincipalArn field's value. 14553func (s *PutAccountSettingInput) SetPrincipalArn(v string) *PutAccountSettingInput { 14554 s.PrincipalArn = &v 14555 return s 14556} 14557 14558// SetValue sets the Value field's value. 14559func (s *PutAccountSettingInput) SetValue(v string) *PutAccountSettingInput { 14560 s.Value = &v 14561 return s 14562} 14563 14564type PutAccountSettingOutput struct { 14565 _ struct{} `type:"structure"` 14566 14567 // The current account setting for a resource. 14568 Setting *Setting `locationName:"setting" type:"structure"` 14569} 14570 14571// String returns the string representation 14572func (s PutAccountSettingOutput) String() string { 14573 return awsutil.Prettify(s) 14574} 14575 14576// GoString returns the string representation 14577func (s PutAccountSettingOutput) GoString() string { 14578 return s.String() 14579} 14580 14581// SetSetting sets the Setting field's value. 14582func (s *PutAccountSettingOutput) SetSetting(v *Setting) *PutAccountSettingOutput { 14583 s.Setting = v 14584 return s 14585} 14586 14587type PutAttributesInput struct { 14588 _ struct{} `type:"structure"` 14589 14590 // The attributes to apply to your resource. You can specify up to 10 custom 14591 // attributes per resource. You can specify up to 10 attributes in a single 14592 // call. 14593 // 14594 // Attributes is a required field 14595 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 14596 14597 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 14598 // the resource to apply attributes. If you do not specify a cluster, the default 14599 // cluster is assumed. 14600 Cluster *string `locationName:"cluster" type:"string"` 14601} 14602 14603// String returns the string representation 14604func (s PutAttributesInput) String() string { 14605 return awsutil.Prettify(s) 14606} 14607 14608// GoString returns the string representation 14609func (s PutAttributesInput) GoString() string { 14610 return s.String() 14611} 14612 14613// Validate inspects the fields of the type to determine if they are valid. 14614func (s *PutAttributesInput) Validate() error { 14615 invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} 14616 if s.Attributes == nil { 14617 invalidParams.Add(request.NewErrParamRequired("Attributes")) 14618 } 14619 if s.Attributes != nil { 14620 for i, v := range s.Attributes { 14621 if v == nil { 14622 continue 14623 } 14624 if err := v.Validate(); err != nil { 14625 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 14626 } 14627 } 14628 } 14629 14630 if invalidParams.Len() > 0 { 14631 return invalidParams 14632 } 14633 return nil 14634} 14635 14636// SetAttributes sets the Attributes field's value. 14637func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput { 14638 s.Attributes = v 14639 return s 14640} 14641 14642// SetCluster sets the Cluster field's value. 14643func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput { 14644 s.Cluster = &v 14645 return s 14646} 14647 14648type PutAttributesOutput struct { 14649 _ struct{} `type:"structure"` 14650 14651 // The attributes applied to your resource. 14652 Attributes []*Attribute `locationName:"attributes" type:"list"` 14653} 14654 14655// String returns the string representation 14656func (s PutAttributesOutput) String() string { 14657 return awsutil.Prettify(s) 14658} 14659 14660// GoString returns the string representation 14661func (s PutAttributesOutput) GoString() string { 14662 return s.String() 14663} 14664 14665// SetAttributes sets the Attributes field's value. 14666func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput { 14667 s.Attributes = v 14668 return s 14669} 14670 14671type PutClusterCapacityProvidersInput struct { 14672 _ struct{} `type:"structure"` 14673 14674 // The name of one or more capacity providers to associate with the cluster. 14675 // 14676 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 14677 // provider must already be created. New capacity providers can be created with 14678 // the CreateCapacityProvider API operation. 14679 // 14680 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 14681 // capacity providers. The AWS Fargate capacity providers are available to all 14682 // accounts and only need to be associated with a cluster to be used. 14683 // 14684 // CapacityProviders is a required field 14685 CapacityProviders []*string `locationName:"capacityProviders" type:"list" required:"true"` 14686 14687 // The short name or full Amazon Resource Name (ARN) of the cluster to modify 14688 // the capacity provider settings for. If you do not specify a cluster, the 14689 // default cluster is assumed. 14690 // 14691 // Cluster is a required field 14692 Cluster *string `locationName:"cluster" type:"string" required:"true"` 14693 14694 // The capacity provider strategy to use by default for the cluster. 14695 // 14696 // When creating a service or running a task on a cluster, if no capacity provider 14697 // or launch type is specified then the default capacity provider strategy for 14698 // the cluster is used. 14699 // 14700 // A capacity provider strategy consists of one or more capacity providers along 14701 // with the base and weight to assign to them. A capacity provider must be associated 14702 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 14703 // API is used to associate a capacity provider with a cluster. Only capacity 14704 // providers with an ACTIVE or UPDATING status can be used. 14705 // 14706 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 14707 // provider must already be created. New capacity providers can be created with 14708 // the CreateCapacityProvider API operation. 14709 // 14710 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 14711 // capacity providers. The AWS Fargate capacity providers are available to all 14712 // accounts and only need to be associated with a cluster to be used. 14713 // 14714 // DefaultCapacityProviderStrategy is a required field 14715 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list" required:"true"` 14716} 14717 14718// String returns the string representation 14719func (s PutClusterCapacityProvidersInput) String() string { 14720 return awsutil.Prettify(s) 14721} 14722 14723// GoString returns the string representation 14724func (s PutClusterCapacityProvidersInput) GoString() string { 14725 return s.String() 14726} 14727 14728// Validate inspects the fields of the type to determine if they are valid. 14729func (s *PutClusterCapacityProvidersInput) Validate() error { 14730 invalidParams := request.ErrInvalidParams{Context: "PutClusterCapacityProvidersInput"} 14731 if s.CapacityProviders == nil { 14732 invalidParams.Add(request.NewErrParamRequired("CapacityProviders")) 14733 } 14734 if s.Cluster == nil { 14735 invalidParams.Add(request.NewErrParamRequired("Cluster")) 14736 } 14737 if s.DefaultCapacityProviderStrategy == nil { 14738 invalidParams.Add(request.NewErrParamRequired("DefaultCapacityProviderStrategy")) 14739 } 14740 if s.DefaultCapacityProviderStrategy != nil { 14741 for i, v := range s.DefaultCapacityProviderStrategy { 14742 if v == nil { 14743 continue 14744 } 14745 if err := v.Validate(); err != nil { 14746 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 14747 } 14748 } 14749 } 14750 14751 if invalidParams.Len() > 0 { 14752 return invalidParams 14753 } 14754 return nil 14755} 14756 14757// SetCapacityProviders sets the CapacityProviders field's value. 14758func (s *PutClusterCapacityProvidersInput) SetCapacityProviders(v []*string) *PutClusterCapacityProvidersInput { 14759 s.CapacityProviders = v 14760 return s 14761} 14762 14763// SetCluster sets the Cluster field's value. 14764func (s *PutClusterCapacityProvidersInput) SetCluster(v string) *PutClusterCapacityProvidersInput { 14765 s.Cluster = &v 14766 return s 14767} 14768 14769// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 14770func (s *PutClusterCapacityProvidersInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *PutClusterCapacityProvidersInput { 14771 s.DefaultCapacityProviderStrategy = v 14772 return s 14773} 14774 14775type PutClusterCapacityProvidersOutput struct { 14776 _ struct{} `type:"structure"` 14777 14778 // A regional grouping of one or more container instances on which you can run 14779 // task requests. Each account receives a default cluster the first time you 14780 // use the Amazon ECS service, but you may also create other clusters. Clusters 14781 // may contain more than one instance type simultaneously. 14782 Cluster *Cluster `locationName:"cluster" type:"structure"` 14783} 14784 14785// String returns the string representation 14786func (s PutClusterCapacityProvidersOutput) String() string { 14787 return awsutil.Prettify(s) 14788} 14789 14790// GoString returns the string representation 14791func (s PutClusterCapacityProvidersOutput) GoString() string { 14792 return s.String() 14793} 14794 14795// SetCluster sets the Cluster field's value. 14796func (s *PutClusterCapacityProvidersOutput) SetCluster(v *Cluster) *PutClusterCapacityProvidersOutput { 14797 s.Cluster = v 14798 return s 14799} 14800 14801type RegisterContainerInstanceInput struct { 14802 _ struct{} `type:"structure"` 14803 14804 // The container instance attributes that this container instance supports. 14805 Attributes []*Attribute `locationName:"attributes" type:"list"` 14806 14807 // The short name or full Amazon Resource Name (ARN) of the cluster with which 14808 // to register your container instance. If you do not specify a cluster, the 14809 // default cluster is assumed. 14810 Cluster *string `locationName:"cluster" type:"string"` 14811 14812 // The ARN of the container instance (if it was previously registered). 14813 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 14814 14815 // The instance identity document for the EC2 instance to register. This document 14816 // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ 14817 InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` 14818 14819 // The instance identity document signature for the EC2 instance to register. 14820 // This signature can be found by running the following command from the instance: 14821 // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ 14822 InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` 14823 14824 // The devices that are available on the container instance. The only supported 14825 // device type is a GPU. 14826 PlatformDevices []*PlatformDevice `locationName:"platformDevices" type:"list"` 14827 14828 // The metadata that you apply to the container instance to help you categorize 14829 // and organize them. Each tag consists of a key and an optional value, both 14830 // of which you define. 14831 // 14832 // The following basic restrictions apply to tags: 14833 // 14834 // * Maximum number of tags per resource - 50 14835 // 14836 // * For each resource, each tag key must be unique, and each tag key can 14837 // have only one value. 14838 // 14839 // * Maximum key length - 128 Unicode characters in UTF-8 14840 // 14841 // * Maximum value length - 256 Unicode characters in UTF-8 14842 // 14843 // * If your tagging schema is used across multiple services and resources, 14844 // remember that other services may have restrictions on allowed characters. 14845 // Generally allowed characters are: letters, numbers, and spaces representable 14846 // in UTF-8, and the following characters: + - = . _ : / @. 14847 // 14848 // * Tag keys and values are case-sensitive. 14849 // 14850 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 14851 // as a prefix for either keys or values as it is reserved for AWS use. You 14852 // cannot edit or delete tag keys or values with this prefix. Tags with this 14853 // prefix do not count against your tags per resource limit. 14854 Tags []*Tag `locationName:"tags" type:"list"` 14855 14856 // The resources available on the instance. 14857 TotalResources []*Resource `locationName:"totalResources" type:"list"` 14858 14859 // The version information for the Amazon ECS container agent and Docker daemon 14860 // running on the container instance. 14861 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 14862} 14863 14864// String returns the string representation 14865func (s RegisterContainerInstanceInput) String() string { 14866 return awsutil.Prettify(s) 14867} 14868 14869// GoString returns the string representation 14870func (s RegisterContainerInstanceInput) GoString() string { 14871 return s.String() 14872} 14873 14874// Validate inspects the fields of the type to determine if they are valid. 14875func (s *RegisterContainerInstanceInput) Validate() error { 14876 invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} 14877 if s.Attributes != nil { 14878 for i, v := range s.Attributes { 14879 if v == nil { 14880 continue 14881 } 14882 if err := v.Validate(); err != nil { 14883 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 14884 } 14885 } 14886 } 14887 if s.PlatformDevices != nil { 14888 for i, v := range s.PlatformDevices { 14889 if v == nil { 14890 continue 14891 } 14892 if err := v.Validate(); err != nil { 14893 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformDevices", i), err.(request.ErrInvalidParams)) 14894 } 14895 } 14896 } 14897 if s.Tags != nil { 14898 for i, v := range s.Tags { 14899 if v == nil { 14900 continue 14901 } 14902 if err := v.Validate(); err != nil { 14903 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 14904 } 14905 } 14906 } 14907 14908 if invalidParams.Len() > 0 { 14909 return invalidParams 14910 } 14911 return nil 14912} 14913 14914// SetAttributes sets the Attributes field's value. 14915func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput { 14916 s.Attributes = v 14917 return s 14918} 14919 14920// SetCluster sets the Cluster field's value. 14921func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput { 14922 s.Cluster = &v 14923 return s 14924} 14925 14926// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 14927func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput { 14928 s.ContainerInstanceArn = &v 14929 return s 14930} 14931 14932// SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value. 14933func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput { 14934 s.InstanceIdentityDocument = &v 14935 return s 14936} 14937 14938// SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value. 14939func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput { 14940 s.InstanceIdentityDocumentSignature = &v 14941 return s 14942} 14943 14944// SetPlatformDevices sets the PlatformDevices field's value. 14945func (s *RegisterContainerInstanceInput) SetPlatformDevices(v []*PlatformDevice) *RegisterContainerInstanceInput { 14946 s.PlatformDevices = v 14947 return s 14948} 14949 14950// SetTags sets the Tags field's value. 14951func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput { 14952 s.Tags = v 14953 return s 14954} 14955 14956// SetTotalResources sets the TotalResources field's value. 14957func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput { 14958 s.TotalResources = v 14959 return s 14960} 14961 14962// SetVersionInfo sets the VersionInfo field's value. 14963func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput { 14964 s.VersionInfo = v 14965 return s 14966} 14967 14968type RegisterContainerInstanceOutput struct { 14969 _ struct{} `type:"structure"` 14970 14971 // The container instance that was registered. 14972 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 14973} 14974 14975// String returns the string representation 14976func (s RegisterContainerInstanceOutput) String() string { 14977 return awsutil.Prettify(s) 14978} 14979 14980// GoString returns the string representation 14981func (s RegisterContainerInstanceOutput) GoString() string { 14982 return s.String() 14983} 14984 14985// SetContainerInstance sets the ContainerInstance field's value. 14986func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput { 14987 s.ContainerInstance = v 14988 return s 14989} 14990 14991type RegisterTaskDefinitionInput struct { 14992 _ struct{} `type:"structure"` 14993 14994 // A list of container definitions in JSON format that describe the different 14995 // containers that make up your task. 14996 // 14997 // ContainerDefinitions is a required field 14998 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` 14999 15000 // The number of CPU units used by the task. It can be expressed as an integer 15001 // using CPU units, for example 1024, or as a string using vCPUs, for example 15002 // 1 vCPU or 1 vcpu, in a task definition. String values are converted to an 15003 // integer indicating the CPU units when the task definition is registered. 15004 // 15005 // Task-level CPU and memory parameters are ignored for Windows containers. 15006 // We recommend specifying container-level resources for Windows containers. 15007 // 15008 // If you are using the EC2 launch type, this field is optional. Supported values 15009 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 15010 // 15011 // If you are using the Fargate launch type, this field is required and you 15012 // must use one of the following values, which determines your range of supported 15013 // values for the memory parameter: 15014 // 15015 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 15016 // 2048 (2 GB) 15017 // 15018 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 15019 // (3 GB), 4096 (4 GB) 15020 // 15021 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 15022 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 15023 // 15024 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 15025 // (16 GB) in increments of 1024 (1 GB) 15026 // 15027 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 15028 // (30 GB) in increments of 1024 (1 GB) 15029 Cpu *string `locationName:"cpu" type:"string"` 15030 15031 // The Amazon Resource Name (ARN) of the task execution role that grants the 15032 // Amazon ECS container agent permission to make AWS API calls on your behalf. 15033 // The task execution IAM role is required depending on the requirements of 15034 // 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) 15035 // in the Amazon Elastic Container Service Developer Guide. 15036 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 15037 15038 // You must specify a family for a task definition, which allows you to track 15039 // multiple versions of the same task definition. The family is used as a name 15040 // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, 15041 // and hyphens are allowed. 15042 // 15043 // Family is a required field 15044 Family *string `locationName:"family" type:"string" required:"true"` 15045 15046 // The Elastic Inference accelerators to use for the containers in the task. 15047 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 15048 15049 // The IPC resource namespace to use for the containers in the task. The valid 15050 // values are host, task, or none. If host is specified, then all containers 15051 // within the tasks that specified the host IPC mode on the same container instance 15052 // share the same IPC resources with the host Amazon EC2 instance. If task is 15053 // specified, all containers within the specified task share the same IPC resources. 15054 // If none is specified, then IPC resources within the containers of a task 15055 // are private and not shared with other containers in a task or on the container 15056 // instance. If no value is specified, then the IPC resource namespace sharing 15057 // depends on the Docker daemon setting on the container instance. For more 15058 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 15059 // in the Docker run reference. 15060 // 15061 // If the host IPC mode is used, be aware that there is a heightened risk of 15062 // undesired IPC namespace expose. For more information, see Docker security 15063 // (https://docs.docker.com/engine/security/security/). 15064 // 15065 // If you are setting namespaced kernel parameters using systemControls for 15066 // the containers in the task, the following will apply to your IPC resource 15067 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 15068 // in the Amazon Elastic Container Service Developer Guide. 15069 // 15070 // * For tasks that use the host IPC mode, IPC namespace related systemControls 15071 // are not supported. 15072 // 15073 // * For tasks that use the task IPC mode, IPC namespace related systemControls 15074 // will apply to all containers within a task. 15075 // 15076 // This parameter is not supported for Windows containers or tasks using the 15077 // Fargate launch type. 15078 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 15079 15080 // The amount of memory (in MiB) used by the task. It can be expressed as an 15081 // integer using MiB, for example 1024, or as a string using GB, for example 15082 // 1GB or 1 GB, in a task definition. String values are converted to an integer 15083 // indicating the MiB when the task definition is registered. 15084 // 15085 // Task-level CPU and memory parameters are ignored for Windows containers. 15086 // We recommend specifying container-level resources for Windows containers. 15087 // 15088 // If using the EC2 launch type, this field is optional. 15089 // 15090 // If using the Fargate launch type, this field is required and you must use 15091 // one of the following values, which determines your range of supported values 15092 // for the cpu parameter: 15093 // 15094 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 15095 // vCPU) 15096 // 15097 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 15098 // 512 (.5 vCPU) 15099 // 15100 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 15101 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 15102 // 15103 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 15104 // Available cpu values: 2048 (2 vCPU) 15105 // 15106 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 15107 // Available cpu values: 4096 (4 vCPU) 15108 Memory *string `locationName:"memory" type:"string"` 15109 15110 // The Docker networking mode to use for the containers in the task. The valid 15111 // values are none, bridge, awsvpc, and host. The default Docker network mode 15112 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 15113 // is required. If you are using the EC2 launch type, any network mode can be 15114 // used. If the network mode is set to none, you cannot specify port mappings 15115 // in your container definitions, and the tasks containers do not have external 15116 // connectivity. The host and awsvpc network modes offer the highest networking 15117 // performance for containers because they use the EC2 network stack instead 15118 // of the virtualized network stack provided by the bridge mode. 15119 // 15120 // With the host and awsvpc network modes, exposed container ports are mapped 15121 // directly to the corresponding host port (for the host network mode) or the 15122 // attached elastic network interface port (for the awsvpc network mode), so 15123 // you cannot take advantage of dynamic host port mappings. 15124 // 15125 // If the network mode is awsvpc, the task is allocated an elastic network interface, 15126 // and you must specify a NetworkConfiguration value when you create a service 15127 // or run a task with the task definition. For more information, see Task Networking 15128 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 15129 // in the Amazon Elastic Container Service Developer Guide. 15130 // 15131 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 15132 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 15133 // mode. 15134 // 15135 // If the network mode is host, you cannot run multiple instantiations of the 15136 // same task on a single container instance when port mappings are used. 15137 // 15138 // Docker for Windows uses different network modes than Docker for Linux. When 15139 // you register a task definition with Windows containers, you must not specify 15140 // a network mode. If you use the console to register a task definition with 15141 // Windows containers, you must choose the <default> network mode object. 15142 // 15143 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 15144 // in the Docker run reference. 15145 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 15146 15147 // The process namespace to use for the containers in the task. The valid values 15148 // are host or task. If host is specified, then all containers within the tasks 15149 // that specified the host PID mode on the same container instance share the 15150 // same process namespace with the host Amazon EC2 instance. If task is specified, 15151 // all containers within the specified task share the same process namespace. 15152 // If no value is specified, the default is a private namespace. For more information, 15153 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 15154 // in the Docker run reference. 15155 // 15156 // If the host PID mode is used, be aware that there is a heightened risk of 15157 // undesired process namespace expose. For more information, see Docker security 15158 // (https://docs.docker.com/engine/security/security/). 15159 // 15160 // This parameter is not supported for Windows containers or tasks using the 15161 // Fargate launch type. 15162 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 15163 15164 // An array of placement constraint objects to use for the task. You can specify 15165 // a maximum of 10 constraints per task (this limit includes constraints in 15166 // the task definition and those specified at runtime). 15167 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 15168 15169 // The configuration details for the App Mesh proxy. 15170 // 15171 // For tasks using the EC2 launch type, the container instances require at least 15172 // version 1.26.0 of the container agent and at least version 1.26.0-1 of the 15173 // ecs-init package to enable a proxy configuration. If your container instances 15174 // are launched from the Amazon ECS-optimized AMI version 20190301 or later, 15175 // then they contain the required versions of the container agent and ecs-init. 15176 // For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 15177 // in the Amazon Elastic Container Service Developer Guide. 15178 // 15179 // For tasks using the Fargate launch type, the task or service requires platform 15180 // version 1.3.0 or later. 15181 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 15182 15183 // The launch type required by the task. If no value is specified, it defaults 15184 // to EC2. 15185 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 15186 15187 // The metadata that you apply to the task definition to help you categorize 15188 // and organize them. Each tag consists of a key and an optional value, both 15189 // of which you define. 15190 // 15191 // The following basic restrictions apply to tags: 15192 // 15193 // * Maximum number of tags per resource - 50 15194 // 15195 // * For each resource, each tag key must be unique, and each tag key can 15196 // have only one value. 15197 // 15198 // * Maximum key length - 128 Unicode characters in UTF-8 15199 // 15200 // * Maximum value length - 256 Unicode characters in UTF-8 15201 // 15202 // * If your tagging schema is used across multiple services and resources, 15203 // remember that other services may have restrictions on allowed characters. 15204 // Generally allowed characters are: letters, numbers, and spaces representable 15205 // in UTF-8, and the following characters: + - = . _ : / @. 15206 // 15207 // * Tag keys and values are case-sensitive. 15208 // 15209 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15210 // as a prefix for either keys or values as it is reserved for AWS use. You 15211 // cannot edit or delete tag keys or values with this prefix. Tags with this 15212 // prefix do not count against your tags per resource limit. 15213 Tags []*Tag `locationName:"tags" type:"list"` 15214 15215 // The short name or full Amazon Resource Name (ARN) of the IAM role that containers 15216 // in this task can assume. All containers in this task are granted the permissions 15217 // that are specified in this role. For more information, see IAM Roles for 15218 // Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 15219 // in the Amazon Elastic Container Service Developer Guide. 15220 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 15221 15222 // A list of volume definitions in JSON format that containers in your task 15223 // may use. 15224 Volumes []*Volume `locationName:"volumes" type:"list"` 15225} 15226 15227// String returns the string representation 15228func (s RegisterTaskDefinitionInput) String() string { 15229 return awsutil.Prettify(s) 15230} 15231 15232// GoString returns the string representation 15233func (s RegisterTaskDefinitionInput) GoString() string { 15234 return s.String() 15235} 15236 15237// Validate inspects the fields of the type to determine if they are valid. 15238func (s *RegisterTaskDefinitionInput) Validate() error { 15239 invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} 15240 if s.ContainerDefinitions == nil { 15241 invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) 15242 } 15243 if s.Family == nil { 15244 invalidParams.Add(request.NewErrParamRequired("Family")) 15245 } 15246 if s.ContainerDefinitions != nil { 15247 for i, v := range s.ContainerDefinitions { 15248 if v == nil { 15249 continue 15250 } 15251 if err := v.Validate(); err != nil { 15252 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) 15253 } 15254 } 15255 } 15256 if s.InferenceAccelerators != nil { 15257 for i, v := range s.InferenceAccelerators { 15258 if v == nil { 15259 continue 15260 } 15261 if err := v.Validate(); err != nil { 15262 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InferenceAccelerators", i), err.(request.ErrInvalidParams)) 15263 } 15264 } 15265 } 15266 if s.ProxyConfiguration != nil { 15267 if err := s.ProxyConfiguration.Validate(); err != nil { 15268 invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) 15269 } 15270 } 15271 if s.Tags != nil { 15272 for i, v := range s.Tags { 15273 if v == nil { 15274 continue 15275 } 15276 if err := v.Validate(); err != nil { 15277 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15278 } 15279 } 15280 } 15281 if s.Volumes != nil { 15282 for i, v := range s.Volumes { 15283 if v == nil { 15284 continue 15285 } 15286 if err := v.Validate(); err != nil { 15287 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) 15288 } 15289 } 15290 } 15291 15292 if invalidParams.Len() > 0 { 15293 return invalidParams 15294 } 15295 return nil 15296} 15297 15298// SetContainerDefinitions sets the ContainerDefinitions field's value. 15299func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput { 15300 s.ContainerDefinitions = v 15301 return s 15302} 15303 15304// SetCpu sets the Cpu field's value. 15305func (s *RegisterTaskDefinitionInput) SetCpu(v string) *RegisterTaskDefinitionInput { 15306 s.Cpu = &v 15307 return s 15308} 15309 15310// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 15311func (s *RegisterTaskDefinitionInput) SetExecutionRoleArn(v string) *RegisterTaskDefinitionInput { 15312 s.ExecutionRoleArn = &v 15313 return s 15314} 15315 15316// SetFamily sets the Family field's value. 15317func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput { 15318 s.Family = &v 15319 return s 15320} 15321 15322// SetInferenceAccelerators sets the InferenceAccelerators field's value. 15323func (s *RegisterTaskDefinitionInput) SetInferenceAccelerators(v []*InferenceAccelerator) *RegisterTaskDefinitionInput { 15324 s.InferenceAccelerators = v 15325 return s 15326} 15327 15328// SetIpcMode sets the IpcMode field's value. 15329func (s *RegisterTaskDefinitionInput) SetIpcMode(v string) *RegisterTaskDefinitionInput { 15330 s.IpcMode = &v 15331 return s 15332} 15333 15334// SetMemory sets the Memory field's value. 15335func (s *RegisterTaskDefinitionInput) SetMemory(v string) *RegisterTaskDefinitionInput { 15336 s.Memory = &v 15337 return s 15338} 15339 15340// SetNetworkMode sets the NetworkMode field's value. 15341func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput { 15342 s.NetworkMode = &v 15343 return s 15344} 15345 15346// SetPidMode sets the PidMode field's value. 15347func (s *RegisterTaskDefinitionInput) SetPidMode(v string) *RegisterTaskDefinitionInput { 15348 s.PidMode = &v 15349 return s 15350} 15351 15352// SetPlacementConstraints sets the PlacementConstraints field's value. 15353func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput { 15354 s.PlacementConstraints = v 15355 return s 15356} 15357 15358// SetProxyConfiguration sets the ProxyConfiguration field's value. 15359func (s *RegisterTaskDefinitionInput) SetProxyConfiguration(v *ProxyConfiguration) *RegisterTaskDefinitionInput { 15360 s.ProxyConfiguration = v 15361 return s 15362} 15363 15364// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 15365func (s *RegisterTaskDefinitionInput) SetRequiresCompatibilities(v []*string) *RegisterTaskDefinitionInput { 15366 s.RequiresCompatibilities = v 15367 return s 15368} 15369 15370// SetTags sets the Tags field's value. 15371func (s *RegisterTaskDefinitionInput) SetTags(v []*Tag) *RegisterTaskDefinitionInput { 15372 s.Tags = v 15373 return s 15374} 15375 15376// SetTaskRoleArn sets the TaskRoleArn field's value. 15377func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput { 15378 s.TaskRoleArn = &v 15379 return s 15380} 15381 15382// SetVolumes sets the Volumes field's value. 15383func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput { 15384 s.Volumes = v 15385 return s 15386} 15387 15388type RegisterTaskDefinitionOutput struct { 15389 _ struct{} `type:"structure"` 15390 15391 // The list of tags associated with the task definition. 15392 Tags []*Tag `locationName:"tags" type:"list"` 15393 15394 // The full description of the registered task definition. 15395 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 15396} 15397 15398// String returns the string representation 15399func (s RegisterTaskDefinitionOutput) String() string { 15400 return awsutil.Prettify(s) 15401} 15402 15403// GoString returns the string representation 15404func (s RegisterTaskDefinitionOutput) GoString() string { 15405 return s.String() 15406} 15407 15408// SetTags sets the Tags field's value. 15409func (s *RegisterTaskDefinitionOutput) SetTags(v []*Tag) *RegisterTaskDefinitionOutput { 15410 s.Tags = v 15411 return s 15412} 15413 15414// SetTaskDefinition sets the TaskDefinition field's value. 15415func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput { 15416 s.TaskDefinition = v 15417 return s 15418} 15419 15420// The repository credentials for private registry authentication. 15421type RepositoryCredentials struct { 15422 _ struct{} `type:"structure"` 15423 15424 // The Amazon Resource Name (ARN) of the secret containing the private repository 15425 // credentials. 15426 // 15427 // When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret 15428 // exists in the same Region as the task that you are launching then you can 15429 // use either the full ARN or the name of the secret. When you are using the 15430 // AWS Management Console, you must specify the full ARN of the secret. 15431 // 15432 // CredentialsParameter is a required field 15433 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 15434} 15435 15436// String returns the string representation 15437func (s RepositoryCredentials) String() string { 15438 return awsutil.Prettify(s) 15439} 15440 15441// GoString returns the string representation 15442func (s RepositoryCredentials) GoString() string { 15443 return s.String() 15444} 15445 15446// Validate inspects the fields of the type to determine if they are valid. 15447func (s *RepositoryCredentials) Validate() error { 15448 invalidParams := request.ErrInvalidParams{Context: "RepositoryCredentials"} 15449 if s.CredentialsParameter == nil { 15450 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 15451 } 15452 15453 if invalidParams.Len() > 0 { 15454 return invalidParams 15455 } 15456 return nil 15457} 15458 15459// SetCredentialsParameter sets the CredentialsParameter field's value. 15460func (s *RepositoryCredentials) SetCredentialsParameter(v string) *RepositoryCredentials { 15461 s.CredentialsParameter = &v 15462 return s 15463} 15464 15465// Describes the resources available for a container instance. 15466type Resource struct { 15467 _ struct{} `type:"structure"` 15468 15469 // When the doubleValue type is set, the value of the resource must be a double 15470 // precision floating-point type. 15471 DoubleValue *float64 `locationName:"doubleValue" type:"double"` 15472 15473 // When the integerValue type is set, the value of the resource must be an integer. 15474 IntegerValue *int64 `locationName:"integerValue" type:"integer"` 15475 15476 // When the longValue type is set, the value of the resource must be an extended 15477 // precision floating-point type. 15478 LongValue *int64 `locationName:"longValue" type:"long"` 15479 15480 // The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined 15481 // resource. 15482 Name *string `locationName:"name" type:"string"` 15483 15484 // When the stringSetValue type is set, the value of the resource must be a 15485 // string type. 15486 StringSetValue []*string `locationName:"stringSetValue" type:"list"` 15487 15488 // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. 15489 Type *string `locationName:"type" type:"string"` 15490} 15491 15492// String returns the string representation 15493func (s Resource) String() string { 15494 return awsutil.Prettify(s) 15495} 15496 15497// GoString returns the string representation 15498func (s Resource) GoString() string { 15499 return s.String() 15500} 15501 15502// SetDoubleValue sets the DoubleValue field's value. 15503func (s *Resource) SetDoubleValue(v float64) *Resource { 15504 s.DoubleValue = &v 15505 return s 15506} 15507 15508// SetIntegerValue sets the IntegerValue field's value. 15509func (s *Resource) SetIntegerValue(v int64) *Resource { 15510 s.IntegerValue = &v 15511 return s 15512} 15513 15514// SetLongValue sets the LongValue field's value. 15515func (s *Resource) SetLongValue(v int64) *Resource { 15516 s.LongValue = &v 15517 return s 15518} 15519 15520// SetName sets the Name field's value. 15521func (s *Resource) SetName(v string) *Resource { 15522 s.Name = &v 15523 return s 15524} 15525 15526// SetStringSetValue sets the StringSetValue field's value. 15527func (s *Resource) SetStringSetValue(v []*string) *Resource { 15528 s.StringSetValue = v 15529 return s 15530} 15531 15532// SetType sets the Type field's value. 15533func (s *Resource) SetType(v string) *Resource { 15534 s.Type = &v 15535 return s 15536} 15537 15538// The specified resource is in-use and cannot be removed. 15539type ResourceInUseException struct { 15540 _ struct{} `type:"structure"` 15541 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15542 15543 Message_ *string `locationName:"message" type:"string"` 15544} 15545 15546// String returns the string representation 15547func (s ResourceInUseException) String() string { 15548 return awsutil.Prettify(s) 15549} 15550 15551// GoString returns the string representation 15552func (s ResourceInUseException) GoString() string { 15553 return s.String() 15554} 15555 15556func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 15557 return &ResourceInUseException{ 15558 RespMetadata: v, 15559 } 15560} 15561 15562// Code returns the exception type name. 15563func (s *ResourceInUseException) Code() string { 15564 return "ResourceInUseException" 15565} 15566 15567// Message returns the exception's message. 15568func (s *ResourceInUseException) Message() string { 15569 if s.Message_ != nil { 15570 return *s.Message_ 15571 } 15572 return "" 15573} 15574 15575// OrigErr always returns nil, satisfies awserr.Error interface. 15576func (s *ResourceInUseException) OrigErr() error { 15577 return nil 15578} 15579 15580func (s *ResourceInUseException) Error() string { 15581 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15582} 15583 15584// Status code returns the HTTP status code for the request's response error. 15585func (s *ResourceInUseException) StatusCode() int { 15586 return s.RespMetadata.StatusCode 15587} 15588 15589// RequestID returns the service's response RequestID for request. 15590func (s *ResourceInUseException) RequestID() string { 15591 return s.RespMetadata.RequestID 15592} 15593 15594// The specified resource could not be found. 15595type ResourceNotFoundException struct { 15596 _ struct{} `type:"structure"` 15597 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15598 15599 Message_ *string `locationName:"message" type:"string"` 15600} 15601 15602// String returns the string representation 15603func (s ResourceNotFoundException) String() string { 15604 return awsutil.Prettify(s) 15605} 15606 15607// GoString returns the string representation 15608func (s ResourceNotFoundException) GoString() string { 15609 return s.String() 15610} 15611 15612func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 15613 return &ResourceNotFoundException{ 15614 RespMetadata: v, 15615 } 15616} 15617 15618// Code returns the exception type name. 15619func (s *ResourceNotFoundException) Code() string { 15620 return "ResourceNotFoundException" 15621} 15622 15623// Message returns the exception's message. 15624func (s *ResourceNotFoundException) Message() string { 15625 if s.Message_ != nil { 15626 return *s.Message_ 15627 } 15628 return "" 15629} 15630 15631// OrigErr always returns nil, satisfies awserr.Error interface. 15632func (s *ResourceNotFoundException) OrigErr() error { 15633 return nil 15634} 15635 15636func (s *ResourceNotFoundException) Error() string { 15637 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15638} 15639 15640// Status code returns the HTTP status code for the request's response error. 15641func (s *ResourceNotFoundException) StatusCode() int { 15642 return s.RespMetadata.StatusCode 15643} 15644 15645// RequestID returns the service's response RequestID for request. 15646func (s *ResourceNotFoundException) RequestID() string { 15647 return s.RespMetadata.RequestID 15648} 15649 15650// The type and amount of a resource to assign to a container. The supported 15651// resource types are GPUs and Elastic Inference accelerators. For more information, 15652// see Working with GPUs on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 15653// or Working with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 15654// in the Amazon Elastic Container Service Developer Guide 15655type ResourceRequirement struct { 15656 _ struct{} `type:"structure"` 15657 15658 // The type of resource to assign to a container. The supported values are GPU 15659 // or InferenceAccelerator. 15660 // 15661 // Type is a required field 15662 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 15663 15664 // The value for the specified resource type. 15665 // 15666 // If the GPU type is used, the value is the number of physical GPUs the Amazon 15667 // ECS container agent will reserve for the container. The number of GPUs reserved 15668 // for all containers in a task should not exceed the number of available GPUs 15669 // on the container instance the task is launched on. 15670 // 15671 // If the InferenceAccelerator type is used, the value should match the deviceName 15672 // for an InferenceAccelerator specified in a task definition. 15673 // 15674 // Value is a required field 15675 Value *string `locationName:"value" type:"string" required:"true"` 15676} 15677 15678// String returns the string representation 15679func (s ResourceRequirement) String() string { 15680 return awsutil.Prettify(s) 15681} 15682 15683// GoString returns the string representation 15684func (s ResourceRequirement) GoString() string { 15685 return s.String() 15686} 15687 15688// Validate inspects the fields of the type to determine if they are valid. 15689func (s *ResourceRequirement) Validate() error { 15690 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 15691 if s.Type == nil { 15692 invalidParams.Add(request.NewErrParamRequired("Type")) 15693 } 15694 if s.Value == nil { 15695 invalidParams.Add(request.NewErrParamRequired("Value")) 15696 } 15697 15698 if invalidParams.Len() > 0 { 15699 return invalidParams 15700 } 15701 return nil 15702} 15703 15704// SetType sets the Type field's value. 15705func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 15706 s.Type = &v 15707 return s 15708} 15709 15710// SetValue sets the Value field's value. 15711func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 15712 s.Value = &v 15713 return s 15714} 15715 15716type RunTaskInput struct { 15717 _ struct{} `type:"structure"` 15718 15719 // The capacity provider strategy to use for the task. 15720 // 15721 // A capacity provider strategy consists of one or more capacity providers along 15722 // with the base and weight to assign to them. A capacity provider must be associated 15723 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 15724 // API is used to associate a capacity provider with a cluster. Only capacity 15725 // providers with an ACTIVE or UPDATING status can be used. 15726 // 15727 // If a capacityProviderStrategy is specified, the launchType parameter must 15728 // be omitted. If no capacityProviderStrategy or launchType is specified, the 15729 // defaultCapacityProviderStrategy for the cluster is used. 15730 // 15731 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 15732 // provider must already be created. New capacity providers can be created with 15733 // the CreateCapacityProvider API operation. 15734 // 15735 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 15736 // capacity providers. The AWS Fargate capacity providers are available to all 15737 // accounts and only need to be associated with a cluster to be used. 15738 // 15739 // The PutClusterCapacityProviders API operation is used to update the list 15740 // of available capacity providers for a cluster after the cluster is created. 15741 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 15742 15743 // The short name or full Amazon Resource Name (ARN) of the cluster on which 15744 // to run your task. If you do not specify a cluster, the default cluster is 15745 // assumed. 15746 Cluster *string `locationName:"cluster" type:"string"` 15747 15748 // The number of instantiations of the specified task to place on your cluster. 15749 // You can specify up to 10 tasks per call. 15750 Count *int64 `locationName:"count" type:"integer"` 15751 15752 // Specifies whether to enable Amazon ECS managed tags for the task. For more 15753 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 15754 // in the Amazon Elastic Container Service Developer Guide. 15755 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 15756 15757 // The name of the task group to associate with the task. The default value 15758 // is the family name of the task definition (for example, family:my-family-name). 15759 Group *string `locationName:"group" type:"string"` 15760 15761 // The launch type on which to run your task. For more information, see Amazon 15762 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 15763 // in the Amazon Elastic Container Service Developer Guide. 15764 // 15765 // If a launchType is specified, the capacityProviderStrategy parameter must 15766 // be omitted. 15767 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 15768 15769 // The network configuration for the task. This parameter is required for task 15770 // definitions that use the awsvpc network mode to receive their own elastic 15771 // network interface, and it is not supported for other network modes. For more 15772 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 15773 // in the Amazon Elastic Container Service Developer Guide. 15774 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 15775 15776 // A list of container overrides in JSON format that specify the name of a container 15777 // in the specified task definition and the overrides it should receive. You 15778 // can override the default command for a container (that is specified in the 15779 // task definition or Docker image) with a command override. You can also override 15780 // existing environment variables (that are specified in the task definition 15781 // or Docker image) on a container or add new environment variables to it with 15782 // an environment override. 15783 // 15784 // A total of 8192 characters are allowed for overrides. This limit includes 15785 // the JSON formatting characters of the override structure. 15786 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 15787 15788 // An array of placement constraint objects to use for the task. You can specify 15789 // up to 10 constraints per task (including constraints in the task definition 15790 // and those specified at runtime). 15791 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 15792 15793 // The placement strategy objects to use for the task. You can specify a maximum 15794 // of five strategy rules per task. 15795 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 15796 15797 // The platform version the task should run. A platform version is only specified 15798 // for tasks using the Fargate launch type. If one is not specified, the LATEST 15799 // platform version is used by default. For more information, see AWS Fargate 15800 // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 15801 // in the Amazon Elastic Container Service Developer Guide. 15802 PlatformVersion *string `locationName:"platformVersion" type:"string"` 15803 15804 // Specifies whether to propagate the tags from the task definition to the task. 15805 // If no value is specified, the tags are not propagated. Tags can only be propagated 15806 // to the task during task creation. To add tags to a task after task creation, 15807 // use the TagResource API action. 15808 // 15809 // An error will be received if you specify the SERVICE option when running 15810 // a task. 15811 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 15812 15813 // The reference ID to use for the task. 15814 ReferenceId *string `locationName:"referenceId" type:"string"` 15815 15816 // An optional tag specified when a task is started. For example, if you automatically 15817 // trigger a task to run a batch process job, you could apply a unique identifier 15818 // for that job to your task with the startedBy parameter. You can then identify 15819 // which tasks belong to that job by filtering the results of a ListTasks call 15820 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 15821 // hyphens, and underscores are allowed. 15822 // 15823 // If a task is started by an Amazon ECS service, then the startedBy parameter 15824 // contains the deployment ID of the service that starts it. 15825 StartedBy *string `locationName:"startedBy" type:"string"` 15826 15827 // The metadata that you apply to the task to help you categorize and organize 15828 // them. Each tag consists of a key and an optional value, both of which you 15829 // define. 15830 // 15831 // The following basic restrictions apply to tags: 15832 // 15833 // * Maximum number of tags per resource - 50 15834 // 15835 // * For each resource, each tag key must be unique, and each tag key can 15836 // have only one value. 15837 // 15838 // * Maximum key length - 128 Unicode characters in UTF-8 15839 // 15840 // * Maximum value length - 256 Unicode characters in UTF-8 15841 // 15842 // * If your tagging schema is used across multiple services and resources, 15843 // remember that other services may have restrictions on allowed characters. 15844 // Generally allowed characters are: letters, numbers, and spaces representable 15845 // in UTF-8, and the following characters: + - = . _ : / @. 15846 // 15847 // * Tag keys and values are case-sensitive. 15848 // 15849 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15850 // as a prefix for either keys or values as it is reserved for AWS use. You 15851 // cannot edit or delete tag keys or values with this prefix. Tags with this 15852 // prefix do not count against your tags per resource limit. 15853 Tags []*Tag `locationName:"tags" type:"list"` 15854 15855 // The family and revision (family:revision) or full ARN of the task definition 15856 // to run. If a revision is not specified, the latest ACTIVE revision is used. 15857 // 15858 // TaskDefinition is a required field 15859 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 15860} 15861 15862// String returns the string representation 15863func (s RunTaskInput) String() string { 15864 return awsutil.Prettify(s) 15865} 15866 15867// GoString returns the string representation 15868func (s RunTaskInput) GoString() string { 15869 return s.String() 15870} 15871 15872// Validate inspects the fields of the type to determine if they are valid. 15873func (s *RunTaskInput) Validate() error { 15874 invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} 15875 if s.TaskDefinition == nil { 15876 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 15877 } 15878 if s.CapacityProviderStrategy != nil { 15879 for i, v := range s.CapacityProviderStrategy { 15880 if v == nil { 15881 continue 15882 } 15883 if err := v.Validate(); err != nil { 15884 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 15885 } 15886 } 15887 } 15888 if s.NetworkConfiguration != nil { 15889 if err := s.NetworkConfiguration.Validate(); err != nil { 15890 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 15891 } 15892 } 15893 if s.Overrides != nil { 15894 if err := s.Overrides.Validate(); err != nil { 15895 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 15896 } 15897 } 15898 if s.Tags != nil { 15899 for i, v := range s.Tags { 15900 if v == nil { 15901 continue 15902 } 15903 if err := v.Validate(); err != nil { 15904 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15905 } 15906 } 15907 } 15908 15909 if invalidParams.Len() > 0 { 15910 return invalidParams 15911 } 15912 return nil 15913} 15914 15915// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 15916func (s *RunTaskInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *RunTaskInput { 15917 s.CapacityProviderStrategy = v 15918 return s 15919} 15920 15921// SetCluster sets the Cluster field's value. 15922func (s *RunTaskInput) SetCluster(v string) *RunTaskInput { 15923 s.Cluster = &v 15924 return s 15925} 15926 15927// SetCount sets the Count field's value. 15928func (s *RunTaskInput) SetCount(v int64) *RunTaskInput { 15929 s.Count = &v 15930 return s 15931} 15932 15933// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 15934func (s *RunTaskInput) SetEnableECSManagedTags(v bool) *RunTaskInput { 15935 s.EnableECSManagedTags = &v 15936 return s 15937} 15938 15939// SetGroup sets the Group field's value. 15940func (s *RunTaskInput) SetGroup(v string) *RunTaskInput { 15941 s.Group = &v 15942 return s 15943} 15944 15945// SetLaunchType sets the LaunchType field's value. 15946func (s *RunTaskInput) SetLaunchType(v string) *RunTaskInput { 15947 s.LaunchType = &v 15948 return s 15949} 15950 15951// SetNetworkConfiguration sets the NetworkConfiguration field's value. 15952func (s *RunTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *RunTaskInput { 15953 s.NetworkConfiguration = v 15954 return s 15955} 15956 15957// SetOverrides sets the Overrides field's value. 15958func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput { 15959 s.Overrides = v 15960 return s 15961} 15962 15963// SetPlacementConstraints sets the PlacementConstraints field's value. 15964func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput { 15965 s.PlacementConstraints = v 15966 return s 15967} 15968 15969// SetPlacementStrategy sets the PlacementStrategy field's value. 15970func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput { 15971 s.PlacementStrategy = v 15972 return s 15973} 15974 15975// SetPlatformVersion sets the PlatformVersion field's value. 15976func (s *RunTaskInput) SetPlatformVersion(v string) *RunTaskInput { 15977 s.PlatformVersion = &v 15978 return s 15979} 15980 15981// SetPropagateTags sets the PropagateTags field's value. 15982func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput { 15983 s.PropagateTags = &v 15984 return s 15985} 15986 15987// SetReferenceId sets the ReferenceId field's value. 15988func (s *RunTaskInput) SetReferenceId(v string) *RunTaskInput { 15989 s.ReferenceId = &v 15990 return s 15991} 15992 15993// SetStartedBy sets the StartedBy field's value. 15994func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { 15995 s.StartedBy = &v 15996 return s 15997} 15998 15999// SetTags sets the Tags field's value. 16000func (s *RunTaskInput) SetTags(v []*Tag) *RunTaskInput { 16001 s.Tags = v 16002 return s 16003} 16004 16005// SetTaskDefinition sets the TaskDefinition field's value. 16006func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput { 16007 s.TaskDefinition = &v 16008 return s 16009} 16010 16011type RunTaskOutput struct { 16012 _ struct{} `type:"structure"` 16013 16014 // Any failures associated with the call. 16015 Failures []*Failure `locationName:"failures" type:"list"` 16016 16017 // A full description of the tasks that were run. The tasks that were successfully 16018 // placed on your cluster are described here. 16019 Tasks []*Task `locationName:"tasks" type:"list"` 16020} 16021 16022// String returns the string representation 16023func (s RunTaskOutput) String() string { 16024 return awsutil.Prettify(s) 16025} 16026 16027// GoString returns the string representation 16028func (s RunTaskOutput) GoString() string { 16029 return s.String() 16030} 16031 16032// SetFailures sets the Failures field's value. 16033func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput { 16034 s.Failures = v 16035 return s 16036} 16037 16038// SetTasks sets the Tasks field's value. 16039func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { 16040 s.Tasks = v 16041 return s 16042} 16043 16044// A floating-point percentage of the desired number of tasks to place and keep 16045// running in the task set. 16046type Scale struct { 16047 _ struct{} `type:"structure"` 16048 16049 // The unit of measure for the scale value. 16050 Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"` 16051 16052 // The value, specified as a percent total of a service's desiredCount, to scale 16053 // the task set. Accepted values are numbers between 0 and 100. 16054 Value *float64 `locationName:"value" type:"double"` 16055} 16056 16057// String returns the string representation 16058func (s Scale) String() string { 16059 return awsutil.Prettify(s) 16060} 16061 16062// GoString returns the string representation 16063func (s Scale) GoString() string { 16064 return s.String() 16065} 16066 16067// SetUnit sets the Unit field's value. 16068func (s *Scale) SetUnit(v string) *Scale { 16069 s.Unit = &v 16070 return s 16071} 16072 16073// SetValue sets the Value field's value. 16074func (s *Scale) SetValue(v float64) *Scale { 16075 s.Value = &v 16076 return s 16077} 16078 16079// An object representing the secret to expose to your container. Secrets can 16080// be exposed to a container in the following ways: 16081// 16082// * To inject sensitive data into your containers as environment variables, 16083// use the secrets container definition parameter. 16084// 16085// * To reference sensitive information in the log configuration of a container, 16086// use the secretOptions container definition parameter. 16087// 16088// For more information, see Specifying Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 16089// in the Amazon Elastic Container Service Developer Guide. 16090type Secret struct { 16091 _ struct{} `type:"structure"` 16092 16093 // The name of the secret. 16094 // 16095 // Name is a required field 16096 Name *string `locationName:"name" type:"string" required:"true"` 16097 16098 // The secret to expose to the container. The supported values are either the 16099 // full ARN of the AWS Secrets Manager secret or the full ARN of the parameter 16100 // in the AWS Systems Manager Parameter Store. 16101 // 16102 // If the AWS Systems Manager Parameter Store parameter exists in the same Region 16103 // as the task you are launching, then you can use either the full ARN or name 16104 // of the parameter. If the parameter exists in a different Region, then the 16105 // full ARN must be specified. 16106 // 16107 // ValueFrom is a required field 16108 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 16109} 16110 16111// String returns the string representation 16112func (s Secret) String() string { 16113 return awsutil.Prettify(s) 16114} 16115 16116// GoString returns the string representation 16117func (s Secret) GoString() string { 16118 return s.String() 16119} 16120 16121// Validate inspects the fields of the type to determine if they are valid. 16122func (s *Secret) Validate() error { 16123 invalidParams := request.ErrInvalidParams{Context: "Secret"} 16124 if s.Name == nil { 16125 invalidParams.Add(request.NewErrParamRequired("Name")) 16126 } 16127 if s.ValueFrom == nil { 16128 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 16129 } 16130 16131 if invalidParams.Len() > 0 { 16132 return invalidParams 16133 } 16134 return nil 16135} 16136 16137// SetName sets the Name field's value. 16138func (s *Secret) SetName(v string) *Secret { 16139 s.Name = &v 16140 return s 16141} 16142 16143// SetValueFrom sets the ValueFrom field's value. 16144func (s *Secret) SetValueFrom(v string) *Secret { 16145 s.ValueFrom = &v 16146 return s 16147} 16148 16149// These errors are usually caused by a server issue. 16150type ServerException struct { 16151 _ struct{} `type:"structure"` 16152 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16153 16154 Message_ *string `locationName:"message" type:"string"` 16155} 16156 16157// String returns the string representation 16158func (s ServerException) String() string { 16159 return awsutil.Prettify(s) 16160} 16161 16162// GoString returns the string representation 16163func (s ServerException) GoString() string { 16164 return s.String() 16165} 16166 16167func newErrorServerException(v protocol.ResponseMetadata) error { 16168 return &ServerException{ 16169 RespMetadata: v, 16170 } 16171} 16172 16173// Code returns the exception type name. 16174func (s *ServerException) Code() string { 16175 return "ServerException" 16176} 16177 16178// Message returns the exception's message. 16179func (s *ServerException) Message() string { 16180 if s.Message_ != nil { 16181 return *s.Message_ 16182 } 16183 return "" 16184} 16185 16186// OrigErr always returns nil, satisfies awserr.Error interface. 16187func (s *ServerException) OrigErr() error { 16188 return nil 16189} 16190 16191func (s *ServerException) Error() string { 16192 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16193} 16194 16195// Status code returns the HTTP status code for the request's response error. 16196func (s *ServerException) StatusCode() int { 16197 return s.RespMetadata.StatusCode 16198} 16199 16200// RequestID returns the service's response RequestID for request. 16201func (s *ServerException) RequestID() string { 16202 return s.RespMetadata.RequestID 16203} 16204 16205// Details on a service within a cluster 16206type Service struct { 16207 _ struct{} `type:"structure"` 16208 16209 // The capacity provider strategy associated with the service. 16210 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 16211 16212 // The Amazon Resource Name (ARN) of the cluster that hosts the service. 16213 ClusterArn *string `locationName:"clusterArn" type:"string"` 16214 16215 // The Unix timestamp for when the service was created. 16216 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 16217 16218 // The principal that created the service. 16219 CreatedBy *string `locationName:"createdBy" type:"string"` 16220 16221 // Optional deployment parameters that control how many tasks run during the 16222 // deployment and the ordering of stopping and starting tasks. 16223 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 16224 16225 // The deployment controller type the service is using. When using the DescribeServices 16226 // API, this field is omitted if the service is using the ECS deployment controller 16227 // type. 16228 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 16229 16230 // The current state of deployments for the service. 16231 Deployments []*Deployment `locationName:"deployments" type:"list"` 16232 16233 // The desired number of instantiations of the task definition to keep running 16234 // on the service. This value is specified when the service is created with 16235 // CreateService, and it can be modified with UpdateService. 16236 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 16237 16238 // Specifies whether to enable Amazon ECS managed tags for the tasks in the 16239 // service. For more information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 16240 // in the Amazon Elastic Container Service Developer Guide. 16241 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 16242 16243 // The event stream for your service. A maximum of 100 of the latest events 16244 // are displayed. 16245 Events []*ServiceEvent `locationName:"events" type:"list"` 16246 16247 // The period of time, in seconds, that the Amazon ECS service scheduler ignores 16248 // unhealthy Elastic Load Balancing target health checks after a task has first 16249 // started. 16250 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 16251 16252 // The launch type on which your service is running. If no value is specified, 16253 // it will default to EC2. Valid values include EC2 and FARGATE. For more information, 16254 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 16255 // in the Amazon Elastic Container Service Developer Guide. 16256 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 16257 16258 // A list of Elastic Load Balancing load balancer objects, containing the load 16259 // balancer name, the container name (as it appears in a container definition), 16260 // and the container port to access from the load balancer. 16261 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 16262 16263 // The VPC subnet and security group configuration for tasks that receive their 16264 // own elastic network interface by using the awsvpc networking mode. 16265 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16266 16267 // The number of tasks in the cluster that are in the PENDING state. 16268 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 16269 16270 // The placement constraints for the tasks in the service. 16271 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 16272 16273 // The placement strategy that determines how tasks for the service are placed. 16274 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 16275 16276 // The platform version on which to run your service. A platform version is 16277 // only specified for tasks using the Fargate launch type. If one is not specified, 16278 // the LATEST platform version is used by default. For more information, see 16279 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 16280 // in the Amazon Elastic Container Service Developer Guide. 16281 PlatformVersion *string `locationName:"platformVersion" type:"string"` 16282 16283 // Specifies whether to propagate the tags from the task definition or the service 16284 // to the task. If no value is specified, the tags are not propagated. 16285 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 16286 16287 // The ARN of the IAM role associated with the service that allows the Amazon 16288 // ECS container agent to register container instances with an Elastic Load 16289 // Balancing load balancer. 16290 RoleArn *string `locationName:"roleArn" type:"string"` 16291 16292 // The number of tasks in the cluster that are in the RUNNING state. 16293 RunningCount *int64 `locationName:"runningCount" type:"integer"` 16294 16295 // The scheduling strategy to use for the service. For more information, see 16296 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 16297 // 16298 // There are two service scheduler strategies available: 16299 // 16300 // * REPLICA-The replica scheduling strategy places and maintains the desired 16301 // number of tasks across your cluster. By default, the service scheduler 16302 // spreads tasks across Availability Zones. You can use task placement strategies 16303 // and constraints to customize task placement decisions. 16304 // 16305 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 16306 // active container instance that meets all of the task placement constraints 16307 // that you specify in your cluster. The service scheduler also evaluates 16308 // the task placement constraints for running tasks and will stop tasks that 16309 // do not meet the placement constraints. Fargate tasks do not support the 16310 // DAEMON scheduling strategy. 16311 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 16312 16313 // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, 16314 // followed by the Region of the service, the AWS account ID of the service 16315 // owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service. 16316 ServiceArn *string `locationName:"serviceArn" type:"string"` 16317 16318 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 16319 // and hyphens are allowed. Service names must be unique within a cluster, but 16320 // you can have similarly named services in multiple clusters within a Region 16321 // or across multiple Regions. 16322 ServiceName *string `locationName:"serviceName" type:"string"` 16323 16324 // The details of the service discovery registries to assign to this service. 16325 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 16326 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 16327 16328 // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. 16329 Status *string `locationName:"status" type:"string"` 16330 16331 // The metadata that you apply to the service to help you categorize and organize 16332 // them. Each tag consists of a key and an optional value, both of which you 16333 // define. 16334 // 16335 // The following basic restrictions apply to tags: 16336 // 16337 // * Maximum number of tags per resource - 50 16338 // 16339 // * For each resource, each tag key must be unique, and each tag key can 16340 // have only one value. 16341 // 16342 // * Maximum key length - 128 Unicode characters in UTF-8 16343 // 16344 // * Maximum value length - 256 Unicode characters in UTF-8 16345 // 16346 // * If your tagging schema is used across multiple services and resources, 16347 // remember that other services may have restrictions on allowed characters. 16348 // Generally allowed characters are: letters, numbers, and spaces representable 16349 // in UTF-8, and the following characters: + - = . _ : / @. 16350 // 16351 // * Tag keys and values are case-sensitive. 16352 // 16353 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16354 // as a prefix for either keys or values as it is reserved for AWS use. You 16355 // cannot edit or delete tag keys or values with this prefix. Tags with this 16356 // prefix do not count against your tags per resource limit. 16357 Tags []*Tag `locationName:"tags" type:"list"` 16358 16359 // The task definition to use for tasks in the service. This value is specified 16360 // when the service is created with CreateService, and it can be modified with 16361 // UpdateService. 16362 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 16363 16364 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 16365 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 16366 // desired number of tasks, how many tasks are running, and whether the task 16367 // set serves production traffic. 16368 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 16369} 16370 16371// String returns the string representation 16372func (s Service) String() string { 16373 return awsutil.Prettify(s) 16374} 16375 16376// GoString returns the string representation 16377func (s Service) GoString() string { 16378 return s.String() 16379} 16380 16381// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 16382func (s *Service) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Service { 16383 s.CapacityProviderStrategy = v 16384 return s 16385} 16386 16387// SetClusterArn sets the ClusterArn field's value. 16388func (s *Service) SetClusterArn(v string) *Service { 16389 s.ClusterArn = &v 16390 return s 16391} 16392 16393// SetCreatedAt sets the CreatedAt field's value. 16394func (s *Service) SetCreatedAt(v time.Time) *Service { 16395 s.CreatedAt = &v 16396 return s 16397} 16398 16399// SetCreatedBy sets the CreatedBy field's value. 16400func (s *Service) SetCreatedBy(v string) *Service { 16401 s.CreatedBy = &v 16402 return s 16403} 16404 16405// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 16406func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service { 16407 s.DeploymentConfiguration = v 16408 return s 16409} 16410 16411// SetDeploymentController sets the DeploymentController field's value. 16412func (s *Service) SetDeploymentController(v *DeploymentController) *Service { 16413 s.DeploymentController = v 16414 return s 16415} 16416 16417// SetDeployments sets the Deployments field's value. 16418func (s *Service) SetDeployments(v []*Deployment) *Service { 16419 s.Deployments = v 16420 return s 16421} 16422 16423// SetDesiredCount sets the DesiredCount field's value. 16424func (s *Service) SetDesiredCount(v int64) *Service { 16425 s.DesiredCount = &v 16426 return s 16427} 16428 16429// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 16430func (s *Service) SetEnableECSManagedTags(v bool) *Service { 16431 s.EnableECSManagedTags = &v 16432 return s 16433} 16434 16435// SetEvents sets the Events field's value. 16436func (s *Service) SetEvents(v []*ServiceEvent) *Service { 16437 s.Events = v 16438 return s 16439} 16440 16441// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 16442func (s *Service) SetHealthCheckGracePeriodSeconds(v int64) *Service { 16443 s.HealthCheckGracePeriodSeconds = &v 16444 return s 16445} 16446 16447// SetLaunchType sets the LaunchType field's value. 16448func (s *Service) SetLaunchType(v string) *Service { 16449 s.LaunchType = &v 16450 return s 16451} 16452 16453// SetLoadBalancers sets the LoadBalancers field's value. 16454func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service { 16455 s.LoadBalancers = v 16456 return s 16457} 16458 16459// SetNetworkConfiguration sets the NetworkConfiguration field's value. 16460func (s *Service) SetNetworkConfiguration(v *NetworkConfiguration) *Service { 16461 s.NetworkConfiguration = v 16462 return s 16463} 16464 16465// SetPendingCount sets the PendingCount field's value. 16466func (s *Service) SetPendingCount(v int64) *Service { 16467 s.PendingCount = &v 16468 return s 16469} 16470 16471// SetPlacementConstraints sets the PlacementConstraints field's value. 16472func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service { 16473 s.PlacementConstraints = v 16474 return s 16475} 16476 16477// SetPlacementStrategy sets the PlacementStrategy field's value. 16478func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service { 16479 s.PlacementStrategy = v 16480 return s 16481} 16482 16483// SetPlatformVersion sets the PlatformVersion field's value. 16484func (s *Service) SetPlatformVersion(v string) *Service { 16485 s.PlatformVersion = &v 16486 return s 16487} 16488 16489// SetPropagateTags sets the PropagateTags field's value. 16490func (s *Service) SetPropagateTags(v string) *Service { 16491 s.PropagateTags = &v 16492 return s 16493} 16494 16495// SetRoleArn sets the RoleArn field's value. 16496func (s *Service) SetRoleArn(v string) *Service { 16497 s.RoleArn = &v 16498 return s 16499} 16500 16501// SetRunningCount sets the RunningCount field's value. 16502func (s *Service) SetRunningCount(v int64) *Service { 16503 s.RunningCount = &v 16504 return s 16505} 16506 16507// SetSchedulingStrategy sets the SchedulingStrategy field's value. 16508func (s *Service) SetSchedulingStrategy(v string) *Service { 16509 s.SchedulingStrategy = &v 16510 return s 16511} 16512 16513// SetServiceArn sets the ServiceArn field's value. 16514func (s *Service) SetServiceArn(v string) *Service { 16515 s.ServiceArn = &v 16516 return s 16517} 16518 16519// SetServiceName sets the ServiceName field's value. 16520func (s *Service) SetServiceName(v string) *Service { 16521 s.ServiceName = &v 16522 return s 16523} 16524 16525// SetServiceRegistries sets the ServiceRegistries field's value. 16526func (s *Service) SetServiceRegistries(v []*ServiceRegistry) *Service { 16527 s.ServiceRegistries = v 16528 return s 16529} 16530 16531// SetStatus sets the Status field's value. 16532func (s *Service) SetStatus(v string) *Service { 16533 s.Status = &v 16534 return s 16535} 16536 16537// SetTags sets the Tags field's value. 16538func (s *Service) SetTags(v []*Tag) *Service { 16539 s.Tags = v 16540 return s 16541} 16542 16543// SetTaskDefinition sets the TaskDefinition field's value. 16544func (s *Service) SetTaskDefinition(v string) *Service { 16545 s.TaskDefinition = &v 16546 return s 16547} 16548 16549// SetTaskSets sets the TaskSets field's value. 16550func (s *Service) SetTaskSets(v []*TaskSet) *Service { 16551 s.TaskSets = v 16552 return s 16553} 16554 16555// Details on an event associated with a service. 16556type ServiceEvent struct { 16557 _ struct{} `type:"structure"` 16558 16559 // The Unix timestamp for when the event was triggered. 16560 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 16561 16562 // The ID string of the event. 16563 Id *string `locationName:"id" type:"string"` 16564 16565 // The event message. 16566 Message *string `locationName:"message" type:"string"` 16567} 16568 16569// String returns the string representation 16570func (s ServiceEvent) String() string { 16571 return awsutil.Prettify(s) 16572} 16573 16574// GoString returns the string representation 16575func (s ServiceEvent) GoString() string { 16576 return s.String() 16577} 16578 16579// SetCreatedAt sets the CreatedAt field's value. 16580func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent { 16581 s.CreatedAt = &v 16582 return s 16583} 16584 16585// SetId sets the Id field's value. 16586func (s *ServiceEvent) SetId(v string) *ServiceEvent { 16587 s.Id = &v 16588 return s 16589} 16590 16591// SetMessage sets the Message field's value. 16592func (s *ServiceEvent) SetMessage(v string) *ServiceEvent { 16593 s.Message = &v 16594 return s 16595} 16596 16597// The specified service is not active. You can't update a service that is inactive. 16598// If you have previously deleted a service, you can re-create it with CreateService. 16599type ServiceNotActiveException struct { 16600 _ struct{} `type:"structure"` 16601 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16602 16603 Message_ *string `locationName:"message" type:"string"` 16604} 16605 16606// String returns the string representation 16607func (s ServiceNotActiveException) String() string { 16608 return awsutil.Prettify(s) 16609} 16610 16611// GoString returns the string representation 16612func (s ServiceNotActiveException) GoString() string { 16613 return s.String() 16614} 16615 16616func newErrorServiceNotActiveException(v protocol.ResponseMetadata) error { 16617 return &ServiceNotActiveException{ 16618 RespMetadata: v, 16619 } 16620} 16621 16622// Code returns the exception type name. 16623func (s *ServiceNotActiveException) Code() string { 16624 return "ServiceNotActiveException" 16625} 16626 16627// Message returns the exception's message. 16628func (s *ServiceNotActiveException) Message() string { 16629 if s.Message_ != nil { 16630 return *s.Message_ 16631 } 16632 return "" 16633} 16634 16635// OrigErr always returns nil, satisfies awserr.Error interface. 16636func (s *ServiceNotActiveException) OrigErr() error { 16637 return nil 16638} 16639 16640func (s *ServiceNotActiveException) Error() string { 16641 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16642} 16643 16644// Status code returns the HTTP status code for the request's response error. 16645func (s *ServiceNotActiveException) StatusCode() int { 16646 return s.RespMetadata.StatusCode 16647} 16648 16649// RequestID returns the service's response RequestID for request. 16650func (s *ServiceNotActiveException) RequestID() string { 16651 return s.RespMetadata.RequestID 16652} 16653 16654// The specified service could not be found. You can view your available services 16655// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 16656type ServiceNotFoundException struct { 16657 _ struct{} `type:"structure"` 16658 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16659 16660 Message_ *string `locationName:"message" type:"string"` 16661} 16662 16663// String returns the string representation 16664func (s ServiceNotFoundException) String() string { 16665 return awsutil.Prettify(s) 16666} 16667 16668// GoString returns the string representation 16669func (s ServiceNotFoundException) GoString() string { 16670 return s.String() 16671} 16672 16673func newErrorServiceNotFoundException(v protocol.ResponseMetadata) error { 16674 return &ServiceNotFoundException{ 16675 RespMetadata: v, 16676 } 16677} 16678 16679// Code returns the exception type name. 16680func (s *ServiceNotFoundException) Code() string { 16681 return "ServiceNotFoundException" 16682} 16683 16684// Message returns the exception's message. 16685func (s *ServiceNotFoundException) Message() string { 16686 if s.Message_ != nil { 16687 return *s.Message_ 16688 } 16689 return "" 16690} 16691 16692// OrigErr always returns nil, satisfies awserr.Error interface. 16693func (s *ServiceNotFoundException) OrigErr() error { 16694 return nil 16695} 16696 16697func (s *ServiceNotFoundException) Error() string { 16698 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16699} 16700 16701// Status code returns the HTTP status code for the request's response error. 16702func (s *ServiceNotFoundException) StatusCode() int { 16703 return s.RespMetadata.StatusCode 16704} 16705 16706// RequestID returns the service's response RequestID for request. 16707func (s *ServiceNotFoundException) RequestID() string { 16708 return s.RespMetadata.RequestID 16709} 16710 16711// Details of the service registry. 16712type ServiceRegistry struct { 16713 _ struct{} `type:"structure"` 16714 16715 // The container name value, already specified in the task definition, to be 16716 // used for your service discovery service. If the task definition that your 16717 // service task specifies uses the bridge or host network mode, you must specify 16718 // a containerName and containerPort combination from the task definition. If 16719 // the task definition that your service task specifies uses the awsvpc network 16720 // mode and a type SRV DNS record is used, you must specify either a containerName 16721 // and containerPort combination or a port value, but not both. 16722 ContainerName *string `locationName:"containerName" type:"string"` 16723 16724 // The port value, already specified in the task definition, to be used for 16725 // your service discovery service. If the task definition your service task 16726 // specifies uses the bridge or host network mode, you must specify a containerName 16727 // and containerPort combination from the task definition. If the task definition 16728 // your service task specifies uses the awsvpc network mode and a type SRV DNS 16729 // record is used, you must specify either a containerName and containerPort 16730 // combination or a port value, but not both. 16731 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 16732 16733 // The port value used if your service discovery service specified an SRV record. 16734 // This field may be used if both the awsvpc network mode and SRV records are 16735 // used. 16736 Port *int64 `locationName:"port" type:"integer"` 16737 16738 // The Amazon Resource Name (ARN) of the service registry. The currently supported 16739 // service registry is AWS Cloud Map. For more information, see CreateService 16740 // (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). 16741 RegistryArn *string `locationName:"registryArn" type:"string"` 16742} 16743 16744// String returns the string representation 16745func (s ServiceRegistry) String() string { 16746 return awsutil.Prettify(s) 16747} 16748 16749// GoString returns the string representation 16750func (s ServiceRegistry) GoString() string { 16751 return s.String() 16752} 16753 16754// SetContainerName sets the ContainerName field's value. 16755func (s *ServiceRegistry) SetContainerName(v string) *ServiceRegistry { 16756 s.ContainerName = &v 16757 return s 16758} 16759 16760// SetContainerPort sets the ContainerPort field's value. 16761func (s *ServiceRegistry) SetContainerPort(v int64) *ServiceRegistry { 16762 s.ContainerPort = &v 16763 return s 16764} 16765 16766// SetPort sets the Port field's value. 16767func (s *ServiceRegistry) SetPort(v int64) *ServiceRegistry { 16768 s.Port = &v 16769 return s 16770} 16771 16772// SetRegistryArn sets the RegistryArn field's value. 16773func (s *ServiceRegistry) SetRegistryArn(v string) *ServiceRegistry { 16774 s.RegistryArn = &v 16775 return s 16776} 16777 16778// The current account setting for a resource. 16779type Setting struct { 16780 _ struct{} `type:"structure"` 16781 16782 // The Amazon ECS resource name. 16783 Name *string `locationName:"name" type:"string" enum:"SettingName"` 16784 16785 // The ARN of the principal, which can be an IAM user, IAM role, or the root 16786 // user. If this field is omitted, the authenticated user is assumed. 16787 PrincipalArn *string `locationName:"principalArn" type:"string"` 16788 16789 // Whether the account setting is enabled or disabled for the specified resource. 16790 Value *string `locationName:"value" type:"string"` 16791} 16792 16793// String returns the string representation 16794func (s Setting) String() string { 16795 return awsutil.Prettify(s) 16796} 16797 16798// GoString returns the string representation 16799func (s Setting) GoString() string { 16800 return s.String() 16801} 16802 16803// SetName sets the Name field's value. 16804func (s *Setting) SetName(v string) *Setting { 16805 s.Name = &v 16806 return s 16807} 16808 16809// SetPrincipalArn sets the PrincipalArn field's value. 16810func (s *Setting) SetPrincipalArn(v string) *Setting { 16811 s.PrincipalArn = &v 16812 return s 16813} 16814 16815// SetValue sets the Value field's value. 16816func (s *Setting) SetValue(v string) *Setting { 16817 s.Value = &v 16818 return s 16819} 16820 16821type StartTaskInput struct { 16822 _ struct{} `type:"structure"` 16823 16824 // The short name or full Amazon Resource Name (ARN) of the cluster on which 16825 // to start your task. If you do not specify a cluster, the default cluster 16826 // is assumed. 16827 Cluster *string `locationName:"cluster" type:"string"` 16828 16829 // The container instance IDs or full ARN entries for the container instances 16830 // on which you would like to place your task. You can specify up to 10 container 16831 // instances. 16832 // 16833 // ContainerInstances is a required field 16834 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 16835 16836 // Specifies whether to enable Amazon ECS managed tags for the task. For more 16837 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 16838 // in the Amazon Elastic Container Service Developer Guide. 16839 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 16840 16841 // The name of the task group to associate with the task. The default value 16842 // is the family name of the task definition (for example, family:my-family-name). 16843 Group *string `locationName:"group" type:"string"` 16844 16845 // The VPC subnet and security group configuration for tasks that receive their 16846 // own elastic network interface by using the awsvpc networking mode. 16847 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16848 16849 // A list of container overrides in JSON format that specify the name of a container 16850 // in the specified task definition and the overrides it should receive. You 16851 // can override the default command for a container (that is specified in the 16852 // task definition or Docker image) with a command override. You can also override 16853 // existing environment variables (that are specified in the task definition 16854 // or Docker image) on a container or add new environment variables to it with 16855 // an environment override. 16856 // 16857 // A total of 8192 characters are allowed for overrides. This limit includes 16858 // the JSON formatting characters of the override structure. 16859 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 16860 16861 // Specifies whether to propagate the tags from the task definition or the service 16862 // to the task. If no value is specified, the tags are not propagated. 16863 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 16864 16865 // The reference ID to use for the task. 16866 ReferenceId *string `locationName:"referenceId" type:"string"` 16867 16868 // An optional tag specified when a task is started. For example, if you automatically 16869 // trigger a task to run a batch process job, you could apply a unique identifier 16870 // for that job to your task with the startedBy parameter. You can then identify 16871 // which tasks belong to that job by filtering the results of a ListTasks call 16872 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 16873 // hyphens, and underscores are allowed. 16874 // 16875 // If a task is started by an Amazon ECS service, then the startedBy parameter 16876 // contains the deployment ID of the service that starts it. 16877 StartedBy *string `locationName:"startedBy" type:"string"` 16878 16879 // The metadata that you apply to the task to help you categorize and organize 16880 // them. Each tag consists of a key and an optional value, both of which you 16881 // define. 16882 // 16883 // The following basic restrictions apply to tags: 16884 // 16885 // * Maximum number of tags per resource - 50 16886 // 16887 // * For each resource, each tag key must be unique, and each tag key can 16888 // have only one value. 16889 // 16890 // * Maximum key length - 128 Unicode characters in UTF-8 16891 // 16892 // * Maximum value length - 256 Unicode characters in UTF-8 16893 // 16894 // * If your tagging schema is used across multiple services and resources, 16895 // remember that other services may have restrictions on allowed characters. 16896 // Generally allowed characters are: letters, numbers, and spaces representable 16897 // in UTF-8, and the following characters: + - = . _ : / @. 16898 // 16899 // * Tag keys and values are case-sensitive. 16900 // 16901 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16902 // as a prefix for either keys or values as it is reserved for AWS use. You 16903 // cannot edit or delete tag keys or values with this prefix. Tags with this 16904 // prefix do not count against your tags per resource limit. 16905 Tags []*Tag `locationName:"tags" type:"list"` 16906 16907 // The family and revision (family:revision) or full ARN of the task definition 16908 // to start. If a revision is not specified, the latest ACTIVE revision is used. 16909 // 16910 // TaskDefinition is a required field 16911 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 16912} 16913 16914// String returns the string representation 16915func (s StartTaskInput) String() string { 16916 return awsutil.Prettify(s) 16917} 16918 16919// GoString returns the string representation 16920func (s StartTaskInput) GoString() string { 16921 return s.String() 16922} 16923 16924// Validate inspects the fields of the type to determine if they are valid. 16925func (s *StartTaskInput) Validate() error { 16926 invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} 16927 if s.ContainerInstances == nil { 16928 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 16929 } 16930 if s.TaskDefinition == nil { 16931 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 16932 } 16933 if s.NetworkConfiguration != nil { 16934 if err := s.NetworkConfiguration.Validate(); err != nil { 16935 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 16936 } 16937 } 16938 if s.Overrides != nil { 16939 if err := s.Overrides.Validate(); err != nil { 16940 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 16941 } 16942 } 16943 if s.Tags != nil { 16944 for i, v := range s.Tags { 16945 if v == nil { 16946 continue 16947 } 16948 if err := v.Validate(); err != nil { 16949 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 16950 } 16951 } 16952 } 16953 16954 if invalidParams.Len() > 0 { 16955 return invalidParams 16956 } 16957 return nil 16958} 16959 16960// SetCluster sets the Cluster field's value. 16961func (s *StartTaskInput) SetCluster(v string) *StartTaskInput { 16962 s.Cluster = &v 16963 return s 16964} 16965 16966// SetContainerInstances sets the ContainerInstances field's value. 16967func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput { 16968 s.ContainerInstances = v 16969 return s 16970} 16971 16972// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 16973func (s *StartTaskInput) SetEnableECSManagedTags(v bool) *StartTaskInput { 16974 s.EnableECSManagedTags = &v 16975 return s 16976} 16977 16978// SetGroup sets the Group field's value. 16979func (s *StartTaskInput) SetGroup(v string) *StartTaskInput { 16980 s.Group = &v 16981 return s 16982} 16983 16984// SetNetworkConfiguration sets the NetworkConfiguration field's value. 16985func (s *StartTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *StartTaskInput { 16986 s.NetworkConfiguration = v 16987 return s 16988} 16989 16990// SetOverrides sets the Overrides field's value. 16991func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput { 16992 s.Overrides = v 16993 return s 16994} 16995 16996// SetPropagateTags sets the PropagateTags field's value. 16997func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput { 16998 s.PropagateTags = &v 16999 return s 17000} 17001 17002// SetReferenceId sets the ReferenceId field's value. 17003func (s *StartTaskInput) SetReferenceId(v string) *StartTaskInput { 17004 s.ReferenceId = &v 17005 return s 17006} 17007 17008// SetStartedBy sets the StartedBy field's value. 17009func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { 17010 s.StartedBy = &v 17011 return s 17012} 17013 17014// SetTags sets the Tags field's value. 17015func (s *StartTaskInput) SetTags(v []*Tag) *StartTaskInput { 17016 s.Tags = v 17017 return s 17018} 17019 17020// SetTaskDefinition sets the TaskDefinition field's value. 17021func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput { 17022 s.TaskDefinition = &v 17023 return s 17024} 17025 17026type StartTaskOutput struct { 17027 _ struct{} `type:"structure"` 17028 17029 // Any failures associated with the call. 17030 Failures []*Failure `locationName:"failures" type:"list"` 17031 17032 // A full description of the tasks that were started. Each task that was successfully 17033 // placed on your container instances is described. 17034 Tasks []*Task `locationName:"tasks" type:"list"` 17035} 17036 17037// String returns the string representation 17038func (s StartTaskOutput) String() string { 17039 return awsutil.Prettify(s) 17040} 17041 17042// GoString returns the string representation 17043func (s StartTaskOutput) GoString() string { 17044 return s.String() 17045} 17046 17047// SetFailures sets the Failures field's value. 17048func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput { 17049 s.Failures = v 17050 return s 17051} 17052 17053// SetTasks sets the Tasks field's value. 17054func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput { 17055 s.Tasks = v 17056 return s 17057} 17058 17059type StopTaskInput struct { 17060 _ struct{} `type:"structure"` 17061 17062 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 17063 // the task to stop. If you do not specify a cluster, the default cluster is 17064 // assumed. 17065 Cluster *string `locationName:"cluster" type:"string"` 17066 17067 // An optional message specified when a task is stopped. For example, if you 17068 // are using a custom scheduler, you can use this parameter to specify the reason 17069 // for stopping the task here, and the message appears in subsequent DescribeTasks 17070 // API operations on this task. Up to 255 characters are allowed in this message. 17071 Reason *string `locationName:"reason" type:"string"` 17072 17073 // The task ID or full Amazon Resource Name (ARN) of the task to stop. 17074 // 17075 // Task is a required field 17076 Task *string `locationName:"task" type:"string" required:"true"` 17077} 17078 17079// String returns the string representation 17080func (s StopTaskInput) String() string { 17081 return awsutil.Prettify(s) 17082} 17083 17084// GoString returns the string representation 17085func (s StopTaskInput) GoString() string { 17086 return s.String() 17087} 17088 17089// Validate inspects the fields of the type to determine if they are valid. 17090func (s *StopTaskInput) Validate() error { 17091 invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} 17092 if s.Task == nil { 17093 invalidParams.Add(request.NewErrParamRequired("Task")) 17094 } 17095 17096 if invalidParams.Len() > 0 { 17097 return invalidParams 17098 } 17099 return nil 17100} 17101 17102// SetCluster sets the Cluster field's value. 17103func (s *StopTaskInput) SetCluster(v string) *StopTaskInput { 17104 s.Cluster = &v 17105 return s 17106} 17107 17108// SetReason sets the Reason field's value. 17109func (s *StopTaskInput) SetReason(v string) *StopTaskInput { 17110 s.Reason = &v 17111 return s 17112} 17113 17114// SetTask sets the Task field's value. 17115func (s *StopTaskInput) SetTask(v string) *StopTaskInput { 17116 s.Task = &v 17117 return s 17118} 17119 17120type StopTaskOutput struct { 17121 _ struct{} `type:"structure"` 17122 17123 // The task that was stopped. 17124 Task *Task `locationName:"task" type:"structure"` 17125} 17126 17127// String returns the string representation 17128func (s StopTaskOutput) String() string { 17129 return awsutil.Prettify(s) 17130} 17131 17132// GoString returns the string representation 17133func (s StopTaskOutput) GoString() string { 17134 return s.String() 17135} 17136 17137// SetTask sets the Task field's value. 17138func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput { 17139 s.Task = v 17140 return s 17141} 17142 17143type SubmitAttachmentStateChangesInput struct { 17144 _ struct{} `type:"structure"` 17145 17146 // Any attachments associated with the state change request. 17147 // 17148 // Attachments is a required field 17149 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list" required:"true"` 17150 17151 // The short name or full ARN of the cluster that hosts the container instance 17152 // the attachment belongs to. 17153 Cluster *string `locationName:"cluster" type:"string"` 17154} 17155 17156// String returns the string representation 17157func (s SubmitAttachmentStateChangesInput) String() string { 17158 return awsutil.Prettify(s) 17159} 17160 17161// GoString returns the string representation 17162func (s SubmitAttachmentStateChangesInput) GoString() string { 17163 return s.String() 17164} 17165 17166// Validate inspects the fields of the type to determine if they are valid. 17167func (s *SubmitAttachmentStateChangesInput) Validate() error { 17168 invalidParams := request.ErrInvalidParams{Context: "SubmitAttachmentStateChangesInput"} 17169 if s.Attachments == nil { 17170 invalidParams.Add(request.NewErrParamRequired("Attachments")) 17171 } 17172 if s.Attachments != nil { 17173 for i, v := range s.Attachments { 17174 if v == nil { 17175 continue 17176 } 17177 if err := v.Validate(); err != nil { 17178 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 17179 } 17180 } 17181 } 17182 17183 if invalidParams.Len() > 0 { 17184 return invalidParams 17185 } 17186 return nil 17187} 17188 17189// SetAttachments sets the Attachments field's value. 17190func (s *SubmitAttachmentStateChangesInput) SetAttachments(v []*AttachmentStateChange) *SubmitAttachmentStateChangesInput { 17191 s.Attachments = v 17192 return s 17193} 17194 17195// SetCluster sets the Cluster field's value. 17196func (s *SubmitAttachmentStateChangesInput) SetCluster(v string) *SubmitAttachmentStateChangesInput { 17197 s.Cluster = &v 17198 return s 17199} 17200 17201type SubmitAttachmentStateChangesOutput struct { 17202 _ struct{} `type:"structure"` 17203 17204 // Acknowledgement of the state change. 17205 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 17206} 17207 17208// String returns the string representation 17209func (s SubmitAttachmentStateChangesOutput) String() string { 17210 return awsutil.Prettify(s) 17211} 17212 17213// GoString returns the string representation 17214func (s SubmitAttachmentStateChangesOutput) GoString() string { 17215 return s.String() 17216} 17217 17218// SetAcknowledgment sets the Acknowledgment field's value. 17219func (s *SubmitAttachmentStateChangesOutput) SetAcknowledgment(v string) *SubmitAttachmentStateChangesOutput { 17220 s.Acknowledgment = &v 17221 return s 17222} 17223 17224type SubmitContainerStateChangeInput struct { 17225 _ struct{} `type:"structure"` 17226 17227 // The short name or full ARN of the cluster that hosts the container. 17228 Cluster *string `locationName:"cluster" type:"string"` 17229 17230 // The name of the container. 17231 ContainerName *string `locationName:"containerName" type:"string"` 17232 17233 // The exit code returned for the state change request. 17234 ExitCode *int64 `locationName:"exitCode" type:"integer"` 17235 17236 // The network bindings of the container. 17237 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 17238 17239 // The reason for the state change request. 17240 Reason *string `locationName:"reason" type:"string"` 17241 17242 // The ID of the Docker container. 17243 RuntimeId *string `locationName:"runtimeId" type:"string"` 17244 17245 // The status of the state change request. 17246 Status *string `locationName:"status" type:"string"` 17247 17248 // The task ID or full Amazon Resource Name (ARN) of the task that hosts the 17249 // container. 17250 Task *string `locationName:"task" type:"string"` 17251} 17252 17253// String returns the string representation 17254func (s SubmitContainerStateChangeInput) String() string { 17255 return awsutil.Prettify(s) 17256} 17257 17258// GoString returns the string representation 17259func (s SubmitContainerStateChangeInput) GoString() string { 17260 return s.String() 17261} 17262 17263// SetCluster sets the Cluster field's value. 17264func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput { 17265 s.Cluster = &v 17266 return s 17267} 17268 17269// SetContainerName sets the ContainerName field's value. 17270func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput { 17271 s.ContainerName = &v 17272 return s 17273} 17274 17275// SetExitCode sets the ExitCode field's value. 17276func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput { 17277 s.ExitCode = &v 17278 return s 17279} 17280 17281// SetNetworkBindings sets the NetworkBindings field's value. 17282func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput { 17283 s.NetworkBindings = v 17284 return s 17285} 17286 17287// SetReason sets the Reason field's value. 17288func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput { 17289 s.Reason = &v 17290 return s 17291} 17292 17293// SetRuntimeId sets the RuntimeId field's value. 17294func (s *SubmitContainerStateChangeInput) SetRuntimeId(v string) *SubmitContainerStateChangeInput { 17295 s.RuntimeId = &v 17296 return s 17297} 17298 17299// SetStatus sets the Status field's value. 17300func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput { 17301 s.Status = &v 17302 return s 17303} 17304 17305// SetTask sets the Task field's value. 17306func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput { 17307 s.Task = &v 17308 return s 17309} 17310 17311type SubmitContainerStateChangeOutput struct { 17312 _ struct{} `type:"structure"` 17313 17314 // Acknowledgement of the state change. 17315 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 17316} 17317 17318// String returns the string representation 17319func (s SubmitContainerStateChangeOutput) String() string { 17320 return awsutil.Prettify(s) 17321} 17322 17323// GoString returns the string representation 17324func (s SubmitContainerStateChangeOutput) GoString() string { 17325 return s.String() 17326} 17327 17328// SetAcknowledgment sets the Acknowledgment field's value. 17329func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput { 17330 s.Acknowledgment = &v 17331 return s 17332} 17333 17334type SubmitTaskStateChangeInput struct { 17335 _ struct{} `type:"structure"` 17336 17337 // Any attachments associated with the state change request. 17338 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list"` 17339 17340 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 17341 // the task. 17342 Cluster *string `locationName:"cluster" type:"string"` 17343 17344 // Any containers associated with the state change request. 17345 Containers []*ContainerStateChange `locationName:"containers" type:"list"` 17346 17347 // The Unix timestamp for when the task execution stopped. 17348 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 17349 17350 // The Unix timestamp for when the container image pull began. 17351 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 17352 17353 // The Unix timestamp for when the container image pull completed. 17354 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 17355 17356 // The reason for the state change request. 17357 Reason *string `locationName:"reason" type:"string"` 17358 17359 // The status of the state change request. 17360 Status *string `locationName:"status" type:"string"` 17361 17362 // The task ID or full ARN of the task in the state change request. 17363 Task *string `locationName:"task" type:"string"` 17364} 17365 17366// String returns the string representation 17367func (s SubmitTaskStateChangeInput) String() string { 17368 return awsutil.Prettify(s) 17369} 17370 17371// GoString returns the string representation 17372func (s SubmitTaskStateChangeInput) GoString() string { 17373 return s.String() 17374} 17375 17376// Validate inspects the fields of the type to determine if they are valid. 17377func (s *SubmitTaskStateChangeInput) Validate() error { 17378 invalidParams := request.ErrInvalidParams{Context: "SubmitTaskStateChangeInput"} 17379 if s.Attachments != nil { 17380 for i, v := range s.Attachments { 17381 if v == nil { 17382 continue 17383 } 17384 if err := v.Validate(); err != nil { 17385 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 17386 } 17387 } 17388 } 17389 17390 if invalidParams.Len() > 0 { 17391 return invalidParams 17392 } 17393 return nil 17394} 17395 17396// SetAttachments sets the Attachments field's value. 17397func (s *SubmitTaskStateChangeInput) SetAttachments(v []*AttachmentStateChange) *SubmitTaskStateChangeInput { 17398 s.Attachments = v 17399 return s 17400} 17401 17402// SetCluster sets the Cluster field's value. 17403func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput { 17404 s.Cluster = &v 17405 return s 17406} 17407 17408// SetContainers sets the Containers field's value. 17409func (s *SubmitTaskStateChangeInput) SetContainers(v []*ContainerStateChange) *SubmitTaskStateChangeInput { 17410 s.Containers = v 17411 return s 17412} 17413 17414// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 17415func (s *SubmitTaskStateChangeInput) SetExecutionStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 17416 s.ExecutionStoppedAt = &v 17417 return s 17418} 17419 17420// SetPullStartedAt sets the PullStartedAt field's value. 17421func (s *SubmitTaskStateChangeInput) SetPullStartedAt(v time.Time) *SubmitTaskStateChangeInput { 17422 s.PullStartedAt = &v 17423 return s 17424} 17425 17426// SetPullStoppedAt sets the PullStoppedAt field's value. 17427func (s *SubmitTaskStateChangeInput) SetPullStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 17428 s.PullStoppedAt = &v 17429 return s 17430} 17431 17432// SetReason sets the Reason field's value. 17433func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput { 17434 s.Reason = &v 17435 return s 17436} 17437 17438// SetStatus sets the Status field's value. 17439func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput { 17440 s.Status = &v 17441 return s 17442} 17443 17444// SetTask sets the Task field's value. 17445func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput { 17446 s.Task = &v 17447 return s 17448} 17449 17450type SubmitTaskStateChangeOutput struct { 17451 _ struct{} `type:"structure"` 17452 17453 // Acknowledgement of the state change. 17454 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 17455} 17456 17457// String returns the string representation 17458func (s SubmitTaskStateChangeOutput) String() string { 17459 return awsutil.Prettify(s) 17460} 17461 17462// GoString returns the string representation 17463func (s SubmitTaskStateChangeOutput) GoString() string { 17464 return s.String() 17465} 17466 17467// SetAcknowledgment sets the Acknowledgment field's value. 17468func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput { 17469 s.Acknowledgment = &v 17470 return s 17471} 17472 17473// A list of namespaced kernel parameters to set in the container. This parameter 17474// maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 17475// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 17476// and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 17477// 17478// It is not recommended that you specify network-related systemControls parameters 17479// for multiple containers in a single task that also uses either the awsvpc 17480// or host network mode for the following reasons: 17481// 17482// * For tasks that use the awsvpc network mode, if you set systemControls 17483// for any container, it applies to all containers in the task. If you set 17484// different systemControls for multiple containers in a single task, the 17485// container that is started last determines which systemControls take effect. 17486// 17487// * For tasks that use the host network mode, the systemControls parameter 17488// applies to the container instance's kernel parameter as well as that of 17489// all containers of any tasks running on that container instance. 17490type SystemControl struct { 17491 _ struct{} `type:"structure"` 17492 17493 // The namespaced kernel parameter for which to set a value. 17494 Namespace *string `locationName:"namespace" type:"string"` 17495 17496 // The value for the namespaced kernel parameter specified in namespace. 17497 Value *string `locationName:"value" type:"string"` 17498} 17499 17500// String returns the string representation 17501func (s SystemControl) String() string { 17502 return awsutil.Prettify(s) 17503} 17504 17505// GoString returns the string representation 17506func (s SystemControl) GoString() string { 17507 return s.String() 17508} 17509 17510// SetNamespace sets the Namespace field's value. 17511func (s *SystemControl) SetNamespace(v string) *SystemControl { 17512 s.Namespace = &v 17513 return s 17514} 17515 17516// SetValue sets the Value field's value. 17517func (s *SystemControl) SetValue(v string) *SystemControl { 17518 s.Value = &v 17519 return s 17520} 17521 17522// The metadata that you apply to a resource to help you categorize and organize 17523// them. Each tag consists of a key and an optional value, both of which you 17524// define. 17525// 17526// The following basic restrictions apply to tags: 17527// 17528// * Maximum number of tags per resource - 50 17529// 17530// * For each resource, each tag key must be unique, and each tag key can 17531// have only one value. 17532// 17533// * Maximum key length - 128 Unicode characters in UTF-8 17534// 17535// * Maximum value length - 256 Unicode characters in UTF-8 17536// 17537// * If your tagging schema is used across multiple services and resources, 17538// remember that other services may have restrictions on allowed characters. 17539// Generally allowed characters are: letters, numbers, and spaces representable 17540// in UTF-8, and the following characters: + - = . _ : / @. 17541// 17542// * Tag keys and values are case-sensitive. 17543// 17544// * Do not use aws:, AWS:, or any upper or lowercase combination of such 17545// as a prefix for either keys or values as it is reserved for AWS use. You 17546// cannot edit or delete tag keys or values with this prefix. Tags with this 17547// prefix do not count against your tags per resource limit. 17548type Tag struct { 17549 _ struct{} `type:"structure"` 17550 17551 // One part of a key-value pair that make up a tag. A key is a general label 17552 // that acts like a category for more specific tag values. 17553 Key *string `locationName:"key" min:"1" type:"string"` 17554 17555 // The optional part of a key-value pair that make up a tag. A value acts as 17556 // a descriptor within a tag category (key). 17557 Value *string `locationName:"value" type:"string"` 17558} 17559 17560// String returns the string representation 17561func (s Tag) String() string { 17562 return awsutil.Prettify(s) 17563} 17564 17565// GoString returns the string representation 17566func (s Tag) GoString() string { 17567 return s.String() 17568} 17569 17570// Validate inspects the fields of the type to determine if they are valid. 17571func (s *Tag) Validate() error { 17572 invalidParams := request.ErrInvalidParams{Context: "Tag"} 17573 if s.Key != nil && len(*s.Key) < 1 { 17574 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 17575 } 17576 17577 if invalidParams.Len() > 0 { 17578 return invalidParams 17579 } 17580 return nil 17581} 17582 17583// SetKey sets the Key field's value. 17584func (s *Tag) SetKey(v string) *Tag { 17585 s.Key = &v 17586 return s 17587} 17588 17589// SetValue sets the Value field's value. 17590func (s *Tag) SetValue(v string) *Tag { 17591 s.Value = &v 17592 return s 17593} 17594 17595type TagResourceInput struct { 17596 _ struct{} `type:"structure"` 17597 17598 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 17599 // the supported resources are Amazon ECS capacity providers, tasks, services, 17600 // task definitions, clusters, and container instances. 17601 // 17602 // ResourceArn is a required field 17603 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 17604 17605 // The tags to add to the resource. A tag is an array of key-value pairs. 17606 // 17607 // The following basic restrictions apply to tags: 17608 // 17609 // * Maximum number of tags per resource - 50 17610 // 17611 // * For each resource, each tag key must be unique, and each tag key can 17612 // have only one value. 17613 // 17614 // * Maximum key length - 128 Unicode characters in UTF-8 17615 // 17616 // * Maximum value length - 256 Unicode characters in UTF-8 17617 // 17618 // * If your tagging schema is used across multiple services and resources, 17619 // remember that other services may have restrictions on allowed characters. 17620 // Generally allowed characters are: letters, numbers, and spaces representable 17621 // in UTF-8, and the following characters: + - = . _ : / @. 17622 // 17623 // * Tag keys and values are case-sensitive. 17624 // 17625 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17626 // as a prefix for either keys or values as it is reserved for AWS use. You 17627 // cannot edit or delete tag keys or values with this prefix. Tags with this 17628 // prefix do not count against your tags per resource limit. 17629 // 17630 // Tags is a required field 17631 Tags []*Tag `locationName:"tags" type:"list" required:"true"` 17632} 17633 17634// String returns the string representation 17635func (s TagResourceInput) String() string { 17636 return awsutil.Prettify(s) 17637} 17638 17639// GoString returns the string representation 17640func (s TagResourceInput) GoString() string { 17641 return s.String() 17642} 17643 17644// Validate inspects the fields of the type to determine if they are valid. 17645func (s *TagResourceInput) Validate() error { 17646 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 17647 if s.ResourceArn == nil { 17648 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 17649 } 17650 if s.Tags == nil { 17651 invalidParams.Add(request.NewErrParamRequired("Tags")) 17652 } 17653 if s.Tags != nil { 17654 for i, v := range s.Tags { 17655 if v == nil { 17656 continue 17657 } 17658 if err := v.Validate(); err != nil { 17659 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 17660 } 17661 } 17662 } 17663 17664 if invalidParams.Len() > 0 { 17665 return invalidParams 17666 } 17667 return nil 17668} 17669 17670// SetResourceArn sets the ResourceArn field's value. 17671func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 17672 s.ResourceArn = &v 17673 return s 17674} 17675 17676// SetTags sets the Tags field's value. 17677func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 17678 s.Tags = v 17679 return s 17680} 17681 17682type TagResourceOutput struct { 17683 _ struct{} `type:"structure"` 17684} 17685 17686// String returns the string representation 17687func (s TagResourceOutput) String() string { 17688 return awsutil.Prettify(s) 17689} 17690 17691// GoString returns the string representation 17692func (s TagResourceOutput) GoString() string { 17693 return s.String() 17694} 17695 17696// The specified target could not be found. You can view your available container 17697// instances with ListContainerInstances. Amazon ECS container instances are 17698// cluster-specific and Region-specific. 17699type TargetNotFoundException struct { 17700 _ struct{} `type:"structure"` 17701 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17702 17703 Message_ *string `locationName:"message" type:"string"` 17704} 17705 17706// String returns the string representation 17707func (s TargetNotFoundException) String() string { 17708 return awsutil.Prettify(s) 17709} 17710 17711// GoString returns the string representation 17712func (s TargetNotFoundException) GoString() string { 17713 return s.String() 17714} 17715 17716func newErrorTargetNotFoundException(v protocol.ResponseMetadata) error { 17717 return &TargetNotFoundException{ 17718 RespMetadata: v, 17719 } 17720} 17721 17722// Code returns the exception type name. 17723func (s *TargetNotFoundException) Code() string { 17724 return "TargetNotFoundException" 17725} 17726 17727// Message returns the exception's message. 17728func (s *TargetNotFoundException) Message() string { 17729 if s.Message_ != nil { 17730 return *s.Message_ 17731 } 17732 return "" 17733} 17734 17735// OrigErr always returns nil, satisfies awserr.Error interface. 17736func (s *TargetNotFoundException) OrigErr() error { 17737 return nil 17738} 17739 17740func (s *TargetNotFoundException) Error() string { 17741 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17742} 17743 17744// Status code returns the HTTP status code for the request's response error. 17745func (s *TargetNotFoundException) StatusCode() int { 17746 return s.RespMetadata.StatusCode 17747} 17748 17749// RequestID returns the service's response RequestID for request. 17750func (s *TargetNotFoundException) RequestID() string { 17751 return s.RespMetadata.RequestID 17752} 17753 17754// Details on a task in a cluster. 17755type Task struct { 17756 _ struct{} `type:"structure"` 17757 17758 // The Elastic Network Adapter associated with the task if the task uses the 17759 // awsvpc network mode. 17760 Attachments []*Attachment `locationName:"attachments" type:"list"` 17761 17762 // The attributes of the task 17763 Attributes []*Attribute `locationName:"attributes" type:"list"` 17764 17765 // The availability zone of the task. 17766 AvailabilityZone *string `locationName:"availabilityZone" type:"string"` 17767 17768 // The capacity provider associated with the task. 17769 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 17770 17771 // The ARN of the cluster that hosts the task. 17772 ClusterArn *string `locationName:"clusterArn" type:"string"` 17773 17774 // The connectivity status of a task. 17775 Connectivity *string `locationName:"connectivity" type:"string" enum:"Connectivity"` 17776 17777 // The Unix timestamp for when the task last went into CONNECTED status. 17778 ConnectivityAt *time.Time `locationName:"connectivityAt" type:"timestamp"` 17779 17780 // The ARN of the container instances that host the task. 17781 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 17782 17783 // The containers associated with the task. 17784 Containers []*Container `locationName:"containers" type:"list"` 17785 17786 // The number of CPU units used by the task as expressed in a task definition. 17787 // It can be expressed as an integer using CPU units, for example 1024. It can 17788 // also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu. 17789 // String values are converted to an integer indicating the CPU units when the 17790 // task definition is registered. 17791 // 17792 // If you are using the EC2 launch type, this field is optional. Supported values 17793 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 17794 // 17795 // If you are using the Fargate launch type, this field is required and you 17796 // must use one of the following values, which determines your range of supported 17797 // values for the memory parameter: 17798 // 17799 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 17800 // 2048 (2 GB) 17801 // 17802 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 17803 // (3 GB), 4096 (4 GB) 17804 // 17805 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 17806 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 17807 // 17808 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 17809 // (16 GB) in increments of 1024 (1 GB) 17810 // 17811 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 17812 // (30 GB) in increments of 1024 (1 GB) 17813 Cpu *string `locationName:"cpu" type:"string"` 17814 17815 // The Unix timestamp for when the task was created (the task entered the PENDING 17816 // state). 17817 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 17818 17819 // The desired status of the task. For more information, see Task Lifecycle 17820 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 17821 DesiredStatus *string `locationName:"desiredStatus" type:"string"` 17822 17823 // The Unix timestamp for when the task execution stopped. 17824 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 17825 17826 // The name of the task group associated with the task. 17827 Group *string `locationName:"group" type:"string"` 17828 17829 // The health status for the task, which is determined by the health of the 17830 // essential containers in the task. If all essential containers in the task 17831 // are reporting as HEALTHY, then the task status also reports as HEALTHY. If 17832 // any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, 17833 // then the task status also reports as UNHEALTHY or UNKNOWN, accordingly. 17834 // 17835 // The Amazon ECS container agent does not monitor or report on Docker health 17836 // checks that are embedded in a container image (such as those specified in 17837 // a parent image or from the image's Dockerfile) and not specified in the container 17838 // definition. Health check parameters that are specified in a container definition 17839 // override any Docker health checks that exist in the container image. 17840 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 17841 17842 // The Elastic Inference accelerator associated with the task. 17843 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 17844 17845 // The last known status of the task. For more information, see Task Lifecycle 17846 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 17847 LastStatus *string `locationName:"lastStatus" type:"string"` 17848 17849 // The launch type on which your task is running. For more information, see 17850 // Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 17851 // in the Amazon Elastic Container Service Developer Guide. 17852 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 17853 17854 // The amount of memory (in MiB) used by the task as expressed in a task definition. 17855 // It can be expressed as an integer using MiB, for example 1024. It can also 17856 // be expressed as a string using GB, for example 1GB or 1 GB. String values 17857 // are converted to an integer indicating the MiB when the task definition is 17858 // registered. 17859 // 17860 // If you are using the EC2 launch type, this field is optional. 17861 // 17862 // If you are using the Fargate launch type, this field is required and you 17863 // must use one of the following values, which determines your range of supported 17864 // values for the cpu parameter: 17865 // 17866 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 17867 // vCPU) 17868 // 17869 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 17870 // 512 (.5 vCPU) 17871 // 17872 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 17873 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 17874 // 17875 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 17876 // Available cpu values: 2048 (2 vCPU) 17877 // 17878 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 17879 // Available cpu values: 4096 (4 vCPU) 17880 Memory *string `locationName:"memory" type:"string"` 17881 17882 // One or more container overrides. 17883 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 17884 17885 // The platform version on which your task is running. A platform version is 17886 // only specified for tasks using the Fargate launch type. If one is not specified, 17887 // the LATEST platform version is used by default. For more information, see 17888 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 17889 // in the Amazon Elastic Container Service Developer Guide. 17890 PlatformVersion *string `locationName:"platformVersion" type:"string"` 17891 17892 // The Unix timestamp for when the container image pull began. 17893 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 17894 17895 // The Unix timestamp for when the container image pull completed. 17896 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 17897 17898 // The Unix timestamp for when the task started (the task transitioned from 17899 // the PENDING state to the RUNNING state). 17900 StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` 17901 17902 // The tag specified when a task is started. If the task is started by an Amazon 17903 // ECS service, then the startedBy parameter contains the deployment ID of the 17904 // service that starts it. 17905 StartedBy *string `locationName:"startedBy" type:"string"` 17906 17907 // The stop code indicating why a task was stopped. The stoppedReason may contain 17908 // additional details. 17909 StopCode *string `locationName:"stopCode" type:"string" enum:"TaskStopCode"` 17910 17911 // The Unix timestamp for when the task was stopped (the task transitioned from 17912 // the RUNNING state to the STOPPED state). 17913 StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp"` 17914 17915 // The reason that the task was stopped. 17916 StoppedReason *string `locationName:"stoppedReason" type:"string"` 17917 17918 // The Unix timestamp for when the task stops (transitions from the RUNNING 17919 // state to STOPPED). 17920 StoppingAt *time.Time `locationName:"stoppingAt" type:"timestamp"` 17921 17922 // The metadata that you apply to the task to help you categorize and organize 17923 // them. Each tag consists of a key and an optional value, both of which you 17924 // define. 17925 // 17926 // The following basic restrictions apply to tags: 17927 // 17928 // * Maximum number of tags per resource - 50 17929 // 17930 // * For each resource, each tag key must be unique, and each tag key can 17931 // have only one value. 17932 // 17933 // * Maximum key length - 128 Unicode characters in UTF-8 17934 // 17935 // * Maximum value length - 256 Unicode characters in UTF-8 17936 // 17937 // * If your tagging schema is used across multiple services and resources, 17938 // remember that other services may have restrictions on allowed characters. 17939 // Generally allowed characters are: letters, numbers, and spaces representable 17940 // in UTF-8, and the following characters: + - = . _ : / @. 17941 // 17942 // * Tag keys and values are case-sensitive. 17943 // 17944 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17945 // as a prefix for either keys or values as it is reserved for AWS use. You 17946 // cannot edit or delete tag keys or values with this prefix. Tags with this 17947 // prefix do not count against your tags per resource limit. 17948 Tags []*Tag `locationName:"tags" type:"list"` 17949 17950 // The Amazon Resource Name (ARN) of the task. 17951 TaskArn *string `locationName:"taskArn" type:"string"` 17952 17953 // The ARN of the task definition that creates the task. 17954 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 17955 17956 // The version counter for the task. Every time a task experiences a change 17957 // that triggers a CloudWatch event, the version counter is incremented. If 17958 // you are replicating your Amazon ECS task state with CloudWatch Events, you 17959 // can compare the version of a task reported by the Amazon ECS API actions 17960 // with the version reported in CloudWatch Events for the task (inside the detail 17961 // object) to verify that the version in your event stream is current. 17962 Version *int64 `locationName:"version" type:"long"` 17963} 17964 17965// String returns the string representation 17966func (s Task) String() string { 17967 return awsutil.Prettify(s) 17968} 17969 17970// GoString returns the string representation 17971func (s Task) GoString() string { 17972 return s.String() 17973} 17974 17975// SetAttachments sets the Attachments field's value. 17976func (s *Task) SetAttachments(v []*Attachment) *Task { 17977 s.Attachments = v 17978 return s 17979} 17980 17981// SetAttributes sets the Attributes field's value. 17982func (s *Task) SetAttributes(v []*Attribute) *Task { 17983 s.Attributes = v 17984 return s 17985} 17986 17987// SetAvailabilityZone sets the AvailabilityZone field's value. 17988func (s *Task) SetAvailabilityZone(v string) *Task { 17989 s.AvailabilityZone = &v 17990 return s 17991} 17992 17993// SetCapacityProviderName sets the CapacityProviderName field's value. 17994func (s *Task) SetCapacityProviderName(v string) *Task { 17995 s.CapacityProviderName = &v 17996 return s 17997} 17998 17999// SetClusterArn sets the ClusterArn field's value. 18000func (s *Task) SetClusterArn(v string) *Task { 18001 s.ClusterArn = &v 18002 return s 18003} 18004 18005// SetConnectivity sets the Connectivity field's value. 18006func (s *Task) SetConnectivity(v string) *Task { 18007 s.Connectivity = &v 18008 return s 18009} 18010 18011// SetConnectivityAt sets the ConnectivityAt field's value. 18012func (s *Task) SetConnectivityAt(v time.Time) *Task { 18013 s.ConnectivityAt = &v 18014 return s 18015} 18016 18017// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 18018func (s *Task) SetContainerInstanceArn(v string) *Task { 18019 s.ContainerInstanceArn = &v 18020 return s 18021} 18022 18023// SetContainers sets the Containers field's value. 18024func (s *Task) SetContainers(v []*Container) *Task { 18025 s.Containers = v 18026 return s 18027} 18028 18029// SetCpu sets the Cpu field's value. 18030func (s *Task) SetCpu(v string) *Task { 18031 s.Cpu = &v 18032 return s 18033} 18034 18035// SetCreatedAt sets the CreatedAt field's value. 18036func (s *Task) SetCreatedAt(v time.Time) *Task { 18037 s.CreatedAt = &v 18038 return s 18039} 18040 18041// SetDesiredStatus sets the DesiredStatus field's value. 18042func (s *Task) SetDesiredStatus(v string) *Task { 18043 s.DesiredStatus = &v 18044 return s 18045} 18046 18047// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 18048func (s *Task) SetExecutionStoppedAt(v time.Time) *Task { 18049 s.ExecutionStoppedAt = &v 18050 return s 18051} 18052 18053// SetGroup sets the Group field's value. 18054func (s *Task) SetGroup(v string) *Task { 18055 s.Group = &v 18056 return s 18057} 18058 18059// SetHealthStatus sets the HealthStatus field's value. 18060func (s *Task) SetHealthStatus(v string) *Task { 18061 s.HealthStatus = &v 18062 return s 18063} 18064 18065// SetInferenceAccelerators sets the InferenceAccelerators field's value. 18066func (s *Task) SetInferenceAccelerators(v []*InferenceAccelerator) *Task { 18067 s.InferenceAccelerators = v 18068 return s 18069} 18070 18071// SetLastStatus sets the LastStatus field's value. 18072func (s *Task) SetLastStatus(v string) *Task { 18073 s.LastStatus = &v 18074 return s 18075} 18076 18077// SetLaunchType sets the LaunchType field's value. 18078func (s *Task) SetLaunchType(v string) *Task { 18079 s.LaunchType = &v 18080 return s 18081} 18082 18083// SetMemory sets the Memory field's value. 18084func (s *Task) SetMemory(v string) *Task { 18085 s.Memory = &v 18086 return s 18087} 18088 18089// SetOverrides sets the Overrides field's value. 18090func (s *Task) SetOverrides(v *TaskOverride) *Task { 18091 s.Overrides = v 18092 return s 18093} 18094 18095// SetPlatformVersion sets the PlatformVersion field's value. 18096func (s *Task) SetPlatformVersion(v string) *Task { 18097 s.PlatformVersion = &v 18098 return s 18099} 18100 18101// SetPullStartedAt sets the PullStartedAt field's value. 18102func (s *Task) SetPullStartedAt(v time.Time) *Task { 18103 s.PullStartedAt = &v 18104 return s 18105} 18106 18107// SetPullStoppedAt sets the PullStoppedAt field's value. 18108func (s *Task) SetPullStoppedAt(v time.Time) *Task { 18109 s.PullStoppedAt = &v 18110 return s 18111} 18112 18113// SetStartedAt sets the StartedAt field's value. 18114func (s *Task) SetStartedAt(v time.Time) *Task { 18115 s.StartedAt = &v 18116 return s 18117} 18118 18119// SetStartedBy sets the StartedBy field's value. 18120func (s *Task) SetStartedBy(v string) *Task { 18121 s.StartedBy = &v 18122 return s 18123} 18124 18125// SetStopCode sets the StopCode field's value. 18126func (s *Task) SetStopCode(v string) *Task { 18127 s.StopCode = &v 18128 return s 18129} 18130 18131// SetStoppedAt sets the StoppedAt field's value. 18132func (s *Task) SetStoppedAt(v time.Time) *Task { 18133 s.StoppedAt = &v 18134 return s 18135} 18136 18137// SetStoppedReason sets the StoppedReason field's value. 18138func (s *Task) SetStoppedReason(v string) *Task { 18139 s.StoppedReason = &v 18140 return s 18141} 18142 18143// SetStoppingAt sets the StoppingAt field's value. 18144func (s *Task) SetStoppingAt(v time.Time) *Task { 18145 s.StoppingAt = &v 18146 return s 18147} 18148 18149// SetTags sets the Tags field's value. 18150func (s *Task) SetTags(v []*Tag) *Task { 18151 s.Tags = v 18152 return s 18153} 18154 18155// SetTaskArn sets the TaskArn field's value. 18156func (s *Task) SetTaskArn(v string) *Task { 18157 s.TaskArn = &v 18158 return s 18159} 18160 18161// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 18162func (s *Task) SetTaskDefinitionArn(v string) *Task { 18163 s.TaskDefinitionArn = &v 18164 return s 18165} 18166 18167// SetVersion sets the Version field's value. 18168func (s *Task) SetVersion(v int64) *Task { 18169 s.Version = &v 18170 return s 18171} 18172 18173// The details of a task definition which describes the container and volume 18174// definitions of an Amazon Elastic Container Service task. You can specify 18175// which Docker images to use, the required resources, and other configurations 18176// related to launching the task definition through an Amazon ECS service or 18177// task. 18178type TaskDefinition struct { 18179 _ struct{} `type:"structure"` 18180 18181 // The launch type to use with your task. For more information, see Amazon ECS 18182 // Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 18183 // in the Amazon Elastic Container Service Developer Guide. 18184 Compatibilities []*string `locationName:"compatibilities" type:"list"` 18185 18186 // A list of container definitions in JSON format that describe the different 18187 // containers that make up your task. For more information about container definition 18188 // parameters and defaults, see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 18189 // in the Amazon Elastic Container Service Developer Guide. 18190 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` 18191 18192 // The number of cpu units used by the task. If you are using the EC2 launch 18193 // type, this field is optional and any value can be used. If you are using 18194 // the Fargate launch type, this field is required and you must use one of the 18195 // following values, which determines your range of valid values for the memory 18196 // parameter: 18197 // 18198 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 18199 // 2048 (2 GB) 18200 // 18201 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 18202 // (3 GB), 4096 (4 GB) 18203 // 18204 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 18205 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 18206 // 18207 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 18208 // (16 GB) in increments of 1024 (1 GB) 18209 // 18210 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 18211 // (30 GB) in increments of 1024 (1 GB) 18212 Cpu *string `locationName:"cpu" type:"string"` 18213 18214 // The Amazon Resource Name (ARN) of the task execution role that grants the 18215 // Amazon ECS container agent permission to make AWS API calls on your behalf. 18216 // The task execution IAM role is required depending on the requirements of 18217 // 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) 18218 // in the Amazon Elastic Container Service Developer Guide. 18219 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 18220 18221 // The name of a family that this task definition is registered to. Up to 255 18222 // letters (uppercase and lowercase), numbers, hyphens, and underscores are 18223 // allowed. 18224 // 18225 // A family groups multiple versions of a task definition. Amazon ECS gives 18226 // the first task definition that you registered to a family a revision number 18227 // of 1. Amazon ECS gives sequential revision numbers to each task definition 18228 // that you add. 18229 Family *string `locationName:"family" type:"string"` 18230 18231 // The Elastic Inference accelerator associated with the task. 18232 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 18233 18234 // The IPC resource namespace to use for the containers in the task. The valid 18235 // values are host, task, or none. If host is specified, then all containers 18236 // within the tasks that specified the host IPC mode on the same container instance 18237 // share the same IPC resources with the host Amazon EC2 instance. If task is 18238 // specified, all containers within the specified task share the same IPC resources. 18239 // If none is specified, then IPC resources within the containers of a task 18240 // are private and not shared with other containers in a task or on the container 18241 // instance. If no value is specified, then the IPC resource namespace sharing 18242 // depends on the Docker daemon setting on the container instance. For more 18243 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 18244 // in the Docker run reference. 18245 // 18246 // If the host IPC mode is used, be aware that there is a heightened risk of 18247 // undesired IPC namespace expose. For more information, see Docker security 18248 // (https://docs.docker.com/engine/security/security/). 18249 // 18250 // If you are setting namespaced kernel parameters using systemControls for 18251 // the containers in the task, the following will apply to your IPC resource 18252 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 18253 // in the Amazon Elastic Container Service Developer Guide. 18254 // 18255 // * For tasks that use the host IPC mode, IPC namespace related systemControls 18256 // are not supported. 18257 // 18258 // * For tasks that use the task IPC mode, IPC namespace related systemControls 18259 // will apply to all containers within a task. 18260 // 18261 // This parameter is not supported for Windows containers or tasks using the 18262 // Fargate launch type. 18263 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 18264 18265 // The amount (in MiB) of memory used by the task. 18266 // 18267 // If using the EC2 launch type, this field is optional and any value can be 18268 // used. If a task-level memory value is specified then the container-level 18269 // memory value is optional. 18270 // 18271 // If using the Fargate launch type, this field is required and you must use 18272 // one of the following values, which determines your range of valid values 18273 // for the cpu parameter: 18274 // 18275 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 18276 // vCPU) 18277 // 18278 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 18279 // 512 (.5 vCPU) 18280 // 18281 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 18282 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 18283 // 18284 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 18285 // Available cpu values: 2048 (2 vCPU) 18286 // 18287 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 18288 // Available cpu values: 4096 (4 vCPU) 18289 Memory *string `locationName:"memory" type:"string"` 18290 18291 // The Docker networking mode to use for the containers in the task. The valid 18292 // values are none, bridge, awsvpc, and host. The default Docker network mode 18293 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 18294 // is required. If you are using the EC2 launch type, any network mode can be 18295 // used. If the network mode is set to none, you cannot specify port mappings 18296 // in your container definitions, and the tasks containers do not have external 18297 // connectivity. The host and awsvpc network modes offer the highest networking 18298 // performance for containers because they use the EC2 network stack instead 18299 // of the virtualized network stack provided by the bridge mode. 18300 // 18301 // With the host and awsvpc network modes, exposed container ports are mapped 18302 // directly to the corresponding host port (for the host network mode) or the 18303 // attached elastic network interface port (for the awsvpc network mode), so 18304 // you cannot take advantage of dynamic host port mappings. 18305 // 18306 // If the network mode is awsvpc, the task is allocated an elastic network interface, 18307 // and you must specify a NetworkConfiguration value when you create a service 18308 // or run a task with the task definition. For more information, see Task Networking 18309 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 18310 // in the Amazon Elastic Container Service Developer Guide. 18311 // 18312 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 18313 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 18314 // mode. 18315 // 18316 // If the network mode is host, you cannot run multiple instantiations of the 18317 // same task on a single container instance when port mappings are used. 18318 // 18319 // Docker for Windows uses different network modes than Docker for Linux. When 18320 // you register a task definition with Windows containers, you must not specify 18321 // a network mode. If you use the console to register a task definition with 18322 // Windows containers, you must choose the <default> network mode object. 18323 // 18324 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 18325 // in the Docker run reference. 18326 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 18327 18328 // The process namespace to use for the containers in the task. The valid values 18329 // are host or task. If host is specified, then all containers within the tasks 18330 // that specified the host PID mode on the same container instance share the 18331 // same process namespace with the host Amazon EC2 instance. If task is specified, 18332 // all containers within the specified task share the same process namespace. 18333 // If no value is specified, the default is a private namespace. For more information, 18334 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 18335 // in the Docker run reference. 18336 // 18337 // If the host PID mode is used, be aware that there is a heightened risk of 18338 // undesired process namespace expose. For more information, see Docker security 18339 // (https://docs.docker.com/engine/security/security/). 18340 // 18341 // This parameter is not supported for Windows containers or tasks using the 18342 // Fargate launch type. 18343 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 18344 18345 // An array of placement constraint objects to use for tasks. This field is 18346 // not valid if you are using the Fargate launch type for your task. 18347 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 18348 18349 // The configuration details for the App Mesh proxy. 18350 // 18351 // Your Amazon ECS container instances require at least version 1.26.0 of the 18352 // container agent and at least version 1.26.0-1 of the ecs-init package to 18353 // enable a proxy configuration. If your container instances are launched from 18354 // the Amazon ECS-optimized AMI version 20190301 or later, then they contain 18355 // the required versions of the container agent and ecs-init. For more information, 18356 // see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 18357 // in the Amazon Elastic Container Service Developer Guide. 18358 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 18359 18360 // The container instance attributes required by your task. This field is not 18361 // valid if you are using the Fargate launch type for your task. 18362 RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` 18363 18364 // The launch type the task requires. If no value is specified, it will default 18365 // to EC2. Valid values include EC2 and FARGATE. 18366 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 18367 18368 // The revision of the task in a particular family. The revision is a version 18369 // number of a task definition in a family. When you register a task definition 18370 // for the first time, the revision is 1. Each time that you register a new 18371 // revision of a task definition in the same family, the revision value always 18372 // increases by one, even if you have deregistered previous revisions in this 18373 // family. 18374 Revision *int64 `locationName:"revision" type:"integer"` 18375 18376 // The status of the task definition. 18377 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 18378 18379 // The full Amazon Resource Name (ARN) of the task definition. 18380 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 18381 18382 // The short name or full Amazon Resource Name (ARN) of the AWS Identity and 18383 // Access Management (IAM) role that grants containers in the task permission 18384 // to call AWS APIs on your behalf. For more information, see Amazon ECS Task 18385 // Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 18386 // in the Amazon Elastic Container Service Developer Guide. 18387 // 18388 // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option 18389 // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers 18390 // must also run some configuration code in order to take advantage of the feature. 18391 // For more information, see Windows IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) 18392 // in the Amazon Elastic Container Service Developer Guide. 18393 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 18394 18395 // The list of volume definitions for the task. 18396 // 18397 // If your tasks are using the Fargate launch type, the host and sourcePath 18398 // parameters are not supported. 18399 // 18400 // For more information about volume definition parameters and defaults, see 18401 // Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) 18402 // in the Amazon Elastic Container Service Developer Guide. 18403 Volumes []*Volume `locationName:"volumes" type:"list"` 18404} 18405 18406// String returns the string representation 18407func (s TaskDefinition) String() string { 18408 return awsutil.Prettify(s) 18409} 18410 18411// GoString returns the string representation 18412func (s TaskDefinition) GoString() string { 18413 return s.String() 18414} 18415 18416// SetCompatibilities sets the Compatibilities field's value. 18417func (s *TaskDefinition) SetCompatibilities(v []*string) *TaskDefinition { 18418 s.Compatibilities = v 18419 return s 18420} 18421 18422// SetContainerDefinitions sets the ContainerDefinitions field's value. 18423func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition { 18424 s.ContainerDefinitions = v 18425 return s 18426} 18427 18428// SetCpu sets the Cpu field's value. 18429func (s *TaskDefinition) SetCpu(v string) *TaskDefinition { 18430 s.Cpu = &v 18431 return s 18432} 18433 18434// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 18435func (s *TaskDefinition) SetExecutionRoleArn(v string) *TaskDefinition { 18436 s.ExecutionRoleArn = &v 18437 return s 18438} 18439 18440// SetFamily sets the Family field's value. 18441func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { 18442 s.Family = &v 18443 return s 18444} 18445 18446// SetInferenceAccelerators sets the InferenceAccelerators field's value. 18447func (s *TaskDefinition) SetInferenceAccelerators(v []*InferenceAccelerator) *TaskDefinition { 18448 s.InferenceAccelerators = v 18449 return s 18450} 18451 18452// SetIpcMode sets the IpcMode field's value. 18453func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition { 18454 s.IpcMode = &v 18455 return s 18456} 18457 18458// SetMemory sets the Memory field's value. 18459func (s *TaskDefinition) SetMemory(v string) *TaskDefinition { 18460 s.Memory = &v 18461 return s 18462} 18463 18464// SetNetworkMode sets the NetworkMode field's value. 18465func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition { 18466 s.NetworkMode = &v 18467 return s 18468} 18469 18470// SetPidMode sets the PidMode field's value. 18471func (s *TaskDefinition) SetPidMode(v string) *TaskDefinition { 18472 s.PidMode = &v 18473 return s 18474} 18475 18476// SetPlacementConstraints sets the PlacementConstraints field's value. 18477func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition { 18478 s.PlacementConstraints = v 18479 return s 18480} 18481 18482// SetProxyConfiguration sets the ProxyConfiguration field's value. 18483func (s *TaskDefinition) SetProxyConfiguration(v *ProxyConfiguration) *TaskDefinition { 18484 s.ProxyConfiguration = v 18485 return s 18486} 18487 18488// SetRequiresAttributes sets the RequiresAttributes field's value. 18489func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition { 18490 s.RequiresAttributes = v 18491 return s 18492} 18493 18494// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 18495func (s *TaskDefinition) SetRequiresCompatibilities(v []*string) *TaskDefinition { 18496 s.RequiresCompatibilities = v 18497 return s 18498} 18499 18500// SetRevision sets the Revision field's value. 18501func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition { 18502 s.Revision = &v 18503 return s 18504} 18505 18506// SetStatus sets the Status field's value. 18507func (s *TaskDefinition) SetStatus(v string) *TaskDefinition { 18508 s.Status = &v 18509 return s 18510} 18511 18512// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 18513func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition { 18514 s.TaskDefinitionArn = &v 18515 return s 18516} 18517 18518// SetTaskRoleArn sets the TaskRoleArn field's value. 18519func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition { 18520 s.TaskRoleArn = &v 18521 return s 18522} 18523 18524// SetVolumes sets the Volumes field's value. 18525func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { 18526 s.Volumes = v 18527 return s 18528} 18529 18530// An object representing a constraint on task placement in the task definition. 18531// For more information, see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 18532// in the Amazon Elastic Container Service Developer Guide. 18533// 18534// If you are using the Fargate launch type, task placement constraints are 18535// not supported. 18536type TaskDefinitionPlacementConstraint struct { 18537 _ struct{} `type:"structure"` 18538 18539 // A cluster query language expression to apply to the constraint. For more 18540 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 18541 // in the Amazon Elastic Container Service Developer Guide. 18542 Expression *string `locationName:"expression" type:"string"` 18543 18544 // The type of constraint. The MemberOf constraint restricts selection to be 18545 // from a group of valid candidates. 18546 Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"` 18547} 18548 18549// String returns the string representation 18550func (s TaskDefinitionPlacementConstraint) String() string { 18551 return awsutil.Prettify(s) 18552} 18553 18554// GoString returns the string representation 18555func (s TaskDefinitionPlacementConstraint) GoString() string { 18556 return s.String() 18557} 18558 18559// SetExpression sets the Expression field's value. 18560func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint { 18561 s.Expression = &v 18562 return s 18563} 18564 18565// SetType sets the Type field's value. 18566func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint { 18567 s.Type = &v 18568 return s 18569} 18570 18571// The overrides associated with a task. 18572type TaskOverride struct { 18573 _ struct{} `type:"structure"` 18574 18575 // One or more container overrides sent to a task. 18576 ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` 18577 18578 // The cpu override for the task. 18579 Cpu *string `locationName:"cpu" type:"string"` 18580 18581 // The Amazon Resource Name (ARN) of the task execution IAM role override for 18582 // the task. 18583 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 18584 18585 // The Elastic Inference accelerator override for the task. 18586 InferenceAcceleratorOverrides []*InferenceAcceleratorOverride `locationName:"inferenceAcceleratorOverrides" type:"list"` 18587 18588 // The memory override for the task. 18589 Memory *string `locationName:"memory" type:"string"` 18590 18591 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 18592 // can assume. All containers in this task are granted the permissions that 18593 // are specified in this role. 18594 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 18595} 18596 18597// String returns the string representation 18598func (s TaskOverride) String() string { 18599 return awsutil.Prettify(s) 18600} 18601 18602// GoString returns the string representation 18603func (s TaskOverride) GoString() string { 18604 return s.String() 18605} 18606 18607// Validate inspects the fields of the type to determine if they are valid. 18608func (s *TaskOverride) Validate() error { 18609 invalidParams := request.ErrInvalidParams{Context: "TaskOverride"} 18610 if s.ContainerOverrides != nil { 18611 for i, v := range s.ContainerOverrides { 18612 if v == nil { 18613 continue 18614 } 18615 if err := v.Validate(); err != nil { 18616 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerOverrides", i), err.(request.ErrInvalidParams)) 18617 } 18618 } 18619 } 18620 18621 if invalidParams.Len() > 0 { 18622 return invalidParams 18623 } 18624 return nil 18625} 18626 18627// SetContainerOverrides sets the ContainerOverrides field's value. 18628func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { 18629 s.ContainerOverrides = v 18630 return s 18631} 18632 18633// SetCpu sets the Cpu field's value. 18634func (s *TaskOverride) SetCpu(v string) *TaskOverride { 18635 s.Cpu = &v 18636 return s 18637} 18638 18639// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 18640func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride { 18641 s.ExecutionRoleArn = &v 18642 return s 18643} 18644 18645// SetInferenceAcceleratorOverrides sets the InferenceAcceleratorOverrides field's value. 18646func (s *TaskOverride) SetInferenceAcceleratorOverrides(v []*InferenceAcceleratorOverride) *TaskOverride { 18647 s.InferenceAcceleratorOverrides = v 18648 return s 18649} 18650 18651// SetMemory sets the Memory field's value. 18652func (s *TaskOverride) SetMemory(v string) *TaskOverride { 18653 s.Memory = &v 18654 return s 18655} 18656 18657// SetTaskRoleArn sets the TaskRoleArn field's value. 18658func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { 18659 s.TaskRoleArn = &v 18660 return s 18661} 18662 18663// Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 18664// an EXTERNAL deployment. An Amazon ECS task set includes details such as the 18665// desired number of tasks, how many tasks are running, and whether the task 18666// set serves production traffic. 18667type TaskSet struct { 18668 _ struct{} `type:"structure"` 18669 18670 // The capacity provider strategy associated with the task set. 18671 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 18672 18673 // The Amazon Resource Name (ARN) of the cluster that the service that hosts 18674 // the task set exists in. 18675 ClusterArn *string `locationName:"clusterArn" type:"string"` 18676 18677 // The computed desired count for the task set. This is calculated by multiplying 18678 // the service's desiredCount by the task set's scale percentage. The result 18679 // is always rounded up. For example, if the computed desired count is 1.2, 18680 // it rounds up to 2 tasks. 18681 ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"` 18682 18683 // The Unix timestamp for when the task set was created. 18684 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 18685 18686 // The external ID associated with the task set. 18687 // 18688 // If a task set is created by an AWS CodeDeploy deployment, the externalId 18689 // parameter contains the AWS CodeDeploy deployment ID. 18690 // 18691 // If a task set is created for an external deployment and is associated with 18692 // a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID 18693 // AWS Cloud Map attribute. 18694 ExternalId *string `locationName:"externalId" type:"string"` 18695 18696 // The ID of the task set. 18697 Id *string `locationName:"id" type:"string"` 18698 18699 // The launch type the tasks in the task set are using. For more information, 18700 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 18701 // in the Amazon Elastic Container Service Developer Guide. 18702 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 18703 18704 // Details on a load balancer that is used with a task set. 18705 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 18706 18707 // The network configuration for the task set. 18708 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 18709 18710 // The number of tasks in the task set that are in the PENDING status during 18711 // a deployment. A task in the PENDING state is preparing to enter the RUNNING 18712 // state. A task set enters the PENDING status when it launches for the first 18713 // time or when it is restarted after being in the STOPPED state. 18714 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 18715 18716 // The platform version on which the tasks in the task set are running. A platform 18717 // version is only specified for tasks using the Fargate launch type. If one 18718 // is not specified, the LATEST platform version is used by default. For more 18719 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 18720 // in the Amazon Elastic Container Service Developer Guide. 18721 PlatformVersion *string `locationName:"platformVersion" type:"string"` 18722 18723 // The number of tasks in the task set that are in the RUNNING status during 18724 // a deployment. A task in the RUNNING state is running and ready for use. 18725 RunningCount *int64 `locationName:"runningCount" type:"integer"` 18726 18727 // A floating-point percentage of the desired number of tasks to place and keep 18728 // running in the task set. 18729 Scale *Scale `locationName:"scale" type:"structure"` 18730 18731 // The Amazon Resource Name (ARN) of the service the task set exists in. 18732 ServiceArn *string `locationName:"serviceArn" type:"string"` 18733 18734 // The details of the service discovery registries to assign to this task set. 18735 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 18736 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 18737 18738 // The stability status, which indicates whether the task set has reached a 18739 // steady state. If the following conditions are met, the task set will be in 18740 // STEADY_STATE: 18741 // 18742 // * The task runningCount is equal to the computedDesiredCount. 18743 // 18744 // * The pendingCount is 0. 18745 // 18746 // * There are no tasks running on container instances in the DRAINING status. 18747 // 18748 // * All tasks are reporting a healthy status from the load balancers, service 18749 // discovery, and container health checks. 18750 // 18751 // If any of those conditions are not met, the stability status returns STABILIZING. 18752 StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"` 18753 18754 // The Unix timestamp for when the task set stability status was retrieved. 18755 StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"` 18756 18757 // The tag specified when a task set is started. If the task set is created 18758 // by an AWS CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. 18759 // For a task set created for an external deployment, the startedBy field isn't 18760 // used. 18761 StartedBy *string `locationName:"startedBy" type:"string"` 18762 18763 // The status of the task set. The following describes each state: 18764 // 18765 // PRIMARY 18766 // 18767 // The task set is serving production traffic. 18768 // 18769 // ACTIVE 18770 // 18771 // The task set is not serving production traffic. 18772 // 18773 // DRAINING 18774 // 18775 // The tasks in the task set are being stopped and their corresponding targets 18776 // are being deregistered from their target group. 18777 Status *string `locationName:"status" type:"string"` 18778 18779 // The metadata that you apply to the task set to help you categorize and organize 18780 // them. Each tag consists of a key and an optional value, both of which you 18781 // define. 18782 // 18783 // The following basic restrictions apply to tags: 18784 // 18785 // * Maximum number of tags per resource - 50 18786 // 18787 // * For each resource, each tag key must be unique, and each tag key can 18788 // have only one value. 18789 // 18790 // * Maximum key length - 128 Unicode characters in UTF-8 18791 // 18792 // * Maximum value length - 256 Unicode characters in UTF-8 18793 // 18794 // * If your tagging schema is used across multiple services and resources, 18795 // remember that other services may have restrictions on allowed characters. 18796 // Generally allowed characters are: letters, numbers, and spaces representable 18797 // in UTF-8, and the following characters: + - = . _ : / @. 18798 // 18799 // * Tag keys and values are case-sensitive. 18800 // 18801 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 18802 // as a prefix for either keys or values as it is reserved for AWS use. You 18803 // cannot edit or delete tag keys or values with this prefix. Tags with this 18804 // prefix do not count against your tags per resource limit. 18805 Tags []*Tag `locationName:"tags" type:"list"` 18806 18807 // The task definition the task set is using. 18808 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 18809 18810 // The Amazon Resource Name (ARN) of the task set. 18811 TaskSetArn *string `locationName:"taskSetArn" type:"string"` 18812 18813 // The Unix timestamp for when the task set was last updated. 18814 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 18815} 18816 18817// String returns the string representation 18818func (s TaskSet) String() string { 18819 return awsutil.Prettify(s) 18820} 18821 18822// GoString returns the string representation 18823func (s TaskSet) GoString() string { 18824 return s.String() 18825} 18826 18827// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 18828func (s *TaskSet) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *TaskSet { 18829 s.CapacityProviderStrategy = v 18830 return s 18831} 18832 18833// SetClusterArn sets the ClusterArn field's value. 18834func (s *TaskSet) SetClusterArn(v string) *TaskSet { 18835 s.ClusterArn = &v 18836 return s 18837} 18838 18839// SetComputedDesiredCount sets the ComputedDesiredCount field's value. 18840func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet { 18841 s.ComputedDesiredCount = &v 18842 return s 18843} 18844 18845// SetCreatedAt sets the CreatedAt field's value. 18846func (s *TaskSet) SetCreatedAt(v time.Time) *TaskSet { 18847 s.CreatedAt = &v 18848 return s 18849} 18850 18851// SetExternalId sets the ExternalId field's value. 18852func (s *TaskSet) SetExternalId(v string) *TaskSet { 18853 s.ExternalId = &v 18854 return s 18855} 18856 18857// SetId sets the Id field's value. 18858func (s *TaskSet) SetId(v string) *TaskSet { 18859 s.Id = &v 18860 return s 18861} 18862 18863// SetLaunchType sets the LaunchType field's value. 18864func (s *TaskSet) SetLaunchType(v string) *TaskSet { 18865 s.LaunchType = &v 18866 return s 18867} 18868 18869// SetLoadBalancers sets the LoadBalancers field's value. 18870func (s *TaskSet) SetLoadBalancers(v []*LoadBalancer) *TaskSet { 18871 s.LoadBalancers = v 18872 return s 18873} 18874 18875// SetNetworkConfiguration sets the NetworkConfiguration field's value. 18876func (s *TaskSet) SetNetworkConfiguration(v *NetworkConfiguration) *TaskSet { 18877 s.NetworkConfiguration = v 18878 return s 18879} 18880 18881// SetPendingCount sets the PendingCount field's value. 18882func (s *TaskSet) SetPendingCount(v int64) *TaskSet { 18883 s.PendingCount = &v 18884 return s 18885} 18886 18887// SetPlatformVersion sets the PlatformVersion field's value. 18888func (s *TaskSet) SetPlatformVersion(v string) *TaskSet { 18889 s.PlatformVersion = &v 18890 return s 18891} 18892 18893// SetRunningCount sets the RunningCount field's value. 18894func (s *TaskSet) SetRunningCount(v int64) *TaskSet { 18895 s.RunningCount = &v 18896 return s 18897} 18898 18899// SetScale sets the Scale field's value. 18900func (s *TaskSet) SetScale(v *Scale) *TaskSet { 18901 s.Scale = v 18902 return s 18903} 18904 18905// SetServiceArn sets the ServiceArn field's value. 18906func (s *TaskSet) SetServiceArn(v string) *TaskSet { 18907 s.ServiceArn = &v 18908 return s 18909} 18910 18911// SetServiceRegistries sets the ServiceRegistries field's value. 18912func (s *TaskSet) SetServiceRegistries(v []*ServiceRegistry) *TaskSet { 18913 s.ServiceRegistries = v 18914 return s 18915} 18916 18917// SetStabilityStatus sets the StabilityStatus field's value. 18918func (s *TaskSet) SetStabilityStatus(v string) *TaskSet { 18919 s.StabilityStatus = &v 18920 return s 18921} 18922 18923// SetStabilityStatusAt sets the StabilityStatusAt field's value. 18924func (s *TaskSet) SetStabilityStatusAt(v time.Time) *TaskSet { 18925 s.StabilityStatusAt = &v 18926 return s 18927} 18928 18929// SetStartedBy sets the StartedBy field's value. 18930func (s *TaskSet) SetStartedBy(v string) *TaskSet { 18931 s.StartedBy = &v 18932 return s 18933} 18934 18935// SetStatus sets the Status field's value. 18936func (s *TaskSet) SetStatus(v string) *TaskSet { 18937 s.Status = &v 18938 return s 18939} 18940 18941// SetTags sets the Tags field's value. 18942func (s *TaskSet) SetTags(v []*Tag) *TaskSet { 18943 s.Tags = v 18944 return s 18945} 18946 18947// SetTaskDefinition sets the TaskDefinition field's value. 18948func (s *TaskSet) SetTaskDefinition(v string) *TaskSet { 18949 s.TaskDefinition = &v 18950 return s 18951} 18952 18953// SetTaskSetArn sets the TaskSetArn field's value. 18954func (s *TaskSet) SetTaskSetArn(v string) *TaskSet { 18955 s.TaskSetArn = &v 18956 return s 18957} 18958 18959// SetUpdatedAt sets the UpdatedAt field's value. 18960func (s *TaskSet) SetUpdatedAt(v time.Time) *TaskSet { 18961 s.UpdatedAt = &v 18962 return s 18963} 18964 18965// The specified task set could not be found. You can view your available task 18966// sets with DescribeTaskSets. Task sets are specific to each cluster, service 18967// and Region. 18968type TaskSetNotFoundException struct { 18969 _ struct{} `type:"structure"` 18970 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 18971 18972 Message_ *string `locationName:"message" type:"string"` 18973} 18974 18975// String returns the string representation 18976func (s TaskSetNotFoundException) String() string { 18977 return awsutil.Prettify(s) 18978} 18979 18980// GoString returns the string representation 18981func (s TaskSetNotFoundException) GoString() string { 18982 return s.String() 18983} 18984 18985func newErrorTaskSetNotFoundException(v protocol.ResponseMetadata) error { 18986 return &TaskSetNotFoundException{ 18987 RespMetadata: v, 18988 } 18989} 18990 18991// Code returns the exception type name. 18992func (s *TaskSetNotFoundException) Code() string { 18993 return "TaskSetNotFoundException" 18994} 18995 18996// Message returns the exception's message. 18997func (s *TaskSetNotFoundException) Message() string { 18998 if s.Message_ != nil { 18999 return *s.Message_ 19000 } 19001 return "" 19002} 19003 19004// OrigErr always returns nil, satisfies awserr.Error interface. 19005func (s *TaskSetNotFoundException) OrigErr() error { 19006 return nil 19007} 19008 19009func (s *TaskSetNotFoundException) Error() string { 19010 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19011} 19012 19013// Status code returns the HTTP status code for the request's response error. 19014func (s *TaskSetNotFoundException) StatusCode() int { 19015 return s.RespMetadata.StatusCode 19016} 19017 19018// RequestID returns the service's response RequestID for request. 19019func (s *TaskSetNotFoundException) RequestID() string { 19020 return s.RespMetadata.RequestID 19021} 19022 19023// The container path, mount options, and size of the tmpfs mount. 19024type Tmpfs struct { 19025 _ struct{} `type:"structure"` 19026 19027 // The absolute file path where the tmpfs volume is to be mounted. 19028 // 19029 // ContainerPath is a required field 19030 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 19031 19032 // The list of tmpfs volume mount options. 19033 // 19034 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 19035 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 19036 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 19037 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 19038 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 19039 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 19040 MountOptions []*string `locationName:"mountOptions" type:"list"` 19041 19042 // The size (in MiB) of the tmpfs volume. 19043 // 19044 // Size is a required field 19045 Size *int64 `locationName:"size" type:"integer" required:"true"` 19046} 19047 19048// String returns the string representation 19049func (s Tmpfs) String() string { 19050 return awsutil.Prettify(s) 19051} 19052 19053// GoString returns the string representation 19054func (s Tmpfs) GoString() string { 19055 return s.String() 19056} 19057 19058// Validate inspects the fields of the type to determine if they are valid. 19059func (s *Tmpfs) Validate() error { 19060 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 19061 if s.ContainerPath == nil { 19062 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 19063 } 19064 if s.Size == nil { 19065 invalidParams.Add(request.NewErrParamRequired("Size")) 19066 } 19067 19068 if invalidParams.Len() > 0 { 19069 return invalidParams 19070 } 19071 return nil 19072} 19073 19074// SetContainerPath sets the ContainerPath field's value. 19075func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 19076 s.ContainerPath = &v 19077 return s 19078} 19079 19080// SetMountOptions sets the MountOptions field's value. 19081func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 19082 s.MountOptions = v 19083 return s 19084} 19085 19086// SetSize sets the Size field's value. 19087func (s *Tmpfs) SetSize(v int64) *Tmpfs { 19088 s.Size = &v 19089 return s 19090} 19091 19092// The ulimit settings to pass to the container. 19093type Ulimit struct { 19094 _ struct{} `type:"structure"` 19095 19096 // The hard limit for the ulimit type. 19097 // 19098 // HardLimit is a required field 19099 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 19100 19101 // The type of the ulimit. 19102 // 19103 // Name is a required field 19104 Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` 19105 19106 // The soft limit for the ulimit type. 19107 // 19108 // SoftLimit is a required field 19109 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 19110} 19111 19112// String returns the string representation 19113func (s Ulimit) String() string { 19114 return awsutil.Prettify(s) 19115} 19116 19117// GoString returns the string representation 19118func (s Ulimit) GoString() string { 19119 return s.String() 19120} 19121 19122// Validate inspects the fields of the type to determine if they are valid. 19123func (s *Ulimit) Validate() error { 19124 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 19125 if s.HardLimit == nil { 19126 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 19127 } 19128 if s.Name == nil { 19129 invalidParams.Add(request.NewErrParamRequired("Name")) 19130 } 19131 if s.SoftLimit == nil { 19132 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 19133 } 19134 19135 if invalidParams.Len() > 0 { 19136 return invalidParams 19137 } 19138 return nil 19139} 19140 19141// SetHardLimit sets the HardLimit field's value. 19142func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 19143 s.HardLimit = &v 19144 return s 19145} 19146 19147// SetName sets the Name field's value. 19148func (s *Ulimit) SetName(v string) *Ulimit { 19149 s.Name = &v 19150 return s 19151} 19152 19153// SetSoftLimit sets the SoftLimit field's value. 19154func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 19155 s.SoftLimit = &v 19156 return s 19157} 19158 19159// The specified task is not supported in this Region. 19160type UnsupportedFeatureException struct { 19161 _ struct{} `type:"structure"` 19162 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19163 19164 Message_ *string `locationName:"message" type:"string"` 19165} 19166 19167// String returns the string representation 19168func (s UnsupportedFeatureException) String() string { 19169 return awsutil.Prettify(s) 19170} 19171 19172// GoString returns the string representation 19173func (s UnsupportedFeatureException) GoString() string { 19174 return s.String() 19175} 19176 19177func newErrorUnsupportedFeatureException(v protocol.ResponseMetadata) error { 19178 return &UnsupportedFeatureException{ 19179 RespMetadata: v, 19180 } 19181} 19182 19183// Code returns the exception type name. 19184func (s *UnsupportedFeatureException) Code() string { 19185 return "UnsupportedFeatureException" 19186} 19187 19188// Message returns the exception's message. 19189func (s *UnsupportedFeatureException) Message() string { 19190 if s.Message_ != nil { 19191 return *s.Message_ 19192 } 19193 return "" 19194} 19195 19196// OrigErr always returns nil, satisfies awserr.Error interface. 19197func (s *UnsupportedFeatureException) OrigErr() error { 19198 return nil 19199} 19200 19201func (s *UnsupportedFeatureException) Error() string { 19202 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19203} 19204 19205// Status code returns the HTTP status code for the request's response error. 19206func (s *UnsupportedFeatureException) StatusCode() int { 19207 return s.RespMetadata.StatusCode 19208} 19209 19210// RequestID returns the service's response RequestID for request. 19211func (s *UnsupportedFeatureException) RequestID() string { 19212 return s.RespMetadata.RequestID 19213} 19214 19215type UntagResourceInput struct { 19216 _ struct{} `type:"structure"` 19217 19218 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 19219 // Currently, the supported resources are Amazon ECS capacity providers, tasks, 19220 // services, task definitions, clusters, and container instances. 19221 // 19222 // ResourceArn is a required field 19223 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 19224 19225 // The keys of the tags to be removed. 19226 // 19227 // TagKeys is a required field 19228 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 19229} 19230 19231// String returns the string representation 19232func (s UntagResourceInput) String() string { 19233 return awsutil.Prettify(s) 19234} 19235 19236// GoString returns the string representation 19237func (s UntagResourceInput) GoString() string { 19238 return s.String() 19239} 19240 19241// Validate inspects the fields of the type to determine if they are valid. 19242func (s *UntagResourceInput) Validate() error { 19243 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 19244 if s.ResourceArn == nil { 19245 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 19246 } 19247 if s.TagKeys == nil { 19248 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 19249 } 19250 19251 if invalidParams.Len() > 0 { 19252 return invalidParams 19253 } 19254 return nil 19255} 19256 19257// SetResourceArn sets the ResourceArn field's value. 19258func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 19259 s.ResourceArn = &v 19260 return s 19261} 19262 19263// SetTagKeys sets the TagKeys field's value. 19264func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 19265 s.TagKeys = v 19266 return s 19267} 19268 19269type UntagResourceOutput struct { 19270 _ struct{} `type:"structure"` 19271} 19272 19273// String returns the string representation 19274func (s UntagResourceOutput) String() string { 19275 return awsutil.Prettify(s) 19276} 19277 19278// GoString returns the string representation 19279func (s UntagResourceOutput) GoString() string { 19280 return s.String() 19281} 19282 19283type UpdateClusterSettingsInput struct { 19284 _ struct{} `type:"structure"` 19285 19286 // The name of the cluster to modify the settings for. 19287 // 19288 // Cluster is a required field 19289 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19290 19291 // The setting to use by default for a cluster. This parameter is used to enable 19292 // CloudWatch Container Insights for a cluster. If this value is specified, 19293 // it will override the containerInsights value set with PutAccountSetting or 19294 // PutAccountSettingDefault. 19295 // 19296 // Settings is a required field 19297 Settings []*ClusterSetting `locationName:"settings" type:"list" required:"true"` 19298} 19299 19300// String returns the string representation 19301func (s UpdateClusterSettingsInput) String() string { 19302 return awsutil.Prettify(s) 19303} 19304 19305// GoString returns the string representation 19306func (s UpdateClusterSettingsInput) GoString() string { 19307 return s.String() 19308} 19309 19310// Validate inspects the fields of the type to determine if they are valid. 19311func (s *UpdateClusterSettingsInput) Validate() error { 19312 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterSettingsInput"} 19313 if s.Cluster == nil { 19314 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19315 } 19316 if s.Settings == nil { 19317 invalidParams.Add(request.NewErrParamRequired("Settings")) 19318 } 19319 19320 if invalidParams.Len() > 0 { 19321 return invalidParams 19322 } 19323 return nil 19324} 19325 19326// SetCluster sets the Cluster field's value. 19327func (s *UpdateClusterSettingsInput) SetCluster(v string) *UpdateClusterSettingsInput { 19328 s.Cluster = &v 19329 return s 19330} 19331 19332// SetSettings sets the Settings field's value. 19333func (s *UpdateClusterSettingsInput) SetSettings(v []*ClusterSetting) *UpdateClusterSettingsInput { 19334 s.Settings = v 19335 return s 19336} 19337 19338type UpdateClusterSettingsOutput struct { 19339 _ struct{} `type:"structure"` 19340 19341 // A regional grouping of one or more container instances on which you can run 19342 // task requests. Each account receives a default cluster the first time you 19343 // use the Amazon ECS service, but you may also create other clusters. Clusters 19344 // may contain more than one instance type simultaneously. 19345 Cluster *Cluster `locationName:"cluster" type:"structure"` 19346} 19347 19348// String returns the string representation 19349func (s UpdateClusterSettingsOutput) String() string { 19350 return awsutil.Prettify(s) 19351} 19352 19353// GoString returns the string representation 19354func (s UpdateClusterSettingsOutput) GoString() string { 19355 return s.String() 19356} 19357 19358// SetCluster sets the Cluster field's value. 19359func (s *UpdateClusterSettingsOutput) SetCluster(v *Cluster) *UpdateClusterSettingsOutput { 19360 s.Cluster = v 19361 return s 19362} 19363 19364type UpdateContainerAgentInput struct { 19365 _ struct{} `type:"structure"` 19366 19367 // The short name or full Amazon Resource Name (ARN) of the cluster that your 19368 // container instance is running on. If you do not specify a cluster, the default 19369 // cluster is assumed. 19370 Cluster *string `locationName:"cluster" type:"string"` 19371 19372 // The container instance ID or full ARN entries for the container instance 19373 // on which you would like to update the Amazon ECS container agent. 19374 // 19375 // ContainerInstance is a required field 19376 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 19377} 19378 19379// String returns the string representation 19380func (s UpdateContainerAgentInput) String() string { 19381 return awsutil.Prettify(s) 19382} 19383 19384// GoString returns the string representation 19385func (s UpdateContainerAgentInput) GoString() string { 19386 return s.String() 19387} 19388 19389// Validate inspects the fields of the type to determine if they are valid. 19390func (s *UpdateContainerAgentInput) Validate() error { 19391 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} 19392 if s.ContainerInstance == nil { 19393 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 19394 } 19395 19396 if invalidParams.Len() > 0 { 19397 return invalidParams 19398 } 19399 return nil 19400} 19401 19402// SetCluster sets the Cluster field's value. 19403func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput { 19404 s.Cluster = &v 19405 return s 19406} 19407 19408// SetContainerInstance sets the ContainerInstance field's value. 19409func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput { 19410 s.ContainerInstance = &v 19411 return s 19412} 19413 19414type UpdateContainerAgentOutput struct { 19415 _ struct{} `type:"structure"` 19416 19417 // The container instance for which the container agent was updated. 19418 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 19419} 19420 19421// String returns the string representation 19422func (s UpdateContainerAgentOutput) String() string { 19423 return awsutil.Prettify(s) 19424} 19425 19426// GoString returns the string representation 19427func (s UpdateContainerAgentOutput) GoString() string { 19428 return s.String() 19429} 19430 19431// SetContainerInstance sets the ContainerInstance field's value. 19432func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput { 19433 s.ContainerInstance = v 19434 return s 19435} 19436 19437type UpdateContainerInstancesStateInput struct { 19438 _ struct{} `type:"structure"` 19439 19440 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19441 // the container instance to update. If you do not specify a cluster, the default 19442 // cluster is assumed. 19443 Cluster *string `locationName:"cluster" type:"string"` 19444 19445 // A list of container instance IDs or full ARN entries. 19446 // 19447 // ContainerInstances is a required field 19448 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 19449 19450 // The container instance state with which to update the container instance. 19451 // The only valid values for this action are ACTIVE and DRAINING. A container 19452 // instance can only be updated to DRAINING status once it has reached an ACTIVE 19453 // state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED 19454 // state you can describe the container instance but will be unable to update 19455 // the container instance state. 19456 // 19457 // Status is a required field 19458 Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"` 19459} 19460 19461// String returns the string representation 19462func (s UpdateContainerInstancesStateInput) String() string { 19463 return awsutil.Prettify(s) 19464} 19465 19466// GoString returns the string representation 19467func (s UpdateContainerInstancesStateInput) GoString() string { 19468 return s.String() 19469} 19470 19471// Validate inspects the fields of the type to determine if they are valid. 19472func (s *UpdateContainerInstancesStateInput) Validate() error { 19473 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"} 19474 if s.ContainerInstances == nil { 19475 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 19476 } 19477 if s.Status == nil { 19478 invalidParams.Add(request.NewErrParamRequired("Status")) 19479 } 19480 19481 if invalidParams.Len() > 0 { 19482 return invalidParams 19483 } 19484 return nil 19485} 19486 19487// SetCluster sets the Cluster field's value. 19488func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput { 19489 s.Cluster = &v 19490 return s 19491} 19492 19493// SetContainerInstances sets the ContainerInstances field's value. 19494func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput { 19495 s.ContainerInstances = v 19496 return s 19497} 19498 19499// SetStatus sets the Status field's value. 19500func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput { 19501 s.Status = &v 19502 return s 19503} 19504 19505type UpdateContainerInstancesStateOutput struct { 19506 _ struct{} `type:"structure"` 19507 19508 // The list of container instances. 19509 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 19510 19511 // Any failures associated with the call. 19512 Failures []*Failure `locationName:"failures" type:"list"` 19513} 19514 19515// String returns the string representation 19516func (s UpdateContainerInstancesStateOutput) String() string { 19517 return awsutil.Prettify(s) 19518} 19519 19520// GoString returns the string representation 19521func (s UpdateContainerInstancesStateOutput) GoString() string { 19522 return s.String() 19523} 19524 19525// SetContainerInstances sets the ContainerInstances field's value. 19526func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput { 19527 s.ContainerInstances = v 19528 return s 19529} 19530 19531// SetFailures sets the Failures field's value. 19532func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput { 19533 s.Failures = v 19534 return s 19535} 19536 19537// There is already a current Amazon ECS container agent update in progress 19538// on the specified container instance. If the container agent becomes disconnected 19539// while it is in a transitional stage, such as PENDING or STAGING, the update 19540// process can get stuck in that state. However, when the agent reconnects, 19541// it resumes where it stopped previously. 19542type UpdateInProgressException struct { 19543 _ struct{} `type:"structure"` 19544 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19545 19546 Message_ *string `locationName:"message" type:"string"` 19547} 19548 19549// String returns the string representation 19550func (s UpdateInProgressException) String() string { 19551 return awsutil.Prettify(s) 19552} 19553 19554// GoString returns the string representation 19555func (s UpdateInProgressException) GoString() string { 19556 return s.String() 19557} 19558 19559func newErrorUpdateInProgressException(v protocol.ResponseMetadata) error { 19560 return &UpdateInProgressException{ 19561 RespMetadata: v, 19562 } 19563} 19564 19565// Code returns the exception type name. 19566func (s *UpdateInProgressException) Code() string { 19567 return "UpdateInProgressException" 19568} 19569 19570// Message returns the exception's message. 19571func (s *UpdateInProgressException) Message() string { 19572 if s.Message_ != nil { 19573 return *s.Message_ 19574 } 19575 return "" 19576} 19577 19578// OrigErr always returns nil, satisfies awserr.Error interface. 19579func (s *UpdateInProgressException) OrigErr() error { 19580 return nil 19581} 19582 19583func (s *UpdateInProgressException) Error() string { 19584 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19585} 19586 19587// Status code returns the HTTP status code for the request's response error. 19588func (s *UpdateInProgressException) StatusCode() int { 19589 return s.RespMetadata.StatusCode 19590} 19591 19592// RequestID returns the service's response RequestID for request. 19593func (s *UpdateInProgressException) RequestID() string { 19594 return s.RespMetadata.RequestID 19595} 19596 19597type UpdateServiceInput struct { 19598 _ struct{} `type:"structure"` 19599 19600 // The capacity provider strategy to update the service to use. 19601 // 19602 // If the service is using the default capacity provider strategy for the cluster, 19603 // the service can be updated to use one or more capacity providers as opposed 19604 // to the default capacity provider strategy. However, when a service is using 19605 // a capacity provider strategy that is not the default capacity provider strategy, 19606 // the service cannot be updated to use the cluster's default capacity provider 19607 // strategy. 19608 // 19609 // A capacity provider strategy consists of one or more capacity providers along 19610 // with the base and weight to assign to them. A capacity provider must be associated 19611 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 19612 // API is used to associate a capacity provider with a cluster. Only capacity 19613 // providers with an ACTIVE or UPDATING status can be used. 19614 // 19615 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 19616 // provider must already be created. New capacity providers can be created with 19617 // the CreateCapacityProvider API operation. 19618 // 19619 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 19620 // capacity providers. The AWS Fargate capacity providers are available to all 19621 // accounts and only need to be associated with a cluster to be used. 19622 // 19623 // The PutClusterCapacityProviders API operation is used to update the list 19624 // of available capacity providers for a cluster after the cluster is created. 19625 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 19626 19627 // The short name or full Amazon Resource Name (ARN) of the cluster that your 19628 // service is running on. If you do not specify a cluster, the default cluster 19629 // is assumed. 19630 Cluster *string `locationName:"cluster" type:"string"` 19631 19632 // Optional deployment parameters that control how many tasks run during the 19633 // deployment and the ordering of stopping and starting tasks. 19634 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 19635 19636 // The number of instantiations of the task to place and keep running in your 19637 // service. 19638 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 19639 19640 // Whether to force a new deployment of the service. Deployments are not forced 19641 // by default. You can use this option to trigger a new deployment with no service 19642 // definition changes. For example, you can update a service's tasks to use 19643 // a newer Docker image with the same image/tag combination (my_image:latest) 19644 // or to roll Fargate tasks onto a newer platform version. 19645 ForceNewDeployment *bool `locationName:"forceNewDeployment" type:"boolean"` 19646 19647 // The period of time, in seconds, that the Amazon ECS service scheduler should 19648 // ignore unhealthy Elastic Load Balancing target health checks after a task 19649 // has first started. This is only valid if your service is configured to use 19650 // a load balancer. If your service's tasks take a while to start and respond 19651 // to Elastic Load Balancing health checks, you can specify a health check grace 19652 // period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service 19653 // scheduler ignores the Elastic Load Balancing health check status. This grace 19654 // period can prevent the ECS service scheduler from marking tasks as unhealthy 19655 // and stopping them before they have time to come up. 19656 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 19657 19658 // An object representing the network configuration for a task or service. 19659 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 19660 19661 // An array of task placement constraint objects to update the service to use. 19662 // If no value is specified, the existing placement constraints for the service 19663 // will remain unchanged. If this value is specified, it will override any existing 19664 // placement constraints defined for the service. To remove all existing placement 19665 // constraints, specify an empty array. 19666 // 19667 // You can specify a maximum of 10 constraints per task (this limit includes 19668 // constraints in the task definition and those specified at runtime). 19669 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 19670 19671 // The task placement strategy objects to update the service to use. If no value 19672 // is specified, the existing placement strategy for the service will remain 19673 // unchanged. If this value is specified, it will override the existing placement 19674 // strategy defined for the service. To remove an existing placement strategy, 19675 // specify an empty object. 19676 // 19677 // You can specify a maximum of five strategy rules per service. 19678 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 19679 19680 // The platform version on which your tasks in the service are running. A platform 19681 // version is only specified for tasks using the Fargate launch type. If a platform 19682 // version is not specified, the LATEST platform version is used by default. 19683 // For more information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 19684 // in the Amazon Elastic Container Service Developer Guide. 19685 PlatformVersion *string `locationName:"platformVersion" type:"string"` 19686 19687 // The name of the service to update. 19688 // 19689 // Service is a required field 19690 Service *string `locationName:"service" type:"string" required:"true"` 19691 19692 // The family and revision (family:revision) or full ARN of the task definition 19693 // to run in your service. If a revision is not specified, the latest ACTIVE 19694 // revision is used. If you modify the task definition with UpdateService, Amazon 19695 // ECS spawns a task with the new version of the task definition and then stops 19696 // an old task after the new version is running. 19697 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 19698} 19699 19700// String returns the string representation 19701func (s UpdateServiceInput) String() string { 19702 return awsutil.Prettify(s) 19703} 19704 19705// GoString returns the string representation 19706func (s UpdateServiceInput) GoString() string { 19707 return s.String() 19708} 19709 19710// Validate inspects the fields of the type to determine if they are valid. 19711func (s *UpdateServiceInput) Validate() error { 19712 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 19713 if s.Service == nil { 19714 invalidParams.Add(request.NewErrParamRequired("Service")) 19715 } 19716 if s.CapacityProviderStrategy != nil { 19717 for i, v := range s.CapacityProviderStrategy { 19718 if v == nil { 19719 continue 19720 } 19721 if err := v.Validate(); err != nil { 19722 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 19723 } 19724 } 19725 } 19726 if s.NetworkConfiguration != nil { 19727 if err := s.NetworkConfiguration.Validate(); err != nil { 19728 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 19729 } 19730 } 19731 19732 if invalidParams.Len() > 0 { 19733 return invalidParams 19734 } 19735 return nil 19736} 19737 19738// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 19739func (s *UpdateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *UpdateServiceInput { 19740 s.CapacityProviderStrategy = v 19741 return s 19742} 19743 19744// SetCluster sets the Cluster field's value. 19745func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput { 19746 s.Cluster = &v 19747 return s 19748} 19749 19750// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 19751func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput { 19752 s.DeploymentConfiguration = v 19753 return s 19754} 19755 19756// SetDesiredCount sets the DesiredCount field's value. 19757func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput { 19758 s.DesiredCount = &v 19759 return s 19760} 19761 19762// SetForceNewDeployment sets the ForceNewDeployment field's value. 19763func (s *UpdateServiceInput) SetForceNewDeployment(v bool) *UpdateServiceInput { 19764 s.ForceNewDeployment = &v 19765 return s 19766} 19767 19768// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 19769func (s *UpdateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *UpdateServiceInput { 19770 s.HealthCheckGracePeriodSeconds = &v 19771 return s 19772} 19773 19774// SetNetworkConfiguration sets the NetworkConfiguration field's value. 19775func (s *UpdateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateServiceInput { 19776 s.NetworkConfiguration = v 19777 return s 19778} 19779 19780// SetPlacementConstraints sets the PlacementConstraints field's value. 19781func (s *UpdateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *UpdateServiceInput { 19782 s.PlacementConstraints = v 19783 return s 19784} 19785 19786// SetPlacementStrategy sets the PlacementStrategy field's value. 19787func (s *UpdateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *UpdateServiceInput { 19788 s.PlacementStrategy = v 19789 return s 19790} 19791 19792// SetPlatformVersion sets the PlatformVersion field's value. 19793func (s *UpdateServiceInput) SetPlatformVersion(v string) *UpdateServiceInput { 19794 s.PlatformVersion = &v 19795 return s 19796} 19797 19798// SetService sets the Service field's value. 19799func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput { 19800 s.Service = &v 19801 return s 19802} 19803 19804// SetTaskDefinition sets the TaskDefinition field's value. 19805func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput { 19806 s.TaskDefinition = &v 19807 return s 19808} 19809 19810type UpdateServiceOutput struct { 19811 _ struct{} `type:"structure"` 19812 19813 // The full description of your service following the update call. 19814 Service *Service `locationName:"service" type:"structure"` 19815} 19816 19817// String returns the string representation 19818func (s UpdateServiceOutput) String() string { 19819 return awsutil.Prettify(s) 19820} 19821 19822// GoString returns the string representation 19823func (s UpdateServiceOutput) GoString() string { 19824 return s.String() 19825} 19826 19827// SetService sets the Service field's value. 19828func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { 19829 s.Service = v 19830 return s 19831} 19832 19833type UpdateServicePrimaryTaskSetInput struct { 19834 _ struct{} `type:"structure"` 19835 19836 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19837 // the service that the task set exists in. 19838 // 19839 // Cluster is a required field 19840 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19841 19842 // The short name or full Amazon Resource Name (ARN) of the task set to set 19843 // as the primary task set in the deployment. 19844 // 19845 // PrimaryTaskSet is a required field 19846 PrimaryTaskSet *string `locationName:"primaryTaskSet" type:"string" required:"true"` 19847 19848 // The short name or full Amazon Resource Name (ARN) of the service that the 19849 // task set exists in. 19850 // 19851 // Service is a required field 19852 Service *string `locationName:"service" type:"string" required:"true"` 19853} 19854 19855// String returns the string representation 19856func (s UpdateServicePrimaryTaskSetInput) String() string { 19857 return awsutil.Prettify(s) 19858} 19859 19860// GoString returns the string representation 19861func (s UpdateServicePrimaryTaskSetInput) GoString() string { 19862 return s.String() 19863} 19864 19865// Validate inspects the fields of the type to determine if they are valid. 19866func (s *UpdateServicePrimaryTaskSetInput) Validate() error { 19867 invalidParams := request.ErrInvalidParams{Context: "UpdateServicePrimaryTaskSetInput"} 19868 if s.Cluster == nil { 19869 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19870 } 19871 if s.PrimaryTaskSet == nil { 19872 invalidParams.Add(request.NewErrParamRequired("PrimaryTaskSet")) 19873 } 19874 if s.Service == nil { 19875 invalidParams.Add(request.NewErrParamRequired("Service")) 19876 } 19877 19878 if invalidParams.Len() > 0 { 19879 return invalidParams 19880 } 19881 return nil 19882} 19883 19884// SetCluster sets the Cluster field's value. 19885func (s *UpdateServicePrimaryTaskSetInput) SetCluster(v string) *UpdateServicePrimaryTaskSetInput { 19886 s.Cluster = &v 19887 return s 19888} 19889 19890// SetPrimaryTaskSet sets the PrimaryTaskSet field's value. 19891func (s *UpdateServicePrimaryTaskSetInput) SetPrimaryTaskSet(v string) *UpdateServicePrimaryTaskSetInput { 19892 s.PrimaryTaskSet = &v 19893 return s 19894} 19895 19896// SetService sets the Service field's value. 19897func (s *UpdateServicePrimaryTaskSetInput) SetService(v string) *UpdateServicePrimaryTaskSetInput { 19898 s.Service = &v 19899 return s 19900} 19901 19902type UpdateServicePrimaryTaskSetOutput struct { 19903 _ struct{} `type:"structure"` 19904 19905 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 19906 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 19907 // desired number of tasks, how many tasks are running, and whether the task 19908 // set serves production traffic. 19909 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 19910} 19911 19912// String returns the string representation 19913func (s UpdateServicePrimaryTaskSetOutput) String() string { 19914 return awsutil.Prettify(s) 19915} 19916 19917// GoString returns the string representation 19918func (s UpdateServicePrimaryTaskSetOutput) GoString() string { 19919 return s.String() 19920} 19921 19922// SetTaskSet sets the TaskSet field's value. 19923func (s *UpdateServicePrimaryTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateServicePrimaryTaskSetOutput { 19924 s.TaskSet = v 19925 return s 19926} 19927 19928type UpdateTaskSetInput struct { 19929 _ struct{} `type:"structure"` 19930 19931 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19932 // the service that the task set exists in. 19933 // 19934 // Cluster is a required field 19935 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19936 19937 // A floating-point percentage of the desired number of tasks to place and keep 19938 // running in the task set. 19939 // 19940 // Scale is a required field 19941 Scale *Scale `locationName:"scale" type:"structure" required:"true"` 19942 19943 // The short name or full Amazon Resource Name (ARN) of the service that the 19944 // task set exists in. 19945 // 19946 // Service is a required field 19947 Service *string `locationName:"service" type:"string" required:"true"` 19948 19949 // The short name or full Amazon Resource Name (ARN) of the task set to update. 19950 // 19951 // TaskSet is a required field 19952 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 19953} 19954 19955// String returns the string representation 19956func (s UpdateTaskSetInput) String() string { 19957 return awsutil.Prettify(s) 19958} 19959 19960// GoString returns the string representation 19961func (s UpdateTaskSetInput) GoString() string { 19962 return s.String() 19963} 19964 19965// Validate inspects the fields of the type to determine if they are valid. 19966func (s *UpdateTaskSetInput) Validate() error { 19967 invalidParams := request.ErrInvalidParams{Context: "UpdateTaskSetInput"} 19968 if s.Cluster == nil { 19969 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19970 } 19971 if s.Scale == nil { 19972 invalidParams.Add(request.NewErrParamRequired("Scale")) 19973 } 19974 if s.Service == nil { 19975 invalidParams.Add(request.NewErrParamRequired("Service")) 19976 } 19977 if s.TaskSet == nil { 19978 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 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 *UpdateTaskSetInput) SetCluster(v string) *UpdateTaskSetInput { 19989 s.Cluster = &v 19990 return s 19991} 19992 19993// SetScale sets the Scale field's value. 19994func (s *UpdateTaskSetInput) SetScale(v *Scale) *UpdateTaskSetInput { 19995 s.Scale = v 19996 return s 19997} 19998 19999// SetService sets the Service field's value. 20000func (s *UpdateTaskSetInput) SetService(v string) *UpdateTaskSetInput { 20001 s.Service = &v 20002 return s 20003} 20004 20005// SetTaskSet sets the TaskSet field's value. 20006func (s *UpdateTaskSetInput) SetTaskSet(v string) *UpdateTaskSetInput { 20007 s.TaskSet = &v 20008 return s 20009} 20010 20011type UpdateTaskSetOutput struct { 20012 _ struct{} `type:"structure"` 20013 20014 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 20015 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 20016 // desired number of tasks, how many tasks are running, and whether the task 20017 // set serves production traffic. 20018 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 20019} 20020 20021// String returns the string representation 20022func (s UpdateTaskSetOutput) String() string { 20023 return awsutil.Prettify(s) 20024} 20025 20026// GoString returns the string representation 20027func (s UpdateTaskSetOutput) GoString() string { 20028 return s.String() 20029} 20030 20031// SetTaskSet sets the TaskSet field's value. 20032func (s *UpdateTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateTaskSetOutput { 20033 s.TaskSet = v 20034 return s 20035} 20036 20037// The Docker and Amazon ECS container agent version information about a container 20038// instance. 20039type VersionInfo struct { 20040 _ struct{} `type:"structure"` 20041 20042 // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent 20043 // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository. 20044 AgentHash *string `locationName:"agentHash" type:"string"` 20045 20046 // The version number of the Amazon ECS container agent. 20047 AgentVersion *string `locationName:"agentVersion" type:"string"` 20048 20049 // The Docker version running on the container instance. 20050 DockerVersion *string `locationName:"dockerVersion" type:"string"` 20051} 20052 20053// String returns the string representation 20054func (s VersionInfo) String() string { 20055 return awsutil.Prettify(s) 20056} 20057 20058// GoString returns the string representation 20059func (s VersionInfo) GoString() string { 20060 return s.String() 20061} 20062 20063// SetAgentHash sets the AgentHash field's value. 20064func (s *VersionInfo) SetAgentHash(v string) *VersionInfo { 20065 s.AgentHash = &v 20066 return s 20067} 20068 20069// SetAgentVersion sets the AgentVersion field's value. 20070func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo { 20071 s.AgentVersion = &v 20072 return s 20073} 20074 20075// SetDockerVersion sets the DockerVersion field's value. 20076func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { 20077 s.DockerVersion = &v 20078 return s 20079} 20080 20081// A data volume used in a task definition. For tasks that use Amazon Elastic 20082// File System (Amazon EFS) file storage, specify an efsVolumeConfiguration. 20083// For tasks that use a Docker volume, specify a DockerVolumeConfiguration. 20084// For tasks that use a bind mount host volume, specify a host and optional 20085// sourcePath. For more information, see Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). 20086type Volume struct { 20087 _ struct{} `type:"structure"` 20088 20089 // This parameter is specified when you are using Docker volumes. Docker volumes 20090 // are only supported when you are using the EC2 launch type. Windows containers 20091 // only support the use of the local driver. To use bind mounts, specify the 20092 // host parameter instead. 20093 DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` 20094 20095 // This parameter is specified when you are using an Amazon Elastic File System 20096 // file system for task storage. 20097 EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` 20098 20099 // This parameter is specified when you are using bind mount host volumes. The 20100 // contents of the host parameter determine whether your bind mount host volume 20101 // persists on the host container instance and where it is stored. If the host 20102 // parameter is empty, then the Docker daemon assigns a host path for your data 20103 // volume. However, the data is not guaranteed to persist after the containers 20104 // associated with it stop running. 20105 // 20106 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 20107 // Windows containers cannot mount directories on a different drive, and mount 20108 // point cannot be across drives. For example, you can mount C:\my\path:C:\my\path 20109 // and D:\:D:\, but not D:\my\path:C:\my\path or D:\:C:\my\path. 20110 Host *HostVolumeProperties `locationName:"host" type:"structure"` 20111 20112 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 20113 // and hyphens are allowed. This name is referenced in the sourceVolume parameter 20114 // of container definition mountPoints. 20115 Name *string `locationName:"name" type:"string"` 20116} 20117 20118// String returns the string representation 20119func (s Volume) String() string { 20120 return awsutil.Prettify(s) 20121} 20122 20123// GoString returns the string representation 20124func (s Volume) GoString() string { 20125 return s.String() 20126} 20127 20128// Validate inspects the fields of the type to determine if they are valid. 20129func (s *Volume) Validate() error { 20130 invalidParams := request.ErrInvalidParams{Context: "Volume"} 20131 if s.EfsVolumeConfiguration != nil { 20132 if err := s.EfsVolumeConfiguration.Validate(); err != nil { 20133 invalidParams.AddNested("EfsVolumeConfiguration", err.(request.ErrInvalidParams)) 20134 } 20135 } 20136 20137 if invalidParams.Len() > 0 { 20138 return invalidParams 20139 } 20140 return nil 20141} 20142 20143// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value. 20144func (s *Volume) SetDockerVolumeConfiguration(v *DockerVolumeConfiguration) *Volume { 20145 s.DockerVolumeConfiguration = v 20146 return s 20147} 20148 20149// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value. 20150func (s *Volume) SetEfsVolumeConfiguration(v *EFSVolumeConfiguration) *Volume { 20151 s.EfsVolumeConfiguration = v 20152 return s 20153} 20154 20155// SetHost sets the Host field's value. 20156func (s *Volume) SetHost(v *HostVolumeProperties) *Volume { 20157 s.Host = v 20158 return s 20159} 20160 20161// SetName sets the Name field's value. 20162func (s *Volume) SetName(v string) *Volume { 20163 s.Name = &v 20164 return s 20165} 20166 20167// Details on a data volume from another container in the same task definition. 20168type VolumeFrom struct { 20169 _ struct{} `type:"structure"` 20170 20171 // If this value is true, the container has read-only access to the volume. 20172 // If this value is false, then the container can write to the volume. The default 20173 // value is false. 20174 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 20175 20176 // The name of another container within the same task definition from which 20177 // to mount volumes. 20178 SourceContainer *string `locationName:"sourceContainer" type:"string"` 20179} 20180 20181// String returns the string representation 20182func (s VolumeFrom) String() string { 20183 return awsutil.Prettify(s) 20184} 20185 20186// GoString returns the string representation 20187func (s VolumeFrom) GoString() string { 20188 return s.String() 20189} 20190 20191// SetReadOnly sets the ReadOnly field's value. 20192func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom { 20193 s.ReadOnly = &v 20194 return s 20195} 20196 20197// SetSourceContainer sets the SourceContainer field's value. 20198func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom { 20199 s.SourceContainer = &v 20200 return s 20201} 20202 20203const ( 20204 // AgentUpdateStatusPending is a AgentUpdateStatus enum value 20205 AgentUpdateStatusPending = "PENDING" 20206 20207 // AgentUpdateStatusStaging is a AgentUpdateStatus enum value 20208 AgentUpdateStatusStaging = "STAGING" 20209 20210 // AgentUpdateStatusStaged is a AgentUpdateStatus enum value 20211 AgentUpdateStatusStaged = "STAGED" 20212 20213 // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value 20214 AgentUpdateStatusUpdating = "UPDATING" 20215 20216 // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value 20217 AgentUpdateStatusUpdated = "UPDATED" 20218 20219 // AgentUpdateStatusFailed is a AgentUpdateStatus enum value 20220 AgentUpdateStatusFailed = "FAILED" 20221) 20222 20223// AgentUpdateStatus_Values returns all elements of the AgentUpdateStatus enum 20224func AgentUpdateStatus_Values() []string { 20225 return []string{ 20226 AgentUpdateStatusPending, 20227 AgentUpdateStatusStaging, 20228 AgentUpdateStatusStaged, 20229 AgentUpdateStatusUpdating, 20230 AgentUpdateStatusUpdated, 20231 AgentUpdateStatusFailed, 20232 } 20233} 20234 20235const ( 20236 // AssignPublicIpEnabled is a AssignPublicIp enum value 20237 AssignPublicIpEnabled = "ENABLED" 20238 20239 // AssignPublicIpDisabled is a AssignPublicIp enum value 20240 AssignPublicIpDisabled = "DISABLED" 20241) 20242 20243// AssignPublicIp_Values returns all elements of the AssignPublicIp enum 20244func AssignPublicIp_Values() []string { 20245 return []string{ 20246 AssignPublicIpEnabled, 20247 AssignPublicIpDisabled, 20248 } 20249} 20250 20251const ( 20252 // CapacityProviderFieldTags is a CapacityProviderField enum value 20253 CapacityProviderFieldTags = "TAGS" 20254) 20255 20256// CapacityProviderField_Values returns all elements of the CapacityProviderField enum 20257func CapacityProviderField_Values() []string { 20258 return []string{ 20259 CapacityProviderFieldTags, 20260 } 20261} 20262 20263const ( 20264 // CapacityProviderStatusActive is a CapacityProviderStatus enum value 20265 CapacityProviderStatusActive = "ACTIVE" 20266 20267 // CapacityProviderStatusInactive is a CapacityProviderStatus enum value 20268 CapacityProviderStatusInactive = "INACTIVE" 20269) 20270 20271// CapacityProviderStatus_Values returns all elements of the CapacityProviderStatus enum 20272func CapacityProviderStatus_Values() []string { 20273 return []string{ 20274 CapacityProviderStatusActive, 20275 CapacityProviderStatusInactive, 20276 } 20277} 20278 20279const ( 20280 // CapacityProviderUpdateStatusDeleteInProgress is a CapacityProviderUpdateStatus enum value 20281 CapacityProviderUpdateStatusDeleteInProgress = "DELETE_IN_PROGRESS" 20282 20283 // CapacityProviderUpdateStatusDeleteComplete is a CapacityProviderUpdateStatus enum value 20284 CapacityProviderUpdateStatusDeleteComplete = "DELETE_COMPLETE" 20285 20286 // CapacityProviderUpdateStatusDeleteFailed is a CapacityProviderUpdateStatus enum value 20287 CapacityProviderUpdateStatusDeleteFailed = "DELETE_FAILED" 20288) 20289 20290// CapacityProviderUpdateStatus_Values returns all elements of the CapacityProviderUpdateStatus enum 20291func CapacityProviderUpdateStatus_Values() []string { 20292 return []string{ 20293 CapacityProviderUpdateStatusDeleteInProgress, 20294 CapacityProviderUpdateStatusDeleteComplete, 20295 CapacityProviderUpdateStatusDeleteFailed, 20296 } 20297} 20298 20299const ( 20300 // ClusterFieldAttachments is a ClusterField enum value 20301 ClusterFieldAttachments = "ATTACHMENTS" 20302 20303 // ClusterFieldSettings is a ClusterField enum value 20304 ClusterFieldSettings = "SETTINGS" 20305 20306 // ClusterFieldStatistics is a ClusterField enum value 20307 ClusterFieldStatistics = "STATISTICS" 20308 20309 // ClusterFieldTags is a ClusterField enum value 20310 ClusterFieldTags = "TAGS" 20311) 20312 20313// ClusterField_Values returns all elements of the ClusterField enum 20314func ClusterField_Values() []string { 20315 return []string{ 20316 ClusterFieldAttachments, 20317 ClusterFieldSettings, 20318 ClusterFieldStatistics, 20319 ClusterFieldTags, 20320 } 20321} 20322 20323const ( 20324 // ClusterSettingNameContainerInsights is a ClusterSettingName enum value 20325 ClusterSettingNameContainerInsights = "containerInsights" 20326) 20327 20328// ClusterSettingName_Values returns all elements of the ClusterSettingName enum 20329func ClusterSettingName_Values() []string { 20330 return []string{ 20331 ClusterSettingNameContainerInsights, 20332 } 20333} 20334 20335const ( 20336 // CompatibilityEc2 is a Compatibility enum value 20337 CompatibilityEc2 = "EC2" 20338 20339 // CompatibilityFargate is a Compatibility enum value 20340 CompatibilityFargate = "FARGATE" 20341) 20342 20343// Compatibility_Values returns all elements of the Compatibility enum 20344func Compatibility_Values() []string { 20345 return []string{ 20346 CompatibilityEc2, 20347 CompatibilityFargate, 20348 } 20349} 20350 20351const ( 20352 // ConnectivityConnected is a Connectivity enum value 20353 ConnectivityConnected = "CONNECTED" 20354 20355 // ConnectivityDisconnected is a Connectivity enum value 20356 ConnectivityDisconnected = "DISCONNECTED" 20357) 20358 20359// Connectivity_Values returns all elements of the Connectivity enum 20360func Connectivity_Values() []string { 20361 return []string{ 20362 ConnectivityConnected, 20363 ConnectivityDisconnected, 20364 } 20365} 20366 20367const ( 20368 // ContainerConditionStart is a ContainerCondition enum value 20369 ContainerConditionStart = "START" 20370 20371 // ContainerConditionComplete is a ContainerCondition enum value 20372 ContainerConditionComplete = "COMPLETE" 20373 20374 // ContainerConditionSuccess is a ContainerCondition enum value 20375 ContainerConditionSuccess = "SUCCESS" 20376 20377 // ContainerConditionHealthy is a ContainerCondition enum value 20378 ContainerConditionHealthy = "HEALTHY" 20379) 20380 20381// ContainerCondition_Values returns all elements of the ContainerCondition enum 20382func ContainerCondition_Values() []string { 20383 return []string{ 20384 ContainerConditionStart, 20385 ContainerConditionComplete, 20386 ContainerConditionSuccess, 20387 ContainerConditionHealthy, 20388 } 20389} 20390 20391const ( 20392 // ContainerInstanceFieldTags is a ContainerInstanceField enum value 20393 ContainerInstanceFieldTags = "TAGS" 20394) 20395 20396// ContainerInstanceField_Values returns all elements of the ContainerInstanceField enum 20397func ContainerInstanceField_Values() []string { 20398 return []string{ 20399 ContainerInstanceFieldTags, 20400 } 20401} 20402 20403const ( 20404 // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value 20405 ContainerInstanceStatusActive = "ACTIVE" 20406 20407 // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value 20408 ContainerInstanceStatusDraining = "DRAINING" 20409 20410 // ContainerInstanceStatusRegistering is a ContainerInstanceStatus enum value 20411 ContainerInstanceStatusRegistering = "REGISTERING" 20412 20413 // ContainerInstanceStatusDeregistering is a ContainerInstanceStatus enum value 20414 ContainerInstanceStatusDeregistering = "DEREGISTERING" 20415 20416 // ContainerInstanceStatusRegistrationFailed is a ContainerInstanceStatus enum value 20417 ContainerInstanceStatusRegistrationFailed = "REGISTRATION_FAILED" 20418) 20419 20420// ContainerInstanceStatus_Values returns all elements of the ContainerInstanceStatus enum 20421func ContainerInstanceStatus_Values() []string { 20422 return []string{ 20423 ContainerInstanceStatusActive, 20424 ContainerInstanceStatusDraining, 20425 ContainerInstanceStatusRegistering, 20426 ContainerInstanceStatusDeregistering, 20427 ContainerInstanceStatusRegistrationFailed, 20428 } 20429} 20430 20431const ( 20432 // DeploymentControllerTypeEcs is a DeploymentControllerType enum value 20433 DeploymentControllerTypeEcs = "ECS" 20434 20435 // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value 20436 DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY" 20437 20438 // DeploymentControllerTypeExternal is a DeploymentControllerType enum value 20439 DeploymentControllerTypeExternal = "EXTERNAL" 20440) 20441 20442// DeploymentControllerType_Values returns all elements of the DeploymentControllerType enum 20443func DeploymentControllerType_Values() []string { 20444 return []string{ 20445 DeploymentControllerTypeEcs, 20446 DeploymentControllerTypeCodeDeploy, 20447 DeploymentControllerTypeExternal, 20448 } 20449} 20450 20451const ( 20452 // DesiredStatusRunning is a DesiredStatus enum value 20453 DesiredStatusRunning = "RUNNING" 20454 20455 // DesiredStatusPending is a DesiredStatus enum value 20456 DesiredStatusPending = "PENDING" 20457 20458 // DesiredStatusStopped is a DesiredStatus enum value 20459 DesiredStatusStopped = "STOPPED" 20460) 20461 20462// DesiredStatus_Values returns all elements of the DesiredStatus enum 20463func DesiredStatus_Values() []string { 20464 return []string{ 20465 DesiredStatusRunning, 20466 DesiredStatusPending, 20467 DesiredStatusStopped, 20468 } 20469} 20470 20471const ( 20472 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 20473 DeviceCgroupPermissionRead = "read" 20474 20475 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 20476 DeviceCgroupPermissionWrite = "write" 20477 20478 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 20479 DeviceCgroupPermissionMknod = "mknod" 20480) 20481 20482// DeviceCgroupPermission_Values returns all elements of the DeviceCgroupPermission enum 20483func DeviceCgroupPermission_Values() []string { 20484 return []string{ 20485 DeviceCgroupPermissionRead, 20486 DeviceCgroupPermissionWrite, 20487 DeviceCgroupPermissionMknod, 20488 } 20489} 20490 20491const ( 20492 // EFSAuthorizationConfigIAMEnabled is a EFSAuthorizationConfigIAM enum value 20493 EFSAuthorizationConfigIAMEnabled = "ENABLED" 20494 20495 // EFSAuthorizationConfigIAMDisabled is a EFSAuthorizationConfigIAM enum value 20496 EFSAuthorizationConfigIAMDisabled = "DISABLED" 20497) 20498 20499// EFSAuthorizationConfigIAM_Values returns all elements of the EFSAuthorizationConfigIAM enum 20500func EFSAuthorizationConfigIAM_Values() []string { 20501 return []string{ 20502 EFSAuthorizationConfigIAMEnabled, 20503 EFSAuthorizationConfigIAMDisabled, 20504 } 20505} 20506 20507const ( 20508 // EFSTransitEncryptionEnabled is a EFSTransitEncryption enum value 20509 EFSTransitEncryptionEnabled = "ENABLED" 20510 20511 // EFSTransitEncryptionDisabled is a EFSTransitEncryption enum value 20512 EFSTransitEncryptionDisabled = "DISABLED" 20513) 20514 20515// EFSTransitEncryption_Values returns all elements of the EFSTransitEncryption enum 20516func EFSTransitEncryption_Values() []string { 20517 return []string{ 20518 EFSTransitEncryptionEnabled, 20519 EFSTransitEncryptionDisabled, 20520 } 20521} 20522 20523const ( 20524 // EnvironmentFileTypeS3 is a EnvironmentFileType enum value 20525 EnvironmentFileTypeS3 = "s3" 20526) 20527 20528// EnvironmentFileType_Values returns all elements of the EnvironmentFileType enum 20529func EnvironmentFileType_Values() []string { 20530 return []string{ 20531 EnvironmentFileTypeS3, 20532 } 20533} 20534 20535const ( 20536 // FirelensConfigurationTypeFluentd is a FirelensConfigurationType enum value 20537 FirelensConfigurationTypeFluentd = "fluentd" 20538 20539 // FirelensConfigurationTypeFluentbit is a FirelensConfigurationType enum value 20540 FirelensConfigurationTypeFluentbit = "fluentbit" 20541) 20542 20543// FirelensConfigurationType_Values returns all elements of the FirelensConfigurationType enum 20544func FirelensConfigurationType_Values() []string { 20545 return []string{ 20546 FirelensConfigurationTypeFluentd, 20547 FirelensConfigurationTypeFluentbit, 20548 } 20549} 20550 20551const ( 20552 // HealthStatusHealthy is a HealthStatus enum value 20553 HealthStatusHealthy = "HEALTHY" 20554 20555 // HealthStatusUnhealthy is a HealthStatus enum value 20556 HealthStatusUnhealthy = "UNHEALTHY" 20557 20558 // HealthStatusUnknown is a HealthStatus enum value 20559 HealthStatusUnknown = "UNKNOWN" 20560) 20561 20562// HealthStatus_Values returns all elements of the HealthStatus enum 20563func HealthStatus_Values() []string { 20564 return []string{ 20565 HealthStatusHealthy, 20566 HealthStatusUnhealthy, 20567 HealthStatusUnknown, 20568 } 20569} 20570 20571const ( 20572 // IpcModeHost is a IpcMode enum value 20573 IpcModeHost = "host" 20574 20575 // IpcModeTask is a IpcMode enum value 20576 IpcModeTask = "task" 20577 20578 // IpcModeNone is a IpcMode enum value 20579 IpcModeNone = "none" 20580) 20581 20582// IpcMode_Values returns all elements of the IpcMode enum 20583func IpcMode_Values() []string { 20584 return []string{ 20585 IpcModeHost, 20586 IpcModeTask, 20587 IpcModeNone, 20588 } 20589} 20590 20591const ( 20592 // LaunchTypeEc2 is a LaunchType enum value 20593 LaunchTypeEc2 = "EC2" 20594 20595 // LaunchTypeFargate is a LaunchType enum value 20596 LaunchTypeFargate = "FARGATE" 20597) 20598 20599// LaunchType_Values returns all elements of the LaunchType enum 20600func LaunchType_Values() []string { 20601 return []string{ 20602 LaunchTypeEc2, 20603 LaunchTypeFargate, 20604 } 20605} 20606 20607const ( 20608 // LogDriverJsonFile is a LogDriver enum value 20609 LogDriverJsonFile = "json-file" 20610 20611 // LogDriverSyslog is a LogDriver enum value 20612 LogDriverSyslog = "syslog" 20613 20614 // LogDriverJournald is a LogDriver enum value 20615 LogDriverJournald = "journald" 20616 20617 // LogDriverGelf is a LogDriver enum value 20618 LogDriverGelf = "gelf" 20619 20620 // LogDriverFluentd is a LogDriver enum value 20621 LogDriverFluentd = "fluentd" 20622 20623 // LogDriverAwslogs is a LogDriver enum value 20624 LogDriverAwslogs = "awslogs" 20625 20626 // LogDriverSplunk is a LogDriver enum value 20627 LogDriverSplunk = "splunk" 20628 20629 // LogDriverAwsfirelens is a LogDriver enum value 20630 LogDriverAwsfirelens = "awsfirelens" 20631) 20632 20633// LogDriver_Values returns all elements of the LogDriver enum 20634func LogDriver_Values() []string { 20635 return []string{ 20636 LogDriverJsonFile, 20637 LogDriverSyslog, 20638 LogDriverJournald, 20639 LogDriverGelf, 20640 LogDriverFluentd, 20641 LogDriverAwslogs, 20642 LogDriverSplunk, 20643 LogDriverAwsfirelens, 20644 } 20645} 20646 20647const ( 20648 // ManagedScalingStatusEnabled is a ManagedScalingStatus enum value 20649 ManagedScalingStatusEnabled = "ENABLED" 20650 20651 // ManagedScalingStatusDisabled is a ManagedScalingStatus enum value 20652 ManagedScalingStatusDisabled = "DISABLED" 20653) 20654 20655// ManagedScalingStatus_Values returns all elements of the ManagedScalingStatus enum 20656func ManagedScalingStatus_Values() []string { 20657 return []string{ 20658 ManagedScalingStatusEnabled, 20659 ManagedScalingStatusDisabled, 20660 } 20661} 20662 20663const ( 20664 // ManagedTerminationProtectionEnabled is a ManagedTerminationProtection enum value 20665 ManagedTerminationProtectionEnabled = "ENABLED" 20666 20667 // ManagedTerminationProtectionDisabled is a ManagedTerminationProtection enum value 20668 ManagedTerminationProtectionDisabled = "DISABLED" 20669) 20670 20671// ManagedTerminationProtection_Values returns all elements of the ManagedTerminationProtection enum 20672func ManagedTerminationProtection_Values() []string { 20673 return []string{ 20674 ManagedTerminationProtectionEnabled, 20675 ManagedTerminationProtectionDisabled, 20676 } 20677} 20678 20679const ( 20680 // NetworkModeBridge is a NetworkMode enum value 20681 NetworkModeBridge = "bridge" 20682 20683 // NetworkModeHost is a NetworkMode enum value 20684 NetworkModeHost = "host" 20685 20686 // NetworkModeAwsvpc is a NetworkMode enum value 20687 NetworkModeAwsvpc = "awsvpc" 20688 20689 // NetworkModeNone is a NetworkMode enum value 20690 NetworkModeNone = "none" 20691) 20692 20693// NetworkMode_Values returns all elements of the NetworkMode enum 20694func NetworkMode_Values() []string { 20695 return []string{ 20696 NetworkModeBridge, 20697 NetworkModeHost, 20698 NetworkModeAwsvpc, 20699 NetworkModeNone, 20700 } 20701} 20702 20703const ( 20704 // PidModeHost is a PidMode enum value 20705 PidModeHost = "host" 20706 20707 // PidModeTask is a PidMode enum value 20708 PidModeTask = "task" 20709) 20710 20711// PidMode_Values returns all elements of the PidMode enum 20712func PidMode_Values() []string { 20713 return []string{ 20714 PidModeHost, 20715 PidModeTask, 20716 } 20717} 20718 20719const ( 20720 // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value 20721 PlacementConstraintTypeDistinctInstance = "distinctInstance" 20722 20723 // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value 20724 PlacementConstraintTypeMemberOf = "memberOf" 20725) 20726 20727// PlacementConstraintType_Values returns all elements of the PlacementConstraintType enum 20728func PlacementConstraintType_Values() []string { 20729 return []string{ 20730 PlacementConstraintTypeDistinctInstance, 20731 PlacementConstraintTypeMemberOf, 20732 } 20733} 20734 20735const ( 20736 // PlacementStrategyTypeRandom is a PlacementStrategyType enum value 20737 PlacementStrategyTypeRandom = "random" 20738 20739 // PlacementStrategyTypeSpread is a PlacementStrategyType enum value 20740 PlacementStrategyTypeSpread = "spread" 20741 20742 // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value 20743 PlacementStrategyTypeBinpack = "binpack" 20744) 20745 20746// PlacementStrategyType_Values returns all elements of the PlacementStrategyType enum 20747func PlacementStrategyType_Values() []string { 20748 return []string{ 20749 PlacementStrategyTypeRandom, 20750 PlacementStrategyTypeSpread, 20751 PlacementStrategyTypeBinpack, 20752 } 20753} 20754 20755const ( 20756 // PlatformDeviceTypeGpu is a PlatformDeviceType enum value 20757 PlatformDeviceTypeGpu = "GPU" 20758) 20759 20760// PlatformDeviceType_Values returns all elements of the PlatformDeviceType enum 20761func PlatformDeviceType_Values() []string { 20762 return []string{ 20763 PlatformDeviceTypeGpu, 20764 } 20765} 20766 20767const ( 20768 // PropagateTagsTaskDefinition is a PropagateTags enum value 20769 PropagateTagsTaskDefinition = "TASK_DEFINITION" 20770 20771 // PropagateTagsService is a PropagateTags enum value 20772 PropagateTagsService = "SERVICE" 20773) 20774 20775// PropagateTags_Values returns all elements of the PropagateTags enum 20776func PropagateTags_Values() []string { 20777 return []string{ 20778 PropagateTagsTaskDefinition, 20779 PropagateTagsService, 20780 } 20781} 20782 20783const ( 20784 // ProxyConfigurationTypeAppmesh is a ProxyConfigurationType enum value 20785 ProxyConfigurationTypeAppmesh = "APPMESH" 20786) 20787 20788// ProxyConfigurationType_Values returns all elements of the ProxyConfigurationType enum 20789func ProxyConfigurationType_Values() []string { 20790 return []string{ 20791 ProxyConfigurationTypeAppmesh, 20792 } 20793} 20794 20795const ( 20796 // ResourceTypeGpu is a ResourceType enum value 20797 ResourceTypeGpu = "GPU" 20798 20799 // ResourceTypeInferenceAccelerator is a ResourceType enum value 20800 ResourceTypeInferenceAccelerator = "InferenceAccelerator" 20801) 20802 20803// ResourceType_Values returns all elements of the ResourceType enum 20804func ResourceType_Values() []string { 20805 return []string{ 20806 ResourceTypeGpu, 20807 ResourceTypeInferenceAccelerator, 20808 } 20809} 20810 20811const ( 20812 // ScaleUnitPercent is a ScaleUnit enum value 20813 ScaleUnitPercent = "PERCENT" 20814) 20815 20816// ScaleUnit_Values returns all elements of the ScaleUnit enum 20817func ScaleUnit_Values() []string { 20818 return []string{ 20819 ScaleUnitPercent, 20820 } 20821} 20822 20823const ( 20824 // SchedulingStrategyReplica is a SchedulingStrategy enum value 20825 SchedulingStrategyReplica = "REPLICA" 20826 20827 // SchedulingStrategyDaemon is a SchedulingStrategy enum value 20828 SchedulingStrategyDaemon = "DAEMON" 20829) 20830 20831// SchedulingStrategy_Values returns all elements of the SchedulingStrategy enum 20832func SchedulingStrategy_Values() []string { 20833 return []string{ 20834 SchedulingStrategyReplica, 20835 SchedulingStrategyDaemon, 20836 } 20837} 20838 20839const ( 20840 // ScopeTask is a Scope enum value 20841 ScopeTask = "task" 20842 20843 // ScopeShared is a Scope enum value 20844 ScopeShared = "shared" 20845) 20846 20847// Scope_Values returns all elements of the Scope enum 20848func Scope_Values() []string { 20849 return []string{ 20850 ScopeTask, 20851 ScopeShared, 20852 } 20853} 20854 20855const ( 20856 // ServiceFieldTags is a ServiceField enum value 20857 ServiceFieldTags = "TAGS" 20858) 20859 20860// ServiceField_Values returns all elements of the ServiceField enum 20861func ServiceField_Values() []string { 20862 return []string{ 20863 ServiceFieldTags, 20864 } 20865} 20866 20867const ( 20868 // SettingNameServiceLongArnFormat is a SettingName enum value 20869 SettingNameServiceLongArnFormat = "serviceLongArnFormat" 20870 20871 // SettingNameTaskLongArnFormat is a SettingName enum value 20872 SettingNameTaskLongArnFormat = "taskLongArnFormat" 20873 20874 // SettingNameContainerInstanceLongArnFormat is a SettingName enum value 20875 SettingNameContainerInstanceLongArnFormat = "containerInstanceLongArnFormat" 20876 20877 // SettingNameAwsvpcTrunking is a SettingName enum value 20878 SettingNameAwsvpcTrunking = "awsvpcTrunking" 20879 20880 // SettingNameContainerInsights is a SettingName enum value 20881 SettingNameContainerInsights = "containerInsights" 20882) 20883 20884// SettingName_Values returns all elements of the SettingName enum 20885func SettingName_Values() []string { 20886 return []string{ 20887 SettingNameServiceLongArnFormat, 20888 SettingNameTaskLongArnFormat, 20889 SettingNameContainerInstanceLongArnFormat, 20890 SettingNameAwsvpcTrunking, 20891 SettingNameContainerInsights, 20892 } 20893} 20894 20895const ( 20896 // SortOrderAsc is a SortOrder enum value 20897 SortOrderAsc = "ASC" 20898 20899 // SortOrderDesc is a SortOrder enum value 20900 SortOrderDesc = "DESC" 20901) 20902 20903// SortOrder_Values returns all elements of the SortOrder enum 20904func SortOrder_Values() []string { 20905 return []string{ 20906 SortOrderAsc, 20907 SortOrderDesc, 20908 } 20909} 20910 20911const ( 20912 // StabilityStatusSteadyState is a StabilityStatus enum value 20913 StabilityStatusSteadyState = "STEADY_STATE" 20914 20915 // StabilityStatusStabilizing is a StabilityStatus enum value 20916 StabilityStatusStabilizing = "STABILIZING" 20917) 20918 20919// StabilityStatus_Values returns all elements of the StabilityStatus enum 20920func StabilityStatus_Values() []string { 20921 return []string{ 20922 StabilityStatusSteadyState, 20923 StabilityStatusStabilizing, 20924 } 20925} 20926 20927const ( 20928 // TargetTypeContainerInstance is a TargetType enum value 20929 TargetTypeContainerInstance = "container-instance" 20930) 20931 20932// TargetType_Values returns all elements of the TargetType enum 20933func TargetType_Values() []string { 20934 return []string{ 20935 TargetTypeContainerInstance, 20936 } 20937} 20938 20939const ( 20940 // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value 20941 TaskDefinitionFamilyStatusActive = "ACTIVE" 20942 20943 // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value 20944 TaskDefinitionFamilyStatusInactive = "INACTIVE" 20945 20946 // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value 20947 TaskDefinitionFamilyStatusAll = "ALL" 20948) 20949 20950// TaskDefinitionFamilyStatus_Values returns all elements of the TaskDefinitionFamilyStatus enum 20951func TaskDefinitionFamilyStatus_Values() []string { 20952 return []string{ 20953 TaskDefinitionFamilyStatusActive, 20954 TaskDefinitionFamilyStatusInactive, 20955 TaskDefinitionFamilyStatusAll, 20956 } 20957} 20958 20959const ( 20960 // TaskDefinitionFieldTags is a TaskDefinitionField enum value 20961 TaskDefinitionFieldTags = "TAGS" 20962) 20963 20964// TaskDefinitionField_Values returns all elements of the TaskDefinitionField enum 20965func TaskDefinitionField_Values() []string { 20966 return []string{ 20967 TaskDefinitionFieldTags, 20968 } 20969} 20970 20971const ( 20972 // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value 20973 TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf" 20974) 20975 20976// TaskDefinitionPlacementConstraintType_Values returns all elements of the TaskDefinitionPlacementConstraintType enum 20977func TaskDefinitionPlacementConstraintType_Values() []string { 20978 return []string{ 20979 TaskDefinitionPlacementConstraintTypeMemberOf, 20980 } 20981} 20982 20983const ( 20984 // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value 20985 TaskDefinitionStatusActive = "ACTIVE" 20986 20987 // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value 20988 TaskDefinitionStatusInactive = "INACTIVE" 20989) 20990 20991// TaskDefinitionStatus_Values returns all elements of the TaskDefinitionStatus enum 20992func TaskDefinitionStatus_Values() []string { 20993 return []string{ 20994 TaskDefinitionStatusActive, 20995 TaskDefinitionStatusInactive, 20996 } 20997} 20998 20999const ( 21000 // TaskFieldTags is a TaskField enum value 21001 TaskFieldTags = "TAGS" 21002) 21003 21004// TaskField_Values returns all elements of the TaskField enum 21005func TaskField_Values() []string { 21006 return []string{ 21007 TaskFieldTags, 21008 } 21009} 21010 21011const ( 21012 // TaskSetFieldTags is a TaskSetField enum value 21013 TaskSetFieldTags = "TAGS" 21014) 21015 21016// TaskSetField_Values returns all elements of the TaskSetField enum 21017func TaskSetField_Values() []string { 21018 return []string{ 21019 TaskSetFieldTags, 21020 } 21021} 21022 21023const ( 21024 // TaskStopCodeTaskFailedToStart is a TaskStopCode enum value 21025 TaskStopCodeTaskFailedToStart = "TaskFailedToStart" 21026 21027 // TaskStopCodeEssentialContainerExited is a TaskStopCode enum value 21028 TaskStopCodeEssentialContainerExited = "EssentialContainerExited" 21029 21030 // TaskStopCodeUserInitiated is a TaskStopCode enum value 21031 TaskStopCodeUserInitiated = "UserInitiated" 21032) 21033 21034// TaskStopCode_Values returns all elements of the TaskStopCode enum 21035func TaskStopCode_Values() []string { 21036 return []string{ 21037 TaskStopCodeTaskFailedToStart, 21038 TaskStopCodeEssentialContainerExited, 21039 TaskStopCodeUserInitiated, 21040 } 21041} 21042 21043const ( 21044 // TransportProtocolTcp is a TransportProtocol enum value 21045 TransportProtocolTcp = "tcp" 21046 21047 // TransportProtocolUdp is a TransportProtocol enum value 21048 TransportProtocolUdp = "udp" 21049) 21050 21051// TransportProtocol_Values returns all elements of the TransportProtocol enum 21052func TransportProtocol_Values() []string { 21053 return []string{ 21054 TransportProtocolTcp, 21055 TransportProtocolUdp, 21056 } 21057} 21058 21059const ( 21060 // UlimitNameCore is a UlimitName enum value 21061 UlimitNameCore = "core" 21062 21063 // UlimitNameCpu is a UlimitName enum value 21064 UlimitNameCpu = "cpu" 21065 21066 // UlimitNameData is a UlimitName enum value 21067 UlimitNameData = "data" 21068 21069 // UlimitNameFsize is a UlimitName enum value 21070 UlimitNameFsize = "fsize" 21071 21072 // UlimitNameLocks is a UlimitName enum value 21073 UlimitNameLocks = "locks" 21074 21075 // UlimitNameMemlock is a UlimitName enum value 21076 UlimitNameMemlock = "memlock" 21077 21078 // UlimitNameMsgqueue is a UlimitName enum value 21079 UlimitNameMsgqueue = "msgqueue" 21080 21081 // UlimitNameNice is a UlimitName enum value 21082 UlimitNameNice = "nice" 21083 21084 // UlimitNameNofile is a UlimitName enum value 21085 UlimitNameNofile = "nofile" 21086 21087 // UlimitNameNproc is a UlimitName enum value 21088 UlimitNameNproc = "nproc" 21089 21090 // UlimitNameRss is a UlimitName enum value 21091 UlimitNameRss = "rss" 21092 21093 // UlimitNameRtprio is a UlimitName enum value 21094 UlimitNameRtprio = "rtprio" 21095 21096 // UlimitNameRttime is a UlimitName enum value 21097 UlimitNameRttime = "rttime" 21098 21099 // UlimitNameSigpending is a UlimitName enum value 21100 UlimitNameSigpending = "sigpending" 21101 21102 // UlimitNameStack is a UlimitName enum value 21103 UlimitNameStack = "stack" 21104) 21105 21106// UlimitName_Values returns all elements of the UlimitName enum 21107func UlimitName_Values() []string { 21108 return []string{ 21109 UlimitNameCore, 21110 UlimitNameCpu, 21111 UlimitNameData, 21112 UlimitNameFsize, 21113 UlimitNameLocks, 21114 UlimitNameMemlock, 21115 UlimitNameMsgqueue, 21116 UlimitNameNice, 21117 UlimitNameNofile, 21118 UlimitNameNproc, 21119 UlimitNameRss, 21120 UlimitNameRtprio, 21121 UlimitNameRttime, 21122 UlimitNameSigpending, 21123 UlimitNameStack, 21124 } 21125} 21126