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 opCreateCluster = "CreateCluster" 17 18// CreateClusterRequest generates a "aws/request.Request" representing the 19// client's request for the CreateCluster 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 CreateCluster for more information on using the CreateCluster 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 CreateClusterRequest method. 34// req, resp := client.CreateClusterRequest(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/CreateCluster 42func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { 43 op := &request.Operation{ 44 Name: opCreateCluster, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CreateClusterInput{} 51 } 52 53 output = &CreateClusterOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// CreateCluster API operation for Amazon EC2 Container Service. 59// 60// Creates a new Amazon ECS cluster. By default, your account receives a default 61// cluster when you launch your first container instance. However, you can create 62// your own cluster with a unique name with the CreateCluster action. 63// 64// When you call the CreateCluster API operation, Amazon ECS attempts to create 65// the service-linked role for your account so that required resources in other 66// AWS services can be managed on your behalf. However, if the IAM user that 67// makes the call does not have permissions to create the service-linked role, 68// it is not created. For more information, see Using Service-Linked Roles for 69// Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 70// in the Amazon Elastic Container Service Developer Guide. 71// 72// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 73// with awserr.Error's Code and Message methods to get detailed information about 74// the error. 75// 76// See the AWS API reference guide for Amazon EC2 Container Service's 77// API operation CreateCluster for usage and error information. 78// 79// Returned Error Codes: 80// * ErrCodeServerException "ServerException" 81// These errors are usually caused by a server issue. 82// 83// * ErrCodeClientException "ClientException" 84// These errors are usually caused by a client action, such as using an action 85// or resource on behalf of a user that doesn't have permissions to use the 86// action or resource, or specifying an identifier that is not valid. 87// 88// * ErrCodeInvalidParameterException "InvalidParameterException" 89// The specified parameter is invalid. Review the available parameters for the 90// API request. 91// 92// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster 93func (c *ECS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { 94 req, out := c.CreateClusterRequest(input) 95 return out, req.Send() 96} 97 98// CreateClusterWithContext is the same as CreateCluster with the addition of 99// the ability to pass a context and additional request options. 100// 101// See CreateCluster for details on how to use this API operation. 102// 103// The context must be non-nil and will be used for request cancellation. If 104// the context is nil a panic will occur. In the future the SDK may create 105// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 106// for more information on using Contexts. 107func (c *ECS) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { 108 req, out := c.CreateClusterRequest(input) 109 req.SetContext(ctx) 110 req.ApplyOptions(opts...) 111 return out, req.Send() 112} 113 114const opCreateService = "CreateService" 115 116// CreateServiceRequest generates a "aws/request.Request" representing the 117// client's request for the CreateService operation. The "output" return 118// value will be populated with the request's response once the request completes 119// successfully. 120// 121// Use "Send" method on the returned Request to send the API call to the service. 122// the "output" return value is not valid until after Send returns without error. 123// 124// See CreateService for more information on using the CreateService 125// API call, and error handling. 126// 127// This method is useful when you want to inject custom logic or configuration 128// into the SDK's request lifecycle. Such as custom headers, or retry logic. 129// 130// 131// // Example sending a request using the CreateServiceRequest method. 132// req, resp := client.CreateServiceRequest(params) 133// 134// err := req.Send() 135// if err == nil { // resp is now filled 136// fmt.Println(resp) 137// } 138// 139// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 140func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) { 141 op := &request.Operation{ 142 Name: opCreateService, 143 HTTPMethod: "POST", 144 HTTPPath: "/", 145 } 146 147 if input == nil { 148 input = &CreateServiceInput{} 149 } 150 151 output = &CreateServiceOutput{} 152 req = c.newRequest(op, input, output) 153 return 154} 155 156// CreateService API operation for Amazon EC2 Container Service. 157// 158// Runs and maintains a desired number of tasks from a specified task definition. 159// If the number of tasks running in a service drops below the desiredCount, 160// Amazon ECS runs another copy of the task in the specified cluster. To update 161// an existing service, see UpdateService. 162// 163// In addition to maintaining the desired count of tasks in your service, you 164// can optionally run your service behind one or more load balancers. The load 165// balancers distribute traffic across the tasks that are associated with the 166// service. For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 167// in the Amazon Elastic Container Service Developer Guide. 168// 169// Tasks for services that do not use a load balancer are considered healthy 170// if they're in the RUNNING state. Tasks for services that do use a load balancer 171// are considered healthy if they're in the RUNNING state and the container 172// instance that they're hosted on is reported as healthy by the load balancer. 173// 174// There are two service scheduler strategies available: 175// 176// * REPLICA - The replica scheduling strategy places and maintains the desired 177// number of tasks across your cluster. By default, the service scheduler 178// spreads tasks across Availability Zones. You can use task placement strategies 179// and constraints to customize task placement decisions. For more information, 180// see Service Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) 181// in the Amazon Elastic Container Service Developer Guide. 182// 183// * DAEMON - The daemon scheduling strategy deploys exactly one task on 184// each active container instance that meets all of the task placement constraints 185// that you specify in your cluster. When using this strategy, you don't 186// need to specify a desired number of tasks, a task placement strategy, 187// or use Service Auto Scaling policies. For more information, see Service 188// Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) 189// in the Amazon Elastic Container Service Developer Guide. 190// 191// You can optionally specify a deployment configuration for your service. The 192// deployment is triggered by changing properties, such as the task definition 193// or the desired count of a service, with an UpdateService operation. The default 194// value for a replica service for minimumHealthyPercent is 100%. The default 195// value for a daemon service for minimumHealthyPercent is 0%. 196// 197// If a service is using the ECS deployment controller, the minimum healthy 198// percent represents a lower limit on the number of tasks in a service that 199// must remain in the RUNNING state during a deployment, as a percentage of 200// the desired number of tasks (rounded up to the nearest integer), and while 201// any container instances are in the DRAINING state if the service contains 202// tasks using the EC2 launch type. This parameter enables you to deploy without 203// using additional cluster capacity. For example, if your service has a desired 204// number of four tasks and a minimum healthy percent of 50%, the scheduler 205// might stop two existing tasks to free up cluster capacity before starting 206// two new tasks. Tasks for services that do not use a load balancer are considered 207// healthy if they're in the RUNNING state. Tasks for services that do use a 208// load balancer are considered healthy if they're in the RUNNING state and 209// they're reported as healthy by the load balancer. The default value for minimum 210// healthy percent is 100%. 211// 212// If a service is using the ECS deployment controller, the maximum percent 213// parameter represents an upper limit on the number of tasks in a service that 214// are allowed in the RUNNING or PENDING state during a deployment, as a percentage 215// of the desired number of tasks (rounded down to the nearest integer), and 216// while any container instances are in the DRAINING state if the service contains 217// tasks using the EC2 launch type. This parameter enables you to define the 218// deployment batch size. For example, if your service has a desired number 219// of four tasks and a maximum percent value of 200%, the scheduler may start 220// four new tasks before stopping the four older tasks (provided that the cluster 221// resources required to do this are available). The default value for maximum 222// percent is 200%. 223// 224// If a service is using either the CODE_DEPLOY or EXTERNAL deployment controller 225// types and tasks that use the EC2 launch type, the minimum healthy percent 226// and maximum percent values are used only to define the lower and upper limit 227// on the number of the tasks in the service that remain in the RUNNING state 228// while the container instances are in the DRAINING state. If the tasks in 229// the service use the Fargate launch type, the minimum healthy percent and 230// maximum percent values aren't used, although they're currently visible when 231// describing your service. 232// 233// When creating a service that uses the EXTERNAL deployment controller, you 234// can specify only parameters that aren't controlled at the task set level. 235// The only required parameter is the service name. You control your services 236// using the CreateTaskSet operation. For more information, see Amazon ECS Deployment 237// Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 238// in the Amazon Elastic Container Service Developer Guide. 239// 240// When the service scheduler launches new tasks, it determines task placement 241// in your cluster using the following logic: 242// 243// * Determine which of the container instances in your cluster can support 244// your service's task definition (for example, they have the required CPU, 245// memory, ports, and container instance attributes). 246// 247// * By default, the service scheduler attempts to balance tasks across Availability 248// Zones in this manner (although you can choose a different placement strategy) 249// with the placementStrategy parameter): Sort the valid container instances, 250// giving priority to instances that have the fewest number of running tasks 251// for this service in their respective Availability Zone. For example, if 252// zone A has one running service task and zones B and C each have zero, 253// valid container instances in either zone B or C are considered optimal 254// for placement. Place the new service task on a valid container instance 255// in an optimal Availability Zone (based on the previous steps), favoring 256// container instances with the fewest number of running tasks for this service. 257// 258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 259// with awserr.Error's Code and Message methods to get detailed information about 260// the error. 261// 262// See the AWS API reference guide for Amazon EC2 Container Service's 263// API operation CreateService for usage and error information. 264// 265// Returned Error Codes: 266// * ErrCodeServerException "ServerException" 267// These errors are usually caused by a server issue. 268// 269// * ErrCodeClientException "ClientException" 270// These errors are usually caused by a client action, such as using an action 271// or resource on behalf of a user that doesn't have permissions to use the 272// action or resource, or specifying an identifier that is not valid. 273// 274// * ErrCodeInvalidParameterException "InvalidParameterException" 275// The specified parameter is invalid. Review the available parameters for the 276// API request. 277// 278// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 279// The specified cluster could not be found. You can view your available clusters 280// with ListClusters. Amazon ECS clusters are Region-specific. 281// 282// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 283// The specified task is not supported in this Region. 284// 285// * ErrCodePlatformUnknownException "PlatformUnknownException" 286// The specified platform version does not exist. 287// 288// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 289// The specified platform version does not satisfy the task definition's required 290// capabilities. 291// 292// * ErrCodeAccessDeniedException "AccessDeniedException" 293// You do not have authorization to perform the requested action. 294// 295// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 296func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) { 297 req, out := c.CreateServiceRequest(input) 298 return out, req.Send() 299} 300 301// CreateServiceWithContext is the same as CreateService with the addition of 302// the ability to pass a context and additional request options. 303// 304// See CreateService for details on how to use this API operation. 305// 306// The context must be non-nil and will be used for request cancellation. If 307// the context is nil a panic will occur. In the future the SDK may create 308// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 309// for more information on using Contexts. 310func (c *ECS) CreateServiceWithContext(ctx aws.Context, input *CreateServiceInput, opts ...request.Option) (*CreateServiceOutput, error) { 311 req, out := c.CreateServiceRequest(input) 312 req.SetContext(ctx) 313 req.ApplyOptions(opts...) 314 return out, req.Send() 315} 316 317const opCreateTaskSet = "CreateTaskSet" 318 319// CreateTaskSetRequest generates a "aws/request.Request" representing the 320// client's request for the CreateTaskSet operation. The "output" return 321// value will be populated with the request's response once the request completes 322// successfully. 323// 324// Use "Send" method on the returned Request to send the API call to the service. 325// the "output" return value is not valid until after Send returns without error. 326// 327// See CreateTaskSet for more information on using the CreateTaskSet 328// API call, and error handling. 329// 330// This method is useful when you want to inject custom logic or configuration 331// into the SDK's request lifecycle. Such as custom headers, or retry logic. 332// 333// 334// // Example sending a request using the CreateTaskSetRequest method. 335// req, resp := client.CreateTaskSetRequest(params) 336// 337// err := req.Send() 338// if err == nil { // resp is now filled 339// fmt.Println(resp) 340// } 341// 342// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 343func (c *ECS) CreateTaskSetRequest(input *CreateTaskSetInput) (req *request.Request, output *CreateTaskSetOutput) { 344 op := &request.Operation{ 345 Name: opCreateTaskSet, 346 HTTPMethod: "POST", 347 HTTPPath: "/", 348 } 349 350 if input == nil { 351 input = &CreateTaskSetInput{} 352 } 353 354 output = &CreateTaskSetOutput{} 355 req = c.newRequest(op, input, output) 356 return 357} 358 359// CreateTaskSet API operation for Amazon EC2 Container Service. 360// 361// Create a task set in the specified cluster and service. This is used when 362// a service uses the EXTERNAL deployment controller type. For more information, 363// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 364// in the Amazon Elastic Container Service Developer Guide. 365// 366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 367// with awserr.Error's Code and Message methods to get detailed information about 368// the error. 369// 370// See the AWS API reference guide for Amazon EC2 Container Service's 371// API operation CreateTaskSet for usage and error information. 372// 373// Returned Error Codes: 374// * ErrCodeServerException "ServerException" 375// These errors are usually caused by a server issue. 376// 377// * ErrCodeClientException "ClientException" 378// These errors are usually caused by a client action, such as using an action 379// or resource on behalf of a user that doesn't have permissions to use the 380// action or resource, or specifying an identifier that is not valid. 381// 382// * ErrCodeInvalidParameterException "InvalidParameterException" 383// The specified parameter is invalid. Review the available parameters for the 384// API request. 385// 386// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 387// The specified cluster could not be found. You can view your available clusters 388// with ListClusters. Amazon ECS clusters are Region-specific. 389// 390// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 391// The specified task is not supported in this Region. 392// 393// * ErrCodePlatformUnknownException "PlatformUnknownException" 394// The specified platform version does not exist. 395// 396// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 397// The specified platform version does not satisfy the task definition's required 398// capabilities. 399// 400// * ErrCodeAccessDeniedException "AccessDeniedException" 401// You do not have authorization to perform the requested action. 402// 403// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 404// The specified service could not be found. You can view your available services 405// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 406// 407// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 408// The specified service is not active. You can't update a service that is inactive. 409// If you have previously deleted a service, you can re-create it with CreateService. 410// 411// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 412func (c *ECS) CreateTaskSet(input *CreateTaskSetInput) (*CreateTaskSetOutput, error) { 413 req, out := c.CreateTaskSetRequest(input) 414 return out, req.Send() 415} 416 417// CreateTaskSetWithContext is the same as CreateTaskSet with the addition of 418// the ability to pass a context and additional request options. 419// 420// See CreateTaskSet for details on how to use this API operation. 421// 422// The context must be non-nil and will be used for request cancellation. If 423// the context is nil a panic will occur. In the future the SDK may create 424// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 425// for more information on using Contexts. 426func (c *ECS) CreateTaskSetWithContext(ctx aws.Context, input *CreateTaskSetInput, opts ...request.Option) (*CreateTaskSetOutput, error) { 427 req, out := c.CreateTaskSetRequest(input) 428 req.SetContext(ctx) 429 req.ApplyOptions(opts...) 430 return out, req.Send() 431} 432 433const opDeleteAccountSetting = "DeleteAccountSetting" 434 435// DeleteAccountSettingRequest generates a "aws/request.Request" representing the 436// client's request for the DeleteAccountSetting operation. The "output" return 437// value will be populated with the request's response once the request completes 438// successfully. 439// 440// Use "Send" method on the returned Request to send the API call to the service. 441// the "output" return value is not valid until after Send returns without error. 442// 443// See DeleteAccountSetting for more information on using the DeleteAccountSetting 444// API call, and error handling. 445// 446// This method is useful when you want to inject custom logic or configuration 447// into the SDK's request lifecycle. Such as custom headers, or retry logic. 448// 449// 450// // Example sending a request using the DeleteAccountSettingRequest method. 451// req, resp := client.DeleteAccountSettingRequest(params) 452// 453// err := req.Send() 454// if err == nil { // resp is now filled 455// fmt.Println(resp) 456// } 457// 458// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 459func (c *ECS) DeleteAccountSettingRequest(input *DeleteAccountSettingInput) (req *request.Request, output *DeleteAccountSettingOutput) { 460 op := &request.Operation{ 461 Name: opDeleteAccountSetting, 462 HTTPMethod: "POST", 463 HTTPPath: "/", 464 } 465 466 if input == nil { 467 input = &DeleteAccountSettingInput{} 468 } 469 470 output = &DeleteAccountSettingOutput{} 471 req = c.newRequest(op, input, output) 472 return 473} 474 475// DeleteAccountSetting API operation for Amazon EC2 Container Service. 476// 477// Disables an account setting for a specified IAM user, IAM role, or the root 478// user for an account. 479// 480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 481// with awserr.Error's Code and Message methods to get detailed information about 482// the error. 483// 484// See the AWS API reference guide for Amazon EC2 Container Service's 485// API operation DeleteAccountSetting for usage and error information. 486// 487// Returned Error Codes: 488// * ErrCodeServerException "ServerException" 489// These errors are usually caused by a server issue. 490// 491// * ErrCodeClientException "ClientException" 492// These errors are usually caused by a client action, such as using an action 493// or resource on behalf of a user that doesn't have permissions to use the 494// action or resource, or specifying an identifier that is not valid. 495// 496// * ErrCodeInvalidParameterException "InvalidParameterException" 497// The specified parameter is invalid. Review the available parameters for the 498// API request. 499// 500// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 501func (c *ECS) DeleteAccountSetting(input *DeleteAccountSettingInput) (*DeleteAccountSettingOutput, error) { 502 req, out := c.DeleteAccountSettingRequest(input) 503 return out, req.Send() 504} 505 506// DeleteAccountSettingWithContext is the same as DeleteAccountSetting with the addition of 507// the ability to pass a context and additional request options. 508// 509// See DeleteAccountSetting for details on how to use this API operation. 510// 511// The context must be non-nil and will be used for request cancellation. If 512// the context is nil a panic will occur. In the future the SDK may create 513// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 514// for more information on using Contexts. 515func (c *ECS) DeleteAccountSettingWithContext(ctx aws.Context, input *DeleteAccountSettingInput, opts ...request.Option) (*DeleteAccountSettingOutput, error) { 516 req, out := c.DeleteAccountSettingRequest(input) 517 req.SetContext(ctx) 518 req.ApplyOptions(opts...) 519 return out, req.Send() 520} 521 522const opDeleteAttributes = "DeleteAttributes" 523 524// DeleteAttributesRequest generates a "aws/request.Request" representing the 525// client's request for the DeleteAttributes operation. The "output" return 526// value will be populated with the request's response once the request completes 527// successfully. 528// 529// Use "Send" method on the returned Request to send the API call to the service. 530// the "output" return value is not valid until after Send returns without error. 531// 532// See DeleteAttributes for more information on using the DeleteAttributes 533// API call, and error handling. 534// 535// This method is useful when you want to inject custom logic or configuration 536// into the SDK's request lifecycle. Such as custom headers, or retry logic. 537// 538// 539// // Example sending a request using the DeleteAttributesRequest method. 540// req, resp := client.DeleteAttributesRequest(params) 541// 542// err := req.Send() 543// if err == nil { // resp is now filled 544// fmt.Println(resp) 545// } 546// 547// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 548func (c *ECS) DeleteAttributesRequest(input *DeleteAttributesInput) (req *request.Request, output *DeleteAttributesOutput) { 549 op := &request.Operation{ 550 Name: opDeleteAttributes, 551 HTTPMethod: "POST", 552 HTTPPath: "/", 553 } 554 555 if input == nil { 556 input = &DeleteAttributesInput{} 557 } 558 559 output = &DeleteAttributesOutput{} 560 req = c.newRequest(op, input, output) 561 return 562} 563 564// DeleteAttributes API operation for Amazon EC2 Container Service. 565// 566// Deletes one or more custom attributes from an Amazon ECS resource. 567// 568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 569// with awserr.Error's Code and Message methods to get detailed information about 570// the error. 571// 572// See the AWS API reference guide for Amazon EC2 Container Service's 573// API operation DeleteAttributes for usage and error information. 574// 575// Returned Error Codes: 576// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 577// The specified cluster could not be found. You can view your available clusters 578// with ListClusters. Amazon ECS clusters are Region-specific. 579// 580// * ErrCodeTargetNotFoundException "TargetNotFoundException" 581// The specified target could not be found. You can view your available container 582// instances with ListContainerInstances. Amazon ECS container instances are 583// cluster-specific and Region-specific. 584// 585// * ErrCodeInvalidParameterException "InvalidParameterException" 586// The specified parameter is invalid. Review the available parameters for the 587// API request. 588// 589// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 590func (c *ECS) DeleteAttributes(input *DeleteAttributesInput) (*DeleteAttributesOutput, error) { 591 req, out := c.DeleteAttributesRequest(input) 592 return out, req.Send() 593} 594 595// DeleteAttributesWithContext is the same as DeleteAttributes with the addition of 596// the ability to pass a context and additional request options. 597// 598// See DeleteAttributes for details on how to use this API operation. 599// 600// The context must be non-nil and will be used for request cancellation. If 601// the context is nil a panic will occur. In the future the SDK may create 602// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 603// for more information on using Contexts. 604func (c *ECS) DeleteAttributesWithContext(ctx aws.Context, input *DeleteAttributesInput, opts ...request.Option) (*DeleteAttributesOutput, error) { 605 req, out := c.DeleteAttributesRequest(input) 606 req.SetContext(ctx) 607 req.ApplyOptions(opts...) 608 return out, req.Send() 609} 610 611const opDeleteCluster = "DeleteCluster" 612 613// DeleteClusterRequest generates a "aws/request.Request" representing the 614// client's request for the DeleteCluster operation. The "output" return 615// value will be populated with the request's response once the request completes 616// successfully. 617// 618// Use "Send" method on the returned Request to send the API call to the service. 619// the "output" return value is not valid until after Send returns without error. 620// 621// See DeleteCluster for more information on using the DeleteCluster 622// API call, and error handling. 623// 624// This method is useful when you want to inject custom logic or configuration 625// into the SDK's request lifecycle. Such as custom headers, or retry logic. 626// 627// 628// // Example sending a request using the DeleteClusterRequest method. 629// req, resp := client.DeleteClusterRequest(params) 630// 631// err := req.Send() 632// if err == nil { // resp is now filled 633// fmt.Println(resp) 634// } 635// 636// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 637func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { 638 op := &request.Operation{ 639 Name: opDeleteCluster, 640 HTTPMethod: "POST", 641 HTTPPath: "/", 642 } 643 644 if input == nil { 645 input = &DeleteClusterInput{} 646 } 647 648 output = &DeleteClusterOutput{} 649 req = c.newRequest(op, input, output) 650 return 651} 652 653// DeleteCluster API operation for Amazon EC2 Container Service. 654// 655// Deletes the specified cluster. You must deregister all container instances 656// from this cluster before you may delete it. You can list the container instances 657// in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance. 658// 659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 660// with awserr.Error's Code and Message methods to get detailed information about 661// the error. 662// 663// See the AWS API reference guide for Amazon EC2 Container Service's 664// API operation DeleteCluster for usage and error information. 665// 666// Returned Error Codes: 667// * ErrCodeServerException "ServerException" 668// These errors are usually caused by a server issue. 669// 670// * ErrCodeClientException "ClientException" 671// These errors are usually caused by a client action, such as using an action 672// or resource on behalf of a user that doesn't have permissions to use the 673// action or resource, or specifying an identifier that is not valid. 674// 675// * ErrCodeInvalidParameterException "InvalidParameterException" 676// The specified parameter is invalid. Review the available parameters for the 677// API request. 678// 679// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 680// The specified cluster could not be found. You can view your available clusters 681// with ListClusters. Amazon ECS clusters are Region-specific. 682// 683// * ErrCodeClusterContainsContainerInstancesException "ClusterContainsContainerInstancesException" 684// You cannot delete a cluster that has registered container instances. First, 685// deregister the container instances before you can delete the cluster. For 686// more information, see DeregisterContainerInstance. 687// 688// * ErrCodeClusterContainsServicesException "ClusterContainsServicesException" 689// You cannot delete a cluster that contains services. First, update the service 690// to reduce its desired task count to 0 and then delete the service. For more 691// information, see UpdateService and DeleteService. 692// 693// * ErrCodeClusterContainsTasksException "ClusterContainsTasksException" 694// You cannot delete a cluster that has active tasks. 695// 696// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 697func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { 698 req, out := c.DeleteClusterRequest(input) 699 return out, req.Send() 700} 701 702// DeleteClusterWithContext is the same as DeleteCluster with the addition of 703// the ability to pass a context and additional request options. 704// 705// See DeleteCluster 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) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { 712 req, out := c.DeleteClusterRequest(input) 713 req.SetContext(ctx) 714 req.ApplyOptions(opts...) 715 return out, req.Send() 716} 717 718const opDeleteService = "DeleteService" 719 720// DeleteServiceRequest generates a "aws/request.Request" representing the 721// client's request for the DeleteService 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 DeleteService for more information on using the DeleteService 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 DeleteServiceRequest method. 736// req, resp := client.DeleteServiceRequest(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/DeleteService 744func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) { 745 op := &request.Operation{ 746 Name: opDeleteService, 747 HTTPMethod: "POST", 748 HTTPPath: "/", 749 } 750 751 if input == nil { 752 input = &DeleteServiceInput{} 753 } 754 755 output = &DeleteServiceOutput{} 756 req = c.newRequest(op, input, output) 757 return 758} 759 760// DeleteService API operation for Amazon EC2 Container Service. 761// 762// Deletes a specified service within a cluster. You can delete a service if 763// you have no running tasks in it and the desired task count is zero. If the 764// service is actively maintaining tasks, you cannot delete it, and you must 765// update the service to a desired task count of zero. For more information, 766// see UpdateService. 767// 768// When you delete a service, if there are still running tasks that require 769// cleanup, the service status moves from ACTIVE to DRAINING, and the service 770// is no longer visible in the console or in the ListServices API operation. 771// After all tasks have transitioned to either STOPPING or STOPPED status, the 772// service status moves from DRAINING to INACTIVE. Services in the DRAINING 773// or INACTIVE status can still be viewed with the DescribeServices API operation. 774// However, in the future, INACTIVE services may be cleaned up and purged from 775// Amazon ECS record keeping, and DescribeServices calls on those services return 776// a ServiceNotFoundException error. 777// 778// If you attempt to create a new service with the same name as an existing 779// service in either ACTIVE or DRAINING status, you receive an error. 780// 781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 782// with awserr.Error's Code and Message methods to get detailed information about 783// the error. 784// 785// See the AWS API reference guide for Amazon EC2 Container Service's 786// API operation DeleteService for usage and error information. 787// 788// Returned Error Codes: 789// * ErrCodeServerException "ServerException" 790// These errors are usually caused by a server issue. 791// 792// * ErrCodeClientException "ClientException" 793// These errors are usually caused by a client action, such as using an action 794// or resource on behalf of a user that doesn't have permissions to use the 795// action or resource, or specifying an identifier that is not valid. 796// 797// * ErrCodeInvalidParameterException "InvalidParameterException" 798// The specified parameter is invalid. Review the available parameters for the 799// API request. 800// 801// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 802// The specified cluster could not be found. You can view your available clusters 803// with ListClusters. Amazon ECS clusters are Region-specific. 804// 805// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 806// The specified service could not be found. You can view your available services 807// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 808// 809// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 810func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) { 811 req, out := c.DeleteServiceRequest(input) 812 return out, req.Send() 813} 814 815// DeleteServiceWithContext is the same as DeleteService with the addition of 816// the ability to pass a context and additional request options. 817// 818// See DeleteService for details on how to use this API operation. 819// 820// The context must be non-nil and will be used for request cancellation. If 821// the context is nil a panic will occur. In the future the SDK may create 822// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 823// for more information on using Contexts. 824func (c *ECS) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInput, opts ...request.Option) (*DeleteServiceOutput, error) { 825 req, out := c.DeleteServiceRequest(input) 826 req.SetContext(ctx) 827 req.ApplyOptions(opts...) 828 return out, req.Send() 829} 830 831const opDeleteTaskSet = "DeleteTaskSet" 832 833// DeleteTaskSetRequest generates a "aws/request.Request" representing the 834// client's request for the DeleteTaskSet operation. The "output" return 835// value will be populated with the request's response once the request completes 836// successfully. 837// 838// Use "Send" method on the returned Request to send the API call to the service. 839// the "output" return value is not valid until after Send returns without error. 840// 841// See DeleteTaskSet for more information on using the DeleteTaskSet 842// API call, and error handling. 843// 844// This method is useful when you want to inject custom logic or configuration 845// into the SDK's request lifecycle. Such as custom headers, or retry logic. 846// 847// 848// // Example sending a request using the DeleteTaskSetRequest method. 849// req, resp := client.DeleteTaskSetRequest(params) 850// 851// err := req.Send() 852// if err == nil { // resp is now filled 853// fmt.Println(resp) 854// } 855// 856// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 857func (c *ECS) DeleteTaskSetRequest(input *DeleteTaskSetInput) (req *request.Request, output *DeleteTaskSetOutput) { 858 op := &request.Operation{ 859 Name: opDeleteTaskSet, 860 HTTPMethod: "POST", 861 HTTPPath: "/", 862 } 863 864 if input == nil { 865 input = &DeleteTaskSetInput{} 866 } 867 868 output = &DeleteTaskSetOutput{} 869 req = c.newRequest(op, input, output) 870 return 871} 872 873// DeleteTaskSet API operation for Amazon EC2 Container Service. 874// 875// Deletes a specified task set within a service. This is used when a service 876// uses the EXTERNAL deployment controller type. For more information, see Amazon 877// ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 878// in the Amazon Elastic Container Service Developer Guide. 879// 880// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 881// with awserr.Error's Code and Message methods to get detailed information about 882// the error. 883// 884// See the AWS API reference guide for Amazon EC2 Container Service's 885// API operation DeleteTaskSet for usage and error information. 886// 887// Returned Error Codes: 888// * ErrCodeServerException "ServerException" 889// These errors are usually caused by a server issue. 890// 891// * ErrCodeClientException "ClientException" 892// These errors are usually caused by a client action, such as using an action 893// or resource on behalf of a user that doesn't have permissions to use the 894// action or resource, or specifying an identifier that is not valid. 895// 896// * ErrCodeInvalidParameterException "InvalidParameterException" 897// The specified parameter is invalid. Review the available parameters for the 898// API request. 899// 900// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 901// The specified cluster could not be found. You can view your available clusters 902// with ListClusters. Amazon ECS clusters are Region-specific. 903// 904// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 905// The specified task is not supported in this Region. 906// 907// * ErrCodeAccessDeniedException "AccessDeniedException" 908// You do not have authorization to perform the requested action. 909// 910// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 911// The specified service could not be found. You can view your available services 912// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 913// 914// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 915// The specified service is not active. You can't update a service that is inactive. 916// If you have previously deleted a service, you can re-create it with CreateService. 917// 918// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" 919// The specified task set could not be found. You can view your available container 920// instances with DescribeTaskSets. Task sets are specific to each cluster, 921// service and Region. 922// 923// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 924func (c *ECS) DeleteTaskSet(input *DeleteTaskSetInput) (*DeleteTaskSetOutput, error) { 925 req, out := c.DeleteTaskSetRequest(input) 926 return out, req.Send() 927} 928 929// DeleteTaskSetWithContext is the same as DeleteTaskSet with the addition of 930// the ability to pass a context and additional request options. 931// 932// See DeleteTaskSet for details on how to use this API operation. 933// 934// The context must be non-nil and will be used for request cancellation. If 935// the context is nil a panic will occur. In the future the SDK may create 936// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 937// for more information on using Contexts. 938func (c *ECS) DeleteTaskSetWithContext(ctx aws.Context, input *DeleteTaskSetInput, opts ...request.Option) (*DeleteTaskSetOutput, error) { 939 req, out := c.DeleteTaskSetRequest(input) 940 req.SetContext(ctx) 941 req.ApplyOptions(opts...) 942 return out, req.Send() 943} 944 945const opDeregisterContainerInstance = "DeregisterContainerInstance" 946 947// DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the 948// client's request for the DeregisterContainerInstance operation. The "output" return 949// value will be populated with the request's response once the request completes 950// successfully. 951// 952// Use "Send" method on the returned Request to send the API call to the service. 953// the "output" return value is not valid until after Send returns without error. 954// 955// See DeregisterContainerInstance for more information on using the DeregisterContainerInstance 956// API call, and error handling. 957// 958// This method is useful when you want to inject custom logic or configuration 959// into the SDK's request lifecycle. Such as custom headers, or retry logic. 960// 961// 962// // Example sending a request using the DeregisterContainerInstanceRequest method. 963// req, resp := client.DeregisterContainerInstanceRequest(params) 964// 965// err := req.Send() 966// if err == nil { // resp is now filled 967// fmt.Println(resp) 968// } 969// 970// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 971func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) { 972 op := &request.Operation{ 973 Name: opDeregisterContainerInstance, 974 HTTPMethod: "POST", 975 HTTPPath: "/", 976 } 977 978 if input == nil { 979 input = &DeregisterContainerInstanceInput{} 980 } 981 982 output = &DeregisterContainerInstanceOutput{} 983 req = c.newRequest(op, input, output) 984 return 985} 986 987// DeregisterContainerInstance API operation for Amazon EC2 Container Service. 988// 989// Deregisters an Amazon ECS container instance from the specified cluster. 990// This instance is no longer available to run tasks. 991// 992// If you intend to use the container instance for some other purpose after 993// deregistration, you should stop all of the tasks running on the container 994// instance before deregistration. That prevents any orphaned tasks from consuming 995// resources. 996// 997// Deregistering a container instance removes the instance from a cluster, but 998// it does not terminate the EC2 instance. If you are finished using the instance, 999// be sure to terminate it in the Amazon EC2 console to stop billing. 1000// 1001// If you terminate a running container instance, Amazon ECS automatically deregisters 1002// the instance from your cluster (stopped container instances or instances 1003// with disconnected agents are not automatically deregistered when terminated). 1004// 1005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1006// with awserr.Error's Code and Message methods to get detailed information about 1007// the error. 1008// 1009// See the AWS API reference guide for Amazon EC2 Container Service's 1010// API operation DeregisterContainerInstance for usage and error information. 1011// 1012// Returned Error Codes: 1013// * ErrCodeServerException "ServerException" 1014// These errors are usually caused by a server issue. 1015// 1016// * ErrCodeClientException "ClientException" 1017// These errors are usually caused by a client action, such as using an action 1018// or resource on behalf of a user that doesn't have permissions to use the 1019// action or resource, or specifying an identifier that is not valid. 1020// 1021// * ErrCodeInvalidParameterException "InvalidParameterException" 1022// The specified parameter is invalid. Review the available parameters for the 1023// API request. 1024// 1025// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1026// The specified cluster could not be found. You can view your available clusters 1027// with ListClusters. Amazon ECS clusters are Region-specific. 1028// 1029// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1030func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) { 1031 req, out := c.DeregisterContainerInstanceRequest(input) 1032 return out, req.Send() 1033} 1034 1035// DeregisterContainerInstanceWithContext is the same as DeregisterContainerInstance with the addition of 1036// the ability to pass a context and additional request options. 1037// 1038// See DeregisterContainerInstance for details on how to use this API operation. 1039// 1040// The context must be non-nil and will be used for request cancellation. If 1041// the context is nil a panic will occur. In the future the SDK may create 1042// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1043// for more information on using Contexts. 1044func (c *ECS) DeregisterContainerInstanceWithContext(ctx aws.Context, input *DeregisterContainerInstanceInput, opts ...request.Option) (*DeregisterContainerInstanceOutput, error) { 1045 req, out := c.DeregisterContainerInstanceRequest(input) 1046 req.SetContext(ctx) 1047 req.ApplyOptions(opts...) 1048 return out, req.Send() 1049} 1050 1051const opDeregisterTaskDefinition = "DeregisterTaskDefinition" 1052 1053// DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the 1054// client's request for the DeregisterTaskDefinition operation. The "output" return 1055// value will be populated with the request's response once the request completes 1056// successfully. 1057// 1058// Use "Send" method on the returned Request to send the API call to the service. 1059// the "output" return value is not valid until after Send returns without error. 1060// 1061// See DeregisterTaskDefinition for more information on using the DeregisterTaskDefinition 1062// API call, and error handling. 1063// 1064// This method is useful when you want to inject custom logic or configuration 1065// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1066// 1067// 1068// // Example sending a request using the DeregisterTaskDefinitionRequest method. 1069// req, resp := client.DeregisterTaskDefinitionRequest(params) 1070// 1071// err := req.Send() 1072// if err == nil { // resp is now filled 1073// fmt.Println(resp) 1074// } 1075// 1076// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1077func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) { 1078 op := &request.Operation{ 1079 Name: opDeregisterTaskDefinition, 1080 HTTPMethod: "POST", 1081 HTTPPath: "/", 1082 } 1083 1084 if input == nil { 1085 input = &DeregisterTaskDefinitionInput{} 1086 } 1087 1088 output = &DeregisterTaskDefinitionOutput{} 1089 req = c.newRequest(op, input, output) 1090 return 1091} 1092 1093// DeregisterTaskDefinition API operation for Amazon EC2 Container Service. 1094// 1095// Deregisters the specified task definition by family and revision. Upon deregistration, 1096// the task definition is marked as INACTIVE. Existing tasks and services that 1097// reference an INACTIVE task definition continue to run without disruption. 1098// Existing services that reference an INACTIVE task definition can still scale 1099// up or down by modifying the service's desired count. 1100// 1101// You cannot use an INACTIVE task definition to run new tasks or create new 1102// services, and you cannot update an existing service to reference an INACTIVE 1103// task definition. However, there may be up to a 10-minute window following 1104// deregistration where these restrictions have not yet taken effect. 1105// 1106// At this time, INACTIVE task definitions remain discoverable in your account 1107// indefinitely. However, this behavior is subject to change in the future, 1108// so you should not rely on INACTIVE task definitions persisting beyond the 1109// lifecycle of any associated tasks and services. 1110// 1111// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1112// with awserr.Error's Code and Message methods to get detailed information about 1113// the error. 1114// 1115// See the AWS API reference guide for Amazon EC2 Container Service's 1116// API operation DeregisterTaskDefinition for usage and error information. 1117// 1118// Returned Error Codes: 1119// * ErrCodeServerException "ServerException" 1120// These errors are usually caused by a server issue. 1121// 1122// * ErrCodeClientException "ClientException" 1123// These errors are usually caused by a client action, such as using an action 1124// or resource on behalf of a user that doesn't have permissions to use the 1125// action or resource, or specifying an identifier that is not valid. 1126// 1127// * ErrCodeInvalidParameterException "InvalidParameterException" 1128// The specified parameter is invalid. Review the available parameters for the 1129// API request. 1130// 1131// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1132func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) { 1133 req, out := c.DeregisterTaskDefinitionRequest(input) 1134 return out, req.Send() 1135} 1136 1137// DeregisterTaskDefinitionWithContext is the same as DeregisterTaskDefinition with the addition of 1138// the ability to pass a context and additional request options. 1139// 1140// See DeregisterTaskDefinition for details on how to use this API operation. 1141// 1142// The context must be non-nil and will be used for request cancellation. If 1143// the context is nil a panic will occur. In the future the SDK may create 1144// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1145// for more information on using Contexts. 1146func (c *ECS) DeregisterTaskDefinitionWithContext(ctx aws.Context, input *DeregisterTaskDefinitionInput, opts ...request.Option) (*DeregisterTaskDefinitionOutput, error) { 1147 req, out := c.DeregisterTaskDefinitionRequest(input) 1148 req.SetContext(ctx) 1149 req.ApplyOptions(opts...) 1150 return out, req.Send() 1151} 1152 1153const opDescribeClusters = "DescribeClusters" 1154 1155// DescribeClustersRequest generates a "aws/request.Request" representing the 1156// client's request for the DescribeClusters operation. The "output" return 1157// value will be populated with the request's response once the request completes 1158// successfully. 1159// 1160// Use "Send" method on the returned Request to send the API call to the service. 1161// the "output" return value is not valid until after Send returns without error. 1162// 1163// See DescribeClusters for more information on using the DescribeClusters 1164// API call, and error handling. 1165// 1166// This method is useful when you want to inject custom logic or configuration 1167// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1168// 1169// 1170// // Example sending a request using the DescribeClustersRequest method. 1171// req, resp := client.DescribeClustersRequest(params) 1172// 1173// err := req.Send() 1174// if err == nil { // resp is now filled 1175// fmt.Println(resp) 1176// } 1177// 1178// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1179func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { 1180 op := &request.Operation{ 1181 Name: opDescribeClusters, 1182 HTTPMethod: "POST", 1183 HTTPPath: "/", 1184 } 1185 1186 if input == nil { 1187 input = &DescribeClustersInput{} 1188 } 1189 1190 output = &DescribeClustersOutput{} 1191 req = c.newRequest(op, input, output) 1192 return 1193} 1194 1195// DescribeClusters API operation for Amazon EC2 Container Service. 1196// 1197// Describes one or more of your clusters. 1198// 1199// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1200// with awserr.Error's Code and Message methods to get detailed information about 1201// the error. 1202// 1203// See the AWS API reference guide for Amazon EC2 Container Service's 1204// API operation DescribeClusters for usage and error information. 1205// 1206// Returned Error Codes: 1207// * ErrCodeServerException "ServerException" 1208// These errors are usually caused by a server issue. 1209// 1210// * ErrCodeClientException "ClientException" 1211// These errors are usually caused by a client action, such as using an action 1212// or resource on behalf of a user that doesn't have permissions to use the 1213// action or resource, or specifying an identifier that is not valid. 1214// 1215// * ErrCodeInvalidParameterException "InvalidParameterException" 1216// The specified parameter is invalid. Review the available parameters for the 1217// API request. 1218// 1219// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1220func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { 1221 req, out := c.DescribeClustersRequest(input) 1222 return out, req.Send() 1223} 1224 1225// DescribeClustersWithContext is the same as DescribeClusters with the addition of 1226// the ability to pass a context and additional request options. 1227// 1228// See DescribeClusters for details on how to use this API operation. 1229// 1230// The context must be non-nil and will be used for request cancellation. If 1231// the context is nil a panic will occur. In the future the SDK may create 1232// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1233// for more information on using Contexts. 1234func (c *ECS) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { 1235 req, out := c.DescribeClustersRequest(input) 1236 req.SetContext(ctx) 1237 req.ApplyOptions(opts...) 1238 return out, req.Send() 1239} 1240 1241const opDescribeContainerInstances = "DescribeContainerInstances" 1242 1243// DescribeContainerInstancesRequest generates a "aws/request.Request" representing the 1244// client's request for the DescribeContainerInstances operation. The "output" return 1245// value will be populated with the request's response once the request completes 1246// successfully. 1247// 1248// Use "Send" method on the returned Request to send the API call to the service. 1249// the "output" return value is not valid until after Send returns without error. 1250// 1251// See DescribeContainerInstances for more information on using the DescribeContainerInstances 1252// API call, and error handling. 1253// 1254// This method is useful when you want to inject custom logic or configuration 1255// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1256// 1257// 1258// // Example sending a request using the DescribeContainerInstancesRequest method. 1259// req, resp := client.DescribeContainerInstancesRequest(params) 1260// 1261// err := req.Send() 1262// if err == nil { // resp is now filled 1263// fmt.Println(resp) 1264// } 1265// 1266// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1267func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) { 1268 op := &request.Operation{ 1269 Name: opDescribeContainerInstances, 1270 HTTPMethod: "POST", 1271 HTTPPath: "/", 1272 } 1273 1274 if input == nil { 1275 input = &DescribeContainerInstancesInput{} 1276 } 1277 1278 output = &DescribeContainerInstancesOutput{} 1279 req = c.newRequest(op, input, output) 1280 return 1281} 1282 1283// DescribeContainerInstances API operation for Amazon EC2 Container Service. 1284// 1285// Describes Amazon Elastic Container Service container instances. Returns metadata 1286// about registered and remaining resources on each container instance requested. 1287// 1288// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1289// with awserr.Error's Code and Message methods to get detailed information about 1290// the error. 1291// 1292// See the AWS API reference guide for Amazon EC2 Container Service's 1293// API operation DescribeContainerInstances for usage and error information. 1294// 1295// Returned Error Codes: 1296// * ErrCodeServerException "ServerException" 1297// These errors are usually caused by a server issue. 1298// 1299// * ErrCodeClientException "ClientException" 1300// These errors are usually caused by a client action, such as using an action 1301// or resource on behalf of a user that doesn't have permissions to use the 1302// action or resource, or specifying an identifier that is not valid. 1303// 1304// * ErrCodeInvalidParameterException "InvalidParameterException" 1305// The specified parameter is invalid. Review the available parameters for the 1306// API request. 1307// 1308// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1309// The specified cluster could not be found. You can view your available clusters 1310// with ListClusters. Amazon ECS clusters are Region-specific. 1311// 1312// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1313func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) { 1314 req, out := c.DescribeContainerInstancesRequest(input) 1315 return out, req.Send() 1316} 1317 1318// DescribeContainerInstancesWithContext is the same as DescribeContainerInstances with the addition of 1319// the ability to pass a context and additional request options. 1320// 1321// See DescribeContainerInstances for details on how to use this API operation. 1322// 1323// The context must be non-nil and will be used for request cancellation. If 1324// the context is nil a panic will occur. In the future the SDK may create 1325// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1326// for more information on using Contexts. 1327func (c *ECS) DescribeContainerInstancesWithContext(ctx aws.Context, input *DescribeContainerInstancesInput, opts ...request.Option) (*DescribeContainerInstancesOutput, error) { 1328 req, out := c.DescribeContainerInstancesRequest(input) 1329 req.SetContext(ctx) 1330 req.ApplyOptions(opts...) 1331 return out, req.Send() 1332} 1333 1334const opDescribeServices = "DescribeServices" 1335 1336// DescribeServicesRequest generates a "aws/request.Request" representing the 1337// client's request for the DescribeServices operation. The "output" return 1338// value will be populated with the request's response once the request completes 1339// successfully. 1340// 1341// Use "Send" method on the returned Request to send the API call to the service. 1342// the "output" return value is not valid until after Send returns without error. 1343// 1344// See DescribeServices for more information on using the DescribeServices 1345// API call, and error handling. 1346// 1347// This method is useful when you want to inject custom logic or configuration 1348// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1349// 1350// 1351// // Example sending a request using the DescribeServicesRequest method. 1352// req, resp := client.DescribeServicesRequest(params) 1353// 1354// err := req.Send() 1355// if err == nil { // resp is now filled 1356// fmt.Println(resp) 1357// } 1358// 1359// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1360func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) { 1361 op := &request.Operation{ 1362 Name: opDescribeServices, 1363 HTTPMethod: "POST", 1364 HTTPPath: "/", 1365 } 1366 1367 if input == nil { 1368 input = &DescribeServicesInput{} 1369 } 1370 1371 output = &DescribeServicesOutput{} 1372 req = c.newRequest(op, input, output) 1373 return 1374} 1375 1376// DescribeServices API operation for Amazon EC2 Container Service. 1377// 1378// Describes the specified services running in your cluster. 1379// 1380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1381// with awserr.Error's Code and Message methods to get detailed information about 1382// the error. 1383// 1384// See the AWS API reference guide for Amazon EC2 Container Service's 1385// API operation DescribeServices for usage and error information. 1386// 1387// Returned Error Codes: 1388// * ErrCodeServerException "ServerException" 1389// These errors are usually caused by a server issue. 1390// 1391// * ErrCodeClientException "ClientException" 1392// These errors are usually caused by a client action, such as using an action 1393// or resource on behalf of a user that doesn't have permissions to use the 1394// action or resource, or specifying an identifier that is not valid. 1395// 1396// * ErrCodeInvalidParameterException "InvalidParameterException" 1397// The specified parameter is invalid. Review the available parameters for the 1398// API request. 1399// 1400// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1401// The specified cluster could not be found. You can view your available clusters 1402// with ListClusters. Amazon ECS clusters are Region-specific. 1403// 1404// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1405func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) { 1406 req, out := c.DescribeServicesRequest(input) 1407 return out, req.Send() 1408} 1409 1410// DescribeServicesWithContext is the same as DescribeServices with the addition of 1411// the ability to pass a context and additional request options. 1412// 1413// See DescribeServices for details on how to use this API operation. 1414// 1415// The context must be non-nil and will be used for request cancellation. If 1416// the context is nil a panic will occur. In the future the SDK may create 1417// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1418// for more information on using Contexts. 1419func (c *ECS) DescribeServicesWithContext(ctx aws.Context, input *DescribeServicesInput, opts ...request.Option) (*DescribeServicesOutput, error) { 1420 req, out := c.DescribeServicesRequest(input) 1421 req.SetContext(ctx) 1422 req.ApplyOptions(opts...) 1423 return out, req.Send() 1424} 1425 1426const opDescribeTaskDefinition = "DescribeTaskDefinition" 1427 1428// DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the 1429// client's request for the DescribeTaskDefinition operation. The "output" return 1430// value will be populated with the request's response once the request completes 1431// successfully. 1432// 1433// Use "Send" method on the returned Request to send the API call to the service. 1434// the "output" return value is not valid until after Send returns without error. 1435// 1436// See DescribeTaskDefinition for more information on using the DescribeTaskDefinition 1437// API call, and error handling. 1438// 1439// This method is useful when you want to inject custom logic or configuration 1440// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1441// 1442// 1443// // Example sending a request using the DescribeTaskDefinitionRequest method. 1444// req, resp := client.DescribeTaskDefinitionRequest(params) 1445// 1446// err := req.Send() 1447// if err == nil { // resp is now filled 1448// fmt.Println(resp) 1449// } 1450// 1451// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1452func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) { 1453 op := &request.Operation{ 1454 Name: opDescribeTaskDefinition, 1455 HTTPMethod: "POST", 1456 HTTPPath: "/", 1457 } 1458 1459 if input == nil { 1460 input = &DescribeTaskDefinitionInput{} 1461 } 1462 1463 output = &DescribeTaskDefinitionOutput{} 1464 req = c.newRequest(op, input, output) 1465 return 1466} 1467 1468// DescribeTaskDefinition API operation for Amazon EC2 Container Service. 1469// 1470// Describes a task definition. You can specify a family and revision to find 1471// information about a specific task definition, or you can simply specify the 1472// family to find the latest ACTIVE revision in that family. 1473// 1474// You can only describe INACTIVE task definitions while an active task or service 1475// references them. 1476// 1477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1478// with awserr.Error's Code and Message methods to get detailed information about 1479// the error. 1480// 1481// See the AWS API reference guide for Amazon EC2 Container Service's 1482// API operation DescribeTaskDefinition for usage and error information. 1483// 1484// Returned Error Codes: 1485// * ErrCodeServerException "ServerException" 1486// These errors are usually caused by a server issue. 1487// 1488// * ErrCodeClientException "ClientException" 1489// These errors are usually caused by a client action, such as using an action 1490// or resource on behalf of a user that doesn't have permissions to use the 1491// action or resource, or specifying an identifier that is not valid. 1492// 1493// * ErrCodeInvalidParameterException "InvalidParameterException" 1494// The specified parameter is invalid. Review the available parameters for the 1495// API request. 1496// 1497// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1498func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) { 1499 req, out := c.DescribeTaskDefinitionRequest(input) 1500 return out, req.Send() 1501} 1502 1503// DescribeTaskDefinitionWithContext is the same as DescribeTaskDefinition with the addition of 1504// the ability to pass a context and additional request options. 1505// 1506// See DescribeTaskDefinition for details on how to use this API operation. 1507// 1508// The context must be non-nil and will be used for request cancellation. If 1509// the context is nil a panic will occur. In the future the SDK may create 1510// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1511// for more information on using Contexts. 1512func (c *ECS) DescribeTaskDefinitionWithContext(ctx aws.Context, input *DescribeTaskDefinitionInput, opts ...request.Option) (*DescribeTaskDefinitionOutput, error) { 1513 req, out := c.DescribeTaskDefinitionRequest(input) 1514 req.SetContext(ctx) 1515 req.ApplyOptions(opts...) 1516 return out, req.Send() 1517} 1518 1519const opDescribeTaskSets = "DescribeTaskSets" 1520 1521// DescribeTaskSetsRequest generates a "aws/request.Request" representing the 1522// client's request for the DescribeTaskSets operation. The "output" return 1523// value will be populated with the request's response once the request completes 1524// successfully. 1525// 1526// Use "Send" method on the returned Request to send the API call to the service. 1527// the "output" return value is not valid until after Send returns without error. 1528// 1529// See DescribeTaskSets for more information on using the DescribeTaskSets 1530// API call, and error handling. 1531// 1532// This method is useful when you want to inject custom logic or configuration 1533// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1534// 1535// 1536// // Example sending a request using the DescribeTaskSetsRequest method. 1537// req, resp := client.DescribeTaskSetsRequest(params) 1538// 1539// err := req.Send() 1540// if err == nil { // resp is now filled 1541// fmt.Println(resp) 1542// } 1543// 1544// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1545func (c *ECS) DescribeTaskSetsRequest(input *DescribeTaskSetsInput) (req *request.Request, output *DescribeTaskSetsOutput) { 1546 op := &request.Operation{ 1547 Name: opDescribeTaskSets, 1548 HTTPMethod: "POST", 1549 HTTPPath: "/", 1550 } 1551 1552 if input == nil { 1553 input = &DescribeTaskSetsInput{} 1554 } 1555 1556 output = &DescribeTaskSetsOutput{} 1557 req = c.newRequest(op, input, output) 1558 return 1559} 1560 1561// DescribeTaskSets API operation for Amazon EC2 Container Service. 1562// 1563// Describes the task sets in the specified cluster and service. This is used 1564// when a service uses the EXTERNAL deployment controller type. For more information, 1565// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 1566// in the Amazon Elastic Container Service Developer Guide. 1567// 1568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1569// with awserr.Error's Code and Message methods to get detailed information about 1570// the error. 1571// 1572// See the AWS API reference guide for Amazon EC2 Container Service's 1573// API operation DescribeTaskSets for usage and error information. 1574// 1575// Returned Error Codes: 1576// * ErrCodeServerException "ServerException" 1577// These errors are usually caused by a server issue. 1578// 1579// * ErrCodeClientException "ClientException" 1580// These errors are usually caused by a client action, such as using an action 1581// or resource on behalf of a user that doesn't have permissions to use the 1582// action or resource, or specifying an identifier that is not valid. 1583// 1584// * ErrCodeInvalidParameterException "InvalidParameterException" 1585// The specified parameter is invalid. Review the available parameters for the 1586// API request. 1587// 1588// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1589// The specified cluster could not be found. You can view your available clusters 1590// with ListClusters. Amazon ECS clusters are Region-specific. 1591// 1592// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 1593// The specified task is not supported in this Region. 1594// 1595// * ErrCodeAccessDeniedException "AccessDeniedException" 1596// You do not have authorization to perform the requested action. 1597// 1598// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 1599// The specified service could not be found. You can view your available services 1600// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1601// 1602// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 1603// The specified service is not active. You can't update a service that is inactive. 1604// If you have previously deleted a service, you can re-create it with CreateService. 1605// 1606// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1607func (c *ECS) DescribeTaskSets(input *DescribeTaskSetsInput) (*DescribeTaskSetsOutput, error) { 1608 req, out := c.DescribeTaskSetsRequest(input) 1609 return out, req.Send() 1610} 1611 1612// DescribeTaskSetsWithContext is the same as DescribeTaskSets with the addition of 1613// the ability to pass a context and additional request options. 1614// 1615// See DescribeTaskSets for details on how to use this API operation. 1616// 1617// The context must be non-nil and will be used for request cancellation. If 1618// the context is nil a panic will occur. In the future the SDK may create 1619// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1620// for more information on using Contexts. 1621func (c *ECS) DescribeTaskSetsWithContext(ctx aws.Context, input *DescribeTaskSetsInput, opts ...request.Option) (*DescribeTaskSetsOutput, error) { 1622 req, out := c.DescribeTaskSetsRequest(input) 1623 req.SetContext(ctx) 1624 req.ApplyOptions(opts...) 1625 return out, req.Send() 1626} 1627 1628const opDescribeTasks = "DescribeTasks" 1629 1630// DescribeTasksRequest generates a "aws/request.Request" representing the 1631// client's request for the DescribeTasks operation. The "output" return 1632// value will be populated with the request's response once the request completes 1633// successfully. 1634// 1635// Use "Send" method on the returned Request to send the API call to the service. 1636// the "output" return value is not valid until after Send returns without error. 1637// 1638// See DescribeTasks for more information on using the DescribeTasks 1639// API call, and error handling. 1640// 1641// This method is useful when you want to inject custom logic or configuration 1642// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1643// 1644// 1645// // Example sending a request using the DescribeTasksRequest method. 1646// req, resp := client.DescribeTasksRequest(params) 1647// 1648// err := req.Send() 1649// if err == nil { // resp is now filled 1650// fmt.Println(resp) 1651// } 1652// 1653// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1654func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) { 1655 op := &request.Operation{ 1656 Name: opDescribeTasks, 1657 HTTPMethod: "POST", 1658 HTTPPath: "/", 1659 } 1660 1661 if input == nil { 1662 input = &DescribeTasksInput{} 1663 } 1664 1665 output = &DescribeTasksOutput{} 1666 req = c.newRequest(op, input, output) 1667 return 1668} 1669 1670// DescribeTasks API operation for Amazon EC2 Container Service. 1671// 1672// Describes a specified task or tasks. 1673// 1674// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1675// with awserr.Error's Code and Message methods to get detailed information about 1676// the error. 1677// 1678// See the AWS API reference guide for Amazon EC2 Container Service's 1679// API operation DescribeTasks for usage and error information. 1680// 1681// Returned Error Codes: 1682// * ErrCodeServerException "ServerException" 1683// These errors are usually caused by a server issue. 1684// 1685// * ErrCodeClientException "ClientException" 1686// These errors are usually caused by a client action, such as using an action 1687// or resource on behalf of a user that doesn't have permissions to use the 1688// action or resource, or specifying an identifier that is not valid. 1689// 1690// * ErrCodeInvalidParameterException "InvalidParameterException" 1691// The specified parameter is invalid. Review the available parameters for the 1692// API request. 1693// 1694// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1695// The specified cluster could not be found. You can view your available clusters 1696// with ListClusters. Amazon ECS clusters are Region-specific. 1697// 1698// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1699func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) { 1700 req, out := c.DescribeTasksRequest(input) 1701 return out, req.Send() 1702} 1703 1704// DescribeTasksWithContext is the same as DescribeTasks with the addition of 1705// the ability to pass a context and additional request options. 1706// 1707// See DescribeTasks for details on how to use this API operation. 1708// 1709// The context must be non-nil and will be used for request cancellation. If 1710// the context is nil a panic will occur. In the future the SDK may create 1711// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1712// for more information on using Contexts. 1713func (c *ECS) DescribeTasksWithContext(ctx aws.Context, input *DescribeTasksInput, opts ...request.Option) (*DescribeTasksOutput, error) { 1714 req, out := c.DescribeTasksRequest(input) 1715 req.SetContext(ctx) 1716 req.ApplyOptions(opts...) 1717 return out, req.Send() 1718} 1719 1720const opDiscoverPollEndpoint = "DiscoverPollEndpoint" 1721 1722// DiscoverPollEndpointRequest generates a "aws/request.Request" representing the 1723// client's request for the DiscoverPollEndpoint operation. The "output" return 1724// value will be populated with the request's response once the request completes 1725// successfully. 1726// 1727// Use "Send" method on the returned Request to send the API call to the service. 1728// the "output" return value is not valid until after Send returns without error. 1729// 1730// See DiscoverPollEndpoint for more information on using the DiscoverPollEndpoint 1731// API call, and error handling. 1732// 1733// This method is useful when you want to inject custom logic or configuration 1734// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1735// 1736// 1737// // Example sending a request using the DiscoverPollEndpointRequest method. 1738// req, resp := client.DiscoverPollEndpointRequest(params) 1739// 1740// err := req.Send() 1741// if err == nil { // resp is now filled 1742// fmt.Println(resp) 1743// } 1744// 1745// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1746func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) { 1747 op := &request.Operation{ 1748 Name: opDiscoverPollEndpoint, 1749 HTTPMethod: "POST", 1750 HTTPPath: "/", 1751 } 1752 1753 if input == nil { 1754 input = &DiscoverPollEndpointInput{} 1755 } 1756 1757 output = &DiscoverPollEndpointOutput{} 1758 req = c.newRequest(op, input, output) 1759 return 1760} 1761 1762// DiscoverPollEndpoint API operation for Amazon EC2 Container Service. 1763// 1764// 1765// This action is only used by the Amazon ECS agent, and it is not intended 1766// for use outside of the agent. 1767// 1768// Returns an endpoint for the Amazon ECS agent to poll for updates. 1769// 1770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1771// with awserr.Error's Code and Message methods to get detailed information about 1772// the error. 1773// 1774// See the AWS API reference guide for Amazon EC2 Container Service's 1775// API operation DiscoverPollEndpoint for usage and error information. 1776// 1777// Returned Error Codes: 1778// * ErrCodeServerException "ServerException" 1779// These errors are usually caused by a server issue. 1780// 1781// * ErrCodeClientException "ClientException" 1782// These errors are usually caused by a client action, such as using an action 1783// or resource on behalf of a user that doesn't have permissions to use the 1784// action or resource, or specifying an identifier that is not valid. 1785// 1786// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1787func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) { 1788 req, out := c.DiscoverPollEndpointRequest(input) 1789 return out, req.Send() 1790} 1791 1792// DiscoverPollEndpointWithContext is the same as DiscoverPollEndpoint with the addition of 1793// the ability to pass a context and additional request options. 1794// 1795// See DiscoverPollEndpoint for details on how to use this API operation. 1796// 1797// The context must be non-nil and will be used for request cancellation. If 1798// the context is nil a panic will occur. In the future the SDK may create 1799// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1800// for more information on using Contexts. 1801func (c *ECS) DiscoverPollEndpointWithContext(ctx aws.Context, input *DiscoverPollEndpointInput, opts ...request.Option) (*DiscoverPollEndpointOutput, error) { 1802 req, out := c.DiscoverPollEndpointRequest(input) 1803 req.SetContext(ctx) 1804 req.ApplyOptions(opts...) 1805 return out, req.Send() 1806} 1807 1808const opListAccountSettings = "ListAccountSettings" 1809 1810// ListAccountSettingsRequest generates a "aws/request.Request" representing the 1811// client's request for the ListAccountSettings operation. The "output" return 1812// value will be populated with the request's response once the request completes 1813// successfully. 1814// 1815// Use "Send" method on the returned Request to send the API call to the service. 1816// the "output" return value is not valid until after Send returns without error. 1817// 1818// See ListAccountSettings for more information on using the ListAccountSettings 1819// API call, and error handling. 1820// 1821// This method is useful when you want to inject custom logic or configuration 1822// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1823// 1824// 1825// // Example sending a request using the ListAccountSettingsRequest method. 1826// req, resp := client.ListAccountSettingsRequest(params) 1827// 1828// err := req.Send() 1829// if err == nil { // resp is now filled 1830// fmt.Println(resp) 1831// } 1832// 1833// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 1834func (c *ECS) ListAccountSettingsRequest(input *ListAccountSettingsInput) (req *request.Request, output *ListAccountSettingsOutput) { 1835 op := &request.Operation{ 1836 Name: opListAccountSettings, 1837 HTTPMethod: "POST", 1838 HTTPPath: "/", 1839 } 1840 1841 if input == nil { 1842 input = &ListAccountSettingsInput{} 1843 } 1844 1845 output = &ListAccountSettingsOutput{} 1846 req = c.newRequest(op, input, output) 1847 return 1848} 1849 1850// ListAccountSettings API operation for Amazon EC2 Container Service. 1851// 1852// Lists the account settings for a specified principal. 1853// 1854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1855// with awserr.Error's Code and Message methods to get detailed information about 1856// the error. 1857// 1858// See the AWS API reference guide for Amazon EC2 Container Service's 1859// API operation ListAccountSettings for usage and error information. 1860// 1861// Returned Error Codes: 1862// * ErrCodeServerException "ServerException" 1863// These errors are usually caused by a server issue. 1864// 1865// * ErrCodeClientException "ClientException" 1866// These errors are usually caused by a client action, such as using an action 1867// or resource on behalf of a user that doesn't have permissions to use the 1868// action or resource, or specifying an identifier that is not valid. 1869// 1870// * ErrCodeInvalidParameterException "InvalidParameterException" 1871// The specified parameter is invalid. Review the available parameters for the 1872// API request. 1873// 1874// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 1875func (c *ECS) ListAccountSettings(input *ListAccountSettingsInput) (*ListAccountSettingsOutput, error) { 1876 req, out := c.ListAccountSettingsRequest(input) 1877 return out, req.Send() 1878} 1879 1880// ListAccountSettingsWithContext is the same as ListAccountSettings with the addition of 1881// the ability to pass a context and additional request options. 1882// 1883// See ListAccountSettings for details on how to use this API operation. 1884// 1885// The context must be non-nil and will be used for request cancellation. If 1886// the context is nil a panic will occur. In the future the SDK may create 1887// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1888// for more information on using Contexts. 1889func (c *ECS) ListAccountSettingsWithContext(ctx aws.Context, input *ListAccountSettingsInput, opts ...request.Option) (*ListAccountSettingsOutput, error) { 1890 req, out := c.ListAccountSettingsRequest(input) 1891 req.SetContext(ctx) 1892 req.ApplyOptions(opts...) 1893 return out, req.Send() 1894} 1895 1896const opListAttributes = "ListAttributes" 1897 1898// ListAttributesRequest generates a "aws/request.Request" representing the 1899// client's request for the ListAttributes operation. The "output" return 1900// value will be populated with the request's response once the request completes 1901// successfully. 1902// 1903// Use "Send" method on the returned Request to send the API call to the service. 1904// the "output" return value is not valid until after Send returns without error. 1905// 1906// See ListAttributes for more information on using the ListAttributes 1907// API call, and error handling. 1908// 1909// This method is useful when you want to inject custom logic or configuration 1910// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1911// 1912// 1913// // Example sending a request using the ListAttributesRequest method. 1914// req, resp := client.ListAttributesRequest(params) 1915// 1916// err := req.Send() 1917// if err == nil { // resp is now filled 1918// fmt.Println(resp) 1919// } 1920// 1921// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 1922func (c *ECS) ListAttributesRequest(input *ListAttributesInput) (req *request.Request, output *ListAttributesOutput) { 1923 op := &request.Operation{ 1924 Name: opListAttributes, 1925 HTTPMethod: "POST", 1926 HTTPPath: "/", 1927 } 1928 1929 if input == nil { 1930 input = &ListAttributesInput{} 1931 } 1932 1933 output = &ListAttributesOutput{} 1934 req = c.newRequest(op, input, output) 1935 return 1936} 1937 1938// ListAttributes API operation for Amazon EC2 Container Service. 1939// 1940// Lists the attributes for Amazon ECS resources within a specified target type 1941// and cluster. When you specify a target type and cluster, ListAttributes returns 1942// a list of attribute objects, one for each attribute on each resource. You 1943// can filter the list of results to a single attribute name to only return 1944// results that have that name. You can also filter the results by attribute 1945// name and value, for example, to see which container instances in a cluster 1946// are running a Linux AMI (ecs.os-type=linux). 1947// 1948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1949// with awserr.Error's Code and Message methods to get detailed information about 1950// the error. 1951// 1952// See the AWS API reference guide for Amazon EC2 Container Service's 1953// API operation ListAttributes for usage and error information. 1954// 1955// Returned Error Codes: 1956// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1957// The specified cluster could not be found. You can view your available clusters 1958// with ListClusters. Amazon ECS clusters are Region-specific. 1959// 1960// * ErrCodeInvalidParameterException "InvalidParameterException" 1961// The specified parameter is invalid. Review the available parameters for the 1962// API request. 1963// 1964// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 1965func (c *ECS) ListAttributes(input *ListAttributesInput) (*ListAttributesOutput, error) { 1966 req, out := c.ListAttributesRequest(input) 1967 return out, req.Send() 1968} 1969 1970// ListAttributesWithContext is the same as ListAttributes with the addition of 1971// the ability to pass a context and additional request options. 1972// 1973// See ListAttributes for details on how to use this API operation. 1974// 1975// The context must be non-nil and will be used for request cancellation. If 1976// the context is nil a panic will occur. In the future the SDK may create 1977// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1978// for more information on using Contexts. 1979func (c *ECS) ListAttributesWithContext(ctx aws.Context, input *ListAttributesInput, opts ...request.Option) (*ListAttributesOutput, error) { 1980 req, out := c.ListAttributesRequest(input) 1981 req.SetContext(ctx) 1982 req.ApplyOptions(opts...) 1983 return out, req.Send() 1984} 1985 1986const opListClusters = "ListClusters" 1987 1988// ListClustersRequest generates a "aws/request.Request" representing the 1989// client's request for the ListClusters operation. The "output" return 1990// value will be populated with the request's response once the request completes 1991// successfully. 1992// 1993// Use "Send" method on the returned Request to send the API call to the service. 1994// the "output" return value is not valid until after Send returns without error. 1995// 1996// See ListClusters for more information on using the ListClusters 1997// API call, and error handling. 1998// 1999// This method is useful when you want to inject custom logic or configuration 2000// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2001// 2002// 2003// // Example sending a request using the ListClustersRequest method. 2004// req, resp := client.ListClustersRequest(params) 2005// 2006// err := req.Send() 2007// if err == nil { // resp is now filled 2008// fmt.Println(resp) 2009// } 2010// 2011// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2012func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 2013 op := &request.Operation{ 2014 Name: opListClusters, 2015 HTTPMethod: "POST", 2016 HTTPPath: "/", 2017 Paginator: &request.Paginator{ 2018 InputTokens: []string{"nextToken"}, 2019 OutputTokens: []string{"nextToken"}, 2020 LimitToken: "maxResults", 2021 TruncationToken: "", 2022 }, 2023 } 2024 2025 if input == nil { 2026 input = &ListClustersInput{} 2027 } 2028 2029 output = &ListClustersOutput{} 2030 req = c.newRequest(op, input, output) 2031 return 2032} 2033 2034// ListClusters API operation for Amazon EC2 Container Service. 2035// 2036// Returns a list of existing clusters. 2037// 2038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2039// with awserr.Error's Code and Message methods to get detailed information about 2040// the error. 2041// 2042// See the AWS API reference guide for Amazon EC2 Container Service's 2043// API operation ListClusters for usage and error information. 2044// 2045// Returned Error Codes: 2046// * ErrCodeServerException "ServerException" 2047// These errors are usually caused by a server issue. 2048// 2049// * ErrCodeClientException "ClientException" 2050// These errors are usually caused by a client action, such as using an action 2051// or resource on behalf of a user that doesn't have permissions to use the 2052// action or resource, or specifying an identifier that is not valid. 2053// 2054// * ErrCodeInvalidParameterException "InvalidParameterException" 2055// The specified parameter is invalid. Review the available parameters for the 2056// API request. 2057// 2058// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2059func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 2060 req, out := c.ListClustersRequest(input) 2061 return out, req.Send() 2062} 2063 2064// ListClustersWithContext is the same as ListClusters with the addition of 2065// the ability to pass a context and additional request options. 2066// 2067// See ListClusters for details on how to use this API operation. 2068// 2069// The context must be non-nil and will be used for request cancellation. If 2070// the context is nil a panic will occur. In the future the SDK may create 2071// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2072// for more information on using Contexts. 2073func (c *ECS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 2074 req, out := c.ListClustersRequest(input) 2075 req.SetContext(ctx) 2076 req.ApplyOptions(opts...) 2077 return out, req.Send() 2078} 2079 2080// ListClustersPages iterates over the pages of a ListClusters operation, 2081// calling the "fn" function with the response data for each page. To stop 2082// iterating, return false from the fn function. 2083// 2084// See ListClusters method for more information on how to use this operation. 2085// 2086// Note: This operation can generate multiple requests to a service. 2087// 2088// // Example iterating over at most 3 pages of a ListClusters operation. 2089// pageNum := 0 2090// err := client.ListClustersPages(params, 2091// func(page *ecs.ListClustersOutput, lastPage bool) bool { 2092// pageNum++ 2093// fmt.Println(page) 2094// return pageNum <= 3 2095// }) 2096// 2097func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 2098 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2099} 2100 2101// ListClustersPagesWithContext same as ListClustersPages except 2102// it takes a Context and allows setting request options on the pages. 2103// 2104// The context must be non-nil and will be used for request cancellation. If 2105// the context is nil a panic will occur. In the future the SDK may create 2106// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2107// for more information on using Contexts. 2108func (c *ECS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 2109 p := request.Pagination{ 2110 NewRequest: func() (*request.Request, error) { 2111 var inCpy *ListClustersInput 2112 if input != nil { 2113 tmp := *input 2114 inCpy = &tmp 2115 } 2116 req, _ := c.ListClustersRequest(inCpy) 2117 req.SetContext(ctx) 2118 req.ApplyOptions(opts...) 2119 return req, nil 2120 }, 2121 } 2122 2123 cont := true 2124 for p.Next() && cont { 2125 cont = fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) 2126 } 2127 return p.Err() 2128} 2129 2130const opListContainerInstances = "ListContainerInstances" 2131 2132// ListContainerInstancesRequest generates a "aws/request.Request" representing the 2133// client's request for the ListContainerInstances operation. The "output" return 2134// value will be populated with the request's response once the request completes 2135// successfully. 2136// 2137// Use "Send" method on the returned Request to send the API call to the service. 2138// the "output" return value is not valid until after Send returns without error. 2139// 2140// See ListContainerInstances for more information on using the ListContainerInstances 2141// API call, and error handling. 2142// 2143// This method is useful when you want to inject custom logic or configuration 2144// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2145// 2146// 2147// // Example sending a request using the ListContainerInstancesRequest method. 2148// req, resp := client.ListContainerInstancesRequest(params) 2149// 2150// err := req.Send() 2151// if err == nil { // resp is now filled 2152// fmt.Println(resp) 2153// } 2154// 2155// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2156func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { 2157 op := &request.Operation{ 2158 Name: opListContainerInstances, 2159 HTTPMethod: "POST", 2160 HTTPPath: "/", 2161 Paginator: &request.Paginator{ 2162 InputTokens: []string{"nextToken"}, 2163 OutputTokens: []string{"nextToken"}, 2164 LimitToken: "maxResults", 2165 TruncationToken: "", 2166 }, 2167 } 2168 2169 if input == nil { 2170 input = &ListContainerInstancesInput{} 2171 } 2172 2173 output = &ListContainerInstancesOutput{} 2174 req = c.newRequest(op, input, output) 2175 return 2176} 2177 2178// ListContainerInstances API operation for Amazon EC2 Container Service. 2179// 2180// Returns a list of container instances in a specified cluster. You can filter 2181// the results of a ListContainerInstances operation with cluster query language 2182// statements inside the filter parameter. For more information, see Cluster 2183// Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 2184// in the Amazon Elastic Container Service Developer Guide. 2185// 2186// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2187// with awserr.Error's Code and Message methods to get detailed information about 2188// the error. 2189// 2190// See the AWS API reference guide for Amazon EC2 Container Service's 2191// API operation ListContainerInstances for usage and error information. 2192// 2193// Returned Error Codes: 2194// * ErrCodeServerException "ServerException" 2195// These errors are usually caused by a server issue. 2196// 2197// * ErrCodeClientException "ClientException" 2198// These errors are usually caused by a client action, such as using an action 2199// or resource on behalf of a user that doesn't have permissions to use the 2200// action or resource, or specifying an identifier that is not valid. 2201// 2202// * ErrCodeInvalidParameterException "InvalidParameterException" 2203// The specified parameter is invalid. Review the available parameters for the 2204// API request. 2205// 2206// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2207// The specified cluster could not be found. You can view your available clusters 2208// with ListClusters. Amazon ECS clusters are Region-specific. 2209// 2210// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2211func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { 2212 req, out := c.ListContainerInstancesRequest(input) 2213 return out, req.Send() 2214} 2215 2216// ListContainerInstancesWithContext is the same as ListContainerInstances with the addition of 2217// the ability to pass a context and additional request options. 2218// 2219// See ListContainerInstances for details on how to use this API operation. 2220// 2221// The context must be non-nil and will be used for request cancellation. If 2222// the context is nil a panic will occur. In the future the SDK may create 2223// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2224// for more information on using Contexts. 2225func (c *ECS) ListContainerInstancesWithContext(ctx aws.Context, input *ListContainerInstancesInput, opts ...request.Option) (*ListContainerInstancesOutput, error) { 2226 req, out := c.ListContainerInstancesRequest(input) 2227 req.SetContext(ctx) 2228 req.ApplyOptions(opts...) 2229 return out, req.Send() 2230} 2231 2232// ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, 2233// calling the "fn" function with the response data for each page. To stop 2234// iterating, return false from the fn function. 2235// 2236// See ListContainerInstances method for more information on how to use this operation. 2237// 2238// Note: This operation can generate multiple requests to a service. 2239// 2240// // Example iterating over at most 3 pages of a ListContainerInstances operation. 2241// pageNum := 0 2242// err := client.ListContainerInstancesPages(params, 2243// func(page *ecs.ListContainerInstancesOutput, lastPage bool) bool { 2244// pageNum++ 2245// fmt.Println(page) 2246// return pageNum <= 3 2247// }) 2248// 2249func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool) error { 2250 return c.ListContainerInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 2251} 2252 2253// ListContainerInstancesPagesWithContext same as ListContainerInstancesPages except 2254// it takes a Context and allows setting request options on the pages. 2255// 2256// The context must be non-nil and will be used for request cancellation. If 2257// the context is nil a panic will occur. In the future the SDK may create 2258// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2259// for more information on using Contexts. 2260func (c *ECS) ListContainerInstancesPagesWithContext(ctx aws.Context, input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool, opts ...request.Option) error { 2261 p := request.Pagination{ 2262 NewRequest: func() (*request.Request, error) { 2263 var inCpy *ListContainerInstancesInput 2264 if input != nil { 2265 tmp := *input 2266 inCpy = &tmp 2267 } 2268 req, _ := c.ListContainerInstancesRequest(inCpy) 2269 req.SetContext(ctx) 2270 req.ApplyOptions(opts...) 2271 return req, nil 2272 }, 2273 } 2274 2275 cont := true 2276 for p.Next() && cont { 2277 cont = fn(p.Page().(*ListContainerInstancesOutput), !p.HasNextPage()) 2278 } 2279 return p.Err() 2280} 2281 2282const opListServices = "ListServices" 2283 2284// ListServicesRequest generates a "aws/request.Request" representing the 2285// client's request for the ListServices operation. The "output" return 2286// value will be populated with the request's response once the request completes 2287// successfully. 2288// 2289// Use "Send" method on the returned Request to send the API call to the service. 2290// the "output" return value is not valid until after Send returns without error. 2291// 2292// See ListServices for more information on using the ListServices 2293// API call, and error handling. 2294// 2295// This method is useful when you want to inject custom logic or configuration 2296// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2297// 2298// 2299// // Example sending a request using the ListServicesRequest method. 2300// req, resp := client.ListServicesRequest(params) 2301// 2302// err := req.Send() 2303// if err == nil { // resp is now filled 2304// fmt.Println(resp) 2305// } 2306// 2307// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2308func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { 2309 op := &request.Operation{ 2310 Name: opListServices, 2311 HTTPMethod: "POST", 2312 HTTPPath: "/", 2313 Paginator: &request.Paginator{ 2314 InputTokens: []string{"nextToken"}, 2315 OutputTokens: []string{"nextToken"}, 2316 LimitToken: "maxResults", 2317 TruncationToken: "", 2318 }, 2319 } 2320 2321 if input == nil { 2322 input = &ListServicesInput{} 2323 } 2324 2325 output = &ListServicesOutput{} 2326 req = c.newRequest(op, input, output) 2327 return 2328} 2329 2330// ListServices API operation for Amazon EC2 Container Service. 2331// 2332// Lists the services that are running in a specified cluster. 2333// 2334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2335// with awserr.Error's Code and Message methods to get detailed information about 2336// the error. 2337// 2338// See the AWS API reference guide for Amazon EC2 Container Service's 2339// API operation ListServices for usage and error information. 2340// 2341// Returned Error Codes: 2342// * ErrCodeServerException "ServerException" 2343// These errors are usually caused by a server issue. 2344// 2345// * ErrCodeClientException "ClientException" 2346// These errors are usually caused by a client action, such as using an action 2347// or resource on behalf of a user that doesn't have permissions to use the 2348// action or resource, or specifying an identifier that is not valid. 2349// 2350// * ErrCodeInvalidParameterException "InvalidParameterException" 2351// The specified parameter is invalid. Review the available parameters for the 2352// API request. 2353// 2354// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2355// The specified cluster could not be found. You can view your available clusters 2356// with ListClusters. Amazon ECS clusters are Region-specific. 2357// 2358// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2359func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { 2360 req, out := c.ListServicesRequest(input) 2361 return out, req.Send() 2362} 2363 2364// ListServicesWithContext is the same as ListServices with the addition of 2365// the ability to pass a context and additional request options. 2366// 2367// See ListServices for details on how to use this API operation. 2368// 2369// The context must be non-nil and will be used for request cancellation. If 2370// the context is nil a panic will occur. In the future the SDK may create 2371// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2372// for more information on using Contexts. 2373func (c *ECS) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) { 2374 req, out := c.ListServicesRequest(input) 2375 req.SetContext(ctx) 2376 req.ApplyOptions(opts...) 2377 return out, req.Send() 2378} 2379 2380// ListServicesPages iterates over the pages of a ListServices operation, 2381// calling the "fn" function with the response data for each page. To stop 2382// iterating, return false from the fn function. 2383// 2384// See ListServices method for more information on how to use this operation. 2385// 2386// Note: This operation can generate multiple requests to a service. 2387// 2388// // Example iterating over at most 3 pages of a ListServices operation. 2389// pageNum := 0 2390// err := client.ListServicesPages(params, 2391// func(page *ecs.ListServicesOutput, lastPage bool) bool { 2392// pageNum++ 2393// fmt.Println(page) 2394// return pageNum <= 3 2395// }) 2396// 2397func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error { 2398 return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn) 2399} 2400 2401// ListServicesPagesWithContext same as ListServicesPages except 2402// it takes a Context and allows setting request options on the pages. 2403// 2404// The context must be non-nil and will be used for request cancellation. If 2405// the context is nil a panic will occur. In the future the SDK may create 2406// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2407// for more information on using Contexts. 2408func (c *ECS) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error { 2409 p := request.Pagination{ 2410 NewRequest: func() (*request.Request, error) { 2411 var inCpy *ListServicesInput 2412 if input != nil { 2413 tmp := *input 2414 inCpy = &tmp 2415 } 2416 req, _ := c.ListServicesRequest(inCpy) 2417 req.SetContext(ctx) 2418 req.ApplyOptions(opts...) 2419 return req, nil 2420 }, 2421 } 2422 2423 cont := true 2424 for p.Next() && cont { 2425 cont = fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) 2426 } 2427 return p.Err() 2428} 2429 2430const opListTagsForResource = "ListTagsForResource" 2431 2432// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2433// client's request for the ListTagsForResource operation. The "output" return 2434// value will be populated with the request's response once the request completes 2435// successfully. 2436// 2437// Use "Send" method on the returned Request to send the API call to the service. 2438// the "output" return value is not valid until after Send returns without error. 2439// 2440// See ListTagsForResource for more information on using the ListTagsForResource 2441// API call, and error handling. 2442// 2443// This method is useful when you want to inject custom logic or configuration 2444// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2445// 2446// 2447// // Example sending a request using the ListTagsForResourceRequest method. 2448// req, resp := client.ListTagsForResourceRequest(params) 2449// 2450// err := req.Send() 2451// if err == nil { // resp is now filled 2452// fmt.Println(resp) 2453// } 2454// 2455// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2456func (c *ECS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2457 op := &request.Operation{ 2458 Name: opListTagsForResource, 2459 HTTPMethod: "POST", 2460 HTTPPath: "/", 2461 } 2462 2463 if input == nil { 2464 input = &ListTagsForResourceInput{} 2465 } 2466 2467 output = &ListTagsForResourceOutput{} 2468 req = c.newRequest(op, input, output) 2469 return 2470} 2471 2472// ListTagsForResource API operation for Amazon EC2 Container Service. 2473// 2474// List the tags for an Amazon ECS resource. 2475// 2476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2477// with awserr.Error's Code and Message methods to get detailed information about 2478// the error. 2479// 2480// See the AWS API reference guide for Amazon EC2 Container Service's 2481// API operation ListTagsForResource for usage and error information. 2482// 2483// Returned Error Codes: 2484// * ErrCodeServerException "ServerException" 2485// These errors are usually caused by a server issue. 2486// 2487// * ErrCodeClientException "ClientException" 2488// These errors are usually caused by a client action, such as using an action 2489// or resource on behalf of a user that doesn't have permissions to use the 2490// action or resource, or specifying an identifier that is not valid. 2491// 2492// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2493// The specified cluster could not be found. You can view your available clusters 2494// with ListClusters. Amazon ECS clusters are Region-specific. 2495// 2496// * ErrCodeInvalidParameterException "InvalidParameterException" 2497// The specified parameter is invalid. Review the available parameters for the 2498// API request. 2499// 2500// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2501func (c *ECS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2502 req, out := c.ListTagsForResourceRequest(input) 2503 return out, req.Send() 2504} 2505 2506// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2507// the ability to pass a context and additional request options. 2508// 2509// See ListTagsForResource for details on how to use this API operation. 2510// 2511// The context must be non-nil and will be used for request cancellation. If 2512// the context is nil a panic will occur. In the future the SDK may create 2513// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2514// for more information on using Contexts. 2515func (c *ECS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2516 req, out := c.ListTagsForResourceRequest(input) 2517 req.SetContext(ctx) 2518 req.ApplyOptions(opts...) 2519 return out, req.Send() 2520} 2521 2522const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" 2523 2524// ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the 2525// client's request for the ListTaskDefinitionFamilies operation. The "output" return 2526// value will be populated with the request's response once the request completes 2527// successfully. 2528// 2529// Use "Send" method on the returned Request to send the API call to the service. 2530// the "output" return value is not valid until after Send returns without error. 2531// 2532// See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies 2533// API call, and error handling. 2534// 2535// This method is useful when you want to inject custom logic or configuration 2536// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2537// 2538// 2539// // Example sending a request using the ListTaskDefinitionFamiliesRequest method. 2540// req, resp := client.ListTaskDefinitionFamiliesRequest(params) 2541// 2542// err := req.Send() 2543// if err == nil { // resp is now filled 2544// fmt.Println(resp) 2545// } 2546// 2547// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2548func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { 2549 op := &request.Operation{ 2550 Name: opListTaskDefinitionFamilies, 2551 HTTPMethod: "POST", 2552 HTTPPath: "/", 2553 Paginator: &request.Paginator{ 2554 InputTokens: []string{"nextToken"}, 2555 OutputTokens: []string{"nextToken"}, 2556 LimitToken: "maxResults", 2557 TruncationToken: "", 2558 }, 2559 } 2560 2561 if input == nil { 2562 input = &ListTaskDefinitionFamiliesInput{} 2563 } 2564 2565 output = &ListTaskDefinitionFamiliesOutput{} 2566 req = c.newRequest(op, input, output) 2567 return 2568} 2569 2570// ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service. 2571// 2572// Returns a list of task definition families that are registered to your account 2573// (which may include task definition families that no longer have any ACTIVE 2574// task definition revisions). 2575// 2576// You can filter out task definition families that do not contain any ACTIVE 2577// task definition revisions by setting the status parameter to ACTIVE. You 2578// can also filter the results with the familyPrefix parameter. 2579// 2580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2581// with awserr.Error's Code and Message methods to get detailed information about 2582// the error. 2583// 2584// See the AWS API reference guide for Amazon EC2 Container Service's 2585// API operation ListTaskDefinitionFamilies for usage and error information. 2586// 2587// Returned Error Codes: 2588// * ErrCodeServerException "ServerException" 2589// These errors are usually caused by a server issue. 2590// 2591// * ErrCodeClientException "ClientException" 2592// These errors are usually caused by a client action, such as using an action 2593// or resource on behalf of a user that doesn't have permissions to use the 2594// action or resource, or specifying an identifier that is not valid. 2595// 2596// * ErrCodeInvalidParameterException "InvalidParameterException" 2597// The specified parameter is invalid. Review the available parameters for the 2598// API request. 2599// 2600// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2601func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { 2602 req, out := c.ListTaskDefinitionFamiliesRequest(input) 2603 return out, req.Send() 2604} 2605 2606// ListTaskDefinitionFamiliesWithContext is the same as ListTaskDefinitionFamilies with the addition of 2607// the ability to pass a context and additional request options. 2608// 2609// See ListTaskDefinitionFamilies for details on how to use this API operation. 2610// 2611// The context must be non-nil and will be used for request cancellation. If 2612// the context is nil a panic will occur. In the future the SDK may create 2613// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2614// for more information on using Contexts. 2615func (c *ECS) ListTaskDefinitionFamiliesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, opts ...request.Option) (*ListTaskDefinitionFamiliesOutput, error) { 2616 req, out := c.ListTaskDefinitionFamiliesRequest(input) 2617 req.SetContext(ctx) 2618 req.ApplyOptions(opts...) 2619 return out, req.Send() 2620} 2621 2622// ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, 2623// calling the "fn" function with the response data for each page. To stop 2624// iterating, return false from the fn function. 2625// 2626// See ListTaskDefinitionFamilies method for more information on how to use this operation. 2627// 2628// Note: This operation can generate multiple requests to a service. 2629// 2630// // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation. 2631// pageNum := 0 2632// err := client.ListTaskDefinitionFamiliesPages(params, 2633// func(page *ecs.ListTaskDefinitionFamiliesOutput, lastPage bool) bool { 2634// pageNum++ 2635// fmt.Println(page) 2636// return pageNum <= 3 2637// }) 2638// 2639func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool) error { 2640 return c.ListTaskDefinitionFamiliesPagesWithContext(aws.BackgroundContext(), input, fn) 2641} 2642 2643// ListTaskDefinitionFamiliesPagesWithContext same as ListTaskDefinitionFamiliesPages except 2644// it takes a Context and allows setting request options on the pages. 2645// 2646// The context must be non-nil and will be used for request cancellation. If 2647// the context is nil a panic will occur. In the future the SDK may create 2648// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2649// for more information on using Contexts. 2650func (c *ECS) ListTaskDefinitionFamiliesPagesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool, opts ...request.Option) error { 2651 p := request.Pagination{ 2652 NewRequest: func() (*request.Request, error) { 2653 var inCpy *ListTaskDefinitionFamiliesInput 2654 if input != nil { 2655 tmp := *input 2656 inCpy = &tmp 2657 } 2658 req, _ := c.ListTaskDefinitionFamiliesRequest(inCpy) 2659 req.SetContext(ctx) 2660 req.ApplyOptions(opts...) 2661 return req, nil 2662 }, 2663 } 2664 2665 cont := true 2666 for p.Next() && cont { 2667 cont = fn(p.Page().(*ListTaskDefinitionFamiliesOutput), !p.HasNextPage()) 2668 } 2669 return p.Err() 2670} 2671 2672const opListTaskDefinitions = "ListTaskDefinitions" 2673 2674// ListTaskDefinitionsRequest generates a "aws/request.Request" representing the 2675// client's request for the ListTaskDefinitions operation. The "output" return 2676// value will be populated with the request's response once the request completes 2677// successfully. 2678// 2679// Use "Send" method on the returned Request to send the API call to the service. 2680// the "output" return value is not valid until after Send returns without error. 2681// 2682// See ListTaskDefinitions for more information on using the ListTaskDefinitions 2683// API call, and error handling. 2684// 2685// This method is useful when you want to inject custom logic or configuration 2686// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2687// 2688// 2689// // Example sending a request using the ListTaskDefinitionsRequest method. 2690// req, resp := client.ListTaskDefinitionsRequest(params) 2691// 2692// err := req.Send() 2693// if err == nil { // resp is now filled 2694// fmt.Println(resp) 2695// } 2696// 2697// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 2698func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { 2699 op := &request.Operation{ 2700 Name: opListTaskDefinitions, 2701 HTTPMethod: "POST", 2702 HTTPPath: "/", 2703 Paginator: &request.Paginator{ 2704 InputTokens: []string{"nextToken"}, 2705 OutputTokens: []string{"nextToken"}, 2706 LimitToken: "maxResults", 2707 TruncationToken: "", 2708 }, 2709 } 2710 2711 if input == nil { 2712 input = &ListTaskDefinitionsInput{} 2713 } 2714 2715 output = &ListTaskDefinitionsOutput{} 2716 req = c.newRequest(op, input, output) 2717 return 2718} 2719 2720// ListTaskDefinitions API operation for Amazon EC2 Container Service. 2721// 2722// Returns a list of task definitions that are registered to your account. You 2723// can filter the results by family name with the familyPrefix parameter or 2724// by status with the status parameter. 2725// 2726// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2727// with awserr.Error's Code and Message methods to get detailed information about 2728// the error. 2729// 2730// See the AWS API reference guide for Amazon EC2 Container Service's 2731// API operation ListTaskDefinitions for usage and error information. 2732// 2733// Returned Error Codes: 2734// * ErrCodeServerException "ServerException" 2735// These errors are usually caused by a server issue. 2736// 2737// * ErrCodeClientException "ClientException" 2738// These errors are usually caused by a client action, such as using an action 2739// or resource on behalf of a user that doesn't have permissions to use the 2740// action or resource, or specifying an identifier that is not valid. 2741// 2742// * ErrCodeInvalidParameterException "InvalidParameterException" 2743// The specified parameter is invalid. Review the available parameters for the 2744// API request. 2745// 2746// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 2747func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { 2748 req, out := c.ListTaskDefinitionsRequest(input) 2749 return out, req.Send() 2750} 2751 2752// ListTaskDefinitionsWithContext is the same as ListTaskDefinitions with the addition of 2753// the ability to pass a context and additional request options. 2754// 2755// See ListTaskDefinitions for details on how to use this API operation. 2756// 2757// The context must be non-nil and will be used for request cancellation. If 2758// the context is nil a panic will occur. In the future the SDK may create 2759// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2760// for more information on using Contexts. 2761func (c *ECS) ListTaskDefinitionsWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, opts ...request.Option) (*ListTaskDefinitionsOutput, error) { 2762 req, out := c.ListTaskDefinitionsRequest(input) 2763 req.SetContext(ctx) 2764 req.ApplyOptions(opts...) 2765 return out, req.Send() 2766} 2767 2768// ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, 2769// calling the "fn" function with the response data for each page. To stop 2770// iterating, return false from the fn function. 2771// 2772// See ListTaskDefinitions method for more information on how to use this operation. 2773// 2774// Note: This operation can generate multiple requests to a service. 2775// 2776// // Example iterating over at most 3 pages of a ListTaskDefinitions operation. 2777// pageNum := 0 2778// err := client.ListTaskDefinitionsPages(params, 2779// func(page *ecs.ListTaskDefinitionsOutput, lastPage bool) bool { 2780// pageNum++ 2781// fmt.Println(page) 2782// return pageNum <= 3 2783// }) 2784// 2785func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool) error { 2786 return c.ListTaskDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 2787} 2788 2789// ListTaskDefinitionsPagesWithContext same as ListTaskDefinitionsPages except 2790// it takes a Context and allows setting request options on the pages. 2791// 2792// The context must be non-nil and will be used for request cancellation. If 2793// the context is nil a panic will occur. In the future the SDK may create 2794// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2795// for more information on using Contexts. 2796func (c *ECS) ListTaskDefinitionsPagesWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool, opts ...request.Option) error { 2797 p := request.Pagination{ 2798 NewRequest: func() (*request.Request, error) { 2799 var inCpy *ListTaskDefinitionsInput 2800 if input != nil { 2801 tmp := *input 2802 inCpy = &tmp 2803 } 2804 req, _ := c.ListTaskDefinitionsRequest(inCpy) 2805 req.SetContext(ctx) 2806 req.ApplyOptions(opts...) 2807 return req, nil 2808 }, 2809 } 2810 2811 cont := true 2812 for p.Next() && cont { 2813 cont = fn(p.Page().(*ListTaskDefinitionsOutput), !p.HasNextPage()) 2814 } 2815 return p.Err() 2816} 2817 2818const opListTasks = "ListTasks" 2819 2820// ListTasksRequest generates a "aws/request.Request" representing the 2821// client's request for the ListTasks operation. The "output" return 2822// value will be populated with the request's response once the request completes 2823// successfully. 2824// 2825// Use "Send" method on the returned Request to send the API call to the service. 2826// the "output" return value is not valid until after Send returns without error. 2827// 2828// See ListTasks for more information on using the ListTasks 2829// API call, and error handling. 2830// 2831// This method is useful when you want to inject custom logic or configuration 2832// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2833// 2834// 2835// // Example sending a request using the ListTasksRequest method. 2836// req, resp := client.ListTasksRequest(params) 2837// 2838// err := req.Send() 2839// if err == nil { // resp is now filled 2840// fmt.Println(resp) 2841// } 2842// 2843// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 2844func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { 2845 op := &request.Operation{ 2846 Name: opListTasks, 2847 HTTPMethod: "POST", 2848 HTTPPath: "/", 2849 Paginator: &request.Paginator{ 2850 InputTokens: []string{"nextToken"}, 2851 OutputTokens: []string{"nextToken"}, 2852 LimitToken: "maxResults", 2853 TruncationToken: "", 2854 }, 2855 } 2856 2857 if input == nil { 2858 input = &ListTasksInput{} 2859 } 2860 2861 output = &ListTasksOutput{} 2862 req = c.newRequest(op, input, output) 2863 return 2864} 2865 2866// ListTasks API operation for Amazon EC2 Container Service. 2867// 2868// Returns a list of tasks for a specified cluster. You can filter the results 2869// by family name, by a particular container instance, or by the desired status 2870// of the task with the family, containerInstance, and desiredStatus parameters. 2871// 2872// Recently stopped tasks might appear in the returned results. Currently, stopped 2873// tasks appear in the returned results for at least one hour. 2874// 2875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2876// with awserr.Error's Code and Message methods to get detailed information about 2877// the error. 2878// 2879// See the AWS API reference guide for Amazon EC2 Container Service's 2880// API operation ListTasks for usage and error information. 2881// 2882// Returned Error Codes: 2883// * ErrCodeServerException "ServerException" 2884// These errors are usually caused by a server issue. 2885// 2886// * ErrCodeClientException "ClientException" 2887// These errors are usually caused by a client action, such as using an action 2888// or resource on behalf of a user that doesn't have permissions to use the 2889// action or resource, or specifying an identifier that is not valid. 2890// 2891// * ErrCodeInvalidParameterException "InvalidParameterException" 2892// The specified parameter is invalid. Review the available parameters for the 2893// API request. 2894// 2895// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2896// The specified cluster could not be found. You can view your available clusters 2897// with ListClusters. Amazon ECS clusters are Region-specific. 2898// 2899// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 2900// The specified service could not be found. You can view your available services 2901// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 2902// 2903// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 2904func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { 2905 req, out := c.ListTasksRequest(input) 2906 return out, req.Send() 2907} 2908 2909// ListTasksWithContext is the same as ListTasks with the addition of 2910// the ability to pass a context and additional request options. 2911// 2912// See ListTasks for details on how to use this API operation. 2913// 2914// The context must be non-nil and will be used for request cancellation. If 2915// the context is nil a panic will occur. In the future the SDK may create 2916// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2917// for more information on using Contexts. 2918func (c *ECS) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { 2919 req, out := c.ListTasksRequest(input) 2920 req.SetContext(ctx) 2921 req.ApplyOptions(opts...) 2922 return out, req.Send() 2923} 2924 2925// ListTasksPages iterates over the pages of a ListTasks operation, 2926// calling the "fn" function with the response data for each page. To stop 2927// iterating, return false from the fn function. 2928// 2929// See ListTasks method for more information on how to use this operation. 2930// 2931// Note: This operation can generate multiple requests to a service. 2932// 2933// // Example iterating over at most 3 pages of a ListTasks operation. 2934// pageNum := 0 2935// err := client.ListTasksPages(params, 2936// func(page *ecs.ListTasksOutput, lastPage bool) bool { 2937// pageNum++ 2938// fmt.Println(page) 2939// return pageNum <= 3 2940// }) 2941// 2942func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { 2943 return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) 2944} 2945 2946// ListTasksPagesWithContext same as ListTasksPages except 2947// it takes a Context and allows setting request options on the pages. 2948// 2949// The context must be non-nil and will be used for request cancellation. If 2950// the context is nil a panic will occur. In the future the SDK may create 2951// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2952// for more information on using Contexts. 2953func (c *ECS) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { 2954 p := request.Pagination{ 2955 NewRequest: func() (*request.Request, error) { 2956 var inCpy *ListTasksInput 2957 if input != nil { 2958 tmp := *input 2959 inCpy = &tmp 2960 } 2961 req, _ := c.ListTasksRequest(inCpy) 2962 req.SetContext(ctx) 2963 req.ApplyOptions(opts...) 2964 return req, nil 2965 }, 2966 } 2967 2968 cont := true 2969 for p.Next() && cont { 2970 cont = fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) 2971 } 2972 return p.Err() 2973} 2974 2975const opPutAccountSetting = "PutAccountSetting" 2976 2977// PutAccountSettingRequest generates a "aws/request.Request" representing the 2978// client's request for the PutAccountSetting operation. The "output" return 2979// value will be populated with the request's response once the request completes 2980// successfully. 2981// 2982// Use "Send" method on the returned Request to send the API call to the service. 2983// the "output" return value is not valid until after Send returns without error. 2984// 2985// See PutAccountSetting for more information on using the PutAccountSetting 2986// API call, and error handling. 2987// 2988// This method is useful when you want to inject custom logic or configuration 2989// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2990// 2991// 2992// // Example sending a request using the PutAccountSettingRequest method. 2993// req, resp := client.PutAccountSettingRequest(params) 2994// 2995// err := req.Send() 2996// if err == nil { // resp is now filled 2997// fmt.Println(resp) 2998// } 2999// 3000// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3001func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *request.Request, output *PutAccountSettingOutput) { 3002 op := &request.Operation{ 3003 Name: opPutAccountSetting, 3004 HTTPMethod: "POST", 3005 HTTPPath: "/", 3006 } 3007 3008 if input == nil { 3009 input = &PutAccountSettingInput{} 3010 } 3011 3012 output = &PutAccountSettingOutput{} 3013 req = c.newRequest(op, input, output) 3014 return 3015} 3016 3017// PutAccountSetting API operation for Amazon EC2 Container Service. 3018// 3019// Modifies an account setting. Account settings are set on a per-Region basis. 3020// 3021// If you change the account setting for the root user, the default settings 3022// for all of the IAM users and roles for which no individual account setting 3023// has been specified are reset. For more information, see Account Settings 3024// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html) 3025// in the Amazon Elastic Container Service Developer Guide. 3026// 3027// When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat 3028// are specified, the Amazon Resource Name (ARN) and resource ID format of the 3029// resource type for a specified IAM user, IAM role, or the root user for an 3030// account is affected. The opt-in and opt-out account setting must be set for 3031// each Amazon ECS resource separately. The ARN and resource ID format of a 3032// resource will be defined by the opt-in status of the IAM user or role that 3033// created the resource. You must enable this setting to use Amazon ECS features 3034// such as resource tagging. 3035// 3036// When awsvpcTrunking is specified, the elastic network interface (ENI) limit 3037// for any new container instances that support the feature is changed. If awsvpcTrunking 3038// is enabled, any new container instances that support the feature are launched 3039// have the increased ENI limits available to them. For more information, see 3040// Elastic Network Interface Trunking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html) 3041// in the Amazon Elastic Container Service Developer Guide. 3042// 3043// When containerInsights is specified, the default setting indicating whether 3044// CloudWatch Container Insights is enabled for your clusters is changed. If 3045// containerInsights is enabled, any new clusters that are created will have 3046// Container Insights enabled unless you disable it during cluster creation. 3047// For more information, see CloudWatch Container Insights (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) 3048// in the Amazon Elastic Container Service Developer Guide. 3049// 3050// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3051// with awserr.Error's Code and Message methods to get detailed information about 3052// the error. 3053// 3054// See the AWS API reference guide for Amazon EC2 Container Service's 3055// API operation PutAccountSetting for usage and error information. 3056// 3057// Returned Error Codes: 3058// * ErrCodeServerException "ServerException" 3059// These errors are usually caused by a server issue. 3060// 3061// * ErrCodeClientException "ClientException" 3062// These errors are usually caused by a client action, such as using an action 3063// or resource on behalf of a user that doesn't have permissions to use the 3064// action or resource, or specifying an identifier that is not valid. 3065// 3066// * ErrCodeInvalidParameterException "InvalidParameterException" 3067// The specified parameter is invalid. Review the available parameters for the 3068// API request. 3069// 3070// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3071func (c *ECS) PutAccountSetting(input *PutAccountSettingInput) (*PutAccountSettingOutput, error) { 3072 req, out := c.PutAccountSettingRequest(input) 3073 return out, req.Send() 3074} 3075 3076// PutAccountSettingWithContext is the same as PutAccountSetting with the addition of 3077// the ability to pass a context and additional request options. 3078// 3079// See PutAccountSetting for details on how to use this API operation. 3080// 3081// The context must be non-nil and will be used for request cancellation. If 3082// the context is nil a panic will occur. In the future the SDK may create 3083// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3084// for more information on using Contexts. 3085func (c *ECS) PutAccountSettingWithContext(ctx aws.Context, input *PutAccountSettingInput, opts ...request.Option) (*PutAccountSettingOutput, error) { 3086 req, out := c.PutAccountSettingRequest(input) 3087 req.SetContext(ctx) 3088 req.ApplyOptions(opts...) 3089 return out, req.Send() 3090} 3091 3092const opPutAccountSettingDefault = "PutAccountSettingDefault" 3093 3094// PutAccountSettingDefaultRequest generates a "aws/request.Request" representing the 3095// client's request for the PutAccountSettingDefault operation. The "output" return 3096// value will be populated with the request's response once the request completes 3097// successfully. 3098// 3099// Use "Send" method on the returned Request to send the API call to the service. 3100// the "output" return value is not valid until after Send returns without error. 3101// 3102// See PutAccountSettingDefault for more information on using the PutAccountSettingDefault 3103// API call, and error handling. 3104// 3105// This method is useful when you want to inject custom logic or configuration 3106// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3107// 3108// 3109// // Example sending a request using the PutAccountSettingDefaultRequest method. 3110// req, resp := client.PutAccountSettingDefaultRequest(params) 3111// 3112// err := req.Send() 3113// if err == nil { // resp is now filled 3114// fmt.Println(resp) 3115// } 3116// 3117// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3118func (c *ECS) PutAccountSettingDefaultRequest(input *PutAccountSettingDefaultInput) (req *request.Request, output *PutAccountSettingDefaultOutput) { 3119 op := &request.Operation{ 3120 Name: opPutAccountSettingDefault, 3121 HTTPMethod: "POST", 3122 HTTPPath: "/", 3123 } 3124 3125 if input == nil { 3126 input = &PutAccountSettingDefaultInput{} 3127 } 3128 3129 output = &PutAccountSettingDefaultOutput{} 3130 req = c.newRequest(op, input, output) 3131 return 3132} 3133 3134// PutAccountSettingDefault API operation for Amazon EC2 Container Service. 3135// 3136// Modifies an account setting for all IAM users on an account for whom no individual 3137// account setting has been specified. Account settings are set on a per-Region 3138// basis. 3139// 3140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3141// with awserr.Error's Code and Message methods to get detailed information about 3142// the error. 3143// 3144// See the AWS API reference guide for Amazon EC2 Container Service's 3145// API operation PutAccountSettingDefault for usage and error information. 3146// 3147// Returned Error Codes: 3148// * ErrCodeServerException "ServerException" 3149// These errors are usually caused by a server issue. 3150// 3151// * ErrCodeClientException "ClientException" 3152// These errors are usually caused by a client action, such as using an action 3153// or resource on behalf of a user that doesn't have permissions to use the 3154// action or resource, or specifying an identifier that is not valid. 3155// 3156// * ErrCodeInvalidParameterException "InvalidParameterException" 3157// The specified parameter is invalid. Review the available parameters for the 3158// API request. 3159// 3160// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3161func (c *ECS) PutAccountSettingDefault(input *PutAccountSettingDefaultInput) (*PutAccountSettingDefaultOutput, error) { 3162 req, out := c.PutAccountSettingDefaultRequest(input) 3163 return out, req.Send() 3164} 3165 3166// PutAccountSettingDefaultWithContext is the same as PutAccountSettingDefault with the addition of 3167// the ability to pass a context and additional request options. 3168// 3169// See PutAccountSettingDefault for details on how to use this API operation. 3170// 3171// The context must be non-nil and will be used for request cancellation. If 3172// the context is nil a panic will occur. In the future the SDK may create 3173// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3174// for more information on using Contexts. 3175func (c *ECS) PutAccountSettingDefaultWithContext(ctx aws.Context, input *PutAccountSettingDefaultInput, opts ...request.Option) (*PutAccountSettingDefaultOutput, error) { 3176 req, out := c.PutAccountSettingDefaultRequest(input) 3177 req.SetContext(ctx) 3178 req.ApplyOptions(opts...) 3179 return out, req.Send() 3180} 3181 3182const opPutAttributes = "PutAttributes" 3183 3184// PutAttributesRequest generates a "aws/request.Request" representing the 3185// client's request for the PutAttributes operation. The "output" return 3186// value will be populated with the request's response once the request completes 3187// successfully. 3188// 3189// Use "Send" method on the returned Request to send the API call to the service. 3190// the "output" return value is not valid until after Send returns without error. 3191// 3192// See PutAttributes for more information on using the PutAttributes 3193// API call, and error handling. 3194// 3195// This method is useful when you want to inject custom logic or configuration 3196// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3197// 3198// 3199// // Example sending a request using the PutAttributesRequest method. 3200// req, resp := client.PutAttributesRequest(params) 3201// 3202// err := req.Send() 3203// if err == nil { // resp is now filled 3204// fmt.Println(resp) 3205// } 3206// 3207// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3208func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) { 3209 op := &request.Operation{ 3210 Name: opPutAttributes, 3211 HTTPMethod: "POST", 3212 HTTPPath: "/", 3213 } 3214 3215 if input == nil { 3216 input = &PutAttributesInput{} 3217 } 3218 3219 output = &PutAttributesOutput{} 3220 req = c.newRequest(op, input, output) 3221 return 3222} 3223 3224// PutAttributes API operation for Amazon EC2 Container Service. 3225// 3226// Create or update an attribute on an Amazon ECS resource. If the attribute 3227// does not exist, it is created. If the attribute exists, its value is replaced 3228// with the specified value. To delete an attribute, use DeleteAttributes. For 3229// more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 3230// in the Amazon Elastic Container Service Developer Guide. 3231// 3232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3233// with awserr.Error's Code and Message methods to get detailed information about 3234// the error. 3235// 3236// See the AWS API reference guide for Amazon EC2 Container Service's 3237// API operation PutAttributes for usage and error information. 3238// 3239// Returned Error Codes: 3240// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3241// The specified cluster could not be found. You can view your available clusters 3242// with ListClusters. Amazon ECS clusters are Region-specific. 3243// 3244// * ErrCodeTargetNotFoundException "TargetNotFoundException" 3245// The specified target could not be found. You can view your available container 3246// instances with ListContainerInstances. Amazon ECS container instances are 3247// cluster-specific and Region-specific. 3248// 3249// * ErrCodeAttributeLimitExceededException "AttributeLimitExceededException" 3250// You can apply up to 10 custom attributes per resource. You can view the attributes 3251// of a resource with ListAttributes. You can remove existing attributes on 3252// a resource with DeleteAttributes. 3253// 3254// * ErrCodeInvalidParameterException "InvalidParameterException" 3255// The specified parameter is invalid. Review the available parameters for the 3256// API request. 3257// 3258// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3259func (c *ECS) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) { 3260 req, out := c.PutAttributesRequest(input) 3261 return out, req.Send() 3262} 3263 3264// PutAttributesWithContext is the same as PutAttributes with the addition of 3265// the ability to pass a context and additional request options. 3266// 3267// See PutAttributes for details on how to use this API operation. 3268// 3269// The context must be non-nil and will be used for request cancellation. If 3270// the context is nil a panic will occur. In the future the SDK may create 3271// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3272// for more information on using Contexts. 3273func (c *ECS) PutAttributesWithContext(ctx aws.Context, input *PutAttributesInput, opts ...request.Option) (*PutAttributesOutput, error) { 3274 req, out := c.PutAttributesRequest(input) 3275 req.SetContext(ctx) 3276 req.ApplyOptions(opts...) 3277 return out, req.Send() 3278} 3279 3280const opRegisterContainerInstance = "RegisterContainerInstance" 3281 3282// RegisterContainerInstanceRequest generates a "aws/request.Request" representing the 3283// client's request for the RegisterContainerInstance operation. The "output" return 3284// value will be populated with the request's response once the request completes 3285// successfully. 3286// 3287// Use "Send" method on the returned Request to send the API call to the service. 3288// the "output" return value is not valid until after Send returns without error. 3289// 3290// See RegisterContainerInstance for more information on using the RegisterContainerInstance 3291// API call, and error handling. 3292// 3293// This method is useful when you want to inject custom logic or configuration 3294// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3295// 3296// 3297// // Example sending a request using the RegisterContainerInstanceRequest method. 3298// req, resp := client.RegisterContainerInstanceRequest(params) 3299// 3300// err := req.Send() 3301// if err == nil { // resp is now filled 3302// fmt.Println(resp) 3303// } 3304// 3305// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3306func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { 3307 op := &request.Operation{ 3308 Name: opRegisterContainerInstance, 3309 HTTPMethod: "POST", 3310 HTTPPath: "/", 3311 } 3312 3313 if input == nil { 3314 input = &RegisterContainerInstanceInput{} 3315 } 3316 3317 output = &RegisterContainerInstanceOutput{} 3318 req = c.newRequest(op, input, output) 3319 return 3320} 3321 3322// RegisterContainerInstance API operation for Amazon EC2 Container Service. 3323// 3324// 3325// This action is only used by the Amazon ECS agent, and it is not intended 3326// for use outside of the agent. 3327// 3328// Registers an EC2 instance into the specified cluster. This instance becomes 3329// available to place containers on. 3330// 3331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3332// with awserr.Error's Code and Message methods to get detailed information about 3333// the error. 3334// 3335// See the AWS API reference guide for Amazon EC2 Container Service's 3336// API operation RegisterContainerInstance for usage and error information. 3337// 3338// Returned Error Codes: 3339// * ErrCodeServerException "ServerException" 3340// These errors are usually caused by a server issue. 3341// 3342// * ErrCodeClientException "ClientException" 3343// These errors are usually caused by a client action, such as using an action 3344// or resource on behalf of a user that doesn't have permissions to use the 3345// action or resource, or specifying an identifier that is not valid. 3346// 3347// * ErrCodeInvalidParameterException "InvalidParameterException" 3348// The specified parameter is invalid. Review the available parameters for the 3349// API request. 3350// 3351// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3352func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { 3353 req, out := c.RegisterContainerInstanceRequest(input) 3354 return out, req.Send() 3355} 3356 3357// RegisterContainerInstanceWithContext is the same as RegisterContainerInstance with the addition of 3358// the ability to pass a context and additional request options. 3359// 3360// See RegisterContainerInstance for details on how to use this API operation. 3361// 3362// The context must be non-nil and will be used for request cancellation. If 3363// the context is nil a panic will occur. In the future the SDK may create 3364// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3365// for more information on using Contexts. 3366func (c *ECS) RegisterContainerInstanceWithContext(ctx aws.Context, input *RegisterContainerInstanceInput, opts ...request.Option) (*RegisterContainerInstanceOutput, error) { 3367 req, out := c.RegisterContainerInstanceRequest(input) 3368 req.SetContext(ctx) 3369 req.ApplyOptions(opts...) 3370 return out, req.Send() 3371} 3372 3373const opRegisterTaskDefinition = "RegisterTaskDefinition" 3374 3375// RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the 3376// client's request for the RegisterTaskDefinition operation. The "output" return 3377// value will be populated with the request's response once the request completes 3378// successfully. 3379// 3380// Use "Send" method on the returned Request to send the API call to the service. 3381// the "output" return value is not valid until after Send returns without error. 3382// 3383// See RegisterTaskDefinition for more information on using the RegisterTaskDefinition 3384// API call, and error handling. 3385// 3386// This method is useful when you want to inject custom logic or configuration 3387// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3388// 3389// 3390// // Example sending a request using the RegisterTaskDefinitionRequest method. 3391// req, resp := client.RegisterTaskDefinitionRequest(params) 3392// 3393// err := req.Send() 3394// if err == nil { // resp is now filled 3395// fmt.Println(resp) 3396// } 3397// 3398// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3399func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { 3400 op := &request.Operation{ 3401 Name: opRegisterTaskDefinition, 3402 HTTPMethod: "POST", 3403 HTTPPath: "/", 3404 } 3405 3406 if input == nil { 3407 input = &RegisterTaskDefinitionInput{} 3408 } 3409 3410 output = &RegisterTaskDefinitionOutput{} 3411 req = c.newRequest(op, input, output) 3412 return 3413} 3414 3415// RegisterTaskDefinition API operation for Amazon EC2 Container Service. 3416// 3417// Registers a new task definition from the supplied family and containerDefinitions. 3418// Optionally, you can add data volumes to your containers with the volumes 3419// parameter. For more information about task definition parameters and defaults, 3420// see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 3421// in the Amazon Elastic Container Service Developer Guide. 3422// 3423// You can specify an IAM role for your task with the taskRoleArn parameter. 3424// When you specify an IAM role for a task, its containers can then use the 3425// latest versions of the AWS CLI or SDKs to make API requests to the AWS services 3426// that are specified in the IAM policy associated with the role. For more information, 3427// see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 3428// in the Amazon Elastic Container Service Developer Guide. 3429// 3430// You can specify a Docker networking mode for the containers in your task 3431// definition with the networkMode parameter. The available network modes correspond 3432// to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) 3433// in the Docker run reference. If you specify the awsvpc network mode, the 3434// task is allocated an elastic network interface, and you must specify a NetworkConfiguration 3435// when you create a service or run a task with the task definition. For more 3436// information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 3437// in the Amazon Elastic Container Service Developer Guide. 3438// 3439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3440// with awserr.Error's Code and Message methods to get detailed information about 3441// the error. 3442// 3443// See the AWS API reference guide for Amazon EC2 Container Service's 3444// API operation RegisterTaskDefinition for usage and error information. 3445// 3446// Returned Error Codes: 3447// * ErrCodeServerException "ServerException" 3448// These errors are usually caused by a server issue. 3449// 3450// * ErrCodeClientException "ClientException" 3451// These errors are usually caused by a client action, such as using an action 3452// or resource on behalf of a user that doesn't have permissions to use the 3453// action or resource, or specifying an identifier that is not valid. 3454// 3455// * ErrCodeInvalidParameterException "InvalidParameterException" 3456// The specified parameter is invalid. Review the available parameters for the 3457// API request. 3458// 3459// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3460func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { 3461 req, out := c.RegisterTaskDefinitionRequest(input) 3462 return out, req.Send() 3463} 3464 3465// RegisterTaskDefinitionWithContext is the same as RegisterTaskDefinition with the addition of 3466// the ability to pass a context and additional request options. 3467// 3468// See RegisterTaskDefinition for details on how to use this API operation. 3469// 3470// The context must be non-nil and will be used for request cancellation. If 3471// the context is nil a panic will occur. In the future the SDK may create 3472// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3473// for more information on using Contexts. 3474func (c *ECS) RegisterTaskDefinitionWithContext(ctx aws.Context, input *RegisterTaskDefinitionInput, opts ...request.Option) (*RegisterTaskDefinitionOutput, error) { 3475 req, out := c.RegisterTaskDefinitionRequest(input) 3476 req.SetContext(ctx) 3477 req.ApplyOptions(opts...) 3478 return out, req.Send() 3479} 3480 3481const opRunTask = "RunTask" 3482 3483// RunTaskRequest generates a "aws/request.Request" representing the 3484// client's request for the RunTask operation. The "output" return 3485// value will be populated with the request's response once the request completes 3486// successfully. 3487// 3488// Use "Send" method on the returned Request to send the API call to the service. 3489// the "output" return value is not valid until after Send returns without error. 3490// 3491// See RunTask for more information on using the RunTask 3492// API call, and error handling. 3493// 3494// This method is useful when you want to inject custom logic or configuration 3495// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3496// 3497// 3498// // Example sending a request using the RunTaskRequest method. 3499// req, resp := client.RunTaskRequest(params) 3500// 3501// err := req.Send() 3502// if err == nil { // resp is now filled 3503// fmt.Println(resp) 3504// } 3505// 3506// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 3507func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { 3508 op := &request.Operation{ 3509 Name: opRunTask, 3510 HTTPMethod: "POST", 3511 HTTPPath: "/", 3512 } 3513 3514 if input == nil { 3515 input = &RunTaskInput{} 3516 } 3517 3518 output = &RunTaskOutput{} 3519 req = c.newRequest(op, input, output) 3520 return 3521} 3522 3523// RunTask API operation for Amazon EC2 Container Service. 3524// 3525// Starts a new task using the specified task definition. 3526// 3527// You can allow Amazon ECS to place tasks for you, or you can customize how 3528// Amazon ECS places tasks using placement constraints and placement strategies. 3529// For more information, see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 3530// in the Amazon Elastic Container Service Developer Guide. 3531// 3532// Alternatively, you can use StartTask to use your own scheduler or place tasks 3533// manually on specific container instances. 3534// 3535// The Amazon ECS API follows an eventual consistency model, due to the distributed 3536// nature of the system supporting the API. This means that the result of an 3537// API command you run that affects your Amazon ECS resources might not be immediately 3538// visible to all subsequent commands you run. Keep this in mind when you carry 3539// out an API command that immediately follows a previous API command. 3540// 3541// To manage eventual consistency, you can do the following: 3542// 3543// * Confirm the state of the resource before you run a command to modify 3544// it. Run the DescribeTasks command using an exponential backoff algorithm 3545// to ensure that you allow enough time for the previous command to propagate 3546// through the system. To do this, run the DescribeTasks command repeatedly, 3547// starting with a couple of seconds of wait time and increasing gradually 3548// up to five minutes of wait time. 3549// 3550// * Add wait time between subsequent commands, even if the DescribeTasks 3551// command returns an accurate response. Apply an exponential backoff algorithm 3552// starting with a couple of seconds of wait time, and increase gradually 3553// up to about five minutes of wait time. 3554// 3555// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3556// with awserr.Error's Code and Message methods to get detailed information about 3557// the error. 3558// 3559// See the AWS API reference guide for Amazon EC2 Container Service's 3560// API operation RunTask for usage and error information. 3561// 3562// Returned Error Codes: 3563// * ErrCodeServerException "ServerException" 3564// These errors are usually caused by a server issue. 3565// 3566// * ErrCodeClientException "ClientException" 3567// These errors are usually caused by a client action, such as using an action 3568// or resource on behalf of a user that doesn't have permissions to use the 3569// action or resource, or specifying an identifier that is not valid. 3570// 3571// * ErrCodeInvalidParameterException "InvalidParameterException" 3572// The specified parameter is invalid. Review the available parameters for the 3573// API request. 3574// 3575// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3576// The specified cluster could not be found. You can view your available clusters 3577// with ListClusters. Amazon ECS clusters are Region-specific. 3578// 3579// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 3580// The specified task is not supported in this Region. 3581// 3582// * ErrCodePlatformUnknownException "PlatformUnknownException" 3583// The specified platform version does not exist. 3584// 3585// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 3586// The specified platform version does not satisfy the task definition's required 3587// capabilities. 3588// 3589// * ErrCodeAccessDeniedException "AccessDeniedException" 3590// You do not have authorization to perform the requested action. 3591// 3592// * ErrCodeBlockedException "BlockedException" 3593// Your AWS account has been blocked. For more information, contact AWS Support 3594// (http://aws.amazon.com/contact-us/). 3595// 3596// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 3597func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { 3598 req, out := c.RunTaskRequest(input) 3599 return out, req.Send() 3600} 3601 3602// RunTaskWithContext is the same as RunTask with the addition of 3603// the ability to pass a context and additional request options. 3604// 3605// See RunTask for details on how to use this API operation. 3606// 3607// The context must be non-nil and will be used for request cancellation. If 3608// the context is nil a panic will occur. In the future the SDK may create 3609// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3610// for more information on using Contexts. 3611func (c *ECS) RunTaskWithContext(ctx aws.Context, input *RunTaskInput, opts ...request.Option) (*RunTaskOutput, error) { 3612 req, out := c.RunTaskRequest(input) 3613 req.SetContext(ctx) 3614 req.ApplyOptions(opts...) 3615 return out, req.Send() 3616} 3617 3618const opStartTask = "StartTask" 3619 3620// StartTaskRequest generates a "aws/request.Request" representing the 3621// client's request for the StartTask operation. The "output" return 3622// value will be populated with the request's response once the request completes 3623// successfully. 3624// 3625// Use "Send" method on the returned Request to send the API call to the service. 3626// the "output" return value is not valid until after Send returns without error. 3627// 3628// See StartTask for more information on using the StartTask 3629// API call, and error handling. 3630// 3631// This method is useful when you want to inject custom logic or configuration 3632// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3633// 3634// 3635// // Example sending a request using the StartTaskRequest method. 3636// req, resp := client.StartTaskRequest(params) 3637// 3638// err := req.Send() 3639// if err == nil { // resp is now filled 3640// fmt.Println(resp) 3641// } 3642// 3643// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 3644func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { 3645 op := &request.Operation{ 3646 Name: opStartTask, 3647 HTTPMethod: "POST", 3648 HTTPPath: "/", 3649 } 3650 3651 if input == nil { 3652 input = &StartTaskInput{} 3653 } 3654 3655 output = &StartTaskOutput{} 3656 req = c.newRequest(op, input, output) 3657 return 3658} 3659 3660// StartTask API operation for Amazon EC2 Container Service. 3661// 3662// Starts a new task from the specified task definition on the specified container 3663// instance or instances. 3664// 3665// Alternatively, you can use RunTask to place tasks for you. For more information, 3666// see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 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 StartTask for usage and error information. 3675// 3676// Returned Error Codes: 3677// * ErrCodeServerException "ServerException" 3678// These errors are usually caused by a server issue. 3679// 3680// * ErrCodeClientException "ClientException" 3681// These errors are usually caused by a client action, such as using an action 3682// or resource on behalf of a user that doesn't have permissions to use the 3683// action or resource, or specifying an identifier that is not valid. 3684// 3685// * ErrCodeInvalidParameterException "InvalidParameterException" 3686// The specified parameter is invalid. Review the available parameters for the 3687// API request. 3688// 3689// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3690// The specified cluster could not be found. You can view your available clusters 3691// with ListClusters. Amazon ECS clusters are Region-specific. 3692// 3693// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 3694func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { 3695 req, out := c.StartTaskRequest(input) 3696 return out, req.Send() 3697} 3698 3699// StartTaskWithContext is the same as StartTask with the addition of 3700// the ability to pass a context and additional request options. 3701// 3702// See StartTask for details on how to use this API operation. 3703// 3704// The context must be non-nil and will be used for request cancellation. If 3705// the context is nil a panic will occur. In the future the SDK may create 3706// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3707// for more information on using Contexts. 3708func (c *ECS) StartTaskWithContext(ctx aws.Context, input *StartTaskInput, opts ...request.Option) (*StartTaskOutput, error) { 3709 req, out := c.StartTaskRequest(input) 3710 req.SetContext(ctx) 3711 req.ApplyOptions(opts...) 3712 return out, req.Send() 3713} 3714 3715const opStopTask = "StopTask" 3716 3717// StopTaskRequest generates a "aws/request.Request" representing the 3718// client's request for the StopTask operation. The "output" return 3719// value will be populated with the request's response once the request completes 3720// successfully. 3721// 3722// Use "Send" method on the returned Request to send the API call to the service. 3723// the "output" return value is not valid until after Send returns without error. 3724// 3725// See StopTask for more information on using the StopTask 3726// API call, and error handling. 3727// 3728// This method is useful when you want to inject custom logic or configuration 3729// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3730// 3731// 3732// // Example sending a request using the StopTaskRequest method. 3733// req, resp := client.StopTaskRequest(params) 3734// 3735// err := req.Send() 3736// if err == nil { // resp is now filled 3737// fmt.Println(resp) 3738// } 3739// 3740// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 3741func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { 3742 op := &request.Operation{ 3743 Name: opStopTask, 3744 HTTPMethod: "POST", 3745 HTTPPath: "/", 3746 } 3747 3748 if input == nil { 3749 input = &StopTaskInput{} 3750 } 3751 3752 output = &StopTaskOutput{} 3753 req = c.newRequest(op, input, output) 3754 return 3755} 3756 3757// StopTask API operation for Amazon EC2 Container Service. 3758// 3759// Stops a running task. Any tags associated with the task will be deleted. 3760// 3761// When StopTask is called on a task, the equivalent of docker stop is issued 3762// to the containers running in the task. This results in a SIGTERM value and 3763// a default 30-second timeout, after which the SIGKILL value is sent and the 3764// containers are forcibly stopped. If the container handles the SIGTERM value 3765// gracefully and exits within 30 seconds from receiving it, no SIGKILL value 3766// is sent. 3767// 3768// The default 30-second timeout can be configured on the Amazon ECS container 3769// agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, 3770// see Amazon ECS Container Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 3771// in the Amazon Elastic Container Service Developer Guide. 3772// 3773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3774// with awserr.Error's Code and Message methods to get detailed information about 3775// the error. 3776// 3777// See the AWS API reference guide for Amazon EC2 Container Service's 3778// API operation StopTask for usage and error information. 3779// 3780// Returned Error Codes: 3781// * ErrCodeServerException "ServerException" 3782// These errors are usually caused by a server issue. 3783// 3784// * ErrCodeClientException "ClientException" 3785// These errors are usually caused by a client action, such as using an action 3786// or resource on behalf of a user that doesn't have permissions to use the 3787// action or resource, or specifying an identifier that is not valid. 3788// 3789// * ErrCodeInvalidParameterException "InvalidParameterException" 3790// The specified parameter is invalid. Review the available parameters for the 3791// API request. 3792// 3793// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3794// The specified cluster could not be found. You can view your available clusters 3795// with ListClusters. Amazon ECS clusters are Region-specific. 3796// 3797// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 3798func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { 3799 req, out := c.StopTaskRequest(input) 3800 return out, req.Send() 3801} 3802 3803// StopTaskWithContext is the same as StopTask with the addition of 3804// the ability to pass a context and additional request options. 3805// 3806// See StopTask for details on how to use this API operation. 3807// 3808// The context must be non-nil and will be used for request cancellation. If 3809// the context is nil a panic will occur. In the future the SDK may create 3810// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3811// for more information on using Contexts. 3812func (c *ECS) StopTaskWithContext(ctx aws.Context, input *StopTaskInput, opts ...request.Option) (*StopTaskOutput, error) { 3813 req, out := c.StopTaskRequest(input) 3814 req.SetContext(ctx) 3815 req.ApplyOptions(opts...) 3816 return out, req.Send() 3817} 3818 3819const opSubmitAttachmentStateChanges = "SubmitAttachmentStateChanges" 3820 3821// SubmitAttachmentStateChangesRequest generates a "aws/request.Request" representing the 3822// client's request for the SubmitAttachmentStateChanges operation. The "output" return 3823// value will be populated with the request's response once the request completes 3824// successfully. 3825// 3826// Use "Send" method on the returned Request to send the API call to the service. 3827// the "output" return value is not valid until after Send returns without error. 3828// 3829// See SubmitAttachmentStateChanges for more information on using the SubmitAttachmentStateChanges 3830// API call, and error handling. 3831// 3832// This method is useful when you want to inject custom logic or configuration 3833// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3834// 3835// 3836// // Example sending a request using the SubmitAttachmentStateChangesRequest method. 3837// req, resp := client.SubmitAttachmentStateChangesRequest(params) 3838// 3839// err := req.Send() 3840// if err == nil { // resp is now filled 3841// fmt.Println(resp) 3842// } 3843// 3844// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 3845func (c *ECS) SubmitAttachmentStateChangesRequest(input *SubmitAttachmentStateChangesInput) (req *request.Request, output *SubmitAttachmentStateChangesOutput) { 3846 op := &request.Operation{ 3847 Name: opSubmitAttachmentStateChanges, 3848 HTTPMethod: "POST", 3849 HTTPPath: "/", 3850 } 3851 3852 if input == nil { 3853 input = &SubmitAttachmentStateChangesInput{} 3854 } 3855 3856 output = &SubmitAttachmentStateChangesOutput{} 3857 req = c.newRequest(op, input, output) 3858 return 3859} 3860 3861// SubmitAttachmentStateChanges API operation for Amazon EC2 Container Service. 3862// 3863// 3864// This action is only used by the Amazon ECS agent, and it is not intended 3865// for use outside of the agent. 3866// 3867// Sent to acknowledge that an attachment changed states. 3868// 3869// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3870// with awserr.Error's Code and Message methods to get detailed information about 3871// the error. 3872// 3873// See the AWS API reference guide for Amazon EC2 Container Service's 3874// API operation SubmitAttachmentStateChanges for usage and error information. 3875// 3876// Returned Error Codes: 3877// * ErrCodeServerException "ServerException" 3878// These errors are usually caused by a server issue. 3879// 3880// * ErrCodeClientException "ClientException" 3881// These errors are usually caused by a client action, such as using an action 3882// or resource on behalf of a user that doesn't have permissions to use the 3883// action or resource, or specifying an identifier that is not valid. 3884// 3885// * ErrCodeAccessDeniedException "AccessDeniedException" 3886// You do not have authorization to perform the requested action. 3887// 3888// * ErrCodeInvalidParameterException "InvalidParameterException" 3889// The specified parameter is invalid. Review the available parameters for the 3890// API request. 3891// 3892// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 3893func (c *ECS) SubmitAttachmentStateChanges(input *SubmitAttachmentStateChangesInput) (*SubmitAttachmentStateChangesOutput, error) { 3894 req, out := c.SubmitAttachmentStateChangesRequest(input) 3895 return out, req.Send() 3896} 3897 3898// SubmitAttachmentStateChangesWithContext is the same as SubmitAttachmentStateChanges with the addition of 3899// the ability to pass a context and additional request options. 3900// 3901// See SubmitAttachmentStateChanges for details on how to use this API operation. 3902// 3903// The context must be non-nil and will be used for request cancellation. If 3904// the context is nil a panic will occur. In the future the SDK may create 3905// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3906// for more information on using Contexts. 3907func (c *ECS) SubmitAttachmentStateChangesWithContext(ctx aws.Context, input *SubmitAttachmentStateChangesInput, opts ...request.Option) (*SubmitAttachmentStateChangesOutput, error) { 3908 req, out := c.SubmitAttachmentStateChangesRequest(input) 3909 req.SetContext(ctx) 3910 req.ApplyOptions(opts...) 3911 return out, req.Send() 3912} 3913 3914const opSubmitContainerStateChange = "SubmitContainerStateChange" 3915 3916// SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the 3917// client's request for the SubmitContainerStateChange operation. The "output" return 3918// value will be populated with the request's response once the request completes 3919// successfully. 3920// 3921// Use "Send" method on the returned Request to send the API call to the service. 3922// the "output" return value is not valid until after Send returns without error. 3923// 3924// See SubmitContainerStateChange for more information on using the SubmitContainerStateChange 3925// API call, and error handling. 3926// 3927// This method is useful when you want to inject custom logic or configuration 3928// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3929// 3930// 3931// // Example sending a request using the SubmitContainerStateChangeRequest method. 3932// req, resp := client.SubmitContainerStateChangeRequest(params) 3933// 3934// err := req.Send() 3935// if err == nil { // resp is now filled 3936// fmt.Println(resp) 3937// } 3938// 3939// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 3940func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { 3941 op := &request.Operation{ 3942 Name: opSubmitContainerStateChange, 3943 HTTPMethod: "POST", 3944 HTTPPath: "/", 3945 } 3946 3947 if input == nil { 3948 input = &SubmitContainerStateChangeInput{} 3949 } 3950 3951 output = &SubmitContainerStateChangeOutput{} 3952 req = c.newRequest(op, input, output) 3953 return 3954} 3955 3956// SubmitContainerStateChange API operation for Amazon EC2 Container Service. 3957// 3958// 3959// This action is only used by the Amazon ECS agent, and it is not intended 3960// for use outside of the agent. 3961// 3962// Sent to acknowledge that a container changed states. 3963// 3964// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3965// with awserr.Error's Code and Message methods to get detailed information about 3966// the error. 3967// 3968// See the AWS API reference guide for Amazon EC2 Container Service's 3969// API operation SubmitContainerStateChange for usage and error information. 3970// 3971// Returned Error Codes: 3972// * ErrCodeServerException "ServerException" 3973// These errors are usually caused by a server issue. 3974// 3975// * ErrCodeClientException "ClientException" 3976// These errors are usually caused by a client action, such as using an action 3977// or resource on behalf of a user that doesn't have permissions to use the 3978// action or resource, or specifying an identifier that is not valid. 3979// 3980// * ErrCodeAccessDeniedException "AccessDeniedException" 3981// You do not have authorization to perform the requested action. 3982// 3983// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 3984func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { 3985 req, out := c.SubmitContainerStateChangeRequest(input) 3986 return out, req.Send() 3987} 3988 3989// SubmitContainerStateChangeWithContext is the same as SubmitContainerStateChange with the addition of 3990// the ability to pass a context and additional request options. 3991// 3992// See SubmitContainerStateChange for details on how to use this API operation. 3993// 3994// The context must be non-nil and will be used for request cancellation. If 3995// the context is nil a panic will occur. In the future the SDK may create 3996// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3997// for more information on using Contexts. 3998func (c *ECS) SubmitContainerStateChangeWithContext(ctx aws.Context, input *SubmitContainerStateChangeInput, opts ...request.Option) (*SubmitContainerStateChangeOutput, error) { 3999 req, out := c.SubmitContainerStateChangeRequest(input) 4000 req.SetContext(ctx) 4001 req.ApplyOptions(opts...) 4002 return out, req.Send() 4003} 4004 4005const opSubmitTaskStateChange = "SubmitTaskStateChange" 4006 4007// SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the 4008// client's request for the SubmitTaskStateChange operation. The "output" return 4009// value will be populated with the request's response once the request completes 4010// successfully. 4011// 4012// Use "Send" method on the returned Request to send the API call to the service. 4013// the "output" return value is not valid until after Send returns without error. 4014// 4015// See SubmitTaskStateChange for more information on using the SubmitTaskStateChange 4016// API call, and error handling. 4017// 4018// This method is useful when you want to inject custom logic or configuration 4019// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4020// 4021// 4022// // Example sending a request using the SubmitTaskStateChangeRequest method. 4023// req, resp := client.SubmitTaskStateChangeRequest(params) 4024// 4025// err := req.Send() 4026// if err == nil { // resp is now filled 4027// fmt.Println(resp) 4028// } 4029// 4030// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4031func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { 4032 op := &request.Operation{ 4033 Name: opSubmitTaskStateChange, 4034 HTTPMethod: "POST", 4035 HTTPPath: "/", 4036 } 4037 4038 if input == nil { 4039 input = &SubmitTaskStateChangeInput{} 4040 } 4041 4042 output = &SubmitTaskStateChangeOutput{} 4043 req = c.newRequest(op, input, output) 4044 return 4045} 4046 4047// SubmitTaskStateChange API operation for Amazon EC2 Container Service. 4048// 4049// 4050// This action is only used by the Amazon ECS agent, and it is not intended 4051// for use outside of the agent. 4052// 4053// Sent to acknowledge that a task changed states. 4054// 4055// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4056// with awserr.Error's Code and Message methods to get detailed information about 4057// the error. 4058// 4059// See the AWS API reference guide for Amazon EC2 Container Service's 4060// API operation SubmitTaskStateChange for usage and error information. 4061// 4062// Returned Error Codes: 4063// * ErrCodeServerException "ServerException" 4064// These errors are usually caused by a server issue. 4065// 4066// * ErrCodeClientException "ClientException" 4067// These errors are usually caused by a client action, such as using an action 4068// or resource on behalf of a user that doesn't have permissions to use the 4069// action or resource, or specifying an identifier that is not valid. 4070// 4071// * ErrCodeAccessDeniedException "AccessDeniedException" 4072// You do not have authorization to perform the requested action. 4073// 4074// * ErrCodeInvalidParameterException "InvalidParameterException" 4075// The specified parameter is invalid. Review the available parameters for the 4076// API request. 4077// 4078// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4079func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { 4080 req, out := c.SubmitTaskStateChangeRequest(input) 4081 return out, req.Send() 4082} 4083 4084// SubmitTaskStateChangeWithContext is the same as SubmitTaskStateChange with the addition of 4085// the ability to pass a context and additional request options. 4086// 4087// See SubmitTaskStateChange for details on how to use this API operation. 4088// 4089// The context must be non-nil and will be used for request cancellation. If 4090// the context is nil a panic will occur. In the future the SDK may create 4091// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4092// for more information on using Contexts. 4093func (c *ECS) SubmitTaskStateChangeWithContext(ctx aws.Context, input *SubmitTaskStateChangeInput, opts ...request.Option) (*SubmitTaskStateChangeOutput, error) { 4094 req, out := c.SubmitTaskStateChangeRequest(input) 4095 req.SetContext(ctx) 4096 req.ApplyOptions(opts...) 4097 return out, req.Send() 4098} 4099 4100const opTagResource = "TagResource" 4101 4102// TagResourceRequest generates a "aws/request.Request" representing the 4103// client's request for the TagResource operation. The "output" return 4104// value will be populated with the request's response once the request completes 4105// successfully. 4106// 4107// Use "Send" method on the returned Request to send the API call to the service. 4108// the "output" return value is not valid until after Send returns without error. 4109// 4110// See TagResource for more information on using the TagResource 4111// API call, and error handling. 4112// 4113// This method is useful when you want to inject custom logic or configuration 4114// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4115// 4116// 4117// // Example sending a request using the TagResourceRequest method. 4118// req, resp := client.TagResourceRequest(params) 4119// 4120// err := req.Send() 4121// if err == nil { // resp is now filled 4122// fmt.Println(resp) 4123// } 4124// 4125// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4126func (c *ECS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 4127 op := &request.Operation{ 4128 Name: opTagResource, 4129 HTTPMethod: "POST", 4130 HTTPPath: "/", 4131 } 4132 4133 if input == nil { 4134 input = &TagResourceInput{} 4135 } 4136 4137 output = &TagResourceOutput{} 4138 req = c.newRequest(op, input, output) 4139 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4140 return 4141} 4142 4143// TagResource API operation for Amazon EC2 Container Service. 4144// 4145// Associates the specified tags to a resource with the specified resourceArn. 4146// If existing tags on a resource are not specified in the request parameters, 4147// they are not changed. When a resource is deleted, the tags associated with 4148// that resource are deleted as well. 4149// 4150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4151// with awserr.Error's Code and Message methods to get detailed information about 4152// the error. 4153// 4154// See the AWS API reference guide for Amazon EC2 Container Service's 4155// API operation TagResource for usage and error information. 4156// 4157// Returned Error Codes: 4158// * ErrCodeServerException "ServerException" 4159// These errors are usually caused by a server issue. 4160// 4161// * ErrCodeClientException "ClientException" 4162// These errors are usually caused by a client action, such as using an action 4163// or resource on behalf of a user that doesn't have permissions to use the 4164// action or resource, or specifying an identifier that is not valid. 4165// 4166// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4167// The specified cluster could not be found. You can view your available clusters 4168// with ListClusters. Amazon ECS clusters are Region-specific. 4169// 4170// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 4171// The specified resource could not be found. 4172// 4173// * ErrCodeInvalidParameterException "InvalidParameterException" 4174// The specified parameter is invalid. Review the available parameters for the 4175// API request. 4176// 4177// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4178func (c *ECS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 4179 req, out := c.TagResourceRequest(input) 4180 return out, req.Send() 4181} 4182 4183// TagResourceWithContext is the same as TagResource with the addition of 4184// the ability to pass a context and additional request options. 4185// 4186// See TagResource for details on how to use this API operation. 4187// 4188// The context must be non-nil and will be used for request cancellation. If 4189// the context is nil a panic will occur. In the future the SDK may create 4190// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4191// for more information on using Contexts. 4192func (c *ECS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 4193 req, out := c.TagResourceRequest(input) 4194 req.SetContext(ctx) 4195 req.ApplyOptions(opts...) 4196 return out, req.Send() 4197} 4198 4199const opUntagResource = "UntagResource" 4200 4201// UntagResourceRequest generates a "aws/request.Request" representing the 4202// client's request for the UntagResource operation. The "output" return 4203// value will be populated with the request's response once the request completes 4204// successfully. 4205// 4206// Use "Send" method on the returned Request to send the API call to the service. 4207// the "output" return value is not valid until after Send returns without error. 4208// 4209// See UntagResource for more information on using the UntagResource 4210// API call, and error handling. 4211// 4212// This method is useful when you want to inject custom logic or configuration 4213// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4214// 4215// 4216// // Example sending a request using the UntagResourceRequest method. 4217// req, resp := client.UntagResourceRequest(params) 4218// 4219// err := req.Send() 4220// if err == nil { // resp is now filled 4221// fmt.Println(resp) 4222// } 4223// 4224// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4225func (c *ECS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 4226 op := &request.Operation{ 4227 Name: opUntagResource, 4228 HTTPMethod: "POST", 4229 HTTPPath: "/", 4230 } 4231 4232 if input == nil { 4233 input = &UntagResourceInput{} 4234 } 4235 4236 output = &UntagResourceOutput{} 4237 req = c.newRequest(op, input, output) 4238 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4239 return 4240} 4241 4242// UntagResource API operation for Amazon EC2 Container Service. 4243// 4244// Deletes specified tags from a resource. 4245// 4246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4247// with awserr.Error's Code and Message methods to get detailed information about 4248// the error. 4249// 4250// See the AWS API reference guide for Amazon EC2 Container Service's 4251// API operation UntagResource for usage and error information. 4252// 4253// Returned Error Codes: 4254// * ErrCodeServerException "ServerException" 4255// These errors are usually caused by a server issue. 4256// 4257// * ErrCodeClientException "ClientException" 4258// These errors are usually caused by a client action, such as using an action 4259// or resource on behalf of a user that doesn't have permissions to use the 4260// action or resource, or specifying an identifier that is not valid. 4261// 4262// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4263// The specified cluster could not be found. You can view your available clusters 4264// with ListClusters. Amazon ECS clusters are Region-specific. 4265// 4266// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 4267// The specified resource could not be found. 4268// 4269// * ErrCodeInvalidParameterException "InvalidParameterException" 4270// The specified parameter is invalid. Review the available parameters for the 4271// API request. 4272// 4273// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4274func (c *ECS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 4275 req, out := c.UntagResourceRequest(input) 4276 return out, req.Send() 4277} 4278 4279// UntagResourceWithContext is the same as UntagResource with the addition of 4280// the ability to pass a context and additional request options. 4281// 4282// See UntagResource for details on how to use this API operation. 4283// 4284// The context must be non-nil and will be used for request cancellation. If 4285// the context is nil a panic will occur. In the future the SDK may create 4286// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4287// for more information on using Contexts. 4288func (c *ECS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 4289 req, out := c.UntagResourceRequest(input) 4290 req.SetContext(ctx) 4291 req.ApplyOptions(opts...) 4292 return out, req.Send() 4293} 4294 4295const opUpdateClusterSettings = "UpdateClusterSettings" 4296 4297// UpdateClusterSettingsRequest generates a "aws/request.Request" representing the 4298// client's request for the UpdateClusterSettings operation. The "output" return 4299// value will be populated with the request's response once the request completes 4300// successfully. 4301// 4302// Use "Send" method on the returned Request to send the API call to the service. 4303// the "output" return value is not valid until after Send returns without error. 4304// 4305// See UpdateClusterSettings for more information on using the UpdateClusterSettings 4306// API call, and error handling. 4307// 4308// This method is useful when you want to inject custom logic or configuration 4309// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4310// 4311// 4312// // Example sending a request using the UpdateClusterSettingsRequest method. 4313// req, resp := client.UpdateClusterSettingsRequest(params) 4314// 4315// err := req.Send() 4316// if err == nil { // resp is now filled 4317// fmt.Println(resp) 4318// } 4319// 4320// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4321func (c *ECS) UpdateClusterSettingsRequest(input *UpdateClusterSettingsInput) (req *request.Request, output *UpdateClusterSettingsOutput) { 4322 op := &request.Operation{ 4323 Name: opUpdateClusterSettings, 4324 HTTPMethod: "POST", 4325 HTTPPath: "/", 4326 } 4327 4328 if input == nil { 4329 input = &UpdateClusterSettingsInput{} 4330 } 4331 4332 output = &UpdateClusterSettingsOutput{} 4333 req = c.newRequest(op, input, output) 4334 return 4335} 4336 4337// UpdateClusterSettings API operation for Amazon EC2 Container Service. 4338// 4339// Modifies the settings to use for a cluster. 4340// 4341// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4342// with awserr.Error's Code and Message methods to get detailed information about 4343// the error. 4344// 4345// See the AWS API reference guide for Amazon EC2 Container Service's 4346// API operation UpdateClusterSettings for usage and error information. 4347// 4348// Returned Error Codes: 4349// * ErrCodeServerException "ServerException" 4350// These errors are usually caused by a server issue. 4351// 4352// * ErrCodeClientException "ClientException" 4353// These errors are usually caused by a client action, such as using an action 4354// or resource on behalf of a user that doesn't have permissions to use the 4355// action or resource, or specifying an identifier that is not valid. 4356// 4357// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4358// The specified cluster could not be found. You can view your available clusters 4359// with ListClusters. Amazon ECS clusters are Region-specific. 4360// 4361// * ErrCodeInvalidParameterException "InvalidParameterException" 4362// The specified parameter is invalid. Review the available parameters for the 4363// API request. 4364// 4365// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4366func (c *ECS) UpdateClusterSettings(input *UpdateClusterSettingsInput) (*UpdateClusterSettingsOutput, error) { 4367 req, out := c.UpdateClusterSettingsRequest(input) 4368 return out, req.Send() 4369} 4370 4371// UpdateClusterSettingsWithContext is the same as UpdateClusterSettings with the addition of 4372// the ability to pass a context and additional request options. 4373// 4374// See UpdateClusterSettings for details on how to use this API operation. 4375// 4376// The context must be non-nil and will be used for request cancellation. If 4377// the context is nil a panic will occur. In the future the SDK may create 4378// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4379// for more information on using Contexts. 4380func (c *ECS) UpdateClusterSettingsWithContext(ctx aws.Context, input *UpdateClusterSettingsInput, opts ...request.Option) (*UpdateClusterSettingsOutput, error) { 4381 req, out := c.UpdateClusterSettingsRequest(input) 4382 req.SetContext(ctx) 4383 req.ApplyOptions(opts...) 4384 return out, req.Send() 4385} 4386 4387const opUpdateContainerAgent = "UpdateContainerAgent" 4388 4389// UpdateContainerAgentRequest generates a "aws/request.Request" representing the 4390// client's request for the UpdateContainerAgent operation. The "output" return 4391// value will be populated with the request's response once the request completes 4392// successfully. 4393// 4394// Use "Send" method on the returned Request to send the API call to the service. 4395// the "output" return value is not valid until after Send returns without error. 4396// 4397// See UpdateContainerAgent for more information on using the UpdateContainerAgent 4398// API call, and error handling. 4399// 4400// This method is useful when you want to inject custom logic or configuration 4401// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4402// 4403// 4404// // Example sending a request using the UpdateContainerAgentRequest method. 4405// req, resp := client.UpdateContainerAgentRequest(params) 4406// 4407// err := req.Send() 4408// if err == nil { // resp is now filled 4409// fmt.Println(resp) 4410// } 4411// 4412// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4413func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { 4414 op := &request.Operation{ 4415 Name: opUpdateContainerAgent, 4416 HTTPMethod: "POST", 4417 HTTPPath: "/", 4418 } 4419 4420 if input == nil { 4421 input = &UpdateContainerAgentInput{} 4422 } 4423 4424 output = &UpdateContainerAgentOutput{} 4425 req = c.newRequest(op, input, output) 4426 return 4427} 4428 4429// UpdateContainerAgent API operation for Amazon EC2 Container Service. 4430// 4431// Updates the Amazon ECS container agent on a specified container instance. 4432// Updating the Amazon ECS container agent does not interrupt running tasks 4433// or services on the container instance. The process for updating the agent 4434// differs depending on whether your container instance was launched with the 4435// Amazon ECS-optimized AMI or another operating system. 4436// 4437// UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux 4438// with the ecs-init service installed and running. For help updating the Amazon 4439// ECS container agent on other operating systems, see Manually Updating the 4440// Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) 4441// in the Amazon Elastic Container Service Developer Guide. 4442// 4443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4444// with awserr.Error's Code and Message methods to get detailed information about 4445// the error. 4446// 4447// See the AWS API reference guide for Amazon EC2 Container Service's 4448// API operation UpdateContainerAgent for usage and error information. 4449// 4450// Returned Error Codes: 4451// * ErrCodeServerException "ServerException" 4452// These errors are usually caused by a server issue. 4453// 4454// * ErrCodeClientException "ClientException" 4455// These errors are usually caused by a client action, such as using an action 4456// or resource on behalf of a user that doesn't have permissions to use the 4457// action or resource, or specifying an identifier that is not valid. 4458// 4459// * ErrCodeInvalidParameterException "InvalidParameterException" 4460// The specified parameter is invalid. Review the available parameters for the 4461// API request. 4462// 4463// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4464// The specified cluster could not be found. You can view your available clusters 4465// with ListClusters. Amazon ECS clusters are Region-specific. 4466// 4467// * ErrCodeUpdateInProgressException "UpdateInProgressException" 4468// There is already a current Amazon ECS container agent update in progress 4469// on the specified container instance. If the container agent becomes disconnected 4470// while it is in a transitional stage, such as PENDING or STAGING, the update 4471// process can get stuck in that state. However, when the agent reconnects, 4472// it resumes where it stopped previously. 4473// 4474// * ErrCodeNoUpdateAvailableException "NoUpdateAvailableException" 4475// There is no update available for this Amazon ECS container agent. This could 4476// be because the agent is already running the latest version, or it is so old 4477// that there is no update path to the current version. 4478// 4479// * ErrCodeMissingVersionException "MissingVersionException" 4480// Amazon ECS is unable to determine the current version of the Amazon ECS container 4481// agent on the container instance and does not have enough information to proceed 4482// with an update. This could be because the agent running on the container 4483// instance is an older or custom version that does not use our version information. 4484// 4485// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4486func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { 4487 req, out := c.UpdateContainerAgentRequest(input) 4488 return out, req.Send() 4489} 4490 4491// UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of 4492// the ability to pass a context and additional request options. 4493// 4494// See UpdateContainerAgent for details on how to use this API operation. 4495// 4496// The context must be non-nil and will be used for request cancellation. If 4497// the context is nil a panic will occur. In the future the SDK may create 4498// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4499// for more information on using Contexts. 4500func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) { 4501 req, out := c.UpdateContainerAgentRequest(input) 4502 req.SetContext(ctx) 4503 req.ApplyOptions(opts...) 4504 return out, req.Send() 4505} 4506 4507const opUpdateContainerInstancesState = "UpdateContainerInstancesState" 4508 4509// UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the 4510// client's request for the UpdateContainerInstancesState operation. The "output" return 4511// value will be populated with the request's response once the request completes 4512// successfully. 4513// 4514// Use "Send" method on the returned Request to send the API call to the service. 4515// the "output" return value is not valid until after Send returns without error. 4516// 4517// See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState 4518// API call, and error handling. 4519// 4520// This method is useful when you want to inject custom logic or configuration 4521// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4522// 4523// 4524// // Example sending a request using the UpdateContainerInstancesStateRequest method. 4525// req, resp := client.UpdateContainerInstancesStateRequest(params) 4526// 4527// err := req.Send() 4528// if err == nil { // resp is now filled 4529// fmt.Println(resp) 4530// } 4531// 4532// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 4533func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) { 4534 op := &request.Operation{ 4535 Name: opUpdateContainerInstancesState, 4536 HTTPMethod: "POST", 4537 HTTPPath: "/", 4538 } 4539 4540 if input == nil { 4541 input = &UpdateContainerInstancesStateInput{} 4542 } 4543 4544 output = &UpdateContainerInstancesStateOutput{} 4545 req = c.newRequest(op, input, output) 4546 return 4547} 4548 4549// UpdateContainerInstancesState API operation for Amazon EC2 Container Service. 4550// 4551// Modifies the status of an Amazon ECS container instance. 4552// 4553// Once a container instance has reached an ACTIVE state, you can change the 4554// status of a container instance to DRAINING to manually remove an instance 4555// from a cluster, for example to perform system updates, update the Docker 4556// daemon, or scale down the cluster size. 4557// 4558// A container instance cannot be changed to DRAINING until it has reached an 4559// ACTIVE status. If the instance is in any other status, an error will be received. 4560// 4561// When you set a container instance to DRAINING, Amazon ECS prevents new tasks 4562// from being scheduled for placement on the container instance and replacement 4563// service tasks are started on other container instances in the cluster if 4564// the resources are available. Service tasks on the container instance that 4565// are in the PENDING state are stopped immediately. 4566// 4567// Service tasks on the container instance that are in the RUNNING state are 4568// stopped and replaced according to the service's deployment configuration 4569// parameters, minimumHealthyPercent and maximumPercent. You can change the 4570// deployment configuration of your service using UpdateService. 4571// 4572// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 4573// temporarily during task replacement. For example, desiredCount is four 4574// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 4575// before starting two new tasks. If the minimum is 100%, the service scheduler 4576// can't remove existing tasks until the replacement tasks are considered 4577// healthy. Tasks for services that do not use a load balancer are considered 4578// healthy if they are in the RUNNING state. Tasks for services that use 4579// a load balancer are considered healthy if they are in the RUNNING state 4580// and the container instance they are hosted on is reported as healthy by 4581// the load balancer. 4582// 4583// * The maximumPercent parameter represents an upper limit on the number 4584// of running tasks during task replacement, which enables you to define 4585// the replacement batch size. For example, if desiredCount is four tasks, 4586// a maximum of 200% starts four new tasks before stopping the four tasks 4587// to be drained, provided that the cluster resources required to do this 4588// are available. If the maximum is 100%, then replacement tasks can't start 4589// until the draining tasks have stopped. 4590// 4591// Any PENDING or RUNNING tasks that do not belong to a service are not affected. 4592// You must wait for them to finish or stop them manually. 4593// 4594// A container instance has completed draining when it has no more RUNNING tasks. 4595// You can verify this using ListTasks. 4596// 4597// When a container instance has been drained, you can set a container instance 4598// to ACTIVE status and once it has reached that status the Amazon ECS scheduler 4599// can begin scheduling tasks on the instance again. 4600// 4601// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4602// with awserr.Error's Code and Message methods to get detailed information about 4603// the error. 4604// 4605// See the AWS API reference guide for Amazon EC2 Container Service's 4606// API operation UpdateContainerInstancesState for usage and error information. 4607// 4608// Returned Error Codes: 4609// * ErrCodeServerException "ServerException" 4610// These errors are usually caused by a server issue. 4611// 4612// * ErrCodeClientException "ClientException" 4613// These errors are usually caused by a client action, such as using an action 4614// or resource on behalf of a user that doesn't have permissions to use the 4615// action or resource, or specifying an identifier that is not valid. 4616// 4617// * ErrCodeInvalidParameterException "InvalidParameterException" 4618// The specified parameter is invalid. Review the available parameters for the 4619// API request. 4620// 4621// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4622// The specified cluster could not be found. You can view your available clusters 4623// with ListClusters. Amazon ECS clusters are Region-specific. 4624// 4625// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 4626func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) { 4627 req, out := c.UpdateContainerInstancesStateRequest(input) 4628 return out, req.Send() 4629} 4630 4631// UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of 4632// the ability to pass a context and additional request options. 4633// 4634// See UpdateContainerInstancesState for details on how to use this API operation. 4635// 4636// The context must be non-nil and will be used for request cancellation. If 4637// the context is nil a panic will occur. In the future the SDK may create 4638// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4639// for more information on using Contexts. 4640func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) { 4641 req, out := c.UpdateContainerInstancesStateRequest(input) 4642 req.SetContext(ctx) 4643 req.ApplyOptions(opts...) 4644 return out, req.Send() 4645} 4646 4647const opUpdateService = "UpdateService" 4648 4649// UpdateServiceRequest generates a "aws/request.Request" representing the 4650// client's request for the UpdateService operation. The "output" return 4651// value will be populated with the request's response once the request completes 4652// successfully. 4653// 4654// Use "Send" method on the returned Request to send the API call to the service. 4655// the "output" return value is not valid until after Send returns without error. 4656// 4657// See UpdateService for more information on using the UpdateService 4658// API call, and error handling. 4659// 4660// This method is useful when you want to inject custom logic or configuration 4661// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4662// 4663// 4664// // Example sending a request using the UpdateServiceRequest method. 4665// req, resp := client.UpdateServiceRequest(params) 4666// 4667// err := req.Send() 4668// if err == nil { // resp is now filled 4669// fmt.Println(resp) 4670// } 4671// 4672// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 4673func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 4674 op := &request.Operation{ 4675 Name: opUpdateService, 4676 HTTPMethod: "POST", 4677 HTTPPath: "/", 4678 } 4679 4680 if input == nil { 4681 input = &UpdateServiceInput{} 4682 } 4683 4684 output = &UpdateServiceOutput{} 4685 req = c.newRequest(op, input, output) 4686 return 4687} 4688 4689// UpdateService API operation for Amazon EC2 Container Service. 4690// 4691// Modifies the parameters of a service. 4692// 4693// For services using the rolling update (ECS) deployment controller, the desired 4694// count, deployment configuration, network configuration, or task definition 4695// used can be updated. 4696// 4697// For services using the blue/green (CODE_DEPLOY) deployment controller, only 4698// the desired count, deployment configuration, and health check grace period 4699// can be updated using this API. If the network configuration, platform version, 4700// or task definition need to be updated, a new AWS CodeDeploy deployment should 4701// be created. For more information, see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html) 4702// in the AWS CodeDeploy API Reference. 4703// 4704// For services using an external deployment controller, you can update only 4705// the desired count and health check grace period using this API. If the launch 4706// type, load balancer, network configuration, platform version, or task definition 4707// need to be updated, you should create a new task set. For more information, 4708// see CreateTaskSet. 4709// 4710// You can add to or subtract from the number of instantiations of a task definition 4711// in a service by specifying the cluster that the service is running in and 4712// a new desiredCount parameter. 4713// 4714// If you have updated the Docker image of your application, you can create 4715// a new task definition with that image and deploy it to your service. The 4716// service scheduler uses the minimum healthy percent and maximum percent parameters 4717// (in the service's deployment configuration) to determine the deployment strategy. 4718// 4719// If your updated Docker image uses the same tag as what is in the existing 4720// task definition for your service (for example, my_image:latest), you do not 4721// need to create a new revision of your task definition. You can update the 4722// service using the forceNewDeployment option. The new tasks launched by the 4723// deployment pull the current image/tag combination from your repository when 4724// they start. 4725// 4726// You can also update the deployment configuration of a service. When a deployment 4727// is triggered by updating the task definition of a service, the service scheduler 4728// uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, 4729// to determine the deployment strategy. 4730// 4731// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 4732// temporarily during a deployment. For example, if desiredCount is four 4733// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 4734// before starting two new tasks. Tasks for services that do not use a load 4735// balancer are considered healthy if they are in the RUNNING state. Tasks 4736// for services that use a load balancer are considered healthy if they are 4737// in the RUNNING state and the container instance they are hosted on is 4738// reported as healthy by the load balancer. 4739// 4740// * The maximumPercent parameter represents an upper limit on the number 4741// of running tasks during a deployment, which enables you to define the 4742// deployment batch size. For example, if desiredCount is four tasks, a maximum 4743// of 200% starts four new tasks before stopping the four older tasks (provided 4744// that the cluster resources required to do this are available). 4745// 4746// When UpdateService stops a task during a deployment, the equivalent of docker 4747// stop is issued to the containers running in the task. This results in a SIGTERM 4748// and a 30-second timeout, after which SIGKILL is sent and the containers are 4749// forcibly stopped. If the container handles the SIGTERM gracefully and exits 4750// within 30 seconds from receiving it, no SIGKILL is sent. 4751// 4752// When the service scheduler launches new tasks, it determines task placement 4753// in your cluster with the following logic: 4754// 4755// * Determine which of the container instances in your cluster can support 4756// your service's task definition (for example, they have the required CPU, 4757// memory, ports, and container instance attributes). 4758// 4759// * By default, the service scheduler attempts to balance tasks across Availability 4760// Zones in this manner (although you can choose a different placement strategy): 4761// Sort the valid container instances by the fewest number of running tasks 4762// for this service in the same Availability Zone as the instance. For example, 4763// if zone A has one running service task and zones B and C each have zero, 4764// valid container instances in either zone B or C are considered optimal 4765// for placement. Place the new service task on a valid container instance 4766// in an optimal Availability Zone (based on the previous steps), favoring 4767// container instances with the fewest number of running tasks for this service. 4768// 4769// When the service scheduler stops running tasks, it attempts to maintain balance 4770// across the Availability Zones in your cluster using the following logic: 4771// 4772// * Sort the container instances by the largest number of running tasks 4773// for this service in the same Availability Zone as the instance. For example, 4774// if zone A has one running service task and zones B and C each have two, 4775// container instances in either zone B or C are considered optimal for termination. 4776// 4777// * Stop the task on a container instance in an optimal Availability Zone 4778// (based on the previous steps), favoring container instances with the largest 4779// number of running tasks for this service. 4780// 4781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4782// with awserr.Error's Code and Message methods to get detailed information about 4783// the error. 4784// 4785// See the AWS API reference guide for Amazon EC2 Container Service's 4786// API operation UpdateService for usage and error information. 4787// 4788// Returned Error Codes: 4789// * ErrCodeServerException "ServerException" 4790// These errors are usually caused by a server issue. 4791// 4792// * ErrCodeClientException "ClientException" 4793// These errors are usually caused by a client action, such as using an action 4794// or resource on behalf of a user that doesn't have permissions to use the 4795// action or resource, or specifying an identifier that is not valid. 4796// 4797// * ErrCodeInvalidParameterException "InvalidParameterException" 4798// The specified parameter is invalid. Review the available parameters for the 4799// API request. 4800// 4801// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4802// The specified cluster could not be found. You can view your available clusters 4803// with ListClusters. Amazon ECS clusters are Region-specific. 4804// 4805// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 4806// The specified service could not be found. You can view your available services 4807// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 4808// 4809// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 4810// The specified service is not active. You can't update a service that is inactive. 4811// If you have previously deleted a service, you can re-create it with CreateService. 4812// 4813// * ErrCodePlatformUnknownException "PlatformUnknownException" 4814// The specified platform version does not exist. 4815// 4816// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 4817// The specified platform version does not satisfy the task definition's required 4818// capabilities. 4819// 4820// * ErrCodeAccessDeniedException "AccessDeniedException" 4821// You do not have authorization to perform the requested action. 4822// 4823// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 4824func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 4825 req, out := c.UpdateServiceRequest(input) 4826 return out, req.Send() 4827} 4828 4829// UpdateServiceWithContext is the same as UpdateService with the addition of 4830// the ability to pass a context and additional request options. 4831// 4832// See UpdateService for details on how to use this API operation. 4833// 4834// The context must be non-nil and will be used for request cancellation. If 4835// the context is nil a panic will occur. In the future the SDK may create 4836// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4837// for more information on using Contexts. 4838func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 4839 req, out := c.UpdateServiceRequest(input) 4840 req.SetContext(ctx) 4841 req.ApplyOptions(opts...) 4842 return out, req.Send() 4843} 4844 4845const opUpdateServicePrimaryTaskSet = "UpdateServicePrimaryTaskSet" 4846 4847// UpdateServicePrimaryTaskSetRequest generates a "aws/request.Request" representing the 4848// client's request for the UpdateServicePrimaryTaskSet operation. The "output" return 4849// value will be populated with the request's response once the request completes 4850// successfully. 4851// 4852// Use "Send" method on the returned Request to send the API call to the service. 4853// the "output" return value is not valid until after Send returns without error. 4854// 4855// See UpdateServicePrimaryTaskSet for more information on using the UpdateServicePrimaryTaskSet 4856// API call, and error handling. 4857// 4858// This method is useful when you want to inject custom logic or configuration 4859// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4860// 4861// 4862// // Example sending a request using the UpdateServicePrimaryTaskSetRequest method. 4863// req, resp := client.UpdateServicePrimaryTaskSetRequest(params) 4864// 4865// err := req.Send() 4866// if err == nil { // resp is now filled 4867// fmt.Println(resp) 4868// } 4869// 4870// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 4871func (c *ECS) UpdateServicePrimaryTaskSetRequest(input *UpdateServicePrimaryTaskSetInput) (req *request.Request, output *UpdateServicePrimaryTaskSetOutput) { 4872 op := &request.Operation{ 4873 Name: opUpdateServicePrimaryTaskSet, 4874 HTTPMethod: "POST", 4875 HTTPPath: "/", 4876 } 4877 4878 if input == nil { 4879 input = &UpdateServicePrimaryTaskSetInput{} 4880 } 4881 4882 output = &UpdateServicePrimaryTaskSetOutput{} 4883 req = c.newRequest(op, input, output) 4884 return 4885} 4886 4887// UpdateServicePrimaryTaskSet API operation for Amazon EC2 Container Service. 4888// 4889// Modifies which task set in a service is the primary task set. Any parameters 4890// that are updated on the primary task set in a service will transition to 4891// the service. This is used when a service uses the EXTERNAL deployment controller 4892// type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 4893// in the Amazon Elastic Container Service Developer Guide. 4894// 4895// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4896// with awserr.Error's Code and Message methods to get detailed information about 4897// the error. 4898// 4899// See the AWS API reference guide for Amazon EC2 Container Service's 4900// API operation UpdateServicePrimaryTaskSet for usage and error information. 4901// 4902// Returned Error Codes: 4903// * ErrCodeServerException "ServerException" 4904// These errors are usually caused by a server issue. 4905// 4906// * ErrCodeClientException "ClientException" 4907// These errors are usually caused by a client action, such as using an action 4908// or resource on behalf of a user that doesn't have permissions to use the 4909// action or resource, or specifying an identifier that is not valid. 4910// 4911// * ErrCodeInvalidParameterException "InvalidParameterException" 4912// The specified parameter is invalid. Review the available parameters for the 4913// API request. 4914// 4915// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4916// The specified cluster could not be found. You can view your available clusters 4917// with ListClusters. Amazon ECS clusters are Region-specific. 4918// 4919// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 4920// The specified task is not supported in this Region. 4921// 4922// * ErrCodeAccessDeniedException "AccessDeniedException" 4923// You do not have authorization to perform the requested action. 4924// 4925// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 4926// The specified service could not be found. You can view your available services 4927// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 4928// 4929// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 4930// The specified service is not active. You can't update a service that is inactive. 4931// If you have previously deleted a service, you can re-create it with CreateService. 4932// 4933// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" 4934// The specified task set could not be found. You can view your available container 4935// instances with DescribeTaskSets. Task sets are specific to each cluster, 4936// service and Region. 4937// 4938// * ErrCodeAccessDeniedException "AccessDeniedException" 4939// You do not have authorization to perform the requested action. 4940// 4941// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 4942func (c *ECS) UpdateServicePrimaryTaskSet(input *UpdateServicePrimaryTaskSetInput) (*UpdateServicePrimaryTaskSetOutput, error) { 4943 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 4944 return out, req.Send() 4945} 4946 4947// UpdateServicePrimaryTaskSetWithContext is the same as UpdateServicePrimaryTaskSet with the addition of 4948// the ability to pass a context and additional request options. 4949// 4950// See UpdateServicePrimaryTaskSet for details on how to use this API operation. 4951// 4952// The context must be non-nil and will be used for request cancellation. If 4953// the context is nil a panic will occur. In the future the SDK may create 4954// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4955// for more information on using Contexts. 4956func (c *ECS) UpdateServicePrimaryTaskSetWithContext(ctx aws.Context, input *UpdateServicePrimaryTaskSetInput, opts ...request.Option) (*UpdateServicePrimaryTaskSetOutput, error) { 4957 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 4958 req.SetContext(ctx) 4959 req.ApplyOptions(opts...) 4960 return out, req.Send() 4961} 4962 4963const opUpdateTaskSet = "UpdateTaskSet" 4964 4965// UpdateTaskSetRequest generates a "aws/request.Request" representing the 4966// client's request for the UpdateTaskSet operation. The "output" return 4967// value will be populated with the request's response once the request completes 4968// successfully. 4969// 4970// Use "Send" method on the returned Request to send the API call to the service. 4971// the "output" return value is not valid until after Send returns without error. 4972// 4973// See UpdateTaskSet for more information on using the UpdateTaskSet 4974// API call, and error handling. 4975// 4976// This method is useful when you want to inject custom logic or configuration 4977// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4978// 4979// 4980// // Example sending a request using the UpdateTaskSetRequest method. 4981// req, resp := client.UpdateTaskSetRequest(params) 4982// 4983// err := req.Send() 4984// if err == nil { // resp is now filled 4985// fmt.Println(resp) 4986// } 4987// 4988// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 4989func (c *ECS) UpdateTaskSetRequest(input *UpdateTaskSetInput) (req *request.Request, output *UpdateTaskSetOutput) { 4990 op := &request.Operation{ 4991 Name: opUpdateTaskSet, 4992 HTTPMethod: "POST", 4993 HTTPPath: "/", 4994 } 4995 4996 if input == nil { 4997 input = &UpdateTaskSetInput{} 4998 } 4999 5000 output = &UpdateTaskSetOutput{} 5001 req = c.newRequest(op, input, output) 5002 return 5003} 5004 5005// UpdateTaskSet API operation for Amazon EC2 Container Service. 5006// 5007// Modifies a task set. This is used when a service uses the EXTERNAL deployment 5008// controller type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5009// in the Amazon Elastic Container Service Developer Guide. 5010// 5011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5012// with awserr.Error's Code and Message methods to get detailed information about 5013// the error. 5014// 5015// See the AWS API reference guide for Amazon EC2 Container Service's 5016// API operation UpdateTaskSet for usage and error information. 5017// 5018// Returned Error Codes: 5019// * ErrCodeServerException "ServerException" 5020// These errors are usually caused by a server issue. 5021// 5022// * ErrCodeClientException "ClientException" 5023// These errors are usually caused by a client action, such as using an action 5024// or resource on behalf of a user that doesn't have permissions to use the 5025// action or resource, or specifying an identifier that is not valid. 5026// 5027// * ErrCodeInvalidParameterException "InvalidParameterException" 5028// The specified parameter is invalid. Review the available parameters for the 5029// API request. 5030// 5031// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 5032// The specified cluster could not be found. You can view your available clusters 5033// with ListClusters. Amazon ECS clusters are Region-specific. 5034// 5035// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 5036// The specified task is not supported in this Region. 5037// 5038// * ErrCodeAccessDeniedException "AccessDeniedException" 5039// You do not have authorization to perform the requested action. 5040// 5041// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 5042// The specified service could not be found. You can view your available services 5043// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5044// 5045// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 5046// The specified service is not active. You can't update a service that is inactive. 5047// If you have previously deleted a service, you can re-create it with CreateService. 5048// 5049// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" 5050// The specified task set could not be found. You can view your available container 5051// instances with DescribeTaskSets. Task sets are specific to each cluster, 5052// service and Region. 5053// 5054// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5055func (c *ECS) UpdateTaskSet(input *UpdateTaskSetInput) (*UpdateTaskSetOutput, error) { 5056 req, out := c.UpdateTaskSetRequest(input) 5057 return out, req.Send() 5058} 5059 5060// UpdateTaskSetWithContext is the same as UpdateTaskSet with the addition of 5061// the ability to pass a context and additional request options. 5062// 5063// See UpdateTaskSet for details on how to use this API operation. 5064// 5065// The context must be non-nil and will be used for request cancellation. If 5066// the context is nil a panic will occur. In the future the SDK may create 5067// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5068// for more information on using Contexts. 5069func (c *ECS) UpdateTaskSetWithContext(ctx aws.Context, input *UpdateTaskSetInput, opts ...request.Option) (*UpdateTaskSetOutput, error) { 5070 req, out := c.UpdateTaskSetRequest(input) 5071 req.SetContext(ctx) 5072 req.ApplyOptions(opts...) 5073 return out, req.Send() 5074} 5075 5076// An object representing a container instance or task attachment. 5077type Attachment struct { 5078 _ struct{} `type:"structure"` 5079 5080 // Details of the attachment. For elastic network interfaces, this includes 5081 // the network interface ID, the MAC address, the subnet ID, and the private 5082 // IPv4 address. 5083 Details []*KeyValuePair `locationName:"details" type:"list"` 5084 5085 // The unique identifier for the attachment. 5086 Id *string `locationName:"id" type:"string"` 5087 5088 // The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, 5089 // ATTACHED, DETACHING, DETACHED, and DELETED. 5090 Status *string `locationName:"status" type:"string"` 5091 5092 // The type of the attachment, such as ElasticNetworkInterface. 5093 Type *string `locationName:"type" type:"string"` 5094} 5095 5096// String returns the string representation 5097func (s Attachment) String() string { 5098 return awsutil.Prettify(s) 5099} 5100 5101// GoString returns the string representation 5102func (s Attachment) GoString() string { 5103 return s.String() 5104} 5105 5106// SetDetails sets the Details field's value. 5107func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment { 5108 s.Details = v 5109 return s 5110} 5111 5112// SetId sets the Id field's value. 5113func (s *Attachment) SetId(v string) *Attachment { 5114 s.Id = &v 5115 return s 5116} 5117 5118// SetStatus sets the Status field's value. 5119func (s *Attachment) SetStatus(v string) *Attachment { 5120 s.Status = &v 5121 return s 5122} 5123 5124// SetType sets the Type field's value. 5125func (s *Attachment) SetType(v string) *Attachment { 5126 s.Type = &v 5127 return s 5128} 5129 5130// An object representing a change in state for a task attachment. 5131type AttachmentStateChange struct { 5132 _ struct{} `type:"structure"` 5133 5134 // The Amazon Resource Name (ARN) of the attachment. 5135 // 5136 // AttachmentArn is a required field 5137 AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"` 5138 5139 // The status of the attachment. 5140 // 5141 // Status is a required field 5142 Status *string `locationName:"status" type:"string" required:"true"` 5143} 5144 5145// String returns the string representation 5146func (s AttachmentStateChange) String() string { 5147 return awsutil.Prettify(s) 5148} 5149 5150// GoString returns the string representation 5151func (s AttachmentStateChange) GoString() string { 5152 return s.String() 5153} 5154 5155// Validate inspects the fields of the type to determine if they are valid. 5156func (s *AttachmentStateChange) Validate() error { 5157 invalidParams := request.ErrInvalidParams{Context: "AttachmentStateChange"} 5158 if s.AttachmentArn == nil { 5159 invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) 5160 } 5161 if s.Status == nil { 5162 invalidParams.Add(request.NewErrParamRequired("Status")) 5163 } 5164 5165 if invalidParams.Len() > 0 { 5166 return invalidParams 5167 } 5168 return nil 5169} 5170 5171// SetAttachmentArn sets the AttachmentArn field's value. 5172func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange { 5173 s.AttachmentArn = &v 5174 return s 5175} 5176 5177// SetStatus sets the Status field's value. 5178func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange { 5179 s.Status = &v 5180 return s 5181} 5182 5183// An attribute is a name-value pair associated with an Amazon ECS object. Attributes 5184// enable you to extend the Amazon ECS data model by adding custom metadata 5185// to your resources. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 5186// in the Amazon Elastic Container Service Developer Guide. 5187type Attribute struct { 5188 _ struct{} `type:"structure"` 5189 5190 // The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, 5191 // hyphens, underscores, and periods are allowed. 5192 // 5193 // Name is a required field 5194 Name *string `locationName:"name" type:"string" required:"true"` 5195 5196 // The ID of the target. You can specify the short form ID for a resource or 5197 // the full Amazon Resource Name (ARN). 5198 TargetId *string `locationName:"targetId" type:"string"` 5199 5200 // The type of the target with which to attach the attribute. This parameter 5201 // is required if you use the short form ID for a resource instead of the full 5202 // ARN. 5203 TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` 5204 5205 // The value of the attribute. Up to 128 letters (uppercase and lowercase), 5206 // numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, 5207 // and spaces are allowed. 5208 Value *string `locationName:"value" type:"string"` 5209} 5210 5211// String returns the string representation 5212func (s Attribute) String() string { 5213 return awsutil.Prettify(s) 5214} 5215 5216// GoString returns the string representation 5217func (s Attribute) GoString() string { 5218 return s.String() 5219} 5220 5221// Validate inspects the fields of the type to determine if they are valid. 5222func (s *Attribute) Validate() error { 5223 invalidParams := request.ErrInvalidParams{Context: "Attribute"} 5224 if s.Name == nil { 5225 invalidParams.Add(request.NewErrParamRequired("Name")) 5226 } 5227 5228 if invalidParams.Len() > 0 { 5229 return invalidParams 5230 } 5231 return nil 5232} 5233 5234// SetName sets the Name field's value. 5235func (s *Attribute) SetName(v string) *Attribute { 5236 s.Name = &v 5237 return s 5238} 5239 5240// SetTargetId sets the TargetId field's value. 5241func (s *Attribute) SetTargetId(v string) *Attribute { 5242 s.TargetId = &v 5243 return s 5244} 5245 5246// SetTargetType sets the TargetType field's value. 5247func (s *Attribute) SetTargetType(v string) *Attribute { 5248 s.TargetType = &v 5249 return s 5250} 5251 5252// SetValue sets the Value field's value. 5253func (s *Attribute) SetValue(v string) *Attribute { 5254 s.Value = &v 5255 return s 5256} 5257 5258// An object representing the networking details for a task or service. 5259type AwsVpcConfiguration struct { 5260 _ struct{} `type:"structure"` 5261 5262 // Whether the task's elastic network interface receives a public IP address. 5263 // The default value is DISABLED. 5264 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 5265 5266 // The security groups associated with the task or service. If you do not specify 5267 // a security group, the default security group for the VPC is used. There is 5268 // a limit of 5 security groups that can be specified per AwsVpcConfiguration. 5269 // 5270 // All specified security groups must be from the same VPC. 5271 SecurityGroups []*string `locationName:"securityGroups" type:"list"` 5272 5273 // The subnets associated with the task or service. There is a limit of 16 subnets 5274 // that can be specified per AwsVpcConfiguration. 5275 // 5276 // All specified subnets must be from the same VPC. 5277 // 5278 // Subnets is a required field 5279 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 5280} 5281 5282// String returns the string representation 5283func (s AwsVpcConfiguration) String() string { 5284 return awsutil.Prettify(s) 5285} 5286 5287// GoString returns the string representation 5288func (s AwsVpcConfiguration) GoString() string { 5289 return s.String() 5290} 5291 5292// Validate inspects the fields of the type to determine if they are valid. 5293func (s *AwsVpcConfiguration) Validate() error { 5294 invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"} 5295 if s.Subnets == nil { 5296 invalidParams.Add(request.NewErrParamRequired("Subnets")) 5297 } 5298 5299 if invalidParams.Len() > 0 { 5300 return invalidParams 5301 } 5302 return nil 5303} 5304 5305// SetAssignPublicIp sets the AssignPublicIp field's value. 5306func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration { 5307 s.AssignPublicIp = &v 5308 return s 5309} 5310 5311// SetSecurityGroups sets the SecurityGroups field's value. 5312func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration { 5313 s.SecurityGroups = v 5314 return s 5315} 5316 5317// SetSubnets sets the Subnets field's value. 5318func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration { 5319 s.Subnets = v 5320 return s 5321} 5322 5323// A regional grouping of one or more container instances on which you can run 5324// task requests. Each account receives a default cluster the first time you 5325// use the Amazon ECS service, but you may also create other clusters. Clusters 5326// may contain more than one instance type simultaneously. 5327type Cluster struct { 5328 _ struct{} `type:"structure"` 5329 5330 // The number of services that are running on the cluster in an ACTIVE state. 5331 // You can view these services with ListServices. 5332 ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` 5333 5334 // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains 5335 // the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS 5336 // account ID of the cluster owner, the cluster namespace, and then the cluster 5337 // name. For example, arn:aws:ecs:region:012345678910:cluster/test. 5338 ClusterArn *string `locationName:"clusterArn" type:"string"` 5339 5340 // A user-generated string that you use to identify your cluster. 5341 ClusterName *string `locationName:"clusterName" type:"string"` 5342 5343 // The number of tasks in the cluster that are in the PENDING state. 5344 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 5345 5346 // The number of container instances registered into the cluster. This includes 5347 // container instances in both ACTIVE and DRAINING status. 5348 RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` 5349 5350 // The number of tasks in the cluster that are in the RUNNING state. 5351 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 5352 5353 // The settings for the cluster. This parameter indicates whether CloudWatch 5354 // Container Insights is enabled or disabled for a cluster. 5355 Settings []*ClusterSetting `locationName:"settings" type:"list"` 5356 5357 // Additional information about your clusters that are separated by launch type, 5358 // including: 5359 // 5360 // * runningEC2TasksCount 5361 // 5362 // * RunningFargateTasksCount 5363 // 5364 // * pendingEC2TasksCount 5365 // 5366 // * pendingFargateTasksCount 5367 // 5368 // * activeEC2ServiceCount 5369 // 5370 // * activeFargateServiceCount 5371 // 5372 // * drainingEC2ServiceCount 5373 // 5374 // * drainingFargateServiceCount 5375 Statistics []*KeyValuePair `locationName:"statistics" type:"list"` 5376 5377 // The status of the cluster. The valid values are ACTIVE or INACTIVE. ACTIVE 5378 // indicates that you can register container instances with the cluster and 5379 // the associated instances can accept tasks. 5380 Status *string `locationName:"status" type:"string"` 5381 5382 // The metadata that you apply to the cluster to help you categorize and organize 5383 // them. Each tag consists of a key and an optional value, both of which you 5384 // define. 5385 // 5386 // The following basic restrictions apply to tags: 5387 // 5388 // * Maximum number of tags per resource - 50 5389 // 5390 // * For each resource, each tag key must be unique, and each tag key can 5391 // have only one value. 5392 // 5393 // * Maximum key length - 128 Unicode characters in UTF-8 5394 // 5395 // * Maximum value length - 256 Unicode characters in UTF-8 5396 // 5397 // * If your tagging schema is used across multiple services and resources, 5398 // remember that other services may have restrictions on allowed characters. 5399 // Generally allowed characters are: letters, numbers, and spaces representable 5400 // in UTF-8, and the following characters: + - = . _ : / @. 5401 // 5402 // * Tag keys and values are case-sensitive. 5403 // 5404 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 5405 // as a prefix for either keys or values as it is reserved for AWS use. You 5406 // cannot edit or delete tag keys or values with this prefix. Tags with this 5407 // prefix do not count against your tags per resource limit. 5408 Tags []*Tag `locationName:"tags" type:"list"` 5409} 5410 5411// String returns the string representation 5412func (s Cluster) String() string { 5413 return awsutil.Prettify(s) 5414} 5415 5416// GoString returns the string representation 5417func (s Cluster) GoString() string { 5418 return s.String() 5419} 5420 5421// SetActiveServicesCount sets the ActiveServicesCount field's value. 5422func (s *Cluster) SetActiveServicesCount(v int64) *Cluster { 5423 s.ActiveServicesCount = &v 5424 return s 5425} 5426 5427// SetClusterArn sets the ClusterArn field's value. 5428func (s *Cluster) SetClusterArn(v string) *Cluster { 5429 s.ClusterArn = &v 5430 return s 5431} 5432 5433// SetClusterName sets the ClusterName field's value. 5434func (s *Cluster) SetClusterName(v string) *Cluster { 5435 s.ClusterName = &v 5436 return s 5437} 5438 5439// SetPendingTasksCount sets the PendingTasksCount field's value. 5440func (s *Cluster) SetPendingTasksCount(v int64) *Cluster { 5441 s.PendingTasksCount = &v 5442 return s 5443} 5444 5445// SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. 5446func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster { 5447 s.RegisteredContainerInstancesCount = &v 5448 return s 5449} 5450 5451// SetRunningTasksCount sets the RunningTasksCount field's value. 5452func (s *Cluster) SetRunningTasksCount(v int64) *Cluster { 5453 s.RunningTasksCount = &v 5454 return s 5455} 5456 5457// SetSettings sets the Settings field's value. 5458func (s *Cluster) SetSettings(v []*ClusterSetting) *Cluster { 5459 s.Settings = v 5460 return s 5461} 5462 5463// SetStatistics sets the Statistics field's value. 5464func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster { 5465 s.Statistics = v 5466 return s 5467} 5468 5469// SetStatus sets the Status field's value. 5470func (s *Cluster) SetStatus(v string) *Cluster { 5471 s.Status = &v 5472 return s 5473} 5474 5475// SetTags sets the Tags field's value. 5476func (s *Cluster) SetTags(v []*Tag) *Cluster { 5477 s.Tags = v 5478 return s 5479} 5480 5481// The settings to use when creating a cluster. This parameter is used to enable 5482// CloudWatch Container Insights for a cluster. 5483type ClusterSetting struct { 5484 _ struct{} `type:"structure"` 5485 5486 // The name of the cluster setting. The only supported value is containerInsights. 5487 Name *string `locationName:"name" type:"string" enum:"ClusterSettingName"` 5488 5489 // The value to set for the cluster setting. The supported values are enabled 5490 // and disabled. If enabled is specified, CloudWatch Container Insights will 5491 // be enabled for the cluster, otherwise it will be disabled unless the containerInsights 5492 // account setting is enabled. If a cluster value is specified, it will override 5493 // the containerInsights value set with PutAccountSetting or PutAccountSettingDefault. 5494 Value *string `locationName:"value" type:"string"` 5495} 5496 5497// String returns the string representation 5498func (s ClusterSetting) String() string { 5499 return awsutil.Prettify(s) 5500} 5501 5502// GoString returns the string representation 5503func (s ClusterSetting) GoString() string { 5504 return s.String() 5505} 5506 5507// SetName sets the Name field's value. 5508func (s *ClusterSetting) SetName(v string) *ClusterSetting { 5509 s.Name = &v 5510 return s 5511} 5512 5513// SetValue sets the Value field's value. 5514func (s *ClusterSetting) SetValue(v string) *ClusterSetting { 5515 s.Value = &v 5516 return s 5517} 5518 5519// A Docker container that is part of a task. 5520type Container struct { 5521 _ struct{} `type:"structure"` 5522 5523 // The Amazon Resource Name (ARN) of the container. 5524 ContainerArn *string `locationName:"containerArn" type:"string"` 5525 5526 // The number of CPU units set for the container. The value will be 0 if no 5527 // value was specified in the container definition when the task definition 5528 // was registered. 5529 Cpu *string `locationName:"cpu" type:"string"` 5530 5531 // The exit code returned from the container. 5532 ExitCode *int64 `locationName:"exitCode" type:"integer"` 5533 5534 // The IDs of each GPU assigned to the container. 5535 GpuIds []*string `locationName:"gpuIds" type:"list"` 5536 5537 // The health status of the container. If health checks are not configured for 5538 // this container in its task definition, then it reports the health status 5539 // as UNKNOWN. 5540 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 5541 5542 // The image used for the container. 5543 Image *string `locationName:"image" type:"string"` 5544 5545 // The container image manifest digest. 5546 // 5547 // The imageDigest is only returned if the container is using an image hosted 5548 // in Amazon ECR, otherwise it is omitted. 5549 ImageDigest *string `locationName:"imageDigest" type:"string"` 5550 5551 // The last known status of the container. 5552 LastStatus *string `locationName:"lastStatus" type:"string"` 5553 5554 // The hard limit (in MiB) of memory set for the container. 5555 Memory *string `locationName:"memory" type:"string"` 5556 5557 // The soft limit (in MiB) of memory set for the container. 5558 MemoryReservation *string `locationName:"memoryReservation" type:"string"` 5559 5560 // The name of the container. 5561 Name *string `locationName:"name" type:"string"` 5562 5563 // The network bindings associated with the container. 5564 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 5565 5566 // The network interfaces associated with the container. 5567 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 5568 5569 // A short (255 max characters) human-readable string to provide additional 5570 // details about a running or stopped container. 5571 Reason *string `locationName:"reason" type:"string"` 5572 5573 // The ID of the Docker container. 5574 RuntimeId *string `locationName:"runtimeId" type:"string"` 5575 5576 // The ARN of the task. 5577 TaskArn *string `locationName:"taskArn" type:"string"` 5578} 5579 5580// String returns the string representation 5581func (s Container) String() string { 5582 return awsutil.Prettify(s) 5583} 5584 5585// GoString returns the string representation 5586func (s Container) GoString() string { 5587 return s.String() 5588} 5589 5590// SetContainerArn sets the ContainerArn field's value. 5591func (s *Container) SetContainerArn(v string) *Container { 5592 s.ContainerArn = &v 5593 return s 5594} 5595 5596// SetCpu sets the Cpu field's value. 5597func (s *Container) SetCpu(v string) *Container { 5598 s.Cpu = &v 5599 return s 5600} 5601 5602// SetExitCode sets the ExitCode field's value. 5603func (s *Container) SetExitCode(v int64) *Container { 5604 s.ExitCode = &v 5605 return s 5606} 5607 5608// SetGpuIds sets the GpuIds field's value. 5609func (s *Container) SetGpuIds(v []*string) *Container { 5610 s.GpuIds = v 5611 return s 5612} 5613 5614// SetHealthStatus sets the HealthStatus field's value. 5615func (s *Container) SetHealthStatus(v string) *Container { 5616 s.HealthStatus = &v 5617 return s 5618} 5619 5620// SetImage sets the Image field's value. 5621func (s *Container) SetImage(v string) *Container { 5622 s.Image = &v 5623 return s 5624} 5625 5626// SetImageDigest sets the ImageDigest field's value. 5627func (s *Container) SetImageDigest(v string) *Container { 5628 s.ImageDigest = &v 5629 return s 5630} 5631 5632// SetLastStatus sets the LastStatus field's value. 5633func (s *Container) SetLastStatus(v string) *Container { 5634 s.LastStatus = &v 5635 return s 5636} 5637 5638// SetMemory sets the Memory field's value. 5639func (s *Container) SetMemory(v string) *Container { 5640 s.Memory = &v 5641 return s 5642} 5643 5644// SetMemoryReservation sets the MemoryReservation field's value. 5645func (s *Container) SetMemoryReservation(v string) *Container { 5646 s.MemoryReservation = &v 5647 return s 5648} 5649 5650// SetName sets the Name field's value. 5651func (s *Container) SetName(v string) *Container { 5652 s.Name = &v 5653 return s 5654} 5655 5656// SetNetworkBindings sets the NetworkBindings field's value. 5657func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container { 5658 s.NetworkBindings = v 5659 return s 5660} 5661 5662// SetNetworkInterfaces sets the NetworkInterfaces field's value. 5663func (s *Container) SetNetworkInterfaces(v []*NetworkInterface) *Container { 5664 s.NetworkInterfaces = v 5665 return s 5666} 5667 5668// SetReason sets the Reason field's value. 5669func (s *Container) SetReason(v string) *Container { 5670 s.Reason = &v 5671 return s 5672} 5673 5674// SetRuntimeId sets the RuntimeId field's value. 5675func (s *Container) SetRuntimeId(v string) *Container { 5676 s.RuntimeId = &v 5677 return s 5678} 5679 5680// SetTaskArn sets the TaskArn field's value. 5681func (s *Container) SetTaskArn(v string) *Container { 5682 s.TaskArn = &v 5683 return s 5684} 5685 5686// Container definitions are used in task definitions to describe the different 5687// containers that are launched as part of a task. 5688type ContainerDefinition struct { 5689 _ struct{} `type:"structure"` 5690 5691 // The command that is passed to the container. This parameter maps to Cmd in 5692 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5693 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5694 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 5695 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 5696 // (https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple 5697 // arguments, each argument should be a separated string in the array. 5698 Command []*string `locationName:"command" type:"list"` 5699 5700 // The number of cpu units reserved for the container. This parameter maps to 5701 // CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5702 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5703 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 5704 // 5705 // This field is optional for tasks using the Fargate launch type, and the only 5706 // requirement is that the total amount of CPU reserved for all containers within 5707 // a task be lower than the task-level cpu value. 5708 // 5709 // You can determine the number of CPU units that are available per EC2 instance 5710 // type by multiplying the vCPUs listed for that instance type on the Amazon 5711 // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by 5712 // 1,024. 5713 // 5714 // For example, if you run a single-container task on a single-core instance 5715 // type with 512 CPU units specified for that container, and that is the only 5716 // task running on the container instance, that container could use the full 5717 // 1,024 CPU unit share at any given time. However, if you launched another 5718 // copy of the same task on that container instance, each task would be guaranteed 5719 // a minimum of 512 CPU units when needed, and each container could float to 5720 // higher CPU usage if the other container was not using it, but if both tasks 5721 // were 100% active all of the time, they would be limited to 512 CPU units. 5722 // 5723 // Linux containers share unallocated CPU units with other containers on the 5724 // container instance with the same ratio as their allocated amount. For example, 5725 // if you run a single-container task on a single-core instance type with 512 5726 // CPU units specified for that container, and that is the only task running 5727 // on the container instance, that container could use the full 1,024 CPU unit 5728 // share at any given time. However, if you launched another copy of the same 5729 // task on that container instance, each task would be guaranteed a minimum 5730 // of 512 CPU units when needed, and each container could float to higher CPU 5731 // usage if the other container was not using it, but if both tasks were 100% 5732 // active all of the time, they would be limited to 512 CPU units. 5733 // 5734 // On Linux container instances, the Docker daemon on the container instance 5735 // uses the CPU value to calculate the relative CPU share ratios for running 5736 // containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint) 5737 // in the Docker documentation. The minimum valid CPU share value that the Linux 5738 // kernel allows is 2. However, the CPU parameter is not required, and you can 5739 // use CPU values below 2 in your container definitions. For CPU values below 5740 // 2 (including null), the behavior varies based on your Amazon ECS container 5741 // agent version: 5742 // 5743 // * Agent versions less than or equal to 1.1.0: Null and zero CPU values 5744 // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. 5745 // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts 5746 // to two CPU shares. 5747 // 5748 // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values 5749 // of 1 are passed to Docker as 2. 5750 // 5751 // On Windows container instances, the CPU limit is enforced as an absolute 5752 // limit, or a quota. Windows containers only have access to the specified amount 5753 // of CPU that is described in the task definition. 5754 Cpu *int64 `locationName:"cpu" type:"integer"` 5755 5756 // The dependencies defined for container startup and shutdown. A container 5757 // can contain multiple dependencies. When a dependency is defined for container 5758 // startup, for container shutdown it is reversed. 5759 // 5760 // For tasks using the EC2 launch type, the container instances require at least 5761 // version 1.26.0 of the container agent to enable container dependencies. However, 5762 // we recommend using the latest container agent version. For information about 5763 // checking your agent version and updating to the latest version, see Updating 5764 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 5765 // in the Amazon Elastic Container Service Developer Guide. If you are using 5766 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 5767 // of the ecs-init package. If your container instances are launched from version 5768 // 20190301 or later, then they contain the required versions of the container 5769 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 5770 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 5771 // in the Amazon Elastic Container Service Developer Guide. 5772 // 5773 // This parameter is available for tasks using the Fargate launch type in the 5774 // Ohio (us-east-2) region only and the task or service requires platform version 5775 // 1.3.0 or later. 5776 DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` 5777 5778 // When this parameter is true, networking is disabled within the container. 5779 // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5780 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 5781 // 5782 // This parameter is not supported for Windows containers. 5783 DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` 5784 5785 // A list of DNS search domains that are presented to the container. This parameter 5786 // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5787 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5788 // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/). 5789 // 5790 // This parameter is not supported for Windows containers. 5791 DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` 5792 5793 // A list of DNS servers that are presented to the container. This parameter 5794 // maps to Dns in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5795 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5796 // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/). 5797 // 5798 // This parameter is not supported for Windows containers. 5799 DnsServers []*string `locationName:"dnsServers" type:"list"` 5800 5801 // A key/value map of labels to add to the container. This parameter maps to 5802 // Labels in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5803 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5804 // and the --label option to docker run (https://docs.docker.com/engine/reference/run/). 5805 // This parameter requires version 1.18 of the Docker Remote API or greater 5806 // on your container instance. To check the Docker Remote API version on your 5807 // container instance, log in to your container instance and run the following 5808 // command: sudo docker version --format '{{.Server.APIVersion}}' 5809 DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` 5810 5811 // A list of strings to provide custom labels for SELinux and AppArmor multi-level 5812 // security systems. This field is not valid for containers in tasks using the 5813 // Fargate launch type. 5814 // 5815 // This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5816 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5817 // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/). 5818 // 5819 // The Amazon ECS container agent running on a container instance must register 5820 // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment 5821 // variables before containers placed on that instance can use these security 5822 // options. For more information, see Amazon ECS Container Agent Configuration 5823 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 5824 // in the Amazon Elastic Container Service Developer Guide. 5825 // 5826 // This parameter is not supported for Windows containers. 5827 DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` 5828 5829 // 5830 // Early versions of the Amazon ECS container agent do not properly handle entryPoint 5831 // parameters. If you have problems using entryPoint, update your container 5832 // agent or enter your commands and arguments as command array items instead. 5833 // 5834 // The entry point that is passed to the container. This parameter maps to Entrypoint 5835 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5836 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5837 // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/). 5838 // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint 5839 // (https://docs.docker.com/engine/reference/builder/#entrypoint). 5840 EntryPoint []*string `locationName:"entryPoint" type:"list"` 5841 5842 // The environment variables to pass to a container. This parameter maps to 5843 // Env in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5844 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5845 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 5846 // 5847 // We do not recommend using plaintext environment variables for sensitive information, 5848 // such as credential data. 5849 Environment []*KeyValuePair `locationName:"environment" type:"list"` 5850 5851 // If the essential parameter of a container is marked as true, and that container 5852 // fails or stops for any reason, all other containers that are part of the 5853 // task are stopped. If the essential parameter of a container is marked as 5854 // false, then its failure does not affect the rest of the containers in a task. 5855 // If this parameter is omitted, a container is assumed to be essential. 5856 // 5857 // All tasks must have at least one essential container. If you have an application 5858 // that is composed of multiple containers, you should group containers that 5859 // are used for a common purpose into components, and separate the different 5860 // components into multiple task definitions. For more information, see Application 5861 // Architecture (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) 5862 // in the Amazon Elastic Container Service Developer Guide. 5863 Essential *bool `locationName:"essential" type:"boolean"` 5864 5865 // A list of hostnames and IP address mappings to append to the /etc/hosts file 5866 // on the container. This parameter maps to ExtraHosts in the Create a container 5867 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 5868 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 5869 // the --add-host option to docker run (https://docs.docker.com/engine/reference/run/). 5870 // 5871 // This parameter is not supported for Windows containers or tasks that use 5872 // the awsvpc network mode. 5873 ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` 5874 5875 // The FireLens configuration for the container. This is used to specify and 5876 // configure a log router for container logs. For more information, see Custom 5877 // Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 5878 // in the Amazon Elastic Container Service Developer Guide. 5879 FirelensConfiguration *FirelensConfiguration `locationName:"firelensConfiguration" type:"structure"` 5880 5881 // The health check command and associated configuration parameters for the 5882 // container. This parameter maps to HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5883 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5884 // and the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/). 5885 HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"` 5886 5887 // The hostname to use for your container. This parameter maps to Hostname in 5888 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5889 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5890 // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/). 5891 // 5892 // The hostname parameter is not supported if you are using the awsvpc network 5893 // mode. 5894 Hostname *string `locationName:"hostname" type:"string"` 5895 5896 // The image used to start a container. This string is passed directly to the 5897 // Docker daemon. Images in the Docker Hub registry are available by default. 5898 // Other repositories are specified with either repository-url/image:tag or 5899 // repository-url/image@digest . Up to 255 letters (uppercase and lowercase), 5900 // numbers, hyphens, underscores, colons, periods, forward slashes, and number 5901 // signs are allowed. This parameter maps to Image in the Create a container 5902 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 5903 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 5904 // the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 5905 // 5906 // * When a new task starts, the Amazon ECS container agent pulls the latest 5907 // version of the specified image and tag for the container to use. However, 5908 // subsequent updates to a repository image are not propagated to already 5909 // running tasks. 5910 // 5911 // * Images in Amazon ECR repositories can be specified by either using the 5912 // full registry/repository:tag or registry/repository@digest. For example, 5913 // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 5914 // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. 5915 // 5916 // * Images in official repositories on Docker Hub use a single name (for 5917 // example, ubuntu or mongo). 5918 // 5919 // * Images in other repositories on Docker Hub are qualified with an organization 5920 // name (for example, amazon/amazon-ecs-agent). 5921 // 5922 // * Images in other online repositories are qualified further by a domain 5923 // name (for example, quay.io/assemblyline/ubuntu). 5924 Image *string `locationName:"image" type:"string"` 5925 5926 // When this parameter is true, this allows you to deploy containerized applications 5927 // that require stdin or a tty to be allocated. This parameter maps to OpenStdin 5928 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5929 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5930 // and the --interactive option to docker run (https://docs.docker.com/engine/reference/run/). 5931 Interactive *bool `locationName:"interactive" type:"boolean"` 5932 5933 // The links parameter allows containers to communicate with each other without 5934 // the need for port mappings. This parameter is only supported if the network 5935 // mode of a task definition is bridge. The name:internalName construct is analogous 5936 // to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), 5937 // numbers, and hyphens are allowed. For more information about linking Docker 5938 // containers, go to Legacy container links (https://docs.docker.com/network/links/) 5939 // in the Docker documentation. This parameter maps to Links in the Create a 5940 // container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5941 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5942 // and the --link option to docker run (https://docs.docker.com/engine/reference/run/). 5943 // 5944 // This parameter is not supported for Windows containers. 5945 // 5946 // Containers that are collocated on a single container instance may be able 5947 // to communicate with each other without requiring links or host port mappings. 5948 // Network isolation is achieved on the container instance using security groups 5949 // and VPC settings. 5950 Links []*string `locationName:"links" type:"list"` 5951 5952 // Linux-specific modifications that are applied to the container, such as Linux 5953 // kernel capabilities. For more information see KernelCapabilities. 5954 // 5955 // This parameter is not supported for Windows containers. 5956 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 5957 5958 // The log configuration specification for the container. 5959 // 5960 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5961 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5962 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 5963 // By default, containers use the same logging driver that the Docker daemon 5964 // uses. However the container may use a different logging driver than the Docker 5965 // daemon by specifying a log driver with this parameter in the container definition. 5966 // To use a different logging driver for a container, the log system must be 5967 // configured properly on the container instance (or on a different log server 5968 // for remote logging options). For more information on the options for different 5969 // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 5970 // in the Docker documentation. 5971 // 5972 // Amazon ECS currently supports a subset of the logging drivers available to 5973 // the Docker daemon (shown in the LogConfiguration data type). Additional log 5974 // drivers may be available in future releases of the Amazon ECS container agent. 5975 // 5976 // This parameter requires version 1.18 of the Docker Remote API or greater 5977 // on your container instance. To check the Docker Remote API version on your 5978 // container instance, log in to your container instance and run the following 5979 // command: sudo docker version --format '{{.Server.APIVersion}}' 5980 // 5981 // The Amazon ECS container agent running on a container instance must register 5982 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 5983 // environment variable before containers placed on that instance can use these 5984 // log configuration options. For more information, see Amazon ECS Container 5985 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 5986 // in the Amazon Elastic Container Service Developer Guide. 5987 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 5988 5989 // The amount (in MiB) of memory to present to the container. If your container 5990 // attempts to exceed the memory specified here, the container is killed. The 5991 // total amount of memory reserved for all containers within a task must be 5992 // lower than the task memory value, if one is specified. This parameter maps 5993 // to Memory in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 5994 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 5995 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 5996 // 5997 // If using the Fargate launch type, this parameter is optional. 5998 // 5999 // If using the EC2 launch type, you must specify either a task-level memory 6000 // value or a container-level memory value. If you specify both a container-level 6001 // memory and memoryReservation value, memory must be greater than memoryReservation. 6002 // If you specify memoryReservation, then that value is subtracted from the 6003 // available memory resources for the container instance on which the container 6004 // is placed. Otherwise, the value of memory is used. 6005 // 6006 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 6007 // so you should not specify fewer than 4 MiB of memory for your containers. 6008 Memory *int64 `locationName:"memory" type:"integer"` 6009 6010 // The soft limit (in MiB) of memory to reserve for the container. When system 6011 // memory is under heavy contention, Docker attempts to keep the container memory 6012 // to this soft limit. However, your container can consume more memory when 6013 // it needs to, up to either the hard limit specified with the memory parameter 6014 // (if applicable), or all of the available memory on the container instance, 6015 // whichever comes first. This parameter maps to MemoryReservation in the Create 6016 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6017 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6018 // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/). 6019 // 6020 // If a task-level memory value is not specified, you must specify a non-zero 6021 // integer for one or both of memory or memoryReservation in a container definition. 6022 // If you specify both, memory must be greater than memoryReservation. If you 6023 // specify memoryReservation, then that value is subtracted from the available 6024 // memory resources for the container instance on which the container is placed. 6025 // Otherwise, the value of memory is used. 6026 // 6027 // For example, if your container normally uses 128 MiB of memory, but occasionally 6028 // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation 6029 // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would 6030 // allow the container to only reserve 128 MiB of memory from the remaining 6031 // resources on the container instance, but also allow the container to consume 6032 // more memory resources when needed. 6033 // 6034 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 6035 // so you should not specify fewer than 4 MiB of memory for your containers. 6036 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 6037 6038 // The mount points for data volumes in your container. 6039 // 6040 // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6041 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6042 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 6043 // 6044 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 6045 // Windows containers cannot mount directories on a different drive, and mount 6046 // point cannot be across drives. 6047 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 6048 6049 // The name of a container. If you are linking multiple containers together 6050 // in a task definition, the name of one container can be entered in the links 6051 // of another container to connect the containers. Up to 255 letters (uppercase 6052 // and lowercase), numbers, and hyphens are allowed. This parameter maps to 6053 // name in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6054 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6055 // and the --name option to docker run (https://docs.docker.com/engine/reference/run/). 6056 Name *string `locationName:"name" type:"string"` 6057 6058 // The list of port mappings for the container. Port mappings allow containers 6059 // to access ports on the host container instance to send or receive traffic. 6060 // 6061 // For task definitions that use the awsvpc network mode, you should only specify 6062 // the containerPort. The hostPort can be left blank or it must be the same 6063 // value as the containerPort. 6064 // 6065 // Port mappings on Windows use the NetNAT gateway address rather than localhost. 6066 // There is no loopback for port mappings on Windows, so you cannot access a 6067 // container's mapped port from the host itself. 6068 // 6069 // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6070 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6071 // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/). 6072 // If the network mode of a task definition is set to none, then you can't specify 6073 // port mappings. If the network mode of a task definition is set to host, then 6074 // host ports must either be undefined or they must match the container port 6075 // in the port mapping. 6076 // 6077 // After a task reaches the RUNNING status, manual and automatic host and container 6078 // port assignments are visible in the Network Bindings section of a container 6079 // description for a selected task in the Amazon ECS console. The assignments 6080 // are also visible in the networkBindings section DescribeTasks responses. 6081 PortMappings []*PortMapping `locationName:"portMappings" type:"list"` 6082 6083 // When this parameter is true, the container is given elevated privileges on 6084 // the host container instance (similar to the root user). This parameter maps 6085 // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6086 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6087 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 6088 // 6089 // This parameter is not supported for Windows containers or tasks using the 6090 // Fargate launch type. 6091 Privileged *bool `locationName:"privileged" type:"boolean"` 6092 6093 // When this parameter is true, a TTY is allocated. This parameter maps to Tty 6094 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6095 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6096 // and the --tty option to docker run (https://docs.docker.com/engine/reference/run/). 6097 PseudoTerminal *bool `locationName:"pseudoTerminal" type:"boolean"` 6098 6099 // When this parameter is true, the container is given read-only access to its 6100 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 6101 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 6102 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 6103 // the --read-only option to docker run (https://docs.docker.com/engine/reference/run/). 6104 // 6105 // This parameter is not supported for Windows containers. 6106 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 6107 6108 // The private repository authentication credentials to use. 6109 RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"` 6110 6111 // The type and amount of a resource to assign to a container. The only supported 6112 // resource is a GPU. 6113 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 6114 6115 // The secrets to pass to the container. For more information, see Specifying 6116 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 6117 // in the Amazon Elastic Container Service Developer Guide. 6118 Secrets []*Secret `locationName:"secrets" type:"list"` 6119 6120 // Time duration (in seconds) to wait before giving up on resolving dependencies 6121 // for a container. For example, you specify two containers in a task definition 6122 // with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, 6123 // or HEALTHY status. If a startTimeout value is specified for containerB and 6124 // it does not reach the desired status within that time then containerA will 6125 // give up and not start. This results in the task transitioning to a STOPPED 6126 // state. 6127 // 6128 // For tasks using the EC2 launch type, the container instances require at least 6129 // version 1.26.0 of the container agent to enable a container start timeout 6130 // value. However, we recommend using the latest container agent version. For 6131 // information about checking your agent version and updating to the latest 6132 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 6133 // in the Amazon Elastic Container Service Developer Guide. If you are using 6134 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 6135 // of the ecs-init package. If your container instances are launched from version 6136 // 20190301 or later, then they contain the required versions of the container 6137 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 6138 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 6139 // in the Amazon Elastic Container Service Developer Guide. 6140 // 6141 // This parameter is available for tasks using the Fargate launch type in the 6142 // Ohio (us-east-2) region only and the task or service requires platform version 6143 // 1.3.0 or later. 6144 StartTimeout *int64 `locationName:"startTimeout" type:"integer"` 6145 6146 // Time duration (in seconds) to wait before the container is forcefully killed 6147 // if it doesn't exit normally on its own. For tasks using the Fargate launch 6148 // type, the max stopTimeout value is 2 minutes. This parameter is available 6149 // for tasks using the Fargate launch type in the Ohio (us-east-2) region only 6150 // and the task or service requires platform version 1.3.0 or later. 6151 // 6152 // For tasks using the EC2 launch type, the stop timeout value for the container 6153 // takes precedence over the ECS_CONTAINER_STOP_TIMEOUT container agent configuration 6154 // parameter, if used. Container instances require at least version 1.26.0 of 6155 // the container agent to enable a container stop timeout value. However, we 6156 // recommend using the latest container agent version. For information about 6157 // checking your agent version and updating to the latest version, see Updating 6158 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 6159 // in the Amazon Elastic Container Service Developer Guide. If you are using 6160 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 6161 // of the ecs-init package. If your container instances are launched from version 6162 // 20190301 or later, then they contain the required versions of the container 6163 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 6164 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 6165 // in the Amazon Elastic Container Service Developer Guide. 6166 StopTimeout *int64 `locationName:"stopTimeout" type:"integer"` 6167 6168 // A list of namespaced kernel parameters to set in the container. This parameter 6169 // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6170 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6171 // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 6172 // 6173 // It is not recommended that you specify network-related systemControls parameters 6174 // for multiple containers in a single task that also uses either the awsvpc 6175 // or host network modes. For tasks that use the awsvpc network mode, the container 6176 // that is started last determines which systemControls parameters take effect. 6177 // For tasks that use the host network mode, it changes the container instance's 6178 // namespaced kernel parameters as well as the containers. 6179 SystemControls []*SystemControl `locationName:"systemControls" type:"list"` 6180 6181 // A list of ulimits to set in the container. This parameter maps to Ulimits 6182 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6183 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6184 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 6185 // Valid naming values are displayed in the Ulimit data type. This parameter 6186 // requires version 1.18 of the Docker Remote API or greater on your container 6187 // instance. To check the Docker Remote API version on your container instance, 6188 // log in to your container instance and run the following command: sudo docker 6189 // version --format '{{.Server.APIVersion}}' 6190 // 6191 // This parameter is not supported for Windows containers. 6192 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 6193 6194 // The user name to use inside the container. This parameter maps to User in 6195 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6196 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6197 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 6198 // 6199 // You can use the following formats. If specifying a UID or GID, you must specify 6200 // it as a positive integer. 6201 // 6202 // * user 6203 // 6204 // * user:group 6205 // 6206 // * uid 6207 // 6208 // * uid:gid 6209 // 6210 // * user:gid 6211 // 6212 // * uid:group 6213 // 6214 // This parameter is not supported for Windows containers. 6215 User *string `locationName:"user" type:"string"` 6216 6217 // Data volumes to mount from another container. This parameter maps to VolumesFrom 6218 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6219 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6220 // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/). 6221 VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` 6222 6223 // The working directory in which to run commands inside the container. This 6224 // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6225 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6226 // and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/). 6227 WorkingDirectory *string `locationName:"workingDirectory" type:"string"` 6228} 6229 6230// String returns the string representation 6231func (s ContainerDefinition) String() string { 6232 return awsutil.Prettify(s) 6233} 6234 6235// GoString returns the string representation 6236func (s ContainerDefinition) GoString() string { 6237 return s.String() 6238} 6239 6240// Validate inspects the fields of the type to determine if they are valid. 6241func (s *ContainerDefinition) Validate() error { 6242 invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} 6243 if s.DependsOn != nil { 6244 for i, v := range s.DependsOn { 6245 if v == nil { 6246 continue 6247 } 6248 if err := v.Validate(); err != nil { 6249 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependsOn", i), err.(request.ErrInvalidParams)) 6250 } 6251 } 6252 } 6253 if s.ExtraHosts != nil { 6254 for i, v := range s.ExtraHosts { 6255 if v == nil { 6256 continue 6257 } 6258 if err := v.Validate(); err != nil { 6259 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) 6260 } 6261 } 6262 } 6263 if s.FirelensConfiguration != nil { 6264 if err := s.FirelensConfiguration.Validate(); err != nil { 6265 invalidParams.AddNested("FirelensConfiguration", err.(request.ErrInvalidParams)) 6266 } 6267 } 6268 if s.HealthCheck != nil { 6269 if err := s.HealthCheck.Validate(); err != nil { 6270 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 6271 } 6272 } 6273 if s.LinuxParameters != nil { 6274 if err := s.LinuxParameters.Validate(); err != nil { 6275 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 6276 } 6277 } 6278 if s.LogConfiguration != nil { 6279 if err := s.LogConfiguration.Validate(); err != nil { 6280 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 6281 } 6282 } 6283 if s.RepositoryCredentials != nil { 6284 if err := s.RepositoryCredentials.Validate(); err != nil { 6285 invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams)) 6286 } 6287 } 6288 if s.ResourceRequirements != nil { 6289 for i, v := range s.ResourceRequirements { 6290 if v == nil { 6291 continue 6292 } 6293 if err := v.Validate(); err != nil { 6294 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 6295 } 6296 } 6297 } 6298 if s.Secrets != nil { 6299 for i, v := range s.Secrets { 6300 if v == nil { 6301 continue 6302 } 6303 if err := v.Validate(); err != nil { 6304 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 6305 } 6306 } 6307 } 6308 if s.Ulimits != nil { 6309 for i, v := range s.Ulimits { 6310 if v == nil { 6311 continue 6312 } 6313 if err := v.Validate(); err != nil { 6314 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 6315 } 6316 } 6317 } 6318 6319 if invalidParams.Len() > 0 { 6320 return invalidParams 6321 } 6322 return nil 6323} 6324 6325// SetCommand sets the Command field's value. 6326func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { 6327 s.Command = v 6328 return s 6329} 6330 6331// SetCpu sets the Cpu field's value. 6332func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { 6333 s.Cpu = &v 6334 return s 6335} 6336 6337// SetDependsOn sets the DependsOn field's value. 6338func (s *ContainerDefinition) SetDependsOn(v []*ContainerDependency) *ContainerDefinition { 6339 s.DependsOn = v 6340 return s 6341} 6342 6343// SetDisableNetworking sets the DisableNetworking field's value. 6344func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition { 6345 s.DisableNetworking = &v 6346 return s 6347} 6348 6349// SetDnsSearchDomains sets the DnsSearchDomains field's value. 6350func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition { 6351 s.DnsSearchDomains = v 6352 return s 6353} 6354 6355// SetDnsServers sets the DnsServers field's value. 6356func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition { 6357 s.DnsServers = v 6358 return s 6359} 6360 6361// SetDockerLabels sets the DockerLabels field's value. 6362func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition { 6363 s.DockerLabels = v 6364 return s 6365} 6366 6367// SetDockerSecurityOptions sets the DockerSecurityOptions field's value. 6368func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition { 6369 s.DockerSecurityOptions = v 6370 return s 6371} 6372 6373// SetEntryPoint sets the EntryPoint field's value. 6374func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { 6375 s.EntryPoint = v 6376 return s 6377} 6378 6379// SetEnvironment sets the Environment field's value. 6380func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition { 6381 s.Environment = v 6382 return s 6383} 6384 6385// SetEssential sets the Essential field's value. 6386func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { 6387 s.Essential = &v 6388 return s 6389} 6390 6391// SetExtraHosts sets the ExtraHosts field's value. 6392func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition { 6393 s.ExtraHosts = v 6394 return s 6395} 6396 6397// SetFirelensConfiguration sets the FirelensConfiguration field's value. 6398func (s *ContainerDefinition) SetFirelensConfiguration(v *FirelensConfiguration) *ContainerDefinition { 6399 s.FirelensConfiguration = v 6400 return s 6401} 6402 6403// SetHealthCheck sets the HealthCheck field's value. 6404func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition { 6405 s.HealthCheck = v 6406 return s 6407} 6408 6409// SetHostname sets the Hostname field's value. 6410func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition { 6411 s.Hostname = &v 6412 return s 6413} 6414 6415// SetImage sets the Image field's value. 6416func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { 6417 s.Image = &v 6418 return s 6419} 6420 6421// SetInteractive sets the Interactive field's value. 6422func (s *ContainerDefinition) SetInteractive(v bool) *ContainerDefinition { 6423 s.Interactive = &v 6424 return s 6425} 6426 6427// SetLinks sets the Links field's value. 6428func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { 6429 s.Links = v 6430 return s 6431} 6432 6433// SetLinuxParameters sets the LinuxParameters field's value. 6434func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { 6435 s.LinuxParameters = v 6436 return s 6437} 6438 6439// SetLogConfiguration sets the LogConfiguration field's value. 6440func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { 6441 s.LogConfiguration = v 6442 return s 6443} 6444 6445// SetMemory sets the Memory field's value. 6446func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition { 6447 s.Memory = &v 6448 return s 6449} 6450 6451// SetMemoryReservation sets the MemoryReservation field's value. 6452func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition { 6453 s.MemoryReservation = &v 6454 return s 6455} 6456 6457// SetMountPoints sets the MountPoints field's value. 6458func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition { 6459 s.MountPoints = v 6460 return s 6461} 6462 6463// SetName sets the Name field's value. 6464func (s *ContainerDefinition) SetName(v string) *ContainerDefinition { 6465 s.Name = &v 6466 return s 6467} 6468 6469// SetPortMappings sets the PortMappings field's value. 6470func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition { 6471 s.PortMappings = v 6472 return s 6473} 6474 6475// SetPrivileged sets the Privileged field's value. 6476func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition { 6477 s.Privileged = &v 6478 return s 6479} 6480 6481// SetPseudoTerminal sets the PseudoTerminal field's value. 6482func (s *ContainerDefinition) SetPseudoTerminal(v bool) *ContainerDefinition { 6483 s.PseudoTerminal = &v 6484 return s 6485} 6486 6487// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 6488func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition { 6489 s.ReadonlyRootFilesystem = &v 6490 return s 6491} 6492 6493// SetRepositoryCredentials sets the RepositoryCredentials field's value. 6494func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) *ContainerDefinition { 6495 s.RepositoryCredentials = v 6496 return s 6497} 6498 6499// SetResourceRequirements sets the ResourceRequirements field's value. 6500func (s *ContainerDefinition) SetResourceRequirements(v []*ResourceRequirement) *ContainerDefinition { 6501 s.ResourceRequirements = v 6502 return s 6503} 6504 6505// SetSecrets sets the Secrets field's value. 6506func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition { 6507 s.Secrets = v 6508 return s 6509} 6510 6511// SetStartTimeout sets the StartTimeout field's value. 6512func (s *ContainerDefinition) SetStartTimeout(v int64) *ContainerDefinition { 6513 s.StartTimeout = &v 6514 return s 6515} 6516 6517// SetStopTimeout sets the StopTimeout field's value. 6518func (s *ContainerDefinition) SetStopTimeout(v int64) *ContainerDefinition { 6519 s.StopTimeout = &v 6520 return s 6521} 6522 6523// SetSystemControls sets the SystemControls field's value. 6524func (s *ContainerDefinition) SetSystemControls(v []*SystemControl) *ContainerDefinition { 6525 s.SystemControls = v 6526 return s 6527} 6528 6529// SetUlimits sets the Ulimits field's value. 6530func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition { 6531 s.Ulimits = v 6532 return s 6533} 6534 6535// SetUser sets the User field's value. 6536func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition { 6537 s.User = &v 6538 return s 6539} 6540 6541// SetVolumesFrom sets the VolumesFrom field's value. 6542func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition { 6543 s.VolumesFrom = v 6544 return s 6545} 6546 6547// SetWorkingDirectory sets the WorkingDirectory field's value. 6548func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { 6549 s.WorkingDirectory = &v 6550 return s 6551} 6552 6553// The dependencies defined for container startup and shutdown. A container 6554// can contain multiple dependencies. When a dependency is defined for container 6555// startup, for container shutdown it is reversed. 6556// 6557// Your Amazon ECS container instances require at least version 1.26.0 of the 6558// container agent to enable container dependencies. However, we recommend using 6559// the latest container agent version. For information about checking your agent 6560// version and updating to the latest version, see Updating the Amazon ECS Container 6561// Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 6562// in the Amazon Elastic Container Service Developer Guide. If you are using 6563// an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 6564// of the ecs-init package. If your container instances are launched from version 6565// 20190301 or later, then they contain the required versions of the container 6566// agent and ecs-init. For more information, see Amazon ECS-optimized Linux 6567// AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 6568// in the Amazon Elastic Container Service Developer Guide. 6569// 6570// If you are using tasks that use the Fargate launch type, container dependency 6571// parameters are not supported. 6572type ContainerDependency struct { 6573 _ struct{} `type:"structure"` 6574 6575 // The dependency condition of the container. The following are the available 6576 // conditions and their behavior: 6577 // 6578 // * START - This condition emulates the behavior of links and volumes today. 6579 // It validates that a dependent container is started before permitting other 6580 // containers to start. 6581 // 6582 // * COMPLETE - This condition validates that a dependent container runs 6583 // to completion (exits) before permitting other containers to start. This 6584 // can be useful for nonessential containers that run a script and then exit. 6585 // 6586 // * SUCCESS - This condition is the same as COMPLETE, but it also requires 6587 // that the container exits with a zero status. 6588 // 6589 // * HEALTHY - This condition validates that the dependent container passes 6590 // its Docker health check before permitting other containers to start. This 6591 // requires that the dependent container has health checks configured. This 6592 // condition is confirmed only at task startup. 6593 // 6594 // Condition is a required field 6595 Condition *string `locationName:"condition" type:"string" required:"true" enum:"ContainerCondition"` 6596 6597 // The name of a container. 6598 // 6599 // ContainerName is a required field 6600 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 6601} 6602 6603// String returns the string representation 6604func (s ContainerDependency) String() string { 6605 return awsutil.Prettify(s) 6606} 6607 6608// GoString returns the string representation 6609func (s ContainerDependency) GoString() string { 6610 return s.String() 6611} 6612 6613// Validate inspects the fields of the type to determine if they are valid. 6614func (s *ContainerDependency) Validate() error { 6615 invalidParams := request.ErrInvalidParams{Context: "ContainerDependency"} 6616 if s.Condition == nil { 6617 invalidParams.Add(request.NewErrParamRequired("Condition")) 6618 } 6619 if s.ContainerName == nil { 6620 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 6621 } 6622 6623 if invalidParams.Len() > 0 { 6624 return invalidParams 6625 } 6626 return nil 6627} 6628 6629// SetCondition sets the Condition field's value. 6630func (s *ContainerDependency) SetCondition(v string) *ContainerDependency { 6631 s.Condition = &v 6632 return s 6633} 6634 6635// SetContainerName sets the ContainerName field's value. 6636func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { 6637 s.ContainerName = &v 6638 return s 6639} 6640 6641// An EC2 instance that is running the Amazon ECS agent and has been registered 6642// with a cluster. 6643type ContainerInstance struct { 6644 _ struct{} `type:"structure"` 6645 6646 // This parameter returns true if the agent is connected to Amazon ECS. Registered 6647 // instances with an agent that may be unhealthy or stopped return false. Only 6648 // instances connected to an agent can accept placement requests. 6649 AgentConnected *bool `locationName:"agentConnected" type:"boolean"` 6650 6651 // The status of the most recent agent update. If an update has never been requested, 6652 // this value is NULL. 6653 AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` 6654 6655 // The resources attached to a container instance, such as elastic network interfaces. 6656 Attachments []*Attachment `locationName:"attachments" type:"list"` 6657 6658 // The attributes set for the container instance, either by the Amazon ECS container 6659 // agent at instance registration or manually with the PutAttributes operation. 6660 Attributes []*Attribute `locationName:"attributes" type:"list"` 6661 6662 // The Amazon Resource Name (ARN) of the container instance. The ARN contains 6663 // the arn:aws:ecs namespace, followed by the Region of the container instance, 6664 // the AWS account ID of the container instance owner, the container-instance 6665 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 6666 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 6667 6668 // The EC2 instance ID of the container instance. 6669 Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` 6670 6671 // The number of tasks on the container instance that are in the PENDING status. 6672 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 6673 6674 // The Unix timestamp for when the container instance was registered. 6675 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 6676 6677 // For CPU and memory resource types, this parameter describes the amount of 6678 // each resource that was available on the container instance when the container 6679 // agent registered it with Amazon ECS. This value represents the total amount 6680 // of CPU and memory that can be allocated on this container instance to tasks. 6681 // For port resource types, this parameter describes the ports that were reserved 6682 // by the Amazon ECS container agent when it registered the container instance 6683 // with Amazon ECS. 6684 RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` 6685 6686 // For CPU and memory resource types, this parameter describes the remaining 6687 // CPU and memory that has not already been allocated to tasks and is therefore 6688 // available for new tasks. For port resource types, this parameter describes 6689 // the ports that were reserved by the Amazon ECS container agent (at instance 6690 // registration time) and any task containers that have reserved port mappings 6691 // on the host (with the host or bridge network mode). Any port that is not 6692 // specified here is available for new tasks. 6693 RemainingResources []*Resource `locationName:"remainingResources" type:"list"` 6694 6695 // The number of tasks on the container instance that are in the RUNNING status. 6696 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 6697 6698 // The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, 6699 // ACTIVE, INACTIVE, DEREGISTERING, or DRAINING. 6700 // 6701 // If your account has opted in to the awsvpcTrunking account setting, then 6702 // any newly registered container instance will transition to a REGISTERING 6703 // status while the trunk elastic network interface is provisioned for the instance. 6704 // If the registration fails, the instance will transition to a REGISTRATION_FAILED 6705 // status. You can describe the container instance and see the reason for failure 6706 // in the statusReason parameter. Once the container instance is terminated, 6707 // the instance transitions to a DEREGISTERING status while the trunk elastic 6708 // network interface is deprovisioned. The instance then transitions to an INACTIVE 6709 // status. 6710 // 6711 // The ACTIVE status indicates that the container instance can accept tasks. 6712 // The DRAINING indicates that new tasks are not placed on the container instance 6713 // and any service tasks running on the container instance are removed if possible. 6714 // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) 6715 // in the Amazon Elastic Container Service Developer Guide. 6716 Status *string `locationName:"status" type:"string"` 6717 6718 // The reason that the container instance reached its current status. 6719 StatusReason *string `locationName:"statusReason" type:"string"` 6720 6721 // The metadata that you apply to the container instance to help you categorize 6722 // and organize them. Each tag consists of a key and an optional value, both 6723 // of which you define. 6724 // 6725 // The following basic restrictions apply to tags: 6726 // 6727 // * Maximum number of tags per resource - 50 6728 // 6729 // * For each resource, each tag key must be unique, and each tag key can 6730 // have only one value. 6731 // 6732 // * Maximum key length - 128 Unicode characters in UTF-8 6733 // 6734 // * Maximum value length - 256 Unicode characters in UTF-8 6735 // 6736 // * If your tagging schema is used across multiple services and resources, 6737 // remember that other services may have restrictions on allowed characters. 6738 // Generally allowed characters are: letters, numbers, and spaces representable 6739 // in UTF-8, and the following characters: + - = . _ : / @. 6740 // 6741 // * Tag keys and values are case-sensitive. 6742 // 6743 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6744 // as a prefix for either keys or values as it is reserved for AWS use. You 6745 // cannot edit or delete tag keys or values with this prefix. Tags with this 6746 // prefix do not count against your tags per resource limit. 6747 Tags []*Tag `locationName:"tags" type:"list"` 6748 6749 // The version counter for the container instance. Every time a container instance 6750 // experiences a change that triggers a CloudWatch event, the version counter 6751 // is incremented. If you are replicating your Amazon ECS container instance 6752 // state with CloudWatch Events, you can compare the version of a container 6753 // instance reported by the Amazon ECS APIs with the version reported in CloudWatch 6754 // Events for the container instance (inside the detail object) to verify that 6755 // the version in your event stream is current. 6756 Version *int64 `locationName:"version" type:"long"` 6757 6758 // The version information for the Amazon ECS container agent and Docker daemon 6759 // running on the container instance. 6760 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 6761} 6762 6763// String returns the string representation 6764func (s ContainerInstance) String() string { 6765 return awsutil.Prettify(s) 6766} 6767 6768// GoString returns the string representation 6769func (s ContainerInstance) GoString() string { 6770 return s.String() 6771} 6772 6773// SetAgentConnected sets the AgentConnected field's value. 6774func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance { 6775 s.AgentConnected = &v 6776 return s 6777} 6778 6779// SetAgentUpdateStatus sets the AgentUpdateStatus field's value. 6780func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance { 6781 s.AgentUpdateStatus = &v 6782 return s 6783} 6784 6785// SetAttachments sets the Attachments field's value. 6786func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance { 6787 s.Attachments = v 6788 return s 6789} 6790 6791// SetAttributes sets the Attributes field's value. 6792func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance { 6793 s.Attributes = v 6794 return s 6795} 6796 6797// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 6798func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance { 6799 s.ContainerInstanceArn = &v 6800 return s 6801} 6802 6803// SetEc2InstanceId sets the Ec2InstanceId field's value. 6804func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance { 6805 s.Ec2InstanceId = &v 6806 return s 6807} 6808 6809// SetPendingTasksCount sets the PendingTasksCount field's value. 6810func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance { 6811 s.PendingTasksCount = &v 6812 return s 6813} 6814 6815// SetRegisteredAt sets the RegisteredAt field's value. 6816func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance { 6817 s.RegisteredAt = &v 6818 return s 6819} 6820 6821// SetRegisteredResources sets the RegisteredResources field's value. 6822func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance { 6823 s.RegisteredResources = v 6824 return s 6825} 6826 6827// SetRemainingResources sets the RemainingResources field's value. 6828func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance { 6829 s.RemainingResources = v 6830 return s 6831} 6832 6833// SetRunningTasksCount sets the RunningTasksCount field's value. 6834func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance { 6835 s.RunningTasksCount = &v 6836 return s 6837} 6838 6839// SetStatus sets the Status field's value. 6840func (s *ContainerInstance) SetStatus(v string) *ContainerInstance { 6841 s.Status = &v 6842 return s 6843} 6844 6845// SetStatusReason sets the StatusReason field's value. 6846func (s *ContainerInstance) SetStatusReason(v string) *ContainerInstance { 6847 s.StatusReason = &v 6848 return s 6849} 6850 6851// SetTags sets the Tags field's value. 6852func (s *ContainerInstance) SetTags(v []*Tag) *ContainerInstance { 6853 s.Tags = v 6854 return s 6855} 6856 6857// SetVersion sets the Version field's value. 6858func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance { 6859 s.Version = &v 6860 return s 6861} 6862 6863// SetVersionInfo sets the VersionInfo field's value. 6864func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance { 6865 s.VersionInfo = v 6866 return s 6867} 6868 6869// The overrides that should be sent to a container. An empty container override 6870// can be passed in. An example of an empty container override would be {"containerOverrides": 6871// [ ] }. If a non-empty container override is specified, the name parameter 6872// must be included. 6873type ContainerOverride struct { 6874 _ struct{} `type:"structure"` 6875 6876 // The command to send to the container that overrides the default command from 6877 // the Docker image or the task definition. You must also specify a container 6878 // name. 6879 Command []*string `locationName:"command" type:"list"` 6880 6881 // The number of cpu units reserved for the container, instead of the default 6882 // value from the task definition. You must also specify a container name. 6883 Cpu *int64 `locationName:"cpu" type:"integer"` 6884 6885 // The environment variables to send to the container. You can add new environment 6886 // variables, which are added to the container at launch, or you can override 6887 // the existing environment variables from the Docker image or the task definition. 6888 // You must also specify a container name. 6889 Environment []*KeyValuePair `locationName:"environment" type:"list"` 6890 6891 // The hard limit (in MiB) of memory to present to the container, instead of 6892 // the default value from the task definition. If your container attempts to 6893 // exceed the memory specified here, the container is killed. You must also 6894 // specify a container name. 6895 Memory *int64 `locationName:"memory" type:"integer"` 6896 6897 // The soft limit (in MiB) of memory to reserve for the container, instead of 6898 // the default value from the task definition. You must also specify a container 6899 // name. 6900 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 6901 6902 // The name of the container that receives the override. This parameter is required 6903 // if any override is specified. 6904 Name *string `locationName:"name" type:"string"` 6905 6906 // The type and amount of a resource to assign to a container, instead of the 6907 // default value from the task definition. The only supported resource is a 6908 // GPU. 6909 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 6910} 6911 6912// String returns the string representation 6913func (s ContainerOverride) String() string { 6914 return awsutil.Prettify(s) 6915} 6916 6917// GoString returns the string representation 6918func (s ContainerOverride) GoString() string { 6919 return s.String() 6920} 6921 6922// Validate inspects the fields of the type to determine if they are valid. 6923func (s *ContainerOverride) Validate() error { 6924 invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} 6925 if s.ResourceRequirements != nil { 6926 for i, v := range s.ResourceRequirements { 6927 if v == nil { 6928 continue 6929 } 6930 if err := v.Validate(); err != nil { 6931 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 6932 } 6933 } 6934 } 6935 6936 if invalidParams.Len() > 0 { 6937 return invalidParams 6938 } 6939 return nil 6940} 6941 6942// SetCommand sets the Command field's value. 6943func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { 6944 s.Command = v 6945 return s 6946} 6947 6948// SetCpu sets the Cpu field's value. 6949func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride { 6950 s.Cpu = &v 6951 return s 6952} 6953 6954// SetEnvironment sets the Environment field's value. 6955func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride { 6956 s.Environment = v 6957 return s 6958} 6959 6960// SetMemory sets the Memory field's value. 6961func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { 6962 s.Memory = &v 6963 return s 6964} 6965 6966// SetMemoryReservation sets the MemoryReservation field's value. 6967func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride { 6968 s.MemoryReservation = &v 6969 return s 6970} 6971 6972// SetName sets the Name field's value. 6973func (s *ContainerOverride) SetName(v string) *ContainerOverride { 6974 s.Name = &v 6975 return s 6976} 6977 6978// SetResourceRequirements sets the ResourceRequirements field's value. 6979func (s *ContainerOverride) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverride { 6980 s.ResourceRequirements = v 6981 return s 6982} 6983 6984// An object representing a change in state for a container. 6985type ContainerStateChange struct { 6986 _ struct{} `type:"structure"` 6987 6988 // The name of the container. 6989 ContainerName *string `locationName:"containerName" type:"string"` 6990 6991 // The exit code for the container, if the state change is a result of the container 6992 // exiting. 6993 ExitCode *int64 `locationName:"exitCode" type:"integer"` 6994 6995 // The container image SHA 256 digest. 6996 ImageDigest *string `locationName:"imageDigest" type:"string"` 6997 6998 // Any network bindings associated with the container. 6999 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 7000 7001 // The reason for the state change. 7002 Reason *string `locationName:"reason" type:"string"` 7003 7004 // The ID of the Docker container. 7005 RuntimeId *string `locationName:"runtimeId" type:"string"` 7006 7007 // The status of the container. 7008 Status *string `locationName:"status" type:"string"` 7009} 7010 7011// String returns the string representation 7012func (s ContainerStateChange) String() string { 7013 return awsutil.Prettify(s) 7014} 7015 7016// GoString returns the string representation 7017func (s ContainerStateChange) GoString() string { 7018 return s.String() 7019} 7020 7021// SetContainerName sets the ContainerName field's value. 7022func (s *ContainerStateChange) SetContainerName(v string) *ContainerStateChange { 7023 s.ContainerName = &v 7024 return s 7025} 7026 7027// SetExitCode sets the ExitCode field's value. 7028func (s *ContainerStateChange) SetExitCode(v int64) *ContainerStateChange { 7029 s.ExitCode = &v 7030 return s 7031} 7032 7033// SetImageDigest sets the ImageDigest field's value. 7034func (s *ContainerStateChange) SetImageDigest(v string) *ContainerStateChange { 7035 s.ImageDigest = &v 7036 return s 7037} 7038 7039// SetNetworkBindings sets the NetworkBindings field's value. 7040func (s *ContainerStateChange) SetNetworkBindings(v []*NetworkBinding) *ContainerStateChange { 7041 s.NetworkBindings = v 7042 return s 7043} 7044 7045// SetReason sets the Reason field's value. 7046func (s *ContainerStateChange) SetReason(v string) *ContainerStateChange { 7047 s.Reason = &v 7048 return s 7049} 7050 7051// SetRuntimeId sets the RuntimeId field's value. 7052func (s *ContainerStateChange) SetRuntimeId(v string) *ContainerStateChange { 7053 s.RuntimeId = &v 7054 return s 7055} 7056 7057// SetStatus sets the Status field's value. 7058func (s *ContainerStateChange) SetStatus(v string) *ContainerStateChange { 7059 s.Status = &v 7060 return s 7061} 7062 7063type CreateClusterInput struct { 7064 _ struct{} `type:"structure"` 7065 7066 // The name of your cluster. If you do not specify a name for your cluster, 7067 // you create a cluster named default. Up to 255 letters (uppercase and lowercase), 7068 // numbers, and hyphens are allowed. 7069 ClusterName *string `locationName:"clusterName" type:"string"` 7070 7071 // The setting to use when creating a cluster. This parameter is used to enable 7072 // CloudWatch Container Insights for a cluster. If this value is specified, 7073 // it will override the containerInsights value set with PutAccountSetting or 7074 // PutAccountSettingDefault. 7075 Settings []*ClusterSetting `locationName:"settings" type:"list"` 7076 7077 // The metadata that you apply to the cluster to help you categorize and organize 7078 // them. Each tag consists of a key and an optional value, both of which you 7079 // define. 7080 // 7081 // The following basic restrictions apply to tags: 7082 // 7083 // * Maximum number of tags per resource - 50 7084 // 7085 // * For each resource, each tag key must be unique, and each tag key can 7086 // have only one value. 7087 // 7088 // * Maximum key length - 128 Unicode characters in UTF-8 7089 // 7090 // * Maximum value length - 256 Unicode characters in UTF-8 7091 // 7092 // * If your tagging schema is used across multiple services and resources, 7093 // remember that other services may have restrictions on allowed characters. 7094 // Generally allowed characters are: letters, numbers, and spaces representable 7095 // in UTF-8, and the following characters: + - = . _ : / @. 7096 // 7097 // * Tag keys and values are case-sensitive. 7098 // 7099 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 7100 // as a prefix for either keys or values as it is reserved for AWS use. You 7101 // cannot edit or delete tag keys or values with this prefix. Tags with this 7102 // prefix do not count against your tags per resource limit. 7103 Tags []*Tag `locationName:"tags" type:"list"` 7104} 7105 7106// String returns the string representation 7107func (s CreateClusterInput) String() string { 7108 return awsutil.Prettify(s) 7109} 7110 7111// GoString returns the string representation 7112func (s CreateClusterInput) GoString() string { 7113 return s.String() 7114} 7115 7116// Validate inspects the fields of the type to determine if they are valid. 7117func (s *CreateClusterInput) Validate() error { 7118 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 7119 if s.Tags != nil { 7120 for i, v := range s.Tags { 7121 if v == nil { 7122 continue 7123 } 7124 if err := v.Validate(); err != nil { 7125 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7126 } 7127 } 7128 } 7129 7130 if invalidParams.Len() > 0 { 7131 return invalidParams 7132 } 7133 return nil 7134} 7135 7136// SetClusterName sets the ClusterName field's value. 7137func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { 7138 s.ClusterName = &v 7139 return s 7140} 7141 7142// SetSettings sets the Settings field's value. 7143func (s *CreateClusterInput) SetSettings(v []*ClusterSetting) *CreateClusterInput { 7144 s.Settings = v 7145 return s 7146} 7147 7148// SetTags sets the Tags field's value. 7149func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { 7150 s.Tags = v 7151 return s 7152} 7153 7154type CreateClusterOutput struct { 7155 _ struct{} `type:"structure"` 7156 7157 // The full description of your new cluster. 7158 Cluster *Cluster `locationName:"cluster" type:"structure"` 7159} 7160 7161// String returns the string representation 7162func (s CreateClusterOutput) String() string { 7163 return awsutil.Prettify(s) 7164} 7165 7166// GoString returns the string representation 7167func (s CreateClusterOutput) GoString() string { 7168 return s.String() 7169} 7170 7171// SetCluster sets the Cluster field's value. 7172func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 7173 s.Cluster = v 7174 return s 7175} 7176 7177type CreateServiceInput struct { 7178 _ struct{} `type:"structure"` 7179 7180 // Unique, case-sensitive identifier that you provide to ensure the idempotency 7181 // of the request. Up to 32 ASCII characters are allowed. 7182 ClientToken *string `locationName:"clientToken" type:"string"` 7183 7184 // The short name or full Amazon Resource Name (ARN) of the cluster on which 7185 // to run your service. If you do not specify a cluster, the default cluster 7186 // is assumed. 7187 Cluster *string `locationName:"cluster" type:"string"` 7188 7189 // Optional deployment parameters that control how many tasks run during the 7190 // deployment and the ordering of stopping and starting tasks. 7191 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 7192 7193 // The deployment controller to use for the service. 7194 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 7195 7196 // The number of instantiations of the specified task definition to place and 7197 // keep running on your cluster. 7198 // 7199 // This is required if schedulingStrategy is REPLICA or is not specified. If 7200 // schedulingStrategy is DAEMON then this is not required. 7201 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 7202 7203 // Specifies whether to enable Amazon ECS managed tags for the tasks within 7204 // the service. For more information, see Tagging Your Amazon ECS Resources 7205 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 7206 // in the Amazon Elastic Container Service Developer Guide. 7207 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 7208 7209 // The period of time, in seconds, that the Amazon ECS service scheduler should 7210 // ignore unhealthy Elastic Load Balancing target health checks after a task 7211 // has first started. This is only valid if your service is configured to use 7212 // a load balancer. If your service's tasks take a while to start and respond 7213 // to Elastic Load Balancing health checks, you can specify a health check grace 7214 // period of up to 2,147,483,647 seconds. During that time, the ECS service 7215 // scheduler ignores health check status. This grace period can prevent the 7216 // ECS service scheduler from marking tasks as unhealthy and stopping them before 7217 // they have time to come up. 7218 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 7219 7220 // The launch type on which to run your service. For more information, see Amazon 7221 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 7222 // in the Amazon Elastic Container Service Developer Guide. 7223 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 7224 7225 // A load balancer object representing the load balancers to use with your service. 7226 // For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 7227 // in the Amazon Elastic Container Service Developer Guide. 7228 // 7229 // If the service is using the rolling update (ECS) deployment controller and 7230 // using either an Application Load Balancer or Network Load Balancer, you can 7231 // specify multiple target groups to attach to the service. The service-linked 7232 // role is required for services that make use of multiple target groups. For 7233 // more information, see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 7234 // in the Amazon Elastic Container Service Developer Guide. 7235 // 7236 // If the service is using the CODE_DEPLOY deployment controller, the service 7237 // is required to use either an Application Load Balancer or Network Load Balancer. 7238 // When creating an AWS CodeDeploy deployment group, you specify two target 7239 // groups (referred to as a targetGroupPair). During a deployment, AWS CodeDeploy 7240 // determines which task set in your service has the status PRIMARY and associates 7241 // one target group with it, and then associates the other target group with 7242 // the replacement task set. The load balancer can also have up to two listeners: 7243 // a required listener for production traffic and an optional listener that 7244 // allows you perform validation tests with Lambda functions before routing 7245 // production traffic to it. 7246 // 7247 // After you create a service using the ECS deployment controller, the load 7248 // balancer name or target group ARN, container name, and container port specified 7249 // in the service definition are immutable. If you are using the CODE_DEPLOY 7250 // deployment controller, these values can be changed when updating the service. 7251 // 7252 // For Application Load Balancers and Network Load Balancers, this object must 7253 // contain the load balancer target group ARN, the container name (as it appears 7254 // in a container definition), and the container port to access from the load 7255 // balancer. When a task from this service is placed on a container instance, 7256 // the container instance and port combination is registered as a target in 7257 // the target group specified here. 7258 // 7259 // For Classic Load Balancers, this object must contain the load balancer name, 7260 // the container name (as it appears in a container definition), and the container 7261 // port to access from the load balancer. When a task from this service is placed 7262 // on a container instance, the container instance is registered with the load 7263 // balancer specified here. 7264 // 7265 // Services with tasks that use the awsvpc network mode (for example, those 7266 // with the Fargate launch type) only support Application Load Balancers and 7267 // Network Load Balancers. Classic Load Balancers are not supported. Also, when 7268 // you create any target groups for these services, you must choose ip as the 7269 // target type, not instance, because tasks that use the awsvpc network mode 7270 // are associated with an elastic network interface, not an Amazon EC2 instance. 7271 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 7272 7273 // The network configuration for the service. This parameter is required for 7274 // task definitions that use the awsvpc network mode to receive their own elastic 7275 // network interface, and it is not supported for other network modes. For more 7276 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 7277 // in the Amazon Elastic Container Service Developer Guide. 7278 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 7279 7280 // An array of placement constraint objects to use for tasks in your service. 7281 // You can specify a maximum of 10 constraints per task (this limit includes 7282 // constraints in the task definition and those specified at runtime). 7283 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 7284 7285 // The placement strategy objects to use for tasks in your service. You can 7286 // specify a maximum of five strategy rules per service. 7287 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 7288 7289 // The platform version that your tasks in the service are running on. A platform 7290 // version is specified only for tasks using the Fargate launch type. If one 7291 // isn't specified, the LATEST platform version is used by default. For more 7292 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 7293 // in the Amazon Elastic Container Service Developer Guide. 7294 PlatformVersion *string `locationName:"platformVersion" type:"string"` 7295 7296 // Specifies whether to propagate the tags from the task definition or the service 7297 // to the tasks in the service. If no value is specified, the tags are not propagated. 7298 // Tags can only be propagated to the tasks within the service during service 7299 // creation. To add tags to a task after service creation, use the TagResource 7300 // API action. 7301 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 7302 7303 // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon 7304 // ECS to make calls to your load balancer on your behalf. This parameter is 7305 // only permitted if you are using a load balancer with your service and your 7306 // task definition does not use the awsvpc network mode. If you specify the 7307 // role parameter, you must also specify a load balancer object with the loadBalancers 7308 // parameter. 7309 // 7310 // If your account has already created the Amazon ECS service-linked role, that 7311 // role is used by default for your service unless you specify a role here. 7312 // The service-linked role is required if your task definition uses the awsvpc 7313 // network mode or if the service is configured to use service discovery, an 7314 // external deployment controller, or multiple target groups in which case you 7315 // should not specify a role here. For more information, see Using Service-Linked 7316 // Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 7317 // in the Amazon Elastic Container Service Developer Guide. 7318 // 7319 // If your specified role has a path other than /, then you must either specify 7320 // the full role ARN (this is recommended) or prefix the role name with the 7321 // path. For example, if a role with the name bar has a path of /foo/ then you 7322 // would specify /foo/bar as the role name. For more information, see Friendly 7323 // Names and Paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 7324 // in the IAM User Guide. 7325 Role *string `locationName:"role" type:"string"` 7326 7327 // The scheduling strategy to use for the service. For more information, see 7328 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 7329 // 7330 // There are two service scheduler strategies available: 7331 // 7332 // * REPLICA-The replica scheduling strategy places and maintains the desired 7333 // number of tasks across your cluster. By default, the service scheduler 7334 // spreads tasks across Availability Zones. You can use task placement strategies 7335 // and constraints to customize task placement decisions. This scheduler 7336 // strategy is required if the service is using the CODE_DEPLOY or EXTERNAL 7337 // deployment controller types. 7338 // 7339 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 7340 // active container instance that meets all of the task placement constraints 7341 // that you specify in your cluster. When you're using this strategy, you 7342 // don't need to specify a desired number of tasks, a task placement strategy, 7343 // or use Service Auto Scaling policies. Tasks using the Fargate launch type 7344 // or the CODE_DEPLOY or EXTERNAL deployment controller types don't support 7345 // the DAEMON scheduling strategy. 7346 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 7347 7348 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 7349 // and hyphens are allowed. Service names must be unique within a cluster, but 7350 // you can have similarly named services in multiple clusters within a Region 7351 // or across multiple Regions. 7352 // 7353 // ServiceName is a required field 7354 ServiceName *string `locationName:"serviceName" type:"string" required:"true"` 7355 7356 // The details of the service discovery registries to assign to this service. 7357 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 7358 // 7359 // Service discovery is supported for Fargate tasks if you are using platform 7360 // version v1.1.0 or later. For more information, see AWS Fargate Platform Versions 7361 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 7362 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 7363 7364 // The metadata that you apply to the service to help you categorize and organize 7365 // them. Each tag consists of a key and an optional value, both of which you 7366 // define. When a service is deleted, the tags are deleted as well. 7367 // 7368 // The following basic restrictions apply to tags: 7369 // 7370 // * Maximum number of tags per resource - 50 7371 // 7372 // * For each resource, each tag key must be unique, and each tag key can 7373 // have only one value. 7374 // 7375 // * Maximum key length - 128 Unicode characters in UTF-8 7376 // 7377 // * Maximum value length - 256 Unicode characters in UTF-8 7378 // 7379 // * If your tagging schema is used across multiple services and resources, 7380 // remember that other services may have restrictions on allowed characters. 7381 // Generally allowed characters are: letters, numbers, and spaces representable 7382 // in UTF-8, and the following characters: + - = . _ : / @. 7383 // 7384 // * Tag keys and values are case-sensitive. 7385 // 7386 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 7387 // as a prefix for either keys or values as it is reserved for AWS use. You 7388 // cannot edit or delete tag keys or values with this prefix. Tags with this 7389 // prefix do not count against your tags per resource limit. 7390 Tags []*Tag `locationName:"tags" type:"list"` 7391 7392 // The family and revision (family:revision) or full ARN of the task definition 7393 // to run in your service. If a revision is not specified, the latest ACTIVE 7394 // revision is used. 7395 // 7396 // A task definition must be specified if the service is using the ECS deployment 7397 // controller. 7398 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 7399} 7400 7401// String returns the string representation 7402func (s CreateServiceInput) String() string { 7403 return awsutil.Prettify(s) 7404} 7405 7406// GoString returns the string representation 7407func (s CreateServiceInput) GoString() string { 7408 return s.String() 7409} 7410 7411// Validate inspects the fields of the type to determine if they are valid. 7412func (s *CreateServiceInput) Validate() error { 7413 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 7414 if s.ServiceName == nil { 7415 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 7416 } 7417 if s.DeploymentController != nil { 7418 if err := s.DeploymentController.Validate(); err != nil { 7419 invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) 7420 } 7421 } 7422 if s.NetworkConfiguration != nil { 7423 if err := s.NetworkConfiguration.Validate(); err != nil { 7424 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 7425 } 7426 } 7427 if s.Tags != nil { 7428 for i, v := range s.Tags { 7429 if v == nil { 7430 continue 7431 } 7432 if err := v.Validate(); err != nil { 7433 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7434 } 7435 } 7436 } 7437 7438 if invalidParams.Len() > 0 { 7439 return invalidParams 7440 } 7441 return nil 7442} 7443 7444// SetClientToken sets the ClientToken field's value. 7445func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput { 7446 s.ClientToken = &v 7447 return s 7448} 7449 7450// SetCluster sets the Cluster field's value. 7451func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput { 7452 s.Cluster = &v 7453 return s 7454} 7455 7456// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 7457func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput { 7458 s.DeploymentConfiguration = v 7459 return s 7460} 7461 7462// SetDeploymentController sets the DeploymentController field's value. 7463func (s *CreateServiceInput) SetDeploymentController(v *DeploymentController) *CreateServiceInput { 7464 s.DeploymentController = v 7465 return s 7466} 7467 7468// SetDesiredCount sets the DesiredCount field's value. 7469func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput { 7470 s.DesiredCount = &v 7471 return s 7472} 7473 7474// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 7475func (s *CreateServiceInput) SetEnableECSManagedTags(v bool) *CreateServiceInput { 7476 s.EnableECSManagedTags = &v 7477 return s 7478} 7479 7480// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 7481func (s *CreateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *CreateServiceInput { 7482 s.HealthCheckGracePeriodSeconds = &v 7483 return s 7484} 7485 7486// SetLaunchType sets the LaunchType field's value. 7487func (s *CreateServiceInput) SetLaunchType(v string) *CreateServiceInput { 7488 s.LaunchType = &v 7489 return s 7490} 7491 7492// SetLoadBalancers sets the LoadBalancers field's value. 7493func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput { 7494 s.LoadBalancers = v 7495 return s 7496} 7497 7498// SetNetworkConfiguration sets the NetworkConfiguration field's value. 7499func (s *CreateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateServiceInput { 7500 s.NetworkConfiguration = v 7501 return s 7502} 7503 7504// SetPlacementConstraints sets the PlacementConstraints field's value. 7505func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput { 7506 s.PlacementConstraints = v 7507 return s 7508} 7509 7510// SetPlacementStrategy sets the PlacementStrategy field's value. 7511func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput { 7512 s.PlacementStrategy = v 7513 return s 7514} 7515 7516// SetPlatformVersion sets the PlatformVersion field's value. 7517func (s *CreateServiceInput) SetPlatformVersion(v string) *CreateServiceInput { 7518 s.PlatformVersion = &v 7519 return s 7520} 7521 7522// SetPropagateTags sets the PropagateTags field's value. 7523func (s *CreateServiceInput) SetPropagateTags(v string) *CreateServiceInput { 7524 s.PropagateTags = &v 7525 return s 7526} 7527 7528// SetRole sets the Role field's value. 7529func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput { 7530 s.Role = &v 7531 return s 7532} 7533 7534// SetSchedulingStrategy sets the SchedulingStrategy field's value. 7535func (s *CreateServiceInput) SetSchedulingStrategy(v string) *CreateServiceInput { 7536 s.SchedulingStrategy = &v 7537 return s 7538} 7539 7540// SetServiceName sets the ServiceName field's value. 7541func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput { 7542 s.ServiceName = &v 7543 return s 7544} 7545 7546// SetServiceRegistries sets the ServiceRegistries field's value. 7547func (s *CreateServiceInput) SetServiceRegistries(v []*ServiceRegistry) *CreateServiceInput { 7548 s.ServiceRegistries = v 7549 return s 7550} 7551 7552// SetTags sets the Tags field's value. 7553func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { 7554 s.Tags = v 7555 return s 7556} 7557 7558// SetTaskDefinition sets the TaskDefinition field's value. 7559func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput { 7560 s.TaskDefinition = &v 7561 return s 7562} 7563 7564type CreateServiceOutput struct { 7565 _ struct{} `type:"structure"` 7566 7567 // The full description of your service following the create call. 7568 // 7569 // If a service is using the ECS deployment controller, the deploymentController 7570 // and taskSets parameters will not be returned. 7571 // 7572 // If the service is using the CODE_DEPLOY deployment controller, the deploymentController, 7573 // taskSets and deployments parameters will be returned, however the deployments 7574 // parameter will be an empty list. 7575 Service *Service `locationName:"service" type:"structure"` 7576} 7577 7578// String returns the string representation 7579func (s CreateServiceOutput) String() string { 7580 return awsutil.Prettify(s) 7581} 7582 7583// GoString returns the string representation 7584func (s CreateServiceOutput) GoString() string { 7585 return s.String() 7586} 7587 7588// SetService sets the Service field's value. 7589func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 7590 s.Service = v 7591 return s 7592} 7593 7594type CreateTaskSetInput struct { 7595 _ struct{} `type:"structure"` 7596 7597 // Unique, case-sensitive identifier that you provide to ensure the idempotency 7598 // of the request. Up to 32 ASCII characters are allowed. 7599 ClientToken *string `locationName:"clientToken" type:"string"` 7600 7601 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 7602 // the service to create the task set in. 7603 // 7604 // Cluster is a required field 7605 Cluster *string `locationName:"cluster" type:"string" required:"true"` 7606 7607 // An optional non-unique tag that identifies this task set in external systems. 7608 // If the task set is associated with a service discovery registry, the tasks 7609 // in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute 7610 // set to the provided value. 7611 ExternalId *string `locationName:"externalId" type:"string"` 7612 7613 // The launch type that new tasks in the task set will use. For more information, 7614 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 7615 // in the Amazon Elastic Container Service Developer Guide. 7616 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 7617 7618 // A load balancer object representing the load balancer to use with the task 7619 // set. The supported load balancer types are either an Application Load Balancer 7620 // or a Network Load Balancer. 7621 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 7622 7623 // An object representing the network configuration for a task or service. 7624 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 7625 7626 // The platform version that the tasks in the task set should use. A platform 7627 // version is specified only for tasks using the Fargate launch type. If one 7628 // isn't specified, the LATEST platform version is used by default. 7629 PlatformVersion *string `locationName:"platformVersion" type:"string"` 7630 7631 // A floating-point percentage of the desired number of tasks to place and keep 7632 // running in the task set. 7633 Scale *Scale `locationName:"scale" type:"structure"` 7634 7635 // The short name or full Amazon Resource Name (ARN) of the service to create 7636 // the task set in. 7637 // 7638 // Service is a required field 7639 Service *string `locationName:"service" type:"string" required:"true"` 7640 7641 // The details of the service discovery registries to assign to this task set. 7642 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 7643 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 7644 7645 // The task definition for the tasks in the task set to use. 7646 // 7647 // TaskDefinition is a required field 7648 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 7649} 7650 7651// String returns the string representation 7652func (s CreateTaskSetInput) String() string { 7653 return awsutil.Prettify(s) 7654} 7655 7656// GoString returns the string representation 7657func (s CreateTaskSetInput) GoString() string { 7658 return s.String() 7659} 7660 7661// Validate inspects the fields of the type to determine if they are valid. 7662func (s *CreateTaskSetInput) Validate() error { 7663 invalidParams := request.ErrInvalidParams{Context: "CreateTaskSetInput"} 7664 if s.Cluster == nil { 7665 invalidParams.Add(request.NewErrParamRequired("Cluster")) 7666 } 7667 if s.Service == nil { 7668 invalidParams.Add(request.NewErrParamRequired("Service")) 7669 } 7670 if s.TaskDefinition == nil { 7671 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 7672 } 7673 if s.NetworkConfiguration != nil { 7674 if err := s.NetworkConfiguration.Validate(); err != nil { 7675 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 7676 } 7677 } 7678 7679 if invalidParams.Len() > 0 { 7680 return invalidParams 7681 } 7682 return nil 7683} 7684 7685// SetClientToken sets the ClientToken field's value. 7686func (s *CreateTaskSetInput) SetClientToken(v string) *CreateTaskSetInput { 7687 s.ClientToken = &v 7688 return s 7689} 7690 7691// SetCluster sets the Cluster field's value. 7692func (s *CreateTaskSetInput) SetCluster(v string) *CreateTaskSetInput { 7693 s.Cluster = &v 7694 return s 7695} 7696 7697// SetExternalId sets the ExternalId field's value. 7698func (s *CreateTaskSetInput) SetExternalId(v string) *CreateTaskSetInput { 7699 s.ExternalId = &v 7700 return s 7701} 7702 7703// SetLaunchType sets the LaunchType field's value. 7704func (s *CreateTaskSetInput) SetLaunchType(v string) *CreateTaskSetInput { 7705 s.LaunchType = &v 7706 return s 7707} 7708 7709// SetLoadBalancers sets the LoadBalancers field's value. 7710func (s *CreateTaskSetInput) SetLoadBalancers(v []*LoadBalancer) *CreateTaskSetInput { 7711 s.LoadBalancers = v 7712 return s 7713} 7714 7715// SetNetworkConfiguration sets the NetworkConfiguration field's value. 7716func (s *CreateTaskSetInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateTaskSetInput { 7717 s.NetworkConfiguration = v 7718 return s 7719} 7720 7721// SetPlatformVersion sets the PlatformVersion field's value. 7722func (s *CreateTaskSetInput) SetPlatformVersion(v string) *CreateTaskSetInput { 7723 s.PlatformVersion = &v 7724 return s 7725} 7726 7727// SetScale sets the Scale field's value. 7728func (s *CreateTaskSetInput) SetScale(v *Scale) *CreateTaskSetInput { 7729 s.Scale = v 7730 return s 7731} 7732 7733// SetService sets the Service field's value. 7734func (s *CreateTaskSetInput) SetService(v string) *CreateTaskSetInput { 7735 s.Service = &v 7736 return s 7737} 7738 7739// SetServiceRegistries sets the ServiceRegistries field's value. 7740func (s *CreateTaskSetInput) SetServiceRegistries(v []*ServiceRegistry) *CreateTaskSetInput { 7741 s.ServiceRegistries = v 7742 return s 7743} 7744 7745// SetTaskDefinition sets the TaskDefinition field's value. 7746func (s *CreateTaskSetInput) SetTaskDefinition(v string) *CreateTaskSetInput { 7747 s.TaskDefinition = &v 7748 return s 7749} 7750 7751type CreateTaskSetOutput struct { 7752 _ struct{} `type:"structure"` 7753 7754 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 7755 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 7756 // desired number of tasks, how many tasks are running, and whether the task 7757 // set serves production traffic. 7758 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 7759} 7760 7761// String returns the string representation 7762func (s CreateTaskSetOutput) String() string { 7763 return awsutil.Prettify(s) 7764} 7765 7766// GoString returns the string representation 7767func (s CreateTaskSetOutput) GoString() string { 7768 return s.String() 7769} 7770 7771// SetTaskSet sets the TaskSet field's value. 7772func (s *CreateTaskSetOutput) SetTaskSet(v *TaskSet) *CreateTaskSetOutput { 7773 s.TaskSet = v 7774 return s 7775} 7776 7777type DeleteAccountSettingInput struct { 7778 _ struct{} `type:"structure"` 7779 7780 // The resource name for which to disable the account setting. If serviceLongArnFormat 7781 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 7782 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 7783 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 7784 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 7785 // the ENI limit for your Amazon ECS container instances is affected. 7786 // 7787 // Name is a required field 7788 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 7789 7790 // The ARN of the principal, which can be an IAM user, IAM role, or the root 7791 // user. If you specify the root user, it disables the account setting for all 7792 // IAM users, IAM roles, and the root user of the account unless an IAM user 7793 // or role explicitly overrides these settings. If this field is omitted, the 7794 // setting is changed only for the authenticated user. 7795 PrincipalArn *string `locationName:"principalArn" type:"string"` 7796} 7797 7798// String returns the string representation 7799func (s DeleteAccountSettingInput) String() string { 7800 return awsutil.Prettify(s) 7801} 7802 7803// GoString returns the string representation 7804func (s DeleteAccountSettingInput) GoString() string { 7805 return s.String() 7806} 7807 7808// Validate inspects the fields of the type to determine if they are valid. 7809func (s *DeleteAccountSettingInput) Validate() error { 7810 invalidParams := request.ErrInvalidParams{Context: "DeleteAccountSettingInput"} 7811 if s.Name == nil { 7812 invalidParams.Add(request.NewErrParamRequired("Name")) 7813 } 7814 7815 if invalidParams.Len() > 0 { 7816 return invalidParams 7817 } 7818 return nil 7819} 7820 7821// SetName sets the Name field's value. 7822func (s *DeleteAccountSettingInput) SetName(v string) *DeleteAccountSettingInput { 7823 s.Name = &v 7824 return s 7825} 7826 7827// SetPrincipalArn sets the PrincipalArn field's value. 7828func (s *DeleteAccountSettingInput) SetPrincipalArn(v string) *DeleteAccountSettingInput { 7829 s.PrincipalArn = &v 7830 return s 7831} 7832 7833type DeleteAccountSettingOutput struct { 7834 _ struct{} `type:"structure"` 7835 7836 // The account setting for the specified principal ARN. 7837 Setting *Setting `locationName:"setting" type:"structure"` 7838} 7839 7840// String returns the string representation 7841func (s DeleteAccountSettingOutput) String() string { 7842 return awsutil.Prettify(s) 7843} 7844 7845// GoString returns the string representation 7846func (s DeleteAccountSettingOutput) GoString() string { 7847 return s.String() 7848} 7849 7850// SetSetting sets the Setting field's value. 7851func (s *DeleteAccountSettingOutput) SetSetting(v *Setting) *DeleteAccountSettingOutput { 7852 s.Setting = v 7853 return s 7854} 7855 7856type DeleteAttributesInput struct { 7857 _ struct{} `type:"structure"` 7858 7859 // The attributes to delete from your resource. You can specify up to 10 attributes 7860 // per request. For custom attributes, specify the attribute name and target 7861 // ID, but do not specify the value. If you specify the target ID using the 7862 // short form, you must also specify the target type. 7863 // 7864 // Attributes is a required field 7865 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 7866 7867 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 7868 // the resource to delete attributes. If you do not specify a cluster, the default 7869 // cluster is assumed. 7870 Cluster *string `locationName:"cluster" type:"string"` 7871} 7872 7873// String returns the string representation 7874func (s DeleteAttributesInput) String() string { 7875 return awsutil.Prettify(s) 7876} 7877 7878// GoString returns the string representation 7879func (s DeleteAttributesInput) GoString() string { 7880 return s.String() 7881} 7882 7883// Validate inspects the fields of the type to determine if they are valid. 7884func (s *DeleteAttributesInput) Validate() error { 7885 invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} 7886 if s.Attributes == nil { 7887 invalidParams.Add(request.NewErrParamRequired("Attributes")) 7888 } 7889 if s.Attributes != nil { 7890 for i, v := range s.Attributes { 7891 if v == nil { 7892 continue 7893 } 7894 if err := v.Validate(); err != nil { 7895 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 7896 } 7897 } 7898 } 7899 7900 if invalidParams.Len() > 0 { 7901 return invalidParams 7902 } 7903 return nil 7904} 7905 7906// SetAttributes sets the Attributes field's value. 7907func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput { 7908 s.Attributes = v 7909 return s 7910} 7911 7912// SetCluster sets the Cluster field's value. 7913func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput { 7914 s.Cluster = &v 7915 return s 7916} 7917 7918type DeleteAttributesOutput struct { 7919 _ struct{} `type:"structure"` 7920 7921 // A list of attribute objects that were successfully deleted from your resource. 7922 Attributes []*Attribute `locationName:"attributes" type:"list"` 7923} 7924 7925// String returns the string representation 7926func (s DeleteAttributesOutput) String() string { 7927 return awsutil.Prettify(s) 7928} 7929 7930// GoString returns the string representation 7931func (s DeleteAttributesOutput) GoString() string { 7932 return s.String() 7933} 7934 7935// SetAttributes sets the Attributes field's value. 7936func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput { 7937 s.Attributes = v 7938 return s 7939} 7940 7941type DeleteClusterInput struct { 7942 _ struct{} `type:"structure"` 7943 7944 // The short name or full Amazon Resource Name (ARN) of the cluster to delete. 7945 // 7946 // Cluster is a required field 7947 Cluster *string `locationName:"cluster" type:"string" required:"true"` 7948} 7949 7950// String returns the string representation 7951func (s DeleteClusterInput) String() string { 7952 return awsutil.Prettify(s) 7953} 7954 7955// GoString returns the string representation 7956func (s DeleteClusterInput) GoString() string { 7957 return s.String() 7958} 7959 7960// Validate inspects the fields of the type to determine if they are valid. 7961func (s *DeleteClusterInput) Validate() error { 7962 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 7963 if s.Cluster == nil { 7964 invalidParams.Add(request.NewErrParamRequired("Cluster")) 7965 } 7966 7967 if invalidParams.Len() > 0 { 7968 return invalidParams 7969 } 7970 return nil 7971} 7972 7973// SetCluster sets the Cluster field's value. 7974func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput { 7975 s.Cluster = &v 7976 return s 7977} 7978 7979type DeleteClusterOutput struct { 7980 _ struct{} `type:"structure"` 7981 7982 // The full description of the deleted cluster. 7983 Cluster *Cluster `locationName:"cluster" type:"structure"` 7984} 7985 7986// String returns the string representation 7987func (s DeleteClusterOutput) String() string { 7988 return awsutil.Prettify(s) 7989} 7990 7991// GoString returns the string representation 7992func (s DeleteClusterOutput) GoString() string { 7993 return s.String() 7994} 7995 7996// SetCluster sets the Cluster field's value. 7997func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 7998 s.Cluster = v 7999 return s 8000} 8001 8002type DeleteServiceInput struct { 8003 _ struct{} `type:"structure"` 8004 8005 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8006 // the service to delete. If you do not specify a cluster, the default cluster 8007 // is assumed. 8008 Cluster *string `locationName:"cluster" type:"string"` 8009 8010 // If true, allows you to delete a service even if it has not been scaled down 8011 // to zero tasks. It is only necessary to use this if the service is using the 8012 // REPLICA scheduling strategy. 8013 Force *bool `locationName:"force" type:"boolean"` 8014 8015 // The name of the service to delete. 8016 // 8017 // Service is a required field 8018 Service *string `locationName:"service" type:"string" required:"true"` 8019} 8020 8021// String returns the string representation 8022func (s DeleteServiceInput) String() string { 8023 return awsutil.Prettify(s) 8024} 8025 8026// GoString returns the string representation 8027func (s DeleteServiceInput) GoString() string { 8028 return s.String() 8029} 8030 8031// Validate inspects the fields of the type to determine if they are valid. 8032func (s *DeleteServiceInput) Validate() error { 8033 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 8034 if s.Service == nil { 8035 invalidParams.Add(request.NewErrParamRequired("Service")) 8036 } 8037 8038 if invalidParams.Len() > 0 { 8039 return invalidParams 8040 } 8041 return nil 8042} 8043 8044// SetCluster sets the Cluster field's value. 8045func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput { 8046 s.Cluster = &v 8047 return s 8048} 8049 8050// SetForce sets the Force field's value. 8051func (s *DeleteServiceInput) SetForce(v bool) *DeleteServiceInput { 8052 s.Force = &v 8053 return s 8054} 8055 8056// SetService sets the Service field's value. 8057func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput { 8058 s.Service = &v 8059 return s 8060} 8061 8062type DeleteServiceOutput struct { 8063 _ struct{} `type:"structure"` 8064 8065 // The full description of the deleted service. 8066 Service *Service `locationName:"service" type:"structure"` 8067} 8068 8069// String returns the string representation 8070func (s DeleteServiceOutput) String() string { 8071 return awsutil.Prettify(s) 8072} 8073 8074// GoString returns the string representation 8075func (s DeleteServiceOutput) GoString() string { 8076 return s.String() 8077} 8078 8079// SetService sets the Service field's value. 8080func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { 8081 s.Service = v 8082 return s 8083} 8084 8085type DeleteTaskSetInput struct { 8086 _ struct{} `type:"structure"` 8087 8088 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8089 // the service that the task set exists in to delete. 8090 // 8091 // Cluster is a required field 8092 Cluster *string `locationName:"cluster" type:"string" required:"true"` 8093 8094 // If true, this allows you to delete a task set even if it hasn't been scaled 8095 // down to zero. 8096 Force *bool `locationName:"force" type:"boolean"` 8097 8098 // The short name or full Amazon Resource Name (ARN) of the service that hosts 8099 // the task set to delete. 8100 // 8101 // Service is a required field 8102 Service *string `locationName:"service" type:"string" required:"true"` 8103 8104 // The task set ID or full Amazon Resource Name (ARN) of the task set to delete. 8105 // 8106 // TaskSet is a required field 8107 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 8108} 8109 8110// String returns the string representation 8111func (s DeleteTaskSetInput) String() string { 8112 return awsutil.Prettify(s) 8113} 8114 8115// GoString returns the string representation 8116func (s DeleteTaskSetInput) GoString() string { 8117 return s.String() 8118} 8119 8120// Validate inspects the fields of the type to determine if they are valid. 8121func (s *DeleteTaskSetInput) Validate() error { 8122 invalidParams := request.ErrInvalidParams{Context: "DeleteTaskSetInput"} 8123 if s.Cluster == nil { 8124 invalidParams.Add(request.NewErrParamRequired("Cluster")) 8125 } 8126 if s.Service == nil { 8127 invalidParams.Add(request.NewErrParamRequired("Service")) 8128 } 8129 if s.TaskSet == nil { 8130 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 8131 } 8132 8133 if invalidParams.Len() > 0 { 8134 return invalidParams 8135 } 8136 return nil 8137} 8138 8139// SetCluster sets the Cluster field's value. 8140func (s *DeleteTaskSetInput) SetCluster(v string) *DeleteTaskSetInput { 8141 s.Cluster = &v 8142 return s 8143} 8144 8145// SetForce sets the Force field's value. 8146func (s *DeleteTaskSetInput) SetForce(v bool) *DeleteTaskSetInput { 8147 s.Force = &v 8148 return s 8149} 8150 8151// SetService sets the Service field's value. 8152func (s *DeleteTaskSetInput) SetService(v string) *DeleteTaskSetInput { 8153 s.Service = &v 8154 return s 8155} 8156 8157// SetTaskSet sets the TaskSet field's value. 8158func (s *DeleteTaskSetInput) SetTaskSet(v string) *DeleteTaskSetInput { 8159 s.TaskSet = &v 8160 return s 8161} 8162 8163type DeleteTaskSetOutput struct { 8164 _ struct{} `type:"structure"` 8165 8166 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 8167 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 8168 // desired number of tasks, how many tasks are running, and whether the task 8169 // set serves production traffic. 8170 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 8171} 8172 8173// String returns the string representation 8174func (s DeleteTaskSetOutput) String() string { 8175 return awsutil.Prettify(s) 8176} 8177 8178// GoString returns the string representation 8179func (s DeleteTaskSetOutput) GoString() string { 8180 return s.String() 8181} 8182 8183// SetTaskSet sets the TaskSet field's value. 8184func (s *DeleteTaskSetOutput) SetTaskSet(v *TaskSet) *DeleteTaskSetOutput { 8185 s.TaskSet = v 8186 return s 8187} 8188 8189// The details of an Amazon ECS service deployment. This is used only when a 8190// service uses the ECS deployment controller type. 8191type Deployment struct { 8192 _ struct{} `type:"structure"` 8193 8194 // The Unix timestamp for when the service deployment was created. 8195 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 8196 8197 // The most recent desired count of tasks that was specified for the service 8198 // to deploy or maintain. 8199 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 8200 8201 // The ID of the deployment. 8202 Id *string `locationName:"id" type:"string"` 8203 8204 // The launch type the tasks in the service are using. For more information, 8205 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 8206 // in the Amazon Elastic Container Service Developer Guide. 8207 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 8208 8209 // The VPC subnet and security group configuration for tasks that receive their 8210 // own elastic network interface by using the awsvpc networking mode. 8211 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 8212 8213 // The number of tasks in the deployment that are in the PENDING status. 8214 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 8215 8216 // The platform version on which your tasks in the service are running. A platform 8217 // version is only specified for tasks using the Fargate launch type. If one 8218 // is not specified, the LATEST platform version is used by default. For more 8219 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 8220 // in the Amazon Elastic Container Service Developer Guide. 8221 PlatformVersion *string `locationName:"platformVersion" type:"string"` 8222 8223 // The number of tasks in the deployment that are in the RUNNING status. 8224 RunningCount *int64 `locationName:"runningCount" type:"integer"` 8225 8226 // The status of the deployment. The following describes each state: 8227 // 8228 // PRIMARY 8229 // 8230 // The most recent deployment of a service. 8231 // 8232 // ACTIVE 8233 // 8234 // A service deployment that still has running tasks, but are in the process 8235 // of being replaced with a new PRIMARY deployment. 8236 // 8237 // INACTIVE 8238 // 8239 // A deployment that has been completely replaced. 8240 Status *string `locationName:"status" type:"string"` 8241 8242 // The most recent task definition that was specified for the tasks in the service 8243 // to use. 8244 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 8245 8246 // The Unix timestamp for when the service deployment was last updated. 8247 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 8248} 8249 8250// String returns the string representation 8251func (s Deployment) String() string { 8252 return awsutil.Prettify(s) 8253} 8254 8255// GoString returns the string representation 8256func (s Deployment) GoString() string { 8257 return s.String() 8258} 8259 8260// SetCreatedAt sets the CreatedAt field's value. 8261func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { 8262 s.CreatedAt = &v 8263 return s 8264} 8265 8266// SetDesiredCount sets the DesiredCount field's value. 8267func (s *Deployment) SetDesiredCount(v int64) *Deployment { 8268 s.DesiredCount = &v 8269 return s 8270} 8271 8272// SetId sets the Id field's value. 8273func (s *Deployment) SetId(v string) *Deployment { 8274 s.Id = &v 8275 return s 8276} 8277 8278// SetLaunchType sets the LaunchType field's value. 8279func (s *Deployment) SetLaunchType(v string) *Deployment { 8280 s.LaunchType = &v 8281 return s 8282} 8283 8284// SetNetworkConfiguration sets the NetworkConfiguration field's value. 8285func (s *Deployment) SetNetworkConfiguration(v *NetworkConfiguration) *Deployment { 8286 s.NetworkConfiguration = v 8287 return s 8288} 8289 8290// SetPendingCount sets the PendingCount field's value. 8291func (s *Deployment) SetPendingCount(v int64) *Deployment { 8292 s.PendingCount = &v 8293 return s 8294} 8295 8296// SetPlatformVersion sets the PlatformVersion field's value. 8297func (s *Deployment) SetPlatformVersion(v string) *Deployment { 8298 s.PlatformVersion = &v 8299 return s 8300} 8301 8302// SetRunningCount sets the RunningCount field's value. 8303func (s *Deployment) SetRunningCount(v int64) *Deployment { 8304 s.RunningCount = &v 8305 return s 8306} 8307 8308// SetStatus sets the Status field's value. 8309func (s *Deployment) SetStatus(v string) *Deployment { 8310 s.Status = &v 8311 return s 8312} 8313 8314// SetTaskDefinition sets the TaskDefinition field's value. 8315func (s *Deployment) SetTaskDefinition(v string) *Deployment { 8316 s.TaskDefinition = &v 8317 return s 8318} 8319 8320// SetUpdatedAt sets the UpdatedAt field's value. 8321func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { 8322 s.UpdatedAt = &v 8323 return s 8324} 8325 8326// Optional deployment parameters that control how many tasks run during a deployment 8327// and the ordering of stopping and starting tasks. 8328type DeploymentConfiguration struct { 8329 _ struct{} `type:"structure"` 8330 8331 // If a service is using the rolling update (ECS) deployment type, the maximum 8332 // percent parameter represents an upper limit on the number of tasks in a service 8333 // that are allowed in the RUNNING or PENDING state during a deployment, as 8334 // a percentage of the desired number of tasks (rounded down to the nearest 8335 // integer), and while any container instances are in the DRAINING state if 8336 // the service contains tasks using the EC2 launch type. This parameter enables 8337 // you to define the deployment batch size. For example, if your service has 8338 // a desired number of four tasks and a maximum percent value of 200%, the scheduler 8339 // may start four new tasks before stopping the four older tasks (provided that 8340 // the cluster resources required to do this are available). The default value 8341 // for maximum percent is 200%. 8342 // 8343 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 8344 // types and tasks that use the EC2 launch type, the maximum percent value is 8345 // set to the default value and is used to define the upper limit on the number 8346 // of the tasks in the service that remain in the RUNNING state while the container 8347 // instances are in the DRAINING state. If the tasks in the service use the 8348 // Fargate launch type, the maximum percent value is not used, although it is 8349 // returned when describing your service. 8350 MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` 8351 8352 // If a service is using the rolling update (ECS) deployment type, the minimum 8353 // healthy percent represents a lower limit on the number of tasks in a service 8354 // that must remain in the RUNNING state during a deployment, as a percentage 8355 // of the desired number of tasks (rounded up to the nearest integer), and while 8356 // any container instances are in the DRAINING state if the service contains 8357 // tasks using the EC2 launch type. This parameter enables you to deploy without 8358 // using additional cluster capacity. For example, if your service has a desired 8359 // number of four tasks and a minimum healthy percent of 50%, the scheduler 8360 // may stop two existing tasks to free up cluster capacity before starting two 8361 // new tasks. Tasks for services that do not use a load balancer are considered 8362 // healthy if they are in the RUNNING state; tasks for services that do use 8363 // a load balancer are considered healthy if they are in the RUNNING state and 8364 // they are reported as healthy by the load balancer. The default value for 8365 // minimum healthy percent is 100%. 8366 // 8367 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 8368 // types and tasks that use the EC2 launch type, the minimum healthy percent 8369 // value is set to the default value and is used to define the lower limit on 8370 // the number of the tasks in the service that remain in the RUNNING state while 8371 // the container instances are in the DRAINING state. If the tasks in the service 8372 // use the Fargate launch type, the minimum healthy percent value is not used, 8373 // although it is returned when describing your service. 8374 MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` 8375} 8376 8377// String returns the string representation 8378func (s DeploymentConfiguration) String() string { 8379 return awsutil.Prettify(s) 8380} 8381 8382// GoString returns the string representation 8383func (s DeploymentConfiguration) GoString() string { 8384 return s.String() 8385} 8386 8387// SetMaximumPercent sets the MaximumPercent field's value. 8388func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { 8389 s.MaximumPercent = &v 8390 return s 8391} 8392 8393// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value. 8394func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration { 8395 s.MinimumHealthyPercent = &v 8396 return s 8397} 8398 8399// The deployment controller to use for the service. For more information, see 8400// Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 8401// in the Amazon Elastic Container Service Developer Guide. 8402type DeploymentController struct { 8403 _ struct{} `type:"structure"` 8404 8405 // The deployment controller type to use. 8406 // 8407 // There are three deployment controller types available: 8408 // 8409 // ECS 8410 // 8411 // The rolling update (ECS) deployment type involves replacing the current running 8412 // version of the container with the latest version. The number of containers 8413 // Amazon ECS adds or removes from the service during a rolling update is controlled 8414 // by adjusting the minimum and maximum number of healthy tasks allowed during 8415 // a service deployment, as specified in the DeploymentConfiguration. 8416 // 8417 // CODE_DEPLOY 8418 // 8419 // The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment 8420 // model powered by AWS CodeDeploy, which allows you to verify a new deployment 8421 // of a service before sending production traffic to it. 8422 // 8423 // EXTERNAL 8424 // 8425 // The external (EXTERNAL) deployment type enables you to use any third-party 8426 // deployment controller for full control over the deployment process for an 8427 // Amazon ECS service. 8428 // 8429 // Type is a required field 8430 Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"` 8431} 8432 8433// String returns the string representation 8434func (s DeploymentController) String() string { 8435 return awsutil.Prettify(s) 8436} 8437 8438// GoString returns the string representation 8439func (s DeploymentController) GoString() string { 8440 return s.String() 8441} 8442 8443// Validate inspects the fields of the type to determine if they are valid. 8444func (s *DeploymentController) Validate() error { 8445 invalidParams := request.ErrInvalidParams{Context: "DeploymentController"} 8446 if s.Type == nil { 8447 invalidParams.Add(request.NewErrParamRequired("Type")) 8448 } 8449 8450 if invalidParams.Len() > 0 { 8451 return invalidParams 8452 } 8453 return nil 8454} 8455 8456// SetType sets the Type field's value. 8457func (s *DeploymentController) SetType(v string) *DeploymentController { 8458 s.Type = &v 8459 return s 8460} 8461 8462type DeregisterContainerInstanceInput struct { 8463 _ struct{} `type:"structure"` 8464 8465 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8466 // the container instance to deregister. If you do not specify a cluster, the 8467 // default cluster is assumed. 8468 Cluster *string `locationName:"cluster" type:"string"` 8469 8470 // The container instance ID or full ARN of the container instance to deregister. 8471 // The ARN contains the arn:aws:ecs namespace, followed by the Region of the 8472 // container instance, the AWS account ID of the container instance owner, the 8473 // container-instance namespace, and then the container instance ID. For example, 8474 // arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 8475 // 8476 // ContainerInstance is a required field 8477 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 8478 8479 // Forces the deregistration of the container instance. If you have tasks running 8480 // on the container instance when you deregister it with the force option, these 8481 // tasks remain running until you terminate the instance or the tasks stop through 8482 // some other means, but they are orphaned (no longer monitored or accounted 8483 // for by Amazon ECS). If an orphaned task on your container instance is part 8484 // of an Amazon ECS service, then the service scheduler starts another copy 8485 // of that task, on a different container instance if possible. 8486 // 8487 // Any containers in orphaned service tasks that are registered with a Classic 8488 // Load Balancer or an Application Load Balancer target group are deregistered. 8489 // They begin connection draining according to the settings on the load balancer 8490 // or target group. 8491 Force *bool `locationName:"force" type:"boolean"` 8492} 8493 8494// String returns the string representation 8495func (s DeregisterContainerInstanceInput) String() string { 8496 return awsutil.Prettify(s) 8497} 8498 8499// GoString returns the string representation 8500func (s DeregisterContainerInstanceInput) GoString() string { 8501 return s.String() 8502} 8503 8504// Validate inspects the fields of the type to determine if they are valid. 8505func (s *DeregisterContainerInstanceInput) Validate() error { 8506 invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} 8507 if s.ContainerInstance == nil { 8508 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 8509 } 8510 8511 if invalidParams.Len() > 0 { 8512 return invalidParams 8513 } 8514 return nil 8515} 8516 8517// SetCluster sets the Cluster field's value. 8518func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput { 8519 s.Cluster = &v 8520 return s 8521} 8522 8523// SetContainerInstance sets the ContainerInstance field's value. 8524func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput { 8525 s.ContainerInstance = &v 8526 return s 8527} 8528 8529// SetForce sets the Force field's value. 8530func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput { 8531 s.Force = &v 8532 return s 8533} 8534 8535type DeregisterContainerInstanceOutput struct { 8536 _ struct{} `type:"structure"` 8537 8538 // The container instance that was deregistered. 8539 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 8540} 8541 8542// String returns the string representation 8543func (s DeregisterContainerInstanceOutput) String() string { 8544 return awsutil.Prettify(s) 8545} 8546 8547// GoString returns the string representation 8548func (s DeregisterContainerInstanceOutput) GoString() string { 8549 return s.String() 8550} 8551 8552// SetContainerInstance sets the ContainerInstance field's value. 8553func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput { 8554 s.ContainerInstance = v 8555 return s 8556} 8557 8558type DeregisterTaskDefinitionInput struct { 8559 _ struct{} `type:"structure"` 8560 8561 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 8562 // of the task definition to deregister. You must specify a revision. 8563 // 8564 // TaskDefinition is a required field 8565 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 8566} 8567 8568// String returns the string representation 8569func (s DeregisterTaskDefinitionInput) String() string { 8570 return awsutil.Prettify(s) 8571} 8572 8573// GoString returns the string representation 8574func (s DeregisterTaskDefinitionInput) GoString() string { 8575 return s.String() 8576} 8577 8578// Validate inspects the fields of the type to determine if they are valid. 8579func (s *DeregisterTaskDefinitionInput) Validate() error { 8580 invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} 8581 if s.TaskDefinition == nil { 8582 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 8583 } 8584 8585 if invalidParams.Len() > 0 { 8586 return invalidParams 8587 } 8588 return nil 8589} 8590 8591// SetTaskDefinition sets the TaskDefinition field's value. 8592func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput { 8593 s.TaskDefinition = &v 8594 return s 8595} 8596 8597type DeregisterTaskDefinitionOutput struct { 8598 _ struct{} `type:"structure"` 8599 8600 // The full description of the deregistered task. 8601 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 8602} 8603 8604// String returns the string representation 8605func (s DeregisterTaskDefinitionOutput) String() string { 8606 return awsutil.Prettify(s) 8607} 8608 8609// GoString returns the string representation 8610func (s DeregisterTaskDefinitionOutput) GoString() string { 8611 return s.String() 8612} 8613 8614// SetTaskDefinition sets the TaskDefinition field's value. 8615func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput { 8616 s.TaskDefinition = v 8617 return s 8618} 8619 8620type DescribeClustersInput struct { 8621 _ struct{} `type:"structure"` 8622 8623 // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) 8624 // entries. If you do not specify a cluster, the default cluster is assumed. 8625 Clusters []*string `locationName:"clusters" type:"list"` 8626 8627 // Additional information about your clusters to be separated by launch type, 8628 // including: 8629 // 8630 // * runningEC2TasksCount 8631 // 8632 // * runningFargateTasksCount 8633 // 8634 // * pendingEC2TasksCount 8635 // 8636 // * pendingFargateTasksCount 8637 // 8638 // * activeEC2ServiceCount 8639 // 8640 // * activeFargateServiceCount 8641 // 8642 // * drainingEC2ServiceCount 8643 // 8644 // * drainingFargateServiceCount 8645 Include []*string `locationName:"include" type:"list"` 8646} 8647 8648// String returns the string representation 8649func (s DescribeClustersInput) String() string { 8650 return awsutil.Prettify(s) 8651} 8652 8653// GoString returns the string representation 8654func (s DescribeClustersInput) GoString() string { 8655 return s.String() 8656} 8657 8658// SetClusters sets the Clusters field's value. 8659func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput { 8660 s.Clusters = v 8661 return s 8662} 8663 8664// SetInclude sets the Include field's value. 8665func (s *DescribeClustersInput) SetInclude(v []*string) *DescribeClustersInput { 8666 s.Include = v 8667 return s 8668} 8669 8670type DescribeClustersOutput struct { 8671 _ struct{} `type:"structure"` 8672 8673 // The list of clusters. 8674 Clusters []*Cluster `locationName:"clusters" type:"list"` 8675 8676 // Any failures associated with the call. 8677 Failures []*Failure `locationName:"failures" type:"list"` 8678} 8679 8680// String returns the string representation 8681func (s DescribeClustersOutput) String() string { 8682 return awsutil.Prettify(s) 8683} 8684 8685// GoString returns the string representation 8686func (s DescribeClustersOutput) GoString() string { 8687 return s.String() 8688} 8689 8690// SetClusters sets the Clusters field's value. 8691func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 8692 s.Clusters = v 8693 return s 8694} 8695 8696// SetFailures sets the Failures field's value. 8697func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput { 8698 s.Failures = v 8699 return s 8700} 8701 8702type DescribeContainerInstancesInput struct { 8703 _ struct{} `type:"structure"` 8704 8705 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8706 // the container instances to describe. If you do not specify a cluster, the 8707 // default cluster is assumed. This parameter is required if the container instance 8708 // or container instances you are describing were launched in any cluster other 8709 // than the default cluster. 8710 Cluster *string `locationName:"cluster" type:"string"` 8711 8712 // A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) 8713 // entries. 8714 // 8715 // ContainerInstances is a required field 8716 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 8717 8718 // Specifies whether you want to see the resource tags for the container instance. 8719 // If TAGS is specified, the tags are included in the response. If this field 8720 // is omitted, tags are not included in the response. 8721 Include []*string `locationName:"include" type:"list"` 8722} 8723 8724// String returns the string representation 8725func (s DescribeContainerInstancesInput) String() string { 8726 return awsutil.Prettify(s) 8727} 8728 8729// GoString returns the string representation 8730func (s DescribeContainerInstancesInput) GoString() string { 8731 return s.String() 8732} 8733 8734// Validate inspects the fields of the type to determine if they are valid. 8735func (s *DescribeContainerInstancesInput) Validate() error { 8736 invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} 8737 if s.ContainerInstances == nil { 8738 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 8739 } 8740 8741 if invalidParams.Len() > 0 { 8742 return invalidParams 8743 } 8744 return nil 8745} 8746 8747// SetCluster sets the Cluster field's value. 8748func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput { 8749 s.Cluster = &v 8750 return s 8751} 8752 8753// SetContainerInstances sets the ContainerInstances field's value. 8754func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput { 8755 s.ContainerInstances = v 8756 return s 8757} 8758 8759// SetInclude sets the Include field's value. 8760func (s *DescribeContainerInstancesInput) SetInclude(v []*string) *DescribeContainerInstancesInput { 8761 s.Include = v 8762 return s 8763} 8764 8765type DescribeContainerInstancesOutput struct { 8766 _ struct{} `type:"structure"` 8767 8768 // The list of container instances. 8769 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 8770 8771 // Any failures associated with the call. 8772 Failures []*Failure `locationName:"failures" type:"list"` 8773} 8774 8775// String returns the string representation 8776func (s DescribeContainerInstancesOutput) String() string { 8777 return awsutil.Prettify(s) 8778} 8779 8780// GoString returns the string representation 8781func (s DescribeContainerInstancesOutput) GoString() string { 8782 return s.String() 8783} 8784 8785// SetContainerInstances sets the ContainerInstances field's value. 8786func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput { 8787 s.ContainerInstances = v 8788 return s 8789} 8790 8791// SetFailures sets the Failures field's value. 8792func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput { 8793 s.Failures = v 8794 return s 8795} 8796 8797type DescribeServicesInput struct { 8798 _ struct{} `type:"structure"` 8799 8800 // The short name or full Amazon Resource Name (ARN)the cluster that hosts the 8801 // service to describe. If you do not specify a cluster, the default cluster 8802 // is assumed. This parameter is required if the service or services you are 8803 // describing were launched in any cluster other than the default cluster. 8804 Cluster *string `locationName:"cluster" type:"string"` 8805 8806 // Specifies whether you want to see the resource tags for the service. If TAGS 8807 // is specified, the tags are included in the response. If this field is omitted, 8808 // tags are not included in the response. 8809 Include []*string `locationName:"include" type:"list"` 8810 8811 // A list of services to describe. You may specify up to 10 services to describe 8812 // in a single operation. 8813 // 8814 // Services is a required field 8815 Services []*string `locationName:"services" type:"list" required:"true"` 8816} 8817 8818// String returns the string representation 8819func (s DescribeServicesInput) String() string { 8820 return awsutil.Prettify(s) 8821} 8822 8823// GoString returns the string representation 8824func (s DescribeServicesInput) GoString() string { 8825 return s.String() 8826} 8827 8828// Validate inspects the fields of the type to determine if they are valid. 8829func (s *DescribeServicesInput) Validate() error { 8830 invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} 8831 if s.Services == nil { 8832 invalidParams.Add(request.NewErrParamRequired("Services")) 8833 } 8834 8835 if invalidParams.Len() > 0 { 8836 return invalidParams 8837 } 8838 return nil 8839} 8840 8841// SetCluster sets the Cluster field's value. 8842func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput { 8843 s.Cluster = &v 8844 return s 8845} 8846 8847// SetInclude sets the Include field's value. 8848func (s *DescribeServicesInput) SetInclude(v []*string) *DescribeServicesInput { 8849 s.Include = v 8850 return s 8851} 8852 8853// SetServices sets the Services field's value. 8854func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput { 8855 s.Services = v 8856 return s 8857} 8858 8859type DescribeServicesOutput struct { 8860 _ struct{} `type:"structure"` 8861 8862 // Any failures associated with the call. 8863 Failures []*Failure `locationName:"failures" type:"list"` 8864 8865 // The list of services described. 8866 Services []*Service `locationName:"services" type:"list"` 8867} 8868 8869// String returns the string representation 8870func (s DescribeServicesOutput) String() string { 8871 return awsutil.Prettify(s) 8872} 8873 8874// GoString returns the string representation 8875func (s DescribeServicesOutput) GoString() string { 8876 return s.String() 8877} 8878 8879// SetFailures sets the Failures field's value. 8880func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput { 8881 s.Failures = v 8882 return s 8883} 8884 8885// SetServices sets the Services field's value. 8886func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput { 8887 s.Services = v 8888 return s 8889} 8890 8891type DescribeTaskDefinitionInput struct { 8892 _ struct{} `type:"structure"` 8893 8894 // Specifies whether to see the resource tags for the task definition. If TAGS 8895 // is specified, the tags are included in the response. If this field is omitted, 8896 // tags are not included in the response. 8897 Include []*string `locationName:"include" type:"list"` 8898 8899 // The family for the latest ACTIVE revision, family and revision (family:revision) 8900 // for a specific revision in the family, or full Amazon Resource Name (ARN) 8901 // of the task definition to describe. 8902 // 8903 // TaskDefinition is a required field 8904 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 8905} 8906 8907// String returns the string representation 8908func (s DescribeTaskDefinitionInput) String() string { 8909 return awsutil.Prettify(s) 8910} 8911 8912// GoString returns the string representation 8913func (s DescribeTaskDefinitionInput) GoString() string { 8914 return s.String() 8915} 8916 8917// Validate inspects the fields of the type to determine if they are valid. 8918func (s *DescribeTaskDefinitionInput) Validate() error { 8919 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} 8920 if s.TaskDefinition == nil { 8921 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 8922 } 8923 8924 if invalidParams.Len() > 0 { 8925 return invalidParams 8926 } 8927 return nil 8928} 8929 8930// SetInclude sets the Include field's value. 8931func (s *DescribeTaskDefinitionInput) SetInclude(v []*string) *DescribeTaskDefinitionInput { 8932 s.Include = v 8933 return s 8934} 8935 8936// SetTaskDefinition sets the TaskDefinition field's value. 8937func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput { 8938 s.TaskDefinition = &v 8939 return s 8940} 8941 8942type DescribeTaskDefinitionOutput struct { 8943 _ struct{} `type:"structure"` 8944 8945 // The metadata that is applied to the task definition to help you categorize 8946 // and organize them. Each tag consists of a key and an optional value, both 8947 // of which you define. 8948 // 8949 // The following basic restrictions apply to tags: 8950 // 8951 // * Maximum number of tags per resource - 50 8952 // 8953 // * For each resource, each tag key must be unique, and each tag key can 8954 // have only one value. 8955 // 8956 // * Maximum key length - 128 Unicode characters in UTF-8 8957 // 8958 // * Maximum value length - 256 Unicode characters in UTF-8 8959 // 8960 // * If your tagging schema is used across multiple services and resources, 8961 // remember that other services may have restrictions on allowed characters. 8962 // Generally allowed characters are: letters, numbers, and spaces representable 8963 // in UTF-8, and the following characters: + - = . _ : / @. 8964 // 8965 // * Tag keys and values are case-sensitive. 8966 // 8967 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8968 // as a prefix for either keys or values as it is reserved for AWS use. You 8969 // cannot edit or delete tag keys or values with this prefix. Tags with this 8970 // prefix do not count against your tags per resource limit. 8971 Tags []*Tag `locationName:"tags" type:"list"` 8972 8973 // The full task definition description. 8974 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 8975} 8976 8977// String returns the string representation 8978func (s DescribeTaskDefinitionOutput) String() string { 8979 return awsutil.Prettify(s) 8980} 8981 8982// GoString returns the string representation 8983func (s DescribeTaskDefinitionOutput) GoString() string { 8984 return s.String() 8985} 8986 8987// SetTags sets the Tags field's value. 8988func (s *DescribeTaskDefinitionOutput) SetTags(v []*Tag) *DescribeTaskDefinitionOutput { 8989 s.Tags = v 8990 return s 8991} 8992 8993// SetTaskDefinition sets the TaskDefinition field's value. 8994func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput { 8995 s.TaskDefinition = v 8996 return s 8997} 8998 8999type DescribeTaskSetsInput struct { 9000 _ struct{} `type:"structure"` 9001 9002 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9003 // the service that the task sets exist in. 9004 // 9005 // Cluster is a required field 9006 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9007 9008 // The short name or full Amazon Resource Name (ARN) of the service that the 9009 // task sets exist in. 9010 // 9011 // Service is a required field 9012 Service *string `locationName:"service" type:"string" required:"true"` 9013 9014 // The ID or full Amazon Resource Name (ARN) of task sets to describe. 9015 TaskSets []*string `locationName:"taskSets" type:"list"` 9016} 9017 9018// String returns the string representation 9019func (s DescribeTaskSetsInput) String() string { 9020 return awsutil.Prettify(s) 9021} 9022 9023// GoString returns the string representation 9024func (s DescribeTaskSetsInput) GoString() string { 9025 return s.String() 9026} 9027 9028// Validate inspects the fields of the type to determine if they are valid. 9029func (s *DescribeTaskSetsInput) Validate() error { 9030 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskSetsInput"} 9031 if s.Cluster == nil { 9032 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9033 } 9034 if s.Service == nil { 9035 invalidParams.Add(request.NewErrParamRequired("Service")) 9036 } 9037 9038 if invalidParams.Len() > 0 { 9039 return invalidParams 9040 } 9041 return nil 9042} 9043 9044// SetCluster sets the Cluster field's value. 9045func (s *DescribeTaskSetsInput) SetCluster(v string) *DescribeTaskSetsInput { 9046 s.Cluster = &v 9047 return s 9048} 9049 9050// SetService sets the Service field's value. 9051func (s *DescribeTaskSetsInput) SetService(v string) *DescribeTaskSetsInput { 9052 s.Service = &v 9053 return s 9054} 9055 9056// SetTaskSets sets the TaskSets field's value. 9057func (s *DescribeTaskSetsInput) SetTaskSets(v []*string) *DescribeTaskSetsInput { 9058 s.TaskSets = v 9059 return s 9060} 9061 9062type DescribeTaskSetsOutput struct { 9063 _ struct{} `type:"structure"` 9064 9065 // Any failures associated with the call. 9066 Failures []*Failure `locationName:"failures" type:"list"` 9067 9068 // The list of task sets described. 9069 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 9070} 9071 9072// String returns the string representation 9073func (s DescribeTaskSetsOutput) String() string { 9074 return awsutil.Prettify(s) 9075} 9076 9077// GoString returns the string representation 9078func (s DescribeTaskSetsOutput) GoString() string { 9079 return s.String() 9080} 9081 9082// SetFailures sets the Failures field's value. 9083func (s *DescribeTaskSetsOutput) SetFailures(v []*Failure) *DescribeTaskSetsOutput { 9084 s.Failures = v 9085 return s 9086} 9087 9088// SetTaskSets sets the TaskSets field's value. 9089func (s *DescribeTaskSetsOutput) SetTaskSets(v []*TaskSet) *DescribeTaskSetsOutput { 9090 s.TaskSets = v 9091 return s 9092} 9093 9094type DescribeTasksInput struct { 9095 _ struct{} `type:"structure"` 9096 9097 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9098 // the task or tasks to describe. If you do not specify a cluster, the default 9099 // cluster is assumed. This parameter is required if the task or tasks you are 9100 // describing were launched in any cluster other than the default cluster. 9101 Cluster *string `locationName:"cluster" type:"string"` 9102 9103 // Specifies whether you want to see the resource tags for the task. If TAGS 9104 // is specified, the tags are included in the response. If this field is omitted, 9105 // tags are not included in the response. 9106 Include []*string `locationName:"include" type:"list"` 9107 9108 // A list of up to 100 task IDs or full ARN entries. 9109 // 9110 // Tasks is a required field 9111 Tasks []*string `locationName:"tasks" type:"list" required:"true"` 9112} 9113 9114// String returns the string representation 9115func (s DescribeTasksInput) String() string { 9116 return awsutil.Prettify(s) 9117} 9118 9119// GoString returns the string representation 9120func (s DescribeTasksInput) GoString() string { 9121 return s.String() 9122} 9123 9124// Validate inspects the fields of the type to determine if they are valid. 9125func (s *DescribeTasksInput) Validate() error { 9126 invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} 9127 if s.Tasks == nil { 9128 invalidParams.Add(request.NewErrParamRequired("Tasks")) 9129 } 9130 9131 if invalidParams.Len() > 0 { 9132 return invalidParams 9133 } 9134 return nil 9135} 9136 9137// SetCluster sets the Cluster field's value. 9138func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput { 9139 s.Cluster = &v 9140 return s 9141} 9142 9143// SetInclude sets the Include field's value. 9144func (s *DescribeTasksInput) SetInclude(v []*string) *DescribeTasksInput { 9145 s.Include = v 9146 return s 9147} 9148 9149// SetTasks sets the Tasks field's value. 9150func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput { 9151 s.Tasks = v 9152 return s 9153} 9154 9155type DescribeTasksOutput struct { 9156 _ struct{} `type:"structure"` 9157 9158 // Any failures associated with the call. 9159 Failures []*Failure `locationName:"failures" type:"list"` 9160 9161 // The list of tasks. 9162 Tasks []*Task `locationName:"tasks" type:"list"` 9163} 9164 9165// String returns the string representation 9166func (s DescribeTasksOutput) String() string { 9167 return awsutil.Prettify(s) 9168} 9169 9170// GoString returns the string representation 9171func (s DescribeTasksOutput) GoString() string { 9172 return s.String() 9173} 9174 9175// SetFailures sets the Failures field's value. 9176func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput { 9177 s.Failures = v 9178 return s 9179} 9180 9181// SetTasks sets the Tasks field's value. 9182func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput { 9183 s.Tasks = v 9184 return s 9185} 9186 9187// An object representing a container instance host device. 9188type Device struct { 9189 _ struct{} `type:"structure"` 9190 9191 // The path inside the container at which to expose the host device. 9192 ContainerPath *string `locationName:"containerPath" type:"string"` 9193 9194 // The path for the device on the host container instance. 9195 // 9196 // HostPath is a required field 9197 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 9198 9199 // The explicit permissions to provide to the container for the device. By default, 9200 // the container has permissions for read, write, and mknod for the device. 9201 Permissions []*string `locationName:"permissions" type:"list"` 9202} 9203 9204// String returns the string representation 9205func (s Device) String() string { 9206 return awsutil.Prettify(s) 9207} 9208 9209// GoString returns the string representation 9210func (s Device) GoString() string { 9211 return s.String() 9212} 9213 9214// Validate inspects the fields of the type to determine if they are valid. 9215func (s *Device) Validate() error { 9216 invalidParams := request.ErrInvalidParams{Context: "Device"} 9217 if s.HostPath == nil { 9218 invalidParams.Add(request.NewErrParamRequired("HostPath")) 9219 } 9220 9221 if invalidParams.Len() > 0 { 9222 return invalidParams 9223 } 9224 return nil 9225} 9226 9227// SetContainerPath sets the ContainerPath field's value. 9228func (s *Device) SetContainerPath(v string) *Device { 9229 s.ContainerPath = &v 9230 return s 9231} 9232 9233// SetHostPath sets the HostPath field's value. 9234func (s *Device) SetHostPath(v string) *Device { 9235 s.HostPath = &v 9236 return s 9237} 9238 9239// SetPermissions sets the Permissions field's value. 9240func (s *Device) SetPermissions(v []*string) *Device { 9241 s.Permissions = v 9242 return s 9243} 9244 9245type DiscoverPollEndpointInput struct { 9246 _ struct{} `type:"structure"` 9247 9248 // The short name or full Amazon Resource Name (ARN) of the cluster to which 9249 // the container instance belongs. 9250 Cluster *string `locationName:"cluster" type:"string"` 9251 9252 // The container instance ID or full ARN of the container instance. The ARN 9253 // contains the arn:aws:ecs namespace, followed by the Region of the container 9254 // instance, the AWS account ID of the container instance owner, the container-instance 9255 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 9256 ContainerInstance *string `locationName:"containerInstance" type:"string"` 9257} 9258 9259// String returns the string representation 9260func (s DiscoverPollEndpointInput) String() string { 9261 return awsutil.Prettify(s) 9262} 9263 9264// GoString returns the string representation 9265func (s DiscoverPollEndpointInput) GoString() string { 9266 return s.String() 9267} 9268 9269// SetCluster sets the Cluster field's value. 9270func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput { 9271 s.Cluster = &v 9272 return s 9273} 9274 9275// SetContainerInstance sets the ContainerInstance field's value. 9276func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput { 9277 s.ContainerInstance = &v 9278 return s 9279} 9280 9281type DiscoverPollEndpointOutput struct { 9282 _ struct{} `type:"structure"` 9283 9284 // The endpoint for the Amazon ECS agent to poll. 9285 Endpoint *string `locationName:"endpoint" type:"string"` 9286 9287 // The telemetry endpoint for the Amazon ECS agent. 9288 TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` 9289} 9290 9291// String returns the string representation 9292func (s DiscoverPollEndpointOutput) String() string { 9293 return awsutil.Prettify(s) 9294} 9295 9296// GoString returns the string representation 9297func (s DiscoverPollEndpointOutput) GoString() string { 9298 return s.String() 9299} 9300 9301// SetEndpoint sets the Endpoint field's value. 9302func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput { 9303 s.Endpoint = &v 9304 return s 9305} 9306 9307// SetTelemetryEndpoint sets the TelemetryEndpoint field's value. 9308func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput { 9309 s.TelemetryEndpoint = &v 9310 return s 9311} 9312 9313// This parameter is specified when you are using Docker volumes. Docker volumes 9314// are only supported when you are using the EC2 launch type. Windows containers 9315// only support the use of the local driver. To use bind mounts, specify a host 9316// instead. 9317type DockerVolumeConfiguration struct { 9318 _ struct{} `type:"structure"` 9319 9320 // If this value is true, the Docker volume is created if it does not already 9321 // exist. 9322 // 9323 // This field is only used if the scope is shared. 9324 Autoprovision *bool `locationName:"autoprovision" type:"boolean"` 9325 9326 // The Docker volume driver to use. The driver value must match the driver name 9327 // provided by Docker because it is used for task placement. If the driver was 9328 // installed using the Docker plugin CLI, use docker plugin ls to retrieve the 9329 // driver name from your container instance. If the driver was installed using 9330 // another method, use Docker plugin discovery to retrieve the driver name. 9331 // For more information, see Docker plugin discovery (https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). 9332 // This parameter maps to Driver in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 9333 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9334 // and the xxdriver option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 9335 Driver *string `locationName:"driver" type:"string"` 9336 9337 // A map of Docker driver-specific options passed through. This parameter maps 9338 // to DriverOpts in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 9339 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9340 // and the xxopt option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 9341 DriverOpts map[string]*string `locationName:"driverOpts" type:"map"` 9342 9343 // Custom metadata to add to your Docker volume. This parameter maps to Labels 9344 // in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 9345 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9346 // and the xxlabel option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 9347 Labels map[string]*string `locationName:"labels" type:"map"` 9348 9349 // The scope for the Docker volume that determines its lifecycle. Docker volumes 9350 // that are scoped to a task are automatically provisioned when the task starts 9351 // and destroyed when the task stops. Docker volumes that are scoped as shared 9352 // persist after the task stops. 9353 Scope *string `locationName:"scope" type:"string" enum:"Scope"` 9354} 9355 9356// String returns the string representation 9357func (s DockerVolumeConfiguration) String() string { 9358 return awsutil.Prettify(s) 9359} 9360 9361// GoString returns the string representation 9362func (s DockerVolumeConfiguration) GoString() string { 9363 return s.String() 9364} 9365 9366// SetAutoprovision sets the Autoprovision field's value. 9367func (s *DockerVolumeConfiguration) SetAutoprovision(v bool) *DockerVolumeConfiguration { 9368 s.Autoprovision = &v 9369 return s 9370} 9371 9372// SetDriver sets the Driver field's value. 9373func (s *DockerVolumeConfiguration) SetDriver(v string) *DockerVolumeConfiguration { 9374 s.Driver = &v 9375 return s 9376} 9377 9378// SetDriverOpts sets the DriverOpts field's value. 9379func (s *DockerVolumeConfiguration) SetDriverOpts(v map[string]*string) *DockerVolumeConfiguration { 9380 s.DriverOpts = v 9381 return s 9382} 9383 9384// SetLabels sets the Labels field's value. 9385func (s *DockerVolumeConfiguration) SetLabels(v map[string]*string) *DockerVolumeConfiguration { 9386 s.Labels = v 9387 return s 9388} 9389 9390// SetScope sets the Scope field's value. 9391func (s *DockerVolumeConfiguration) SetScope(v string) *DockerVolumeConfiguration { 9392 s.Scope = &v 9393 return s 9394} 9395 9396// A failed resource. 9397type Failure struct { 9398 _ struct{} `type:"structure"` 9399 9400 // The Amazon Resource Name (ARN) of the failed resource. 9401 Arn *string `locationName:"arn" type:"string"` 9402 9403 // The reason for the failure. 9404 Reason *string `locationName:"reason" type:"string"` 9405} 9406 9407// String returns the string representation 9408func (s Failure) String() string { 9409 return awsutil.Prettify(s) 9410} 9411 9412// GoString returns the string representation 9413func (s Failure) GoString() string { 9414 return s.String() 9415} 9416 9417// SetArn sets the Arn field's value. 9418func (s *Failure) SetArn(v string) *Failure { 9419 s.Arn = &v 9420 return s 9421} 9422 9423// SetReason sets the Reason field's value. 9424func (s *Failure) SetReason(v string) *Failure { 9425 s.Reason = &v 9426 return s 9427} 9428 9429// The FireLens configuration for the container. This is used to specify and 9430// configure a log router for container logs. For more information, see Custom 9431// Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 9432// in the Amazon Elastic Container Service Developer Guide. 9433type FirelensConfiguration struct { 9434 _ struct{} `type:"structure"` 9435 9436 // The options to use when configuring the log router. This field is optional 9437 // and can be used to add additional metadata, such as the task, task definition, 9438 // cluster, and container instance details to the log event. If specified, the 9439 // syntax to use is "options":{"enable-ecs-log-metadata":"true|false"}. 9440 Options map[string]*string `locationName:"options" type:"map"` 9441 9442 // The log router to use. The valid values are fluentd or fluentbit. 9443 // 9444 // Type is a required field 9445 Type *string `locationName:"type" type:"string" required:"true" enum:"FirelensConfigurationType"` 9446} 9447 9448// String returns the string representation 9449func (s FirelensConfiguration) String() string { 9450 return awsutil.Prettify(s) 9451} 9452 9453// GoString returns the string representation 9454func (s FirelensConfiguration) GoString() string { 9455 return s.String() 9456} 9457 9458// Validate inspects the fields of the type to determine if they are valid. 9459func (s *FirelensConfiguration) Validate() error { 9460 invalidParams := request.ErrInvalidParams{Context: "FirelensConfiguration"} 9461 if s.Type == nil { 9462 invalidParams.Add(request.NewErrParamRequired("Type")) 9463 } 9464 9465 if invalidParams.Len() > 0 { 9466 return invalidParams 9467 } 9468 return nil 9469} 9470 9471// SetOptions sets the Options field's value. 9472func (s *FirelensConfiguration) SetOptions(v map[string]*string) *FirelensConfiguration { 9473 s.Options = v 9474 return s 9475} 9476 9477// SetType sets the Type field's value. 9478func (s *FirelensConfiguration) SetType(v string) *FirelensConfiguration { 9479 s.Type = &v 9480 return s 9481} 9482 9483// An object representing a container health check. Health check parameters 9484// that are specified in a container definition override any Docker health checks 9485// that exist in the container image (such as those specified in a parent image 9486// or from the image's Dockerfile). 9487// 9488// The following are notes about container health check support: 9489// 9490// * Container health checks require version 1.17.0 or greater of the Amazon 9491// ECS container agent. For more information, see Updating the Amazon ECS 9492// Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). 9493// 9494// * Container health checks are supported for Fargate tasks if you are using 9495// platform version 1.1.0 or greater. For more information, see AWS Fargate 9496// Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 9497// 9498// * Container health checks are not supported for tasks that are part of 9499// a service that is configured to use a Classic Load Balancer. 9500type HealthCheck struct { 9501 _ struct{} `type:"structure"` 9502 9503 // A string array representing the command that the container runs to determine 9504 // if it is healthy. The string array must start with CMD to execute the command 9505 // arguments directly, or CMD-SHELL to run the command with the container's 9506 // default shell. For example: 9507 // 9508 // [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] 9509 // 9510 // An exit code of 0 indicates success, and non-zero exit code indicates failure. 9511 // For more information, see HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 9512 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 9513 // 9514 // Command is a required field 9515 Command []*string `locationName:"command" type:"list" required:"true"` 9516 9517 // The time period in seconds between each health check execution. You may specify 9518 // between 5 and 300 seconds. The default value is 30 seconds. 9519 Interval *int64 `locationName:"interval" type:"integer"` 9520 9521 // The number of times to retry a failed health check before the container is 9522 // considered unhealthy. You may specify between 1 and 10 retries. The default 9523 // value is 3. 9524 Retries *int64 `locationName:"retries" type:"integer"` 9525 9526 // The optional grace period within which to provide containers time to bootstrap 9527 // before failed health checks count towards the maximum number of retries. 9528 // You may specify between 0 and 300 seconds. The startPeriod is disabled by 9529 // default. 9530 // 9531 // If a health check succeeds within the startPeriod, then the container is 9532 // considered healthy and any subsequent failures count toward the maximum number 9533 // of retries. 9534 StartPeriod *int64 `locationName:"startPeriod" type:"integer"` 9535 9536 // The time period in seconds to wait for a health check to succeed before it 9537 // is considered a failure. You may specify between 2 and 60 seconds. The default 9538 // value is 5. 9539 Timeout *int64 `locationName:"timeout" type:"integer"` 9540} 9541 9542// String returns the string representation 9543func (s HealthCheck) String() string { 9544 return awsutil.Prettify(s) 9545} 9546 9547// GoString returns the string representation 9548func (s HealthCheck) GoString() string { 9549 return s.String() 9550} 9551 9552// Validate inspects the fields of the type to determine if they are valid. 9553func (s *HealthCheck) Validate() error { 9554 invalidParams := request.ErrInvalidParams{Context: "HealthCheck"} 9555 if s.Command == nil { 9556 invalidParams.Add(request.NewErrParamRequired("Command")) 9557 } 9558 9559 if invalidParams.Len() > 0 { 9560 return invalidParams 9561 } 9562 return nil 9563} 9564 9565// SetCommand sets the Command field's value. 9566func (s *HealthCheck) SetCommand(v []*string) *HealthCheck { 9567 s.Command = v 9568 return s 9569} 9570 9571// SetInterval sets the Interval field's value. 9572func (s *HealthCheck) SetInterval(v int64) *HealthCheck { 9573 s.Interval = &v 9574 return s 9575} 9576 9577// SetRetries sets the Retries field's value. 9578func (s *HealthCheck) SetRetries(v int64) *HealthCheck { 9579 s.Retries = &v 9580 return s 9581} 9582 9583// SetStartPeriod sets the StartPeriod field's value. 9584func (s *HealthCheck) SetStartPeriod(v int64) *HealthCheck { 9585 s.StartPeriod = &v 9586 return s 9587} 9588 9589// SetTimeout sets the Timeout field's value. 9590func (s *HealthCheck) SetTimeout(v int64) *HealthCheck { 9591 s.Timeout = &v 9592 return s 9593} 9594 9595// Hostnames and IP address entries that are added to the /etc/hosts file of 9596// a container via the extraHosts parameter of its ContainerDefinition. 9597type HostEntry struct { 9598 _ struct{} `type:"structure"` 9599 9600 // The hostname to use in the /etc/hosts entry. 9601 // 9602 // Hostname is a required field 9603 Hostname *string `locationName:"hostname" type:"string" required:"true"` 9604 9605 // The IP address to use in the /etc/hosts entry. 9606 // 9607 // IpAddress is a required field 9608 IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` 9609} 9610 9611// String returns the string representation 9612func (s HostEntry) String() string { 9613 return awsutil.Prettify(s) 9614} 9615 9616// GoString returns the string representation 9617func (s HostEntry) GoString() string { 9618 return s.String() 9619} 9620 9621// Validate inspects the fields of the type to determine if they are valid. 9622func (s *HostEntry) Validate() error { 9623 invalidParams := request.ErrInvalidParams{Context: "HostEntry"} 9624 if s.Hostname == nil { 9625 invalidParams.Add(request.NewErrParamRequired("Hostname")) 9626 } 9627 if s.IpAddress == nil { 9628 invalidParams.Add(request.NewErrParamRequired("IpAddress")) 9629 } 9630 9631 if invalidParams.Len() > 0 { 9632 return invalidParams 9633 } 9634 return nil 9635} 9636 9637// SetHostname sets the Hostname field's value. 9638func (s *HostEntry) SetHostname(v string) *HostEntry { 9639 s.Hostname = &v 9640 return s 9641} 9642 9643// SetIpAddress sets the IpAddress field's value. 9644func (s *HostEntry) SetIpAddress(v string) *HostEntry { 9645 s.IpAddress = &v 9646 return s 9647} 9648 9649// Details on a container instance bind mount host volume. 9650type HostVolumeProperties struct { 9651 _ struct{} `type:"structure"` 9652 9653 // When the host parameter is used, specify a sourcePath to declare the path 9654 // on the host container instance that is presented to the container. If this 9655 // parameter is empty, then the Docker daemon has assigned a host path for you. 9656 // If the host parameter contains a sourcePath file location, then the data 9657 // volume persists at the specified location on the host container instance 9658 // until you delete it manually. If the sourcePath value does not exist on the 9659 // host container instance, the Docker daemon creates it. If the location does 9660 // exist, the contents of the source path folder are exported. 9661 // 9662 // If you are using the Fargate launch type, the sourcePath parameter is not 9663 // supported. 9664 SourcePath *string `locationName:"sourcePath" type:"string"` 9665} 9666 9667// String returns the string representation 9668func (s HostVolumeProperties) String() string { 9669 return awsutil.Prettify(s) 9670} 9671 9672// GoString returns the string representation 9673func (s HostVolumeProperties) GoString() string { 9674 return s.String() 9675} 9676 9677// SetSourcePath sets the SourcePath field's value. 9678func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { 9679 s.SourcePath = &v 9680 return s 9681} 9682 9683// Details on a Elastic Inference accelerator. For more information, see Working 9684// with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 9685// in the Amazon Elastic Container Service Developer Guide. 9686type InferenceAccelerator struct { 9687 _ struct{} `type:"structure"` 9688 9689 // The Elastic Inference accelerator device name. The deviceName must also be 9690 // referenced in a container definition as a ResourceRequirement. 9691 // 9692 // DeviceName is a required field 9693 DeviceName *string `locationName:"deviceName" type:"string" required:"true"` 9694 9695 // The Elastic Inference accelerator type to use. 9696 // 9697 // DeviceType is a required field 9698 DeviceType *string `locationName:"deviceType" type:"string" required:"true"` 9699} 9700 9701// String returns the string representation 9702func (s InferenceAccelerator) String() string { 9703 return awsutil.Prettify(s) 9704} 9705 9706// GoString returns the string representation 9707func (s InferenceAccelerator) GoString() string { 9708 return s.String() 9709} 9710 9711// Validate inspects the fields of the type to determine if they are valid. 9712func (s *InferenceAccelerator) Validate() error { 9713 invalidParams := request.ErrInvalidParams{Context: "InferenceAccelerator"} 9714 if s.DeviceName == nil { 9715 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 9716 } 9717 if s.DeviceType == nil { 9718 invalidParams.Add(request.NewErrParamRequired("DeviceType")) 9719 } 9720 9721 if invalidParams.Len() > 0 { 9722 return invalidParams 9723 } 9724 return nil 9725} 9726 9727// SetDeviceName sets the DeviceName field's value. 9728func (s *InferenceAccelerator) SetDeviceName(v string) *InferenceAccelerator { 9729 s.DeviceName = &v 9730 return s 9731} 9732 9733// SetDeviceType sets the DeviceType field's value. 9734func (s *InferenceAccelerator) SetDeviceType(v string) *InferenceAccelerator { 9735 s.DeviceType = &v 9736 return s 9737} 9738 9739// Details on an Elastic Inference accelerator task override. This parameter 9740// is used to override the Elastic Inference accelerator specified in the task 9741// definition. For more information, see Working with Amazon Elastic Inference 9742// on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 9743// in the Amazon Elastic Container Service Developer Guide. 9744type InferenceAcceleratorOverride struct { 9745 _ struct{} `type:"structure"` 9746 9747 // The Elastic Inference accelerator device name to override for the task. This 9748 // parameter must match a deviceName specified in the task definition. 9749 DeviceName *string `locationName:"deviceName" type:"string"` 9750 9751 // The Elastic Inference accelerator type to use. 9752 DeviceType *string `locationName:"deviceType" type:"string"` 9753} 9754 9755// String returns the string representation 9756func (s InferenceAcceleratorOverride) String() string { 9757 return awsutil.Prettify(s) 9758} 9759 9760// GoString returns the string representation 9761func (s InferenceAcceleratorOverride) GoString() string { 9762 return s.String() 9763} 9764 9765// SetDeviceName sets the DeviceName field's value. 9766func (s *InferenceAcceleratorOverride) SetDeviceName(v string) *InferenceAcceleratorOverride { 9767 s.DeviceName = &v 9768 return s 9769} 9770 9771// SetDeviceType sets the DeviceType field's value. 9772func (s *InferenceAcceleratorOverride) SetDeviceType(v string) *InferenceAcceleratorOverride { 9773 s.DeviceType = &v 9774 return s 9775} 9776 9777// The Linux capabilities for the container that are added to or dropped from 9778// the default configuration provided by Docker. For more information on the 9779// default capabilities and the non-default available capabilities, see Runtime 9780// privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 9781// in the Docker run reference. For more detailed information on these Linux 9782// capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) 9783// Linux manual page. 9784type KernelCapabilities struct { 9785 _ struct{} `type:"structure"` 9786 9787 // The Linux capabilities for the container that have been added to the default 9788 // configuration provided by Docker. This parameter maps to CapAdd in the Create 9789 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 9790 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9791 // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/). 9792 // 9793 // If you are using tasks that use the Fargate launch type, the add parameter 9794 // is not supported. 9795 // 9796 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 9797 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 9798 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 9799 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 9800 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 9801 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 9802 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 9803 // "WAKE_ALARM" 9804 Add []*string `locationName:"add" type:"list"` 9805 9806 // The Linux capabilities for the container that have been removed from the 9807 // default configuration provided by Docker. This parameter maps to CapDrop 9808 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 9809 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9810 // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/). 9811 // 9812 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 9813 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 9814 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 9815 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 9816 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 9817 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 9818 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 9819 // "WAKE_ALARM" 9820 Drop []*string `locationName:"drop" type:"list"` 9821} 9822 9823// String returns the string representation 9824func (s KernelCapabilities) String() string { 9825 return awsutil.Prettify(s) 9826} 9827 9828// GoString returns the string representation 9829func (s KernelCapabilities) GoString() string { 9830 return s.String() 9831} 9832 9833// SetAdd sets the Add field's value. 9834func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { 9835 s.Add = v 9836 return s 9837} 9838 9839// SetDrop sets the Drop field's value. 9840func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { 9841 s.Drop = v 9842 return s 9843} 9844 9845// A key-value pair object. 9846type KeyValuePair struct { 9847 _ struct{} `type:"structure"` 9848 9849 // The name of the key-value pair. For environment variables, this is the name 9850 // of the environment variable. 9851 Name *string `locationName:"name" type:"string"` 9852 9853 // The value of the key-value pair. For environment variables, this is the value 9854 // of the environment variable. 9855 Value *string `locationName:"value" type:"string"` 9856} 9857 9858// String returns the string representation 9859func (s KeyValuePair) String() string { 9860 return awsutil.Prettify(s) 9861} 9862 9863// GoString returns the string representation 9864func (s KeyValuePair) GoString() string { 9865 return s.String() 9866} 9867 9868// SetName sets the Name field's value. 9869func (s *KeyValuePair) SetName(v string) *KeyValuePair { 9870 s.Name = &v 9871 return s 9872} 9873 9874// SetValue sets the Value field's value. 9875func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 9876 s.Value = &v 9877 return s 9878} 9879 9880// Linux-specific options that are applied to the container, such as Linux KernelCapabilities. 9881type LinuxParameters struct { 9882 _ struct{} `type:"structure"` 9883 9884 // The Linux capabilities for the container that are added to or dropped from 9885 // the default configuration provided by Docker. 9886 // 9887 // If you are using tasks that use the Fargate launch type, capabilities is 9888 // supported but the add parameter is not supported. 9889 Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` 9890 9891 // Any host devices to expose to the container. This parameter maps to Devices 9892 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 9893 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 9894 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/). 9895 // 9896 // If you are using tasks that use the Fargate launch type, the devices parameter 9897 // is not supported. 9898 Devices []*Device `locationName:"devices" type:"list"` 9899 9900 // Run an init process inside the container that forwards signals and reaps 9901 // processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/). 9902 // This parameter requires version 1.25 of the Docker Remote API or greater 9903 // on your container instance. To check the Docker Remote API version on your 9904 // container instance, log in to your container instance and run the following 9905 // command: sudo docker version --format '{{.Server.APIVersion}}' 9906 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 9907 9908 // The total amount of swap memory (in MiB) a container can use. This parameter 9909 // will be translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/) 9910 // where the value would be the sum of the container memory plus the maxSwap 9911 // value. 9912 // 9913 // If a maxSwap value of 0 is specified, the container will not use swap. Accepted 9914 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 9915 // the container will use the swap configuration for the container instance 9916 // it is running on. A maxSwap value must be set for the swappiness parameter 9917 // to be used. 9918 // 9919 // If you are using tasks that use the Fargate launch type, the maxSwap parameter 9920 // is not supported. 9921 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 9922 9923 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 9924 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/). 9925 // 9926 // If you are using tasks that use the Fargate launch type, the sharedMemorySize 9927 // parameter is not supported. 9928 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 9929 9930 // This allows you to tune a container's memory swappiness behavior. A swappiness 9931 // value of 0 will cause swapping to not happen unless absolutely necessary. 9932 // A swappiness value of 100 will cause pages to be swapped very aggressively. 9933 // Accepted values are whole numbers between 0 and 100. If the swappiness parameter 9934 // is not specified, a default value of 60 is used. If a value is not specified 9935 // for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness 9936 // option to docker run (https://docs.docker.com/engine/reference/run/). 9937 // 9938 // If you are using tasks that use the Fargate launch type, the swappiness parameter 9939 // is not supported. 9940 Swappiness *int64 `locationName:"swappiness" type:"integer"` 9941 9942 // The container path, mount options, and size (in MiB) of the tmpfs mount. 9943 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/). 9944 // 9945 // If you are using tasks that use the Fargate launch type, the tmpfs parameter 9946 // is not supported. 9947 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 9948} 9949 9950// String returns the string representation 9951func (s LinuxParameters) String() string { 9952 return awsutil.Prettify(s) 9953} 9954 9955// GoString returns the string representation 9956func (s LinuxParameters) GoString() string { 9957 return s.String() 9958} 9959 9960// Validate inspects the fields of the type to determine if they are valid. 9961func (s *LinuxParameters) Validate() error { 9962 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 9963 if s.Devices != nil { 9964 for i, v := range s.Devices { 9965 if v == nil { 9966 continue 9967 } 9968 if err := v.Validate(); err != nil { 9969 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 9970 } 9971 } 9972 } 9973 if s.Tmpfs != nil { 9974 for i, v := range s.Tmpfs { 9975 if v == nil { 9976 continue 9977 } 9978 if err := v.Validate(); err != nil { 9979 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 9980 } 9981 } 9982 } 9983 9984 if invalidParams.Len() > 0 { 9985 return invalidParams 9986 } 9987 return nil 9988} 9989 9990// SetCapabilities sets the Capabilities field's value. 9991func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { 9992 s.Capabilities = v 9993 return s 9994} 9995 9996// SetDevices sets the Devices field's value. 9997func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 9998 s.Devices = v 9999 return s 10000} 10001 10002// SetInitProcessEnabled sets the InitProcessEnabled field's value. 10003func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 10004 s.InitProcessEnabled = &v 10005 return s 10006} 10007 10008// SetMaxSwap sets the MaxSwap field's value. 10009func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 10010 s.MaxSwap = &v 10011 return s 10012} 10013 10014// SetSharedMemorySize sets the SharedMemorySize field's value. 10015func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 10016 s.SharedMemorySize = &v 10017 return s 10018} 10019 10020// SetSwappiness sets the Swappiness field's value. 10021func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 10022 s.Swappiness = &v 10023 return s 10024} 10025 10026// SetTmpfs sets the Tmpfs field's value. 10027func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 10028 s.Tmpfs = v 10029 return s 10030} 10031 10032type ListAccountSettingsInput struct { 10033 _ struct{} `type:"structure"` 10034 10035 // Specifies whether to return the effective settings. If true, the account 10036 // settings for the root user or the default setting for the principalArn are 10037 // returned. If false, the account settings for the principalArn are returned 10038 // if they are set. Otherwise, no account settings are returned. 10039 EffectiveSettings *bool `locationName:"effectiveSettings" type:"boolean"` 10040 10041 // The maximum number of account setting results returned by ListAccountSettings 10042 // in paginated output. When this parameter is used, ListAccountSettings only 10043 // returns maxResults results in a single page along with a nextToken response 10044 // element. The remaining results of the initial request can be seen by sending 10045 // another ListAccountSettings request with the returned nextToken value. This 10046 // value can be between 1 and 10. If this parameter is not used, then ListAccountSettings 10047 // returns up to 10 results and a nextToken value if applicable. 10048 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10049 10050 // The resource name you want to list the account settings for. 10051 Name *string `locationName:"name" type:"string" enum:"SettingName"` 10052 10053 // The nextToken value returned from a previous paginated ListAccountSettings 10054 // request where maxResults was used and the results exceeded the value of that 10055 // parameter. Pagination continues from the end of the previous results that 10056 // returned the nextToken value. 10057 // 10058 // This token should be treated as an opaque identifier that is only used to 10059 // retrieve the next items in a list and not for other programmatic purposes. 10060 NextToken *string `locationName:"nextToken" type:"string"` 10061 10062 // The ARN of the principal, which can be an IAM user, IAM role, or the root 10063 // user. If this field is omitted, the account settings are listed only for 10064 // the authenticated user. 10065 PrincipalArn *string `locationName:"principalArn" type:"string"` 10066 10067 // The value of the account settings with which to filter results. You must 10068 // also specify an account setting name to use this parameter. 10069 Value *string `locationName:"value" type:"string"` 10070} 10071 10072// String returns the string representation 10073func (s ListAccountSettingsInput) String() string { 10074 return awsutil.Prettify(s) 10075} 10076 10077// GoString returns the string representation 10078func (s ListAccountSettingsInput) GoString() string { 10079 return s.String() 10080} 10081 10082// SetEffectiveSettings sets the EffectiveSettings field's value. 10083func (s *ListAccountSettingsInput) SetEffectiveSettings(v bool) *ListAccountSettingsInput { 10084 s.EffectiveSettings = &v 10085 return s 10086} 10087 10088// SetMaxResults sets the MaxResults field's value. 10089func (s *ListAccountSettingsInput) SetMaxResults(v int64) *ListAccountSettingsInput { 10090 s.MaxResults = &v 10091 return s 10092} 10093 10094// SetName sets the Name field's value. 10095func (s *ListAccountSettingsInput) SetName(v string) *ListAccountSettingsInput { 10096 s.Name = &v 10097 return s 10098} 10099 10100// SetNextToken sets the NextToken field's value. 10101func (s *ListAccountSettingsInput) SetNextToken(v string) *ListAccountSettingsInput { 10102 s.NextToken = &v 10103 return s 10104} 10105 10106// SetPrincipalArn sets the PrincipalArn field's value. 10107func (s *ListAccountSettingsInput) SetPrincipalArn(v string) *ListAccountSettingsInput { 10108 s.PrincipalArn = &v 10109 return s 10110} 10111 10112// SetValue sets the Value field's value. 10113func (s *ListAccountSettingsInput) SetValue(v string) *ListAccountSettingsInput { 10114 s.Value = &v 10115 return s 10116} 10117 10118type ListAccountSettingsOutput struct { 10119 _ struct{} `type:"structure"` 10120 10121 // The nextToken value to include in a future ListAccountSettings request. When 10122 // the results of a ListAccountSettings request exceed maxResults, this value 10123 // can be used to retrieve the next page of results. This value is null when 10124 // there are no more results to return. 10125 NextToken *string `locationName:"nextToken" type:"string"` 10126 10127 // The account settings for the resource. 10128 Settings []*Setting `locationName:"settings" type:"list"` 10129} 10130 10131// String returns the string representation 10132func (s ListAccountSettingsOutput) String() string { 10133 return awsutil.Prettify(s) 10134} 10135 10136// GoString returns the string representation 10137func (s ListAccountSettingsOutput) GoString() string { 10138 return s.String() 10139} 10140 10141// SetNextToken sets the NextToken field's value. 10142func (s *ListAccountSettingsOutput) SetNextToken(v string) *ListAccountSettingsOutput { 10143 s.NextToken = &v 10144 return s 10145} 10146 10147// SetSettings sets the Settings field's value. 10148func (s *ListAccountSettingsOutput) SetSettings(v []*Setting) *ListAccountSettingsOutput { 10149 s.Settings = v 10150 return s 10151} 10152 10153type ListAttributesInput struct { 10154 _ struct{} `type:"structure"` 10155 10156 // The name of the attribute with which to filter the results. 10157 AttributeName *string `locationName:"attributeName" type:"string"` 10158 10159 // The value of the attribute with which to filter results. You must also specify 10160 // an attribute name to use this parameter. 10161 AttributeValue *string `locationName:"attributeValue" type:"string"` 10162 10163 // The short name or full Amazon Resource Name (ARN) of the cluster to list 10164 // attributes. If you do not specify a cluster, the default cluster is assumed. 10165 Cluster *string `locationName:"cluster" type:"string"` 10166 10167 // The maximum number of cluster results returned by ListAttributes in paginated 10168 // output. When this parameter is used, ListAttributes only returns maxResults 10169 // results in a single page along with a nextToken response element. The remaining 10170 // results of the initial request can be seen by sending another ListAttributes 10171 // request with the returned nextToken value. This value can be between 1 and 10172 // 100. If this parameter is not used, then ListAttributes returns up to 100 10173 // results and a nextToken value if applicable. 10174 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10175 10176 // The nextToken value returned from a previous paginated ListAttributes request 10177 // where maxResults was used and the results exceeded the value of that parameter. 10178 // Pagination continues from the end of the previous results that returned the 10179 // nextToken value. 10180 // 10181 // This token should be treated as an opaque identifier that is only used to 10182 // retrieve the next items in a list and not for other programmatic purposes. 10183 NextToken *string `locationName:"nextToken" type:"string"` 10184 10185 // The type of the target with which to list attributes. 10186 // 10187 // TargetType is a required field 10188 TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"` 10189} 10190 10191// String returns the string representation 10192func (s ListAttributesInput) String() string { 10193 return awsutil.Prettify(s) 10194} 10195 10196// GoString returns the string representation 10197func (s ListAttributesInput) GoString() string { 10198 return s.String() 10199} 10200 10201// Validate inspects the fields of the type to determine if they are valid. 10202func (s *ListAttributesInput) Validate() error { 10203 invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"} 10204 if s.TargetType == nil { 10205 invalidParams.Add(request.NewErrParamRequired("TargetType")) 10206 } 10207 10208 if invalidParams.Len() > 0 { 10209 return invalidParams 10210 } 10211 return nil 10212} 10213 10214// SetAttributeName sets the AttributeName field's value. 10215func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput { 10216 s.AttributeName = &v 10217 return s 10218} 10219 10220// SetAttributeValue sets the AttributeValue field's value. 10221func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput { 10222 s.AttributeValue = &v 10223 return s 10224} 10225 10226// SetCluster sets the Cluster field's value. 10227func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput { 10228 s.Cluster = &v 10229 return s 10230} 10231 10232// SetMaxResults sets the MaxResults field's value. 10233func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput { 10234 s.MaxResults = &v 10235 return s 10236} 10237 10238// SetNextToken sets the NextToken field's value. 10239func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput { 10240 s.NextToken = &v 10241 return s 10242} 10243 10244// SetTargetType sets the TargetType field's value. 10245func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput { 10246 s.TargetType = &v 10247 return s 10248} 10249 10250type ListAttributesOutput struct { 10251 _ struct{} `type:"structure"` 10252 10253 // A list of attribute objects that meet the criteria of the request. 10254 Attributes []*Attribute `locationName:"attributes" type:"list"` 10255 10256 // The nextToken value to include in a future ListAttributes request. When the 10257 // results of a ListAttributes request exceed maxResults, this value can be 10258 // used to retrieve the next page of results. This value is null when there 10259 // are no more results to return. 10260 NextToken *string `locationName:"nextToken" type:"string"` 10261} 10262 10263// String returns the string representation 10264func (s ListAttributesOutput) String() string { 10265 return awsutil.Prettify(s) 10266} 10267 10268// GoString returns the string representation 10269func (s ListAttributesOutput) GoString() string { 10270 return s.String() 10271} 10272 10273// SetAttributes sets the Attributes field's value. 10274func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput { 10275 s.Attributes = v 10276 return s 10277} 10278 10279// SetNextToken sets the NextToken field's value. 10280func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput { 10281 s.NextToken = &v 10282 return s 10283} 10284 10285type ListClustersInput struct { 10286 _ struct{} `type:"structure"` 10287 10288 // The maximum number of cluster results returned by ListClusters in paginated 10289 // output. When this parameter is used, ListClusters only returns maxResults 10290 // results in a single page along with a nextToken response element. The remaining 10291 // results of the initial request can be seen by sending another ListClusters 10292 // request with the returned nextToken value. This value can be between 1 and 10293 // 100. If this parameter is not used, then ListClusters returns up to 100 results 10294 // and a nextToken value if applicable. 10295 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10296 10297 // The nextToken value returned from a previous paginated ListClusters request 10298 // where maxResults was used and the results exceeded the value of that parameter. 10299 // Pagination continues from the end of the previous results that returned the 10300 // nextToken value. 10301 // 10302 // This token should be treated as an opaque identifier that is only used to 10303 // retrieve the next items in a list and not for other programmatic purposes. 10304 NextToken *string `locationName:"nextToken" type:"string"` 10305} 10306 10307// String returns the string representation 10308func (s ListClustersInput) String() string { 10309 return awsutil.Prettify(s) 10310} 10311 10312// GoString returns the string representation 10313func (s ListClustersInput) GoString() string { 10314 return s.String() 10315} 10316 10317// SetMaxResults sets the MaxResults field's value. 10318func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 10319 s.MaxResults = &v 10320 return s 10321} 10322 10323// SetNextToken sets the NextToken field's value. 10324func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 10325 s.NextToken = &v 10326 return s 10327} 10328 10329type ListClustersOutput struct { 10330 _ struct{} `type:"structure"` 10331 10332 // The list of full Amazon Resource Name (ARN) entries for each cluster associated 10333 // with your account. 10334 ClusterArns []*string `locationName:"clusterArns" type:"list"` 10335 10336 // The nextToken value to include in a future ListClusters request. When the 10337 // results of a ListClusters request exceed maxResults, this value can be used 10338 // to retrieve the next page of results. This value is null when there are no 10339 // more results to return. 10340 NextToken *string `locationName:"nextToken" type:"string"` 10341} 10342 10343// String returns the string representation 10344func (s ListClustersOutput) String() string { 10345 return awsutil.Prettify(s) 10346} 10347 10348// GoString returns the string representation 10349func (s ListClustersOutput) GoString() string { 10350 return s.String() 10351} 10352 10353// SetClusterArns sets the ClusterArns field's value. 10354func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput { 10355 s.ClusterArns = v 10356 return s 10357} 10358 10359// SetNextToken sets the NextToken field's value. 10360func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 10361 s.NextToken = &v 10362 return s 10363} 10364 10365type ListContainerInstancesInput struct { 10366 _ struct{} `type:"structure"` 10367 10368 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10369 // the container instances to list. If you do not specify a cluster, the default 10370 // cluster is assumed. 10371 Cluster *string `locationName:"cluster" type:"string"` 10372 10373 // You can filter the results of a ListContainerInstances operation with cluster 10374 // query language statements. For more information, see Cluster Query Language 10375 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 10376 // in the Amazon Elastic Container Service Developer Guide. 10377 Filter *string `locationName:"filter" type:"string"` 10378 10379 // The maximum number of container instance results returned by ListContainerInstances 10380 // in paginated output. When this parameter is used, ListContainerInstances 10381 // only returns maxResults results in a single page along with a nextToken response 10382 // element. The remaining results of the initial request can be seen by sending 10383 // another ListContainerInstances request with the returned nextToken value. 10384 // This value can be between 1 and 100. If this parameter is not used, then 10385 // ListContainerInstances returns up to 100 results and a nextToken value if 10386 // applicable. 10387 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10388 10389 // The nextToken value returned from a previous paginated ListContainerInstances 10390 // request where maxResults was used and the results exceeded the value of that 10391 // parameter. Pagination continues from the end of the previous results that 10392 // returned the nextToken value. 10393 // 10394 // This token should be treated as an opaque identifier that is only used to 10395 // retrieve the next items in a list and not for other programmatic purposes. 10396 NextToken *string `locationName:"nextToken" type:"string"` 10397 10398 // Filters the container instances by status. For example, if you specify the 10399 // DRAINING status, the results include only container instances that have been 10400 // set to DRAINING using UpdateContainerInstancesState. If you do not specify 10401 // this parameter, the default is to include container instances set to all 10402 // states other than INACTIVE. 10403 Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"` 10404} 10405 10406// String returns the string representation 10407func (s ListContainerInstancesInput) String() string { 10408 return awsutil.Prettify(s) 10409} 10410 10411// GoString returns the string representation 10412func (s ListContainerInstancesInput) GoString() string { 10413 return s.String() 10414} 10415 10416// SetCluster sets the Cluster field's value. 10417func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput { 10418 s.Cluster = &v 10419 return s 10420} 10421 10422// SetFilter sets the Filter field's value. 10423func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput { 10424 s.Filter = &v 10425 return s 10426} 10427 10428// SetMaxResults sets the MaxResults field's value. 10429func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput { 10430 s.MaxResults = &v 10431 return s 10432} 10433 10434// SetNextToken sets the NextToken field's value. 10435func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput { 10436 s.NextToken = &v 10437 return s 10438} 10439 10440// SetStatus sets the Status field's value. 10441func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput { 10442 s.Status = &v 10443 return s 10444} 10445 10446type ListContainerInstancesOutput struct { 10447 _ struct{} `type:"structure"` 10448 10449 // The list of container instances with full ARN entries for each container 10450 // instance associated with the specified cluster. 10451 ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` 10452 10453 // The nextToken value to include in a future ListContainerInstances request. 10454 // When the results of a ListContainerInstances request exceed maxResults, this 10455 // value can be used to retrieve the next page of results. This value is null 10456 // when there are no more results to return. 10457 NextToken *string `locationName:"nextToken" type:"string"` 10458} 10459 10460// String returns the string representation 10461func (s ListContainerInstancesOutput) String() string { 10462 return awsutil.Prettify(s) 10463} 10464 10465// GoString returns the string representation 10466func (s ListContainerInstancesOutput) GoString() string { 10467 return s.String() 10468} 10469 10470// SetContainerInstanceArns sets the ContainerInstanceArns field's value. 10471func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput { 10472 s.ContainerInstanceArns = v 10473 return s 10474} 10475 10476// SetNextToken sets the NextToken field's value. 10477func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput { 10478 s.NextToken = &v 10479 return s 10480} 10481 10482type ListServicesInput struct { 10483 _ struct{} `type:"structure"` 10484 10485 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10486 // the services to list. If you do not specify a cluster, the default cluster 10487 // is assumed. 10488 Cluster *string `locationName:"cluster" type:"string"` 10489 10490 // The launch type for the services to list. 10491 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 10492 10493 // The maximum number of service results returned by ListServices in paginated 10494 // output. When this parameter is used, ListServices only returns maxResults 10495 // results in a single page along with a nextToken response element. The remaining 10496 // results of the initial request can be seen by sending another ListServices 10497 // request with the returned nextToken value. This value can be between 1 and 10498 // 100. If this parameter is not used, then ListServices returns up to 10 results 10499 // and a nextToken value if applicable. 10500 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10501 10502 // The nextToken value returned from a previous paginated ListServices request 10503 // where maxResults was used and the results exceeded the value of that parameter. 10504 // Pagination continues from the end of the previous results that returned the 10505 // nextToken value. 10506 // 10507 // This token should be treated as an opaque identifier that is only used to 10508 // retrieve the next items in a list and not for other programmatic purposes. 10509 NextToken *string `locationName:"nextToken" type:"string"` 10510 10511 // The scheduling strategy for services to list. 10512 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 10513} 10514 10515// String returns the string representation 10516func (s ListServicesInput) String() string { 10517 return awsutil.Prettify(s) 10518} 10519 10520// GoString returns the string representation 10521func (s ListServicesInput) GoString() string { 10522 return s.String() 10523} 10524 10525// SetCluster sets the Cluster field's value. 10526func (s *ListServicesInput) SetCluster(v string) *ListServicesInput { 10527 s.Cluster = &v 10528 return s 10529} 10530 10531// SetLaunchType sets the LaunchType field's value. 10532func (s *ListServicesInput) SetLaunchType(v string) *ListServicesInput { 10533 s.LaunchType = &v 10534 return s 10535} 10536 10537// SetMaxResults sets the MaxResults field's value. 10538func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 10539 s.MaxResults = &v 10540 return s 10541} 10542 10543// SetNextToken sets the NextToken field's value. 10544func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 10545 s.NextToken = &v 10546 return s 10547} 10548 10549// SetSchedulingStrategy sets the SchedulingStrategy field's value. 10550func (s *ListServicesInput) SetSchedulingStrategy(v string) *ListServicesInput { 10551 s.SchedulingStrategy = &v 10552 return s 10553} 10554 10555type ListServicesOutput struct { 10556 _ struct{} `type:"structure"` 10557 10558 // The nextToken value to include in a future ListServices request. When the 10559 // results of a ListServices request exceed maxResults, this value can be used 10560 // to retrieve the next page of results. This value is null when there are no 10561 // more results to return. 10562 NextToken *string `locationName:"nextToken" type:"string"` 10563 10564 // The list of full ARN entries for each service associated with the specified 10565 // cluster. 10566 ServiceArns []*string `locationName:"serviceArns" type:"list"` 10567} 10568 10569// String returns the string representation 10570func (s ListServicesOutput) String() string { 10571 return awsutil.Prettify(s) 10572} 10573 10574// GoString returns the string representation 10575func (s ListServicesOutput) GoString() string { 10576 return s.String() 10577} 10578 10579// SetNextToken sets the NextToken field's value. 10580func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 10581 s.NextToken = &v 10582 return s 10583} 10584 10585// SetServiceArns sets the ServiceArns field's value. 10586func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput { 10587 s.ServiceArns = v 10588 return s 10589} 10590 10591type ListTagsForResourceInput struct { 10592 _ struct{} `type:"structure"` 10593 10594 // The Amazon Resource Name (ARN) that identifies the resource for which to 10595 // list the tags. Currently, the supported resources are Amazon ECS tasks, services, 10596 // task definitions, clusters, and container instances. 10597 // 10598 // ResourceArn is a required field 10599 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 10600} 10601 10602// String returns the string representation 10603func (s ListTagsForResourceInput) String() string { 10604 return awsutil.Prettify(s) 10605} 10606 10607// GoString returns the string representation 10608func (s ListTagsForResourceInput) GoString() string { 10609 return s.String() 10610} 10611 10612// Validate inspects the fields of the type to determine if they are valid. 10613func (s *ListTagsForResourceInput) Validate() error { 10614 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 10615 if s.ResourceArn == nil { 10616 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 10617 } 10618 10619 if invalidParams.Len() > 0 { 10620 return invalidParams 10621 } 10622 return nil 10623} 10624 10625// SetResourceArn sets the ResourceArn field's value. 10626func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 10627 s.ResourceArn = &v 10628 return s 10629} 10630 10631type ListTagsForResourceOutput struct { 10632 _ struct{} `type:"structure"` 10633 10634 // The tags for the resource. 10635 Tags []*Tag `locationName:"tags" type:"list"` 10636} 10637 10638// String returns the string representation 10639func (s ListTagsForResourceOutput) String() string { 10640 return awsutil.Prettify(s) 10641} 10642 10643// GoString returns the string representation 10644func (s ListTagsForResourceOutput) GoString() string { 10645 return s.String() 10646} 10647 10648// SetTags sets the Tags field's value. 10649func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 10650 s.Tags = v 10651 return s 10652} 10653 10654type ListTaskDefinitionFamiliesInput struct { 10655 _ struct{} `type:"structure"` 10656 10657 // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. 10658 // If you specify a familyPrefix, only task definition family names that begin 10659 // with the familyPrefix string are returned. 10660 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 10661 10662 // The maximum number of task definition family results returned by ListTaskDefinitionFamilies 10663 // in paginated output. When this parameter is used, ListTaskDefinitions only 10664 // returns maxResults results in a single page along with a nextToken response 10665 // element. The remaining results of the initial request can be seen by sending 10666 // another ListTaskDefinitionFamilies request with the returned nextToken value. 10667 // This value can be between 1 and 100. If this parameter is not used, then 10668 // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value 10669 // if applicable. 10670 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10671 10672 // The nextToken value returned from a previous paginated ListTaskDefinitionFamilies 10673 // request where maxResults was used and the results exceeded the value of that 10674 // parameter. Pagination continues from the end of the previous results that 10675 // returned the nextToken value. 10676 // 10677 // This token should be treated as an opaque identifier that is only used to 10678 // retrieve the next items in a list and not for other programmatic purposes. 10679 NextToken *string `locationName:"nextToken" type:"string"` 10680 10681 // The task definition family status with which to filter the ListTaskDefinitionFamilies 10682 // results. By default, both ACTIVE and INACTIVE task definition families are 10683 // listed. If this parameter is set to ACTIVE, only task definition families 10684 // that have an ACTIVE task definition revision are returned. If this parameter 10685 // is set to INACTIVE, only task definition families that do not have any ACTIVE 10686 // task definition revisions are returned. If you paginate the resulting output, 10687 // be sure to keep the status value constant in each subsequent request. 10688 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` 10689} 10690 10691// String returns the string representation 10692func (s ListTaskDefinitionFamiliesInput) String() string { 10693 return awsutil.Prettify(s) 10694} 10695 10696// GoString returns the string representation 10697func (s ListTaskDefinitionFamiliesInput) GoString() string { 10698 return s.String() 10699} 10700 10701// SetFamilyPrefix sets the FamilyPrefix field's value. 10702func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput { 10703 s.FamilyPrefix = &v 10704 return s 10705} 10706 10707// SetMaxResults sets the MaxResults field's value. 10708func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput { 10709 s.MaxResults = &v 10710 return s 10711} 10712 10713// SetNextToken sets the NextToken field's value. 10714func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput { 10715 s.NextToken = &v 10716 return s 10717} 10718 10719// SetStatus sets the Status field's value. 10720func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput { 10721 s.Status = &v 10722 return s 10723} 10724 10725type ListTaskDefinitionFamiliesOutput struct { 10726 _ struct{} `type:"structure"` 10727 10728 // The list of task definition family names that match the ListTaskDefinitionFamilies 10729 // request. 10730 Families []*string `locationName:"families" type:"list"` 10731 10732 // The nextToken value to include in a future ListTaskDefinitionFamilies request. 10733 // When the results of a ListTaskDefinitionFamilies request exceed maxResults, 10734 // this value can be used to retrieve the next page of results. This value is 10735 // null when there are no more results to return. 10736 NextToken *string `locationName:"nextToken" type:"string"` 10737} 10738 10739// String returns the string representation 10740func (s ListTaskDefinitionFamiliesOutput) String() string { 10741 return awsutil.Prettify(s) 10742} 10743 10744// GoString returns the string representation 10745func (s ListTaskDefinitionFamiliesOutput) GoString() string { 10746 return s.String() 10747} 10748 10749// SetFamilies sets the Families field's value. 10750func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput { 10751 s.Families = v 10752 return s 10753} 10754 10755// SetNextToken sets the NextToken field's value. 10756func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput { 10757 s.NextToken = &v 10758 return s 10759} 10760 10761type ListTaskDefinitionsInput struct { 10762 _ struct{} `type:"structure"` 10763 10764 // The full family name with which to filter the ListTaskDefinitions results. 10765 // Specifying a familyPrefix limits the listed task definitions to task definition 10766 // revisions that belong to that family. 10767 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 10768 10769 // The maximum number of task definition results returned by ListTaskDefinitions 10770 // in paginated output. When this parameter is used, ListTaskDefinitions only 10771 // returns maxResults results in a single page along with a nextToken response 10772 // element. The remaining results of the initial request can be seen by sending 10773 // another ListTaskDefinitions request with the returned nextToken value. This 10774 // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions 10775 // returns up to 100 results and a nextToken value if applicable. 10776 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10777 10778 // The nextToken value returned from a previous paginated ListTaskDefinitions 10779 // request where maxResults was used and the results exceeded the value of that 10780 // parameter. Pagination continues from the end of the previous results that 10781 // returned the nextToken value. 10782 // 10783 // This token should be treated as an opaque identifier that is only used to 10784 // retrieve the next items in a list and not for other programmatic purposes. 10785 NextToken *string `locationName:"nextToken" type:"string"` 10786 10787 // The order in which to sort the results. Valid values are ASC and DESC. By 10788 // default (ASC), task definitions are listed lexicographically by family name 10789 // and in ascending numerical order by revision so that the newest task definitions 10790 // in a family are listed last. Setting this parameter to DESC reverses the 10791 // sort order on family name and revision so that the newest task definitions 10792 // in a family are listed first. 10793 Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` 10794 10795 // The task definition status with which to filter the ListTaskDefinitions results. 10796 // By default, only ACTIVE task definitions are listed. By setting this parameter 10797 // to INACTIVE, you can view task definitions that are INACTIVE as long as an 10798 // active task or service still references them. If you paginate the resulting 10799 // output, be sure to keep the status value constant in each subsequent request. 10800 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 10801} 10802 10803// String returns the string representation 10804func (s ListTaskDefinitionsInput) String() string { 10805 return awsutil.Prettify(s) 10806} 10807 10808// GoString returns the string representation 10809func (s ListTaskDefinitionsInput) GoString() string { 10810 return s.String() 10811} 10812 10813// SetFamilyPrefix sets the FamilyPrefix field's value. 10814func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput { 10815 s.FamilyPrefix = &v 10816 return s 10817} 10818 10819// SetMaxResults sets the MaxResults field's value. 10820func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput { 10821 s.MaxResults = &v 10822 return s 10823} 10824 10825// SetNextToken sets the NextToken field's value. 10826func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput { 10827 s.NextToken = &v 10828 return s 10829} 10830 10831// SetSort sets the Sort field's value. 10832func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput { 10833 s.Sort = &v 10834 return s 10835} 10836 10837// SetStatus sets the Status field's value. 10838func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput { 10839 s.Status = &v 10840 return s 10841} 10842 10843type ListTaskDefinitionsOutput struct { 10844 _ struct{} `type:"structure"` 10845 10846 // The nextToken value to include in a future ListTaskDefinitions request. When 10847 // the results of a ListTaskDefinitions request exceed maxResults, this value 10848 // can be used to retrieve the next page of results. This value is null when 10849 // there are no more results to return. 10850 NextToken *string `locationName:"nextToken" type:"string"` 10851 10852 // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions 10853 // request. 10854 TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` 10855} 10856 10857// String returns the string representation 10858func (s ListTaskDefinitionsOutput) String() string { 10859 return awsutil.Prettify(s) 10860} 10861 10862// GoString returns the string representation 10863func (s ListTaskDefinitionsOutput) GoString() string { 10864 return s.String() 10865} 10866 10867// SetNextToken sets the NextToken field's value. 10868func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput { 10869 s.NextToken = &v 10870 return s 10871} 10872 10873// SetTaskDefinitionArns sets the TaskDefinitionArns field's value. 10874func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput { 10875 s.TaskDefinitionArns = v 10876 return s 10877} 10878 10879type ListTasksInput struct { 10880 _ struct{} `type:"structure"` 10881 10882 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10883 // the tasks to list. If you do not specify a cluster, the default cluster is 10884 // assumed. 10885 Cluster *string `locationName:"cluster" type:"string"` 10886 10887 // The container instance ID or full ARN of the container instance with which 10888 // to filter the ListTasks results. Specifying a containerInstance limits the 10889 // results to tasks that belong to that container instance. 10890 ContainerInstance *string `locationName:"containerInstance" type:"string"` 10891 10892 // The task desired status with which to filter the ListTasks results. Specifying 10893 // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has 10894 // set the desired status to STOPPED. This can be useful for debugging tasks 10895 // that are not starting properly or have died or finished. The default status 10896 // filter is RUNNING, which shows tasks that Amazon ECS has set the desired 10897 // status to RUNNING. 10898 // 10899 // Although you can filter results based on a desired status of PENDING, this 10900 // does not return any results. Amazon ECS never sets the desired status of 10901 // a task to that value (only a task's lastStatus may have a value of PENDING). 10902 DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` 10903 10904 // The name of the family with which to filter the ListTasks results. Specifying 10905 // a family limits the results to tasks that belong to that family. 10906 Family *string `locationName:"family" type:"string"` 10907 10908 // The launch type for services to list. 10909 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 10910 10911 // The maximum number of task results returned by ListTasks in paginated output. 10912 // When this parameter is used, ListTasks only returns maxResults results in 10913 // a single page along with a nextToken response element. The remaining results 10914 // of the initial request can be seen by sending another ListTasks request with 10915 // the returned nextToken value. This value can be between 1 and 100. If this 10916 // parameter is not used, then ListTasks returns up to 100 results and a nextToken 10917 // value if applicable. 10918 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10919 10920 // The nextToken value returned from a previous paginated ListTasks request 10921 // where maxResults was used and the results exceeded the value of that parameter. 10922 // Pagination continues from the end of the previous results that returned the 10923 // nextToken value. 10924 // 10925 // This token should be treated as an opaque identifier that is only used to 10926 // retrieve the next items in a list and not for other programmatic purposes. 10927 NextToken *string `locationName:"nextToken" type:"string"` 10928 10929 // The name of the service with which to filter the ListTasks results. Specifying 10930 // a serviceName limits the results to tasks that belong to that service. 10931 ServiceName *string `locationName:"serviceName" type:"string"` 10932 10933 // The startedBy value with which to filter the task results. Specifying a startedBy 10934 // value limits the results to tasks that were started with that value. 10935 StartedBy *string `locationName:"startedBy" type:"string"` 10936} 10937 10938// String returns the string representation 10939func (s ListTasksInput) String() string { 10940 return awsutil.Prettify(s) 10941} 10942 10943// GoString returns the string representation 10944func (s ListTasksInput) GoString() string { 10945 return s.String() 10946} 10947 10948// SetCluster sets the Cluster field's value. 10949func (s *ListTasksInput) SetCluster(v string) *ListTasksInput { 10950 s.Cluster = &v 10951 return s 10952} 10953 10954// SetContainerInstance sets the ContainerInstance field's value. 10955func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput { 10956 s.ContainerInstance = &v 10957 return s 10958} 10959 10960// SetDesiredStatus sets the DesiredStatus field's value. 10961func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput { 10962 s.DesiredStatus = &v 10963 return s 10964} 10965 10966// SetFamily sets the Family field's value. 10967func (s *ListTasksInput) SetFamily(v string) *ListTasksInput { 10968 s.Family = &v 10969 return s 10970} 10971 10972// SetLaunchType sets the LaunchType field's value. 10973func (s *ListTasksInput) SetLaunchType(v string) *ListTasksInput { 10974 s.LaunchType = &v 10975 return s 10976} 10977 10978// SetMaxResults sets the MaxResults field's value. 10979func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { 10980 s.MaxResults = &v 10981 return s 10982} 10983 10984// SetNextToken sets the NextToken field's value. 10985func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput { 10986 s.NextToken = &v 10987 return s 10988} 10989 10990// SetServiceName sets the ServiceName field's value. 10991func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput { 10992 s.ServiceName = &v 10993 return s 10994} 10995 10996// SetStartedBy sets the StartedBy field's value. 10997func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput { 10998 s.StartedBy = &v 10999 return s 11000} 11001 11002type ListTasksOutput struct { 11003 _ struct{} `type:"structure"` 11004 11005 // The nextToken value to include in a future ListTasks request. When the results 11006 // of a ListTasks request exceed maxResults, this value can be used to retrieve 11007 // the next page of results. This value is null when there are no more results 11008 // to return. 11009 NextToken *string `locationName:"nextToken" type:"string"` 11010 11011 // The list of task ARN entries for the ListTasks request. 11012 TaskArns []*string `locationName:"taskArns" type:"list"` 11013} 11014 11015// String returns the string representation 11016func (s ListTasksOutput) String() string { 11017 return awsutil.Prettify(s) 11018} 11019 11020// GoString returns the string representation 11021func (s ListTasksOutput) GoString() string { 11022 return s.String() 11023} 11024 11025// SetNextToken sets the NextToken field's value. 11026func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput { 11027 s.NextToken = &v 11028 return s 11029} 11030 11031// SetTaskArns sets the TaskArns field's value. 11032func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { 11033 s.TaskArns = v 11034 return s 11035} 11036 11037// Details on the load balancer or load balancers to use with a service or task 11038// set. 11039type LoadBalancer struct { 11040 _ struct{} `type:"structure"` 11041 11042 // The name of the container (as it appears in a container definition) to associate 11043 // with the load balancer. 11044 ContainerName *string `locationName:"containerName" type:"string"` 11045 11046 // The port on the container to associate with the load balancer. This port 11047 // must correspond to a containerPort in the task definition the tasks in the 11048 // service are using. For tasks that use the EC2 launch type, the container 11049 // instance they are launched on must allow ingress traffic on the hostPort 11050 // of the port mapping. 11051 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 11052 11053 // The name of the load balancer to associate with the Amazon ECS service or 11054 // task set. 11055 // 11056 // A load balancer name is only specified when using a Classic Load Balancer. 11057 // If you are using an Application Load Balancer or a Network Load Balancer 11058 // this should be omitted. 11059 LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` 11060 11061 // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target 11062 // group or groups associated with a service or task set. 11063 // 11064 // A target group ARN is only specified when using an Application Load Balancer 11065 // or Network Load Balancer. If you are using a Classic Load Balancer this should 11066 // be omitted. 11067 // 11068 // For services using the ECS deployment controller, you can specify one or 11069 // multiple target groups. For more information, see Registering Multiple Target 11070 // Groups with a Service (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) 11071 // in the Amazon Elastic Container Service Developer Guide. 11072 // 11073 // For services using the CODE_DEPLOY deployment controller, you are required 11074 // to define two target groups for the load balancer. For more information, 11075 // see Blue/Green Deployment with CodeDeploy (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) 11076 // in the Amazon Elastic Container Service Developer Guide. 11077 // 11078 // If your service's task definition uses the awsvpc network mode (which is 11079 // required for the Fargate launch type), you must choose ip as the target type, 11080 // not instance, when creating your target groups because tasks that use the 11081 // awsvpc network mode are associated with an elastic network interface, not 11082 // an Amazon EC2 instance. 11083 TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` 11084} 11085 11086// String returns the string representation 11087func (s LoadBalancer) String() string { 11088 return awsutil.Prettify(s) 11089} 11090 11091// GoString returns the string representation 11092func (s LoadBalancer) GoString() string { 11093 return s.String() 11094} 11095 11096// SetContainerName sets the ContainerName field's value. 11097func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer { 11098 s.ContainerName = &v 11099 return s 11100} 11101 11102// SetContainerPort sets the ContainerPort field's value. 11103func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer { 11104 s.ContainerPort = &v 11105 return s 11106} 11107 11108// SetLoadBalancerName sets the LoadBalancerName field's value. 11109func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 11110 s.LoadBalancerName = &v 11111 return s 11112} 11113 11114// SetTargetGroupArn sets the TargetGroupArn field's value. 11115func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer { 11116 s.TargetGroupArn = &v 11117 return s 11118} 11119 11120// Log configuration options to send to a custom log driver for the container. 11121type LogConfiguration struct { 11122 _ struct{} `type:"structure"` 11123 11124 // The log driver to use for the container. The valid values listed for this 11125 // parameter are log drivers that the Amazon ECS container agent can communicate 11126 // with by default. 11127 // 11128 // For tasks using the Fargate launch type, the supported log drivers are awslogs, 11129 // splunk, and awsfirelens. 11130 // 11131 // For tasks using the EC2 launch type, the supported log drivers are awslogs, 11132 // fluentd, gelf, json-file, journald, logentries, syslog, splunk, and awsfirelens. 11133 // 11134 // For more information about using the awslogs log driver, see Using the awslogs 11135 // Log Driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) 11136 // in the Amazon Elastic Container Service Developer Guide. 11137 // 11138 // For more information about using the awsfirelens log driver, see Custom Log 11139 // Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 11140 // in the Amazon Elastic Container Service Developer Guide. 11141 // 11142 // If you have a custom driver that is not listed above that you would like 11143 // to work with the Amazon ECS container agent, you can fork the Amazon ECS 11144 // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) 11145 // and customize it to work with that driver. We encourage you to submit pull 11146 // requests for changes that you would like to have included. However, Amazon 11147 // Web Services does not currently support running modified copies of this software. 11148 // 11149 // This parameter requires version 1.18 of the Docker Remote API or greater 11150 // on your container instance. To check the Docker Remote API version on your 11151 // container instance, log in to your container instance and run the following 11152 // command: sudo docker version --format '{{.Server.APIVersion}}' 11153 // 11154 // LogDriver is a required field 11155 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 11156 11157 // The configuration options to send to the log driver. This parameter requires 11158 // version 1.19 of the Docker Remote API or greater on your container instance. 11159 // To check the Docker Remote API version on your container instance, log in 11160 // to your container instance and run the following command: sudo docker version 11161 // --format '{{.Server.APIVersion}}' 11162 Options map[string]*string `locationName:"options" type:"map"` 11163 11164 // The secrets to pass to the log configuration. For more information, see Specifying 11165 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 11166 // in the Amazon Elastic Container Service Developer Guide. 11167 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 11168} 11169 11170// String returns the string representation 11171func (s LogConfiguration) String() string { 11172 return awsutil.Prettify(s) 11173} 11174 11175// GoString returns the string representation 11176func (s LogConfiguration) GoString() string { 11177 return s.String() 11178} 11179 11180// Validate inspects the fields of the type to determine if they are valid. 11181func (s *LogConfiguration) Validate() error { 11182 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 11183 if s.LogDriver == nil { 11184 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 11185 } 11186 if s.SecretOptions != nil { 11187 for i, v := range s.SecretOptions { 11188 if v == nil { 11189 continue 11190 } 11191 if err := v.Validate(); err != nil { 11192 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 11193 } 11194 } 11195 } 11196 11197 if invalidParams.Len() > 0 { 11198 return invalidParams 11199 } 11200 return nil 11201} 11202 11203// SetLogDriver sets the LogDriver field's value. 11204func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 11205 s.LogDriver = &v 11206 return s 11207} 11208 11209// SetOptions sets the Options field's value. 11210func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 11211 s.Options = v 11212 return s 11213} 11214 11215// SetSecretOptions sets the SecretOptions field's value. 11216func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 11217 s.SecretOptions = v 11218 return s 11219} 11220 11221// Details on a volume mount point that is used in a container definition. 11222type MountPoint struct { 11223 _ struct{} `type:"structure"` 11224 11225 // The path on the container to mount the host volume at. 11226 ContainerPath *string `locationName:"containerPath" type:"string"` 11227 11228 // If this value is true, the container has read-only access to the volume. 11229 // If this value is false, then the container can write to the volume. The default 11230 // value is false. 11231 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 11232 11233 // The name of the volume to mount. Must be a volume name referenced in the 11234 // name parameter of task definition volume. 11235 SourceVolume *string `locationName:"sourceVolume" type:"string"` 11236} 11237 11238// String returns the string representation 11239func (s MountPoint) String() string { 11240 return awsutil.Prettify(s) 11241} 11242 11243// GoString returns the string representation 11244func (s MountPoint) GoString() string { 11245 return s.String() 11246} 11247 11248// SetContainerPath sets the ContainerPath field's value. 11249func (s *MountPoint) SetContainerPath(v string) *MountPoint { 11250 s.ContainerPath = &v 11251 return s 11252} 11253 11254// SetReadOnly sets the ReadOnly field's value. 11255func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 11256 s.ReadOnly = &v 11257 return s 11258} 11259 11260// SetSourceVolume sets the SourceVolume field's value. 11261func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 11262 s.SourceVolume = &v 11263 return s 11264} 11265 11266// Details on the network bindings between a container and its host container 11267// instance. After a task reaches the RUNNING status, manual and automatic host 11268// and container port assignments are visible in the networkBindings section 11269// of DescribeTasks API responses. 11270type NetworkBinding struct { 11271 _ struct{} `type:"structure"` 11272 11273 // The IP address that the container is bound to on the container instance. 11274 BindIP *string `locationName:"bindIP" type:"string"` 11275 11276 // The port number on the container that is used with the network binding. 11277 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 11278 11279 // The port number on the host that is used with the network binding. 11280 HostPort *int64 `locationName:"hostPort" type:"integer"` 11281 11282 // The protocol used for the network binding. 11283 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 11284} 11285 11286// String returns the string representation 11287func (s NetworkBinding) String() string { 11288 return awsutil.Prettify(s) 11289} 11290 11291// GoString returns the string representation 11292func (s NetworkBinding) GoString() string { 11293 return s.String() 11294} 11295 11296// SetBindIP sets the BindIP field's value. 11297func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding { 11298 s.BindIP = &v 11299 return s 11300} 11301 11302// SetContainerPort sets the ContainerPort field's value. 11303func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding { 11304 s.ContainerPort = &v 11305 return s 11306} 11307 11308// SetHostPort sets the HostPort field's value. 11309func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding { 11310 s.HostPort = &v 11311 return s 11312} 11313 11314// SetProtocol sets the Protocol field's value. 11315func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding { 11316 s.Protocol = &v 11317 return s 11318} 11319 11320// An object representing the network configuration for a task or service. 11321type NetworkConfiguration struct { 11322 _ struct{} `type:"structure"` 11323 11324 // The VPC subnets and security groups associated with a task. 11325 // 11326 // All specified subnets and security groups must be from the same VPC. 11327 AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"` 11328} 11329 11330// String returns the string representation 11331func (s NetworkConfiguration) String() string { 11332 return awsutil.Prettify(s) 11333} 11334 11335// GoString returns the string representation 11336func (s NetworkConfiguration) GoString() string { 11337 return s.String() 11338} 11339 11340// Validate inspects the fields of the type to determine if they are valid. 11341func (s *NetworkConfiguration) Validate() error { 11342 invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"} 11343 if s.AwsvpcConfiguration != nil { 11344 if err := s.AwsvpcConfiguration.Validate(); err != nil { 11345 invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams)) 11346 } 11347 } 11348 11349 if invalidParams.Len() > 0 { 11350 return invalidParams 11351 } 11352 return nil 11353} 11354 11355// SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value. 11356func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration { 11357 s.AwsvpcConfiguration = v 11358 return s 11359} 11360 11361// An object representing the elastic network interface for tasks that use the 11362// awsvpc network mode. 11363type NetworkInterface struct { 11364 _ struct{} `type:"structure"` 11365 11366 // The attachment ID for the network interface. 11367 AttachmentId *string `locationName:"attachmentId" type:"string"` 11368 11369 // The private IPv6 address for the network interface. 11370 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 11371 11372 // The private IPv4 address for the network interface. 11373 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 11374} 11375 11376// String returns the string representation 11377func (s NetworkInterface) String() string { 11378 return awsutil.Prettify(s) 11379} 11380 11381// GoString returns the string representation 11382func (s NetworkInterface) GoString() string { 11383 return s.String() 11384} 11385 11386// SetAttachmentId sets the AttachmentId field's value. 11387func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 11388 s.AttachmentId = &v 11389 return s 11390} 11391 11392// SetIpv6Address sets the Ipv6Address field's value. 11393func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 11394 s.Ipv6Address = &v 11395 return s 11396} 11397 11398// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 11399func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 11400 s.PrivateIpv4Address = &v 11401 return s 11402} 11403 11404// An object representing a constraint on task placement. For more information, 11405// see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 11406// in the Amazon Elastic Container Service Developer Guide. 11407// 11408// If you are using the Fargate launch type, task placement constraints are 11409// not supported. 11410type PlacementConstraint struct { 11411 _ struct{} `type:"structure"` 11412 11413 // A cluster query language expression to apply to the constraint. You cannot 11414 // specify an expression if the constraint type is distinctInstance. For more 11415 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 11416 // in the Amazon Elastic Container Service Developer Guide. 11417 Expression *string `locationName:"expression" type:"string"` 11418 11419 // The type of constraint. Use distinctInstance to ensure that each task in 11420 // a particular group is running on a different container instance. Use memberOf 11421 // to restrict the selection to a group of valid candidates. 11422 Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"` 11423} 11424 11425// String returns the string representation 11426func (s PlacementConstraint) String() string { 11427 return awsutil.Prettify(s) 11428} 11429 11430// GoString returns the string representation 11431func (s PlacementConstraint) GoString() string { 11432 return s.String() 11433} 11434 11435// SetExpression sets the Expression field's value. 11436func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint { 11437 s.Expression = &v 11438 return s 11439} 11440 11441// SetType sets the Type field's value. 11442func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { 11443 s.Type = &v 11444 return s 11445} 11446 11447// The task placement strategy for a task or service. For more information, 11448// see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 11449// in the Amazon Elastic Container Service Developer Guide. 11450type PlacementStrategy struct { 11451 _ struct{} `type:"structure"` 11452 11453 // The field to apply the placement strategy against. For the spread placement 11454 // strategy, valid values are instanceId (or host, which has the same effect), 11455 // or any platform or custom attribute that is applied to a container instance, 11456 // such as attribute:ecs.availability-zone. For the binpack placement strategy, 11457 // valid values are cpu and memory. For the random placement strategy, this 11458 // field is not used. 11459 Field *string `locationName:"field" type:"string"` 11460 11461 // The type of placement strategy. The random placement strategy randomly places 11462 // tasks on available candidates. The spread placement strategy spreads placement 11463 // across available candidates evenly based on the field parameter. The binpack 11464 // strategy places tasks on available candidates that have the least available 11465 // amount of the resource that is specified with the field parameter. For example, 11466 // if you binpack on memory, a task is placed on the instance with the least 11467 // amount of remaining memory (but still enough to run the task). 11468 Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"` 11469} 11470 11471// String returns the string representation 11472func (s PlacementStrategy) String() string { 11473 return awsutil.Prettify(s) 11474} 11475 11476// GoString returns the string representation 11477func (s PlacementStrategy) GoString() string { 11478 return s.String() 11479} 11480 11481// SetField sets the Field field's value. 11482func (s *PlacementStrategy) SetField(v string) *PlacementStrategy { 11483 s.Field = &v 11484 return s 11485} 11486 11487// SetType sets the Type field's value. 11488func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { 11489 s.Type = &v 11490 return s 11491} 11492 11493// The devices that are available on the container instance. The only supported 11494// device type is a GPU. 11495type PlatformDevice struct { 11496 _ struct{} `type:"structure"` 11497 11498 // The ID for the GPU(s) on the container instance. The available GPU IDs can 11499 // also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json 11500 // file. 11501 // 11502 // Id is a required field 11503 Id *string `locationName:"id" type:"string" required:"true"` 11504 11505 // The type of device that is available on the container instance. The only 11506 // supported value is GPU. 11507 // 11508 // Type is a required field 11509 Type *string `locationName:"type" type:"string" required:"true" enum:"PlatformDeviceType"` 11510} 11511 11512// String returns the string representation 11513func (s PlatformDevice) String() string { 11514 return awsutil.Prettify(s) 11515} 11516 11517// GoString returns the string representation 11518func (s PlatformDevice) GoString() string { 11519 return s.String() 11520} 11521 11522// Validate inspects the fields of the type to determine if they are valid. 11523func (s *PlatformDevice) Validate() error { 11524 invalidParams := request.ErrInvalidParams{Context: "PlatformDevice"} 11525 if s.Id == nil { 11526 invalidParams.Add(request.NewErrParamRequired("Id")) 11527 } 11528 if s.Type == nil { 11529 invalidParams.Add(request.NewErrParamRequired("Type")) 11530 } 11531 11532 if invalidParams.Len() > 0 { 11533 return invalidParams 11534 } 11535 return nil 11536} 11537 11538// SetId sets the Id field's value. 11539func (s *PlatformDevice) SetId(v string) *PlatformDevice { 11540 s.Id = &v 11541 return s 11542} 11543 11544// SetType sets the Type field's value. 11545func (s *PlatformDevice) SetType(v string) *PlatformDevice { 11546 s.Type = &v 11547 return s 11548} 11549 11550// Port mappings allow containers to access ports on the host container instance 11551// to send or receive traffic. Port mappings are specified as part of the container 11552// definition. 11553// 11554// If you are using containers in a task with the awsvpc or host network mode, 11555// exposed ports should be specified using containerPort. The hostPort can be 11556// left blank or it must be the same value as the containerPort. 11557// 11558// After a task reaches the RUNNING status, manual and automatic host and container 11559// port assignments are visible in the networkBindings section of DescribeTasks 11560// API responses. 11561type PortMapping struct { 11562 _ struct{} `type:"structure"` 11563 11564 // The port number on the container that is bound to the user-specified or automatically 11565 // assigned host port. 11566 // 11567 // If you are using containers in a task with the awsvpc or host network mode, 11568 // exposed ports should be specified using containerPort. 11569 // 11570 // If you are using containers in a task with the bridge network mode and you 11571 // specify a container port and not a host port, your container automatically 11572 // receives a host port in the ephemeral port range. For more information, see 11573 // hostPort. Port mappings that are automatically assigned in this way do not 11574 // count toward the 100 reserved ports limit of a container instance. 11575 // 11576 // You cannot expose the same container port for multiple protocols. An error 11577 // will be returned if this is attempted. 11578 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 11579 11580 // The port number on the container instance to reserve for your container. 11581 // 11582 // If you are using containers in a task with the awsvpc or host network mode, 11583 // the hostPort can either be left blank or set to the same value as the containerPort. 11584 // 11585 // If you are using containers in a task with the bridge network mode, you can 11586 // specify a non-reserved host port for your container port mapping, or you 11587 // can omit the hostPort (or set it to 0) while specifying a containerPort and 11588 // your container automatically receives a port in the ephemeral port range 11589 // for your container instance operating system and Docker version. 11590 // 11591 // The default ephemeral port range for Docker version 1.6.0 and later is listed 11592 // on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel 11593 // parameter is unavailable, the default ephemeral port range from 49153 through 11594 // 65535 is used. Do not attempt to specify a host port in the ephemeral port 11595 // range as these are reserved for automatic assignment. In general, ports below 11596 // 32768 are outside of the ephemeral port range. 11597 // 11598 // The default ephemeral port range from 49153 through 65535 is always used 11599 // for Docker versions before 1.6.0. 11600 // 11601 // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, 11602 // and the Amazon ECS container agent ports 51678-51680. Any host port that 11603 // was previously specified in a running task is also reserved while the task 11604 // is running (after a task stops, the host port is released). The current reserved 11605 // ports are displayed in the remainingResources of DescribeContainerInstances 11606 // output. A container instance can have up to 100 reserved ports at a time, 11607 // including the default reserved ports. Automatically assigned ports don't 11608 // count toward the 100 reserved ports limit. 11609 HostPort *int64 `locationName:"hostPort" type:"integer"` 11610 11611 // The protocol used for the port mapping. Valid values are tcp and udp. The 11612 // default is tcp. 11613 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 11614} 11615 11616// String returns the string representation 11617func (s PortMapping) String() string { 11618 return awsutil.Prettify(s) 11619} 11620 11621// GoString returns the string representation 11622func (s PortMapping) GoString() string { 11623 return s.String() 11624} 11625 11626// SetContainerPort sets the ContainerPort field's value. 11627func (s *PortMapping) SetContainerPort(v int64) *PortMapping { 11628 s.ContainerPort = &v 11629 return s 11630} 11631 11632// SetHostPort sets the HostPort field's value. 11633func (s *PortMapping) SetHostPort(v int64) *PortMapping { 11634 s.HostPort = &v 11635 return s 11636} 11637 11638// SetProtocol sets the Protocol field's value. 11639func (s *PortMapping) SetProtocol(v string) *PortMapping { 11640 s.Protocol = &v 11641 return s 11642} 11643 11644// The configuration details for the App Mesh proxy. 11645// 11646// For tasks using the EC2 launch type, the container instances require at least 11647// version 1.26.0 of the container agent and at least version 1.26.0-1 of the 11648// ecs-init package to enable a proxy configuration. If your container instances 11649// are launched from the Amazon ECS-optimized AMI version 20190301 or later, 11650// then they contain the required versions of the container agent and ecs-init. 11651// For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 11652// in the Amazon Elastic Container Service Developer Guide. 11653// 11654// For tasks using the Fargate launch type, the task or service requires platform 11655// version 1.3.0 or later. 11656type ProxyConfiguration struct { 11657 _ struct{} `type:"structure"` 11658 11659 // The name of the container that will serve as the App Mesh proxy. 11660 // 11661 // ContainerName is a required field 11662 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 11663 11664 // The set of network configuration parameters to provide the Container Network 11665 // Interface (CNI) plugin, specified as key-value pairs. 11666 // 11667 // * IgnoredUID - (Required) The user ID (UID) of the proxy container as 11668 // defined by the user parameter in a container definition. This is used 11669 // to ensure the proxy ignores its own traffic. If IgnoredGID is specified, 11670 // this field can be empty. 11671 // 11672 // * IgnoredGID - (Required) The group ID (GID) of the proxy container as 11673 // defined by the user parameter in a container definition. This is used 11674 // to ensure the proxy ignores its own traffic. If IgnoredUID is specified, 11675 // this field can be empty. 11676 // 11677 // * AppPorts - (Required) The list of ports that the application uses. Network 11678 // traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort. 11679 // 11680 // * ProxyIngressPort - (Required) Specifies the port that incoming traffic 11681 // to the AppPorts is directed to. 11682 // 11683 // * ProxyEgressPort - (Required) Specifies the port that outgoing traffic 11684 // from the AppPorts is directed to. 11685 // 11686 // * EgressIgnoredPorts - (Required) The egress traffic going to the specified 11687 // ports is ignored and not redirected to the ProxyEgressPort. It can be 11688 // an empty list. 11689 // 11690 // * EgressIgnoredIPs - (Required) The egress traffic going to the specified 11691 // IP addresses is ignored and not redirected to the ProxyEgressPort. It 11692 // can be an empty list. 11693 Properties []*KeyValuePair `locationName:"properties" type:"list"` 11694 11695 // The proxy type. The only supported value is APPMESH. 11696 Type *string `locationName:"type" type:"string" enum:"ProxyConfigurationType"` 11697} 11698 11699// String returns the string representation 11700func (s ProxyConfiguration) String() string { 11701 return awsutil.Prettify(s) 11702} 11703 11704// GoString returns the string representation 11705func (s ProxyConfiguration) GoString() string { 11706 return s.String() 11707} 11708 11709// Validate inspects the fields of the type to determine if they are valid. 11710func (s *ProxyConfiguration) Validate() error { 11711 invalidParams := request.ErrInvalidParams{Context: "ProxyConfiguration"} 11712 if s.ContainerName == nil { 11713 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 11714 } 11715 11716 if invalidParams.Len() > 0 { 11717 return invalidParams 11718 } 11719 return nil 11720} 11721 11722// SetContainerName sets the ContainerName field's value. 11723func (s *ProxyConfiguration) SetContainerName(v string) *ProxyConfiguration { 11724 s.ContainerName = &v 11725 return s 11726} 11727 11728// SetProperties sets the Properties field's value. 11729func (s *ProxyConfiguration) SetProperties(v []*KeyValuePair) *ProxyConfiguration { 11730 s.Properties = v 11731 return s 11732} 11733 11734// SetType sets the Type field's value. 11735func (s *ProxyConfiguration) SetType(v string) *ProxyConfiguration { 11736 s.Type = &v 11737 return s 11738} 11739 11740type PutAccountSettingDefaultInput struct { 11741 _ struct{} `type:"structure"` 11742 11743 // The resource name for which to modify the account setting. If serviceLongArnFormat 11744 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 11745 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 11746 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 11747 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 11748 // the ENI limit for your Amazon ECS container instances is affected. If containerInsights 11749 // is specified, the default setting for CloudWatch Container Insights for your 11750 // clusters is affected. 11751 // 11752 // Name is a required field 11753 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 11754 11755 // The account setting value for the specified principal ARN. Accepted values 11756 // are enabled and disabled. 11757 // 11758 // Value is a required field 11759 Value *string `locationName:"value" type:"string" required:"true"` 11760} 11761 11762// String returns the string representation 11763func (s PutAccountSettingDefaultInput) String() string { 11764 return awsutil.Prettify(s) 11765} 11766 11767// GoString returns the string representation 11768func (s PutAccountSettingDefaultInput) GoString() string { 11769 return s.String() 11770} 11771 11772// Validate inspects the fields of the type to determine if they are valid. 11773func (s *PutAccountSettingDefaultInput) Validate() error { 11774 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingDefaultInput"} 11775 if s.Name == nil { 11776 invalidParams.Add(request.NewErrParamRequired("Name")) 11777 } 11778 if s.Value == nil { 11779 invalidParams.Add(request.NewErrParamRequired("Value")) 11780 } 11781 11782 if invalidParams.Len() > 0 { 11783 return invalidParams 11784 } 11785 return nil 11786} 11787 11788// SetName sets the Name field's value. 11789func (s *PutAccountSettingDefaultInput) SetName(v string) *PutAccountSettingDefaultInput { 11790 s.Name = &v 11791 return s 11792} 11793 11794// SetValue sets the Value field's value. 11795func (s *PutAccountSettingDefaultInput) SetValue(v string) *PutAccountSettingDefaultInput { 11796 s.Value = &v 11797 return s 11798} 11799 11800type PutAccountSettingDefaultOutput struct { 11801 _ struct{} `type:"structure"` 11802 11803 // The current account setting for a resource. 11804 Setting *Setting `locationName:"setting" type:"structure"` 11805} 11806 11807// String returns the string representation 11808func (s PutAccountSettingDefaultOutput) String() string { 11809 return awsutil.Prettify(s) 11810} 11811 11812// GoString returns the string representation 11813func (s PutAccountSettingDefaultOutput) GoString() string { 11814 return s.String() 11815} 11816 11817// SetSetting sets the Setting field's value. 11818func (s *PutAccountSettingDefaultOutput) SetSetting(v *Setting) *PutAccountSettingDefaultOutput { 11819 s.Setting = v 11820 return s 11821} 11822 11823type PutAccountSettingInput struct { 11824 _ struct{} `type:"structure"` 11825 11826 // The Amazon ECS resource name for which to modify the account setting. If 11827 // serviceLongArnFormat is specified, the ARN for your Amazon ECS services is 11828 // affected. If taskLongArnFormat is specified, the ARN and resource ID for 11829 // your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, 11830 // the ARN and resource ID for your Amazon ECS container instances is affected. 11831 // If awsvpcTrunking is specified, the elastic network interface (ENI) limit 11832 // for your Amazon ECS container instances is affected. If containerInsights 11833 // is specified, the default setting for CloudWatch Container Insights for your 11834 // clusters is affected. 11835 // 11836 // Name is a required field 11837 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 11838 11839 // The ARN of the principal, which can be an IAM user, IAM role, or the root 11840 // user. If you specify the root user, it modifies the account setting for all 11841 // IAM users, IAM roles, and the root user of the account unless an IAM user 11842 // or role explicitly overrides these settings. If this field is omitted, the 11843 // setting is changed only for the authenticated user. 11844 PrincipalArn *string `locationName:"principalArn" type:"string"` 11845 11846 // The account setting value for the specified principal ARN. Accepted values 11847 // are enabled and disabled. 11848 // 11849 // Value is a required field 11850 Value *string `locationName:"value" type:"string" required:"true"` 11851} 11852 11853// String returns the string representation 11854func (s PutAccountSettingInput) String() string { 11855 return awsutil.Prettify(s) 11856} 11857 11858// GoString returns the string representation 11859func (s PutAccountSettingInput) GoString() string { 11860 return s.String() 11861} 11862 11863// Validate inspects the fields of the type to determine if they are valid. 11864func (s *PutAccountSettingInput) Validate() error { 11865 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingInput"} 11866 if s.Name == nil { 11867 invalidParams.Add(request.NewErrParamRequired("Name")) 11868 } 11869 if s.Value == nil { 11870 invalidParams.Add(request.NewErrParamRequired("Value")) 11871 } 11872 11873 if invalidParams.Len() > 0 { 11874 return invalidParams 11875 } 11876 return nil 11877} 11878 11879// SetName sets the Name field's value. 11880func (s *PutAccountSettingInput) SetName(v string) *PutAccountSettingInput { 11881 s.Name = &v 11882 return s 11883} 11884 11885// SetPrincipalArn sets the PrincipalArn field's value. 11886func (s *PutAccountSettingInput) SetPrincipalArn(v string) *PutAccountSettingInput { 11887 s.PrincipalArn = &v 11888 return s 11889} 11890 11891// SetValue sets the Value field's value. 11892func (s *PutAccountSettingInput) SetValue(v string) *PutAccountSettingInput { 11893 s.Value = &v 11894 return s 11895} 11896 11897type PutAccountSettingOutput struct { 11898 _ struct{} `type:"structure"` 11899 11900 // The current account setting for a resource. 11901 Setting *Setting `locationName:"setting" type:"structure"` 11902} 11903 11904// String returns the string representation 11905func (s PutAccountSettingOutput) String() string { 11906 return awsutil.Prettify(s) 11907} 11908 11909// GoString returns the string representation 11910func (s PutAccountSettingOutput) GoString() string { 11911 return s.String() 11912} 11913 11914// SetSetting sets the Setting field's value. 11915func (s *PutAccountSettingOutput) SetSetting(v *Setting) *PutAccountSettingOutput { 11916 s.Setting = v 11917 return s 11918} 11919 11920type PutAttributesInput struct { 11921 _ struct{} `type:"structure"` 11922 11923 // The attributes to apply to your resource. You can specify up to 10 custom 11924 // attributes per resource. You can specify up to 10 attributes in a single 11925 // call. 11926 // 11927 // Attributes is a required field 11928 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 11929 11930 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 11931 // the resource to apply attributes. If you do not specify a cluster, the default 11932 // cluster is assumed. 11933 Cluster *string `locationName:"cluster" type:"string"` 11934} 11935 11936// String returns the string representation 11937func (s PutAttributesInput) String() string { 11938 return awsutil.Prettify(s) 11939} 11940 11941// GoString returns the string representation 11942func (s PutAttributesInput) GoString() string { 11943 return s.String() 11944} 11945 11946// Validate inspects the fields of the type to determine if they are valid. 11947func (s *PutAttributesInput) Validate() error { 11948 invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} 11949 if s.Attributes == nil { 11950 invalidParams.Add(request.NewErrParamRequired("Attributes")) 11951 } 11952 if s.Attributes != nil { 11953 for i, v := range s.Attributes { 11954 if v == nil { 11955 continue 11956 } 11957 if err := v.Validate(); err != nil { 11958 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 11959 } 11960 } 11961 } 11962 11963 if invalidParams.Len() > 0 { 11964 return invalidParams 11965 } 11966 return nil 11967} 11968 11969// SetAttributes sets the Attributes field's value. 11970func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput { 11971 s.Attributes = v 11972 return s 11973} 11974 11975// SetCluster sets the Cluster field's value. 11976func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput { 11977 s.Cluster = &v 11978 return s 11979} 11980 11981type PutAttributesOutput struct { 11982 _ struct{} `type:"structure"` 11983 11984 // The attributes applied to your resource. 11985 Attributes []*Attribute `locationName:"attributes" type:"list"` 11986} 11987 11988// String returns the string representation 11989func (s PutAttributesOutput) String() string { 11990 return awsutil.Prettify(s) 11991} 11992 11993// GoString returns the string representation 11994func (s PutAttributesOutput) GoString() string { 11995 return s.String() 11996} 11997 11998// SetAttributes sets the Attributes field's value. 11999func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput { 12000 s.Attributes = v 12001 return s 12002} 12003 12004type RegisterContainerInstanceInput struct { 12005 _ struct{} `type:"structure"` 12006 12007 // The container instance attributes that this container instance supports. 12008 Attributes []*Attribute `locationName:"attributes" type:"list"` 12009 12010 // The short name or full Amazon Resource Name (ARN) of the cluster with which 12011 // to register your container instance. If you do not specify a cluster, the 12012 // default cluster is assumed. 12013 Cluster *string `locationName:"cluster" type:"string"` 12014 12015 // The ARN of the container instance (if it was previously registered). 12016 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 12017 12018 // The instance identity document for the EC2 instance to register. This document 12019 // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ 12020 InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` 12021 12022 // The instance identity document signature for the EC2 instance to register. 12023 // This signature can be found by running the following command from the instance: 12024 // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ 12025 InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` 12026 12027 // The devices that are available on the container instance. The only supported 12028 // device type is a GPU. 12029 PlatformDevices []*PlatformDevice `locationName:"platformDevices" type:"list"` 12030 12031 // The metadata that you apply to the container instance to help you categorize 12032 // and organize them. Each tag consists of a key and an optional value, both 12033 // of which you define. 12034 // 12035 // The following basic restrictions apply to tags: 12036 // 12037 // * Maximum number of tags per resource - 50 12038 // 12039 // * For each resource, each tag key must be unique, and each tag key can 12040 // have only one value. 12041 // 12042 // * Maximum key length - 128 Unicode characters in UTF-8 12043 // 12044 // * Maximum value length - 256 Unicode characters in UTF-8 12045 // 12046 // * If your tagging schema is used across multiple services and resources, 12047 // remember that other services may have restrictions on allowed characters. 12048 // Generally allowed characters are: letters, numbers, and spaces representable 12049 // in UTF-8, and the following characters: + - = . _ : / @. 12050 // 12051 // * Tag keys and values are case-sensitive. 12052 // 12053 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 12054 // as a prefix for either keys or values as it is reserved for AWS use. You 12055 // cannot edit or delete tag keys or values with this prefix. Tags with this 12056 // prefix do not count against your tags per resource limit. 12057 Tags []*Tag `locationName:"tags" type:"list"` 12058 12059 // The resources available on the instance. 12060 TotalResources []*Resource `locationName:"totalResources" type:"list"` 12061 12062 // The version information for the Amazon ECS container agent and Docker daemon 12063 // running on the container instance. 12064 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 12065} 12066 12067// String returns the string representation 12068func (s RegisterContainerInstanceInput) String() string { 12069 return awsutil.Prettify(s) 12070} 12071 12072// GoString returns the string representation 12073func (s RegisterContainerInstanceInput) GoString() string { 12074 return s.String() 12075} 12076 12077// Validate inspects the fields of the type to determine if they are valid. 12078func (s *RegisterContainerInstanceInput) Validate() error { 12079 invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} 12080 if s.Attributes != nil { 12081 for i, v := range s.Attributes { 12082 if v == nil { 12083 continue 12084 } 12085 if err := v.Validate(); err != nil { 12086 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 12087 } 12088 } 12089 } 12090 if s.PlatformDevices != nil { 12091 for i, v := range s.PlatformDevices { 12092 if v == nil { 12093 continue 12094 } 12095 if err := v.Validate(); err != nil { 12096 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformDevices", i), err.(request.ErrInvalidParams)) 12097 } 12098 } 12099 } 12100 if s.Tags != nil { 12101 for i, v := range s.Tags { 12102 if v == nil { 12103 continue 12104 } 12105 if err := v.Validate(); err != nil { 12106 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12107 } 12108 } 12109 } 12110 12111 if invalidParams.Len() > 0 { 12112 return invalidParams 12113 } 12114 return nil 12115} 12116 12117// SetAttributes sets the Attributes field's value. 12118func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput { 12119 s.Attributes = v 12120 return s 12121} 12122 12123// SetCluster sets the Cluster field's value. 12124func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput { 12125 s.Cluster = &v 12126 return s 12127} 12128 12129// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 12130func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput { 12131 s.ContainerInstanceArn = &v 12132 return s 12133} 12134 12135// SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value. 12136func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput { 12137 s.InstanceIdentityDocument = &v 12138 return s 12139} 12140 12141// SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value. 12142func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput { 12143 s.InstanceIdentityDocumentSignature = &v 12144 return s 12145} 12146 12147// SetPlatformDevices sets the PlatformDevices field's value. 12148func (s *RegisterContainerInstanceInput) SetPlatformDevices(v []*PlatformDevice) *RegisterContainerInstanceInput { 12149 s.PlatformDevices = v 12150 return s 12151} 12152 12153// SetTags sets the Tags field's value. 12154func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput { 12155 s.Tags = v 12156 return s 12157} 12158 12159// SetTotalResources sets the TotalResources field's value. 12160func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput { 12161 s.TotalResources = v 12162 return s 12163} 12164 12165// SetVersionInfo sets the VersionInfo field's value. 12166func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput { 12167 s.VersionInfo = v 12168 return s 12169} 12170 12171type RegisterContainerInstanceOutput struct { 12172 _ struct{} `type:"structure"` 12173 12174 // The container instance that was registered. 12175 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 12176} 12177 12178// String returns the string representation 12179func (s RegisterContainerInstanceOutput) String() string { 12180 return awsutil.Prettify(s) 12181} 12182 12183// GoString returns the string representation 12184func (s RegisterContainerInstanceOutput) GoString() string { 12185 return s.String() 12186} 12187 12188// SetContainerInstance sets the ContainerInstance field's value. 12189func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput { 12190 s.ContainerInstance = v 12191 return s 12192} 12193 12194type RegisterTaskDefinitionInput struct { 12195 _ struct{} `type:"structure"` 12196 12197 // A list of container definitions in JSON format that describe the different 12198 // containers that make up your task. 12199 // 12200 // ContainerDefinitions is a required field 12201 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` 12202 12203 // The number of CPU units used by the task. It can be expressed as an integer 12204 // using CPU units, for example 1024, or as a string using vCPUs, for example 12205 // 1 vCPU or 1 vcpu, in a task definition. String values are converted to an 12206 // integer indicating the CPU units when the task definition is registered. 12207 // 12208 // Task-level CPU and memory parameters are ignored for Windows containers. 12209 // We recommend specifying container-level resources for Windows containers. 12210 // 12211 // If you are using the EC2 launch type, this field is optional. Supported values 12212 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 12213 // 12214 // If you are using the Fargate launch type, this field is required and you 12215 // must use one of the following values, which determines your range of supported 12216 // values for the memory parameter: 12217 // 12218 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 12219 // 2048 (2 GB) 12220 // 12221 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 12222 // (3 GB), 4096 (4 GB) 12223 // 12224 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 12225 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 12226 // 12227 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 12228 // (16 GB) in increments of 1024 (1 GB) 12229 // 12230 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 12231 // (30 GB) in increments of 1024 (1 GB) 12232 Cpu *string `locationName:"cpu" type:"string"` 12233 12234 // The Amazon Resource Name (ARN) of the task execution role that the Amazon 12235 // ECS container agent and the Docker daemon can assume. 12236 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 12237 12238 // You must specify a family for a task definition, which allows you to track 12239 // multiple versions of the same task definition. The family is used as a name 12240 // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, 12241 // and hyphens are allowed. 12242 // 12243 // Family is a required field 12244 Family *string `locationName:"family" type:"string" required:"true"` 12245 12246 // The Elastic Inference accelerators to use for the containers in the task. 12247 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 12248 12249 // The IPC resource namespace to use for the containers in the task. The valid 12250 // values are host, task, or none. If host is specified, then all containers 12251 // within the tasks that specified the host IPC mode on the same container instance 12252 // share the same IPC resources with the host Amazon EC2 instance. If task is 12253 // specified, all containers within the specified task share the same IPC resources. 12254 // If none is specified, then IPC resources within the containers of a task 12255 // are private and not shared with other containers in a task or on the container 12256 // instance. If no value is specified, then the IPC resource namespace sharing 12257 // depends on the Docker daemon setting on the container instance. For more 12258 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 12259 // in the Docker run reference. 12260 // 12261 // If the host IPC mode is used, be aware that there is a heightened risk of 12262 // undesired IPC namespace expose. For more information, see Docker security 12263 // (https://docs.docker.com/engine/security/security/). 12264 // 12265 // If you are setting namespaced kernel parameters using systemControls for 12266 // the containers in the task, the following will apply to your IPC resource 12267 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 12268 // in the Amazon Elastic Container Service Developer Guide. 12269 // 12270 // * For tasks that use the host IPC mode, IPC namespace related systemControls 12271 // are not supported. 12272 // 12273 // * For tasks that use the task IPC mode, IPC namespace related systemControls 12274 // will apply to all containers within a task. 12275 // 12276 // This parameter is not supported for Windows containers or tasks using the 12277 // Fargate launch type. 12278 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 12279 12280 // The amount of memory (in MiB) used by the task. It can be expressed as an 12281 // integer using MiB, for example 1024, or as a string using GB, for example 12282 // 1GB or 1 GB, in a task definition. String values are converted to an integer 12283 // indicating the MiB when the task definition is registered. 12284 // 12285 // Task-level CPU and memory parameters are ignored for Windows containers. 12286 // We recommend specifying container-level resources for Windows containers. 12287 // 12288 // If using the EC2 launch type, this field is optional. 12289 // 12290 // If using the Fargate launch type, this field is required and you must use 12291 // one of the following values, which determines your range of supported values 12292 // for the cpu parameter: 12293 // 12294 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 12295 // vCPU) 12296 // 12297 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 12298 // 512 (.5 vCPU) 12299 // 12300 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 12301 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 12302 // 12303 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 12304 // Available cpu values: 2048 (2 vCPU) 12305 // 12306 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 12307 // Available cpu values: 4096 (4 vCPU) 12308 Memory *string `locationName:"memory" type:"string"` 12309 12310 // The Docker networking mode to use for the containers in the task. The valid 12311 // values are none, bridge, awsvpc, and host. The default Docker network mode 12312 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 12313 // is required. If you are using the EC2 launch type, any network mode can be 12314 // used. If the network mode is set to none, you cannot specify port mappings 12315 // in your container definitions, and the tasks containers do not have external 12316 // connectivity. The host and awsvpc network modes offer the highest networking 12317 // performance for containers because they use the EC2 network stack instead 12318 // of the virtualized network stack provided by the bridge mode. 12319 // 12320 // With the host and awsvpc network modes, exposed container ports are mapped 12321 // directly to the corresponding host port (for the host network mode) or the 12322 // attached elastic network interface port (for the awsvpc network mode), so 12323 // you cannot take advantage of dynamic host port mappings. 12324 // 12325 // If the network mode is awsvpc, the task is allocated an elastic network interface, 12326 // and you must specify a NetworkConfiguration value when you create a service 12327 // or run a task with the task definition. For more information, see Task Networking 12328 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 12329 // in the Amazon Elastic Container Service Developer Guide. 12330 // 12331 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 12332 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 12333 // mode. 12334 // 12335 // If the network mode is host, you cannot run multiple instantiations of the 12336 // same task on a single container instance when port mappings are used. 12337 // 12338 // Docker for Windows uses different network modes than Docker for Linux. When 12339 // you register a task definition with Windows containers, you must not specify 12340 // a network mode. If you use the console to register a task definition with 12341 // Windows containers, you must choose the <default> network mode object. 12342 // 12343 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 12344 // in the Docker run reference. 12345 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 12346 12347 // The process namespace to use for the containers in the task. The valid values 12348 // are host or task. If host is specified, then all containers within the tasks 12349 // that specified the host PID mode on the same container instance share the 12350 // same process namespace with the host Amazon EC2 instance. If task is specified, 12351 // all containers within the specified task share the same process namespace. 12352 // If no value is specified, the default is a private namespace. For more information, 12353 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 12354 // in the Docker run reference. 12355 // 12356 // If the host PID mode is used, be aware that there is a heightened risk of 12357 // undesired process namespace expose. For more information, see Docker security 12358 // (https://docs.docker.com/engine/security/security/). 12359 // 12360 // This parameter is not supported for Windows containers or tasks using the 12361 // Fargate launch type. 12362 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 12363 12364 // An array of placement constraint objects to use for the task. You can specify 12365 // a maximum of 10 constraints per task (this limit includes constraints in 12366 // the task definition and those specified at runtime). 12367 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 12368 12369 // The configuration details for the App Mesh proxy. 12370 // 12371 // For tasks using the EC2 launch type, the container instances require at least 12372 // version 1.26.0 of the container agent and at least version 1.26.0-1 of the 12373 // ecs-init package to enable a proxy configuration. If your container instances 12374 // are launched from the Amazon ECS-optimized AMI version 20190301 or later, 12375 // then they contain the required versions of the container agent and ecs-init. 12376 // For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 12377 // in the Amazon Elastic Container Service Developer Guide. 12378 // 12379 // For tasks using the Fargate launch type, the task or service requires platform 12380 // version 1.3.0 or later. 12381 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 12382 12383 // The launch type required by the task. If no value is specified, it defaults 12384 // to EC2. 12385 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 12386 12387 // The metadata that you apply to the task definition to help you categorize 12388 // and organize them. Each tag consists of a key and an optional value, both 12389 // of which you define. 12390 // 12391 // The following basic restrictions apply to tags: 12392 // 12393 // * Maximum number of tags per resource - 50 12394 // 12395 // * For each resource, each tag key must be unique, and each tag key can 12396 // have only one value. 12397 // 12398 // * Maximum key length - 128 Unicode characters in UTF-8 12399 // 12400 // * Maximum value length - 256 Unicode characters in UTF-8 12401 // 12402 // * If your tagging schema is used across multiple services and resources, 12403 // remember that other services may have restrictions on allowed characters. 12404 // Generally allowed characters are: letters, numbers, and spaces representable 12405 // in UTF-8, and the following characters: + - = . _ : / @. 12406 // 12407 // * Tag keys and values are case-sensitive. 12408 // 12409 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 12410 // as a prefix for either keys or values as it is reserved for AWS use. You 12411 // cannot edit or delete tag keys or values with this prefix. Tags with this 12412 // prefix do not count against your tags per resource limit. 12413 Tags []*Tag `locationName:"tags" type:"list"` 12414 12415 // The short name or full Amazon Resource Name (ARN) of the IAM role that containers 12416 // in this task can assume. All containers in this task are granted the permissions 12417 // that are specified in this role. For more information, see IAM Roles for 12418 // Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 12419 // in the Amazon Elastic Container Service Developer Guide. 12420 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 12421 12422 // A list of volume definitions in JSON format that containers in your task 12423 // may use. 12424 Volumes []*Volume `locationName:"volumes" type:"list"` 12425} 12426 12427// String returns the string representation 12428func (s RegisterTaskDefinitionInput) String() string { 12429 return awsutil.Prettify(s) 12430} 12431 12432// GoString returns the string representation 12433func (s RegisterTaskDefinitionInput) GoString() string { 12434 return s.String() 12435} 12436 12437// Validate inspects the fields of the type to determine if they are valid. 12438func (s *RegisterTaskDefinitionInput) Validate() error { 12439 invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} 12440 if s.ContainerDefinitions == nil { 12441 invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) 12442 } 12443 if s.Family == nil { 12444 invalidParams.Add(request.NewErrParamRequired("Family")) 12445 } 12446 if s.ContainerDefinitions != nil { 12447 for i, v := range s.ContainerDefinitions { 12448 if v == nil { 12449 continue 12450 } 12451 if err := v.Validate(); err != nil { 12452 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) 12453 } 12454 } 12455 } 12456 if s.InferenceAccelerators != nil { 12457 for i, v := range s.InferenceAccelerators { 12458 if v == nil { 12459 continue 12460 } 12461 if err := v.Validate(); err != nil { 12462 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InferenceAccelerators", i), err.(request.ErrInvalidParams)) 12463 } 12464 } 12465 } 12466 if s.ProxyConfiguration != nil { 12467 if err := s.ProxyConfiguration.Validate(); err != nil { 12468 invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) 12469 } 12470 } 12471 if s.Tags != nil { 12472 for i, v := range s.Tags { 12473 if v == nil { 12474 continue 12475 } 12476 if err := v.Validate(); err != nil { 12477 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12478 } 12479 } 12480 } 12481 12482 if invalidParams.Len() > 0 { 12483 return invalidParams 12484 } 12485 return nil 12486} 12487 12488// SetContainerDefinitions sets the ContainerDefinitions field's value. 12489func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput { 12490 s.ContainerDefinitions = v 12491 return s 12492} 12493 12494// SetCpu sets the Cpu field's value. 12495func (s *RegisterTaskDefinitionInput) SetCpu(v string) *RegisterTaskDefinitionInput { 12496 s.Cpu = &v 12497 return s 12498} 12499 12500// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 12501func (s *RegisterTaskDefinitionInput) SetExecutionRoleArn(v string) *RegisterTaskDefinitionInput { 12502 s.ExecutionRoleArn = &v 12503 return s 12504} 12505 12506// SetFamily sets the Family field's value. 12507func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput { 12508 s.Family = &v 12509 return s 12510} 12511 12512// SetInferenceAccelerators sets the InferenceAccelerators field's value. 12513func (s *RegisterTaskDefinitionInput) SetInferenceAccelerators(v []*InferenceAccelerator) *RegisterTaskDefinitionInput { 12514 s.InferenceAccelerators = v 12515 return s 12516} 12517 12518// SetIpcMode sets the IpcMode field's value. 12519func (s *RegisterTaskDefinitionInput) SetIpcMode(v string) *RegisterTaskDefinitionInput { 12520 s.IpcMode = &v 12521 return s 12522} 12523 12524// SetMemory sets the Memory field's value. 12525func (s *RegisterTaskDefinitionInput) SetMemory(v string) *RegisterTaskDefinitionInput { 12526 s.Memory = &v 12527 return s 12528} 12529 12530// SetNetworkMode sets the NetworkMode field's value. 12531func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput { 12532 s.NetworkMode = &v 12533 return s 12534} 12535 12536// SetPidMode sets the PidMode field's value. 12537func (s *RegisterTaskDefinitionInput) SetPidMode(v string) *RegisterTaskDefinitionInput { 12538 s.PidMode = &v 12539 return s 12540} 12541 12542// SetPlacementConstraints sets the PlacementConstraints field's value. 12543func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput { 12544 s.PlacementConstraints = v 12545 return s 12546} 12547 12548// SetProxyConfiguration sets the ProxyConfiguration field's value. 12549func (s *RegisterTaskDefinitionInput) SetProxyConfiguration(v *ProxyConfiguration) *RegisterTaskDefinitionInput { 12550 s.ProxyConfiguration = v 12551 return s 12552} 12553 12554// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 12555func (s *RegisterTaskDefinitionInput) SetRequiresCompatibilities(v []*string) *RegisterTaskDefinitionInput { 12556 s.RequiresCompatibilities = v 12557 return s 12558} 12559 12560// SetTags sets the Tags field's value. 12561func (s *RegisterTaskDefinitionInput) SetTags(v []*Tag) *RegisterTaskDefinitionInput { 12562 s.Tags = v 12563 return s 12564} 12565 12566// SetTaskRoleArn sets the TaskRoleArn field's value. 12567func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput { 12568 s.TaskRoleArn = &v 12569 return s 12570} 12571 12572// SetVolumes sets the Volumes field's value. 12573func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput { 12574 s.Volumes = v 12575 return s 12576} 12577 12578type RegisterTaskDefinitionOutput struct { 12579 _ struct{} `type:"structure"` 12580 12581 // The list of tags associated with the task definition. 12582 Tags []*Tag `locationName:"tags" type:"list"` 12583 12584 // The full description of the registered task definition. 12585 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 12586} 12587 12588// String returns the string representation 12589func (s RegisterTaskDefinitionOutput) String() string { 12590 return awsutil.Prettify(s) 12591} 12592 12593// GoString returns the string representation 12594func (s RegisterTaskDefinitionOutput) GoString() string { 12595 return s.String() 12596} 12597 12598// SetTags sets the Tags field's value. 12599func (s *RegisterTaskDefinitionOutput) SetTags(v []*Tag) *RegisterTaskDefinitionOutput { 12600 s.Tags = v 12601 return s 12602} 12603 12604// SetTaskDefinition sets the TaskDefinition field's value. 12605func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput { 12606 s.TaskDefinition = v 12607 return s 12608} 12609 12610// The repository credentials for private registry authentication. 12611type RepositoryCredentials struct { 12612 _ struct{} `type:"structure"` 12613 12614 // The Amazon Resource Name (ARN) of the secret containing the private repository 12615 // credentials. 12616 // 12617 // When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret 12618 // exists in the same Region as the task that you are launching then you can 12619 // use either the full ARN or the name of the secret. When you are using the 12620 // AWS Management Console, you must specify the full ARN of the secret. 12621 // 12622 // CredentialsParameter is a required field 12623 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 12624} 12625 12626// String returns the string representation 12627func (s RepositoryCredentials) String() string { 12628 return awsutil.Prettify(s) 12629} 12630 12631// GoString returns the string representation 12632func (s RepositoryCredentials) GoString() string { 12633 return s.String() 12634} 12635 12636// Validate inspects the fields of the type to determine if they are valid. 12637func (s *RepositoryCredentials) Validate() error { 12638 invalidParams := request.ErrInvalidParams{Context: "RepositoryCredentials"} 12639 if s.CredentialsParameter == nil { 12640 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 12641 } 12642 12643 if invalidParams.Len() > 0 { 12644 return invalidParams 12645 } 12646 return nil 12647} 12648 12649// SetCredentialsParameter sets the CredentialsParameter field's value. 12650func (s *RepositoryCredentials) SetCredentialsParameter(v string) *RepositoryCredentials { 12651 s.CredentialsParameter = &v 12652 return s 12653} 12654 12655// Describes the resources available for a container instance. 12656type Resource struct { 12657 _ struct{} `type:"structure"` 12658 12659 // When the doubleValue type is set, the value of the resource must be a double 12660 // precision floating-point type. 12661 DoubleValue *float64 `locationName:"doubleValue" type:"double"` 12662 12663 // When the integerValue type is set, the value of the resource must be an integer. 12664 IntegerValue *int64 `locationName:"integerValue" type:"integer"` 12665 12666 // When the longValue type is set, the value of the resource must be an extended 12667 // precision floating-point type. 12668 LongValue *int64 `locationName:"longValue" type:"long"` 12669 12670 // The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined 12671 // resource. 12672 Name *string `locationName:"name" type:"string"` 12673 12674 // When the stringSetValue type is set, the value of the resource must be a 12675 // string type. 12676 StringSetValue []*string `locationName:"stringSetValue" type:"list"` 12677 12678 // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. 12679 Type *string `locationName:"type" type:"string"` 12680} 12681 12682// String returns the string representation 12683func (s Resource) String() string { 12684 return awsutil.Prettify(s) 12685} 12686 12687// GoString returns the string representation 12688func (s Resource) GoString() string { 12689 return s.String() 12690} 12691 12692// SetDoubleValue sets the DoubleValue field's value. 12693func (s *Resource) SetDoubleValue(v float64) *Resource { 12694 s.DoubleValue = &v 12695 return s 12696} 12697 12698// SetIntegerValue sets the IntegerValue field's value. 12699func (s *Resource) SetIntegerValue(v int64) *Resource { 12700 s.IntegerValue = &v 12701 return s 12702} 12703 12704// SetLongValue sets the LongValue field's value. 12705func (s *Resource) SetLongValue(v int64) *Resource { 12706 s.LongValue = &v 12707 return s 12708} 12709 12710// SetName sets the Name field's value. 12711func (s *Resource) SetName(v string) *Resource { 12712 s.Name = &v 12713 return s 12714} 12715 12716// SetStringSetValue sets the StringSetValue field's value. 12717func (s *Resource) SetStringSetValue(v []*string) *Resource { 12718 s.StringSetValue = v 12719 return s 12720} 12721 12722// SetType sets the Type field's value. 12723func (s *Resource) SetType(v string) *Resource { 12724 s.Type = &v 12725 return s 12726} 12727 12728// The type and amount of a resource to assign to a container. The supported 12729// resource types are GPUs and Elastic Inference accelerators. For more information, 12730// see Working with GPUs on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 12731// or Working with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 12732// in the Amazon Elastic Container Service Developer Guide 12733type ResourceRequirement struct { 12734 _ struct{} `type:"structure"` 12735 12736 // The type of resource to assign to a container. The supported values are GPU 12737 // or InferenceAccelerator. 12738 // 12739 // Type is a required field 12740 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 12741 12742 // The value for the specified resource type. 12743 // 12744 // If the GPU type is used, the value is the number of physical GPUs the Amazon 12745 // ECS container agent will reserve for the container. The number of GPUs reserved 12746 // for all containers in a task should not exceed the number of available GPUs 12747 // on the container instance the task is launched on. 12748 // 12749 // If the InferenceAccelerator type is used, the value should match the deviceName 12750 // for an InferenceAccelerator specified in a task definition. 12751 // 12752 // Value is a required field 12753 Value *string `locationName:"value" type:"string" required:"true"` 12754} 12755 12756// String returns the string representation 12757func (s ResourceRequirement) String() string { 12758 return awsutil.Prettify(s) 12759} 12760 12761// GoString returns the string representation 12762func (s ResourceRequirement) GoString() string { 12763 return s.String() 12764} 12765 12766// Validate inspects the fields of the type to determine if they are valid. 12767func (s *ResourceRequirement) Validate() error { 12768 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 12769 if s.Type == nil { 12770 invalidParams.Add(request.NewErrParamRequired("Type")) 12771 } 12772 if s.Value == nil { 12773 invalidParams.Add(request.NewErrParamRequired("Value")) 12774 } 12775 12776 if invalidParams.Len() > 0 { 12777 return invalidParams 12778 } 12779 return nil 12780} 12781 12782// SetType sets the Type field's value. 12783func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 12784 s.Type = &v 12785 return s 12786} 12787 12788// SetValue sets the Value field's value. 12789func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 12790 s.Value = &v 12791 return s 12792} 12793 12794type RunTaskInput struct { 12795 _ struct{} `type:"structure"` 12796 12797 // The short name or full Amazon Resource Name (ARN) of the cluster on which 12798 // to run your task. If you do not specify a cluster, the default cluster is 12799 // assumed. 12800 Cluster *string `locationName:"cluster" type:"string"` 12801 12802 // The number of instantiations of the specified task to place on your cluster. 12803 // You can specify up to 10 tasks per call. 12804 Count *int64 `locationName:"count" type:"integer"` 12805 12806 // Specifies whether to enable Amazon ECS managed tags for the task. For more 12807 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 12808 // in the Amazon Elastic Container Service Developer Guide. 12809 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 12810 12811 // The name of the task group to associate with the task. The default value 12812 // is the family name of the task definition (for example, family:my-family-name). 12813 Group *string `locationName:"group" type:"string"` 12814 12815 // The launch type on which to run your task. For more information, see Amazon 12816 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 12817 // in the Amazon Elastic Container Service Developer Guide. 12818 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 12819 12820 // The network configuration for the task. This parameter is required for task 12821 // definitions that use the awsvpc network mode to receive their own elastic 12822 // network interface, and it is not supported for other network modes. For more 12823 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 12824 // in the Amazon Elastic Container Service Developer Guide. 12825 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 12826 12827 // A list of container overrides in JSON format that specify the name of a container 12828 // in the specified task definition and the overrides it should receive. You 12829 // can override the default command for a container (that is specified in the 12830 // task definition or Docker image) with a command override. You can also override 12831 // existing environment variables (that are specified in the task definition 12832 // or Docker image) on a container or add new environment variables to it with 12833 // an environment override. 12834 // 12835 // A total of 8192 characters are allowed for overrides. This limit includes 12836 // the JSON formatting characters of the override structure. 12837 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 12838 12839 // An array of placement constraint objects to use for the task. You can specify 12840 // up to 10 constraints per task (including constraints in the task definition 12841 // and those specified at runtime). 12842 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 12843 12844 // The placement strategy objects to use for the task. You can specify a maximum 12845 // of five strategy rules per task. 12846 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 12847 12848 // The platform version the task should run. A platform version is only specified 12849 // for tasks using the Fargate launch type. If one is not specified, the LATEST 12850 // platform version is used by default. For more information, see AWS Fargate 12851 // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 12852 // in the Amazon Elastic Container Service Developer Guide. 12853 PlatformVersion *string `locationName:"platformVersion" type:"string"` 12854 12855 // Specifies whether to propagate the tags from the task definition to the task. 12856 // If no value is specified, the tags are not propagated. Tags can only be propagated 12857 // to the task during task creation. To add tags to a task after task creation, 12858 // use the TagResource API action. 12859 // 12860 // An error will be received if you specify the SERVICE option when running 12861 // a task. 12862 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 12863 12864 // An optional tag specified when a task is started. For example, if you automatically 12865 // trigger a task to run a batch process job, you could apply a unique identifier 12866 // for that job to your task with the startedBy parameter. You can then identify 12867 // which tasks belong to that job by filtering the results of a ListTasks call 12868 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 12869 // hyphens, and underscores are allowed. 12870 // 12871 // If a task is started by an Amazon ECS service, then the startedBy parameter 12872 // contains the deployment ID of the service that starts it. 12873 StartedBy *string `locationName:"startedBy" type:"string"` 12874 12875 // The metadata that you apply to the task to help you categorize and organize 12876 // them. Each tag consists of a key and an optional value, both of which you 12877 // define. 12878 // 12879 // The following basic restrictions apply to tags: 12880 // 12881 // * Maximum number of tags per resource - 50 12882 // 12883 // * For each resource, each tag key must be unique, and each tag key can 12884 // have only one value. 12885 // 12886 // * Maximum key length - 128 Unicode characters in UTF-8 12887 // 12888 // * Maximum value length - 256 Unicode characters in UTF-8 12889 // 12890 // * If your tagging schema is used across multiple services and resources, 12891 // remember that other services may have restrictions on allowed characters. 12892 // Generally allowed characters are: letters, numbers, and spaces representable 12893 // in UTF-8, and the following characters: + - = . _ : / @. 12894 // 12895 // * Tag keys and values are case-sensitive. 12896 // 12897 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 12898 // as a prefix for either keys or values as it is reserved for AWS use. You 12899 // cannot edit or delete tag keys or values with this prefix. Tags with this 12900 // prefix do not count against your tags per resource limit. 12901 Tags []*Tag `locationName:"tags" type:"list"` 12902 12903 // The family and revision (family:revision) or full ARN of the task definition 12904 // to run. If a revision is not specified, the latest ACTIVE revision is used. 12905 // 12906 // TaskDefinition is a required field 12907 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 12908} 12909 12910// String returns the string representation 12911func (s RunTaskInput) String() string { 12912 return awsutil.Prettify(s) 12913} 12914 12915// GoString returns the string representation 12916func (s RunTaskInput) GoString() string { 12917 return s.String() 12918} 12919 12920// Validate inspects the fields of the type to determine if they are valid. 12921func (s *RunTaskInput) Validate() error { 12922 invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} 12923 if s.TaskDefinition == nil { 12924 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 12925 } 12926 if s.NetworkConfiguration != nil { 12927 if err := s.NetworkConfiguration.Validate(); err != nil { 12928 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 12929 } 12930 } 12931 if s.Overrides != nil { 12932 if err := s.Overrides.Validate(); err != nil { 12933 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 12934 } 12935 } 12936 if s.Tags != nil { 12937 for i, v := range s.Tags { 12938 if v == nil { 12939 continue 12940 } 12941 if err := v.Validate(); err != nil { 12942 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 12943 } 12944 } 12945 } 12946 12947 if invalidParams.Len() > 0 { 12948 return invalidParams 12949 } 12950 return nil 12951} 12952 12953// SetCluster sets the Cluster field's value. 12954func (s *RunTaskInput) SetCluster(v string) *RunTaskInput { 12955 s.Cluster = &v 12956 return s 12957} 12958 12959// SetCount sets the Count field's value. 12960func (s *RunTaskInput) SetCount(v int64) *RunTaskInput { 12961 s.Count = &v 12962 return s 12963} 12964 12965// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 12966func (s *RunTaskInput) SetEnableECSManagedTags(v bool) *RunTaskInput { 12967 s.EnableECSManagedTags = &v 12968 return s 12969} 12970 12971// SetGroup sets the Group field's value. 12972func (s *RunTaskInput) SetGroup(v string) *RunTaskInput { 12973 s.Group = &v 12974 return s 12975} 12976 12977// SetLaunchType sets the LaunchType field's value. 12978func (s *RunTaskInput) SetLaunchType(v string) *RunTaskInput { 12979 s.LaunchType = &v 12980 return s 12981} 12982 12983// SetNetworkConfiguration sets the NetworkConfiguration field's value. 12984func (s *RunTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *RunTaskInput { 12985 s.NetworkConfiguration = v 12986 return s 12987} 12988 12989// SetOverrides sets the Overrides field's value. 12990func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput { 12991 s.Overrides = v 12992 return s 12993} 12994 12995// SetPlacementConstraints sets the PlacementConstraints field's value. 12996func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput { 12997 s.PlacementConstraints = v 12998 return s 12999} 13000 13001// SetPlacementStrategy sets the PlacementStrategy field's value. 13002func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput { 13003 s.PlacementStrategy = v 13004 return s 13005} 13006 13007// SetPlatformVersion sets the PlatformVersion field's value. 13008func (s *RunTaskInput) SetPlatformVersion(v string) *RunTaskInput { 13009 s.PlatformVersion = &v 13010 return s 13011} 13012 13013// SetPropagateTags sets the PropagateTags field's value. 13014func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput { 13015 s.PropagateTags = &v 13016 return s 13017} 13018 13019// SetStartedBy sets the StartedBy field's value. 13020func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { 13021 s.StartedBy = &v 13022 return s 13023} 13024 13025// SetTags sets the Tags field's value. 13026func (s *RunTaskInput) SetTags(v []*Tag) *RunTaskInput { 13027 s.Tags = v 13028 return s 13029} 13030 13031// SetTaskDefinition sets the TaskDefinition field's value. 13032func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput { 13033 s.TaskDefinition = &v 13034 return s 13035} 13036 13037type RunTaskOutput struct { 13038 _ struct{} `type:"structure"` 13039 13040 // Any failures associated with the call. 13041 Failures []*Failure `locationName:"failures" type:"list"` 13042 13043 // A full description of the tasks that were run. The tasks that were successfully 13044 // placed on your cluster are described here. 13045 Tasks []*Task `locationName:"tasks" type:"list"` 13046} 13047 13048// String returns the string representation 13049func (s RunTaskOutput) String() string { 13050 return awsutil.Prettify(s) 13051} 13052 13053// GoString returns the string representation 13054func (s RunTaskOutput) GoString() string { 13055 return s.String() 13056} 13057 13058// SetFailures sets the Failures field's value. 13059func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput { 13060 s.Failures = v 13061 return s 13062} 13063 13064// SetTasks sets the Tasks field's value. 13065func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { 13066 s.Tasks = v 13067 return s 13068} 13069 13070// A floating-point percentage of the desired number of tasks to place and keep 13071// running in the task set. 13072type Scale struct { 13073 _ struct{} `type:"structure"` 13074 13075 // The unit of measure for the scale value. 13076 Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"` 13077 13078 // The value, specified as a percent total of a service's desiredCount, to scale 13079 // the task set. Accepted values are numbers between 0 and 100. 13080 Value *float64 `locationName:"value" type:"double"` 13081} 13082 13083// String returns the string representation 13084func (s Scale) String() string { 13085 return awsutil.Prettify(s) 13086} 13087 13088// GoString returns the string representation 13089func (s Scale) GoString() string { 13090 return s.String() 13091} 13092 13093// SetUnit sets the Unit field's value. 13094func (s *Scale) SetUnit(v string) *Scale { 13095 s.Unit = &v 13096 return s 13097} 13098 13099// SetValue sets the Value field's value. 13100func (s *Scale) SetValue(v float64) *Scale { 13101 s.Value = &v 13102 return s 13103} 13104 13105// An object representing the secret to expose to your container. Secrets can 13106// be exposed to a container in the following ways: 13107// 13108// * To inject sensitive data into your containers as environment variables, 13109// use the secrets container definition parameter. 13110// 13111// * To reference sensitive information in the log configuration of a container, 13112// use the secretOptions container definition parameter. 13113// 13114// For more information, see Specifying Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 13115// in the Amazon Elastic Container Service Developer Guide. 13116type Secret struct { 13117 _ struct{} `type:"structure"` 13118 13119 // The name of the secret. 13120 // 13121 // Name is a required field 13122 Name *string `locationName:"name" type:"string" required:"true"` 13123 13124 // The secret to expose to the container. The supported values are either the 13125 // full ARN of the AWS Secrets Manager secret or the full ARN of the parameter 13126 // in the AWS Systems Manager Parameter Store. 13127 // 13128 // If the AWS Systems Manager Parameter Store parameter exists in the same Region 13129 // as the task you are launching, then you can use either the full ARN or name 13130 // of the parameter. If the parameter exists in a different Region, then the 13131 // full ARN must be specified. 13132 // 13133 // ValueFrom is a required field 13134 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 13135} 13136 13137// String returns the string representation 13138func (s Secret) String() string { 13139 return awsutil.Prettify(s) 13140} 13141 13142// GoString returns the string representation 13143func (s Secret) GoString() string { 13144 return s.String() 13145} 13146 13147// Validate inspects the fields of the type to determine if they are valid. 13148func (s *Secret) Validate() error { 13149 invalidParams := request.ErrInvalidParams{Context: "Secret"} 13150 if s.Name == nil { 13151 invalidParams.Add(request.NewErrParamRequired("Name")) 13152 } 13153 if s.ValueFrom == nil { 13154 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 13155 } 13156 13157 if invalidParams.Len() > 0 { 13158 return invalidParams 13159 } 13160 return nil 13161} 13162 13163// SetName sets the Name field's value. 13164func (s *Secret) SetName(v string) *Secret { 13165 s.Name = &v 13166 return s 13167} 13168 13169// SetValueFrom sets the ValueFrom field's value. 13170func (s *Secret) SetValueFrom(v string) *Secret { 13171 s.ValueFrom = &v 13172 return s 13173} 13174 13175// Details on a service within a cluster 13176type Service struct { 13177 _ struct{} `type:"structure"` 13178 13179 // The Amazon Resource Name (ARN) of the cluster that hosts the service. 13180 ClusterArn *string `locationName:"clusterArn" type:"string"` 13181 13182 // The Unix timestamp for when the service was created. 13183 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 13184 13185 // The principal that created the service. 13186 CreatedBy *string `locationName:"createdBy" type:"string"` 13187 13188 // Optional deployment parameters that control how many tasks run during the 13189 // deployment and the ordering of stopping and starting tasks. 13190 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 13191 13192 // The deployment controller type the service is using. When using the DescribeServices 13193 // API, this field is omitted if the service is using the ECS deployment controller 13194 // type. 13195 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 13196 13197 // The current state of deployments for the service. 13198 Deployments []*Deployment `locationName:"deployments" type:"list"` 13199 13200 // The desired number of instantiations of the task definition to keep running 13201 // on the service. This value is specified when the service is created with 13202 // CreateService, and it can be modified with UpdateService. 13203 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 13204 13205 // Specifies whether to enable Amazon ECS managed tags for the tasks in the 13206 // service. For more information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 13207 // in the Amazon Elastic Container Service Developer Guide. 13208 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 13209 13210 // The event stream for your service. A maximum of 100 of the latest events 13211 // are displayed. 13212 Events []*ServiceEvent `locationName:"events" type:"list"` 13213 13214 // The period of time, in seconds, that the Amazon ECS service scheduler ignores 13215 // unhealthy Elastic Load Balancing target health checks after a task has first 13216 // started. 13217 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 13218 13219 // The launch type on which your service is running. If no value is specified, 13220 // it will default to EC2. Valid values include EC2 and FARGATE. For more information, 13221 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 13222 // in the Amazon Elastic Container Service Developer Guide. 13223 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 13224 13225 // A list of Elastic Load Balancing load balancer objects, containing the load 13226 // balancer name, the container name (as it appears in a container definition), 13227 // and the container port to access from the load balancer. 13228 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 13229 13230 // The VPC subnet and security group configuration for tasks that receive their 13231 // own elastic network interface by using the awsvpc networking mode. 13232 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 13233 13234 // The number of tasks in the cluster that are in the PENDING state. 13235 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 13236 13237 // The placement constraints for the tasks in the service. 13238 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 13239 13240 // The placement strategy that determines how tasks for the service are placed. 13241 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 13242 13243 // The platform version on which to run your service. A platform version is 13244 // only specified for tasks using the Fargate launch type. If one is not specified, 13245 // the LATEST platform version is used by default. For more information, see 13246 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 13247 // in the Amazon Elastic Container Service Developer Guide. 13248 PlatformVersion *string `locationName:"platformVersion" type:"string"` 13249 13250 // Specifies whether to propagate the tags from the task definition or the service 13251 // to the task. If no value is specified, the tags are not propagated. 13252 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 13253 13254 // The ARN of the IAM role associated with the service that allows the Amazon 13255 // ECS container agent to register container instances with an Elastic Load 13256 // Balancing load balancer. 13257 RoleArn *string `locationName:"roleArn" type:"string"` 13258 13259 // The number of tasks in the cluster that are in the RUNNING state. 13260 RunningCount *int64 `locationName:"runningCount" type:"integer"` 13261 13262 // The scheduling strategy to use for the service. For more information, see 13263 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 13264 // 13265 // There are two service scheduler strategies available: 13266 // 13267 // * REPLICA-The replica scheduling strategy places and maintains the desired 13268 // number of tasks across your cluster. By default, the service scheduler 13269 // spreads tasks across Availability Zones. You can use task placement strategies 13270 // and constraints to customize task placement decisions. 13271 // 13272 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 13273 // container instance in your cluster. When you are using this strategy, 13274 // do not specify a desired number of tasks or any task placement strategies. 13275 // Fargate tasks do not support the DAEMON scheduling strategy. 13276 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 13277 13278 // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, 13279 // followed by the Region of the service, the AWS account ID of the service 13280 // owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service. 13281 ServiceArn *string `locationName:"serviceArn" type:"string"` 13282 13283 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 13284 // and hyphens are allowed. Service names must be unique within a cluster, but 13285 // you can have similarly named services in multiple clusters within a Region 13286 // or across multiple Regions. 13287 ServiceName *string `locationName:"serviceName" type:"string"` 13288 13289 // The details of the service discovery registries to assign to this service. 13290 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 13291 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 13292 13293 // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. 13294 Status *string `locationName:"status" type:"string"` 13295 13296 // The metadata that you apply to the service to help you categorize and organize 13297 // them. Each tag consists of a key and an optional value, both of which you 13298 // define. 13299 // 13300 // The following basic restrictions apply to tags: 13301 // 13302 // * Maximum number of tags per resource - 50 13303 // 13304 // * For each resource, each tag key must be unique, and each tag key can 13305 // have only one value. 13306 // 13307 // * Maximum key length - 128 Unicode characters in UTF-8 13308 // 13309 // * Maximum value length - 256 Unicode characters in UTF-8 13310 // 13311 // * If your tagging schema is used across multiple services and resources, 13312 // remember that other services may have restrictions on allowed characters. 13313 // Generally allowed characters are: letters, numbers, and spaces representable 13314 // in UTF-8, and the following characters: + - = . _ : / @. 13315 // 13316 // * Tag keys and values are case-sensitive. 13317 // 13318 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 13319 // as a prefix for either keys or values as it is reserved for AWS use. You 13320 // cannot edit or delete tag keys or values with this prefix. Tags with this 13321 // prefix do not count against your tags per resource limit. 13322 Tags []*Tag `locationName:"tags" type:"list"` 13323 13324 // The task definition to use for tasks in the service. This value is specified 13325 // when the service is created with CreateService, and it can be modified with 13326 // UpdateService. 13327 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 13328 13329 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 13330 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 13331 // desired number of tasks, how many tasks are running, and whether the task 13332 // set serves production traffic. 13333 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 13334} 13335 13336// String returns the string representation 13337func (s Service) String() string { 13338 return awsutil.Prettify(s) 13339} 13340 13341// GoString returns the string representation 13342func (s Service) GoString() string { 13343 return s.String() 13344} 13345 13346// SetClusterArn sets the ClusterArn field's value. 13347func (s *Service) SetClusterArn(v string) *Service { 13348 s.ClusterArn = &v 13349 return s 13350} 13351 13352// SetCreatedAt sets the CreatedAt field's value. 13353func (s *Service) SetCreatedAt(v time.Time) *Service { 13354 s.CreatedAt = &v 13355 return s 13356} 13357 13358// SetCreatedBy sets the CreatedBy field's value. 13359func (s *Service) SetCreatedBy(v string) *Service { 13360 s.CreatedBy = &v 13361 return s 13362} 13363 13364// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 13365func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service { 13366 s.DeploymentConfiguration = v 13367 return s 13368} 13369 13370// SetDeploymentController sets the DeploymentController field's value. 13371func (s *Service) SetDeploymentController(v *DeploymentController) *Service { 13372 s.DeploymentController = v 13373 return s 13374} 13375 13376// SetDeployments sets the Deployments field's value. 13377func (s *Service) SetDeployments(v []*Deployment) *Service { 13378 s.Deployments = v 13379 return s 13380} 13381 13382// SetDesiredCount sets the DesiredCount field's value. 13383func (s *Service) SetDesiredCount(v int64) *Service { 13384 s.DesiredCount = &v 13385 return s 13386} 13387 13388// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 13389func (s *Service) SetEnableECSManagedTags(v bool) *Service { 13390 s.EnableECSManagedTags = &v 13391 return s 13392} 13393 13394// SetEvents sets the Events field's value. 13395func (s *Service) SetEvents(v []*ServiceEvent) *Service { 13396 s.Events = v 13397 return s 13398} 13399 13400// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 13401func (s *Service) SetHealthCheckGracePeriodSeconds(v int64) *Service { 13402 s.HealthCheckGracePeriodSeconds = &v 13403 return s 13404} 13405 13406// SetLaunchType sets the LaunchType field's value. 13407func (s *Service) SetLaunchType(v string) *Service { 13408 s.LaunchType = &v 13409 return s 13410} 13411 13412// SetLoadBalancers sets the LoadBalancers field's value. 13413func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service { 13414 s.LoadBalancers = v 13415 return s 13416} 13417 13418// SetNetworkConfiguration sets the NetworkConfiguration field's value. 13419func (s *Service) SetNetworkConfiguration(v *NetworkConfiguration) *Service { 13420 s.NetworkConfiguration = v 13421 return s 13422} 13423 13424// SetPendingCount sets the PendingCount field's value. 13425func (s *Service) SetPendingCount(v int64) *Service { 13426 s.PendingCount = &v 13427 return s 13428} 13429 13430// SetPlacementConstraints sets the PlacementConstraints field's value. 13431func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service { 13432 s.PlacementConstraints = v 13433 return s 13434} 13435 13436// SetPlacementStrategy sets the PlacementStrategy field's value. 13437func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service { 13438 s.PlacementStrategy = v 13439 return s 13440} 13441 13442// SetPlatformVersion sets the PlatformVersion field's value. 13443func (s *Service) SetPlatformVersion(v string) *Service { 13444 s.PlatformVersion = &v 13445 return s 13446} 13447 13448// SetPropagateTags sets the PropagateTags field's value. 13449func (s *Service) SetPropagateTags(v string) *Service { 13450 s.PropagateTags = &v 13451 return s 13452} 13453 13454// SetRoleArn sets the RoleArn field's value. 13455func (s *Service) SetRoleArn(v string) *Service { 13456 s.RoleArn = &v 13457 return s 13458} 13459 13460// SetRunningCount sets the RunningCount field's value. 13461func (s *Service) SetRunningCount(v int64) *Service { 13462 s.RunningCount = &v 13463 return s 13464} 13465 13466// SetSchedulingStrategy sets the SchedulingStrategy field's value. 13467func (s *Service) SetSchedulingStrategy(v string) *Service { 13468 s.SchedulingStrategy = &v 13469 return s 13470} 13471 13472// SetServiceArn sets the ServiceArn field's value. 13473func (s *Service) SetServiceArn(v string) *Service { 13474 s.ServiceArn = &v 13475 return s 13476} 13477 13478// SetServiceName sets the ServiceName field's value. 13479func (s *Service) SetServiceName(v string) *Service { 13480 s.ServiceName = &v 13481 return s 13482} 13483 13484// SetServiceRegistries sets the ServiceRegistries field's value. 13485func (s *Service) SetServiceRegistries(v []*ServiceRegistry) *Service { 13486 s.ServiceRegistries = v 13487 return s 13488} 13489 13490// SetStatus sets the Status field's value. 13491func (s *Service) SetStatus(v string) *Service { 13492 s.Status = &v 13493 return s 13494} 13495 13496// SetTags sets the Tags field's value. 13497func (s *Service) SetTags(v []*Tag) *Service { 13498 s.Tags = v 13499 return s 13500} 13501 13502// SetTaskDefinition sets the TaskDefinition field's value. 13503func (s *Service) SetTaskDefinition(v string) *Service { 13504 s.TaskDefinition = &v 13505 return s 13506} 13507 13508// SetTaskSets sets the TaskSets field's value. 13509func (s *Service) SetTaskSets(v []*TaskSet) *Service { 13510 s.TaskSets = v 13511 return s 13512} 13513 13514// Details on an event associated with a service. 13515type ServiceEvent struct { 13516 _ struct{} `type:"structure"` 13517 13518 // The Unix timestamp for when the event was triggered. 13519 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 13520 13521 // The ID string of the event. 13522 Id *string `locationName:"id" type:"string"` 13523 13524 // The event message. 13525 Message *string `locationName:"message" type:"string"` 13526} 13527 13528// String returns the string representation 13529func (s ServiceEvent) String() string { 13530 return awsutil.Prettify(s) 13531} 13532 13533// GoString returns the string representation 13534func (s ServiceEvent) GoString() string { 13535 return s.String() 13536} 13537 13538// SetCreatedAt sets the CreatedAt field's value. 13539func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent { 13540 s.CreatedAt = &v 13541 return s 13542} 13543 13544// SetId sets the Id field's value. 13545func (s *ServiceEvent) SetId(v string) *ServiceEvent { 13546 s.Id = &v 13547 return s 13548} 13549 13550// SetMessage sets the Message field's value. 13551func (s *ServiceEvent) SetMessage(v string) *ServiceEvent { 13552 s.Message = &v 13553 return s 13554} 13555 13556// Details of the service registry. 13557type ServiceRegistry struct { 13558 _ struct{} `type:"structure"` 13559 13560 // The container name value, already specified in the task definition, to be 13561 // used for your service discovery service. If the task definition that your 13562 // service task specifies uses the bridge or host network mode, you must specify 13563 // a containerName and containerPort combination from the task definition. If 13564 // the task definition that your service task specifies uses the awsvpc network 13565 // mode and a type SRV DNS record is used, you must specify either a containerName 13566 // and containerPort combination or a port value, but not both. 13567 ContainerName *string `locationName:"containerName" type:"string"` 13568 13569 // The port value, already specified in the task definition, to be used for 13570 // your service discovery service. If the task definition your service task 13571 // specifies uses the bridge or host network mode, you must specify a containerName 13572 // and containerPort combination from the task definition. If the task definition 13573 // your service task specifies uses the awsvpc network mode and a type SRV DNS 13574 // record is used, you must specify either a containerName and containerPort 13575 // combination or a port value, but not both. 13576 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 13577 13578 // The port value used if your service discovery service specified an SRV record. 13579 // This field may be used if both the awsvpc network mode and SRV records are 13580 // used. 13581 Port *int64 `locationName:"port" type:"integer"` 13582 13583 // The Amazon Resource Name (ARN) of the service registry. The currently supported 13584 // service registry is AWS Cloud Map. For more information, see CreateService 13585 // (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). 13586 RegistryArn *string `locationName:"registryArn" type:"string"` 13587} 13588 13589// String returns the string representation 13590func (s ServiceRegistry) String() string { 13591 return awsutil.Prettify(s) 13592} 13593 13594// GoString returns the string representation 13595func (s ServiceRegistry) GoString() string { 13596 return s.String() 13597} 13598 13599// SetContainerName sets the ContainerName field's value. 13600func (s *ServiceRegistry) SetContainerName(v string) *ServiceRegistry { 13601 s.ContainerName = &v 13602 return s 13603} 13604 13605// SetContainerPort sets the ContainerPort field's value. 13606func (s *ServiceRegistry) SetContainerPort(v int64) *ServiceRegistry { 13607 s.ContainerPort = &v 13608 return s 13609} 13610 13611// SetPort sets the Port field's value. 13612func (s *ServiceRegistry) SetPort(v int64) *ServiceRegistry { 13613 s.Port = &v 13614 return s 13615} 13616 13617// SetRegistryArn sets the RegistryArn field's value. 13618func (s *ServiceRegistry) SetRegistryArn(v string) *ServiceRegistry { 13619 s.RegistryArn = &v 13620 return s 13621} 13622 13623// The current account setting for a resource. 13624type Setting struct { 13625 _ struct{} `type:"structure"` 13626 13627 // The Amazon ECS resource name. 13628 Name *string `locationName:"name" type:"string" enum:"SettingName"` 13629 13630 // The ARN of the principal, which can be an IAM user, IAM role, or the root 13631 // user. If this field is omitted, the authenticated user is assumed. 13632 PrincipalArn *string `locationName:"principalArn" type:"string"` 13633 13634 // Whether the account setting is enabled or disabled for the specified resource. 13635 Value *string `locationName:"value" type:"string"` 13636} 13637 13638// String returns the string representation 13639func (s Setting) String() string { 13640 return awsutil.Prettify(s) 13641} 13642 13643// GoString returns the string representation 13644func (s Setting) GoString() string { 13645 return s.String() 13646} 13647 13648// SetName sets the Name field's value. 13649func (s *Setting) SetName(v string) *Setting { 13650 s.Name = &v 13651 return s 13652} 13653 13654// SetPrincipalArn sets the PrincipalArn field's value. 13655func (s *Setting) SetPrincipalArn(v string) *Setting { 13656 s.PrincipalArn = &v 13657 return s 13658} 13659 13660// SetValue sets the Value field's value. 13661func (s *Setting) SetValue(v string) *Setting { 13662 s.Value = &v 13663 return s 13664} 13665 13666type StartTaskInput struct { 13667 _ struct{} `type:"structure"` 13668 13669 // The short name or full Amazon Resource Name (ARN) of the cluster on which 13670 // to start your task. If you do not specify a cluster, the default cluster 13671 // is assumed. 13672 Cluster *string `locationName:"cluster" type:"string"` 13673 13674 // The container instance IDs or full ARN entries for the container instances 13675 // on which you would like to place your task. You can specify up to 10 container 13676 // instances. 13677 // 13678 // ContainerInstances is a required field 13679 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 13680 13681 // Specifies whether to enable Amazon ECS managed tags for the task. For more 13682 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 13683 // in the Amazon Elastic Container Service Developer Guide. 13684 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 13685 13686 // The name of the task group to associate with the task. The default value 13687 // is the family name of the task definition (for example, family:my-family-name). 13688 Group *string `locationName:"group" type:"string"` 13689 13690 // The VPC subnet and security group configuration for tasks that receive their 13691 // own elastic network interface by using the awsvpc networking mode. 13692 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 13693 13694 // A list of container overrides in JSON format that specify the name of a container 13695 // in the specified task definition and the overrides it should receive. You 13696 // can override the default command for a container (that is specified in the 13697 // task definition or Docker image) with a command override. You can also override 13698 // existing environment variables (that are specified in the task definition 13699 // or Docker image) on a container or add new environment variables to it with 13700 // an environment override. 13701 // 13702 // A total of 8192 characters are allowed for overrides. This limit includes 13703 // the JSON formatting characters of the override structure. 13704 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 13705 13706 // Specifies whether to propagate the tags from the task definition or the service 13707 // to the task. If no value is specified, the tags are not propagated. 13708 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 13709 13710 // An optional tag specified when a task is started. For example, if you automatically 13711 // trigger a task to run a batch process job, you could apply a unique identifier 13712 // for that job to your task with the startedBy parameter. You can then identify 13713 // which tasks belong to that job by filtering the results of a ListTasks call 13714 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 13715 // hyphens, and underscores are allowed. 13716 // 13717 // If a task is started by an Amazon ECS service, then the startedBy parameter 13718 // contains the deployment ID of the service that starts it. 13719 StartedBy *string `locationName:"startedBy" type:"string"` 13720 13721 // The metadata that you apply to the task to help you categorize and organize 13722 // them. Each tag consists of a key and an optional value, both of which you 13723 // define. 13724 // 13725 // The following basic restrictions apply to tags: 13726 // 13727 // * Maximum number of tags per resource - 50 13728 // 13729 // * For each resource, each tag key must be unique, and each tag key can 13730 // have only one value. 13731 // 13732 // * Maximum key length - 128 Unicode characters in UTF-8 13733 // 13734 // * Maximum value length - 256 Unicode characters in UTF-8 13735 // 13736 // * If your tagging schema is used across multiple services and resources, 13737 // remember that other services may have restrictions on allowed characters. 13738 // Generally allowed characters are: letters, numbers, and spaces representable 13739 // in UTF-8, and the following characters: + - = . _ : / @. 13740 // 13741 // * Tag keys and values are case-sensitive. 13742 // 13743 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 13744 // as a prefix for either keys or values as it is reserved for AWS use. You 13745 // cannot edit or delete tag keys or values with this prefix. Tags with this 13746 // prefix do not count against your tags per resource limit. 13747 Tags []*Tag `locationName:"tags" type:"list"` 13748 13749 // The family and revision (family:revision) or full ARN of the task definition 13750 // to start. If a revision is not specified, the latest ACTIVE revision is used. 13751 // 13752 // TaskDefinition is a required field 13753 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 13754} 13755 13756// String returns the string representation 13757func (s StartTaskInput) String() string { 13758 return awsutil.Prettify(s) 13759} 13760 13761// GoString returns the string representation 13762func (s StartTaskInput) GoString() string { 13763 return s.String() 13764} 13765 13766// Validate inspects the fields of the type to determine if they are valid. 13767func (s *StartTaskInput) Validate() error { 13768 invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} 13769 if s.ContainerInstances == nil { 13770 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 13771 } 13772 if s.TaskDefinition == nil { 13773 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 13774 } 13775 if s.NetworkConfiguration != nil { 13776 if err := s.NetworkConfiguration.Validate(); err != nil { 13777 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 13778 } 13779 } 13780 if s.Overrides != nil { 13781 if err := s.Overrides.Validate(); err != nil { 13782 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 13783 } 13784 } 13785 if s.Tags != nil { 13786 for i, v := range s.Tags { 13787 if v == nil { 13788 continue 13789 } 13790 if err := v.Validate(); err != nil { 13791 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 13792 } 13793 } 13794 } 13795 13796 if invalidParams.Len() > 0 { 13797 return invalidParams 13798 } 13799 return nil 13800} 13801 13802// SetCluster sets the Cluster field's value. 13803func (s *StartTaskInput) SetCluster(v string) *StartTaskInput { 13804 s.Cluster = &v 13805 return s 13806} 13807 13808// SetContainerInstances sets the ContainerInstances field's value. 13809func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput { 13810 s.ContainerInstances = v 13811 return s 13812} 13813 13814// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 13815func (s *StartTaskInput) SetEnableECSManagedTags(v bool) *StartTaskInput { 13816 s.EnableECSManagedTags = &v 13817 return s 13818} 13819 13820// SetGroup sets the Group field's value. 13821func (s *StartTaskInput) SetGroup(v string) *StartTaskInput { 13822 s.Group = &v 13823 return s 13824} 13825 13826// SetNetworkConfiguration sets the NetworkConfiguration field's value. 13827func (s *StartTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *StartTaskInput { 13828 s.NetworkConfiguration = v 13829 return s 13830} 13831 13832// SetOverrides sets the Overrides field's value. 13833func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput { 13834 s.Overrides = v 13835 return s 13836} 13837 13838// SetPropagateTags sets the PropagateTags field's value. 13839func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput { 13840 s.PropagateTags = &v 13841 return s 13842} 13843 13844// SetStartedBy sets the StartedBy field's value. 13845func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { 13846 s.StartedBy = &v 13847 return s 13848} 13849 13850// SetTags sets the Tags field's value. 13851func (s *StartTaskInput) SetTags(v []*Tag) *StartTaskInput { 13852 s.Tags = v 13853 return s 13854} 13855 13856// SetTaskDefinition sets the TaskDefinition field's value. 13857func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput { 13858 s.TaskDefinition = &v 13859 return s 13860} 13861 13862type StartTaskOutput struct { 13863 _ struct{} `type:"structure"` 13864 13865 // Any failures associated with the call. 13866 Failures []*Failure `locationName:"failures" type:"list"` 13867 13868 // A full description of the tasks that were started. Each task that was successfully 13869 // placed on your container instances is described. 13870 Tasks []*Task `locationName:"tasks" type:"list"` 13871} 13872 13873// String returns the string representation 13874func (s StartTaskOutput) String() string { 13875 return awsutil.Prettify(s) 13876} 13877 13878// GoString returns the string representation 13879func (s StartTaskOutput) GoString() string { 13880 return s.String() 13881} 13882 13883// SetFailures sets the Failures field's value. 13884func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput { 13885 s.Failures = v 13886 return s 13887} 13888 13889// SetTasks sets the Tasks field's value. 13890func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput { 13891 s.Tasks = v 13892 return s 13893} 13894 13895type StopTaskInput struct { 13896 _ struct{} `type:"structure"` 13897 13898 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 13899 // the task to stop. If you do not specify a cluster, the default cluster is 13900 // assumed. 13901 Cluster *string `locationName:"cluster" type:"string"` 13902 13903 // An optional message specified when a task is stopped. For example, if you 13904 // are using a custom scheduler, you can use this parameter to specify the reason 13905 // for stopping the task here, and the message appears in subsequent DescribeTasks 13906 // API operations on this task. Up to 255 characters are allowed in this message. 13907 Reason *string `locationName:"reason" type:"string"` 13908 13909 // The task ID or full Amazon Resource Name (ARN) of the task to stop. 13910 // 13911 // Task is a required field 13912 Task *string `locationName:"task" type:"string" required:"true"` 13913} 13914 13915// String returns the string representation 13916func (s StopTaskInput) String() string { 13917 return awsutil.Prettify(s) 13918} 13919 13920// GoString returns the string representation 13921func (s StopTaskInput) GoString() string { 13922 return s.String() 13923} 13924 13925// Validate inspects the fields of the type to determine if they are valid. 13926func (s *StopTaskInput) Validate() error { 13927 invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} 13928 if s.Task == nil { 13929 invalidParams.Add(request.NewErrParamRequired("Task")) 13930 } 13931 13932 if invalidParams.Len() > 0 { 13933 return invalidParams 13934 } 13935 return nil 13936} 13937 13938// SetCluster sets the Cluster field's value. 13939func (s *StopTaskInput) SetCluster(v string) *StopTaskInput { 13940 s.Cluster = &v 13941 return s 13942} 13943 13944// SetReason sets the Reason field's value. 13945func (s *StopTaskInput) SetReason(v string) *StopTaskInput { 13946 s.Reason = &v 13947 return s 13948} 13949 13950// SetTask sets the Task field's value. 13951func (s *StopTaskInput) SetTask(v string) *StopTaskInput { 13952 s.Task = &v 13953 return s 13954} 13955 13956type StopTaskOutput struct { 13957 _ struct{} `type:"structure"` 13958 13959 // The task that was stopped. 13960 Task *Task `locationName:"task" type:"structure"` 13961} 13962 13963// String returns the string representation 13964func (s StopTaskOutput) String() string { 13965 return awsutil.Prettify(s) 13966} 13967 13968// GoString returns the string representation 13969func (s StopTaskOutput) GoString() string { 13970 return s.String() 13971} 13972 13973// SetTask sets the Task field's value. 13974func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput { 13975 s.Task = v 13976 return s 13977} 13978 13979type SubmitAttachmentStateChangesInput struct { 13980 _ struct{} `type:"structure"` 13981 13982 // Any attachments associated with the state change request. 13983 // 13984 // Attachments is a required field 13985 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list" required:"true"` 13986 13987 // The short name or full ARN of the cluster that hosts the container instance 13988 // the attachment belongs to. 13989 Cluster *string `locationName:"cluster" type:"string"` 13990} 13991 13992// String returns the string representation 13993func (s SubmitAttachmentStateChangesInput) String() string { 13994 return awsutil.Prettify(s) 13995} 13996 13997// GoString returns the string representation 13998func (s SubmitAttachmentStateChangesInput) GoString() string { 13999 return s.String() 14000} 14001 14002// Validate inspects the fields of the type to determine if they are valid. 14003func (s *SubmitAttachmentStateChangesInput) Validate() error { 14004 invalidParams := request.ErrInvalidParams{Context: "SubmitAttachmentStateChangesInput"} 14005 if s.Attachments == nil { 14006 invalidParams.Add(request.NewErrParamRequired("Attachments")) 14007 } 14008 if s.Attachments != nil { 14009 for i, v := range s.Attachments { 14010 if v == nil { 14011 continue 14012 } 14013 if err := v.Validate(); err != nil { 14014 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 14015 } 14016 } 14017 } 14018 14019 if invalidParams.Len() > 0 { 14020 return invalidParams 14021 } 14022 return nil 14023} 14024 14025// SetAttachments sets the Attachments field's value. 14026func (s *SubmitAttachmentStateChangesInput) SetAttachments(v []*AttachmentStateChange) *SubmitAttachmentStateChangesInput { 14027 s.Attachments = v 14028 return s 14029} 14030 14031// SetCluster sets the Cluster field's value. 14032func (s *SubmitAttachmentStateChangesInput) SetCluster(v string) *SubmitAttachmentStateChangesInput { 14033 s.Cluster = &v 14034 return s 14035} 14036 14037type SubmitAttachmentStateChangesOutput struct { 14038 _ struct{} `type:"structure"` 14039 14040 // Acknowledgement of the state change. 14041 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 14042} 14043 14044// String returns the string representation 14045func (s SubmitAttachmentStateChangesOutput) String() string { 14046 return awsutil.Prettify(s) 14047} 14048 14049// GoString returns the string representation 14050func (s SubmitAttachmentStateChangesOutput) GoString() string { 14051 return s.String() 14052} 14053 14054// SetAcknowledgment sets the Acknowledgment field's value. 14055func (s *SubmitAttachmentStateChangesOutput) SetAcknowledgment(v string) *SubmitAttachmentStateChangesOutput { 14056 s.Acknowledgment = &v 14057 return s 14058} 14059 14060type SubmitContainerStateChangeInput struct { 14061 _ struct{} `type:"structure"` 14062 14063 // The short name or full ARN of the cluster that hosts the container. 14064 Cluster *string `locationName:"cluster" type:"string"` 14065 14066 // The name of the container. 14067 ContainerName *string `locationName:"containerName" type:"string"` 14068 14069 // The exit code returned for the state change request. 14070 ExitCode *int64 `locationName:"exitCode" type:"integer"` 14071 14072 // The network bindings of the container. 14073 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 14074 14075 // The reason for the state change request. 14076 Reason *string `locationName:"reason" type:"string"` 14077 14078 // The ID of the Docker container. 14079 RuntimeId *string `locationName:"runtimeId" type:"string"` 14080 14081 // The status of the state change request. 14082 Status *string `locationName:"status" type:"string"` 14083 14084 // The task ID or full Amazon Resource Name (ARN) of the task that hosts the 14085 // container. 14086 Task *string `locationName:"task" type:"string"` 14087} 14088 14089// String returns the string representation 14090func (s SubmitContainerStateChangeInput) String() string { 14091 return awsutil.Prettify(s) 14092} 14093 14094// GoString returns the string representation 14095func (s SubmitContainerStateChangeInput) GoString() string { 14096 return s.String() 14097} 14098 14099// SetCluster sets the Cluster field's value. 14100func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput { 14101 s.Cluster = &v 14102 return s 14103} 14104 14105// SetContainerName sets the ContainerName field's value. 14106func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput { 14107 s.ContainerName = &v 14108 return s 14109} 14110 14111// SetExitCode sets the ExitCode field's value. 14112func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput { 14113 s.ExitCode = &v 14114 return s 14115} 14116 14117// SetNetworkBindings sets the NetworkBindings field's value. 14118func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput { 14119 s.NetworkBindings = v 14120 return s 14121} 14122 14123// SetReason sets the Reason field's value. 14124func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput { 14125 s.Reason = &v 14126 return s 14127} 14128 14129// SetRuntimeId sets the RuntimeId field's value. 14130func (s *SubmitContainerStateChangeInput) SetRuntimeId(v string) *SubmitContainerStateChangeInput { 14131 s.RuntimeId = &v 14132 return s 14133} 14134 14135// SetStatus sets the Status field's value. 14136func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput { 14137 s.Status = &v 14138 return s 14139} 14140 14141// SetTask sets the Task field's value. 14142func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput { 14143 s.Task = &v 14144 return s 14145} 14146 14147type SubmitContainerStateChangeOutput struct { 14148 _ struct{} `type:"structure"` 14149 14150 // Acknowledgement of the state change. 14151 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 14152} 14153 14154// String returns the string representation 14155func (s SubmitContainerStateChangeOutput) String() string { 14156 return awsutil.Prettify(s) 14157} 14158 14159// GoString returns the string representation 14160func (s SubmitContainerStateChangeOutput) GoString() string { 14161 return s.String() 14162} 14163 14164// SetAcknowledgment sets the Acknowledgment field's value. 14165func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput { 14166 s.Acknowledgment = &v 14167 return s 14168} 14169 14170type SubmitTaskStateChangeInput struct { 14171 _ struct{} `type:"structure"` 14172 14173 // Any attachments associated with the state change request. 14174 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list"` 14175 14176 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 14177 // the task. 14178 Cluster *string `locationName:"cluster" type:"string"` 14179 14180 // Any containers associated with the state change request. 14181 Containers []*ContainerStateChange `locationName:"containers" type:"list"` 14182 14183 // The Unix timestamp for when the task execution stopped. 14184 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 14185 14186 // The Unix timestamp for when the container image pull began. 14187 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 14188 14189 // The Unix timestamp for when the container image pull completed. 14190 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 14191 14192 // The reason for the state change request. 14193 Reason *string `locationName:"reason" type:"string"` 14194 14195 // The status of the state change request. 14196 Status *string `locationName:"status" type:"string"` 14197 14198 // The task ID or full ARN of the task in the state change request. 14199 Task *string `locationName:"task" type:"string"` 14200} 14201 14202// String returns the string representation 14203func (s SubmitTaskStateChangeInput) String() string { 14204 return awsutil.Prettify(s) 14205} 14206 14207// GoString returns the string representation 14208func (s SubmitTaskStateChangeInput) GoString() string { 14209 return s.String() 14210} 14211 14212// Validate inspects the fields of the type to determine if they are valid. 14213func (s *SubmitTaskStateChangeInput) Validate() error { 14214 invalidParams := request.ErrInvalidParams{Context: "SubmitTaskStateChangeInput"} 14215 if s.Attachments != nil { 14216 for i, v := range s.Attachments { 14217 if v == nil { 14218 continue 14219 } 14220 if err := v.Validate(); err != nil { 14221 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 14222 } 14223 } 14224 } 14225 14226 if invalidParams.Len() > 0 { 14227 return invalidParams 14228 } 14229 return nil 14230} 14231 14232// SetAttachments sets the Attachments field's value. 14233func (s *SubmitTaskStateChangeInput) SetAttachments(v []*AttachmentStateChange) *SubmitTaskStateChangeInput { 14234 s.Attachments = v 14235 return s 14236} 14237 14238// SetCluster sets the Cluster field's value. 14239func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput { 14240 s.Cluster = &v 14241 return s 14242} 14243 14244// SetContainers sets the Containers field's value. 14245func (s *SubmitTaskStateChangeInput) SetContainers(v []*ContainerStateChange) *SubmitTaskStateChangeInput { 14246 s.Containers = v 14247 return s 14248} 14249 14250// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 14251func (s *SubmitTaskStateChangeInput) SetExecutionStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 14252 s.ExecutionStoppedAt = &v 14253 return s 14254} 14255 14256// SetPullStartedAt sets the PullStartedAt field's value. 14257func (s *SubmitTaskStateChangeInput) SetPullStartedAt(v time.Time) *SubmitTaskStateChangeInput { 14258 s.PullStartedAt = &v 14259 return s 14260} 14261 14262// SetPullStoppedAt sets the PullStoppedAt field's value. 14263func (s *SubmitTaskStateChangeInput) SetPullStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 14264 s.PullStoppedAt = &v 14265 return s 14266} 14267 14268// SetReason sets the Reason field's value. 14269func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput { 14270 s.Reason = &v 14271 return s 14272} 14273 14274// SetStatus sets the Status field's value. 14275func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput { 14276 s.Status = &v 14277 return s 14278} 14279 14280// SetTask sets the Task field's value. 14281func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput { 14282 s.Task = &v 14283 return s 14284} 14285 14286type SubmitTaskStateChangeOutput struct { 14287 _ struct{} `type:"structure"` 14288 14289 // Acknowledgement of the state change. 14290 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 14291} 14292 14293// String returns the string representation 14294func (s SubmitTaskStateChangeOutput) String() string { 14295 return awsutil.Prettify(s) 14296} 14297 14298// GoString returns the string representation 14299func (s SubmitTaskStateChangeOutput) GoString() string { 14300 return s.String() 14301} 14302 14303// SetAcknowledgment sets the Acknowledgment field's value. 14304func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput { 14305 s.Acknowledgment = &v 14306 return s 14307} 14308 14309// A list of namespaced kernel parameters to set in the container. This parameter 14310// maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 14311// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 14312// and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 14313// 14314// It is not recommended that you specify network-related systemControls parameters 14315// for multiple containers in a single task that also uses either the awsvpc 14316// or host network mode for the following reasons: 14317// 14318// * For tasks that use the awsvpc network mode, if you set systemControls 14319// for any container, it applies to all containers in the task. If you set 14320// different systemControls for multiple containers in a single task, the 14321// container that is started last determines which systemControls take effect. 14322// 14323// * For tasks that use the host network mode, the systemControls parameter 14324// applies to the container instance's kernel parameter as well as that of 14325// all containers of any tasks running on that container instance. 14326type SystemControl struct { 14327 _ struct{} `type:"structure"` 14328 14329 // The namespaced kernel parameter for which to set a value. 14330 Namespace *string `locationName:"namespace" type:"string"` 14331 14332 // The value for the namespaced kernel parameter specified in namespace. 14333 Value *string `locationName:"value" type:"string"` 14334} 14335 14336// String returns the string representation 14337func (s SystemControl) String() string { 14338 return awsutil.Prettify(s) 14339} 14340 14341// GoString returns the string representation 14342func (s SystemControl) GoString() string { 14343 return s.String() 14344} 14345 14346// SetNamespace sets the Namespace field's value. 14347func (s *SystemControl) SetNamespace(v string) *SystemControl { 14348 s.Namespace = &v 14349 return s 14350} 14351 14352// SetValue sets the Value field's value. 14353func (s *SystemControl) SetValue(v string) *SystemControl { 14354 s.Value = &v 14355 return s 14356} 14357 14358// The metadata that you apply to a resource to help you categorize and organize 14359// them. Each tag consists of a key and an optional value, both of which you 14360// define. 14361// 14362// The following basic restrictions apply to tags: 14363// 14364// * Maximum number of tags per resource - 50 14365// 14366// * For each resource, each tag key must be unique, and each tag key can 14367// have only one value. 14368// 14369// * Maximum key length - 128 Unicode characters in UTF-8 14370// 14371// * Maximum value length - 256 Unicode characters in UTF-8 14372// 14373// * If your tagging schema is used across multiple services and resources, 14374// remember that other services may have restrictions on allowed characters. 14375// Generally allowed characters are: letters, numbers, and spaces representable 14376// in UTF-8, and the following characters: + - = . _ : / @. 14377// 14378// * Tag keys and values are case-sensitive. 14379// 14380// * Do not use aws:, AWS:, or any upper or lowercase combination of such 14381// as a prefix for either keys or values as it is reserved for AWS use. You 14382// cannot edit or delete tag keys or values with this prefix. Tags with this 14383// prefix do not count against your tags per resource limit. 14384type Tag struct { 14385 _ struct{} `type:"structure"` 14386 14387 // One part of a key-value pair that make up a tag. A key is a general label 14388 // that acts like a category for more specific tag values. 14389 Key *string `locationName:"key" min:"1" type:"string"` 14390 14391 // The optional part of a key-value pair that make up a tag. A value acts as 14392 // a descriptor within a tag category (key). 14393 Value *string `locationName:"value" type:"string"` 14394} 14395 14396// String returns the string representation 14397func (s Tag) String() string { 14398 return awsutil.Prettify(s) 14399} 14400 14401// GoString returns the string representation 14402func (s Tag) GoString() string { 14403 return s.String() 14404} 14405 14406// Validate inspects the fields of the type to determine if they are valid. 14407func (s *Tag) Validate() error { 14408 invalidParams := request.ErrInvalidParams{Context: "Tag"} 14409 if s.Key != nil && len(*s.Key) < 1 { 14410 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 14411 } 14412 14413 if invalidParams.Len() > 0 { 14414 return invalidParams 14415 } 14416 return nil 14417} 14418 14419// SetKey sets the Key field's value. 14420func (s *Tag) SetKey(v string) *Tag { 14421 s.Key = &v 14422 return s 14423} 14424 14425// SetValue sets the Value field's value. 14426func (s *Tag) SetValue(v string) *Tag { 14427 s.Value = &v 14428 return s 14429} 14430 14431type TagResourceInput struct { 14432 _ struct{} `type:"structure"` 14433 14434 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 14435 // the supported resources are Amazon ECS tasks, services, task definitions, 14436 // clusters, and container instances. 14437 // 14438 // ResourceArn is a required field 14439 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 14440 14441 // The tags to add to the resource. A tag is an array of key-value pairs. 14442 // 14443 // The following basic restrictions apply to tags: 14444 // 14445 // * Maximum number of tags per resource - 50 14446 // 14447 // * For each resource, each tag key must be unique, and each tag key can 14448 // have only one value. 14449 // 14450 // * Maximum key length - 128 Unicode characters in UTF-8 14451 // 14452 // * Maximum value length - 256 Unicode characters in UTF-8 14453 // 14454 // * If your tagging schema is used across multiple services and resources, 14455 // remember that other services may have restrictions on allowed characters. 14456 // Generally allowed characters are: letters, numbers, and spaces representable 14457 // in UTF-8, and the following characters: + - = . _ : / @. 14458 // 14459 // * Tag keys and values are case-sensitive. 14460 // 14461 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 14462 // as a prefix for either keys or values as it is reserved for AWS use. You 14463 // cannot edit or delete tag keys or values with this prefix. Tags with this 14464 // prefix do not count against your tags per resource limit. 14465 // 14466 // Tags is a required field 14467 Tags []*Tag `locationName:"tags" type:"list" required:"true"` 14468} 14469 14470// String returns the string representation 14471func (s TagResourceInput) String() string { 14472 return awsutil.Prettify(s) 14473} 14474 14475// GoString returns the string representation 14476func (s TagResourceInput) GoString() string { 14477 return s.String() 14478} 14479 14480// Validate inspects the fields of the type to determine if they are valid. 14481func (s *TagResourceInput) Validate() error { 14482 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 14483 if s.ResourceArn == nil { 14484 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 14485 } 14486 if s.Tags == nil { 14487 invalidParams.Add(request.NewErrParamRequired("Tags")) 14488 } 14489 if s.Tags != nil { 14490 for i, v := range s.Tags { 14491 if v == nil { 14492 continue 14493 } 14494 if err := v.Validate(); err != nil { 14495 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 14496 } 14497 } 14498 } 14499 14500 if invalidParams.Len() > 0 { 14501 return invalidParams 14502 } 14503 return nil 14504} 14505 14506// SetResourceArn sets the ResourceArn field's value. 14507func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 14508 s.ResourceArn = &v 14509 return s 14510} 14511 14512// SetTags sets the Tags field's value. 14513func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 14514 s.Tags = v 14515 return s 14516} 14517 14518type TagResourceOutput struct { 14519 _ struct{} `type:"structure"` 14520} 14521 14522// String returns the string representation 14523func (s TagResourceOutput) String() string { 14524 return awsutil.Prettify(s) 14525} 14526 14527// GoString returns the string representation 14528func (s TagResourceOutput) GoString() string { 14529 return s.String() 14530} 14531 14532// Details on a task in a cluster. 14533type Task struct { 14534 _ struct{} `type:"structure"` 14535 14536 // The Elastic Network Adapter associated with the task if the task uses the 14537 // awsvpc network mode. 14538 Attachments []*Attachment `locationName:"attachments" type:"list"` 14539 14540 // The ARN of the cluster that hosts the task. 14541 ClusterArn *string `locationName:"clusterArn" type:"string"` 14542 14543 // The connectivity status of a task. 14544 Connectivity *string `locationName:"connectivity" type:"string" enum:"Connectivity"` 14545 14546 // The Unix timestamp for when the task last went into CONNECTED status. 14547 ConnectivityAt *time.Time `locationName:"connectivityAt" type:"timestamp"` 14548 14549 // The ARN of the container instances that host the task. 14550 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 14551 14552 // The containers associated with the task. 14553 Containers []*Container `locationName:"containers" type:"list"` 14554 14555 // The number of CPU units used by the task as expressed in a task definition. 14556 // It can be expressed as an integer using CPU units, for example 1024. It can 14557 // also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu. 14558 // String values are converted to an integer indicating the CPU units when the 14559 // task definition is registered. 14560 // 14561 // If you are using the EC2 launch type, this field is optional. Supported values 14562 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 14563 // 14564 // If you are using the Fargate launch type, this field is required and you 14565 // must use one of the following values, which determines your range of supported 14566 // values for the memory parameter: 14567 // 14568 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 14569 // 2048 (2 GB) 14570 // 14571 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 14572 // (3 GB), 4096 (4 GB) 14573 // 14574 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 14575 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 14576 // 14577 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 14578 // (16 GB) in increments of 1024 (1 GB) 14579 // 14580 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 14581 // (30 GB) in increments of 1024 (1 GB) 14582 Cpu *string `locationName:"cpu" type:"string"` 14583 14584 // The Unix timestamp for when the task was created (the task entered the PENDING 14585 // state). 14586 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 14587 14588 // The desired status of the task. For more information, see Task Lifecycle 14589 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 14590 DesiredStatus *string `locationName:"desiredStatus" type:"string"` 14591 14592 // The Unix timestamp for when the task execution stopped. 14593 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 14594 14595 // The name of the task group associated with the task. 14596 Group *string `locationName:"group" type:"string"` 14597 14598 // The health status for the task, which is determined by the health of the 14599 // essential containers in the task. If all essential containers in the task 14600 // are reporting as HEALTHY, then the task status also reports as HEALTHY. If 14601 // any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, 14602 // then the task status also reports as UNHEALTHY or UNKNOWN, accordingly. 14603 // 14604 // The Amazon ECS container agent does not monitor or report on Docker health 14605 // checks that are embedded in a container image (such as those specified in 14606 // a parent image or from the image's Dockerfile) and not specified in the container 14607 // definition. Health check parameters that are specified in a container definition 14608 // override any Docker health checks that exist in the container image. 14609 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 14610 14611 // The Elastic Inference accelerator associated with the task. 14612 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 14613 14614 // The last known status of the task. For more information, see Task Lifecycle 14615 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 14616 LastStatus *string `locationName:"lastStatus" type:"string"` 14617 14618 // The launch type on which your task is running. For more information, see 14619 // Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 14620 // in the Amazon Elastic Container Service Developer Guide. 14621 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 14622 14623 // The amount of memory (in MiB) used by the task as expressed in a task definition. 14624 // It can be expressed as an integer using MiB, for example 1024. It can also 14625 // be expressed as a string using GB, for example 1GB or 1 GB. String values 14626 // are converted to an integer indicating the MiB when the task definition is 14627 // registered. 14628 // 14629 // If you are using the EC2 launch type, this field is optional. 14630 // 14631 // If you are using the Fargate launch type, this field is required and you 14632 // must use one of the following values, which determines your range of supported 14633 // values for the cpu parameter: 14634 // 14635 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 14636 // vCPU) 14637 // 14638 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 14639 // 512 (.5 vCPU) 14640 // 14641 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 14642 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 14643 // 14644 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 14645 // Available cpu values: 2048 (2 vCPU) 14646 // 14647 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 14648 // Available cpu values: 4096 (4 vCPU) 14649 Memory *string `locationName:"memory" type:"string"` 14650 14651 // One or more container overrides. 14652 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 14653 14654 // The platform version on which your task is running. A platform version is 14655 // only specified for tasks using the Fargate launch type. If one is not specified, 14656 // the LATEST platform version is used by default. For more information, see 14657 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 14658 // in the Amazon Elastic Container Service Developer Guide. 14659 PlatformVersion *string `locationName:"platformVersion" type:"string"` 14660 14661 // The Unix timestamp for when the container image pull began. 14662 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 14663 14664 // The Unix timestamp for when the container image pull completed. 14665 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 14666 14667 // The Unix timestamp for when the task started (the task transitioned from 14668 // the PENDING state to the RUNNING state). 14669 StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` 14670 14671 // The tag specified when a task is started. If the task is started by an Amazon 14672 // ECS service, then the startedBy parameter contains the deployment ID of the 14673 // service that starts it. 14674 StartedBy *string `locationName:"startedBy" type:"string"` 14675 14676 // The stop code indicating why a task was stopped. The stoppedReason may contain 14677 // additional details. 14678 StopCode *string `locationName:"stopCode" type:"string" enum:"TaskStopCode"` 14679 14680 // The Unix timestamp for when the task was stopped (the task transitioned from 14681 // the RUNNING state to the STOPPED state). 14682 StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp"` 14683 14684 // The reason that the task was stopped. 14685 StoppedReason *string `locationName:"stoppedReason" type:"string"` 14686 14687 // The Unix timestamp for when the task stops (transitions from the RUNNING 14688 // state to STOPPED). 14689 StoppingAt *time.Time `locationName:"stoppingAt" type:"timestamp"` 14690 14691 // The metadata that you apply to the task to help you categorize and organize 14692 // them. Each tag consists of a key and an optional value, both of which you 14693 // define. 14694 // 14695 // The following basic restrictions apply to tags: 14696 // 14697 // * Maximum number of tags per resource - 50 14698 // 14699 // * For each resource, each tag key must be unique, and each tag key can 14700 // have only one value. 14701 // 14702 // * Maximum key length - 128 Unicode characters in UTF-8 14703 // 14704 // * Maximum value length - 256 Unicode characters in UTF-8 14705 // 14706 // * If your tagging schema is used across multiple services and resources, 14707 // remember that other services may have restrictions on allowed characters. 14708 // Generally allowed characters are: letters, numbers, and spaces representable 14709 // in UTF-8, and the following characters: + - = . _ : / @. 14710 // 14711 // * Tag keys and values are case-sensitive. 14712 // 14713 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 14714 // as a prefix for either keys or values as it is reserved for AWS use. You 14715 // cannot edit or delete tag keys or values with this prefix. Tags with this 14716 // prefix do not count against your tags per resource limit. 14717 Tags []*Tag `locationName:"tags" type:"list"` 14718 14719 // The Amazon Resource Name (ARN) of the task. 14720 TaskArn *string `locationName:"taskArn" type:"string"` 14721 14722 // The ARN of the task definition that creates the task. 14723 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 14724 14725 // The version counter for the task. Every time a task experiences a change 14726 // that triggers a CloudWatch event, the version counter is incremented. If 14727 // you are replicating your Amazon ECS task state with CloudWatch Events, you 14728 // can compare the version of a task reported by the Amazon ECS API actions 14729 // with the version reported in CloudWatch Events for the task (inside the detail 14730 // object) to verify that the version in your event stream is current. 14731 Version *int64 `locationName:"version" type:"long"` 14732} 14733 14734// String returns the string representation 14735func (s Task) String() string { 14736 return awsutil.Prettify(s) 14737} 14738 14739// GoString returns the string representation 14740func (s Task) GoString() string { 14741 return s.String() 14742} 14743 14744// SetAttachments sets the Attachments field's value. 14745func (s *Task) SetAttachments(v []*Attachment) *Task { 14746 s.Attachments = v 14747 return s 14748} 14749 14750// SetClusterArn sets the ClusterArn field's value. 14751func (s *Task) SetClusterArn(v string) *Task { 14752 s.ClusterArn = &v 14753 return s 14754} 14755 14756// SetConnectivity sets the Connectivity field's value. 14757func (s *Task) SetConnectivity(v string) *Task { 14758 s.Connectivity = &v 14759 return s 14760} 14761 14762// SetConnectivityAt sets the ConnectivityAt field's value. 14763func (s *Task) SetConnectivityAt(v time.Time) *Task { 14764 s.ConnectivityAt = &v 14765 return s 14766} 14767 14768// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 14769func (s *Task) SetContainerInstanceArn(v string) *Task { 14770 s.ContainerInstanceArn = &v 14771 return s 14772} 14773 14774// SetContainers sets the Containers field's value. 14775func (s *Task) SetContainers(v []*Container) *Task { 14776 s.Containers = v 14777 return s 14778} 14779 14780// SetCpu sets the Cpu field's value. 14781func (s *Task) SetCpu(v string) *Task { 14782 s.Cpu = &v 14783 return s 14784} 14785 14786// SetCreatedAt sets the CreatedAt field's value. 14787func (s *Task) SetCreatedAt(v time.Time) *Task { 14788 s.CreatedAt = &v 14789 return s 14790} 14791 14792// SetDesiredStatus sets the DesiredStatus field's value. 14793func (s *Task) SetDesiredStatus(v string) *Task { 14794 s.DesiredStatus = &v 14795 return s 14796} 14797 14798// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 14799func (s *Task) SetExecutionStoppedAt(v time.Time) *Task { 14800 s.ExecutionStoppedAt = &v 14801 return s 14802} 14803 14804// SetGroup sets the Group field's value. 14805func (s *Task) SetGroup(v string) *Task { 14806 s.Group = &v 14807 return s 14808} 14809 14810// SetHealthStatus sets the HealthStatus field's value. 14811func (s *Task) SetHealthStatus(v string) *Task { 14812 s.HealthStatus = &v 14813 return s 14814} 14815 14816// SetInferenceAccelerators sets the InferenceAccelerators field's value. 14817func (s *Task) SetInferenceAccelerators(v []*InferenceAccelerator) *Task { 14818 s.InferenceAccelerators = v 14819 return s 14820} 14821 14822// SetLastStatus sets the LastStatus field's value. 14823func (s *Task) SetLastStatus(v string) *Task { 14824 s.LastStatus = &v 14825 return s 14826} 14827 14828// SetLaunchType sets the LaunchType field's value. 14829func (s *Task) SetLaunchType(v string) *Task { 14830 s.LaunchType = &v 14831 return s 14832} 14833 14834// SetMemory sets the Memory field's value. 14835func (s *Task) SetMemory(v string) *Task { 14836 s.Memory = &v 14837 return s 14838} 14839 14840// SetOverrides sets the Overrides field's value. 14841func (s *Task) SetOverrides(v *TaskOverride) *Task { 14842 s.Overrides = v 14843 return s 14844} 14845 14846// SetPlatformVersion sets the PlatformVersion field's value. 14847func (s *Task) SetPlatformVersion(v string) *Task { 14848 s.PlatformVersion = &v 14849 return s 14850} 14851 14852// SetPullStartedAt sets the PullStartedAt field's value. 14853func (s *Task) SetPullStartedAt(v time.Time) *Task { 14854 s.PullStartedAt = &v 14855 return s 14856} 14857 14858// SetPullStoppedAt sets the PullStoppedAt field's value. 14859func (s *Task) SetPullStoppedAt(v time.Time) *Task { 14860 s.PullStoppedAt = &v 14861 return s 14862} 14863 14864// SetStartedAt sets the StartedAt field's value. 14865func (s *Task) SetStartedAt(v time.Time) *Task { 14866 s.StartedAt = &v 14867 return s 14868} 14869 14870// SetStartedBy sets the StartedBy field's value. 14871func (s *Task) SetStartedBy(v string) *Task { 14872 s.StartedBy = &v 14873 return s 14874} 14875 14876// SetStopCode sets the StopCode field's value. 14877func (s *Task) SetStopCode(v string) *Task { 14878 s.StopCode = &v 14879 return s 14880} 14881 14882// SetStoppedAt sets the StoppedAt field's value. 14883func (s *Task) SetStoppedAt(v time.Time) *Task { 14884 s.StoppedAt = &v 14885 return s 14886} 14887 14888// SetStoppedReason sets the StoppedReason field's value. 14889func (s *Task) SetStoppedReason(v string) *Task { 14890 s.StoppedReason = &v 14891 return s 14892} 14893 14894// SetStoppingAt sets the StoppingAt field's value. 14895func (s *Task) SetStoppingAt(v time.Time) *Task { 14896 s.StoppingAt = &v 14897 return s 14898} 14899 14900// SetTags sets the Tags field's value. 14901func (s *Task) SetTags(v []*Tag) *Task { 14902 s.Tags = v 14903 return s 14904} 14905 14906// SetTaskArn sets the TaskArn field's value. 14907func (s *Task) SetTaskArn(v string) *Task { 14908 s.TaskArn = &v 14909 return s 14910} 14911 14912// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 14913func (s *Task) SetTaskDefinitionArn(v string) *Task { 14914 s.TaskDefinitionArn = &v 14915 return s 14916} 14917 14918// SetVersion sets the Version field's value. 14919func (s *Task) SetVersion(v int64) *Task { 14920 s.Version = &v 14921 return s 14922} 14923 14924// The details of a task definition which describes the container and volume 14925// definitions of an Amazon Elastic Container Service task. You can specify 14926// which Docker images to use, the required resources, and other configurations 14927// related to launching the task definition through an Amazon ECS service or 14928// task. 14929type TaskDefinition struct { 14930 _ struct{} `type:"structure"` 14931 14932 // The launch type to use with your task. For more information, see Amazon ECS 14933 // Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 14934 // in the Amazon Elastic Container Service Developer Guide. 14935 Compatibilities []*string `locationName:"compatibilities" type:"list"` 14936 14937 // A list of container definitions in JSON format that describe the different 14938 // containers that make up your task. For more information about container definition 14939 // parameters and defaults, see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 14940 // in the Amazon Elastic Container Service Developer Guide. 14941 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` 14942 14943 // The number of cpu units used by the task. If you are using the EC2 launch 14944 // type, this field is optional and any value can be used. If you are using 14945 // the Fargate launch type, this field is required and you must use one of the 14946 // following values, which determines your range of valid values for the memory 14947 // parameter: 14948 // 14949 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 14950 // 2048 (2 GB) 14951 // 14952 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 14953 // (3 GB), 4096 (4 GB) 14954 // 14955 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 14956 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 14957 // 14958 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 14959 // (16 GB) in increments of 1024 (1 GB) 14960 // 14961 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 14962 // (30 GB) in increments of 1024 (1 GB) 14963 Cpu *string `locationName:"cpu" type:"string"` 14964 14965 // The Amazon Resource Name (ARN) of the task execution role that containers 14966 // in this task can assume. All containers in this task are granted the permissions 14967 // that are specified in this role. 14968 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 14969 14970 // The name of a family that this task definition is registered to. A family 14971 // groups multiple versions of a task definition. Amazon ECS gives the first 14972 // task definition that you registered to a family a revision number of 1. Amazon 14973 // ECS gives sequential revision numbers to each task definition that you add. 14974 Family *string `locationName:"family" type:"string"` 14975 14976 // The IPC resource namespace to use for the containers in the task. The valid 14977 // values are host, task, or none. If host is specified, then all containers 14978 // within the tasks that specified the host IPC mode on the same container instance 14979 // share the same IPC resources with the host Amazon EC2 instance. If task is 14980 // specified, all containers within the specified task share the same IPC resources. 14981 // If none is specified, then IPC resources within the containers of a task 14982 // are private and not shared with other containers in a task or on the container 14983 // instance. If no value is specified, then the IPC resource namespace sharing 14984 // depends on the Docker daemon setting on the container instance. For more 14985 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 14986 // in the Docker run reference. 14987 // 14988 // If the host IPC mode is used, be aware that there is a heightened risk of 14989 // undesired IPC namespace expose. For more information, see Docker security 14990 // (https://docs.docker.com/engine/security/security/). 14991 // 14992 // If you are setting namespaced kernel parameters using systemControls for 14993 // the containers in the task, the following will apply to your IPC resource 14994 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 14995 // in the Amazon Elastic Container Service Developer Guide. 14996 // 14997 // * For tasks that use the host IPC mode, IPC namespace related systemControls 14998 // are not supported. 14999 // 15000 // * For tasks that use the task IPC mode, IPC namespace related systemControls 15001 // will apply to all containers within a task. 15002 // 15003 // This parameter is not supported for Windows containers or tasks using the 15004 // Fargate launch type. 15005 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 15006 15007 // The amount (in MiB) of memory used by the task. 15008 // 15009 // If using the EC2 launch type, this field is optional and any value can be 15010 // used. If a task-level memory value is specified then the container-level 15011 // memory value is optional. 15012 // 15013 // If using the Fargate launch type, this field is required and you must use 15014 // one of the following values, which determines your range of valid values 15015 // for the cpu parameter: 15016 // 15017 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 15018 // vCPU) 15019 // 15020 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 15021 // 512 (.5 vCPU) 15022 // 15023 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 15024 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 15025 // 15026 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 15027 // Available cpu values: 2048 (2 vCPU) 15028 // 15029 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 15030 // Available cpu values: 4096 (4 vCPU) 15031 Memory *string `locationName:"memory" type:"string"` 15032 15033 // The Docker networking mode to use for the containers in the task. The valid 15034 // values are none, bridge, awsvpc, and host. The default Docker network mode 15035 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 15036 // is required. If you are using the EC2 launch type, any network mode can be 15037 // used. If the network mode is set to none, you cannot specify port mappings 15038 // in your container definitions, and the tasks containers do not have external 15039 // connectivity. The host and awsvpc network modes offer the highest networking 15040 // performance for containers because they use the EC2 network stack instead 15041 // of the virtualized network stack provided by the bridge mode. 15042 // 15043 // With the host and awsvpc network modes, exposed container ports are mapped 15044 // directly to the corresponding host port (for the host network mode) or the 15045 // attached elastic network interface port (for the awsvpc network mode), so 15046 // you cannot take advantage of dynamic host port mappings. 15047 // 15048 // If the network mode is awsvpc, the task is allocated an elastic network interface, 15049 // and you must specify a NetworkConfiguration value when you create a service 15050 // or run a task with the task definition. For more information, see Task Networking 15051 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 15052 // in the Amazon Elastic Container Service Developer Guide. 15053 // 15054 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 15055 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 15056 // mode. 15057 // 15058 // If the network mode is host, you cannot run multiple instantiations of the 15059 // same task on a single container instance when port mappings are used. 15060 // 15061 // Docker for Windows uses different network modes than Docker for Linux. When 15062 // you register a task definition with Windows containers, you must not specify 15063 // a network mode. If you use the console to register a task definition with 15064 // Windows containers, you must choose the <default> network mode object. 15065 // 15066 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 15067 // in the Docker run reference. 15068 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 15069 15070 // The process namespace to use for the containers in the task. The valid values 15071 // are host or task. If host is specified, then all containers within the tasks 15072 // that specified the host PID mode on the same container instance share the 15073 // same process namespace with the host Amazon EC2 instance. If task is specified, 15074 // all containers within the specified task share the same process namespace. 15075 // If no value is specified, the default is a private namespace. For more information, 15076 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 15077 // in the Docker run reference. 15078 // 15079 // If the host PID mode is used, be aware that there is a heightened risk of 15080 // undesired process namespace expose. For more information, see Docker security 15081 // (https://docs.docker.com/engine/security/security/). 15082 // 15083 // This parameter is not supported for Windows containers or tasks using the 15084 // Fargate launch type. 15085 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 15086 15087 // An array of placement constraint objects to use for tasks. This field is 15088 // not valid if you are using the Fargate launch type for your task. 15089 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 15090 15091 // The configuration details for the App Mesh proxy. 15092 // 15093 // Your Amazon ECS container instances require at least version 1.26.0 of the 15094 // container agent and at least version 1.26.0-1 of the ecs-init package to 15095 // enable a proxy configuration. If your container instances are launched from 15096 // the Amazon ECS-optimized AMI version 20190301 or later, then they contain 15097 // the required versions of the container agent and ecs-init. For more information, 15098 // see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 15099 // in the Amazon Elastic Container Service Developer Guide. 15100 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 15101 15102 // The container instance attributes required by your task. This field is not 15103 // valid if you are using the Fargate launch type for your task. 15104 RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` 15105 15106 // The launch type the task requires. If no value is specified, it will default 15107 // to EC2. Valid values include EC2 and FARGATE. 15108 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 15109 15110 // The revision of the task in a particular family. The revision is a version 15111 // number of a task definition in a family. When you register a task definition 15112 // for the first time, the revision is 1. Each time that you register a new 15113 // revision of a task definition in the same family, the revision value always 15114 // increases by one, even if you have deregistered previous revisions in this 15115 // family. 15116 Revision *int64 `locationName:"revision" type:"integer"` 15117 15118 // The status of the task definition. 15119 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 15120 15121 // The full Amazon Resource Name (ARN) of the task definition. 15122 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 15123 15124 // The short name or full Amazon Resource Name (ARN) of the AWS Identity and 15125 // Access Management (IAM) role that grants containers in the task permission 15126 // to call AWS APIs on your behalf. For more information, see Amazon ECS Task 15127 // Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_IAM_role.html) 15128 // in the Amazon Elastic Container Service Developer Guide. 15129 // 15130 // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option 15131 // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers 15132 // must also run some configuration code in order to take advantage of the feature. 15133 // For more information, see Windows IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) 15134 // in the Amazon Elastic Container Service Developer Guide. 15135 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 15136 15137 // The list of volume definitions for the task. 15138 // 15139 // If your tasks are using the Fargate launch type, the host and sourcePath 15140 // parameters are not supported. 15141 // 15142 // For more information about volume definition parameters and defaults, see 15143 // Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) 15144 // in the Amazon Elastic Container Service Developer Guide. 15145 Volumes []*Volume `locationName:"volumes" type:"list"` 15146} 15147 15148// String returns the string representation 15149func (s TaskDefinition) String() string { 15150 return awsutil.Prettify(s) 15151} 15152 15153// GoString returns the string representation 15154func (s TaskDefinition) GoString() string { 15155 return s.String() 15156} 15157 15158// SetCompatibilities sets the Compatibilities field's value. 15159func (s *TaskDefinition) SetCompatibilities(v []*string) *TaskDefinition { 15160 s.Compatibilities = v 15161 return s 15162} 15163 15164// SetContainerDefinitions sets the ContainerDefinitions field's value. 15165func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition { 15166 s.ContainerDefinitions = v 15167 return s 15168} 15169 15170// SetCpu sets the Cpu field's value. 15171func (s *TaskDefinition) SetCpu(v string) *TaskDefinition { 15172 s.Cpu = &v 15173 return s 15174} 15175 15176// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 15177func (s *TaskDefinition) SetExecutionRoleArn(v string) *TaskDefinition { 15178 s.ExecutionRoleArn = &v 15179 return s 15180} 15181 15182// SetFamily sets the Family field's value. 15183func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { 15184 s.Family = &v 15185 return s 15186} 15187 15188// SetIpcMode sets the IpcMode field's value. 15189func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition { 15190 s.IpcMode = &v 15191 return s 15192} 15193 15194// SetMemory sets the Memory field's value. 15195func (s *TaskDefinition) SetMemory(v string) *TaskDefinition { 15196 s.Memory = &v 15197 return s 15198} 15199 15200// SetNetworkMode sets the NetworkMode field's value. 15201func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition { 15202 s.NetworkMode = &v 15203 return s 15204} 15205 15206// SetPidMode sets the PidMode field's value. 15207func (s *TaskDefinition) SetPidMode(v string) *TaskDefinition { 15208 s.PidMode = &v 15209 return s 15210} 15211 15212// SetPlacementConstraints sets the PlacementConstraints field's value. 15213func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition { 15214 s.PlacementConstraints = v 15215 return s 15216} 15217 15218// SetProxyConfiguration sets the ProxyConfiguration field's value. 15219func (s *TaskDefinition) SetProxyConfiguration(v *ProxyConfiguration) *TaskDefinition { 15220 s.ProxyConfiguration = v 15221 return s 15222} 15223 15224// SetRequiresAttributes sets the RequiresAttributes field's value. 15225func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition { 15226 s.RequiresAttributes = v 15227 return s 15228} 15229 15230// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 15231func (s *TaskDefinition) SetRequiresCompatibilities(v []*string) *TaskDefinition { 15232 s.RequiresCompatibilities = v 15233 return s 15234} 15235 15236// SetRevision sets the Revision field's value. 15237func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition { 15238 s.Revision = &v 15239 return s 15240} 15241 15242// SetStatus sets the Status field's value. 15243func (s *TaskDefinition) SetStatus(v string) *TaskDefinition { 15244 s.Status = &v 15245 return s 15246} 15247 15248// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 15249func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition { 15250 s.TaskDefinitionArn = &v 15251 return s 15252} 15253 15254// SetTaskRoleArn sets the TaskRoleArn field's value. 15255func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition { 15256 s.TaskRoleArn = &v 15257 return s 15258} 15259 15260// SetVolumes sets the Volumes field's value. 15261func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { 15262 s.Volumes = v 15263 return s 15264} 15265 15266// An object representing a constraint on task placement in the task definition. 15267// For more information, see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 15268// in the Amazon Elastic Container Service Developer Guide. 15269// 15270// If you are using the Fargate launch type, task placement constraints are 15271// not supported. 15272type TaskDefinitionPlacementConstraint struct { 15273 _ struct{} `type:"structure"` 15274 15275 // A cluster query language expression to apply to the constraint. For more 15276 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 15277 // in the Amazon Elastic Container Service Developer Guide. 15278 Expression *string `locationName:"expression" type:"string"` 15279 15280 // The type of constraint. The MemberOf constraint restricts selection to be 15281 // from a group of valid candidates. 15282 Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"` 15283} 15284 15285// String returns the string representation 15286func (s TaskDefinitionPlacementConstraint) String() string { 15287 return awsutil.Prettify(s) 15288} 15289 15290// GoString returns the string representation 15291func (s TaskDefinitionPlacementConstraint) GoString() string { 15292 return s.String() 15293} 15294 15295// SetExpression sets the Expression field's value. 15296func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint { 15297 s.Expression = &v 15298 return s 15299} 15300 15301// SetType sets the Type field's value. 15302func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint { 15303 s.Type = &v 15304 return s 15305} 15306 15307// The overrides associated with a task. 15308type TaskOverride struct { 15309 _ struct{} `type:"structure"` 15310 15311 // One or more container overrides sent to a task. 15312 ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` 15313 15314 // The Amazon Resource Name (ARN) of the task execution role that the Amazon 15315 // ECS container agent and the Docker daemon can assume. 15316 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 15317 15318 // The Elastic Inference accelerator override for the task. 15319 InferenceAcceleratorOverrides []*InferenceAcceleratorOverride `locationName:"inferenceAcceleratorOverrides" type:"list"` 15320 15321 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 15322 // can assume. All containers in this task are granted the permissions that 15323 // are specified in this role. 15324 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 15325} 15326 15327// String returns the string representation 15328func (s TaskOverride) String() string { 15329 return awsutil.Prettify(s) 15330} 15331 15332// GoString returns the string representation 15333func (s TaskOverride) GoString() string { 15334 return s.String() 15335} 15336 15337// Validate inspects the fields of the type to determine if they are valid. 15338func (s *TaskOverride) Validate() error { 15339 invalidParams := request.ErrInvalidParams{Context: "TaskOverride"} 15340 if s.ContainerOverrides != nil { 15341 for i, v := range s.ContainerOverrides { 15342 if v == nil { 15343 continue 15344 } 15345 if err := v.Validate(); err != nil { 15346 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerOverrides", i), err.(request.ErrInvalidParams)) 15347 } 15348 } 15349 } 15350 15351 if invalidParams.Len() > 0 { 15352 return invalidParams 15353 } 15354 return nil 15355} 15356 15357// SetContainerOverrides sets the ContainerOverrides field's value. 15358func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { 15359 s.ContainerOverrides = v 15360 return s 15361} 15362 15363// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 15364func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride { 15365 s.ExecutionRoleArn = &v 15366 return s 15367} 15368 15369// SetInferenceAcceleratorOverrides sets the InferenceAcceleratorOverrides field's value. 15370func (s *TaskOverride) SetInferenceAcceleratorOverrides(v []*InferenceAcceleratorOverride) *TaskOverride { 15371 s.InferenceAcceleratorOverrides = v 15372 return s 15373} 15374 15375// SetTaskRoleArn sets the TaskRoleArn field's value. 15376func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { 15377 s.TaskRoleArn = &v 15378 return s 15379} 15380 15381// Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 15382// an EXTERNAL deployment. An Amazon ECS task set includes details such as the 15383// desired number of tasks, how many tasks are running, and whether the task 15384// set serves production traffic. 15385type TaskSet struct { 15386 _ struct{} `type:"structure"` 15387 15388 // The Amazon Resource Name (ARN) of the cluster that the service that hosts 15389 // the task set exists in. 15390 ClusterArn *string `locationName:"clusterArn" type:"string"` 15391 15392 // The computed desired count for the task set. This is calculated by multiplying 15393 // the service's desiredCount by the task set's scale percentage. The result 15394 // is always rounded up. For example, if the computed desired count is 1.2, 15395 // it rounds up to 2 tasks. 15396 ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"` 15397 15398 // The Unix timestamp for when the task set was created. 15399 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 15400 15401 // The external ID associated with the task set. 15402 // 15403 // If a task set is created by an AWS CodeDeploy deployment, the externalId 15404 // parameter contains the AWS CodeDeploy deployment ID. 15405 // 15406 // If a task set is created for an external deployment and is associated with 15407 // a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID 15408 // AWS Cloud Map attribute. 15409 ExternalId *string `locationName:"externalId" type:"string"` 15410 15411 // The ID of the task set. 15412 Id *string `locationName:"id" type:"string"` 15413 15414 // The launch type the tasks in the task set are using. For more information, 15415 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 15416 // in the Amazon Elastic Container Service Developer Guide. 15417 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 15418 15419 // Details on a load balancer that is used with a task set. 15420 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 15421 15422 // The network configuration for the task set. 15423 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 15424 15425 // The number of tasks in the task set that are in the PENDING status during 15426 // a deployment. A task in the PENDING state is preparing to enter the RUNNING 15427 // state. A task set enters the PENDING status when it launches for the first 15428 // time or when it is restarted after being in the STOPPED state. 15429 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 15430 15431 // The platform version on which the tasks in the task set are running. A platform 15432 // version is only specified for tasks using the Fargate launch type. If one 15433 // is not specified, the LATEST platform version is used by default. For more 15434 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 15435 // in the Amazon Elastic Container Service Developer Guide. 15436 PlatformVersion *string `locationName:"platformVersion" type:"string"` 15437 15438 // The number of tasks in the task set that are in the RUNNING status during 15439 // a deployment. A task in the RUNNING state is running and ready for use. 15440 RunningCount *int64 `locationName:"runningCount" type:"integer"` 15441 15442 // A floating-point percentage of the desired number of tasks to place and keep 15443 // running in the task set. 15444 Scale *Scale `locationName:"scale" type:"structure"` 15445 15446 // The Amazon Resource Name (ARN) of the service the task set exists in. 15447 ServiceArn *string `locationName:"serviceArn" type:"string"` 15448 15449 // The details of the service discovery registries to assign to this task set. 15450 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 15451 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 15452 15453 // The stability status, which indicates whether the task set has reached a 15454 // steady state. If the following conditions are met, the task set will be in 15455 // STEADY_STATE: 15456 // 15457 // * The task runningCount is equal to the computedDesiredCount. 15458 // 15459 // * The pendingCount is 0. 15460 // 15461 // * There are no tasks running on container instances in the DRAINING status. 15462 // 15463 // * All tasks are reporting a healthy status from the load balancers, service 15464 // discovery, and container health checks. 15465 // 15466 // If any of those conditions are not met, the stability status returns STABILIZING. 15467 StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"` 15468 15469 // The Unix timestamp for when the task set stability status was retrieved. 15470 StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"` 15471 15472 // The tag specified when a task set is started. If the task set is created 15473 // by an AWS CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. 15474 // For a task set created for an external deployment, the startedBy field isn't 15475 // used. 15476 StartedBy *string `locationName:"startedBy" type:"string"` 15477 15478 // The status of the task set. The following describes each state: 15479 // 15480 // PRIMARY 15481 // 15482 // The task set is serving production traffic. 15483 // 15484 // ACTIVE 15485 // 15486 // The task set is not serving production traffic. 15487 // 15488 // DRAINING 15489 // 15490 // The tasks in the task set are being stopped and their corresponding targets 15491 // are being deregistered from their target group. 15492 Status *string `locationName:"status" type:"string"` 15493 15494 // The task definition the task set is using. 15495 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 15496 15497 // The Amazon Resource Name (ARN) of the task set. 15498 TaskSetArn *string `locationName:"taskSetArn" type:"string"` 15499 15500 // The Unix timestamp for when the task set was last updated. 15501 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 15502} 15503 15504// String returns the string representation 15505func (s TaskSet) String() string { 15506 return awsutil.Prettify(s) 15507} 15508 15509// GoString returns the string representation 15510func (s TaskSet) GoString() string { 15511 return s.String() 15512} 15513 15514// SetClusterArn sets the ClusterArn field's value. 15515func (s *TaskSet) SetClusterArn(v string) *TaskSet { 15516 s.ClusterArn = &v 15517 return s 15518} 15519 15520// SetComputedDesiredCount sets the ComputedDesiredCount field's value. 15521func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet { 15522 s.ComputedDesiredCount = &v 15523 return s 15524} 15525 15526// SetCreatedAt sets the CreatedAt field's value. 15527func (s *TaskSet) SetCreatedAt(v time.Time) *TaskSet { 15528 s.CreatedAt = &v 15529 return s 15530} 15531 15532// SetExternalId sets the ExternalId field's value. 15533func (s *TaskSet) SetExternalId(v string) *TaskSet { 15534 s.ExternalId = &v 15535 return s 15536} 15537 15538// SetId sets the Id field's value. 15539func (s *TaskSet) SetId(v string) *TaskSet { 15540 s.Id = &v 15541 return s 15542} 15543 15544// SetLaunchType sets the LaunchType field's value. 15545func (s *TaskSet) SetLaunchType(v string) *TaskSet { 15546 s.LaunchType = &v 15547 return s 15548} 15549 15550// SetLoadBalancers sets the LoadBalancers field's value. 15551func (s *TaskSet) SetLoadBalancers(v []*LoadBalancer) *TaskSet { 15552 s.LoadBalancers = v 15553 return s 15554} 15555 15556// SetNetworkConfiguration sets the NetworkConfiguration field's value. 15557func (s *TaskSet) SetNetworkConfiguration(v *NetworkConfiguration) *TaskSet { 15558 s.NetworkConfiguration = v 15559 return s 15560} 15561 15562// SetPendingCount sets the PendingCount field's value. 15563func (s *TaskSet) SetPendingCount(v int64) *TaskSet { 15564 s.PendingCount = &v 15565 return s 15566} 15567 15568// SetPlatformVersion sets the PlatformVersion field's value. 15569func (s *TaskSet) SetPlatformVersion(v string) *TaskSet { 15570 s.PlatformVersion = &v 15571 return s 15572} 15573 15574// SetRunningCount sets the RunningCount field's value. 15575func (s *TaskSet) SetRunningCount(v int64) *TaskSet { 15576 s.RunningCount = &v 15577 return s 15578} 15579 15580// SetScale sets the Scale field's value. 15581func (s *TaskSet) SetScale(v *Scale) *TaskSet { 15582 s.Scale = v 15583 return s 15584} 15585 15586// SetServiceArn sets the ServiceArn field's value. 15587func (s *TaskSet) SetServiceArn(v string) *TaskSet { 15588 s.ServiceArn = &v 15589 return s 15590} 15591 15592// SetServiceRegistries sets the ServiceRegistries field's value. 15593func (s *TaskSet) SetServiceRegistries(v []*ServiceRegistry) *TaskSet { 15594 s.ServiceRegistries = v 15595 return s 15596} 15597 15598// SetStabilityStatus sets the StabilityStatus field's value. 15599func (s *TaskSet) SetStabilityStatus(v string) *TaskSet { 15600 s.StabilityStatus = &v 15601 return s 15602} 15603 15604// SetStabilityStatusAt sets the StabilityStatusAt field's value. 15605func (s *TaskSet) SetStabilityStatusAt(v time.Time) *TaskSet { 15606 s.StabilityStatusAt = &v 15607 return s 15608} 15609 15610// SetStartedBy sets the StartedBy field's value. 15611func (s *TaskSet) SetStartedBy(v string) *TaskSet { 15612 s.StartedBy = &v 15613 return s 15614} 15615 15616// SetStatus sets the Status field's value. 15617func (s *TaskSet) SetStatus(v string) *TaskSet { 15618 s.Status = &v 15619 return s 15620} 15621 15622// SetTaskDefinition sets the TaskDefinition field's value. 15623func (s *TaskSet) SetTaskDefinition(v string) *TaskSet { 15624 s.TaskDefinition = &v 15625 return s 15626} 15627 15628// SetTaskSetArn sets the TaskSetArn field's value. 15629func (s *TaskSet) SetTaskSetArn(v string) *TaskSet { 15630 s.TaskSetArn = &v 15631 return s 15632} 15633 15634// SetUpdatedAt sets the UpdatedAt field's value. 15635func (s *TaskSet) SetUpdatedAt(v time.Time) *TaskSet { 15636 s.UpdatedAt = &v 15637 return s 15638} 15639 15640// The container path, mount options, and size of the tmpfs mount. 15641type Tmpfs struct { 15642 _ struct{} `type:"structure"` 15643 15644 // The absolute file path where the tmpfs volume is to be mounted. 15645 // 15646 // ContainerPath is a required field 15647 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 15648 15649 // The list of tmpfs volume mount options. 15650 // 15651 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 15652 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 15653 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 15654 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 15655 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 15656 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 15657 MountOptions []*string `locationName:"mountOptions" type:"list"` 15658 15659 // The size (in MiB) of the tmpfs volume. 15660 // 15661 // Size is a required field 15662 Size *int64 `locationName:"size" type:"integer" required:"true"` 15663} 15664 15665// String returns the string representation 15666func (s Tmpfs) String() string { 15667 return awsutil.Prettify(s) 15668} 15669 15670// GoString returns the string representation 15671func (s Tmpfs) GoString() string { 15672 return s.String() 15673} 15674 15675// Validate inspects the fields of the type to determine if they are valid. 15676func (s *Tmpfs) Validate() error { 15677 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 15678 if s.ContainerPath == nil { 15679 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 15680 } 15681 if s.Size == nil { 15682 invalidParams.Add(request.NewErrParamRequired("Size")) 15683 } 15684 15685 if invalidParams.Len() > 0 { 15686 return invalidParams 15687 } 15688 return nil 15689} 15690 15691// SetContainerPath sets the ContainerPath field's value. 15692func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 15693 s.ContainerPath = &v 15694 return s 15695} 15696 15697// SetMountOptions sets the MountOptions field's value. 15698func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 15699 s.MountOptions = v 15700 return s 15701} 15702 15703// SetSize sets the Size field's value. 15704func (s *Tmpfs) SetSize(v int64) *Tmpfs { 15705 s.Size = &v 15706 return s 15707} 15708 15709// The ulimit settings to pass to the container. 15710type Ulimit struct { 15711 _ struct{} `type:"structure"` 15712 15713 // The hard limit for the ulimit type. 15714 // 15715 // HardLimit is a required field 15716 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 15717 15718 // The type of the ulimit. 15719 // 15720 // Name is a required field 15721 Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` 15722 15723 // The soft limit for the ulimit type. 15724 // 15725 // SoftLimit is a required field 15726 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 15727} 15728 15729// String returns the string representation 15730func (s Ulimit) String() string { 15731 return awsutil.Prettify(s) 15732} 15733 15734// GoString returns the string representation 15735func (s Ulimit) GoString() string { 15736 return s.String() 15737} 15738 15739// Validate inspects the fields of the type to determine if they are valid. 15740func (s *Ulimit) Validate() error { 15741 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 15742 if s.HardLimit == nil { 15743 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 15744 } 15745 if s.Name == nil { 15746 invalidParams.Add(request.NewErrParamRequired("Name")) 15747 } 15748 if s.SoftLimit == nil { 15749 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 15750 } 15751 15752 if invalidParams.Len() > 0 { 15753 return invalidParams 15754 } 15755 return nil 15756} 15757 15758// SetHardLimit sets the HardLimit field's value. 15759func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 15760 s.HardLimit = &v 15761 return s 15762} 15763 15764// SetName sets the Name field's value. 15765func (s *Ulimit) SetName(v string) *Ulimit { 15766 s.Name = &v 15767 return s 15768} 15769 15770// SetSoftLimit sets the SoftLimit field's value. 15771func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 15772 s.SoftLimit = &v 15773 return s 15774} 15775 15776type UntagResourceInput struct { 15777 _ struct{} `type:"structure"` 15778 15779 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 15780 // Currently, the supported resources are Amazon ECS tasks, services, task definitions, 15781 // clusters, and container instances. 15782 // 15783 // ResourceArn is a required field 15784 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 15785 15786 // The keys of the tags to be removed. 15787 // 15788 // TagKeys is a required field 15789 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 15790} 15791 15792// String returns the string representation 15793func (s UntagResourceInput) String() string { 15794 return awsutil.Prettify(s) 15795} 15796 15797// GoString returns the string representation 15798func (s UntagResourceInput) GoString() string { 15799 return s.String() 15800} 15801 15802// Validate inspects the fields of the type to determine if they are valid. 15803func (s *UntagResourceInput) Validate() error { 15804 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 15805 if s.ResourceArn == nil { 15806 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 15807 } 15808 if s.TagKeys == nil { 15809 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 15810 } 15811 15812 if invalidParams.Len() > 0 { 15813 return invalidParams 15814 } 15815 return nil 15816} 15817 15818// SetResourceArn sets the ResourceArn field's value. 15819func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 15820 s.ResourceArn = &v 15821 return s 15822} 15823 15824// SetTagKeys sets the TagKeys field's value. 15825func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 15826 s.TagKeys = v 15827 return s 15828} 15829 15830type UntagResourceOutput struct { 15831 _ struct{} `type:"structure"` 15832} 15833 15834// String returns the string representation 15835func (s UntagResourceOutput) String() string { 15836 return awsutil.Prettify(s) 15837} 15838 15839// GoString returns the string representation 15840func (s UntagResourceOutput) GoString() string { 15841 return s.String() 15842} 15843 15844type UpdateClusterSettingsInput struct { 15845 _ struct{} `type:"structure"` 15846 15847 // The name of the cluster to modify the settings for. 15848 // 15849 // Cluster is a required field 15850 Cluster *string `locationName:"cluster" type:"string" required:"true"` 15851 15852 // The setting to use by default for a cluster. This parameter is used to enable 15853 // CloudWatch Container Insights for a cluster. If this value is specified, 15854 // it will override the containerInsights value set with PutAccountSetting or 15855 // PutAccountSettingDefault. 15856 // 15857 // Settings is a required field 15858 Settings []*ClusterSetting `locationName:"settings" type:"list" required:"true"` 15859} 15860 15861// String returns the string representation 15862func (s UpdateClusterSettingsInput) String() string { 15863 return awsutil.Prettify(s) 15864} 15865 15866// GoString returns the string representation 15867func (s UpdateClusterSettingsInput) GoString() string { 15868 return s.String() 15869} 15870 15871// Validate inspects the fields of the type to determine if they are valid. 15872func (s *UpdateClusterSettingsInput) Validate() error { 15873 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterSettingsInput"} 15874 if s.Cluster == nil { 15875 invalidParams.Add(request.NewErrParamRequired("Cluster")) 15876 } 15877 if s.Settings == nil { 15878 invalidParams.Add(request.NewErrParamRequired("Settings")) 15879 } 15880 15881 if invalidParams.Len() > 0 { 15882 return invalidParams 15883 } 15884 return nil 15885} 15886 15887// SetCluster sets the Cluster field's value. 15888func (s *UpdateClusterSettingsInput) SetCluster(v string) *UpdateClusterSettingsInput { 15889 s.Cluster = &v 15890 return s 15891} 15892 15893// SetSettings sets the Settings field's value. 15894func (s *UpdateClusterSettingsInput) SetSettings(v []*ClusterSetting) *UpdateClusterSettingsInput { 15895 s.Settings = v 15896 return s 15897} 15898 15899type UpdateClusterSettingsOutput struct { 15900 _ struct{} `type:"structure"` 15901 15902 // A regional grouping of one or more container instances on which you can run 15903 // task requests. Each account receives a default cluster the first time you 15904 // use the Amazon ECS service, but you may also create other clusters. Clusters 15905 // may contain more than one instance type simultaneously. 15906 Cluster *Cluster `locationName:"cluster" type:"structure"` 15907} 15908 15909// String returns the string representation 15910func (s UpdateClusterSettingsOutput) String() string { 15911 return awsutil.Prettify(s) 15912} 15913 15914// GoString returns the string representation 15915func (s UpdateClusterSettingsOutput) GoString() string { 15916 return s.String() 15917} 15918 15919// SetCluster sets the Cluster field's value. 15920func (s *UpdateClusterSettingsOutput) SetCluster(v *Cluster) *UpdateClusterSettingsOutput { 15921 s.Cluster = v 15922 return s 15923} 15924 15925type UpdateContainerAgentInput struct { 15926 _ struct{} `type:"structure"` 15927 15928 // The short name or full Amazon Resource Name (ARN) of the cluster that your 15929 // container instance is running on. If you do not specify a cluster, the default 15930 // cluster is assumed. 15931 Cluster *string `locationName:"cluster" type:"string"` 15932 15933 // The container instance ID or full ARN entries for the container instance 15934 // on which you would like to update the Amazon ECS container agent. 15935 // 15936 // ContainerInstance is a required field 15937 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 15938} 15939 15940// String returns the string representation 15941func (s UpdateContainerAgentInput) String() string { 15942 return awsutil.Prettify(s) 15943} 15944 15945// GoString returns the string representation 15946func (s UpdateContainerAgentInput) GoString() string { 15947 return s.String() 15948} 15949 15950// Validate inspects the fields of the type to determine if they are valid. 15951func (s *UpdateContainerAgentInput) Validate() error { 15952 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} 15953 if s.ContainerInstance == nil { 15954 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 15955 } 15956 15957 if invalidParams.Len() > 0 { 15958 return invalidParams 15959 } 15960 return nil 15961} 15962 15963// SetCluster sets the Cluster field's value. 15964func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput { 15965 s.Cluster = &v 15966 return s 15967} 15968 15969// SetContainerInstance sets the ContainerInstance field's value. 15970func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput { 15971 s.ContainerInstance = &v 15972 return s 15973} 15974 15975type UpdateContainerAgentOutput struct { 15976 _ struct{} `type:"structure"` 15977 15978 // The container instance for which the container agent was updated. 15979 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 15980} 15981 15982// String returns the string representation 15983func (s UpdateContainerAgentOutput) String() string { 15984 return awsutil.Prettify(s) 15985} 15986 15987// GoString returns the string representation 15988func (s UpdateContainerAgentOutput) GoString() string { 15989 return s.String() 15990} 15991 15992// SetContainerInstance sets the ContainerInstance field's value. 15993func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput { 15994 s.ContainerInstance = v 15995 return s 15996} 15997 15998type UpdateContainerInstancesStateInput struct { 15999 _ struct{} `type:"structure"` 16000 16001 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 16002 // the container instance to update. If you do not specify a cluster, the default 16003 // cluster is assumed. 16004 Cluster *string `locationName:"cluster" type:"string"` 16005 16006 // A list of container instance IDs or full ARN entries. 16007 // 16008 // ContainerInstances is a required field 16009 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 16010 16011 // The container instance state with which to update the container instance. 16012 // The only valid values for this action are ACTIVE and DRAINING. A container 16013 // instance can only be updated to DRAINING status once it has reached an ACTIVE 16014 // state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED 16015 // state you can describe the container instance but will be unable to update 16016 // the container instance state. 16017 // 16018 // Status is a required field 16019 Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"` 16020} 16021 16022// String returns the string representation 16023func (s UpdateContainerInstancesStateInput) String() string { 16024 return awsutil.Prettify(s) 16025} 16026 16027// GoString returns the string representation 16028func (s UpdateContainerInstancesStateInput) GoString() string { 16029 return s.String() 16030} 16031 16032// Validate inspects the fields of the type to determine if they are valid. 16033func (s *UpdateContainerInstancesStateInput) Validate() error { 16034 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"} 16035 if s.ContainerInstances == nil { 16036 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 16037 } 16038 if s.Status == nil { 16039 invalidParams.Add(request.NewErrParamRequired("Status")) 16040 } 16041 16042 if invalidParams.Len() > 0 { 16043 return invalidParams 16044 } 16045 return nil 16046} 16047 16048// SetCluster sets the Cluster field's value. 16049func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput { 16050 s.Cluster = &v 16051 return s 16052} 16053 16054// SetContainerInstances sets the ContainerInstances field's value. 16055func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput { 16056 s.ContainerInstances = v 16057 return s 16058} 16059 16060// SetStatus sets the Status field's value. 16061func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput { 16062 s.Status = &v 16063 return s 16064} 16065 16066type UpdateContainerInstancesStateOutput struct { 16067 _ struct{} `type:"structure"` 16068 16069 // The list of container instances. 16070 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 16071 16072 // Any failures associated with the call. 16073 Failures []*Failure `locationName:"failures" type:"list"` 16074} 16075 16076// String returns the string representation 16077func (s UpdateContainerInstancesStateOutput) String() string { 16078 return awsutil.Prettify(s) 16079} 16080 16081// GoString returns the string representation 16082func (s UpdateContainerInstancesStateOutput) GoString() string { 16083 return s.String() 16084} 16085 16086// SetContainerInstances sets the ContainerInstances field's value. 16087func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput { 16088 s.ContainerInstances = v 16089 return s 16090} 16091 16092// SetFailures sets the Failures field's value. 16093func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput { 16094 s.Failures = v 16095 return s 16096} 16097 16098type UpdateServiceInput struct { 16099 _ struct{} `type:"structure"` 16100 16101 // The short name or full Amazon Resource Name (ARN) of the cluster that your 16102 // service is running on. If you do not specify a cluster, the default cluster 16103 // is assumed. 16104 Cluster *string `locationName:"cluster" type:"string"` 16105 16106 // Optional deployment parameters that control how many tasks run during the 16107 // deployment and the ordering of stopping and starting tasks. 16108 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 16109 16110 // The number of instantiations of the task to place and keep running in your 16111 // service. 16112 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 16113 16114 // Whether to force a new deployment of the service. Deployments are not forced 16115 // by default. You can use this option to trigger a new deployment with no service 16116 // definition changes. For example, you can update a service's tasks to use 16117 // a newer Docker image with the same image/tag combination (my_image:latest) 16118 // or to roll Fargate tasks onto a newer platform version. 16119 ForceNewDeployment *bool `locationName:"forceNewDeployment" type:"boolean"` 16120 16121 // The period of time, in seconds, that the Amazon ECS service scheduler should 16122 // ignore unhealthy Elastic Load Balancing target health checks after a task 16123 // has first started. This is only valid if your service is configured to use 16124 // a load balancer. If your service's tasks take a while to start and respond 16125 // to Elastic Load Balancing health checks, you can specify a health check grace 16126 // period of up to 2,147,483,647 seconds. During that time, the ECS service 16127 // scheduler ignores the Elastic Load Balancing health check status. This grace 16128 // period can prevent the ECS service scheduler from marking tasks as unhealthy 16129 // and stopping them before they have time to come up. 16130 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 16131 16132 // The network configuration for the service. This parameter is required for 16133 // task definitions that use the awsvpc network mode to receive their own elastic 16134 // network interface, and it is not supported for other network modes. For more 16135 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 16136 // in the Amazon Elastic Container Service Developer Guide. 16137 // 16138 // Updating a service to add a subnet to a list of existing subnets does not 16139 // trigger a service deployment. For example, if your network configuration 16140 // change is to keep the existing subnets and simply add another subnet to the 16141 // network configuration, this does not trigger a new service deployment. 16142 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16143 16144 // The platform version on which your tasks in the service are running. A platform 16145 // version is only specified for tasks using the Fargate launch type. If one 16146 // is not specified, the LATEST platform version is used by default. For more 16147 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 16148 // in the Amazon Elastic Container Service Developer Guide. 16149 PlatformVersion *string `locationName:"platformVersion" type:"string"` 16150 16151 // The name of the service to update. 16152 // 16153 // Service is a required field 16154 Service *string `locationName:"service" type:"string" required:"true"` 16155 16156 // The family and revision (family:revision) or full ARN of the task definition 16157 // to run in your service. If a revision is not specified, the latest ACTIVE 16158 // revision is used. If you modify the task definition with UpdateService, Amazon 16159 // ECS spawns a task with the new version of the task definition and then stops 16160 // an old task after the new version is running. 16161 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 16162} 16163 16164// String returns the string representation 16165func (s UpdateServiceInput) String() string { 16166 return awsutil.Prettify(s) 16167} 16168 16169// GoString returns the string representation 16170func (s UpdateServiceInput) GoString() string { 16171 return s.String() 16172} 16173 16174// Validate inspects the fields of the type to determine if they are valid. 16175func (s *UpdateServiceInput) Validate() error { 16176 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 16177 if s.Service == nil { 16178 invalidParams.Add(request.NewErrParamRequired("Service")) 16179 } 16180 if s.NetworkConfiguration != nil { 16181 if err := s.NetworkConfiguration.Validate(); err != nil { 16182 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 16183 } 16184 } 16185 16186 if invalidParams.Len() > 0 { 16187 return invalidParams 16188 } 16189 return nil 16190} 16191 16192// SetCluster sets the Cluster field's value. 16193func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput { 16194 s.Cluster = &v 16195 return s 16196} 16197 16198// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 16199func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput { 16200 s.DeploymentConfiguration = v 16201 return s 16202} 16203 16204// SetDesiredCount sets the DesiredCount field's value. 16205func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput { 16206 s.DesiredCount = &v 16207 return s 16208} 16209 16210// SetForceNewDeployment sets the ForceNewDeployment field's value. 16211func (s *UpdateServiceInput) SetForceNewDeployment(v bool) *UpdateServiceInput { 16212 s.ForceNewDeployment = &v 16213 return s 16214} 16215 16216// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 16217func (s *UpdateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *UpdateServiceInput { 16218 s.HealthCheckGracePeriodSeconds = &v 16219 return s 16220} 16221 16222// SetNetworkConfiguration sets the NetworkConfiguration field's value. 16223func (s *UpdateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateServiceInput { 16224 s.NetworkConfiguration = v 16225 return s 16226} 16227 16228// SetPlatformVersion sets the PlatformVersion field's value. 16229func (s *UpdateServiceInput) SetPlatformVersion(v string) *UpdateServiceInput { 16230 s.PlatformVersion = &v 16231 return s 16232} 16233 16234// SetService sets the Service field's value. 16235func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput { 16236 s.Service = &v 16237 return s 16238} 16239 16240// SetTaskDefinition sets the TaskDefinition field's value. 16241func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput { 16242 s.TaskDefinition = &v 16243 return s 16244} 16245 16246type UpdateServiceOutput struct { 16247 _ struct{} `type:"structure"` 16248 16249 // The full description of your service following the update call. 16250 Service *Service `locationName:"service" type:"structure"` 16251} 16252 16253// String returns the string representation 16254func (s UpdateServiceOutput) String() string { 16255 return awsutil.Prettify(s) 16256} 16257 16258// GoString returns the string representation 16259func (s UpdateServiceOutput) GoString() string { 16260 return s.String() 16261} 16262 16263// SetService sets the Service field's value. 16264func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { 16265 s.Service = v 16266 return s 16267} 16268 16269type UpdateServicePrimaryTaskSetInput struct { 16270 _ struct{} `type:"structure"` 16271 16272 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 16273 // the service that the task set exists in. 16274 // 16275 // Cluster is a required field 16276 Cluster *string `locationName:"cluster" type:"string" required:"true"` 16277 16278 // The short name or full Amazon Resource Name (ARN) of the task set to set 16279 // as the primary task set in the deployment. 16280 // 16281 // PrimaryTaskSet is a required field 16282 PrimaryTaskSet *string `locationName:"primaryTaskSet" type:"string" required:"true"` 16283 16284 // The short name or full Amazon Resource Name (ARN) of the service that the 16285 // task set exists in. 16286 // 16287 // Service is a required field 16288 Service *string `locationName:"service" type:"string" required:"true"` 16289} 16290 16291// String returns the string representation 16292func (s UpdateServicePrimaryTaskSetInput) String() string { 16293 return awsutil.Prettify(s) 16294} 16295 16296// GoString returns the string representation 16297func (s UpdateServicePrimaryTaskSetInput) GoString() string { 16298 return s.String() 16299} 16300 16301// Validate inspects the fields of the type to determine if they are valid. 16302func (s *UpdateServicePrimaryTaskSetInput) Validate() error { 16303 invalidParams := request.ErrInvalidParams{Context: "UpdateServicePrimaryTaskSetInput"} 16304 if s.Cluster == nil { 16305 invalidParams.Add(request.NewErrParamRequired("Cluster")) 16306 } 16307 if s.PrimaryTaskSet == nil { 16308 invalidParams.Add(request.NewErrParamRequired("PrimaryTaskSet")) 16309 } 16310 if s.Service == nil { 16311 invalidParams.Add(request.NewErrParamRequired("Service")) 16312 } 16313 16314 if invalidParams.Len() > 0 { 16315 return invalidParams 16316 } 16317 return nil 16318} 16319 16320// SetCluster sets the Cluster field's value. 16321func (s *UpdateServicePrimaryTaskSetInput) SetCluster(v string) *UpdateServicePrimaryTaskSetInput { 16322 s.Cluster = &v 16323 return s 16324} 16325 16326// SetPrimaryTaskSet sets the PrimaryTaskSet field's value. 16327func (s *UpdateServicePrimaryTaskSetInput) SetPrimaryTaskSet(v string) *UpdateServicePrimaryTaskSetInput { 16328 s.PrimaryTaskSet = &v 16329 return s 16330} 16331 16332// SetService sets the Service field's value. 16333func (s *UpdateServicePrimaryTaskSetInput) SetService(v string) *UpdateServicePrimaryTaskSetInput { 16334 s.Service = &v 16335 return s 16336} 16337 16338type UpdateServicePrimaryTaskSetOutput struct { 16339 _ struct{} `type:"structure"` 16340 16341 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 16342 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 16343 // desired number of tasks, how many tasks are running, and whether the task 16344 // set serves production traffic. 16345 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 16346} 16347 16348// String returns the string representation 16349func (s UpdateServicePrimaryTaskSetOutput) String() string { 16350 return awsutil.Prettify(s) 16351} 16352 16353// GoString returns the string representation 16354func (s UpdateServicePrimaryTaskSetOutput) GoString() string { 16355 return s.String() 16356} 16357 16358// SetTaskSet sets the TaskSet field's value. 16359func (s *UpdateServicePrimaryTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateServicePrimaryTaskSetOutput { 16360 s.TaskSet = v 16361 return s 16362} 16363 16364type UpdateTaskSetInput struct { 16365 _ struct{} `type:"structure"` 16366 16367 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 16368 // the service that the task set exists in. 16369 // 16370 // Cluster is a required field 16371 Cluster *string `locationName:"cluster" type:"string" required:"true"` 16372 16373 // A floating-point percentage of the desired number of tasks to place and keep 16374 // running in the task set. 16375 // 16376 // Scale is a required field 16377 Scale *Scale `locationName:"scale" type:"structure" required:"true"` 16378 16379 // The short name or full Amazon Resource Name (ARN) of the service that the 16380 // task set exists in. 16381 // 16382 // Service is a required field 16383 Service *string `locationName:"service" type:"string" required:"true"` 16384 16385 // The short name or full Amazon Resource Name (ARN) of the task set to update. 16386 // 16387 // TaskSet is a required field 16388 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 16389} 16390 16391// String returns the string representation 16392func (s UpdateTaskSetInput) String() string { 16393 return awsutil.Prettify(s) 16394} 16395 16396// GoString returns the string representation 16397func (s UpdateTaskSetInput) GoString() string { 16398 return s.String() 16399} 16400 16401// Validate inspects the fields of the type to determine if they are valid. 16402func (s *UpdateTaskSetInput) Validate() error { 16403 invalidParams := request.ErrInvalidParams{Context: "UpdateTaskSetInput"} 16404 if s.Cluster == nil { 16405 invalidParams.Add(request.NewErrParamRequired("Cluster")) 16406 } 16407 if s.Scale == nil { 16408 invalidParams.Add(request.NewErrParamRequired("Scale")) 16409 } 16410 if s.Service == nil { 16411 invalidParams.Add(request.NewErrParamRequired("Service")) 16412 } 16413 if s.TaskSet == nil { 16414 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 16415 } 16416 16417 if invalidParams.Len() > 0 { 16418 return invalidParams 16419 } 16420 return nil 16421} 16422 16423// SetCluster sets the Cluster field's value. 16424func (s *UpdateTaskSetInput) SetCluster(v string) *UpdateTaskSetInput { 16425 s.Cluster = &v 16426 return s 16427} 16428 16429// SetScale sets the Scale field's value. 16430func (s *UpdateTaskSetInput) SetScale(v *Scale) *UpdateTaskSetInput { 16431 s.Scale = v 16432 return s 16433} 16434 16435// SetService sets the Service field's value. 16436func (s *UpdateTaskSetInput) SetService(v string) *UpdateTaskSetInput { 16437 s.Service = &v 16438 return s 16439} 16440 16441// SetTaskSet sets the TaskSet field's value. 16442func (s *UpdateTaskSetInput) SetTaskSet(v string) *UpdateTaskSetInput { 16443 s.TaskSet = &v 16444 return s 16445} 16446 16447type UpdateTaskSetOutput struct { 16448 _ struct{} `type:"structure"` 16449 16450 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 16451 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 16452 // desired number of tasks, how many tasks are running, and whether the task 16453 // set serves production traffic. 16454 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 16455} 16456 16457// String returns the string representation 16458func (s UpdateTaskSetOutput) String() string { 16459 return awsutil.Prettify(s) 16460} 16461 16462// GoString returns the string representation 16463func (s UpdateTaskSetOutput) GoString() string { 16464 return s.String() 16465} 16466 16467// SetTaskSet sets the TaskSet field's value. 16468func (s *UpdateTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateTaskSetOutput { 16469 s.TaskSet = v 16470 return s 16471} 16472 16473// The Docker and Amazon ECS container agent version information about a container 16474// instance. 16475type VersionInfo struct { 16476 _ struct{} `type:"structure"` 16477 16478 // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent 16479 // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository. 16480 AgentHash *string `locationName:"agentHash" type:"string"` 16481 16482 // The version number of the Amazon ECS container agent. 16483 AgentVersion *string `locationName:"agentVersion" type:"string"` 16484 16485 // The Docker version running on the container instance. 16486 DockerVersion *string `locationName:"dockerVersion" type:"string"` 16487} 16488 16489// String returns the string representation 16490func (s VersionInfo) String() string { 16491 return awsutil.Prettify(s) 16492} 16493 16494// GoString returns the string representation 16495func (s VersionInfo) GoString() string { 16496 return s.String() 16497} 16498 16499// SetAgentHash sets the AgentHash field's value. 16500func (s *VersionInfo) SetAgentHash(v string) *VersionInfo { 16501 s.AgentHash = &v 16502 return s 16503} 16504 16505// SetAgentVersion sets the AgentVersion field's value. 16506func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo { 16507 s.AgentVersion = &v 16508 return s 16509} 16510 16511// SetDockerVersion sets the DockerVersion field's value. 16512func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { 16513 s.DockerVersion = &v 16514 return s 16515} 16516 16517// A data volume used in a task definition. For tasks that use a Docker volume, 16518// specify a DockerVolumeConfiguration. For tasks that use a bind mount host 16519// volume, specify a host and optional sourcePath. For more information, see 16520// Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). 16521type Volume struct { 16522 _ struct{} `type:"structure"` 16523 16524 // This parameter is specified when you are using Docker volumes. Docker volumes 16525 // are only supported when you are using the EC2 launch type. Windows containers 16526 // only support the use of the local driver. To use bind mounts, specify a host 16527 // instead. 16528 DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` 16529 16530 // This parameter is specified when you are using bind mount host volumes. Bind 16531 // mount host volumes are supported when you are using either the EC2 or Fargate 16532 // launch types. The contents of the host parameter determine whether your bind 16533 // mount host volume persists on the host container instance and where it is 16534 // stored. If the host parameter is empty, then the Docker daemon assigns a 16535 // host path for your data volume. However, the data is not guaranteed to persist 16536 // after the containers associated with it stop running. 16537 // 16538 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 16539 // Windows containers cannot mount directories on a different drive, and mount 16540 // point cannot be across drives. For example, you can mount C:\my\path:C:\my\path 16541 // and D:\:D:\, but not D:\my\path:C:\my\path or D:\:C:\my\path. 16542 Host *HostVolumeProperties `locationName:"host" type:"structure"` 16543 16544 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 16545 // and hyphens are allowed. This name is referenced in the sourceVolume parameter 16546 // of container definition mountPoints. 16547 Name *string `locationName:"name" type:"string"` 16548} 16549 16550// String returns the string representation 16551func (s Volume) String() string { 16552 return awsutil.Prettify(s) 16553} 16554 16555// GoString returns the string representation 16556func (s Volume) GoString() string { 16557 return s.String() 16558} 16559 16560// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value. 16561func (s *Volume) SetDockerVolumeConfiguration(v *DockerVolumeConfiguration) *Volume { 16562 s.DockerVolumeConfiguration = v 16563 return s 16564} 16565 16566// SetHost sets the Host field's value. 16567func (s *Volume) SetHost(v *HostVolumeProperties) *Volume { 16568 s.Host = v 16569 return s 16570} 16571 16572// SetName sets the Name field's value. 16573func (s *Volume) SetName(v string) *Volume { 16574 s.Name = &v 16575 return s 16576} 16577 16578// Details on a data volume from another container in the same task definition. 16579type VolumeFrom struct { 16580 _ struct{} `type:"structure"` 16581 16582 // If this value is true, the container has read-only access to the volume. 16583 // If this value is false, then the container can write to the volume. The default 16584 // value is false. 16585 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 16586 16587 // The name of another container within the same task definition from which 16588 // to mount volumes. 16589 SourceContainer *string `locationName:"sourceContainer" type:"string"` 16590} 16591 16592// String returns the string representation 16593func (s VolumeFrom) String() string { 16594 return awsutil.Prettify(s) 16595} 16596 16597// GoString returns the string representation 16598func (s VolumeFrom) GoString() string { 16599 return s.String() 16600} 16601 16602// SetReadOnly sets the ReadOnly field's value. 16603func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom { 16604 s.ReadOnly = &v 16605 return s 16606} 16607 16608// SetSourceContainer sets the SourceContainer field's value. 16609func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom { 16610 s.SourceContainer = &v 16611 return s 16612} 16613 16614const ( 16615 // AgentUpdateStatusPending is a AgentUpdateStatus enum value 16616 AgentUpdateStatusPending = "PENDING" 16617 16618 // AgentUpdateStatusStaging is a AgentUpdateStatus enum value 16619 AgentUpdateStatusStaging = "STAGING" 16620 16621 // AgentUpdateStatusStaged is a AgentUpdateStatus enum value 16622 AgentUpdateStatusStaged = "STAGED" 16623 16624 // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value 16625 AgentUpdateStatusUpdating = "UPDATING" 16626 16627 // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value 16628 AgentUpdateStatusUpdated = "UPDATED" 16629 16630 // AgentUpdateStatusFailed is a AgentUpdateStatus enum value 16631 AgentUpdateStatusFailed = "FAILED" 16632) 16633 16634const ( 16635 // AssignPublicIpEnabled is a AssignPublicIp enum value 16636 AssignPublicIpEnabled = "ENABLED" 16637 16638 // AssignPublicIpDisabled is a AssignPublicIp enum value 16639 AssignPublicIpDisabled = "DISABLED" 16640) 16641 16642const ( 16643 // ClusterFieldStatistics is a ClusterField enum value 16644 ClusterFieldStatistics = "STATISTICS" 16645 16646 // ClusterFieldTags is a ClusterField enum value 16647 ClusterFieldTags = "TAGS" 16648) 16649 16650const ( 16651 // ClusterSettingNameContainerInsights is a ClusterSettingName enum value 16652 ClusterSettingNameContainerInsights = "containerInsights" 16653) 16654 16655const ( 16656 // CompatibilityEc2 is a Compatibility enum value 16657 CompatibilityEc2 = "EC2" 16658 16659 // CompatibilityFargate is a Compatibility enum value 16660 CompatibilityFargate = "FARGATE" 16661) 16662 16663const ( 16664 // ConnectivityConnected is a Connectivity enum value 16665 ConnectivityConnected = "CONNECTED" 16666 16667 // ConnectivityDisconnected is a Connectivity enum value 16668 ConnectivityDisconnected = "DISCONNECTED" 16669) 16670 16671const ( 16672 // ContainerConditionStart is a ContainerCondition enum value 16673 ContainerConditionStart = "START" 16674 16675 // ContainerConditionComplete is a ContainerCondition enum value 16676 ContainerConditionComplete = "COMPLETE" 16677 16678 // ContainerConditionSuccess is a ContainerCondition enum value 16679 ContainerConditionSuccess = "SUCCESS" 16680 16681 // ContainerConditionHealthy is a ContainerCondition enum value 16682 ContainerConditionHealthy = "HEALTHY" 16683) 16684 16685const ( 16686 // ContainerInstanceFieldTags is a ContainerInstanceField enum value 16687 ContainerInstanceFieldTags = "TAGS" 16688) 16689 16690const ( 16691 // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value 16692 ContainerInstanceStatusActive = "ACTIVE" 16693 16694 // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value 16695 ContainerInstanceStatusDraining = "DRAINING" 16696 16697 // ContainerInstanceStatusRegistering is a ContainerInstanceStatus enum value 16698 ContainerInstanceStatusRegistering = "REGISTERING" 16699 16700 // ContainerInstanceStatusDeregistering is a ContainerInstanceStatus enum value 16701 ContainerInstanceStatusDeregistering = "DEREGISTERING" 16702 16703 // ContainerInstanceStatusRegistrationFailed is a ContainerInstanceStatus enum value 16704 ContainerInstanceStatusRegistrationFailed = "REGISTRATION_FAILED" 16705) 16706 16707const ( 16708 // DeploymentControllerTypeEcs is a DeploymentControllerType enum value 16709 DeploymentControllerTypeEcs = "ECS" 16710 16711 // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value 16712 DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY" 16713 16714 // DeploymentControllerTypeExternal is a DeploymentControllerType enum value 16715 DeploymentControllerTypeExternal = "EXTERNAL" 16716) 16717 16718const ( 16719 // DesiredStatusRunning is a DesiredStatus enum value 16720 DesiredStatusRunning = "RUNNING" 16721 16722 // DesiredStatusPending is a DesiredStatus enum value 16723 DesiredStatusPending = "PENDING" 16724 16725 // DesiredStatusStopped is a DesiredStatus enum value 16726 DesiredStatusStopped = "STOPPED" 16727) 16728 16729const ( 16730 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 16731 DeviceCgroupPermissionRead = "read" 16732 16733 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 16734 DeviceCgroupPermissionWrite = "write" 16735 16736 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 16737 DeviceCgroupPermissionMknod = "mknod" 16738) 16739 16740const ( 16741 // FirelensConfigurationTypeFluentd is a FirelensConfigurationType enum value 16742 FirelensConfigurationTypeFluentd = "fluentd" 16743 16744 // FirelensConfigurationTypeFluentbit is a FirelensConfigurationType enum value 16745 FirelensConfigurationTypeFluentbit = "fluentbit" 16746) 16747 16748const ( 16749 // HealthStatusHealthy is a HealthStatus enum value 16750 HealthStatusHealthy = "HEALTHY" 16751 16752 // HealthStatusUnhealthy is a HealthStatus enum value 16753 HealthStatusUnhealthy = "UNHEALTHY" 16754 16755 // HealthStatusUnknown is a HealthStatus enum value 16756 HealthStatusUnknown = "UNKNOWN" 16757) 16758 16759const ( 16760 // IpcModeHost is a IpcMode enum value 16761 IpcModeHost = "host" 16762 16763 // IpcModeTask is a IpcMode enum value 16764 IpcModeTask = "task" 16765 16766 // IpcModeNone is a IpcMode enum value 16767 IpcModeNone = "none" 16768) 16769 16770const ( 16771 // LaunchTypeEc2 is a LaunchType enum value 16772 LaunchTypeEc2 = "EC2" 16773 16774 // LaunchTypeFargate is a LaunchType enum value 16775 LaunchTypeFargate = "FARGATE" 16776) 16777 16778const ( 16779 // LogDriverJsonFile is a LogDriver enum value 16780 LogDriverJsonFile = "json-file" 16781 16782 // LogDriverSyslog is a LogDriver enum value 16783 LogDriverSyslog = "syslog" 16784 16785 // LogDriverJournald is a LogDriver enum value 16786 LogDriverJournald = "journald" 16787 16788 // LogDriverGelf is a LogDriver enum value 16789 LogDriverGelf = "gelf" 16790 16791 // LogDriverFluentd is a LogDriver enum value 16792 LogDriverFluentd = "fluentd" 16793 16794 // LogDriverAwslogs is a LogDriver enum value 16795 LogDriverAwslogs = "awslogs" 16796 16797 // LogDriverSplunk is a LogDriver enum value 16798 LogDriverSplunk = "splunk" 16799 16800 // LogDriverAwsfirelens is a LogDriver enum value 16801 LogDriverAwsfirelens = "awsfirelens" 16802) 16803 16804const ( 16805 // NetworkModeBridge is a NetworkMode enum value 16806 NetworkModeBridge = "bridge" 16807 16808 // NetworkModeHost is a NetworkMode enum value 16809 NetworkModeHost = "host" 16810 16811 // NetworkModeAwsvpc is a NetworkMode enum value 16812 NetworkModeAwsvpc = "awsvpc" 16813 16814 // NetworkModeNone is a NetworkMode enum value 16815 NetworkModeNone = "none" 16816) 16817 16818const ( 16819 // PidModeHost is a PidMode enum value 16820 PidModeHost = "host" 16821 16822 // PidModeTask is a PidMode enum value 16823 PidModeTask = "task" 16824) 16825 16826const ( 16827 // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value 16828 PlacementConstraintTypeDistinctInstance = "distinctInstance" 16829 16830 // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value 16831 PlacementConstraintTypeMemberOf = "memberOf" 16832) 16833 16834const ( 16835 // PlacementStrategyTypeRandom is a PlacementStrategyType enum value 16836 PlacementStrategyTypeRandom = "random" 16837 16838 // PlacementStrategyTypeSpread is a PlacementStrategyType enum value 16839 PlacementStrategyTypeSpread = "spread" 16840 16841 // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value 16842 PlacementStrategyTypeBinpack = "binpack" 16843) 16844 16845const ( 16846 // PlatformDeviceTypeGpu is a PlatformDeviceType enum value 16847 PlatformDeviceTypeGpu = "GPU" 16848) 16849 16850const ( 16851 // PropagateTagsTaskDefinition is a PropagateTags enum value 16852 PropagateTagsTaskDefinition = "TASK_DEFINITION" 16853 16854 // PropagateTagsService is a PropagateTags enum value 16855 PropagateTagsService = "SERVICE" 16856) 16857 16858const ( 16859 // ProxyConfigurationTypeAppmesh is a ProxyConfigurationType enum value 16860 ProxyConfigurationTypeAppmesh = "APPMESH" 16861) 16862 16863const ( 16864 // ResourceTypeGpu is a ResourceType enum value 16865 ResourceTypeGpu = "GPU" 16866 16867 // ResourceTypeInferenceAccelerator is a ResourceType enum value 16868 ResourceTypeInferenceAccelerator = "InferenceAccelerator" 16869) 16870 16871const ( 16872 // ScaleUnitPercent is a ScaleUnit enum value 16873 ScaleUnitPercent = "PERCENT" 16874) 16875 16876const ( 16877 // SchedulingStrategyReplica is a SchedulingStrategy enum value 16878 SchedulingStrategyReplica = "REPLICA" 16879 16880 // SchedulingStrategyDaemon is a SchedulingStrategy enum value 16881 SchedulingStrategyDaemon = "DAEMON" 16882) 16883 16884const ( 16885 // ScopeTask is a Scope enum value 16886 ScopeTask = "task" 16887 16888 // ScopeShared is a Scope enum value 16889 ScopeShared = "shared" 16890) 16891 16892const ( 16893 // ServiceFieldTags is a ServiceField enum value 16894 ServiceFieldTags = "TAGS" 16895) 16896 16897const ( 16898 // SettingNameServiceLongArnFormat is a SettingName enum value 16899 SettingNameServiceLongArnFormat = "serviceLongArnFormat" 16900 16901 // SettingNameTaskLongArnFormat is a SettingName enum value 16902 SettingNameTaskLongArnFormat = "taskLongArnFormat" 16903 16904 // SettingNameContainerInstanceLongArnFormat is a SettingName enum value 16905 SettingNameContainerInstanceLongArnFormat = "containerInstanceLongArnFormat" 16906 16907 // SettingNameAwsvpcTrunking is a SettingName enum value 16908 SettingNameAwsvpcTrunking = "awsvpcTrunking" 16909 16910 // SettingNameContainerInsights is a SettingName enum value 16911 SettingNameContainerInsights = "containerInsights" 16912) 16913 16914const ( 16915 // SortOrderAsc is a SortOrder enum value 16916 SortOrderAsc = "ASC" 16917 16918 // SortOrderDesc is a SortOrder enum value 16919 SortOrderDesc = "DESC" 16920) 16921 16922const ( 16923 // StabilityStatusSteadyState is a StabilityStatus enum value 16924 StabilityStatusSteadyState = "STEADY_STATE" 16925 16926 // StabilityStatusStabilizing is a StabilityStatus enum value 16927 StabilityStatusStabilizing = "STABILIZING" 16928) 16929 16930const ( 16931 // TargetTypeContainerInstance is a TargetType enum value 16932 TargetTypeContainerInstance = "container-instance" 16933) 16934 16935const ( 16936 // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value 16937 TaskDefinitionFamilyStatusActive = "ACTIVE" 16938 16939 // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value 16940 TaskDefinitionFamilyStatusInactive = "INACTIVE" 16941 16942 // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value 16943 TaskDefinitionFamilyStatusAll = "ALL" 16944) 16945 16946const ( 16947 // TaskDefinitionFieldTags is a TaskDefinitionField enum value 16948 TaskDefinitionFieldTags = "TAGS" 16949) 16950 16951const ( 16952 // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value 16953 TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf" 16954) 16955 16956const ( 16957 // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value 16958 TaskDefinitionStatusActive = "ACTIVE" 16959 16960 // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value 16961 TaskDefinitionStatusInactive = "INACTIVE" 16962) 16963 16964const ( 16965 // TaskFieldTags is a TaskField enum value 16966 TaskFieldTags = "TAGS" 16967) 16968 16969const ( 16970 // TaskStopCodeTaskFailedToStart is a TaskStopCode enum value 16971 TaskStopCodeTaskFailedToStart = "TaskFailedToStart" 16972 16973 // TaskStopCodeEssentialContainerExited is a TaskStopCode enum value 16974 TaskStopCodeEssentialContainerExited = "EssentialContainerExited" 16975 16976 // TaskStopCodeUserInitiated is a TaskStopCode enum value 16977 TaskStopCodeUserInitiated = "UserInitiated" 16978) 16979 16980const ( 16981 // TransportProtocolTcp is a TransportProtocol enum value 16982 TransportProtocolTcp = "tcp" 16983 16984 // TransportProtocolUdp is a TransportProtocol enum value 16985 TransportProtocolUdp = "udp" 16986) 16987 16988const ( 16989 // UlimitNameCore is a UlimitName enum value 16990 UlimitNameCore = "core" 16991 16992 // UlimitNameCpu is a UlimitName enum value 16993 UlimitNameCpu = "cpu" 16994 16995 // UlimitNameData is a UlimitName enum value 16996 UlimitNameData = "data" 16997 16998 // UlimitNameFsize is a UlimitName enum value 16999 UlimitNameFsize = "fsize" 17000 17001 // UlimitNameLocks is a UlimitName enum value 17002 UlimitNameLocks = "locks" 17003 17004 // UlimitNameMemlock is a UlimitName enum value 17005 UlimitNameMemlock = "memlock" 17006 17007 // UlimitNameMsgqueue is a UlimitName enum value 17008 UlimitNameMsgqueue = "msgqueue" 17009 17010 // UlimitNameNice is a UlimitName enum value 17011 UlimitNameNice = "nice" 17012 17013 // UlimitNameNofile is a UlimitName enum value 17014 UlimitNameNofile = "nofile" 17015 17016 // UlimitNameNproc is a UlimitName enum value 17017 UlimitNameNproc = "nproc" 17018 17019 // UlimitNameRss is a UlimitName enum value 17020 UlimitNameRss = "rss" 17021 17022 // UlimitNameRtprio is a UlimitName enum value 17023 UlimitNameRtprio = "rtprio" 17024 17025 // UlimitNameRttime is a UlimitName enum value 17026 UlimitNameRttime = "rttime" 17027 17028 // UlimitNameSigpending is a UlimitName enum value 17029 UlimitNameSigpending = "sigpending" 17030 17031 // UlimitNameStack is a UlimitName enum value 17032 UlimitNameStack = "stack" 17033) 17034