1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package eks 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/restjson" 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/eks-2017-11-01/CreateCluster 42func (c *EKS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { 43 op := &request.Operation{ 44 Name: opCreateCluster, 45 HTTPMethod: "POST", 46 HTTPPath: "/clusters", 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 Elastic Kubernetes Service. 59// 60// Creates an Amazon EKS control plane. 61// 62// The Amazon EKS control plane consists of control plane instances that run 63// the Kubernetes software, such as etcd and the API server. The control plane 64// runs in an account managed by AWS, and the Kubernetes API is exposed via 65// the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane 66// is single-tenant and unique and runs on its own set of Amazon EC2 instances. 67// 68// The cluster control plane is provisioned across multiple Availability Zones 69// and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS 70// also provisions elastic network interfaces in your VPC subnets to provide 71// connectivity from the control plane instances to the worker nodes (for example, 72// to support kubectl exec, logs, and proxy data flows). 73// 74// Amazon EKS worker nodes run in your AWS account and connect to your cluster's 75// control plane via the Kubernetes API server endpoint and a certificate file 76// that is created for your cluster. 77// 78// You can use the endpointPublicAccess and endpointPrivateAccess parameters 79// to enable or disable public and private access to your cluster's Kubernetes 80// API server endpoint. By default, public access is enabled, and private access 81// is disabled. For more information, see Amazon EKS Cluster Endpoint Access 82// Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 83// in the Amazon EKS User Guide . 84// 85// You can use the logging parameter to enable or disable exporting the Kubernetes 86// control plane logs for your cluster to CloudWatch Logs. By default, cluster 87// control plane logs aren't exported to CloudWatch Logs. For more information, 88// see Amazon EKS Cluster Control Plane Logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) 89// in the Amazon EKS User Guide . 90// 91// CloudWatch Logs ingestion, archive storage, and data scanning rates apply 92// to exported control plane logs. For more information, see Amazon CloudWatch 93// Pricing (http://aws.amazon.com/cloudwatch/pricing/). 94// 95// Cluster creation typically takes between 10 and 15 minutes. After you create 96// an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate 97// with the API server and launch worker nodes into your cluster. For more information, 98// see Managing Cluster Authentication (https://docs.aws.amazon.com/eks/latest/userguide/managing-auth.html) 99// and Launching Amazon EKS Worker Nodes (https://docs.aws.amazon.com/eks/latest/userguide/launch-workers.html) 100// in the Amazon EKS User Guide. 101// 102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 103// with awserr.Error's Code and Message methods to get detailed information about 104// the error. 105// 106// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 107// API operation CreateCluster for usage and error information. 108// 109// Returned Error Types: 110// * ResourceInUseException 111// The specified resource is in use. 112// 113// * ResourceLimitExceededException 114// You have encountered a service limit on the specified resource. 115// 116// * InvalidParameterException 117// The specified parameter is invalid. Review the available parameters for the 118// API request. 119// 120// * ClientException 121// These errors are usually caused by a client action. Actions can include using 122// an action or resource on behalf of a user that doesn't have permissions to 123// use the action or resource or specifying an identifier that is not valid. 124// 125// * ServerException 126// These errors are usually caused by a server-side issue. 127// 128// * ServiceUnavailableException 129// The service is unavailable. Back off and retry the operation. 130// 131// * UnsupportedAvailabilityZoneException 132// At least one of your specified cluster subnets is in an Availability Zone 133// that does not support Amazon EKS. The exception output specifies the supported 134// Availability Zones for your account, from which you can choose subnets for 135// your cluster. 136// 137// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateCluster 138func (c *EKS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { 139 req, out := c.CreateClusterRequest(input) 140 return out, req.Send() 141} 142 143// CreateClusterWithContext is the same as CreateCluster with the addition of 144// the ability to pass a context and additional request options. 145// 146// See CreateCluster for details on how to use this API operation. 147// 148// The context must be non-nil and will be used for request cancellation. If 149// the context is nil a panic will occur. In the future the SDK may create 150// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 151// for more information on using Contexts. 152func (c *EKS) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { 153 req, out := c.CreateClusterRequest(input) 154 req.SetContext(ctx) 155 req.ApplyOptions(opts...) 156 return out, req.Send() 157} 158 159const opCreateFargateProfile = "CreateFargateProfile" 160 161// CreateFargateProfileRequest generates a "aws/request.Request" representing the 162// client's request for the CreateFargateProfile operation. The "output" return 163// value will be populated with the request's response once the request completes 164// successfully. 165// 166// Use "Send" method on the returned Request to send the API call to the service. 167// the "output" return value is not valid until after Send returns without error. 168// 169// See CreateFargateProfile for more information on using the CreateFargateProfile 170// API call, and error handling. 171// 172// This method is useful when you want to inject custom logic or configuration 173// into the SDK's request lifecycle. Such as custom headers, or retry logic. 174// 175// 176// // Example sending a request using the CreateFargateProfileRequest method. 177// req, resp := client.CreateFargateProfileRequest(params) 178// 179// err := req.Send() 180// if err == nil { // resp is now filled 181// fmt.Println(resp) 182// } 183// 184// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateFargateProfile 185func (c *EKS) CreateFargateProfileRequest(input *CreateFargateProfileInput) (req *request.Request, output *CreateFargateProfileOutput) { 186 op := &request.Operation{ 187 Name: opCreateFargateProfile, 188 HTTPMethod: "POST", 189 HTTPPath: "/clusters/{name}/fargate-profiles", 190 } 191 192 if input == nil { 193 input = &CreateFargateProfileInput{} 194 } 195 196 output = &CreateFargateProfileOutput{} 197 req = c.newRequest(op, input, output) 198 return 199} 200 201// CreateFargateProfile API operation for Amazon Elastic Kubernetes Service. 202// 203// Creates an AWS Fargate profile for your Amazon EKS cluster. You must have 204// at least one Fargate profile in a cluster to be able to run pods on Fargate. 205// 206// The Fargate profile allows an administrator to declare which pods run on 207// Fargate and specify which pods run on which Fargate profile. This declaration 208// is done through the profile’s selectors. Each profile can have up to five 209// selectors that contain a namespace and labels. A namespace is required for 210// every selector. The label field consists of multiple optional key-value pairs. 211// Pods that match the selectors are scheduled on Fargate. If a to-be-scheduled 212// pod matches any of the selectors in the Fargate profile, then that pod is 213// run on Fargate. 214// 215// When you create a Fargate profile, you must specify a pod execution role 216// to use with the pods that are scheduled with the profile. This role is added 217// to the cluster's Kubernetes Role Based Access Control (https://kubernetes.io/docs/admin/authorization/rbac/) 218// (RBAC) for authorization so that the kubelet that is running on the Fargate 219// infrastructure can register with your Amazon EKS cluster so that it can appear 220// in your cluster as a node. The pod execution role also provides IAM permissions 221// to the Fargate infrastructure to allow read access to Amazon ECR image repositories. 222// For more information, see Pod Execution Role (https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html) 223// in the Amazon EKS User Guide. 224// 225// Fargate profiles are immutable. However, you can create a new updated profile 226// to replace an existing profile and then delete the original after the updated 227// profile has finished creating. 228// 229// If any Fargate profiles in a cluster are in the DELETING status, you must 230// wait for that Fargate profile to finish deleting before you can create any 231// other profiles in that cluster. 232// 233// For more information, see AWS Fargate Profile (https://docs.aws.amazon.com/eks/latest/userguide/fargate-profile.html) 234// in the Amazon EKS User Guide. 235// 236// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 237// with awserr.Error's Code and Message methods to get detailed information about 238// the error. 239// 240// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 241// API operation CreateFargateProfile for usage and error information. 242// 243// Returned Error Types: 244// * InvalidParameterException 245// The specified parameter is invalid. Review the available parameters for the 246// API request. 247// 248// * InvalidRequestException 249// The request is invalid given the state of the cluster. Check the state of 250// the cluster and the associated operations. 251// 252// * ClientException 253// These errors are usually caused by a client action. Actions can include using 254// an action or resource on behalf of a user that doesn't have permissions to 255// use the action or resource or specifying an identifier that is not valid. 256// 257// * ServerException 258// These errors are usually caused by a server-side issue. 259// 260// * ResourceLimitExceededException 261// You have encountered a service limit on the specified resource. 262// 263// * UnsupportedAvailabilityZoneException 264// At least one of your specified cluster subnets is in an Availability Zone 265// that does not support Amazon EKS. The exception output specifies the supported 266// Availability Zones for your account, from which you can choose subnets for 267// your cluster. 268// 269// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateFargateProfile 270func (c *EKS) CreateFargateProfile(input *CreateFargateProfileInput) (*CreateFargateProfileOutput, error) { 271 req, out := c.CreateFargateProfileRequest(input) 272 return out, req.Send() 273} 274 275// CreateFargateProfileWithContext is the same as CreateFargateProfile with the addition of 276// the ability to pass a context and additional request options. 277// 278// See CreateFargateProfile for details on how to use this API operation. 279// 280// The context must be non-nil and will be used for request cancellation. If 281// the context is nil a panic will occur. In the future the SDK may create 282// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 283// for more information on using Contexts. 284func (c *EKS) CreateFargateProfileWithContext(ctx aws.Context, input *CreateFargateProfileInput, opts ...request.Option) (*CreateFargateProfileOutput, error) { 285 req, out := c.CreateFargateProfileRequest(input) 286 req.SetContext(ctx) 287 req.ApplyOptions(opts...) 288 return out, req.Send() 289} 290 291const opCreateNodegroup = "CreateNodegroup" 292 293// CreateNodegroupRequest generates a "aws/request.Request" representing the 294// client's request for the CreateNodegroup operation. The "output" return 295// value will be populated with the request's response once the request completes 296// successfully. 297// 298// Use "Send" method on the returned Request to send the API call to the service. 299// the "output" return value is not valid until after Send returns without error. 300// 301// See CreateNodegroup for more information on using the CreateNodegroup 302// API call, and error handling. 303// 304// This method is useful when you want to inject custom logic or configuration 305// into the SDK's request lifecycle. Such as custom headers, or retry logic. 306// 307// 308// // Example sending a request using the CreateNodegroupRequest method. 309// req, resp := client.CreateNodegroupRequest(params) 310// 311// err := req.Send() 312// if err == nil { // resp is now filled 313// fmt.Println(resp) 314// } 315// 316// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateNodegroup 317func (c *EKS) CreateNodegroupRequest(input *CreateNodegroupInput) (req *request.Request, output *CreateNodegroupOutput) { 318 op := &request.Operation{ 319 Name: opCreateNodegroup, 320 HTTPMethod: "POST", 321 HTTPPath: "/clusters/{name}/node-groups", 322 } 323 324 if input == nil { 325 input = &CreateNodegroupInput{} 326 } 327 328 output = &CreateNodegroupOutput{} 329 req = c.newRequest(op, input, output) 330 return 331} 332 333// CreateNodegroup API operation for Amazon Elastic Kubernetes Service. 334// 335// Creates a managed worker node group for an Amazon EKS cluster. You can only 336// create a node group for your cluster that is equal to the current Kubernetes 337// version for the cluster. All node groups are created with the latest AMI 338// release version for the respective minor Kubernetes version of the cluster, 339// unless you deploy a custom AMI using a launch template. For more information 340// about using launch templates, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html). 341// 342// An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group and 343// associated Amazon EC2 instances that are managed by AWS for an Amazon EKS 344// cluster. Each node group uses a version of the Amazon EKS-optimized Amazon 345// Linux 2 AMI. For more information, see Managed Node Groups (https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html) 346// in the Amazon EKS User Guide. 347// 348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 349// with awserr.Error's Code and Message methods to get detailed information about 350// the error. 351// 352// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 353// API operation CreateNodegroup for usage and error information. 354// 355// Returned Error Types: 356// * ResourceInUseException 357// The specified resource is in use. 358// 359// * ResourceLimitExceededException 360// You have encountered a service limit on the specified resource. 361// 362// * InvalidRequestException 363// The request is invalid given the state of the cluster. Check the state of 364// the cluster and the associated operations. 365// 366// * InvalidParameterException 367// The specified parameter is invalid. Review the available parameters for the 368// API request. 369// 370// * ClientException 371// These errors are usually caused by a client action. Actions can include using 372// an action or resource on behalf of a user that doesn't have permissions to 373// use the action or resource or specifying an identifier that is not valid. 374// 375// * ServerException 376// These errors are usually caused by a server-side issue. 377// 378// * ServiceUnavailableException 379// The service is unavailable. Back off and retry the operation. 380// 381// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateNodegroup 382func (c *EKS) CreateNodegroup(input *CreateNodegroupInput) (*CreateNodegroupOutput, error) { 383 req, out := c.CreateNodegroupRequest(input) 384 return out, req.Send() 385} 386 387// CreateNodegroupWithContext is the same as CreateNodegroup with the addition of 388// the ability to pass a context and additional request options. 389// 390// See CreateNodegroup for details on how to use this API operation. 391// 392// The context must be non-nil and will be used for request cancellation. If 393// the context is nil a panic will occur. In the future the SDK may create 394// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 395// for more information on using Contexts. 396func (c *EKS) CreateNodegroupWithContext(ctx aws.Context, input *CreateNodegroupInput, opts ...request.Option) (*CreateNodegroupOutput, error) { 397 req, out := c.CreateNodegroupRequest(input) 398 req.SetContext(ctx) 399 req.ApplyOptions(opts...) 400 return out, req.Send() 401} 402 403const opDeleteCluster = "DeleteCluster" 404 405// DeleteClusterRequest generates a "aws/request.Request" representing the 406// client's request for the DeleteCluster operation. The "output" return 407// value will be populated with the request's response once the request completes 408// successfully. 409// 410// Use "Send" method on the returned Request to send the API call to the service. 411// the "output" return value is not valid until after Send returns without error. 412// 413// See DeleteCluster for more information on using the DeleteCluster 414// API call, and error handling. 415// 416// This method is useful when you want to inject custom logic or configuration 417// into the SDK's request lifecycle. Such as custom headers, or retry logic. 418// 419// 420// // Example sending a request using the DeleteClusterRequest method. 421// req, resp := client.DeleteClusterRequest(params) 422// 423// err := req.Send() 424// if err == nil { // resp is now filled 425// fmt.Println(resp) 426// } 427// 428// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteCluster 429func (c *EKS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { 430 op := &request.Operation{ 431 Name: opDeleteCluster, 432 HTTPMethod: "DELETE", 433 HTTPPath: "/clusters/{name}", 434 } 435 436 if input == nil { 437 input = &DeleteClusterInput{} 438 } 439 440 output = &DeleteClusterOutput{} 441 req = c.newRequest(op, input, output) 442 return 443} 444 445// DeleteCluster API operation for Amazon Elastic Kubernetes Service. 446// 447// Deletes the Amazon EKS cluster control plane. 448// 449// If you have active services in your cluster that are associated with a load 450// balancer, you must delete those services before deleting the cluster so that 451// the load balancers are deleted properly. Otherwise, you can have orphaned 452// resources in your VPC that prevent you from being able to delete the VPC. 453// For more information, see Deleting a Cluster (https://docs.aws.amazon.com/eks/latest/userguide/delete-cluster.html) 454// in the Amazon EKS User Guide. 455// 456// If you have managed node groups or Fargate profiles attached to the cluster, 457// you must delete them first. For more information, see DeleteNodegroup and 458// DeleteFargateProfile. 459// 460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 461// with awserr.Error's Code and Message methods to get detailed information about 462// the error. 463// 464// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 465// API operation DeleteCluster for usage and error information. 466// 467// Returned Error Types: 468// * ResourceInUseException 469// The specified resource is in use. 470// 471// * ResourceNotFoundException 472// The specified resource could not be found. You can view your available clusters 473// with ListClusters. You can view your available managed node groups with ListNodegroups. 474// Amazon EKS clusters and node groups are Region-specific. 475// 476// * ClientException 477// These errors are usually caused by a client action. Actions can include using 478// an action or resource on behalf of a user that doesn't have permissions to 479// use the action or resource or specifying an identifier that is not valid. 480// 481// * ServerException 482// These errors are usually caused by a server-side issue. 483// 484// * ServiceUnavailableException 485// The service is unavailable. Back off and retry the operation. 486// 487// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteCluster 488func (c *EKS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { 489 req, out := c.DeleteClusterRequest(input) 490 return out, req.Send() 491} 492 493// DeleteClusterWithContext is the same as DeleteCluster with the addition of 494// the ability to pass a context and additional request options. 495// 496// See DeleteCluster for details on how to use this API operation. 497// 498// The context must be non-nil and will be used for request cancellation. If 499// the context is nil a panic will occur. In the future the SDK may create 500// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 501// for more information on using Contexts. 502func (c *EKS) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { 503 req, out := c.DeleteClusterRequest(input) 504 req.SetContext(ctx) 505 req.ApplyOptions(opts...) 506 return out, req.Send() 507} 508 509const opDeleteFargateProfile = "DeleteFargateProfile" 510 511// DeleteFargateProfileRequest generates a "aws/request.Request" representing the 512// client's request for the DeleteFargateProfile operation. The "output" return 513// value will be populated with the request's response once the request completes 514// successfully. 515// 516// Use "Send" method on the returned Request to send the API call to the service. 517// the "output" return value is not valid until after Send returns without error. 518// 519// See DeleteFargateProfile for more information on using the DeleteFargateProfile 520// API call, and error handling. 521// 522// This method is useful when you want to inject custom logic or configuration 523// into the SDK's request lifecycle. Such as custom headers, or retry logic. 524// 525// 526// // Example sending a request using the DeleteFargateProfileRequest method. 527// req, resp := client.DeleteFargateProfileRequest(params) 528// 529// err := req.Send() 530// if err == nil { // resp is now filled 531// fmt.Println(resp) 532// } 533// 534// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteFargateProfile 535func (c *EKS) DeleteFargateProfileRequest(input *DeleteFargateProfileInput) (req *request.Request, output *DeleteFargateProfileOutput) { 536 op := &request.Operation{ 537 Name: opDeleteFargateProfile, 538 HTTPMethod: "DELETE", 539 HTTPPath: "/clusters/{name}/fargate-profiles/{fargateProfileName}", 540 } 541 542 if input == nil { 543 input = &DeleteFargateProfileInput{} 544 } 545 546 output = &DeleteFargateProfileOutput{} 547 req = c.newRequest(op, input, output) 548 return 549} 550 551// DeleteFargateProfile API operation for Amazon Elastic Kubernetes Service. 552// 553// Deletes an AWS Fargate profile. 554// 555// When you delete a Fargate profile, any pods running on Fargate that were 556// created with the profile are deleted. If those pods match another Fargate 557// profile, then they are scheduled on Fargate with that profile. If they no 558// longer match any Fargate profiles, then they are not scheduled on Fargate 559// and they may remain in a pending state. 560// 561// Only one Fargate profile in a cluster can be in the DELETING status at a 562// time. You must wait for a Fargate profile to finish deleting before you can 563// delete any other profiles in that cluster. 564// 565// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 566// with awserr.Error's Code and Message methods to get detailed information about 567// the error. 568// 569// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 570// API operation DeleteFargateProfile for usage and error information. 571// 572// Returned Error Types: 573// * InvalidParameterException 574// The specified parameter is invalid. Review the available parameters for the 575// API request. 576// 577// * ClientException 578// These errors are usually caused by a client action. Actions can include using 579// an action or resource on behalf of a user that doesn't have permissions to 580// use the action or resource or specifying an identifier that is not valid. 581// 582// * ServerException 583// These errors are usually caused by a server-side issue. 584// 585// * ResourceNotFoundException 586// The specified resource could not be found. You can view your available clusters 587// with ListClusters. You can view your available managed node groups with ListNodegroups. 588// Amazon EKS clusters and node groups are Region-specific. 589// 590// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteFargateProfile 591func (c *EKS) DeleteFargateProfile(input *DeleteFargateProfileInput) (*DeleteFargateProfileOutput, error) { 592 req, out := c.DeleteFargateProfileRequest(input) 593 return out, req.Send() 594} 595 596// DeleteFargateProfileWithContext is the same as DeleteFargateProfile with the addition of 597// the ability to pass a context and additional request options. 598// 599// See DeleteFargateProfile for details on how to use this API operation. 600// 601// The context must be non-nil and will be used for request cancellation. If 602// the context is nil a panic will occur. In the future the SDK may create 603// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 604// for more information on using Contexts. 605func (c *EKS) DeleteFargateProfileWithContext(ctx aws.Context, input *DeleteFargateProfileInput, opts ...request.Option) (*DeleteFargateProfileOutput, error) { 606 req, out := c.DeleteFargateProfileRequest(input) 607 req.SetContext(ctx) 608 req.ApplyOptions(opts...) 609 return out, req.Send() 610} 611 612const opDeleteNodegroup = "DeleteNodegroup" 613 614// DeleteNodegroupRequest generates a "aws/request.Request" representing the 615// client's request for the DeleteNodegroup operation. The "output" return 616// value will be populated with the request's response once the request completes 617// successfully. 618// 619// Use "Send" method on the returned Request to send the API call to the service. 620// the "output" return value is not valid until after Send returns without error. 621// 622// See DeleteNodegroup for more information on using the DeleteNodegroup 623// API call, and error handling. 624// 625// This method is useful when you want to inject custom logic or configuration 626// into the SDK's request lifecycle. Such as custom headers, or retry logic. 627// 628// 629// // Example sending a request using the DeleteNodegroupRequest method. 630// req, resp := client.DeleteNodegroupRequest(params) 631// 632// err := req.Send() 633// if err == nil { // resp is now filled 634// fmt.Println(resp) 635// } 636// 637// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteNodegroup 638func (c *EKS) DeleteNodegroupRequest(input *DeleteNodegroupInput) (req *request.Request, output *DeleteNodegroupOutput) { 639 op := &request.Operation{ 640 Name: opDeleteNodegroup, 641 HTTPMethod: "DELETE", 642 HTTPPath: "/clusters/{name}/node-groups/{nodegroupName}", 643 } 644 645 if input == nil { 646 input = &DeleteNodegroupInput{} 647 } 648 649 output = &DeleteNodegroupOutput{} 650 req = c.newRequest(op, input, output) 651 return 652} 653 654// DeleteNodegroup API operation for Amazon Elastic Kubernetes Service. 655// 656// Deletes an Amazon EKS node group for a cluster. 657// 658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 659// with awserr.Error's Code and Message methods to get detailed information about 660// the error. 661// 662// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 663// API operation DeleteNodegroup for usage and error information. 664// 665// Returned Error Types: 666// * ResourceInUseException 667// The specified resource is in use. 668// 669// * ResourceNotFoundException 670// The specified resource could not be found. You can view your available clusters 671// with ListClusters. You can view your available managed node groups with ListNodegroups. 672// Amazon EKS clusters and node groups are Region-specific. 673// 674// * InvalidParameterException 675// The specified parameter is invalid. Review the available parameters for the 676// API request. 677// 678// * ClientException 679// These errors are usually caused by a client action. Actions can include using 680// an action or resource on behalf of a user that doesn't have permissions to 681// use the action or resource or specifying an identifier that is not valid. 682// 683// * ServerException 684// These errors are usually caused by a server-side issue. 685// 686// * ServiceUnavailableException 687// The service is unavailable. Back off and retry the operation. 688// 689// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteNodegroup 690func (c *EKS) DeleteNodegroup(input *DeleteNodegroupInput) (*DeleteNodegroupOutput, error) { 691 req, out := c.DeleteNodegroupRequest(input) 692 return out, req.Send() 693} 694 695// DeleteNodegroupWithContext is the same as DeleteNodegroup with the addition of 696// the ability to pass a context and additional request options. 697// 698// See DeleteNodegroup for details on how to use this API operation. 699// 700// The context must be non-nil and will be used for request cancellation. If 701// the context is nil a panic will occur. In the future the SDK may create 702// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 703// for more information on using Contexts. 704func (c *EKS) DeleteNodegroupWithContext(ctx aws.Context, input *DeleteNodegroupInput, opts ...request.Option) (*DeleteNodegroupOutput, error) { 705 req, out := c.DeleteNodegroupRequest(input) 706 req.SetContext(ctx) 707 req.ApplyOptions(opts...) 708 return out, req.Send() 709} 710 711const opDescribeCluster = "DescribeCluster" 712 713// DescribeClusterRequest generates a "aws/request.Request" representing the 714// client's request for the DescribeCluster operation. The "output" return 715// value will be populated with the request's response once the request completes 716// successfully. 717// 718// Use "Send" method on the returned Request to send the API call to the service. 719// the "output" return value is not valid until after Send returns without error. 720// 721// See DescribeCluster for more information on using the DescribeCluster 722// API call, and error handling. 723// 724// This method is useful when you want to inject custom logic or configuration 725// into the SDK's request lifecycle. Such as custom headers, or retry logic. 726// 727// 728// // Example sending a request using the DescribeClusterRequest method. 729// req, resp := client.DescribeClusterRequest(params) 730// 731// err := req.Send() 732// if err == nil { // resp is now filled 733// fmt.Println(resp) 734// } 735// 736// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeCluster 737func (c *EKS) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) { 738 op := &request.Operation{ 739 Name: opDescribeCluster, 740 HTTPMethod: "GET", 741 HTTPPath: "/clusters/{name}", 742 } 743 744 if input == nil { 745 input = &DescribeClusterInput{} 746 } 747 748 output = &DescribeClusterOutput{} 749 req = c.newRequest(op, input, output) 750 return 751} 752 753// DescribeCluster API operation for Amazon Elastic Kubernetes Service. 754// 755// Returns descriptive information about an Amazon EKS cluster. 756// 757// The API server endpoint and certificate authority data returned by this operation 758// are required for kubelet and kubectl to communicate with your Kubernetes 759// API server. For more information, see Create a kubeconfig for Amazon EKS 760// (https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html). 761// 762// The API server endpoint and certificate authority data aren't available until 763// the cluster reaches the ACTIVE state. 764// 765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 766// with awserr.Error's Code and Message methods to get detailed information about 767// the error. 768// 769// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 770// API operation DescribeCluster for usage and error information. 771// 772// Returned Error Types: 773// * ResourceNotFoundException 774// The specified resource could not be found. You can view your available clusters 775// with ListClusters. You can view your available managed node groups with ListNodegroups. 776// Amazon EKS clusters and node groups are Region-specific. 777// 778// * ClientException 779// These errors are usually caused by a client action. Actions can include using 780// an action or resource on behalf of a user that doesn't have permissions to 781// use the action or resource or specifying an identifier that is not valid. 782// 783// * ServerException 784// These errors are usually caused by a server-side issue. 785// 786// * ServiceUnavailableException 787// The service is unavailable. Back off and retry the operation. 788// 789// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeCluster 790func (c *EKS) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) { 791 req, out := c.DescribeClusterRequest(input) 792 return out, req.Send() 793} 794 795// DescribeClusterWithContext is the same as DescribeCluster with the addition of 796// the ability to pass a context and additional request options. 797// 798// See DescribeCluster for details on how to use this API operation. 799// 800// The context must be non-nil and will be used for request cancellation. If 801// the context is nil a panic will occur. In the future the SDK may create 802// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 803// for more information on using Contexts. 804func (c *EKS) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) { 805 req, out := c.DescribeClusterRequest(input) 806 req.SetContext(ctx) 807 req.ApplyOptions(opts...) 808 return out, req.Send() 809} 810 811const opDescribeFargateProfile = "DescribeFargateProfile" 812 813// DescribeFargateProfileRequest generates a "aws/request.Request" representing the 814// client's request for the DescribeFargateProfile operation. The "output" return 815// value will be populated with the request's response once the request completes 816// successfully. 817// 818// Use "Send" method on the returned Request to send the API call to the service. 819// the "output" return value is not valid until after Send returns without error. 820// 821// See DescribeFargateProfile for more information on using the DescribeFargateProfile 822// API call, and error handling. 823// 824// This method is useful when you want to inject custom logic or configuration 825// into the SDK's request lifecycle. Such as custom headers, or retry logic. 826// 827// 828// // Example sending a request using the DescribeFargateProfileRequest method. 829// req, resp := client.DescribeFargateProfileRequest(params) 830// 831// err := req.Send() 832// if err == nil { // resp is now filled 833// fmt.Println(resp) 834// } 835// 836// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeFargateProfile 837func (c *EKS) DescribeFargateProfileRequest(input *DescribeFargateProfileInput) (req *request.Request, output *DescribeFargateProfileOutput) { 838 op := &request.Operation{ 839 Name: opDescribeFargateProfile, 840 HTTPMethod: "GET", 841 HTTPPath: "/clusters/{name}/fargate-profiles/{fargateProfileName}", 842 } 843 844 if input == nil { 845 input = &DescribeFargateProfileInput{} 846 } 847 848 output = &DescribeFargateProfileOutput{} 849 req = c.newRequest(op, input, output) 850 return 851} 852 853// DescribeFargateProfile API operation for Amazon Elastic Kubernetes Service. 854// 855// Returns descriptive information about an AWS Fargate profile. 856// 857// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 858// with awserr.Error's Code and Message methods to get detailed information about 859// the error. 860// 861// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 862// API operation DescribeFargateProfile for usage and error information. 863// 864// Returned Error Types: 865// * InvalidParameterException 866// The specified parameter is invalid. Review the available parameters for the 867// API request. 868// 869// * ClientException 870// These errors are usually caused by a client action. Actions can include using 871// an action or resource on behalf of a user that doesn't have permissions to 872// use the action or resource or specifying an identifier that is not valid. 873// 874// * ServerException 875// These errors are usually caused by a server-side issue. 876// 877// * ResourceNotFoundException 878// The specified resource could not be found. You can view your available clusters 879// with ListClusters. You can view your available managed node groups with ListNodegroups. 880// Amazon EKS clusters and node groups are Region-specific. 881// 882// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeFargateProfile 883func (c *EKS) DescribeFargateProfile(input *DescribeFargateProfileInput) (*DescribeFargateProfileOutput, error) { 884 req, out := c.DescribeFargateProfileRequest(input) 885 return out, req.Send() 886} 887 888// DescribeFargateProfileWithContext is the same as DescribeFargateProfile with the addition of 889// the ability to pass a context and additional request options. 890// 891// See DescribeFargateProfile for details on how to use this API operation. 892// 893// The context must be non-nil and will be used for request cancellation. If 894// the context is nil a panic will occur. In the future the SDK may create 895// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 896// for more information on using Contexts. 897func (c *EKS) DescribeFargateProfileWithContext(ctx aws.Context, input *DescribeFargateProfileInput, opts ...request.Option) (*DescribeFargateProfileOutput, error) { 898 req, out := c.DescribeFargateProfileRequest(input) 899 req.SetContext(ctx) 900 req.ApplyOptions(opts...) 901 return out, req.Send() 902} 903 904const opDescribeNodegroup = "DescribeNodegroup" 905 906// DescribeNodegroupRequest generates a "aws/request.Request" representing the 907// client's request for the DescribeNodegroup operation. The "output" return 908// value will be populated with the request's response once the request completes 909// successfully. 910// 911// Use "Send" method on the returned Request to send the API call to the service. 912// the "output" return value is not valid until after Send returns without error. 913// 914// See DescribeNodegroup for more information on using the DescribeNodegroup 915// API call, and error handling. 916// 917// This method is useful when you want to inject custom logic or configuration 918// into the SDK's request lifecycle. Such as custom headers, or retry logic. 919// 920// 921// // Example sending a request using the DescribeNodegroupRequest method. 922// req, resp := client.DescribeNodegroupRequest(params) 923// 924// err := req.Send() 925// if err == nil { // resp is now filled 926// fmt.Println(resp) 927// } 928// 929// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeNodegroup 930func (c *EKS) DescribeNodegroupRequest(input *DescribeNodegroupInput) (req *request.Request, output *DescribeNodegroupOutput) { 931 op := &request.Operation{ 932 Name: opDescribeNodegroup, 933 HTTPMethod: "GET", 934 HTTPPath: "/clusters/{name}/node-groups/{nodegroupName}", 935 } 936 937 if input == nil { 938 input = &DescribeNodegroupInput{} 939 } 940 941 output = &DescribeNodegroupOutput{} 942 req = c.newRequest(op, input, output) 943 return 944} 945 946// DescribeNodegroup API operation for Amazon Elastic Kubernetes Service. 947// 948// Returns descriptive information about an Amazon EKS node group. 949// 950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 951// with awserr.Error's Code and Message methods to get detailed information about 952// the error. 953// 954// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 955// API operation DescribeNodegroup for usage and error information. 956// 957// Returned Error Types: 958// * InvalidParameterException 959// The specified parameter is invalid. Review the available parameters for the 960// API request. 961// 962// * ResourceNotFoundException 963// The specified resource could not be found. You can view your available clusters 964// with ListClusters. You can view your available managed node groups with ListNodegroups. 965// Amazon EKS clusters and node groups are Region-specific. 966// 967// * ClientException 968// These errors are usually caused by a client action. Actions can include using 969// an action or resource on behalf of a user that doesn't have permissions to 970// use the action or resource or specifying an identifier that is not valid. 971// 972// * ServerException 973// These errors are usually caused by a server-side issue. 974// 975// * ServiceUnavailableException 976// The service is unavailable. Back off and retry the operation. 977// 978// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeNodegroup 979func (c *EKS) DescribeNodegroup(input *DescribeNodegroupInput) (*DescribeNodegroupOutput, error) { 980 req, out := c.DescribeNodegroupRequest(input) 981 return out, req.Send() 982} 983 984// DescribeNodegroupWithContext is the same as DescribeNodegroup with the addition of 985// the ability to pass a context and additional request options. 986// 987// See DescribeNodegroup for details on how to use this API operation. 988// 989// The context must be non-nil and will be used for request cancellation. If 990// the context is nil a panic will occur. In the future the SDK may create 991// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 992// for more information on using Contexts. 993func (c *EKS) DescribeNodegroupWithContext(ctx aws.Context, input *DescribeNodegroupInput, opts ...request.Option) (*DescribeNodegroupOutput, error) { 994 req, out := c.DescribeNodegroupRequest(input) 995 req.SetContext(ctx) 996 req.ApplyOptions(opts...) 997 return out, req.Send() 998} 999 1000const opDescribeUpdate = "DescribeUpdate" 1001 1002// DescribeUpdateRequest generates a "aws/request.Request" representing the 1003// client's request for the DescribeUpdate operation. The "output" return 1004// value will be populated with the request's response once the request completes 1005// successfully. 1006// 1007// Use "Send" method on the returned Request to send the API call to the service. 1008// the "output" return value is not valid until after Send returns without error. 1009// 1010// See DescribeUpdate for more information on using the DescribeUpdate 1011// API call, and error handling. 1012// 1013// This method is useful when you want to inject custom logic or configuration 1014// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1015// 1016// 1017// // Example sending a request using the DescribeUpdateRequest method. 1018// req, resp := client.DescribeUpdateRequest(params) 1019// 1020// err := req.Send() 1021// if err == nil { // resp is now filled 1022// fmt.Println(resp) 1023// } 1024// 1025// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdate 1026func (c *EKS) DescribeUpdateRequest(input *DescribeUpdateInput) (req *request.Request, output *DescribeUpdateOutput) { 1027 op := &request.Operation{ 1028 Name: opDescribeUpdate, 1029 HTTPMethod: "GET", 1030 HTTPPath: "/clusters/{name}/updates/{updateId}", 1031 } 1032 1033 if input == nil { 1034 input = &DescribeUpdateInput{} 1035 } 1036 1037 output = &DescribeUpdateOutput{} 1038 req = c.newRequest(op, input, output) 1039 return 1040} 1041 1042// DescribeUpdate API operation for Amazon Elastic Kubernetes Service. 1043// 1044// Returns descriptive information about an update against your Amazon EKS cluster 1045// or associated managed node group. 1046// 1047// When the status of the update is Succeeded, the update is complete. If an 1048// update fails, the status is Failed, and an error detail explains the reason 1049// for the failure. 1050// 1051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1052// with awserr.Error's Code and Message methods to get detailed information about 1053// the error. 1054// 1055// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1056// API operation DescribeUpdate for usage and error information. 1057// 1058// Returned Error Types: 1059// * InvalidParameterException 1060// The specified parameter is invalid. Review the available parameters for the 1061// API request. 1062// 1063// * ClientException 1064// These errors are usually caused by a client action. Actions can include using 1065// an action or resource on behalf of a user that doesn't have permissions to 1066// use the action or resource or specifying an identifier that is not valid. 1067// 1068// * ServerException 1069// These errors are usually caused by a server-side issue. 1070// 1071// * ResourceNotFoundException 1072// The specified resource could not be found. You can view your available clusters 1073// with ListClusters. You can view your available managed node groups with ListNodegroups. 1074// Amazon EKS clusters and node groups are Region-specific. 1075// 1076// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdate 1077func (c *EKS) DescribeUpdate(input *DescribeUpdateInput) (*DescribeUpdateOutput, error) { 1078 req, out := c.DescribeUpdateRequest(input) 1079 return out, req.Send() 1080} 1081 1082// DescribeUpdateWithContext is the same as DescribeUpdate with the addition of 1083// the ability to pass a context and additional request options. 1084// 1085// See DescribeUpdate for details on how to use this API operation. 1086// 1087// The context must be non-nil and will be used for request cancellation. If 1088// the context is nil a panic will occur. In the future the SDK may create 1089// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1090// for more information on using Contexts. 1091func (c *EKS) DescribeUpdateWithContext(ctx aws.Context, input *DescribeUpdateInput, opts ...request.Option) (*DescribeUpdateOutput, error) { 1092 req, out := c.DescribeUpdateRequest(input) 1093 req.SetContext(ctx) 1094 req.ApplyOptions(opts...) 1095 return out, req.Send() 1096} 1097 1098const opListClusters = "ListClusters" 1099 1100// ListClustersRequest generates a "aws/request.Request" representing the 1101// client's request for the ListClusters operation. The "output" return 1102// value will be populated with the request's response once the request completes 1103// successfully. 1104// 1105// Use "Send" method on the returned Request to send the API call to the service. 1106// the "output" return value is not valid until after Send returns without error. 1107// 1108// See ListClusters for more information on using the ListClusters 1109// API call, and error handling. 1110// 1111// This method is useful when you want to inject custom logic or configuration 1112// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1113// 1114// 1115// // Example sending a request using the ListClustersRequest method. 1116// req, resp := client.ListClustersRequest(params) 1117// 1118// err := req.Send() 1119// if err == nil { // resp is now filled 1120// fmt.Println(resp) 1121// } 1122// 1123// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListClusters 1124func (c *EKS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 1125 op := &request.Operation{ 1126 Name: opListClusters, 1127 HTTPMethod: "GET", 1128 HTTPPath: "/clusters", 1129 Paginator: &request.Paginator{ 1130 InputTokens: []string{"nextToken"}, 1131 OutputTokens: []string{"nextToken"}, 1132 LimitToken: "maxResults", 1133 TruncationToken: "", 1134 }, 1135 } 1136 1137 if input == nil { 1138 input = &ListClustersInput{} 1139 } 1140 1141 output = &ListClustersOutput{} 1142 req = c.newRequest(op, input, output) 1143 return 1144} 1145 1146// ListClusters API operation for Amazon Elastic Kubernetes Service. 1147// 1148// Lists the Amazon EKS clusters in your AWS account in the specified Region. 1149// 1150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1151// with awserr.Error's Code and Message methods to get detailed information about 1152// the error. 1153// 1154// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1155// API operation ListClusters for usage and error information. 1156// 1157// Returned Error Types: 1158// * InvalidParameterException 1159// The specified parameter is invalid. Review the available parameters for the 1160// API request. 1161// 1162// * ClientException 1163// These errors are usually caused by a client action. Actions can include using 1164// an action or resource on behalf of a user that doesn't have permissions to 1165// use the action or resource or specifying an identifier that is not valid. 1166// 1167// * ServerException 1168// These errors are usually caused by a server-side issue. 1169// 1170// * ServiceUnavailableException 1171// The service is unavailable. Back off and retry the operation. 1172// 1173// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListClusters 1174func (c *EKS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 1175 req, out := c.ListClustersRequest(input) 1176 return out, req.Send() 1177} 1178 1179// ListClustersWithContext is the same as ListClusters with the addition of 1180// the ability to pass a context and additional request options. 1181// 1182// See ListClusters for details on how to use this API operation. 1183// 1184// The context must be non-nil and will be used for request cancellation. If 1185// the context is nil a panic will occur. In the future the SDK may create 1186// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1187// for more information on using Contexts. 1188func (c *EKS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 1189 req, out := c.ListClustersRequest(input) 1190 req.SetContext(ctx) 1191 req.ApplyOptions(opts...) 1192 return out, req.Send() 1193} 1194 1195// ListClustersPages iterates over the pages of a ListClusters operation, 1196// calling the "fn" function with the response data for each page. To stop 1197// iterating, return false from the fn function. 1198// 1199// See ListClusters method for more information on how to use this operation. 1200// 1201// Note: This operation can generate multiple requests to a service. 1202// 1203// // Example iterating over at most 3 pages of a ListClusters operation. 1204// pageNum := 0 1205// err := client.ListClustersPages(params, 1206// func(page *eks.ListClustersOutput, lastPage bool) bool { 1207// pageNum++ 1208// fmt.Println(page) 1209// return pageNum <= 3 1210// }) 1211// 1212func (c *EKS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 1213 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 1214} 1215 1216// ListClustersPagesWithContext same as ListClustersPages except 1217// it takes a Context and allows setting request options on the pages. 1218// 1219// The context must be non-nil and will be used for request cancellation. If 1220// the context is nil a panic will occur. In the future the SDK may create 1221// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1222// for more information on using Contexts. 1223func (c *EKS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 1224 p := request.Pagination{ 1225 NewRequest: func() (*request.Request, error) { 1226 var inCpy *ListClustersInput 1227 if input != nil { 1228 tmp := *input 1229 inCpy = &tmp 1230 } 1231 req, _ := c.ListClustersRequest(inCpy) 1232 req.SetContext(ctx) 1233 req.ApplyOptions(opts...) 1234 return req, nil 1235 }, 1236 } 1237 1238 for p.Next() { 1239 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 1240 break 1241 } 1242 } 1243 1244 return p.Err() 1245} 1246 1247const opListFargateProfiles = "ListFargateProfiles" 1248 1249// ListFargateProfilesRequest generates a "aws/request.Request" representing the 1250// client's request for the ListFargateProfiles operation. The "output" return 1251// value will be populated with the request's response once the request completes 1252// successfully. 1253// 1254// Use "Send" method on the returned Request to send the API call to the service. 1255// the "output" return value is not valid until after Send returns without error. 1256// 1257// See ListFargateProfiles for more information on using the ListFargateProfiles 1258// API call, and error handling. 1259// 1260// This method is useful when you want to inject custom logic or configuration 1261// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1262// 1263// 1264// // Example sending a request using the ListFargateProfilesRequest method. 1265// req, resp := client.ListFargateProfilesRequest(params) 1266// 1267// err := req.Send() 1268// if err == nil { // resp is now filled 1269// fmt.Println(resp) 1270// } 1271// 1272// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListFargateProfiles 1273func (c *EKS) ListFargateProfilesRequest(input *ListFargateProfilesInput) (req *request.Request, output *ListFargateProfilesOutput) { 1274 op := &request.Operation{ 1275 Name: opListFargateProfiles, 1276 HTTPMethod: "GET", 1277 HTTPPath: "/clusters/{name}/fargate-profiles", 1278 Paginator: &request.Paginator{ 1279 InputTokens: []string{"nextToken"}, 1280 OutputTokens: []string{"nextToken"}, 1281 LimitToken: "maxResults", 1282 TruncationToken: "", 1283 }, 1284 } 1285 1286 if input == nil { 1287 input = &ListFargateProfilesInput{} 1288 } 1289 1290 output = &ListFargateProfilesOutput{} 1291 req = c.newRequest(op, input, output) 1292 return 1293} 1294 1295// ListFargateProfiles API operation for Amazon Elastic Kubernetes Service. 1296// 1297// Lists the AWS Fargate profiles associated with the specified cluster in your 1298// AWS account in the specified Region. 1299// 1300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1301// with awserr.Error's Code and Message methods to get detailed information about 1302// the error. 1303// 1304// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1305// API operation ListFargateProfiles for usage and error information. 1306// 1307// Returned Error Types: 1308// * InvalidParameterException 1309// The specified parameter is invalid. Review the available parameters for the 1310// API request. 1311// 1312// * ResourceNotFoundException 1313// The specified resource could not be found. You can view your available clusters 1314// with ListClusters. You can view your available managed node groups with ListNodegroups. 1315// Amazon EKS clusters and node groups are Region-specific. 1316// 1317// * ClientException 1318// These errors are usually caused by a client action. Actions can include using 1319// an action or resource on behalf of a user that doesn't have permissions to 1320// use the action or resource or specifying an identifier that is not valid. 1321// 1322// * ServerException 1323// These errors are usually caused by a server-side issue. 1324// 1325// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListFargateProfiles 1326func (c *EKS) ListFargateProfiles(input *ListFargateProfilesInput) (*ListFargateProfilesOutput, error) { 1327 req, out := c.ListFargateProfilesRequest(input) 1328 return out, req.Send() 1329} 1330 1331// ListFargateProfilesWithContext is the same as ListFargateProfiles with the addition of 1332// the ability to pass a context and additional request options. 1333// 1334// See ListFargateProfiles for details on how to use this API operation. 1335// 1336// The context must be non-nil and will be used for request cancellation. If 1337// the context is nil a panic will occur. In the future the SDK may create 1338// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1339// for more information on using Contexts. 1340func (c *EKS) ListFargateProfilesWithContext(ctx aws.Context, input *ListFargateProfilesInput, opts ...request.Option) (*ListFargateProfilesOutput, error) { 1341 req, out := c.ListFargateProfilesRequest(input) 1342 req.SetContext(ctx) 1343 req.ApplyOptions(opts...) 1344 return out, req.Send() 1345} 1346 1347// ListFargateProfilesPages iterates over the pages of a ListFargateProfiles operation, 1348// calling the "fn" function with the response data for each page. To stop 1349// iterating, return false from the fn function. 1350// 1351// See ListFargateProfiles method for more information on how to use this operation. 1352// 1353// Note: This operation can generate multiple requests to a service. 1354// 1355// // Example iterating over at most 3 pages of a ListFargateProfiles operation. 1356// pageNum := 0 1357// err := client.ListFargateProfilesPages(params, 1358// func(page *eks.ListFargateProfilesOutput, lastPage bool) bool { 1359// pageNum++ 1360// fmt.Println(page) 1361// return pageNum <= 3 1362// }) 1363// 1364func (c *EKS) ListFargateProfilesPages(input *ListFargateProfilesInput, fn func(*ListFargateProfilesOutput, bool) bool) error { 1365 return c.ListFargateProfilesPagesWithContext(aws.BackgroundContext(), input, fn) 1366} 1367 1368// ListFargateProfilesPagesWithContext same as ListFargateProfilesPages except 1369// it takes a Context and allows setting request options on the pages. 1370// 1371// The context must be non-nil and will be used for request cancellation. If 1372// the context is nil a panic will occur. In the future the SDK may create 1373// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1374// for more information on using Contexts. 1375func (c *EKS) ListFargateProfilesPagesWithContext(ctx aws.Context, input *ListFargateProfilesInput, fn func(*ListFargateProfilesOutput, bool) bool, opts ...request.Option) error { 1376 p := request.Pagination{ 1377 NewRequest: func() (*request.Request, error) { 1378 var inCpy *ListFargateProfilesInput 1379 if input != nil { 1380 tmp := *input 1381 inCpy = &tmp 1382 } 1383 req, _ := c.ListFargateProfilesRequest(inCpy) 1384 req.SetContext(ctx) 1385 req.ApplyOptions(opts...) 1386 return req, nil 1387 }, 1388 } 1389 1390 for p.Next() { 1391 if !fn(p.Page().(*ListFargateProfilesOutput), !p.HasNextPage()) { 1392 break 1393 } 1394 } 1395 1396 return p.Err() 1397} 1398 1399const opListNodegroups = "ListNodegroups" 1400 1401// ListNodegroupsRequest generates a "aws/request.Request" representing the 1402// client's request for the ListNodegroups operation. The "output" return 1403// value will be populated with the request's response once the request completes 1404// successfully. 1405// 1406// Use "Send" method on the returned Request to send the API call to the service. 1407// the "output" return value is not valid until after Send returns without error. 1408// 1409// See ListNodegroups for more information on using the ListNodegroups 1410// API call, and error handling. 1411// 1412// This method is useful when you want to inject custom logic or configuration 1413// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1414// 1415// 1416// // Example sending a request using the ListNodegroupsRequest method. 1417// req, resp := client.ListNodegroupsRequest(params) 1418// 1419// err := req.Send() 1420// if err == nil { // resp is now filled 1421// fmt.Println(resp) 1422// } 1423// 1424// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListNodegroups 1425func (c *EKS) ListNodegroupsRequest(input *ListNodegroupsInput) (req *request.Request, output *ListNodegroupsOutput) { 1426 op := &request.Operation{ 1427 Name: opListNodegroups, 1428 HTTPMethod: "GET", 1429 HTTPPath: "/clusters/{name}/node-groups", 1430 Paginator: &request.Paginator{ 1431 InputTokens: []string{"nextToken"}, 1432 OutputTokens: []string{"nextToken"}, 1433 LimitToken: "maxResults", 1434 TruncationToken: "", 1435 }, 1436 } 1437 1438 if input == nil { 1439 input = &ListNodegroupsInput{} 1440 } 1441 1442 output = &ListNodegroupsOutput{} 1443 req = c.newRequest(op, input, output) 1444 return 1445} 1446 1447// ListNodegroups API operation for Amazon Elastic Kubernetes Service. 1448// 1449// Lists the Amazon EKS managed node groups associated with the specified cluster 1450// in your AWS account in the specified Region. Self-managed node groups are 1451// not listed. 1452// 1453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1454// with awserr.Error's Code and Message methods to get detailed information about 1455// the error. 1456// 1457// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1458// API operation ListNodegroups for usage and error information. 1459// 1460// Returned Error Types: 1461// * InvalidParameterException 1462// The specified parameter is invalid. Review the available parameters for the 1463// API request. 1464// 1465// * ClientException 1466// These errors are usually caused by a client action. Actions can include using 1467// an action or resource on behalf of a user that doesn't have permissions to 1468// use the action or resource or specifying an identifier that is not valid. 1469// 1470// * ServerException 1471// These errors are usually caused by a server-side issue. 1472// 1473// * ServiceUnavailableException 1474// The service is unavailable. Back off and retry the operation. 1475// 1476// * ResourceNotFoundException 1477// The specified resource could not be found. You can view your available clusters 1478// with ListClusters. You can view your available managed node groups with ListNodegroups. 1479// Amazon EKS clusters and node groups are Region-specific. 1480// 1481// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListNodegroups 1482func (c *EKS) ListNodegroups(input *ListNodegroupsInput) (*ListNodegroupsOutput, error) { 1483 req, out := c.ListNodegroupsRequest(input) 1484 return out, req.Send() 1485} 1486 1487// ListNodegroupsWithContext is the same as ListNodegroups with the addition of 1488// the ability to pass a context and additional request options. 1489// 1490// See ListNodegroups for details on how to use this API operation. 1491// 1492// The context must be non-nil and will be used for request cancellation. If 1493// the context is nil a panic will occur. In the future the SDK may create 1494// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1495// for more information on using Contexts. 1496func (c *EKS) ListNodegroupsWithContext(ctx aws.Context, input *ListNodegroupsInput, opts ...request.Option) (*ListNodegroupsOutput, error) { 1497 req, out := c.ListNodegroupsRequest(input) 1498 req.SetContext(ctx) 1499 req.ApplyOptions(opts...) 1500 return out, req.Send() 1501} 1502 1503// ListNodegroupsPages iterates over the pages of a ListNodegroups operation, 1504// calling the "fn" function with the response data for each page. To stop 1505// iterating, return false from the fn function. 1506// 1507// See ListNodegroups method for more information on how to use this operation. 1508// 1509// Note: This operation can generate multiple requests to a service. 1510// 1511// // Example iterating over at most 3 pages of a ListNodegroups operation. 1512// pageNum := 0 1513// err := client.ListNodegroupsPages(params, 1514// func(page *eks.ListNodegroupsOutput, lastPage bool) bool { 1515// pageNum++ 1516// fmt.Println(page) 1517// return pageNum <= 3 1518// }) 1519// 1520func (c *EKS) ListNodegroupsPages(input *ListNodegroupsInput, fn func(*ListNodegroupsOutput, bool) bool) error { 1521 return c.ListNodegroupsPagesWithContext(aws.BackgroundContext(), input, fn) 1522} 1523 1524// ListNodegroupsPagesWithContext same as ListNodegroupsPages except 1525// it takes a Context and allows setting request options on the pages. 1526// 1527// The context must be non-nil and will be used for request cancellation. If 1528// the context is nil a panic will occur. In the future the SDK may create 1529// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1530// for more information on using Contexts. 1531func (c *EKS) ListNodegroupsPagesWithContext(ctx aws.Context, input *ListNodegroupsInput, fn func(*ListNodegroupsOutput, bool) bool, opts ...request.Option) error { 1532 p := request.Pagination{ 1533 NewRequest: func() (*request.Request, error) { 1534 var inCpy *ListNodegroupsInput 1535 if input != nil { 1536 tmp := *input 1537 inCpy = &tmp 1538 } 1539 req, _ := c.ListNodegroupsRequest(inCpy) 1540 req.SetContext(ctx) 1541 req.ApplyOptions(opts...) 1542 return req, nil 1543 }, 1544 } 1545 1546 for p.Next() { 1547 if !fn(p.Page().(*ListNodegroupsOutput), !p.HasNextPage()) { 1548 break 1549 } 1550 } 1551 1552 return p.Err() 1553} 1554 1555const opListTagsForResource = "ListTagsForResource" 1556 1557// ListTagsForResourceRequest generates a "aws/request.Request" representing the 1558// client's request for the ListTagsForResource operation. The "output" return 1559// value will be populated with the request's response once the request completes 1560// successfully. 1561// 1562// Use "Send" method on the returned Request to send the API call to the service. 1563// the "output" return value is not valid until after Send returns without error. 1564// 1565// See ListTagsForResource for more information on using the ListTagsForResource 1566// API call, and error handling. 1567// 1568// This method is useful when you want to inject custom logic or configuration 1569// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1570// 1571// 1572// // Example sending a request using the ListTagsForResourceRequest method. 1573// req, resp := client.ListTagsForResourceRequest(params) 1574// 1575// err := req.Send() 1576// if err == nil { // resp is now filled 1577// fmt.Println(resp) 1578// } 1579// 1580// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListTagsForResource 1581func (c *EKS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 1582 op := &request.Operation{ 1583 Name: opListTagsForResource, 1584 HTTPMethod: "GET", 1585 HTTPPath: "/tags/{resourceArn}", 1586 } 1587 1588 if input == nil { 1589 input = &ListTagsForResourceInput{} 1590 } 1591 1592 output = &ListTagsForResourceOutput{} 1593 req = c.newRequest(op, input, output) 1594 return 1595} 1596 1597// ListTagsForResource API operation for Amazon Elastic Kubernetes Service. 1598// 1599// List the tags for an Amazon EKS resource. 1600// 1601// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1602// with awserr.Error's Code and Message methods to get detailed information about 1603// the error. 1604// 1605// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1606// API operation ListTagsForResource for usage and error information. 1607// 1608// Returned Error Types: 1609// * BadRequestException 1610// This exception is thrown if the request contains a semantic error. The precise 1611// meaning will depend on the API, and will be documented in the error message. 1612// 1613// * NotFoundException 1614// A service resource associated with the request could not be found. Clients 1615// should not retry such requests. 1616// 1617// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListTagsForResource 1618func (c *EKS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 1619 req, out := c.ListTagsForResourceRequest(input) 1620 return out, req.Send() 1621} 1622 1623// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 1624// the ability to pass a context and additional request options. 1625// 1626// See ListTagsForResource for details on how to use this API operation. 1627// 1628// The context must be non-nil and will be used for request cancellation. If 1629// the context is nil a panic will occur. In the future the SDK may create 1630// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1631// for more information on using Contexts. 1632func (c *EKS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 1633 req, out := c.ListTagsForResourceRequest(input) 1634 req.SetContext(ctx) 1635 req.ApplyOptions(opts...) 1636 return out, req.Send() 1637} 1638 1639const opListUpdates = "ListUpdates" 1640 1641// ListUpdatesRequest generates a "aws/request.Request" representing the 1642// client's request for the ListUpdates operation. The "output" return 1643// value will be populated with the request's response once the request completes 1644// successfully. 1645// 1646// Use "Send" method on the returned Request to send the API call to the service. 1647// the "output" return value is not valid until after Send returns without error. 1648// 1649// See ListUpdates for more information on using the ListUpdates 1650// API call, and error handling. 1651// 1652// This method is useful when you want to inject custom logic or configuration 1653// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1654// 1655// 1656// // Example sending a request using the ListUpdatesRequest method. 1657// req, resp := client.ListUpdatesRequest(params) 1658// 1659// err := req.Send() 1660// if err == nil { // resp is now filled 1661// fmt.Println(resp) 1662// } 1663// 1664// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListUpdates 1665func (c *EKS) ListUpdatesRequest(input *ListUpdatesInput) (req *request.Request, output *ListUpdatesOutput) { 1666 op := &request.Operation{ 1667 Name: opListUpdates, 1668 HTTPMethod: "GET", 1669 HTTPPath: "/clusters/{name}/updates", 1670 Paginator: &request.Paginator{ 1671 InputTokens: []string{"nextToken"}, 1672 OutputTokens: []string{"nextToken"}, 1673 LimitToken: "maxResults", 1674 TruncationToken: "", 1675 }, 1676 } 1677 1678 if input == nil { 1679 input = &ListUpdatesInput{} 1680 } 1681 1682 output = &ListUpdatesOutput{} 1683 req = c.newRequest(op, input, output) 1684 return 1685} 1686 1687// ListUpdates API operation for Amazon Elastic Kubernetes Service. 1688// 1689// Lists the updates associated with an Amazon EKS cluster or managed node group 1690// in your AWS account, in the specified Region. 1691// 1692// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1693// with awserr.Error's Code and Message methods to get detailed information about 1694// the error. 1695// 1696// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1697// API operation ListUpdates for usage and error information. 1698// 1699// Returned Error Types: 1700// * InvalidParameterException 1701// The specified parameter is invalid. Review the available parameters for the 1702// API request. 1703// 1704// * ClientException 1705// These errors are usually caused by a client action. Actions can include using 1706// an action or resource on behalf of a user that doesn't have permissions to 1707// use the action or resource or specifying an identifier that is not valid. 1708// 1709// * ServerException 1710// These errors are usually caused by a server-side issue. 1711// 1712// * ResourceNotFoundException 1713// The specified resource could not be found. You can view your available clusters 1714// with ListClusters. You can view your available managed node groups with ListNodegroups. 1715// Amazon EKS clusters and node groups are Region-specific. 1716// 1717// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListUpdates 1718func (c *EKS) ListUpdates(input *ListUpdatesInput) (*ListUpdatesOutput, error) { 1719 req, out := c.ListUpdatesRequest(input) 1720 return out, req.Send() 1721} 1722 1723// ListUpdatesWithContext is the same as ListUpdates with the addition of 1724// the ability to pass a context and additional request options. 1725// 1726// See ListUpdates for details on how to use this API operation. 1727// 1728// The context must be non-nil and will be used for request cancellation. If 1729// the context is nil a panic will occur. In the future the SDK may create 1730// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1731// for more information on using Contexts. 1732func (c *EKS) ListUpdatesWithContext(ctx aws.Context, input *ListUpdatesInput, opts ...request.Option) (*ListUpdatesOutput, error) { 1733 req, out := c.ListUpdatesRequest(input) 1734 req.SetContext(ctx) 1735 req.ApplyOptions(opts...) 1736 return out, req.Send() 1737} 1738 1739// ListUpdatesPages iterates over the pages of a ListUpdates operation, 1740// calling the "fn" function with the response data for each page. To stop 1741// iterating, return false from the fn function. 1742// 1743// See ListUpdates method for more information on how to use this operation. 1744// 1745// Note: This operation can generate multiple requests to a service. 1746// 1747// // Example iterating over at most 3 pages of a ListUpdates operation. 1748// pageNum := 0 1749// err := client.ListUpdatesPages(params, 1750// func(page *eks.ListUpdatesOutput, lastPage bool) bool { 1751// pageNum++ 1752// fmt.Println(page) 1753// return pageNum <= 3 1754// }) 1755// 1756func (c *EKS) ListUpdatesPages(input *ListUpdatesInput, fn func(*ListUpdatesOutput, bool) bool) error { 1757 return c.ListUpdatesPagesWithContext(aws.BackgroundContext(), input, fn) 1758} 1759 1760// ListUpdatesPagesWithContext same as ListUpdatesPages except 1761// it takes a Context and allows setting request options on the pages. 1762// 1763// The context must be non-nil and will be used for request cancellation. If 1764// the context is nil a panic will occur. In the future the SDK may create 1765// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1766// for more information on using Contexts. 1767func (c *EKS) ListUpdatesPagesWithContext(ctx aws.Context, input *ListUpdatesInput, fn func(*ListUpdatesOutput, bool) bool, opts ...request.Option) error { 1768 p := request.Pagination{ 1769 NewRequest: func() (*request.Request, error) { 1770 var inCpy *ListUpdatesInput 1771 if input != nil { 1772 tmp := *input 1773 inCpy = &tmp 1774 } 1775 req, _ := c.ListUpdatesRequest(inCpy) 1776 req.SetContext(ctx) 1777 req.ApplyOptions(opts...) 1778 return req, nil 1779 }, 1780 } 1781 1782 for p.Next() { 1783 if !fn(p.Page().(*ListUpdatesOutput), !p.HasNextPage()) { 1784 break 1785 } 1786 } 1787 1788 return p.Err() 1789} 1790 1791const opTagResource = "TagResource" 1792 1793// TagResourceRequest generates a "aws/request.Request" representing the 1794// client's request for the TagResource operation. The "output" return 1795// value will be populated with the request's response once the request completes 1796// successfully. 1797// 1798// Use "Send" method on the returned Request to send the API call to the service. 1799// the "output" return value is not valid until after Send returns without error. 1800// 1801// See TagResource for more information on using the TagResource 1802// API call, and error handling. 1803// 1804// This method is useful when you want to inject custom logic or configuration 1805// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1806// 1807// 1808// // Example sending a request using the TagResourceRequest method. 1809// req, resp := client.TagResourceRequest(params) 1810// 1811// err := req.Send() 1812// if err == nil { // resp is now filled 1813// fmt.Println(resp) 1814// } 1815// 1816// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/TagResource 1817func (c *EKS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 1818 op := &request.Operation{ 1819 Name: opTagResource, 1820 HTTPMethod: "POST", 1821 HTTPPath: "/tags/{resourceArn}", 1822 } 1823 1824 if input == nil { 1825 input = &TagResourceInput{} 1826 } 1827 1828 output = &TagResourceOutput{} 1829 req = c.newRequest(op, input, output) 1830 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1831 return 1832} 1833 1834// TagResource API operation for Amazon Elastic Kubernetes Service. 1835// 1836// Associates the specified tags to a resource with the specified resourceArn. 1837// If existing tags on a resource are not specified in the request parameters, 1838// they are not changed. When a resource is deleted, the tags associated with 1839// that resource are deleted as well. Tags that you create for Amazon EKS resources 1840// do not propagate to any other resources associated with the cluster. For 1841// example, if you tag a cluster with this operation, that tag does not automatically 1842// propagate to the subnets and worker nodes associated with the cluster. 1843// 1844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1845// with awserr.Error's Code and Message methods to get detailed information about 1846// the error. 1847// 1848// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1849// API operation TagResource for usage and error information. 1850// 1851// Returned Error Types: 1852// * BadRequestException 1853// This exception is thrown if the request contains a semantic error. The precise 1854// meaning will depend on the API, and will be documented in the error message. 1855// 1856// * NotFoundException 1857// A service resource associated with the request could not be found. Clients 1858// should not retry such requests. 1859// 1860// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/TagResource 1861func (c *EKS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 1862 req, out := c.TagResourceRequest(input) 1863 return out, req.Send() 1864} 1865 1866// TagResourceWithContext is the same as TagResource with the addition of 1867// the ability to pass a context and additional request options. 1868// 1869// See TagResource for details on how to use this API operation. 1870// 1871// The context must be non-nil and will be used for request cancellation. If 1872// the context is nil a panic will occur. In the future the SDK may create 1873// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1874// for more information on using Contexts. 1875func (c *EKS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 1876 req, out := c.TagResourceRequest(input) 1877 req.SetContext(ctx) 1878 req.ApplyOptions(opts...) 1879 return out, req.Send() 1880} 1881 1882const opUntagResource = "UntagResource" 1883 1884// UntagResourceRequest generates a "aws/request.Request" representing the 1885// client's request for the UntagResource operation. The "output" return 1886// value will be populated with the request's response once the request completes 1887// successfully. 1888// 1889// Use "Send" method on the returned Request to send the API call to the service. 1890// the "output" return value is not valid until after Send returns without error. 1891// 1892// See UntagResource for more information on using the UntagResource 1893// API call, and error handling. 1894// 1895// This method is useful when you want to inject custom logic or configuration 1896// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1897// 1898// 1899// // Example sending a request using the UntagResourceRequest method. 1900// req, resp := client.UntagResourceRequest(params) 1901// 1902// err := req.Send() 1903// if err == nil { // resp is now filled 1904// fmt.Println(resp) 1905// } 1906// 1907// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UntagResource 1908func (c *EKS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 1909 op := &request.Operation{ 1910 Name: opUntagResource, 1911 HTTPMethod: "DELETE", 1912 HTTPPath: "/tags/{resourceArn}", 1913 } 1914 1915 if input == nil { 1916 input = &UntagResourceInput{} 1917 } 1918 1919 output = &UntagResourceOutput{} 1920 req = c.newRequest(op, input, output) 1921 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1922 return 1923} 1924 1925// UntagResource API operation for Amazon Elastic Kubernetes Service. 1926// 1927// Deletes specified tags from a resource. 1928// 1929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1930// with awserr.Error's Code and Message methods to get detailed information about 1931// the error. 1932// 1933// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1934// API operation UntagResource for usage and error information. 1935// 1936// Returned Error Types: 1937// * BadRequestException 1938// This exception is thrown if the request contains a semantic error. The precise 1939// meaning will depend on the API, and will be documented in the error message. 1940// 1941// * NotFoundException 1942// A service resource associated with the request could not be found. Clients 1943// should not retry such requests. 1944// 1945// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UntagResource 1946func (c *EKS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 1947 req, out := c.UntagResourceRequest(input) 1948 return out, req.Send() 1949} 1950 1951// UntagResourceWithContext is the same as UntagResource with the addition of 1952// the ability to pass a context and additional request options. 1953// 1954// See UntagResource for details on how to use this API operation. 1955// 1956// The context must be non-nil and will be used for request cancellation. If 1957// the context is nil a panic will occur. In the future the SDK may create 1958// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1959// for more information on using Contexts. 1960func (c *EKS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 1961 req, out := c.UntagResourceRequest(input) 1962 req.SetContext(ctx) 1963 req.ApplyOptions(opts...) 1964 return out, req.Send() 1965} 1966 1967const opUpdateClusterConfig = "UpdateClusterConfig" 1968 1969// UpdateClusterConfigRequest generates a "aws/request.Request" representing the 1970// client's request for the UpdateClusterConfig operation. The "output" return 1971// value will be populated with the request's response once the request completes 1972// successfully. 1973// 1974// Use "Send" method on the returned Request to send the API call to the service. 1975// the "output" return value is not valid until after Send returns without error. 1976// 1977// See UpdateClusterConfig for more information on using the UpdateClusterConfig 1978// API call, and error handling. 1979// 1980// This method is useful when you want to inject custom logic or configuration 1981// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1982// 1983// 1984// // Example sending a request using the UpdateClusterConfigRequest method. 1985// req, resp := client.UpdateClusterConfigRequest(params) 1986// 1987// err := req.Send() 1988// if err == nil { // resp is now filled 1989// fmt.Println(resp) 1990// } 1991// 1992// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterConfig 1993func (c *EKS) UpdateClusterConfigRequest(input *UpdateClusterConfigInput) (req *request.Request, output *UpdateClusterConfigOutput) { 1994 op := &request.Operation{ 1995 Name: opUpdateClusterConfig, 1996 HTTPMethod: "POST", 1997 HTTPPath: "/clusters/{name}/update-config", 1998 } 1999 2000 if input == nil { 2001 input = &UpdateClusterConfigInput{} 2002 } 2003 2004 output = &UpdateClusterConfigOutput{} 2005 req = c.newRequest(op, input, output) 2006 return 2007} 2008 2009// UpdateClusterConfig API operation for Amazon Elastic Kubernetes Service. 2010// 2011// Updates an Amazon EKS cluster configuration. Your cluster continues to function 2012// during the update. The response output includes an update ID that you can 2013// use to track the status of your cluster update with the DescribeUpdate API 2014// operation. 2015// 2016// You can use this API operation to enable or disable exporting the Kubernetes 2017// control plane logs for your cluster to CloudWatch Logs. By default, cluster 2018// control plane logs aren't exported to CloudWatch Logs. For more information, 2019// see Amazon EKS Cluster Control Plane Logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) 2020// in the Amazon EKS User Guide . 2021// 2022// CloudWatch Logs ingestion, archive storage, and data scanning rates apply 2023// to exported control plane logs. For more information, see Amazon CloudWatch 2024// Pricing (http://aws.amazon.com/cloudwatch/pricing/). 2025// 2026// You can also use this API operation to enable or disable public and private 2027// access to your cluster's Kubernetes API server endpoint. By default, public 2028// access is enabled, and private access is disabled. For more information, 2029// see Amazon EKS Cluster Endpoint Access Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 2030// in the Amazon EKS User Guide . 2031// 2032// At this time, you can not update the subnets or security group IDs for an 2033// existing cluster. 2034// 2035// Cluster updates are asynchronous, and they should finish within a few minutes. 2036// During an update, the cluster status moves to UPDATING (this status transition 2037// is eventually consistent). When the update is complete (either Failed or 2038// Successful), the cluster status moves to Active. 2039// 2040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2041// with awserr.Error's Code and Message methods to get detailed information about 2042// the error. 2043// 2044// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 2045// API operation UpdateClusterConfig for usage and error information. 2046// 2047// Returned Error Types: 2048// * InvalidParameterException 2049// The specified parameter is invalid. Review the available parameters for the 2050// API request. 2051// 2052// * ClientException 2053// These errors are usually caused by a client action. Actions can include using 2054// an action or resource on behalf of a user that doesn't have permissions to 2055// use the action or resource or specifying an identifier that is not valid. 2056// 2057// * ServerException 2058// These errors are usually caused by a server-side issue. 2059// 2060// * ResourceInUseException 2061// The specified resource is in use. 2062// 2063// * ResourceNotFoundException 2064// The specified resource could not be found. You can view your available clusters 2065// with ListClusters. You can view your available managed node groups with ListNodegroups. 2066// Amazon EKS clusters and node groups are Region-specific. 2067// 2068// * InvalidRequestException 2069// The request is invalid given the state of the cluster. Check the state of 2070// the cluster and the associated operations. 2071// 2072// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterConfig 2073func (c *EKS) UpdateClusterConfig(input *UpdateClusterConfigInput) (*UpdateClusterConfigOutput, error) { 2074 req, out := c.UpdateClusterConfigRequest(input) 2075 return out, req.Send() 2076} 2077 2078// UpdateClusterConfigWithContext is the same as UpdateClusterConfig with the addition of 2079// the ability to pass a context and additional request options. 2080// 2081// See UpdateClusterConfig for details on how to use this API operation. 2082// 2083// The context must be non-nil and will be used for request cancellation. If 2084// the context is nil a panic will occur. In the future the SDK may create 2085// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2086// for more information on using Contexts. 2087func (c *EKS) UpdateClusterConfigWithContext(ctx aws.Context, input *UpdateClusterConfigInput, opts ...request.Option) (*UpdateClusterConfigOutput, error) { 2088 req, out := c.UpdateClusterConfigRequest(input) 2089 req.SetContext(ctx) 2090 req.ApplyOptions(opts...) 2091 return out, req.Send() 2092} 2093 2094const opUpdateClusterVersion = "UpdateClusterVersion" 2095 2096// UpdateClusterVersionRequest generates a "aws/request.Request" representing the 2097// client's request for the UpdateClusterVersion operation. The "output" return 2098// value will be populated with the request's response once the request completes 2099// successfully. 2100// 2101// Use "Send" method on the returned Request to send the API call to the service. 2102// the "output" return value is not valid until after Send returns without error. 2103// 2104// See UpdateClusterVersion for more information on using the UpdateClusterVersion 2105// API call, and error handling. 2106// 2107// This method is useful when you want to inject custom logic or configuration 2108// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2109// 2110// 2111// // Example sending a request using the UpdateClusterVersionRequest method. 2112// req, resp := client.UpdateClusterVersionRequest(params) 2113// 2114// err := req.Send() 2115// if err == nil { // resp is now filled 2116// fmt.Println(resp) 2117// } 2118// 2119// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterVersion 2120func (c *EKS) UpdateClusterVersionRequest(input *UpdateClusterVersionInput) (req *request.Request, output *UpdateClusterVersionOutput) { 2121 op := &request.Operation{ 2122 Name: opUpdateClusterVersion, 2123 HTTPMethod: "POST", 2124 HTTPPath: "/clusters/{name}/updates", 2125 } 2126 2127 if input == nil { 2128 input = &UpdateClusterVersionInput{} 2129 } 2130 2131 output = &UpdateClusterVersionOutput{} 2132 req = c.newRequest(op, input, output) 2133 return 2134} 2135 2136// UpdateClusterVersion API operation for Amazon Elastic Kubernetes Service. 2137// 2138// Updates an Amazon EKS cluster to the specified Kubernetes version. Your cluster 2139// continues to function during the update. The response output includes an 2140// update ID that you can use to track the status of your cluster update with 2141// the DescribeUpdate API operation. 2142// 2143// Cluster updates are asynchronous, and they should finish within a few minutes. 2144// During an update, the cluster status moves to UPDATING (this status transition 2145// is eventually consistent). When the update is complete (either Failed or 2146// Successful), the cluster status moves to Active. 2147// 2148// If your cluster has managed node groups attached to it, all of your node 2149// groups’ Kubernetes versions must match the cluster’s Kubernetes version 2150// in order to update the cluster to a new Kubernetes version. 2151// 2152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2153// with awserr.Error's Code and Message methods to get detailed information about 2154// the error. 2155// 2156// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 2157// API operation UpdateClusterVersion for usage and error information. 2158// 2159// Returned Error Types: 2160// * InvalidParameterException 2161// The specified parameter is invalid. Review the available parameters for the 2162// API request. 2163// 2164// * ClientException 2165// These errors are usually caused by a client action. Actions can include using 2166// an action or resource on behalf of a user that doesn't have permissions to 2167// use the action or resource or specifying an identifier that is not valid. 2168// 2169// * ServerException 2170// These errors are usually caused by a server-side issue. 2171// 2172// * ResourceInUseException 2173// The specified resource is in use. 2174// 2175// * ResourceNotFoundException 2176// The specified resource could not be found. You can view your available clusters 2177// with ListClusters. You can view your available managed node groups with ListNodegroups. 2178// Amazon EKS clusters and node groups are Region-specific. 2179// 2180// * InvalidRequestException 2181// The request is invalid given the state of the cluster. Check the state of 2182// the cluster and the associated operations. 2183// 2184// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterVersion 2185func (c *EKS) UpdateClusterVersion(input *UpdateClusterVersionInput) (*UpdateClusterVersionOutput, error) { 2186 req, out := c.UpdateClusterVersionRequest(input) 2187 return out, req.Send() 2188} 2189 2190// UpdateClusterVersionWithContext is the same as UpdateClusterVersion with the addition of 2191// the ability to pass a context and additional request options. 2192// 2193// See UpdateClusterVersion for details on how to use this API operation. 2194// 2195// The context must be non-nil and will be used for request cancellation. If 2196// the context is nil a panic will occur. In the future the SDK may create 2197// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2198// for more information on using Contexts. 2199func (c *EKS) UpdateClusterVersionWithContext(ctx aws.Context, input *UpdateClusterVersionInput, opts ...request.Option) (*UpdateClusterVersionOutput, error) { 2200 req, out := c.UpdateClusterVersionRequest(input) 2201 req.SetContext(ctx) 2202 req.ApplyOptions(opts...) 2203 return out, req.Send() 2204} 2205 2206const opUpdateNodegroupConfig = "UpdateNodegroupConfig" 2207 2208// UpdateNodegroupConfigRequest generates a "aws/request.Request" representing the 2209// client's request for the UpdateNodegroupConfig operation. The "output" return 2210// value will be populated with the request's response once the request completes 2211// successfully. 2212// 2213// Use "Send" method on the returned Request to send the API call to the service. 2214// the "output" return value is not valid until after Send returns without error. 2215// 2216// See UpdateNodegroupConfig for more information on using the UpdateNodegroupConfig 2217// API call, and error handling. 2218// 2219// This method is useful when you want to inject custom logic or configuration 2220// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2221// 2222// 2223// // Example sending a request using the UpdateNodegroupConfigRequest method. 2224// req, resp := client.UpdateNodegroupConfigRequest(params) 2225// 2226// err := req.Send() 2227// if err == nil { // resp is now filled 2228// fmt.Println(resp) 2229// } 2230// 2231// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupConfig 2232func (c *EKS) UpdateNodegroupConfigRequest(input *UpdateNodegroupConfigInput) (req *request.Request, output *UpdateNodegroupConfigOutput) { 2233 op := &request.Operation{ 2234 Name: opUpdateNodegroupConfig, 2235 HTTPMethod: "POST", 2236 HTTPPath: "/clusters/{name}/node-groups/{nodegroupName}/update-config", 2237 } 2238 2239 if input == nil { 2240 input = &UpdateNodegroupConfigInput{} 2241 } 2242 2243 output = &UpdateNodegroupConfigOutput{} 2244 req = c.newRequest(op, input, output) 2245 return 2246} 2247 2248// UpdateNodegroupConfig API operation for Amazon Elastic Kubernetes Service. 2249// 2250// Updates an Amazon EKS managed node group configuration. Your node group continues 2251// to function during the update. The response output includes an update ID 2252// that you can use to track the status of your node group update with the DescribeUpdate 2253// API operation. Currently you can update the Kubernetes labels for a node 2254// group or the scaling configuration. 2255// 2256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2257// with awserr.Error's Code and Message methods to get detailed information about 2258// the error. 2259// 2260// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 2261// API operation UpdateNodegroupConfig for usage and error information. 2262// 2263// Returned Error Types: 2264// * InvalidParameterException 2265// The specified parameter is invalid. Review the available parameters for the 2266// API request. 2267// 2268// * ClientException 2269// These errors are usually caused by a client action. Actions can include using 2270// an action or resource on behalf of a user that doesn't have permissions to 2271// use the action or resource or specifying an identifier that is not valid. 2272// 2273// * ServerException 2274// These errors are usually caused by a server-side issue. 2275// 2276// * ResourceInUseException 2277// The specified resource is in use. 2278// 2279// * ResourceNotFoundException 2280// The specified resource could not be found. You can view your available clusters 2281// with ListClusters. You can view your available managed node groups with ListNodegroups. 2282// Amazon EKS clusters and node groups are Region-specific. 2283// 2284// * InvalidRequestException 2285// The request is invalid given the state of the cluster. Check the state of 2286// the cluster and the associated operations. 2287// 2288// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupConfig 2289func (c *EKS) UpdateNodegroupConfig(input *UpdateNodegroupConfigInput) (*UpdateNodegroupConfigOutput, error) { 2290 req, out := c.UpdateNodegroupConfigRequest(input) 2291 return out, req.Send() 2292} 2293 2294// UpdateNodegroupConfigWithContext is the same as UpdateNodegroupConfig with the addition of 2295// the ability to pass a context and additional request options. 2296// 2297// See UpdateNodegroupConfig for details on how to use this API operation. 2298// 2299// The context must be non-nil and will be used for request cancellation. If 2300// the context is nil a panic will occur. In the future the SDK may create 2301// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2302// for more information on using Contexts. 2303func (c *EKS) UpdateNodegroupConfigWithContext(ctx aws.Context, input *UpdateNodegroupConfigInput, opts ...request.Option) (*UpdateNodegroupConfigOutput, error) { 2304 req, out := c.UpdateNodegroupConfigRequest(input) 2305 req.SetContext(ctx) 2306 req.ApplyOptions(opts...) 2307 return out, req.Send() 2308} 2309 2310const opUpdateNodegroupVersion = "UpdateNodegroupVersion" 2311 2312// UpdateNodegroupVersionRequest generates a "aws/request.Request" representing the 2313// client's request for the UpdateNodegroupVersion operation. The "output" return 2314// value will be populated with the request's response once the request completes 2315// successfully. 2316// 2317// Use "Send" method on the returned Request to send the API call to the service. 2318// the "output" return value is not valid until after Send returns without error. 2319// 2320// See UpdateNodegroupVersion for more information on using the UpdateNodegroupVersion 2321// API call, and error handling. 2322// 2323// This method is useful when you want to inject custom logic or configuration 2324// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2325// 2326// 2327// // Example sending a request using the UpdateNodegroupVersionRequest method. 2328// req, resp := client.UpdateNodegroupVersionRequest(params) 2329// 2330// err := req.Send() 2331// if err == nil { // resp is now filled 2332// fmt.Println(resp) 2333// } 2334// 2335// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupVersion 2336func (c *EKS) UpdateNodegroupVersionRequest(input *UpdateNodegroupVersionInput) (req *request.Request, output *UpdateNodegroupVersionOutput) { 2337 op := &request.Operation{ 2338 Name: opUpdateNodegroupVersion, 2339 HTTPMethod: "POST", 2340 HTTPPath: "/clusters/{name}/node-groups/{nodegroupName}/update-version", 2341 } 2342 2343 if input == nil { 2344 input = &UpdateNodegroupVersionInput{} 2345 } 2346 2347 output = &UpdateNodegroupVersionOutput{} 2348 req = c.newRequest(op, input, output) 2349 return 2350} 2351 2352// UpdateNodegroupVersion API operation for Amazon Elastic Kubernetes Service. 2353// 2354// Updates the Kubernetes version or AMI version of an Amazon EKS managed node 2355// group. 2356// 2357// You can update a node group using a launch template only if the node group 2358// was originally deployed with a launch template. If you need to update a custom 2359// AMI in a node group that was deployed with a launch template, then update 2360// your custom AMI, specify the new ID in a new version of the launch template, 2361// and then update the node group to the new version of the launch template. 2362// 2363// If you update without a launch template, then you can update to the latest 2364// available AMI version of a node group's current Kubernetes version by not 2365// specifying a Kubernetes version in the request. You can update to the latest 2366// AMI version of your cluster's current Kubernetes version by specifying your 2367// cluster's Kubernetes version in the request. For more information, see Amazon 2368// EKS-Optimized Linux AMI Versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html) 2369// in the Amazon EKS User Guide. 2370// 2371// You cannot roll back a node group to an earlier Kubernetes version or AMI 2372// version. 2373// 2374// When a node in a managed node group is terminated due to a scaling action 2375// or update, the pods in that node are drained first. Amazon EKS attempts to 2376// drain the nodes gracefully and will fail if it is unable to do so. You can 2377// force the update if Amazon EKS is unable to drain the nodes as a result of 2378// a pod disruption budget issue. 2379// 2380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2381// with awserr.Error's Code and Message methods to get detailed information about 2382// the error. 2383// 2384// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 2385// API operation UpdateNodegroupVersion for usage and error information. 2386// 2387// Returned Error Types: 2388// * InvalidParameterException 2389// The specified parameter is invalid. Review the available parameters for the 2390// API request. 2391// 2392// * ClientException 2393// These errors are usually caused by a client action. Actions can include using 2394// an action or resource on behalf of a user that doesn't have permissions to 2395// use the action or resource or specifying an identifier that is not valid. 2396// 2397// * ServerException 2398// These errors are usually caused by a server-side issue. 2399// 2400// * ResourceInUseException 2401// The specified resource is in use. 2402// 2403// * ResourceNotFoundException 2404// The specified resource could not be found. You can view your available clusters 2405// with ListClusters. You can view your available managed node groups with ListNodegroups. 2406// Amazon EKS clusters and node groups are Region-specific. 2407// 2408// * InvalidRequestException 2409// The request is invalid given the state of the cluster. Check the state of 2410// the cluster and the associated operations. 2411// 2412// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupVersion 2413func (c *EKS) UpdateNodegroupVersion(input *UpdateNodegroupVersionInput) (*UpdateNodegroupVersionOutput, error) { 2414 req, out := c.UpdateNodegroupVersionRequest(input) 2415 return out, req.Send() 2416} 2417 2418// UpdateNodegroupVersionWithContext is the same as UpdateNodegroupVersion with the addition of 2419// the ability to pass a context and additional request options. 2420// 2421// See UpdateNodegroupVersion for details on how to use this API operation. 2422// 2423// The context must be non-nil and will be used for request cancellation. If 2424// the context is nil a panic will occur. In the future the SDK may create 2425// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2426// for more information on using Contexts. 2427func (c *EKS) UpdateNodegroupVersionWithContext(ctx aws.Context, input *UpdateNodegroupVersionInput, opts ...request.Option) (*UpdateNodegroupVersionOutput, error) { 2428 req, out := c.UpdateNodegroupVersionRequest(input) 2429 req.SetContext(ctx) 2430 req.ApplyOptions(opts...) 2431 return out, req.Send() 2432} 2433 2434// An Auto Scaling group that is associated with an Amazon EKS managed node 2435// group. 2436type AutoScalingGroup struct { 2437 _ struct{} `type:"structure"` 2438 2439 // The name of the Auto Scaling group associated with an Amazon EKS managed 2440 // node group. 2441 Name *string `locationName:"name" type:"string"` 2442} 2443 2444// String returns the string representation 2445func (s AutoScalingGroup) String() string { 2446 return awsutil.Prettify(s) 2447} 2448 2449// GoString returns the string representation 2450func (s AutoScalingGroup) GoString() string { 2451 return s.String() 2452} 2453 2454// SetName sets the Name field's value. 2455func (s *AutoScalingGroup) SetName(v string) *AutoScalingGroup { 2456 s.Name = &v 2457 return s 2458} 2459 2460// This exception is thrown if the request contains a semantic error. The precise 2461// meaning will depend on the API, and will be documented in the error message. 2462type BadRequestException struct { 2463 _ struct{} `type:"structure"` 2464 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2465 2466 Message_ *string `locationName:"message" type:"string"` 2467} 2468 2469// String returns the string representation 2470func (s BadRequestException) String() string { 2471 return awsutil.Prettify(s) 2472} 2473 2474// GoString returns the string representation 2475func (s BadRequestException) GoString() string { 2476 return s.String() 2477} 2478 2479func newErrorBadRequestException(v protocol.ResponseMetadata) error { 2480 return &BadRequestException{ 2481 RespMetadata: v, 2482 } 2483} 2484 2485// Code returns the exception type name. 2486func (s *BadRequestException) Code() string { 2487 return "BadRequestException" 2488} 2489 2490// Message returns the exception's message. 2491func (s *BadRequestException) Message() string { 2492 if s.Message_ != nil { 2493 return *s.Message_ 2494 } 2495 return "" 2496} 2497 2498// OrigErr always returns nil, satisfies awserr.Error interface. 2499func (s *BadRequestException) OrigErr() error { 2500 return nil 2501} 2502 2503func (s *BadRequestException) Error() string { 2504 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2505} 2506 2507// Status code returns the HTTP status code for the request's response error. 2508func (s *BadRequestException) StatusCode() int { 2509 return s.RespMetadata.StatusCode 2510} 2511 2512// RequestID returns the service's response RequestID for request. 2513func (s *BadRequestException) RequestID() string { 2514 return s.RespMetadata.RequestID 2515} 2516 2517// An object representing the certificate-authority-data for your cluster. 2518type Certificate struct { 2519 _ struct{} `type:"structure"` 2520 2521 // The Base64-encoded certificate data required to communicate with your cluster. 2522 // Add this to the certificate-authority-data section of the kubeconfig file 2523 // for your cluster. 2524 Data *string `locationName:"data" type:"string"` 2525} 2526 2527// String returns the string representation 2528func (s Certificate) String() string { 2529 return awsutil.Prettify(s) 2530} 2531 2532// GoString returns the string representation 2533func (s Certificate) GoString() string { 2534 return s.String() 2535} 2536 2537// SetData sets the Data field's value. 2538func (s *Certificate) SetData(v string) *Certificate { 2539 s.Data = &v 2540 return s 2541} 2542 2543// These errors are usually caused by a client action. Actions can include using 2544// an action or resource on behalf of a user that doesn't have permissions to 2545// use the action or resource or specifying an identifier that is not valid. 2546type ClientException struct { 2547 _ struct{} `type:"structure"` 2548 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2549 2550 // The Amazon EKS cluster associated with the exception. 2551 ClusterName *string `locationName:"clusterName" type:"string"` 2552 2553 Message_ *string `locationName:"message" type:"string"` 2554 2555 // The Amazon EKS managed node group associated with the exception. 2556 NodegroupName *string `locationName:"nodegroupName" type:"string"` 2557} 2558 2559// String returns the string representation 2560func (s ClientException) String() string { 2561 return awsutil.Prettify(s) 2562} 2563 2564// GoString returns the string representation 2565func (s ClientException) GoString() string { 2566 return s.String() 2567} 2568 2569func newErrorClientException(v protocol.ResponseMetadata) error { 2570 return &ClientException{ 2571 RespMetadata: v, 2572 } 2573} 2574 2575// Code returns the exception type name. 2576func (s *ClientException) Code() string { 2577 return "ClientException" 2578} 2579 2580// Message returns the exception's message. 2581func (s *ClientException) Message() string { 2582 if s.Message_ != nil { 2583 return *s.Message_ 2584 } 2585 return "" 2586} 2587 2588// OrigErr always returns nil, satisfies awserr.Error interface. 2589func (s *ClientException) OrigErr() error { 2590 return nil 2591} 2592 2593func (s *ClientException) Error() string { 2594 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 2595} 2596 2597// Status code returns the HTTP status code for the request's response error. 2598func (s *ClientException) StatusCode() int { 2599 return s.RespMetadata.StatusCode 2600} 2601 2602// RequestID returns the service's response RequestID for request. 2603func (s *ClientException) RequestID() string { 2604 return s.RespMetadata.RequestID 2605} 2606 2607// An object representing an Amazon EKS cluster. 2608type Cluster struct { 2609 _ struct{} `type:"structure"` 2610 2611 // The Amazon Resource Name (ARN) of the cluster. 2612 Arn *string `locationName:"arn" type:"string"` 2613 2614 // The certificate-authority-data for your cluster. 2615 CertificateAuthority *Certificate `locationName:"certificateAuthority" type:"structure"` 2616 2617 // Unique, case-sensitive identifier that you provide to ensure the idempotency 2618 // of the request. 2619 ClientRequestToken *string `locationName:"clientRequestToken" type:"string"` 2620 2621 // The Unix epoch timestamp in seconds for when the cluster was created. 2622 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 2623 2624 // The encryption configuration for the cluster. 2625 EncryptionConfig []*EncryptionConfig `locationName:"encryptionConfig" type:"list"` 2626 2627 // The endpoint for your Kubernetes API server. 2628 Endpoint *string `locationName:"endpoint" type:"string"` 2629 2630 // The identity provider information for the cluster. 2631 Identity *Identity `locationName:"identity" type:"structure"` 2632 2633 // Network configuration settings for your cluster. 2634 KubernetesNetworkConfig *KubernetesNetworkConfigResponse `locationName:"kubernetesNetworkConfig" type:"structure"` 2635 2636 // The logging configuration for your cluster. 2637 Logging *Logging `locationName:"logging" type:"structure"` 2638 2639 // The name of the cluster. 2640 Name *string `locationName:"name" type:"string"` 2641 2642 // The platform version of your Amazon EKS cluster. For more information, see 2643 // Platform Versions (https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html) 2644 // in the Amazon EKS User Guide . 2645 PlatformVersion *string `locationName:"platformVersion" type:"string"` 2646 2647 // The VPC configuration used by the cluster control plane. Amazon EKS VPC resources 2648 // have specific requirements to work properly with Kubernetes. For more information, 2649 // see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) 2650 // and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) 2651 // in the Amazon EKS User Guide. 2652 ResourcesVpcConfig *VpcConfigResponse `locationName:"resourcesVpcConfig" type:"structure"` 2653 2654 // The Amazon Resource Name (ARN) of the IAM role that provides permissions 2655 // for the Kubernetes control plane to make calls to AWS API operations on your 2656 // behalf. 2657 RoleArn *string `locationName:"roleArn" type:"string"` 2658 2659 // The current status of the cluster. 2660 Status *string `locationName:"status" type:"string" enum:"ClusterStatus"` 2661 2662 // The metadata that you apply to the cluster to assist with categorization 2663 // and organization. Each tag consists of a key and an optional value, both 2664 // of which you define. Cluster tags do not propagate to any other resources 2665 // associated with the cluster. 2666 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 2667 2668 // The Kubernetes server version for the cluster. 2669 Version *string `locationName:"version" type:"string"` 2670} 2671 2672// String returns the string representation 2673func (s Cluster) String() string { 2674 return awsutil.Prettify(s) 2675} 2676 2677// GoString returns the string representation 2678func (s Cluster) GoString() string { 2679 return s.String() 2680} 2681 2682// SetArn sets the Arn field's value. 2683func (s *Cluster) SetArn(v string) *Cluster { 2684 s.Arn = &v 2685 return s 2686} 2687 2688// SetCertificateAuthority sets the CertificateAuthority field's value. 2689func (s *Cluster) SetCertificateAuthority(v *Certificate) *Cluster { 2690 s.CertificateAuthority = v 2691 return s 2692} 2693 2694// SetClientRequestToken sets the ClientRequestToken field's value. 2695func (s *Cluster) SetClientRequestToken(v string) *Cluster { 2696 s.ClientRequestToken = &v 2697 return s 2698} 2699 2700// SetCreatedAt sets the CreatedAt field's value. 2701func (s *Cluster) SetCreatedAt(v time.Time) *Cluster { 2702 s.CreatedAt = &v 2703 return s 2704} 2705 2706// SetEncryptionConfig sets the EncryptionConfig field's value. 2707func (s *Cluster) SetEncryptionConfig(v []*EncryptionConfig) *Cluster { 2708 s.EncryptionConfig = v 2709 return s 2710} 2711 2712// SetEndpoint sets the Endpoint field's value. 2713func (s *Cluster) SetEndpoint(v string) *Cluster { 2714 s.Endpoint = &v 2715 return s 2716} 2717 2718// SetIdentity sets the Identity field's value. 2719func (s *Cluster) SetIdentity(v *Identity) *Cluster { 2720 s.Identity = v 2721 return s 2722} 2723 2724// SetKubernetesNetworkConfig sets the KubernetesNetworkConfig field's value. 2725func (s *Cluster) SetKubernetesNetworkConfig(v *KubernetesNetworkConfigResponse) *Cluster { 2726 s.KubernetesNetworkConfig = v 2727 return s 2728} 2729 2730// SetLogging sets the Logging field's value. 2731func (s *Cluster) SetLogging(v *Logging) *Cluster { 2732 s.Logging = v 2733 return s 2734} 2735 2736// SetName sets the Name field's value. 2737func (s *Cluster) SetName(v string) *Cluster { 2738 s.Name = &v 2739 return s 2740} 2741 2742// SetPlatformVersion sets the PlatformVersion field's value. 2743func (s *Cluster) SetPlatformVersion(v string) *Cluster { 2744 s.PlatformVersion = &v 2745 return s 2746} 2747 2748// SetResourcesVpcConfig sets the ResourcesVpcConfig field's value. 2749func (s *Cluster) SetResourcesVpcConfig(v *VpcConfigResponse) *Cluster { 2750 s.ResourcesVpcConfig = v 2751 return s 2752} 2753 2754// SetRoleArn sets the RoleArn field's value. 2755func (s *Cluster) SetRoleArn(v string) *Cluster { 2756 s.RoleArn = &v 2757 return s 2758} 2759 2760// SetStatus sets the Status field's value. 2761func (s *Cluster) SetStatus(v string) *Cluster { 2762 s.Status = &v 2763 return s 2764} 2765 2766// SetTags sets the Tags field's value. 2767func (s *Cluster) SetTags(v map[string]*string) *Cluster { 2768 s.Tags = v 2769 return s 2770} 2771 2772// SetVersion sets the Version field's value. 2773func (s *Cluster) SetVersion(v string) *Cluster { 2774 s.Version = &v 2775 return s 2776} 2777 2778type CreateClusterInput struct { 2779 _ struct{} `type:"structure"` 2780 2781 // Unique, case-sensitive identifier that you provide to ensure the idempotency 2782 // of the request. 2783 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 2784 2785 // The encryption configuration for the cluster. 2786 EncryptionConfig []*EncryptionConfig `locationName:"encryptionConfig" type:"list"` 2787 2788 // The Kubernetes network configuration for the cluster. 2789 KubernetesNetworkConfig *KubernetesNetworkConfigRequest `locationName:"kubernetesNetworkConfig" type:"structure"` 2790 2791 // Enable or disable exporting the Kubernetes control plane logs for your cluster 2792 // to CloudWatch Logs. By default, cluster control plane logs aren't exported 2793 // to CloudWatch Logs. For more information, see Amazon EKS Cluster Control 2794 // Plane Logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) 2795 // in the Amazon EKS User Guide . 2796 // 2797 // CloudWatch Logs ingestion, archive storage, and data scanning rates apply 2798 // to exported control plane logs. For more information, see Amazon CloudWatch 2799 // Pricing (http://aws.amazon.com/cloudwatch/pricing/). 2800 Logging *Logging `locationName:"logging" type:"structure"` 2801 2802 // The unique name to give to your cluster. 2803 // 2804 // Name is a required field 2805 Name *string `locationName:"name" min:"1" type:"string" required:"true"` 2806 2807 // The VPC configuration used by the cluster control plane. Amazon EKS VPC resources 2808 // have specific requirements to work properly with Kubernetes. For more information, 2809 // see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) 2810 // and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) 2811 // in the Amazon EKS User Guide. You must specify at least two subnets. You 2812 // can specify up to five security groups, but we recommend that you use a dedicated 2813 // security group for your cluster control plane. 2814 // 2815 // ResourcesVpcConfig is a required field 2816 ResourcesVpcConfig *VpcConfigRequest `locationName:"resourcesVpcConfig" type:"structure" required:"true"` 2817 2818 // The Amazon Resource Name (ARN) of the IAM role that provides permissions 2819 // for the Kubernetes control plane to make calls to AWS API operations on your 2820 // behalf. For more information, see Amazon EKS Service IAM Role (https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html) 2821 // in the Amazon EKS User Guide . 2822 // 2823 // RoleArn is a required field 2824 RoleArn *string `locationName:"roleArn" type:"string" required:"true"` 2825 2826 // The metadata to apply to the cluster to assist with categorization and organization. 2827 // Each tag consists of a key and an optional value, both of which you define. 2828 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 2829 2830 // The desired Kubernetes version for your cluster. If you don't specify a value 2831 // here, the latest version available in Amazon EKS is used. 2832 Version *string `locationName:"version" type:"string"` 2833} 2834 2835// String returns the string representation 2836func (s CreateClusterInput) String() string { 2837 return awsutil.Prettify(s) 2838} 2839 2840// GoString returns the string representation 2841func (s CreateClusterInput) GoString() string { 2842 return s.String() 2843} 2844 2845// Validate inspects the fields of the type to determine if they are valid. 2846func (s *CreateClusterInput) Validate() error { 2847 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 2848 if s.Name == nil { 2849 invalidParams.Add(request.NewErrParamRequired("Name")) 2850 } 2851 if s.Name != nil && len(*s.Name) < 1 { 2852 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 2853 } 2854 if s.ResourcesVpcConfig == nil { 2855 invalidParams.Add(request.NewErrParamRequired("ResourcesVpcConfig")) 2856 } 2857 if s.RoleArn == nil { 2858 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 2859 } 2860 if s.Tags != nil && len(s.Tags) < 1 { 2861 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 2862 } 2863 2864 if invalidParams.Len() > 0 { 2865 return invalidParams 2866 } 2867 return nil 2868} 2869 2870// SetClientRequestToken sets the ClientRequestToken field's value. 2871func (s *CreateClusterInput) SetClientRequestToken(v string) *CreateClusterInput { 2872 s.ClientRequestToken = &v 2873 return s 2874} 2875 2876// SetEncryptionConfig sets the EncryptionConfig field's value. 2877func (s *CreateClusterInput) SetEncryptionConfig(v []*EncryptionConfig) *CreateClusterInput { 2878 s.EncryptionConfig = v 2879 return s 2880} 2881 2882// SetKubernetesNetworkConfig sets the KubernetesNetworkConfig field's value. 2883func (s *CreateClusterInput) SetKubernetesNetworkConfig(v *KubernetesNetworkConfigRequest) *CreateClusterInput { 2884 s.KubernetesNetworkConfig = v 2885 return s 2886} 2887 2888// SetLogging sets the Logging field's value. 2889func (s *CreateClusterInput) SetLogging(v *Logging) *CreateClusterInput { 2890 s.Logging = v 2891 return s 2892} 2893 2894// SetName sets the Name field's value. 2895func (s *CreateClusterInput) SetName(v string) *CreateClusterInput { 2896 s.Name = &v 2897 return s 2898} 2899 2900// SetResourcesVpcConfig sets the ResourcesVpcConfig field's value. 2901func (s *CreateClusterInput) SetResourcesVpcConfig(v *VpcConfigRequest) *CreateClusterInput { 2902 s.ResourcesVpcConfig = v 2903 return s 2904} 2905 2906// SetRoleArn sets the RoleArn field's value. 2907func (s *CreateClusterInput) SetRoleArn(v string) *CreateClusterInput { 2908 s.RoleArn = &v 2909 return s 2910} 2911 2912// SetTags sets the Tags field's value. 2913func (s *CreateClusterInput) SetTags(v map[string]*string) *CreateClusterInput { 2914 s.Tags = v 2915 return s 2916} 2917 2918// SetVersion sets the Version field's value. 2919func (s *CreateClusterInput) SetVersion(v string) *CreateClusterInput { 2920 s.Version = &v 2921 return s 2922} 2923 2924type CreateClusterOutput struct { 2925 _ struct{} `type:"structure"` 2926 2927 // The full description of your new cluster. 2928 Cluster *Cluster `locationName:"cluster" type:"structure"` 2929} 2930 2931// String returns the string representation 2932func (s CreateClusterOutput) String() string { 2933 return awsutil.Prettify(s) 2934} 2935 2936// GoString returns the string representation 2937func (s CreateClusterOutput) GoString() string { 2938 return s.String() 2939} 2940 2941// SetCluster sets the Cluster field's value. 2942func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 2943 s.Cluster = v 2944 return s 2945} 2946 2947type CreateFargateProfileInput struct { 2948 _ struct{} `type:"structure"` 2949 2950 // Unique, case-sensitive identifier that you provide to ensure the idempotency 2951 // of the request. 2952 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 2953 2954 // The name of the Amazon EKS cluster to apply the Fargate profile to. 2955 // 2956 // ClusterName is a required field 2957 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 2958 2959 // The name of the Fargate profile. 2960 // 2961 // FargateProfileName is a required field 2962 FargateProfileName *string `locationName:"fargateProfileName" type:"string" required:"true"` 2963 2964 // The Amazon Resource Name (ARN) of the pod execution role to use for pods 2965 // that match the selectors in the Fargate profile. The pod execution role allows 2966 // Fargate infrastructure to register with your cluster as a node, and it provides 2967 // read access to Amazon ECR image repositories. For more information, see Pod 2968 // Execution Role (https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html) 2969 // in the Amazon EKS User Guide. 2970 // 2971 // PodExecutionRoleArn is a required field 2972 PodExecutionRoleArn *string `locationName:"podExecutionRoleArn" type:"string" required:"true"` 2973 2974 // The selectors to match for pods to use this Fargate profile. Each selector 2975 // must have an associated namespace. Optionally, you can also specify labels 2976 // for a namespace. You may specify up to five selectors in a Fargate profile. 2977 Selectors []*FargateProfileSelector `locationName:"selectors" type:"list"` 2978 2979 // The IDs of subnets to launch your pods into. At this time, pods running on 2980 // Fargate are not assigned public IP addresses, so only private subnets (with 2981 // no direct route to an Internet Gateway) are accepted for this parameter. 2982 Subnets []*string `locationName:"subnets" type:"list"` 2983 2984 // The metadata to apply to the Fargate profile to assist with categorization 2985 // and organization. Each tag consists of a key and an optional value, both 2986 // of which you define. Fargate profile tags do not propagate to any other resources 2987 // associated with the Fargate profile, such as the pods that are scheduled 2988 // with it. 2989 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 2990} 2991 2992// String returns the string representation 2993func (s CreateFargateProfileInput) String() string { 2994 return awsutil.Prettify(s) 2995} 2996 2997// GoString returns the string representation 2998func (s CreateFargateProfileInput) GoString() string { 2999 return s.String() 3000} 3001 3002// Validate inspects the fields of the type to determine if they are valid. 3003func (s *CreateFargateProfileInput) Validate() error { 3004 invalidParams := request.ErrInvalidParams{Context: "CreateFargateProfileInput"} 3005 if s.ClusterName == nil { 3006 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 3007 } 3008 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 3009 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 3010 } 3011 if s.FargateProfileName == nil { 3012 invalidParams.Add(request.NewErrParamRequired("FargateProfileName")) 3013 } 3014 if s.PodExecutionRoleArn == nil { 3015 invalidParams.Add(request.NewErrParamRequired("PodExecutionRoleArn")) 3016 } 3017 if s.Tags != nil && len(s.Tags) < 1 { 3018 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 3019 } 3020 3021 if invalidParams.Len() > 0 { 3022 return invalidParams 3023 } 3024 return nil 3025} 3026 3027// SetClientRequestToken sets the ClientRequestToken field's value. 3028func (s *CreateFargateProfileInput) SetClientRequestToken(v string) *CreateFargateProfileInput { 3029 s.ClientRequestToken = &v 3030 return s 3031} 3032 3033// SetClusterName sets the ClusterName field's value. 3034func (s *CreateFargateProfileInput) SetClusterName(v string) *CreateFargateProfileInput { 3035 s.ClusterName = &v 3036 return s 3037} 3038 3039// SetFargateProfileName sets the FargateProfileName field's value. 3040func (s *CreateFargateProfileInput) SetFargateProfileName(v string) *CreateFargateProfileInput { 3041 s.FargateProfileName = &v 3042 return s 3043} 3044 3045// SetPodExecutionRoleArn sets the PodExecutionRoleArn field's value. 3046func (s *CreateFargateProfileInput) SetPodExecutionRoleArn(v string) *CreateFargateProfileInput { 3047 s.PodExecutionRoleArn = &v 3048 return s 3049} 3050 3051// SetSelectors sets the Selectors field's value. 3052func (s *CreateFargateProfileInput) SetSelectors(v []*FargateProfileSelector) *CreateFargateProfileInput { 3053 s.Selectors = v 3054 return s 3055} 3056 3057// SetSubnets sets the Subnets field's value. 3058func (s *CreateFargateProfileInput) SetSubnets(v []*string) *CreateFargateProfileInput { 3059 s.Subnets = v 3060 return s 3061} 3062 3063// SetTags sets the Tags field's value. 3064func (s *CreateFargateProfileInput) SetTags(v map[string]*string) *CreateFargateProfileInput { 3065 s.Tags = v 3066 return s 3067} 3068 3069type CreateFargateProfileOutput struct { 3070 _ struct{} `type:"structure"` 3071 3072 // The full description of your new Fargate profile. 3073 FargateProfile *FargateProfile `locationName:"fargateProfile" type:"structure"` 3074} 3075 3076// String returns the string representation 3077func (s CreateFargateProfileOutput) String() string { 3078 return awsutil.Prettify(s) 3079} 3080 3081// GoString returns the string representation 3082func (s CreateFargateProfileOutput) GoString() string { 3083 return s.String() 3084} 3085 3086// SetFargateProfile sets the FargateProfile field's value. 3087func (s *CreateFargateProfileOutput) SetFargateProfile(v *FargateProfile) *CreateFargateProfileOutput { 3088 s.FargateProfile = v 3089 return s 3090} 3091 3092type CreateNodegroupInput struct { 3093 _ struct{} `type:"structure"` 3094 3095 // The AMI type for your node group. GPU instance types should use the AL2_x86_64_GPU 3096 // AMI type. Non-GPU instances should use the AL2_x86_64 AMI type. Arm instances 3097 // should use the AL2_ARM_64 AMI type. All types use the Amazon EKS-optimized 3098 // Amazon Linux 2 AMI. If you specify launchTemplate, and your launch template 3099 // uses a custom AMI, then don't specify amiType, or the node group deployment 3100 // will fail. For more information about using launch templates with Amazon 3101 // EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 3102 // in the Amazon EKS User Guide. 3103 AmiType *string `locationName:"amiType" type:"string" enum:"AMITypes"` 3104 3105 // Unique, case-sensitive identifier that you provide to ensure the idempotency 3106 // of the request. 3107 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 3108 3109 // The name of the cluster to create the node group in. 3110 // 3111 // ClusterName is a required field 3112 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 3113 3114 // The root device disk size (in GiB) for your node group instances. The default 3115 // disk size is 20 GiB. If you specify launchTemplate, then don't specify diskSize, 3116 // or the node group deployment will fail. For more information about using 3117 // launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 3118 // in the Amazon EKS User Guide. 3119 DiskSize *int64 `locationName:"diskSize" type:"integer"` 3120 3121 // The instance type to use for your node group. You can specify a single instance 3122 // type for a node group. The default value for instanceTypes is t3.medium. 3123 // If you choose a GPU instance type, be sure to specify AL2_x86_64_GPU with 3124 // the amiType parameter. If you specify launchTemplate, then don't specify 3125 // instanceTypes, or the node group deployment will fail. For more information 3126 // about using launch templates with Amazon EKS, see Launch template support 3127 // (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 3128 // in the Amazon EKS User Guide. 3129 InstanceTypes []*string `locationName:"instanceTypes" type:"list"` 3130 3131 // The Kubernetes labels to be applied to the nodes in the node group when they 3132 // are created. 3133 Labels map[string]*string `locationName:"labels" type:"map"` 3134 3135 // An object representing a node group's launch template specification. If specified, 3136 // then do not specify instanceTypes, diskSize, or remoteAccess and make sure 3137 // that the launch template meets the requirements in launchTemplateSpecification. 3138 LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` 3139 3140 // The Amazon Resource Name (ARN) of the IAM role to associate with your node 3141 // group. The Amazon EKS worker node kubelet daemon makes calls to AWS APIs 3142 // on your behalf. Worker nodes receive permissions for these API calls through 3143 // an IAM instance profile and associated policies. Before you can launch worker 3144 // nodes and register them into a cluster, you must create an IAM role for those 3145 // worker nodes to use when they are launched. For more information, see Amazon 3146 // EKS Worker Node IAM Role (https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html) 3147 // in the Amazon EKS User Guide . If you specify launchTemplate, then don't 3148 // specify IamInstanceProfile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html) 3149 // in your launch template, or the node group deployment will fail. For more 3150 // information about using launch templates with Amazon EKS, see Launch template 3151 // support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 3152 // in the Amazon EKS User Guide. 3153 // 3154 // NodeRole is a required field 3155 NodeRole *string `locationName:"nodeRole" type:"string" required:"true"` 3156 3157 // The unique name to give your node group. 3158 // 3159 // NodegroupName is a required field 3160 NodegroupName *string `locationName:"nodegroupName" type:"string" required:"true"` 3161 3162 // The AMI version of the Amazon EKS-optimized AMI to use with your node group. 3163 // By default, the latest available AMI version for the node group's current 3164 // Kubernetes version is used. For more information, see Amazon EKS-Optimized 3165 // Linux AMI Versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html) 3166 // in the Amazon EKS User Guide. If you specify launchTemplate, and your launch 3167 // template uses a custom AMI, then don't specify releaseVersion, or the node 3168 // group deployment will fail. For more information about using launch templates 3169 // with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 3170 // in the Amazon EKS User Guide. 3171 ReleaseVersion *string `locationName:"releaseVersion" type:"string"` 3172 3173 // The remote access (SSH) configuration to use with your node group. If you 3174 // specify launchTemplate, then don't specify remoteAccess, or the node group 3175 // deployment will fail. For more information about using launch templates with 3176 // Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 3177 // in the Amazon EKS User Guide. 3178 RemoteAccess *RemoteAccessConfig `locationName:"remoteAccess" type:"structure"` 3179 3180 // The scaling configuration details for the Auto Scaling group that is created 3181 // for your node group. 3182 ScalingConfig *NodegroupScalingConfig `locationName:"scalingConfig" type:"structure"` 3183 3184 // The subnets to use for the Auto Scaling group that is created for your node 3185 // group. These subnets must have the tag key kubernetes.io/cluster/CLUSTER_NAME 3186 // with a value of shared, where CLUSTER_NAME is replaced with the name of your 3187 // cluster. If you specify launchTemplate, then don't specify SubnetId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html) 3188 // in your launch template, or the node group deployment will fail. For more 3189 // information about using launch templates with Amazon EKS, see Launch template 3190 // support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 3191 // in the Amazon EKS User Guide. 3192 // 3193 // Subnets is a required field 3194 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 3195 3196 // The metadata to apply to the node group to assist with categorization and 3197 // organization. Each tag consists of a key and an optional value, both of which 3198 // you define. Node group tags do not propagate to any other resources associated 3199 // with the node group, such as the Amazon EC2 instances or subnets. 3200 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 3201 3202 // The Kubernetes version to use for your managed nodes. By default, the Kubernetes 3203 // version of the cluster is used, and this is the only accepted specified value. 3204 // If you specify launchTemplate, and your launch template uses a custom AMI, 3205 // then don't specify version, or the node group deployment will fail. For more 3206 // information about using launch templates with Amazon EKS, see Launch template 3207 // support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 3208 // in the Amazon EKS User Guide. 3209 Version *string `locationName:"version" type:"string"` 3210} 3211 3212// String returns the string representation 3213func (s CreateNodegroupInput) String() string { 3214 return awsutil.Prettify(s) 3215} 3216 3217// GoString returns the string representation 3218func (s CreateNodegroupInput) GoString() string { 3219 return s.String() 3220} 3221 3222// Validate inspects the fields of the type to determine if they are valid. 3223func (s *CreateNodegroupInput) Validate() error { 3224 invalidParams := request.ErrInvalidParams{Context: "CreateNodegroupInput"} 3225 if s.ClusterName == nil { 3226 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 3227 } 3228 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 3229 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 3230 } 3231 if s.NodeRole == nil { 3232 invalidParams.Add(request.NewErrParamRequired("NodeRole")) 3233 } 3234 if s.NodegroupName == nil { 3235 invalidParams.Add(request.NewErrParamRequired("NodegroupName")) 3236 } 3237 if s.Subnets == nil { 3238 invalidParams.Add(request.NewErrParamRequired("Subnets")) 3239 } 3240 if s.Tags != nil && len(s.Tags) < 1 { 3241 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 3242 } 3243 if s.ScalingConfig != nil { 3244 if err := s.ScalingConfig.Validate(); err != nil { 3245 invalidParams.AddNested("ScalingConfig", err.(request.ErrInvalidParams)) 3246 } 3247 } 3248 3249 if invalidParams.Len() > 0 { 3250 return invalidParams 3251 } 3252 return nil 3253} 3254 3255// SetAmiType sets the AmiType field's value. 3256func (s *CreateNodegroupInput) SetAmiType(v string) *CreateNodegroupInput { 3257 s.AmiType = &v 3258 return s 3259} 3260 3261// SetClientRequestToken sets the ClientRequestToken field's value. 3262func (s *CreateNodegroupInput) SetClientRequestToken(v string) *CreateNodegroupInput { 3263 s.ClientRequestToken = &v 3264 return s 3265} 3266 3267// SetClusterName sets the ClusterName field's value. 3268func (s *CreateNodegroupInput) SetClusterName(v string) *CreateNodegroupInput { 3269 s.ClusterName = &v 3270 return s 3271} 3272 3273// SetDiskSize sets the DiskSize field's value. 3274func (s *CreateNodegroupInput) SetDiskSize(v int64) *CreateNodegroupInput { 3275 s.DiskSize = &v 3276 return s 3277} 3278 3279// SetInstanceTypes sets the InstanceTypes field's value. 3280func (s *CreateNodegroupInput) SetInstanceTypes(v []*string) *CreateNodegroupInput { 3281 s.InstanceTypes = v 3282 return s 3283} 3284 3285// SetLabels sets the Labels field's value. 3286func (s *CreateNodegroupInput) SetLabels(v map[string]*string) *CreateNodegroupInput { 3287 s.Labels = v 3288 return s 3289} 3290 3291// SetLaunchTemplate sets the LaunchTemplate field's value. 3292func (s *CreateNodegroupInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *CreateNodegroupInput { 3293 s.LaunchTemplate = v 3294 return s 3295} 3296 3297// SetNodeRole sets the NodeRole field's value. 3298func (s *CreateNodegroupInput) SetNodeRole(v string) *CreateNodegroupInput { 3299 s.NodeRole = &v 3300 return s 3301} 3302 3303// SetNodegroupName sets the NodegroupName field's value. 3304func (s *CreateNodegroupInput) SetNodegroupName(v string) *CreateNodegroupInput { 3305 s.NodegroupName = &v 3306 return s 3307} 3308 3309// SetReleaseVersion sets the ReleaseVersion field's value. 3310func (s *CreateNodegroupInput) SetReleaseVersion(v string) *CreateNodegroupInput { 3311 s.ReleaseVersion = &v 3312 return s 3313} 3314 3315// SetRemoteAccess sets the RemoteAccess field's value. 3316func (s *CreateNodegroupInput) SetRemoteAccess(v *RemoteAccessConfig) *CreateNodegroupInput { 3317 s.RemoteAccess = v 3318 return s 3319} 3320 3321// SetScalingConfig sets the ScalingConfig field's value. 3322func (s *CreateNodegroupInput) SetScalingConfig(v *NodegroupScalingConfig) *CreateNodegroupInput { 3323 s.ScalingConfig = v 3324 return s 3325} 3326 3327// SetSubnets sets the Subnets field's value. 3328func (s *CreateNodegroupInput) SetSubnets(v []*string) *CreateNodegroupInput { 3329 s.Subnets = v 3330 return s 3331} 3332 3333// SetTags sets the Tags field's value. 3334func (s *CreateNodegroupInput) SetTags(v map[string]*string) *CreateNodegroupInput { 3335 s.Tags = v 3336 return s 3337} 3338 3339// SetVersion sets the Version field's value. 3340func (s *CreateNodegroupInput) SetVersion(v string) *CreateNodegroupInput { 3341 s.Version = &v 3342 return s 3343} 3344 3345type CreateNodegroupOutput struct { 3346 _ struct{} `type:"structure"` 3347 3348 // The full description of your new node group. 3349 Nodegroup *Nodegroup `locationName:"nodegroup" type:"structure"` 3350} 3351 3352// String returns the string representation 3353func (s CreateNodegroupOutput) String() string { 3354 return awsutil.Prettify(s) 3355} 3356 3357// GoString returns the string representation 3358func (s CreateNodegroupOutput) GoString() string { 3359 return s.String() 3360} 3361 3362// SetNodegroup sets the Nodegroup field's value. 3363func (s *CreateNodegroupOutput) SetNodegroup(v *Nodegroup) *CreateNodegroupOutput { 3364 s.Nodegroup = v 3365 return s 3366} 3367 3368type DeleteClusterInput struct { 3369 _ struct{} `type:"structure"` 3370 3371 // The name of the cluster to delete. 3372 // 3373 // Name is a required field 3374 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 3375} 3376 3377// String returns the string representation 3378func (s DeleteClusterInput) String() string { 3379 return awsutil.Prettify(s) 3380} 3381 3382// GoString returns the string representation 3383func (s DeleteClusterInput) GoString() string { 3384 return s.String() 3385} 3386 3387// Validate inspects the fields of the type to determine if they are valid. 3388func (s *DeleteClusterInput) Validate() error { 3389 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 3390 if s.Name == nil { 3391 invalidParams.Add(request.NewErrParamRequired("Name")) 3392 } 3393 if s.Name != nil && len(*s.Name) < 1 { 3394 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 3395 } 3396 3397 if invalidParams.Len() > 0 { 3398 return invalidParams 3399 } 3400 return nil 3401} 3402 3403// SetName sets the Name field's value. 3404func (s *DeleteClusterInput) SetName(v string) *DeleteClusterInput { 3405 s.Name = &v 3406 return s 3407} 3408 3409type DeleteClusterOutput struct { 3410 _ struct{} `type:"structure"` 3411 3412 // The full description of the cluster to delete. 3413 Cluster *Cluster `locationName:"cluster" type:"structure"` 3414} 3415 3416// String returns the string representation 3417func (s DeleteClusterOutput) String() string { 3418 return awsutil.Prettify(s) 3419} 3420 3421// GoString returns the string representation 3422func (s DeleteClusterOutput) GoString() string { 3423 return s.String() 3424} 3425 3426// SetCluster sets the Cluster field's value. 3427func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 3428 s.Cluster = v 3429 return s 3430} 3431 3432type DeleteFargateProfileInput struct { 3433 _ struct{} `type:"structure"` 3434 3435 // The name of the Amazon EKS cluster associated with the Fargate profile to 3436 // delete. 3437 // 3438 // ClusterName is a required field 3439 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 3440 3441 // The name of the Fargate profile to delete. 3442 // 3443 // FargateProfileName is a required field 3444 FargateProfileName *string `location:"uri" locationName:"fargateProfileName" type:"string" required:"true"` 3445} 3446 3447// String returns the string representation 3448func (s DeleteFargateProfileInput) String() string { 3449 return awsutil.Prettify(s) 3450} 3451 3452// GoString returns the string representation 3453func (s DeleteFargateProfileInput) GoString() string { 3454 return s.String() 3455} 3456 3457// Validate inspects the fields of the type to determine if they are valid. 3458func (s *DeleteFargateProfileInput) Validate() error { 3459 invalidParams := request.ErrInvalidParams{Context: "DeleteFargateProfileInput"} 3460 if s.ClusterName == nil { 3461 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 3462 } 3463 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 3464 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 3465 } 3466 if s.FargateProfileName == nil { 3467 invalidParams.Add(request.NewErrParamRequired("FargateProfileName")) 3468 } 3469 if s.FargateProfileName != nil && len(*s.FargateProfileName) < 1 { 3470 invalidParams.Add(request.NewErrParamMinLen("FargateProfileName", 1)) 3471 } 3472 3473 if invalidParams.Len() > 0 { 3474 return invalidParams 3475 } 3476 return nil 3477} 3478 3479// SetClusterName sets the ClusterName field's value. 3480func (s *DeleteFargateProfileInput) SetClusterName(v string) *DeleteFargateProfileInput { 3481 s.ClusterName = &v 3482 return s 3483} 3484 3485// SetFargateProfileName sets the FargateProfileName field's value. 3486func (s *DeleteFargateProfileInput) SetFargateProfileName(v string) *DeleteFargateProfileInput { 3487 s.FargateProfileName = &v 3488 return s 3489} 3490 3491type DeleteFargateProfileOutput struct { 3492 _ struct{} `type:"structure"` 3493 3494 // The deleted Fargate profile. 3495 FargateProfile *FargateProfile `locationName:"fargateProfile" type:"structure"` 3496} 3497 3498// String returns the string representation 3499func (s DeleteFargateProfileOutput) String() string { 3500 return awsutil.Prettify(s) 3501} 3502 3503// GoString returns the string representation 3504func (s DeleteFargateProfileOutput) GoString() string { 3505 return s.String() 3506} 3507 3508// SetFargateProfile sets the FargateProfile field's value. 3509func (s *DeleteFargateProfileOutput) SetFargateProfile(v *FargateProfile) *DeleteFargateProfileOutput { 3510 s.FargateProfile = v 3511 return s 3512} 3513 3514type DeleteNodegroupInput struct { 3515 _ struct{} `type:"structure"` 3516 3517 // The name of the Amazon EKS cluster that is associated with your node group. 3518 // 3519 // ClusterName is a required field 3520 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 3521 3522 // The name of the node group to delete. 3523 // 3524 // NodegroupName is a required field 3525 NodegroupName *string `location:"uri" locationName:"nodegroupName" type:"string" required:"true"` 3526} 3527 3528// String returns the string representation 3529func (s DeleteNodegroupInput) String() string { 3530 return awsutil.Prettify(s) 3531} 3532 3533// GoString returns the string representation 3534func (s DeleteNodegroupInput) GoString() string { 3535 return s.String() 3536} 3537 3538// Validate inspects the fields of the type to determine if they are valid. 3539func (s *DeleteNodegroupInput) Validate() error { 3540 invalidParams := request.ErrInvalidParams{Context: "DeleteNodegroupInput"} 3541 if s.ClusterName == nil { 3542 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 3543 } 3544 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 3545 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 3546 } 3547 if s.NodegroupName == nil { 3548 invalidParams.Add(request.NewErrParamRequired("NodegroupName")) 3549 } 3550 if s.NodegroupName != nil && len(*s.NodegroupName) < 1 { 3551 invalidParams.Add(request.NewErrParamMinLen("NodegroupName", 1)) 3552 } 3553 3554 if invalidParams.Len() > 0 { 3555 return invalidParams 3556 } 3557 return nil 3558} 3559 3560// SetClusterName sets the ClusterName field's value. 3561func (s *DeleteNodegroupInput) SetClusterName(v string) *DeleteNodegroupInput { 3562 s.ClusterName = &v 3563 return s 3564} 3565 3566// SetNodegroupName sets the NodegroupName field's value. 3567func (s *DeleteNodegroupInput) SetNodegroupName(v string) *DeleteNodegroupInput { 3568 s.NodegroupName = &v 3569 return s 3570} 3571 3572type DeleteNodegroupOutput struct { 3573 _ struct{} `type:"structure"` 3574 3575 // The full description of your deleted node group. 3576 Nodegroup *Nodegroup `locationName:"nodegroup" type:"structure"` 3577} 3578 3579// String returns the string representation 3580func (s DeleteNodegroupOutput) String() string { 3581 return awsutil.Prettify(s) 3582} 3583 3584// GoString returns the string representation 3585func (s DeleteNodegroupOutput) GoString() string { 3586 return s.String() 3587} 3588 3589// SetNodegroup sets the Nodegroup field's value. 3590func (s *DeleteNodegroupOutput) SetNodegroup(v *Nodegroup) *DeleteNodegroupOutput { 3591 s.Nodegroup = v 3592 return s 3593} 3594 3595type DescribeClusterInput struct { 3596 _ struct{} `type:"structure"` 3597 3598 // The name of the cluster to describe. 3599 // 3600 // Name is a required field 3601 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 3602} 3603 3604// String returns the string representation 3605func (s DescribeClusterInput) String() string { 3606 return awsutil.Prettify(s) 3607} 3608 3609// GoString returns the string representation 3610func (s DescribeClusterInput) GoString() string { 3611 return s.String() 3612} 3613 3614// Validate inspects the fields of the type to determine if they are valid. 3615func (s *DescribeClusterInput) Validate() error { 3616 invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"} 3617 if s.Name == nil { 3618 invalidParams.Add(request.NewErrParamRequired("Name")) 3619 } 3620 if s.Name != nil && len(*s.Name) < 1 { 3621 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 3622 } 3623 3624 if invalidParams.Len() > 0 { 3625 return invalidParams 3626 } 3627 return nil 3628} 3629 3630// SetName sets the Name field's value. 3631func (s *DescribeClusterInput) SetName(v string) *DescribeClusterInput { 3632 s.Name = &v 3633 return s 3634} 3635 3636type DescribeClusterOutput struct { 3637 _ struct{} `type:"structure"` 3638 3639 // The full description of your specified cluster. 3640 Cluster *Cluster `locationName:"cluster" type:"structure"` 3641} 3642 3643// String returns the string representation 3644func (s DescribeClusterOutput) String() string { 3645 return awsutil.Prettify(s) 3646} 3647 3648// GoString returns the string representation 3649func (s DescribeClusterOutput) GoString() string { 3650 return s.String() 3651} 3652 3653// SetCluster sets the Cluster field's value. 3654func (s *DescribeClusterOutput) SetCluster(v *Cluster) *DescribeClusterOutput { 3655 s.Cluster = v 3656 return s 3657} 3658 3659type DescribeFargateProfileInput struct { 3660 _ struct{} `type:"structure"` 3661 3662 // The name of the Amazon EKS cluster associated with the Fargate profile. 3663 // 3664 // ClusterName is a required field 3665 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 3666 3667 // The name of the Fargate profile to describe. 3668 // 3669 // FargateProfileName is a required field 3670 FargateProfileName *string `location:"uri" locationName:"fargateProfileName" type:"string" required:"true"` 3671} 3672 3673// String returns the string representation 3674func (s DescribeFargateProfileInput) String() string { 3675 return awsutil.Prettify(s) 3676} 3677 3678// GoString returns the string representation 3679func (s DescribeFargateProfileInput) GoString() string { 3680 return s.String() 3681} 3682 3683// Validate inspects the fields of the type to determine if they are valid. 3684func (s *DescribeFargateProfileInput) Validate() error { 3685 invalidParams := request.ErrInvalidParams{Context: "DescribeFargateProfileInput"} 3686 if s.ClusterName == nil { 3687 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 3688 } 3689 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 3690 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 3691 } 3692 if s.FargateProfileName == nil { 3693 invalidParams.Add(request.NewErrParamRequired("FargateProfileName")) 3694 } 3695 if s.FargateProfileName != nil && len(*s.FargateProfileName) < 1 { 3696 invalidParams.Add(request.NewErrParamMinLen("FargateProfileName", 1)) 3697 } 3698 3699 if invalidParams.Len() > 0 { 3700 return invalidParams 3701 } 3702 return nil 3703} 3704 3705// SetClusterName sets the ClusterName field's value. 3706func (s *DescribeFargateProfileInput) SetClusterName(v string) *DescribeFargateProfileInput { 3707 s.ClusterName = &v 3708 return s 3709} 3710 3711// SetFargateProfileName sets the FargateProfileName field's value. 3712func (s *DescribeFargateProfileInput) SetFargateProfileName(v string) *DescribeFargateProfileInput { 3713 s.FargateProfileName = &v 3714 return s 3715} 3716 3717type DescribeFargateProfileOutput struct { 3718 _ struct{} `type:"structure"` 3719 3720 // The full description of your Fargate profile. 3721 FargateProfile *FargateProfile `locationName:"fargateProfile" type:"structure"` 3722} 3723 3724// String returns the string representation 3725func (s DescribeFargateProfileOutput) String() string { 3726 return awsutil.Prettify(s) 3727} 3728 3729// GoString returns the string representation 3730func (s DescribeFargateProfileOutput) GoString() string { 3731 return s.String() 3732} 3733 3734// SetFargateProfile sets the FargateProfile field's value. 3735func (s *DescribeFargateProfileOutput) SetFargateProfile(v *FargateProfile) *DescribeFargateProfileOutput { 3736 s.FargateProfile = v 3737 return s 3738} 3739 3740type DescribeNodegroupInput struct { 3741 _ struct{} `type:"structure"` 3742 3743 // The name of the Amazon EKS cluster associated with the node group. 3744 // 3745 // ClusterName is a required field 3746 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 3747 3748 // The name of the node group to describe. 3749 // 3750 // NodegroupName is a required field 3751 NodegroupName *string `location:"uri" locationName:"nodegroupName" type:"string" required:"true"` 3752} 3753 3754// String returns the string representation 3755func (s DescribeNodegroupInput) String() string { 3756 return awsutil.Prettify(s) 3757} 3758 3759// GoString returns the string representation 3760func (s DescribeNodegroupInput) GoString() string { 3761 return s.String() 3762} 3763 3764// Validate inspects the fields of the type to determine if they are valid. 3765func (s *DescribeNodegroupInput) Validate() error { 3766 invalidParams := request.ErrInvalidParams{Context: "DescribeNodegroupInput"} 3767 if s.ClusterName == nil { 3768 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 3769 } 3770 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 3771 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 3772 } 3773 if s.NodegroupName == nil { 3774 invalidParams.Add(request.NewErrParamRequired("NodegroupName")) 3775 } 3776 if s.NodegroupName != nil && len(*s.NodegroupName) < 1 { 3777 invalidParams.Add(request.NewErrParamMinLen("NodegroupName", 1)) 3778 } 3779 3780 if invalidParams.Len() > 0 { 3781 return invalidParams 3782 } 3783 return nil 3784} 3785 3786// SetClusterName sets the ClusterName field's value. 3787func (s *DescribeNodegroupInput) SetClusterName(v string) *DescribeNodegroupInput { 3788 s.ClusterName = &v 3789 return s 3790} 3791 3792// SetNodegroupName sets the NodegroupName field's value. 3793func (s *DescribeNodegroupInput) SetNodegroupName(v string) *DescribeNodegroupInput { 3794 s.NodegroupName = &v 3795 return s 3796} 3797 3798type DescribeNodegroupOutput struct { 3799 _ struct{} `type:"structure"` 3800 3801 // The full description of your node group. 3802 Nodegroup *Nodegroup `locationName:"nodegroup" type:"structure"` 3803} 3804 3805// String returns the string representation 3806func (s DescribeNodegroupOutput) String() string { 3807 return awsutil.Prettify(s) 3808} 3809 3810// GoString returns the string representation 3811func (s DescribeNodegroupOutput) GoString() string { 3812 return s.String() 3813} 3814 3815// SetNodegroup sets the Nodegroup field's value. 3816func (s *DescribeNodegroupOutput) SetNodegroup(v *Nodegroup) *DescribeNodegroupOutput { 3817 s.Nodegroup = v 3818 return s 3819} 3820 3821type DescribeUpdateInput struct { 3822 _ struct{} `type:"structure"` 3823 3824 // The name of the Amazon EKS cluster associated with the update. 3825 // 3826 // Name is a required field 3827 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 3828 3829 // The name of the Amazon EKS node group associated with the update. 3830 NodegroupName *string `location:"querystring" locationName:"nodegroupName" type:"string"` 3831 3832 // The ID of the update to describe. 3833 // 3834 // UpdateId is a required field 3835 UpdateId *string `location:"uri" locationName:"updateId" type:"string" required:"true"` 3836} 3837 3838// String returns the string representation 3839func (s DescribeUpdateInput) String() string { 3840 return awsutil.Prettify(s) 3841} 3842 3843// GoString returns the string representation 3844func (s DescribeUpdateInput) GoString() string { 3845 return s.String() 3846} 3847 3848// Validate inspects the fields of the type to determine if they are valid. 3849func (s *DescribeUpdateInput) Validate() error { 3850 invalidParams := request.ErrInvalidParams{Context: "DescribeUpdateInput"} 3851 if s.Name == nil { 3852 invalidParams.Add(request.NewErrParamRequired("Name")) 3853 } 3854 if s.Name != nil && len(*s.Name) < 1 { 3855 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 3856 } 3857 if s.UpdateId == nil { 3858 invalidParams.Add(request.NewErrParamRequired("UpdateId")) 3859 } 3860 if s.UpdateId != nil && len(*s.UpdateId) < 1 { 3861 invalidParams.Add(request.NewErrParamMinLen("UpdateId", 1)) 3862 } 3863 3864 if invalidParams.Len() > 0 { 3865 return invalidParams 3866 } 3867 return nil 3868} 3869 3870// SetName sets the Name field's value. 3871func (s *DescribeUpdateInput) SetName(v string) *DescribeUpdateInput { 3872 s.Name = &v 3873 return s 3874} 3875 3876// SetNodegroupName sets the NodegroupName field's value. 3877func (s *DescribeUpdateInput) SetNodegroupName(v string) *DescribeUpdateInput { 3878 s.NodegroupName = &v 3879 return s 3880} 3881 3882// SetUpdateId sets the UpdateId field's value. 3883func (s *DescribeUpdateInput) SetUpdateId(v string) *DescribeUpdateInput { 3884 s.UpdateId = &v 3885 return s 3886} 3887 3888type DescribeUpdateOutput struct { 3889 _ struct{} `type:"structure"` 3890 3891 // The full description of the specified update. 3892 Update *Update `locationName:"update" type:"structure"` 3893} 3894 3895// String returns the string representation 3896func (s DescribeUpdateOutput) String() string { 3897 return awsutil.Prettify(s) 3898} 3899 3900// GoString returns the string representation 3901func (s DescribeUpdateOutput) GoString() string { 3902 return s.String() 3903} 3904 3905// SetUpdate sets the Update field's value. 3906func (s *DescribeUpdateOutput) SetUpdate(v *Update) *DescribeUpdateOutput { 3907 s.Update = v 3908 return s 3909} 3910 3911// The encryption configuration for the cluster. 3912type EncryptionConfig struct { 3913 _ struct{} `type:"structure"` 3914 3915 // AWS Key Management Service (AWS KMS) customer master key (CMK). Either the 3916 // ARN or the alias can be used. 3917 Provider *Provider `locationName:"provider" type:"structure"` 3918 3919 // Specifies the resources to be encrypted. The only supported value is "secrets". 3920 Resources []*string `locationName:"resources" type:"list"` 3921} 3922 3923// String returns the string representation 3924func (s EncryptionConfig) String() string { 3925 return awsutil.Prettify(s) 3926} 3927 3928// GoString returns the string representation 3929func (s EncryptionConfig) GoString() string { 3930 return s.String() 3931} 3932 3933// SetProvider sets the Provider field's value. 3934func (s *EncryptionConfig) SetProvider(v *Provider) *EncryptionConfig { 3935 s.Provider = v 3936 return s 3937} 3938 3939// SetResources sets the Resources field's value. 3940func (s *EncryptionConfig) SetResources(v []*string) *EncryptionConfig { 3941 s.Resources = v 3942 return s 3943} 3944 3945// An object representing an error when an asynchronous operation fails. 3946type ErrorDetail struct { 3947 _ struct{} `type:"structure"` 3948 3949 // A brief description of the error. 3950 // 3951 // * SubnetNotFound: We couldn't find one of the subnets associated with 3952 // the cluster. 3953 // 3954 // * SecurityGroupNotFound: We couldn't find one of the security groups associated 3955 // with the cluster. 3956 // 3957 // * EniLimitReached: You have reached the elastic network interface limit 3958 // for your account. 3959 // 3960 // * IpNotAvailable: A subnet associated with the cluster doesn't have any 3961 // free IP addresses. 3962 // 3963 // * AccessDenied: You don't have permissions to perform the specified operation. 3964 // 3965 // * OperationNotPermitted: The service role associated with the cluster 3966 // doesn't have the required access permissions for Amazon EKS. 3967 // 3968 // * VpcIdNotFound: We couldn't find the VPC associated with the cluster. 3969 ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"` 3970 3971 // A more complete description of the error. 3972 ErrorMessage *string `locationName:"errorMessage" type:"string"` 3973 3974 // An optional field that contains the resource IDs associated with the error. 3975 ResourceIds []*string `locationName:"resourceIds" type:"list"` 3976} 3977 3978// String returns the string representation 3979func (s ErrorDetail) String() string { 3980 return awsutil.Prettify(s) 3981} 3982 3983// GoString returns the string representation 3984func (s ErrorDetail) GoString() string { 3985 return s.String() 3986} 3987 3988// SetErrorCode sets the ErrorCode field's value. 3989func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail { 3990 s.ErrorCode = &v 3991 return s 3992} 3993 3994// SetErrorMessage sets the ErrorMessage field's value. 3995func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { 3996 s.ErrorMessage = &v 3997 return s 3998} 3999 4000// SetResourceIds sets the ResourceIds field's value. 4001func (s *ErrorDetail) SetResourceIds(v []*string) *ErrorDetail { 4002 s.ResourceIds = v 4003 return s 4004} 4005 4006// An object representing an AWS Fargate profile. 4007type FargateProfile struct { 4008 _ struct{} `type:"structure"` 4009 4010 // The name of the Amazon EKS cluster that the Fargate profile belongs to. 4011 ClusterName *string `locationName:"clusterName" type:"string"` 4012 4013 // The Unix epoch timestamp in seconds for when the Fargate profile was created. 4014 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 4015 4016 // The full Amazon Resource Name (ARN) of the Fargate profile. 4017 FargateProfileArn *string `locationName:"fargateProfileArn" type:"string"` 4018 4019 // The name of the Fargate profile. 4020 FargateProfileName *string `locationName:"fargateProfileName" type:"string"` 4021 4022 // The Amazon Resource Name (ARN) of the pod execution role to use for pods 4023 // that match the selectors in the Fargate profile. For more information, see 4024 // Pod Execution Role (https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html) 4025 // in the Amazon EKS User Guide. 4026 PodExecutionRoleArn *string `locationName:"podExecutionRoleArn" type:"string"` 4027 4028 // The selectors to match for pods to use this Fargate profile. 4029 Selectors []*FargateProfileSelector `locationName:"selectors" type:"list"` 4030 4031 // The current status of the Fargate profile. 4032 Status *string `locationName:"status" type:"string" enum:"FargateProfileStatus"` 4033 4034 // The IDs of subnets to launch pods into. 4035 Subnets []*string `locationName:"subnets" type:"list"` 4036 4037 // The metadata applied to the Fargate profile to assist with categorization 4038 // and organization. Each tag consists of a key and an optional value, both 4039 // of which you define. Fargate profile tags do not propagate to any other resources 4040 // associated with the Fargate profile, such as the pods that are scheduled 4041 // with it. 4042 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4043} 4044 4045// String returns the string representation 4046func (s FargateProfile) String() string { 4047 return awsutil.Prettify(s) 4048} 4049 4050// GoString returns the string representation 4051func (s FargateProfile) GoString() string { 4052 return s.String() 4053} 4054 4055// SetClusterName sets the ClusterName field's value. 4056func (s *FargateProfile) SetClusterName(v string) *FargateProfile { 4057 s.ClusterName = &v 4058 return s 4059} 4060 4061// SetCreatedAt sets the CreatedAt field's value. 4062func (s *FargateProfile) SetCreatedAt(v time.Time) *FargateProfile { 4063 s.CreatedAt = &v 4064 return s 4065} 4066 4067// SetFargateProfileArn sets the FargateProfileArn field's value. 4068func (s *FargateProfile) SetFargateProfileArn(v string) *FargateProfile { 4069 s.FargateProfileArn = &v 4070 return s 4071} 4072 4073// SetFargateProfileName sets the FargateProfileName field's value. 4074func (s *FargateProfile) SetFargateProfileName(v string) *FargateProfile { 4075 s.FargateProfileName = &v 4076 return s 4077} 4078 4079// SetPodExecutionRoleArn sets the PodExecutionRoleArn field's value. 4080func (s *FargateProfile) SetPodExecutionRoleArn(v string) *FargateProfile { 4081 s.PodExecutionRoleArn = &v 4082 return s 4083} 4084 4085// SetSelectors sets the Selectors field's value. 4086func (s *FargateProfile) SetSelectors(v []*FargateProfileSelector) *FargateProfile { 4087 s.Selectors = v 4088 return s 4089} 4090 4091// SetStatus sets the Status field's value. 4092func (s *FargateProfile) SetStatus(v string) *FargateProfile { 4093 s.Status = &v 4094 return s 4095} 4096 4097// SetSubnets sets the Subnets field's value. 4098func (s *FargateProfile) SetSubnets(v []*string) *FargateProfile { 4099 s.Subnets = v 4100 return s 4101} 4102 4103// SetTags sets the Tags field's value. 4104func (s *FargateProfile) SetTags(v map[string]*string) *FargateProfile { 4105 s.Tags = v 4106 return s 4107} 4108 4109// An object representing an AWS Fargate profile selector. 4110type FargateProfileSelector struct { 4111 _ struct{} `type:"structure"` 4112 4113 // The Kubernetes labels that the selector should match. A pod must contain 4114 // all of the labels that are specified in the selector for it to be considered 4115 // a match. 4116 Labels map[string]*string `locationName:"labels" type:"map"` 4117 4118 // The Kubernetes namespace that the selector should match. 4119 Namespace *string `locationName:"namespace" type:"string"` 4120} 4121 4122// String returns the string representation 4123func (s FargateProfileSelector) String() string { 4124 return awsutil.Prettify(s) 4125} 4126 4127// GoString returns the string representation 4128func (s FargateProfileSelector) GoString() string { 4129 return s.String() 4130} 4131 4132// SetLabels sets the Labels field's value. 4133func (s *FargateProfileSelector) SetLabels(v map[string]*string) *FargateProfileSelector { 4134 s.Labels = v 4135 return s 4136} 4137 4138// SetNamespace sets the Namespace field's value. 4139func (s *FargateProfileSelector) SetNamespace(v string) *FargateProfileSelector { 4140 s.Namespace = &v 4141 return s 4142} 4143 4144// An object representing an identity provider for authentication credentials. 4145type Identity struct { 4146 _ struct{} `type:"structure"` 4147 4148 // The OpenID Connect (https://openid.net/connect/) identity provider information 4149 // for the cluster. 4150 Oidc *OIDC `locationName:"oidc" type:"structure"` 4151} 4152 4153// String returns the string representation 4154func (s Identity) String() string { 4155 return awsutil.Prettify(s) 4156} 4157 4158// GoString returns the string representation 4159func (s Identity) GoString() string { 4160 return s.String() 4161} 4162 4163// SetOidc sets the Oidc field's value. 4164func (s *Identity) SetOidc(v *OIDC) *Identity { 4165 s.Oidc = v 4166 return s 4167} 4168 4169// The specified parameter is invalid. Review the available parameters for the 4170// API request. 4171type InvalidParameterException struct { 4172 _ struct{} `type:"structure"` 4173 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4174 4175 // The Amazon EKS cluster associated with the exception. 4176 ClusterName *string `locationName:"clusterName" type:"string"` 4177 4178 // The Fargate profile associated with the exception. 4179 FargateProfileName *string `locationName:"fargateProfileName" type:"string"` 4180 4181 Message_ *string `locationName:"message" type:"string"` 4182 4183 // The Amazon EKS managed node group associated with the exception. 4184 NodegroupName *string `locationName:"nodegroupName" type:"string"` 4185} 4186 4187// String returns the string representation 4188func (s InvalidParameterException) String() string { 4189 return awsutil.Prettify(s) 4190} 4191 4192// GoString returns the string representation 4193func (s InvalidParameterException) GoString() string { 4194 return s.String() 4195} 4196 4197func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 4198 return &InvalidParameterException{ 4199 RespMetadata: v, 4200 } 4201} 4202 4203// Code returns the exception type name. 4204func (s *InvalidParameterException) Code() string { 4205 return "InvalidParameterException" 4206} 4207 4208// Message returns the exception's message. 4209func (s *InvalidParameterException) Message() string { 4210 if s.Message_ != nil { 4211 return *s.Message_ 4212 } 4213 return "" 4214} 4215 4216// OrigErr always returns nil, satisfies awserr.Error interface. 4217func (s *InvalidParameterException) OrigErr() error { 4218 return nil 4219} 4220 4221func (s *InvalidParameterException) Error() string { 4222 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 4223} 4224 4225// Status code returns the HTTP status code for the request's response error. 4226func (s *InvalidParameterException) StatusCode() int { 4227 return s.RespMetadata.StatusCode 4228} 4229 4230// RequestID returns the service's response RequestID for request. 4231func (s *InvalidParameterException) RequestID() string { 4232 return s.RespMetadata.RequestID 4233} 4234 4235// The request is invalid given the state of the cluster. Check the state of 4236// the cluster and the associated operations. 4237type InvalidRequestException struct { 4238 _ struct{} `type:"structure"` 4239 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4240 4241 // The Amazon EKS cluster associated with the exception. 4242 ClusterName *string `locationName:"clusterName" type:"string"` 4243 4244 Message_ *string `locationName:"message" type:"string"` 4245 4246 // The Amazon EKS managed node group associated with the exception. 4247 NodegroupName *string `locationName:"nodegroupName" type:"string"` 4248} 4249 4250// String returns the string representation 4251func (s InvalidRequestException) String() string { 4252 return awsutil.Prettify(s) 4253} 4254 4255// GoString returns the string representation 4256func (s InvalidRequestException) GoString() string { 4257 return s.String() 4258} 4259 4260func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { 4261 return &InvalidRequestException{ 4262 RespMetadata: v, 4263 } 4264} 4265 4266// Code returns the exception type name. 4267func (s *InvalidRequestException) Code() string { 4268 return "InvalidRequestException" 4269} 4270 4271// Message returns the exception's message. 4272func (s *InvalidRequestException) Message() string { 4273 if s.Message_ != nil { 4274 return *s.Message_ 4275 } 4276 return "" 4277} 4278 4279// OrigErr always returns nil, satisfies awserr.Error interface. 4280func (s *InvalidRequestException) OrigErr() error { 4281 return nil 4282} 4283 4284func (s *InvalidRequestException) Error() string { 4285 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 4286} 4287 4288// Status code returns the HTTP status code for the request's response error. 4289func (s *InvalidRequestException) StatusCode() int { 4290 return s.RespMetadata.StatusCode 4291} 4292 4293// RequestID returns the service's response RequestID for request. 4294func (s *InvalidRequestException) RequestID() string { 4295 return s.RespMetadata.RequestID 4296} 4297 4298// An object representing an issue with an Amazon EKS resource. 4299type Issue struct { 4300 _ struct{} `type:"structure"` 4301 4302 // A brief description of the error. 4303 // 4304 // * AutoScalingGroupNotFound: We couldn't find the Auto Scaling group associated 4305 // with the managed node group. You may be able to recreate an Auto Scaling 4306 // group with the same settings to recover. 4307 // 4308 // * Ec2SecurityGroupNotFound: We couldn't find the cluster security group 4309 // for the cluster. You must recreate your cluster. 4310 // 4311 // * Ec2SecurityGroupDeletionFailure: We could not delete the remote access 4312 // security group for your managed node group. Remove any dependencies from 4313 // the security group. 4314 // 4315 // * Ec2LaunchTemplateNotFound: We couldn't find the Amazon EC2 launch template 4316 // for your managed node group. You may be able to recreate a launch template 4317 // with the same settings to recover. 4318 // 4319 // * Ec2LaunchTemplateVersionMismatch: The Amazon EC2 launch template version 4320 // for your managed node group does not match the version that Amazon EKS 4321 // created. You may be able to revert to the version that Amazon EKS created 4322 // to recover. 4323 // 4324 // * Ec2SubnetInvalidConfiguration: One or more Amazon EC2 subnets specified 4325 // for a node group do not automatically assign public IP addresses to instances 4326 // launched into it. If you want your instances to be assigned a public IP 4327 // address, then you need to enable the auto-assign public IP address setting 4328 // for the subnet. See Modifying the public IPv4 addressing attribute for 4329 // your subnet (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-public-ip) 4330 // in the Amazon VPC User Guide. 4331 // 4332 // * IamInstanceProfileNotFound: We couldn't find the IAM instance profile 4333 // for your managed node group. You may be able to recreate an instance profile 4334 // with the same settings to recover. 4335 // 4336 // * IamNodeRoleNotFound: We couldn't find the IAM role for your managed 4337 // node group. You may be able to recreate an IAM role with the same settings 4338 // to recover. 4339 // 4340 // * AsgInstanceLaunchFailures: Your Auto Scaling group is experiencing failures 4341 // while attempting to launch instances. 4342 // 4343 // * NodeCreationFailure: Your launched instances are unable to register 4344 // with your Amazon EKS cluster. Common causes of this failure are insufficient 4345 // worker node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html) 4346 // permissions or lack of outbound internet access for the nodes. 4347 // 4348 // * InstanceLimitExceeded: Your AWS account is unable to launch any more 4349 // instances of the specified instance type. You may be able to request an 4350 // Amazon EC2 instance limit increase to recover. 4351 // 4352 // * InsufficientFreeAddresses: One or more of the subnets associated with 4353 // your managed node group does not have enough available IP addresses for 4354 // new nodes. 4355 // 4356 // * AccessDenied: Amazon EKS or one or more of your managed nodes is unable 4357 // to communicate with your cluster API server. 4358 // 4359 // * InternalFailure: These errors are usually caused by an Amazon EKS server-side 4360 // issue. 4361 Code *string `locationName:"code" type:"string" enum:"NodegroupIssueCode"` 4362 4363 // The error message associated with the issue. 4364 Message *string `locationName:"message" type:"string"` 4365 4366 // The AWS resources that are afflicted by this issue. 4367 ResourceIds []*string `locationName:"resourceIds" type:"list"` 4368} 4369 4370// String returns the string representation 4371func (s Issue) String() string { 4372 return awsutil.Prettify(s) 4373} 4374 4375// GoString returns the string representation 4376func (s Issue) GoString() string { 4377 return s.String() 4378} 4379 4380// SetCode sets the Code field's value. 4381func (s *Issue) SetCode(v string) *Issue { 4382 s.Code = &v 4383 return s 4384} 4385 4386// SetMessage sets the Message field's value. 4387func (s *Issue) SetMessage(v string) *Issue { 4388 s.Message = &v 4389 return s 4390} 4391 4392// SetResourceIds sets the ResourceIds field's value. 4393func (s *Issue) SetResourceIds(v []*string) *Issue { 4394 s.ResourceIds = v 4395 return s 4396} 4397 4398// The Kubernetes network configuration for the cluster. 4399type KubernetesNetworkConfigRequest struct { 4400 _ struct{} `type:"structure"` 4401 4402 // The CIDR block to assign Kubernetes service IP addresses from. If you don't 4403 // specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 4404 // or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that 4405 // does not overlap with resources in other networks that are peered or connected 4406 // to your VPC. The block must meet the following requirements: 4407 // 4408 // * Within one of the following private IP address blocks: 10.0.0.0/8, 172.16.0.0.0/12, 4409 // or 192.168.0.0/16. 4410 // 4411 // * Doesn't overlap with any CIDR block assigned to the VPC that you selected 4412 // for VPC. 4413 // 4414 // * Between /24 and /12. 4415 // 4416 // You can only specify a custom CIDR block when you create a cluster and can't 4417 // change this value once the cluster is created. 4418 ServiceIpv4Cidr *string `locationName:"serviceIpv4Cidr" type:"string"` 4419} 4420 4421// String returns the string representation 4422func (s KubernetesNetworkConfigRequest) String() string { 4423 return awsutil.Prettify(s) 4424} 4425 4426// GoString returns the string representation 4427func (s KubernetesNetworkConfigRequest) GoString() string { 4428 return s.String() 4429} 4430 4431// SetServiceIpv4Cidr sets the ServiceIpv4Cidr field's value. 4432func (s *KubernetesNetworkConfigRequest) SetServiceIpv4Cidr(v string) *KubernetesNetworkConfigRequest { 4433 s.ServiceIpv4Cidr = &v 4434 return s 4435} 4436 4437// The Kubernetes network configuration for the cluster. 4438type KubernetesNetworkConfigResponse struct { 4439 _ struct{} `type:"structure"` 4440 4441 // The CIDR block that Kubernetes service IP addresses are assigned from. If 4442 // you didn't specify a CIDR block, then Kubernetes assigns addresses from either 4443 // the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. If this was specified, then 4444 // it was specified when the cluster was created and it cannot be changed. 4445 ServiceIpv4Cidr *string `locationName:"serviceIpv4Cidr" type:"string"` 4446} 4447 4448// String returns the string representation 4449func (s KubernetesNetworkConfigResponse) String() string { 4450 return awsutil.Prettify(s) 4451} 4452 4453// GoString returns the string representation 4454func (s KubernetesNetworkConfigResponse) GoString() string { 4455 return s.String() 4456} 4457 4458// SetServiceIpv4Cidr sets the ServiceIpv4Cidr field's value. 4459func (s *KubernetesNetworkConfigResponse) SetServiceIpv4Cidr(v string) *KubernetesNetworkConfigResponse { 4460 s.ServiceIpv4Cidr = &v 4461 return s 4462} 4463 4464// An object representing a node group launch template specification. The launch 4465// template cannot include SubnetId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html), 4466// IamInstanceProfile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html), 4467// RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html), 4468// HibernationOptions (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_HibernationOptionsRequest.html), 4469// or TerminateInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TerminateInstances.html), 4470// or the node group deployment or update will fail. For more information about 4471// launch templates, see CreateLaunchTemplate (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) 4472// in the Amazon EC2 API Reference. For more information about using launch 4473// templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 4474// in the Amazon EKS User Guide. 4475// 4476// Specify either name or id, but not both. 4477type LaunchTemplateSpecification struct { 4478 _ struct{} `type:"structure"` 4479 4480 // The ID of the launch template. 4481 Id *string `locationName:"id" type:"string"` 4482 4483 // The name of the launch template. 4484 Name *string `locationName:"name" type:"string"` 4485 4486 // The version of the launch template to use. If no version is specified, then 4487 // the template's default version is used. 4488 Version *string `locationName:"version" type:"string"` 4489} 4490 4491// String returns the string representation 4492func (s LaunchTemplateSpecification) String() string { 4493 return awsutil.Prettify(s) 4494} 4495 4496// GoString returns the string representation 4497func (s LaunchTemplateSpecification) GoString() string { 4498 return s.String() 4499} 4500 4501// SetId sets the Id field's value. 4502func (s *LaunchTemplateSpecification) SetId(v string) *LaunchTemplateSpecification { 4503 s.Id = &v 4504 return s 4505} 4506 4507// SetName sets the Name field's value. 4508func (s *LaunchTemplateSpecification) SetName(v string) *LaunchTemplateSpecification { 4509 s.Name = &v 4510 return s 4511} 4512 4513// SetVersion sets the Version field's value. 4514func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification { 4515 s.Version = &v 4516 return s 4517} 4518 4519type ListClustersInput struct { 4520 _ struct{} `type:"structure"` 4521 4522 // The maximum number of cluster results returned by ListClusters in paginated 4523 // output. When you use this parameter, ListClusters returns only maxResults 4524 // results in a single page along with a nextToken response element. You can 4525 // see the remaining results of the initial request by sending another ListClusters 4526 // request with the returned nextToken value. This value can be between 1 and 4527 // 100. If you don't use this parameter, ListClusters returns up to 100 results 4528 // and a nextToken value if applicable. 4529 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 4530 4531 // The nextToken value returned from a previous paginated ListClusters request 4532 // where maxResults was used and the results exceeded the value of that parameter. 4533 // Pagination continues from the end of the previous results that returned the 4534 // nextToken value. 4535 // 4536 // This token should be treated as an opaque identifier that is used only to 4537 // retrieve the next items in a list and not for other programmatic purposes. 4538 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 4539} 4540 4541// String returns the string representation 4542func (s ListClustersInput) String() string { 4543 return awsutil.Prettify(s) 4544} 4545 4546// GoString returns the string representation 4547func (s ListClustersInput) GoString() string { 4548 return s.String() 4549} 4550 4551// Validate inspects the fields of the type to determine if they are valid. 4552func (s *ListClustersInput) Validate() error { 4553 invalidParams := request.ErrInvalidParams{Context: "ListClustersInput"} 4554 if s.MaxResults != nil && *s.MaxResults < 1 { 4555 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4556 } 4557 4558 if invalidParams.Len() > 0 { 4559 return invalidParams 4560 } 4561 return nil 4562} 4563 4564// SetMaxResults sets the MaxResults field's value. 4565func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 4566 s.MaxResults = &v 4567 return s 4568} 4569 4570// SetNextToken sets the NextToken field's value. 4571func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 4572 s.NextToken = &v 4573 return s 4574} 4575 4576type ListClustersOutput struct { 4577 _ struct{} `type:"structure"` 4578 4579 // A list of all of the clusters for your account in the specified Region. 4580 Clusters []*string `locationName:"clusters" type:"list"` 4581 4582 // The nextToken value to include in a future ListClusters request. When the 4583 // results of a ListClusters request exceed maxResults, you can use this value 4584 // to retrieve the next page of results. This value is null when there are no 4585 // more results to return. 4586 NextToken *string `locationName:"nextToken" type:"string"` 4587} 4588 4589// String returns the string representation 4590func (s ListClustersOutput) String() string { 4591 return awsutil.Prettify(s) 4592} 4593 4594// GoString returns the string representation 4595func (s ListClustersOutput) GoString() string { 4596 return s.String() 4597} 4598 4599// SetClusters sets the Clusters field's value. 4600func (s *ListClustersOutput) SetClusters(v []*string) *ListClustersOutput { 4601 s.Clusters = v 4602 return s 4603} 4604 4605// SetNextToken sets the NextToken field's value. 4606func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 4607 s.NextToken = &v 4608 return s 4609} 4610 4611type ListFargateProfilesInput struct { 4612 _ struct{} `type:"structure"` 4613 4614 // The name of the Amazon EKS cluster that you would like to listFargate profiles 4615 // in. 4616 // 4617 // ClusterName is a required field 4618 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 4619 4620 // The maximum number of Fargate profile results returned by ListFargateProfiles 4621 // in paginated output. When you use this parameter, ListFargateProfiles returns 4622 // only maxResults results in a single page along with a nextToken response 4623 // element. You can see the remaining results of the initial request by sending 4624 // another ListFargateProfiles request with the returned nextToken value. This 4625 // value can be between 1 and 100. If you don't use this parameter, ListFargateProfiles 4626 // returns up to 100 results and a nextToken value if applicable. 4627 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 4628 4629 // The nextToken value returned from a previous paginated ListFargateProfiles 4630 // request where maxResults was used and the results exceeded the value of that 4631 // parameter. Pagination continues from the end of the previous results that 4632 // returned the nextToken value. 4633 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 4634} 4635 4636// String returns the string representation 4637func (s ListFargateProfilesInput) String() string { 4638 return awsutil.Prettify(s) 4639} 4640 4641// GoString returns the string representation 4642func (s ListFargateProfilesInput) GoString() string { 4643 return s.String() 4644} 4645 4646// Validate inspects the fields of the type to determine if they are valid. 4647func (s *ListFargateProfilesInput) Validate() error { 4648 invalidParams := request.ErrInvalidParams{Context: "ListFargateProfilesInput"} 4649 if s.ClusterName == nil { 4650 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 4651 } 4652 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 4653 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 4654 } 4655 if s.MaxResults != nil && *s.MaxResults < 1 { 4656 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4657 } 4658 4659 if invalidParams.Len() > 0 { 4660 return invalidParams 4661 } 4662 return nil 4663} 4664 4665// SetClusterName sets the ClusterName field's value. 4666func (s *ListFargateProfilesInput) SetClusterName(v string) *ListFargateProfilesInput { 4667 s.ClusterName = &v 4668 return s 4669} 4670 4671// SetMaxResults sets the MaxResults field's value. 4672func (s *ListFargateProfilesInput) SetMaxResults(v int64) *ListFargateProfilesInput { 4673 s.MaxResults = &v 4674 return s 4675} 4676 4677// SetNextToken sets the NextToken field's value. 4678func (s *ListFargateProfilesInput) SetNextToken(v string) *ListFargateProfilesInput { 4679 s.NextToken = &v 4680 return s 4681} 4682 4683type ListFargateProfilesOutput struct { 4684 _ struct{} `type:"structure"` 4685 4686 // A list of all of the Fargate profiles associated with the specified cluster. 4687 FargateProfileNames []*string `locationName:"fargateProfileNames" type:"list"` 4688 4689 // The nextToken value to include in a future ListFargateProfiles request. When 4690 // the results of a ListFargateProfiles request exceed maxResults, you can use 4691 // this value to retrieve the next page of results. This value is null when 4692 // there are no more results to return. 4693 NextToken *string `locationName:"nextToken" type:"string"` 4694} 4695 4696// String returns the string representation 4697func (s ListFargateProfilesOutput) String() string { 4698 return awsutil.Prettify(s) 4699} 4700 4701// GoString returns the string representation 4702func (s ListFargateProfilesOutput) GoString() string { 4703 return s.String() 4704} 4705 4706// SetFargateProfileNames sets the FargateProfileNames field's value. 4707func (s *ListFargateProfilesOutput) SetFargateProfileNames(v []*string) *ListFargateProfilesOutput { 4708 s.FargateProfileNames = v 4709 return s 4710} 4711 4712// SetNextToken sets the NextToken field's value. 4713func (s *ListFargateProfilesOutput) SetNextToken(v string) *ListFargateProfilesOutput { 4714 s.NextToken = &v 4715 return s 4716} 4717 4718type ListNodegroupsInput struct { 4719 _ struct{} `type:"structure"` 4720 4721 // The name of the Amazon EKS cluster that you would like to list node groups 4722 // in. 4723 // 4724 // ClusterName is a required field 4725 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 4726 4727 // The maximum number of node group results returned by ListNodegroups in paginated 4728 // output. When you use this parameter, ListNodegroups returns only maxResults 4729 // results in a single page along with a nextToken response element. You can 4730 // see the remaining results of the initial request by sending another ListNodegroups 4731 // request with the returned nextToken value. This value can be between 1 and 4732 // 100. If you don't use this parameter, ListNodegroups returns up to 100 results 4733 // and a nextToken value if applicable. 4734 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 4735 4736 // The nextToken value returned from a previous paginated ListNodegroups request 4737 // where maxResults was used and the results exceeded the value of that parameter. 4738 // Pagination continues from the end of the previous results that returned the 4739 // nextToken value. 4740 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 4741} 4742 4743// String returns the string representation 4744func (s ListNodegroupsInput) String() string { 4745 return awsutil.Prettify(s) 4746} 4747 4748// GoString returns the string representation 4749func (s ListNodegroupsInput) GoString() string { 4750 return s.String() 4751} 4752 4753// Validate inspects the fields of the type to determine if they are valid. 4754func (s *ListNodegroupsInput) Validate() error { 4755 invalidParams := request.ErrInvalidParams{Context: "ListNodegroupsInput"} 4756 if s.ClusterName == nil { 4757 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 4758 } 4759 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 4760 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 4761 } 4762 if s.MaxResults != nil && *s.MaxResults < 1 { 4763 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4764 } 4765 4766 if invalidParams.Len() > 0 { 4767 return invalidParams 4768 } 4769 return nil 4770} 4771 4772// SetClusterName sets the ClusterName field's value. 4773func (s *ListNodegroupsInput) SetClusterName(v string) *ListNodegroupsInput { 4774 s.ClusterName = &v 4775 return s 4776} 4777 4778// SetMaxResults sets the MaxResults field's value. 4779func (s *ListNodegroupsInput) SetMaxResults(v int64) *ListNodegroupsInput { 4780 s.MaxResults = &v 4781 return s 4782} 4783 4784// SetNextToken sets the NextToken field's value. 4785func (s *ListNodegroupsInput) SetNextToken(v string) *ListNodegroupsInput { 4786 s.NextToken = &v 4787 return s 4788} 4789 4790type ListNodegroupsOutput struct { 4791 _ struct{} `type:"structure"` 4792 4793 // The nextToken value to include in a future ListNodegroups request. When the 4794 // results of a ListNodegroups request exceed maxResults, you can use this value 4795 // to retrieve the next page of results. This value is null when there are no 4796 // more results to return. 4797 NextToken *string `locationName:"nextToken" type:"string"` 4798 4799 // A list of all of the node groups associated with the specified cluster. 4800 Nodegroups []*string `locationName:"nodegroups" type:"list"` 4801} 4802 4803// String returns the string representation 4804func (s ListNodegroupsOutput) String() string { 4805 return awsutil.Prettify(s) 4806} 4807 4808// GoString returns the string representation 4809func (s ListNodegroupsOutput) GoString() string { 4810 return s.String() 4811} 4812 4813// SetNextToken sets the NextToken field's value. 4814func (s *ListNodegroupsOutput) SetNextToken(v string) *ListNodegroupsOutput { 4815 s.NextToken = &v 4816 return s 4817} 4818 4819// SetNodegroups sets the Nodegroups field's value. 4820func (s *ListNodegroupsOutput) SetNodegroups(v []*string) *ListNodegroupsOutput { 4821 s.Nodegroups = v 4822 return s 4823} 4824 4825type ListTagsForResourceInput struct { 4826 _ struct{} `type:"structure"` 4827 4828 // The Amazon Resource Name (ARN) that identifies the resource for which to 4829 // list the tags. Currently, the supported resources are Amazon EKS clusters 4830 // and managed node groups. 4831 // 4832 // ResourceArn is a required field 4833 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 4834} 4835 4836// String returns the string representation 4837func (s ListTagsForResourceInput) String() string { 4838 return awsutil.Prettify(s) 4839} 4840 4841// GoString returns the string representation 4842func (s ListTagsForResourceInput) GoString() string { 4843 return s.String() 4844} 4845 4846// Validate inspects the fields of the type to determine if they are valid. 4847func (s *ListTagsForResourceInput) Validate() error { 4848 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 4849 if s.ResourceArn == nil { 4850 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 4851 } 4852 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 4853 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 4854 } 4855 4856 if invalidParams.Len() > 0 { 4857 return invalidParams 4858 } 4859 return nil 4860} 4861 4862// SetResourceArn sets the ResourceArn field's value. 4863func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 4864 s.ResourceArn = &v 4865 return s 4866} 4867 4868type ListTagsForResourceOutput struct { 4869 _ struct{} `type:"structure"` 4870 4871 // The tags for the resource. 4872 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4873} 4874 4875// String returns the string representation 4876func (s ListTagsForResourceOutput) String() string { 4877 return awsutil.Prettify(s) 4878} 4879 4880// GoString returns the string representation 4881func (s ListTagsForResourceOutput) GoString() string { 4882 return s.String() 4883} 4884 4885// SetTags sets the Tags field's value. 4886func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 4887 s.Tags = v 4888 return s 4889} 4890 4891type ListUpdatesInput struct { 4892 _ struct{} `type:"structure"` 4893 4894 // The maximum number of update results returned by ListUpdates in paginated 4895 // output. When you use this parameter, ListUpdates returns only maxResults 4896 // results in a single page along with a nextToken response element. You can 4897 // see the remaining results of the initial request by sending another ListUpdates 4898 // request with the returned nextToken value. This value can be between 1 and 4899 // 100. If you don't use this parameter, ListUpdates returns up to 100 results 4900 // and a nextToken value if applicable. 4901 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 4902 4903 // The name of the Amazon EKS cluster to list updates for. 4904 // 4905 // Name is a required field 4906 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 4907 4908 // The nextToken value returned from a previous paginated ListUpdates request 4909 // where maxResults was used and the results exceeded the value of that parameter. 4910 // Pagination continues from the end of the previous results that returned the 4911 // nextToken value. 4912 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 4913 4914 // The name of the Amazon EKS managed node group to list updates for. 4915 NodegroupName *string `location:"querystring" locationName:"nodegroupName" type:"string"` 4916} 4917 4918// String returns the string representation 4919func (s ListUpdatesInput) String() string { 4920 return awsutil.Prettify(s) 4921} 4922 4923// GoString returns the string representation 4924func (s ListUpdatesInput) GoString() string { 4925 return s.String() 4926} 4927 4928// Validate inspects the fields of the type to determine if they are valid. 4929func (s *ListUpdatesInput) Validate() error { 4930 invalidParams := request.ErrInvalidParams{Context: "ListUpdatesInput"} 4931 if s.MaxResults != nil && *s.MaxResults < 1 { 4932 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4933 } 4934 if s.Name == nil { 4935 invalidParams.Add(request.NewErrParamRequired("Name")) 4936 } 4937 if s.Name != nil && len(*s.Name) < 1 { 4938 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 4939 } 4940 4941 if invalidParams.Len() > 0 { 4942 return invalidParams 4943 } 4944 return nil 4945} 4946 4947// SetMaxResults sets the MaxResults field's value. 4948func (s *ListUpdatesInput) SetMaxResults(v int64) *ListUpdatesInput { 4949 s.MaxResults = &v 4950 return s 4951} 4952 4953// SetName sets the Name field's value. 4954func (s *ListUpdatesInput) SetName(v string) *ListUpdatesInput { 4955 s.Name = &v 4956 return s 4957} 4958 4959// SetNextToken sets the NextToken field's value. 4960func (s *ListUpdatesInput) SetNextToken(v string) *ListUpdatesInput { 4961 s.NextToken = &v 4962 return s 4963} 4964 4965// SetNodegroupName sets the NodegroupName field's value. 4966func (s *ListUpdatesInput) SetNodegroupName(v string) *ListUpdatesInput { 4967 s.NodegroupName = &v 4968 return s 4969} 4970 4971type ListUpdatesOutput struct { 4972 _ struct{} `type:"structure"` 4973 4974 // The nextToken value to include in a future ListUpdates request. When the 4975 // results of a ListUpdates request exceed maxResults, you can use this value 4976 // to retrieve the next page of results. This value is null when there are no 4977 // more results to return. 4978 NextToken *string `locationName:"nextToken" type:"string"` 4979 4980 // A list of all the updates for the specified cluster and Region. 4981 UpdateIds []*string `locationName:"updateIds" type:"list"` 4982} 4983 4984// String returns the string representation 4985func (s ListUpdatesOutput) String() string { 4986 return awsutil.Prettify(s) 4987} 4988 4989// GoString returns the string representation 4990func (s ListUpdatesOutput) GoString() string { 4991 return s.String() 4992} 4993 4994// SetNextToken sets the NextToken field's value. 4995func (s *ListUpdatesOutput) SetNextToken(v string) *ListUpdatesOutput { 4996 s.NextToken = &v 4997 return s 4998} 4999 5000// SetUpdateIds sets the UpdateIds field's value. 5001func (s *ListUpdatesOutput) SetUpdateIds(v []*string) *ListUpdatesOutput { 5002 s.UpdateIds = v 5003 return s 5004} 5005 5006// An object representing the enabled or disabled Kubernetes control plane logs 5007// for your cluster. 5008type LogSetup struct { 5009 _ struct{} `type:"structure"` 5010 5011 // If a log type is enabled, that log type exports its control plane logs to 5012 // CloudWatch Logs. If a log type isn't enabled, that log type doesn't export 5013 // its control plane logs. Each individual log type can be enabled or disabled 5014 // independently. 5015 Enabled *bool `locationName:"enabled" type:"boolean"` 5016 5017 // The available cluster control plane log types. 5018 Types []*string `locationName:"types" type:"list"` 5019} 5020 5021// String returns the string representation 5022func (s LogSetup) String() string { 5023 return awsutil.Prettify(s) 5024} 5025 5026// GoString returns the string representation 5027func (s LogSetup) GoString() string { 5028 return s.String() 5029} 5030 5031// SetEnabled sets the Enabled field's value. 5032func (s *LogSetup) SetEnabled(v bool) *LogSetup { 5033 s.Enabled = &v 5034 return s 5035} 5036 5037// SetTypes sets the Types field's value. 5038func (s *LogSetup) SetTypes(v []*string) *LogSetup { 5039 s.Types = v 5040 return s 5041} 5042 5043// An object representing the logging configuration for resources in your cluster. 5044type Logging struct { 5045 _ struct{} `type:"structure"` 5046 5047 // The cluster control plane logging configuration for your cluster. 5048 ClusterLogging []*LogSetup `locationName:"clusterLogging" type:"list"` 5049} 5050 5051// String returns the string representation 5052func (s Logging) String() string { 5053 return awsutil.Prettify(s) 5054} 5055 5056// GoString returns the string representation 5057func (s Logging) GoString() string { 5058 return s.String() 5059} 5060 5061// SetClusterLogging sets the ClusterLogging field's value. 5062func (s *Logging) SetClusterLogging(v []*LogSetup) *Logging { 5063 s.ClusterLogging = v 5064 return s 5065} 5066 5067// An object representing an Amazon EKS managed node group. 5068type Nodegroup struct { 5069 _ struct{} `type:"structure"` 5070 5071 // If the node group was deployed using a launch template with a custom AMI, 5072 // then this is CUSTOM. For node groups that weren't deployed using a launch 5073 // template, this is the AMI type that was specified in the node group configuration. 5074 AmiType *string `locationName:"amiType" type:"string" enum:"AMITypes"` 5075 5076 // The name of the cluster that the managed node group resides in. 5077 ClusterName *string `locationName:"clusterName" type:"string"` 5078 5079 // The Unix epoch timestamp in seconds for when the managed node group was created. 5080 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 5081 5082 // If the node group wasn't deployed with a launch template, then this is the 5083 // disk size in the node group configuration. If the node group was deployed 5084 // with a launch template, then this is null. 5085 DiskSize *int64 `locationName:"diskSize" type:"integer"` 5086 5087 // The health status of the node group. If there are issues with your node group's 5088 // health, they are listed here. 5089 Health *NodegroupHealth `locationName:"health" type:"structure"` 5090 5091 // If the node group wasn't deployed with a launch template, then this is the 5092 // instance type that is associated with the node group. If the node group was 5093 // deployed with a launch template, then this is null. 5094 InstanceTypes []*string `locationName:"instanceTypes" type:"list"` 5095 5096 // The Kubernetes labels applied to the nodes in the node group. 5097 // 5098 // Only labels that are applied with the Amazon EKS API are shown here. There 5099 // may be other Kubernetes labels applied to the nodes in this group. 5100 Labels map[string]*string `locationName:"labels" type:"map"` 5101 5102 // If a launch template was used to create the node group, then this is the 5103 // launch template that was used. 5104 LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` 5105 5106 // The Unix epoch timestamp in seconds for when the managed node group was last 5107 // modified. 5108 ModifiedAt *time.Time `locationName:"modifiedAt" type:"timestamp"` 5109 5110 // The IAM role associated with your node group. The Amazon EKS worker node 5111 // kubelet daemon makes calls to AWS APIs on your behalf. Worker nodes receive 5112 // permissions for these API calls through an IAM instance profile and associated 5113 // policies. 5114 NodeRole *string `locationName:"nodeRole" type:"string"` 5115 5116 // The Amazon Resource Name (ARN) associated with the managed node group. 5117 NodegroupArn *string `locationName:"nodegroupArn" type:"string"` 5118 5119 // The name associated with an Amazon EKS managed node group. 5120 NodegroupName *string `locationName:"nodegroupName" type:"string"` 5121 5122 // If the node group was deployed using a launch template with a custom AMI, 5123 // then this is the AMI ID that was specified in the launch template. For node 5124 // groups that weren't deployed using a launch template, this is the version 5125 // of the Amazon EKS-optimized AMI that the node group was deployed with. 5126 ReleaseVersion *string `locationName:"releaseVersion" type:"string"` 5127 5128 // If the node group wasn't deployed with a launch template, then this is the 5129 // remote access configuration that is associated with the node group. If the 5130 // node group was deployed with a launch template, then this is null. 5131 RemoteAccess *RemoteAccessConfig `locationName:"remoteAccess" type:"structure"` 5132 5133 // The resources associated with the node group, such as Auto Scaling groups 5134 // and security groups for remote access. 5135 Resources *NodegroupResources `locationName:"resources" type:"structure"` 5136 5137 // The scaling configuration details for the Auto Scaling group that is associated 5138 // with your node group. 5139 ScalingConfig *NodegroupScalingConfig `locationName:"scalingConfig" type:"structure"` 5140 5141 // The current status of the managed node group. 5142 Status *string `locationName:"status" type:"string" enum:"NodegroupStatus"` 5143 5144 // The subnets that were specified for the Auto Scaling group that is associated 5145 // with your node group. 5146 Subnets []*string `locationName:"subnets" type:"list"` 5147 5148 // The metadata applied to the node group to assist with categorization and 5149 // organization. Each tag consists of a key and an optional value, both of which 5150 // you define. Node group tags do not propagate to any other resources associated 5151 // with the node group, such as the Amazon EC2 instances or subnets. 5152 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 5153 5154 // The Kubernetes version of the managed node group. 5155 Version *string `locationName:"version" type:"string"` 5156} 5157 5158// String returns the string representation 5159func (s Nodegroup) String() string { 5160 return awsutil.Prettify(s) 5161} 5162 5163// GoString returns the string representation 5164func (s Nodegroup) GoString() string { 5165 return s.String() 5166} 5167 5168// SetAmiType sets the AmiType field's value. 5169func (s *Nodegroup) SetAmiType(v string) *Nodegroup { 5170 s.AmiType = &v 5171 return s 5172} 5173 5174// SetClusterName sets the ClusterName field's value. 5175func (s *Nodegroup) SetClusterName(v string) *Nodegroup { 5176 s.ClusterName = &v 5177 return s 5178} 5179 5180// SetCreatedAt sets the CreatedAt field's value. 5181func (s *Nodegroup) SetCreatedAt(v time.Time) *Nodegroup { 5182 s.CreatedAt = &v 5183 return s 5184} 5185 5186// SetDiskSize sets the DiskSize field's value. 5187func (s *Nodegroup) SetDiskSize(v int64) *Nodegroup { 5188 s.DiskSize = &v 5189 return s 5190} 5191 5192// SetHealth sets the Health field's value. 5193func (s *Nodegroup) SetHealth(v *NodegroupHealth) *Nodegroup { 5194 s.Health = v 5195 return s 5196} 5197 5198// SetInstanceTypes sets the InstanceTypes field's value. 5199func (s *Nodegroup) SetInstanceTypes(v []*string) *Nodegroup { 5200 s.InstanceTypes = v 5201 return s 5202} 5203 5204// SetLabels sets the Labels field's value. 5205func (s *Nodegroup) SetLabels(v map[string]*string) *Nodegroup { 5206 s.Labels = v 5207 return s 5208} 5209 5210// SetLaunchTemplate sets the LaunchTemplate field's value. 5211func (s *Nodegroup) SetLaunchTemplate(v *LaunchTemplateSpecification) *Nodegroup { 5212 s.LaunchTemplate = v 5213 return s 5214} 5215 5216// SetModifiedAt sets the ModifiedAt field's value. 5217func (s *Nodegroup) SetModifiedAt(v time.Time) *Nodegroup { 5218 s.ModifiedAt = &v 5219 return s 5220} 5221 5222// SetNodeRole sets the NodeRole field's value. 5223func (s *Nodegroup) SetNodeRole(v string) *Nodegroup { 5224 s.NodeRole = &v 5225 return s 5226} 5227 5228// SetNodegroupArn sets the NodegroupArn field's value. 5229func (s *Nodegroup) SetNodegroupArn(v string) *Nodegroup { 5230 s.NodegroupArn = &v 5231 return s 5232} 5233 5234// SetNodegroupName sets the NodegroupName field's value. 5235func (s *Nodegroup) SetNodegroupName(v string) *Nodegroup { 5236 s.NodegroupName = &v 5237 return s 5238} 5239 5240// SetReleaseVersion sets the ReleaseVersion field's value. 5241func (s *Nodegroup) SetReleaseVersion(v string) *Nodegroup { 5242 s.ReleaseVersion = &v 5243 return s 5244} 5245 5246// SetRemoteAccess sets the RemoteAccess field's value. 5247func (s *Nodegroup) SetRemoteAccess(v *RemoteAccessConfig) *Nodegroup { 5248 s.RemoteAccess = v 5249 return s 5250} 5251 5252// SetResources sets the Resources field's value. 5253func (s *Nodegroup) SetResources(v *NodegroupResources) *Nodegroup { 5254 s.Resources = v 5255 return s 5256} 5257 5258// SetScalingConfig sets the ScalingConfig field's value. 5259func (s *Nodegroup) SetScalingConfig(v *NodegroupScalingConfig) *Nodegroup { 5260 s.ScalingConfig = v 5261 return s 5262} 5263 5264// SetStatus sets the Status field's value. 5265func (s *Nodegroup) SetStatus(v string) *Nodegroup { 5266 s.Status = &v 5267 return s 5268} 5269 5270// SetSubnets sets the Subnets field's value. 5271func (s *Nodegroup) SetSubnets(v []*string) *Nodegroup { 5272 s.Subnets = v 5273 return s 5274} 5275 5276// SetTags sets the Tags field's value. 5277func (s *Nodegroup) SetTags(v map[string]*string) *Nodegroup { 5278 s.Tags = v 5279 return s 5280} 5281 5282// SetVersion sets the Version field's value. 5283func (s *Nodegroup) SetVersion(v string) *Nodegroup { 5284 s.Version = &v 5285 return s 5286} 5287 5288// An object representing the health status of the node group. 5289type NodegroupHealth struct { 5290 _ struct{} `type:"structure"` 5291 5292 // Any issues that are associated with the node group. 5293 Issues []*Issue `locationName:"issues" type:"list"` 5294} 5295 5296// String returns the string representation 5297func (s NodegroupHealth) String() string { 5298 return awsutil.Prettify(s) 5299} 5300 5301// GoString returns the string representation 5302func (s NodegroupHealth) GoString() string { 5303 return s.String() 5304} 5305 5306// SetIssues sets the Issues field's value. 5307func (s *NodegroupHealth) SetIssues(v []*Issue) *NodegroupHealth { 5308 s.Issues = v 5309 return s 5310} 5311 5312// An object representing the resources associated with the node group, such 5313// as Auto Scaling groups and security groups for remote access. 5314type NodegroupResources struct { 5315 _ struct{} `type:"structure"` 5316 5317 // The Auto Scaling groups associated with the node group. 5318 AutoScalingGroups []*AutoScalingGroup `locationName:"autoScalingGroups" type:"list"` 5319 5320 // The remote access security group associated with the node group. This security 5321 // group controls SSH access to the worker nodes. 5322 RemoteAccessSecurityGroup *string `locationName:"remoteAccessSecurityGroup" type:"string"` 5323} 5324 5325// String returns the string representation 5326func (s NodegroupResources) String() string { 5327 return awsutil.Prettify(s) 5328} 5329 5330// GoString returns the string representation 5331func (s NodegroupResources) GoString() string { 5332 return s.String() 5333} 5334 5335// SetAutoScalingGroups sets the AutoScalingGroups field's value. 5336func (s *NodegroupResources) SetAutoScalingGroups(v []*AutoScalingGroup) *NodegroupResources { 5337 s.AutoScalingGroups = v 5338 return s 5339} 5340 5341// SetRemoteAccessSecurityGroup sets the RemoteAccessSecurityGroup field's value. 5342func (s *NodegroupResources) SetRemoteAccessSecurityGroup(v string) *NodegroupResources { 5343 s.RemoteAccessSecurityGroup = &v 5344 return s 5345} 5346 5347// An object representing the scaling configuration details for the Auto Scaling 5348// group that is associated with your node group. If you specify a value for 5349// any property, then you must specify values for all of the properties. 5350type NodegroupScalingConfig struct { 5351 _ struct{} `type:"structure"` 5352 5353 // The current number of worker nodes that the managed node group should maintain. 5354 DesiredSize *int64 `locationName:"desiredSize" min:"1" type:"integer"` 5355 5356 // The maximum number of worker nodes that the managed node group can scale 5357 // out to. Managed node groups can support up to 100 nodes by default. 5358 MaxSize *int64 `locationName:"maxSize" min:"1" type:"integer"` 5359 5360 // The minimum number of worker nodes that the managed node group can scale 5361 // in to. This number must be greater than zero. 5362 MinSize *int64 `locationName:"minSize" min:"1" type:"integer"` 5363} 5364 5365// String returns the string representation 5366func (s NodegroupScalingConfig) String() string { 5367 return awsutil.Prettify(s) 5368} 5369 5370// GoString returns the string representation 5371func (s NodegroupScalingConfig) GoString() string { 5372 return s.String() 5373} 5374 5375// Validate inspects the fields of the type to determine if they are valid. 5376func (s *NodegroupScalingConfig) Validate() error { 5377 invalidParams := request.ErrInvalidParams{Context: "NodegroupScalingConfig"} 5378 if s.DesiredSize != nil && *s.DesiredSize < 1 { 5379 invalidParams.Add(request.NewErrParamMinValue("DesiredSize", 1)) 5380 } 5381 if s.MaxSize != nil && *s.MaxSize < 1 { 5382 invalidParams.Add(request.NewErrParamMinValue("MaxSize", 1)) 5383 } 5384 if s.MinSize != nil && *s.MinSize < 1 { 5385 invalidParams.Add(request.NewErrParamMinValue("MinSize", 1)) 5386 } 5387 5388 if invalidParams.Len() > 0 { 5389 return invalidParams 5390 } 5391 return nil 5392} 5393 5394// SetDesiredSize sets the DesiredSize field's value. 5395func (s *NodegroupScalingConfig) SetDesiredSize(v int64) *NodegroupScalingConfig { 5396 s.DesiredSize = &v 5397 return s 5398} 5399 5400// SetMaxSize sets the MaxSize field's value. 5401func (s *NodegroupScalingConfig) SetMaxSize(v int64) *NodegroupScalingConfig { 5402 s.MaxSize = &v 5403 return s 5404} 5405 5406// SetMinSize sets the MinSize field's value. 5407func (s *NodegroupScalingConfig) SetMinSize(v int64) *NodegroupScalingConfig { 5408 s.MinSize = &v 5409 return s 5410} 5411 5412// A service resource associated with the request could not be found. Clients 5413// should not retry such requests. 5414type NotFoundException struct { 5415 _ struct{} `type:"structure"` 5416 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5417 5418 Message_ *string `locationName:"message" type:"string"` 5419} 5420 5421// String returns the string representation 5422func (s NotFoundException) String() string { 5423 return awsutil.Prettify(s) 5424} 5425 5426// GoString returns the string representation 5427func (s NotFoundException) GoString() string { 5428 return s.String() 5429} 5430 5431func newErrorNotFoundException(v protocol.ResponseMetadata) error { 5432 return &NotFoundException{ 5433 RespMetadata: v, 5434 } 5435} 5436 5437// Code returns the exception type name. 5438func (s *NotFoundException) Code() string { 5439 return "NotFoundException" 5440} 5441 5442// Message returns the exception's message. 5443func (s *NotFoundException) Message() string { 5444 if s.Message_ != nil { 5445 return *s.Message_ 5446 } 5447 return "" 5448} 5449 5450// OrigErr always returns nil, satisfies awserr.Error interface. 5451func (s *NotFoundException) OrigErr() error { 5452 return nil 5453} 5454 5455func (s *NotFoundException) Error() string { 5456 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5457} 5458 5459// Status code returns the HTTP status code for the request's response error. 5460func (s *NotFoundException) StatusCode() int { 5461 return s.RespMetadata.StatusCode 5462} 5463 5464// RequestID returns the service's response RequestID for request. 5465func (s *NotFoundException) RequestID() string { 5466 return s.RespMetadata.RequestID 5467} 5468 5469// An object representing the OpenID Connect (https://openid.net/connect/) identity 5470// provider information for the cluster. 5471type OIDC struct { 5472 _ struct{} `type:"structure"` 5473 5474 // The issuer URL for the OpenID Connect identity provider. 5475 Issuer *string `locationName:"issuer" type:"string"` 5476} 5477 5478// String returns the string representation 5479func (s OIDC) String() string { 5480 return awsutil.Prettify(s) 5481} 5482 5483// GoString returns the string representation 5484func (s OIDC) GoString() string { 5485 return s.String() 5486} 5487 5488// SetIssuer sets the Issuer field's value. 5489func (s *OIDC) SetIssuer(v string) *OIDC { 5490 s.Issuer = &v 5491 return s 5492} 5493 5494// Identifies the AWS Key Management Service (AWS KMS) customer master key (CMK) 5495// used to encrypt the secrets. 5496type Provider struct { 5497 _ struct{} `type:"structure"` 5498 5499 // Amazon Resource Name (ARN) or alias of the customer master key (CMK). The 5500 // CMK must be symmetric, created in the same region as the cluster, and if 5501 // the CMK was created in a different account, the user must have access to 5502 // the CMK. For more information, see Allowing Users in Other Accounts to Use 5503 // a CMK (https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) 5504 // in the AWS Key Management Service Developer Guide. 5505 KeyArn *string `locationName:"keyArn" type:"string"` 5506} 5507 5508// String returns the string representation 5509func (s Provider) String() string { 5510 return awsutil.Prettify(s) 5511} 5512 5513// GoString returns the string representation 5514func (s Provider) GoString() string { 5515 return s.String() 5516} 5517 5518// SetKeyArn sets the KeyArn field's value. 5519func (s *Provider) SetKeyArn(v string) *Provider { 5520 s.KeyArn = &v 5521 return s 5522} 5523 5524// An object representing the remote access configuration for the managed node 5525// group. 5526type RemoteAccessConfig struct { 5527 _ struct{} `type:"structure"` 5528 5529 // The Amazon EC2 SSH key that provides access for SSH communication with the 5530 // worker nodes in the managed node group. For more information, see Amazon 5531 // EC2 Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) 5532 // in the Amazon Elastic Compute Cloud User Guide for Linux Instances. 5533 Ec2SshKey *string `locationName:"ec2SshKey" type:"string"` 5534 5535 // The security groups that are allowed SSH access (port 22) to the worker nodes. 5536 // If you specify an Amazon EC2 SSH key but do not specify a source security 5537 // group when you create a managed node group, then port 22 on the worker nodes 5538 // is opened to the internet (0.0.0.0/0). For more information, see Security 5539 // Groups for Your VPC (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) 5540 // in the Amazon Virtual Private Cloud User Guide. 5541 SourceSecurityGroups []*string `locationName:"sourceSecurityGroups" type:"list"` 5542} 5543 5544// String returns the string representation 5545func (s RemoteAccessConfig) String() string { 5546 return awsutil.Prettify(s) 5547} 5548 5549// GoString returns the string representation 5550func (s RemoteAccessConfig) GoString() string { 5551 return s.String() 5552} 5553 5554// SetEc2SshKey sets the Ec2SshKey field's value. 5555func (s *RemoteAccessConfig) SetEc2SshKey(v string) *RemoteAccessConfig { 5556 s.Ec2SshKey = &v 5557 return s 5558} 5559 5560// SetSourceSecurityGroups sets the SourceSecurityGroups field's value. 5561func (s *RemoteAccessConfig) SetSourceSecurityGroups(v []*string) *RemoteAccessConfig { 5562 s.SourceSecurityGroups = v 5563 return s 5564} 5565 5566// The specified resource is in use. 5567type ResourceInUseException struct { 5568 _ struct{} `type:"structure"` 5569 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5570 5571 // The Amazon EKS cluster associated with the exception. 5572 ClusterName *string `locationName:"clusterName" type:"string"` 5573 5574 Message_ *string `locationName:"message" type:"string"` 5575 5576 // The Amazon EKS managed node group associated with the exception. 5577 NodegroupName *string `locationName:"nodegroupName" type:"string"` 5578} 5579 5580// String returns the string representation 5581func (s ResourceInUseException) String() string { 5582 return awsutil.Prettify(s) 5583} 5584 5585// GoString returns the string representation 5586func (s ResourceInUseException) GoString() string { 5587 return s.String() 5588} 5589 5590func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 5591 return &ResourceInUseException{ 5592 RespMetadata: v, 5593 } 5594} 5595 5596// Code returns the exception type name. 5597func (s *ResourceInUseException) Code() string { 5598 return "ResourceInUseException" 5599} 5600 5601// Message returns the exception's message. 5602func (s *ResourceInUseException) Message() string { 5603 if s.Message_ != nil { 5604 return *s.Message_ 5605 } 5606 return "" 5607} 5608 5609// OrigErr always returns nil, satisfies awserr.Error interface. 5610func (s *ResourceInUseException) OrigErr() error { 5611 return nil 5612} 5613 5614func (s *ResourceInUseException) Error() string { 5615 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 5616} 5617 5618// Status code returns the HTTP status code for the request's response error. 5619func (s *ResourceInUseException) StatusCode() int { 5620 return s.RespMetadata.StatusCode 5621} 5622 5623// RequestID returns the service's response RequestID for request. 5624func (s *ResourceInUseException) RequestID() string { 5625 return s.RespMetadata.RequestID 5626} 5627 5628// You have encountered a service limit on the specified resource. 5629type ResourceLimitExceededException struct { 5630 _ struct{} `type:"structure"` 5631 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5632 5633 // The Amazon EKS cluster associated with the exception. 5634 ClusterName *string `locationName:"clusterName" type:"string"` 5635 5636 Message_ *string `locationName:"message" type:"string"` 5637 5638 // The Amazon EKS managed node group associated with the exception. 5639 NodegroupName *string `locationName:"nodegroupName" type:"string"` 5640} 5641 5642// String returns the string representation 5643func (s ResourceLimitExceededException) String() string { 5644 return awsutil.Prettify(s) 5645} 5646 5647// GoString returns the string representation 5648func (s ResourceLimitExceededException) GoString() string { 5649 return s.String() 5650} 5651 5652func newErrorResourceLimitExceededException(v protocol.ResponseMetadata) error { 5653 return &ResourceLimitExceededException{ 5654 RespMetadata: v, 5655 } 5656} 5657 5658// Code returns the exception type name. 5659func (s *ResourceLimitExceededException) Code() string { 5660 return "ResourceLimitExceededException" 5661} 5662 5663// Message returns the exception's message. 5664func (s *ResourceLimitExceededException) Message() string { 5665 if s.Message_ != nil { 5666 return *s.Message_ 5667 } 5668 return "" 5669} 5670 5671// OrigErr always returns nil, satisfies awserr.Error interface. 5672func (s *ResourceLimitExceededException) OrigErr() error { 5673 return nil 5674} 5675 5676func (s *ResourceLimitExceededException) Error() string { 5677 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 5678} 5679 5680// Status code returns the HTTP status code for the request's response error. 5681func (s *ResourceLimitExceededException) StatusCode() int { 5682 return s.RespMetadata.StatusCode 5683} 5684 5685// RequestID returns the service's response RequestID for request. 5686func (s *ResourceLimitExceededException) RequestID() string { 5687 return s.RespMetadata.RequestID 5688} 5689 5690// The specified resource could not be found. You can view your available clusters 5691// with ListClusters. You can view your available managed node groups with ListNodegroups. 5692// Amazon EKS clusters and node groups are Region-specific. 5693type ResourceNotFoundException struct { 5694 _ struct{} `type:"structure"` 5695 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5696 5697 // The Amazon EKS cluster associated with the exception. 5698 ClusterName *string `locationName:"clusterName" type:"string"` 5699 5700 // The Fargate profile associated with the exception. 5701 FargateProfileName *string `locationName:"fargateProfileName" type:"string"` 5702 5703 Message_ *string `locationName:"message" type:"string"` 5704 5705 // The Amazon EKS managed node group associated with the exception. 5706 NodegroupName *string `locationName:"nodegroupName" type:"string"` 5707} 5708 5709// String returns the string representation 5710func (s ResourceNotFoundException) String() string { 5711 return awsutil.Prettify(s) 5712} 5713 5714// GoString returns the string representation 5715func (s ResourceNotFoundException) GoString() string { 5716 return s.String() 5717} 5718 5719func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 5720 return &ResourceNotFoundException{ 5721 RespMetadata: v, 5722 } 5723} 5724 5725// Code returns the exception type name. 5726func (s *ResourceNotFoundException) Code() string { 5727 return "ResourceNotFoundException" 5728} 5729 5730// Message returns the exception's message. 5731func (s *ResourceNotFoundException) Message() string { 5732 if s.Message_ != nil { 5733 return *s.Message_ 5734 } 5735 return "" 5736} 5737 5738// OrigErr always returns nil, satisfies awserr.Error interface. 5739func (s *ResourceNotFoundException) OrigErr() error { 5740 return nil 5741} 5742 5743func (s *ResourceNotFoundException) Error() string { 5744 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 5745} 5746 5747// Status code returns the HTTP status code for the request's response error. 5748func (s *ResourceNotFoundException) StatusCode() int { 5749 return s.RespMetadata.StatusCode 5750} 5751 5752// RequestID returns the service's response RequestID for request. 5753func (s *ResourceNotFoundException) RequestID() string { 5754 return s.RespMetadata.RequestID 5755} 5756 5757// These errors are usually caused by a server-side issue. 5758type ServerException struct { 5759 _ struct{} `type:"structure"` 5760 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5761 5762 // The Amazon EKS cluster associated with the exception. 5763 ClusterName *string `locationName:"clusterName" type:"string"` 5764 5765 Message_ *string `locationName:"message" type:"string"` 5766 5767 // The Amazon EKS managed node group associated with the exception. 5768 NodegroupName *string `locationName:"nodegroupName" type:"string"` 5769} 5770 5771// String returns the string representation 5772func (s ServerException) String() string { 5773 return awsutil.Prettify(s) 5774} 5775 5776// GoString returns the string representation 5777func (s ServerException) GoString() string { 5778 return s.String() 5779} 5780 5781func newErrorServerException(v protocol.ResponseMetadata) error { 5782 return &ServerException{ 5783 RespMetadata: v, 5784 } 5785} 5786 5787// Code returns the exception type name. 5788func (s *ServerException) Code() string { 5789 return "ServerException" 5790} 5791 5792// Message returns the exception's message. 5793func (s *ServerException) Message() string { 5794 if s.Message_ != nil { 5795 return *s.Message_ 5796 } 5797 return "" 5798} 5799 5800// OrigErr always returns nil, satisfies awserr.Error interface. 5801func (s *ServerException) OrigErr() error { 5802 return nil 5803} 5804 5805func (s *ServerException) Error() string { 5806 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 5807} 5808 5809// Status code returns the HTTP status code for the request's response error. 5810func (s *ServerException) StatusCode() int { 5811 return s.RespMetadata.StatusCode 5812} 5813 5814// RequestID returns the service's response RequestID for request. 5815func (s *ServerException) RequestID() string { 5816 return s.RespMetadata.RequestID 5817} 5818 5819// The service is unavailable. Back off and retry the operation. 5820type ServiceUnavailableException struct { 5821 _ struct{} `type:"structure"` 5822 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5823 5824 Message_ *string `locationName:"message" type:"string"` 5825} 5826 5827// String returns the string representation 5828func (s ServiceUnavailableException) String() string { 5829 return awsutil.Prettify(s) 5830} 5831 5832// GoString returns the string representation 5833func (s ServiceUnavailableException) GoString() string { 5834 return s.String() 5835} 5836 5837func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { 5838 return &ServiceUnavailableException{ 5839 RespMetadata: v, 5840 } 5841} 5842 5843// Code returns the exception type name. 5844func (s *ServiceUnavailableException) Code() string { 5845 return "ServiceUnavailableException" 5846} 5847 5848// Message returns the exception's message. 5849func (s *ServiceUnavailableException) Message() string { 5850 if s.Message_ != nil { 5851 return *s.Message_ 5852 } 5853 return "" 5854} 5855 5856// OrigErr always returns nil, satisfies awserr.Error interface. 5857func (s *ServiceUnavailableException) OrigErr() error { 5858 return nil 5859} 5860 5861func (s *ServiceUnavailableException) Error() string { 5862 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5863} 5864 5865// Status code returns the HTTP status code for the request's response error. 5866func (s *ServiceUnavailableException) StatusCode() int { 5867 return s.RespMetadata.StatusCode 5868} 5869 5870// RequestID returns the service's response RequestID for request. 5871func (s *ServiceUnavailableException) RequestID() string { 5872 return s.RespMetadata.RequestID 5873} 5874 5875type TagResourceInput struct { 5876 _ struct{} `type:"structure"` 5877 5878 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 5879 // the supported resources are Amazon EKS clusters and managed node groups. 5880 // 5881 // ResourceArn is a required field 5882 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 5883 5884 // The tags to add to the resource. A tag is an array of key-value pairs. 5885 // 5886 // Tags is a required field 5887 Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` 5888} 5889 5890// String returns the string representation 5891func (s TagResourceInput) String() string { 5892 return awsutil.Prettify(s) 5893} 5894 5895// GoString returns the string representation 5896func (s TagResourceInput) GoString() string { 5897 return s.String() 5898} 5899 5900// Validate inspects the fields of the type to determine if they are valid. 5901func (s *TagResourceInput) Validate() error { 5902 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 5903 if s.ResourceArn == nil { 5904 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 5905 } 5906 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 5907 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 5908 } 5909 if s.Tags == nil { 5910 invalidParams.Add(request.NewErrParamRequired("Tags")) 5911 } 5912 if s.Tags != nil && len(s.Tags) < 1 { 5913 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 5914 } 5915 5916 if invalidParams.Len() > 0 { 5917 return invalidParams 5918 } 5919 return nil 5920} 5921 5922// SetResourceArn sets the ResourceArn field's value. 5923func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 5924 s.ResourceArn = &v 5925 return s 5926} 5927 5928// SetTags sets the Tags field's value. 5929func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 5930 s.Tags = v 5931 return s 5932} 5933 5934type TagResourceOutput struct { 5935 _ struct{} `type:"structure"` 5936} 5937 5938// String returns the string representation 5939func (s TagResourceOutput) String() string { 5940 return awsutil.Prettify(s) 5941} 5942 5943// GoString returns the string representation 5944func (s TagResourceOutput) GoString() string { 5945 return s.String() 5946} 5947 5948// At least one of your specified cluster subnets is in an Availability Zone 5949// that does not support Amazon EKS. The exception output specifies the supported 5950// Availability Zones for your account, from which you can choose subnets for 5951// your cluster. 5952type UnsupportedAvailabilityZoneException struct { 5953 _ struct{} `type:"structure"` 5954 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5955 5956 // The Amazon EKS cluster associated with the exception. 5957 ClusterName *string `locationName:"clusterName" type:"string"` 5958 5959 Message_ *string `locationName:"message" type:"string"` 5960 5961 // The Amazon EKS managed node group associated with the exception. 5962 NodegroupName *string `locationName:"nodegroupName" type:"string"` 5963 5964 // The supported Availability Zones for your account. Choose subnets in these 5965 // Availability Zones for your cluster. 5966 ValidZones []*string `locationName:"validZones" type:"list"` 5967} 5968 5969// String returns the string representation 5970func (s UnsupportedAvailabilityZoneException) String() string { 5971 return awsutil.Prettify(s) 5972} 5973 5974// GoString returns the string representation 5975func (s UnsupportedAvailabilityZoneException) GoString() string { 5976 return s.String() 5977} 5978 5979func newErrorUnsupportedAvailabilityZoneException(v protocol.ResponseMetadata) error { 5980 return &UnsupportedAvailabilityZoneException{ 5981 RespMetadata: v, 5982 } 5983} 5984 5985// Code returns the exception type name. 5986func (s *UnsupportedAvailabilityZoneException) Code() string { 5987 return "UnsupportedAvailabilityZoneException" 5988} 5989 5990// Message returns the exception's message. 5991func (s *UnsupportedAvailabilityZoneException) Message() string { 5992 if s.Message_ != nil { 5993 return *s.Message_ 5994 } 5995 return "" 5996} 5997 5998// OrigErr always returns nil, satisfies awserr.Error interface. 5999func (s *UnsupportedAvailabilityZoneException) OrigErr() error { 6000 return nil 6001} 6002 6003func (s *UnsupportedAvailabilityZoneException) Error() string { 6004 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 6005} 6006 6007// Status code returns the HTTP status code for the request's response error. 6008func (s *UnsupportedAvailabilityZoneException) StatusCode() int { 6009 return s.RespMetadata.StatusCode 6010} 6011 6012// RequestID returns the service's response RequestID for request. 6013func (s *UnsupportedAvailabilityZoneException) RequestID() string { 6014 return s.RespMetadata.RequestID 6015} 6016 6017type UntagResourceInput struct { 6018 _ struct{} `type:"structure"` 6019 6020 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 6021 // Currently, the supported resources are Amazon EKS clusters and managed node 6022 // groups. 6023 // 6024 // ResourceArn is a required field 6025 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 6026 6027 // The keys of the tags to be removed. 6028 // 6029 // TagKeys is a required field 6030 TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` 6031} 6032 6033// String returns the string representation 6034func (s UntagResourceInput) String() string { 6035 return awsutil.Prettify(s) 6036} 6037 6038// GoString returns the string representation 6039func (s UntagResourceInput) GoString() string { 6040 return s.String() 6041} 6042 6043// Validate inspects the fields of the type to determine if they are valid. 6044func (s *UntagResourceInput) Validate() error { 6045 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 6046 if s.ResourceArn == nil { 6047 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 6048 } 6049 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 6050 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 6051 } 6052 if s.TagKeys == nil { 6053 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 6054 } 6055 if s.TagKeys != nil && len(s.TagKeys) < 1 { 6056 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 6057 } 6058 6059 if invalidParams.Len() > 0 { 6060 return invalidParams 6061 } 6062 return nil 6063} 6064 6065// SetResourceArn sets the ResourceArn field's value. 6066func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 6067 s.ResourceArn = &v 6068 return s 6069} 6070 6071// SetTagKeys sets the TagKeys field's value. 6072func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 6073 s.TagKeys = v 6074 return s 6075} 6076 6077type UntagResourceOutput struct { 6078 _ struct{} `type:"structure"` 6079} 6080 6081// String returns the string representation 6082func (s UntagResourceOutput) String() string { 6083 return awsutil.Prettify(s) 6084} 6085 6086// GoString returns the string representation 6087func (s UntagResourceOutput) GoString() string { 6088 return s.String() 6089} 6090 6091// An object representing an asynchronous update. 6092type Update struct { 6093 _ struct{} `type:"structure"` 6094 6095 // The Unix epoch timestamp in seconds for when the update was created. 6096 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 6097 6098 // Any errors associated with a Failed update. 6099 Errors []*ErrorDetail `locationName:"errors" type:"list"` 6100 6101 // A UUID that is used to track the update. 6102 Id *string `locationName:"id" type:"string"` 6103 6104 // A key-value map that contains the parameters associated with the update. 6105 Params []*UpdateParam `locationName:"params" type:"list"` 6106 6107 // The current status of the update. 6108 Status *string `locationName:"status" type:"string" enum:"UpdateStatus"` 6109 6110 // The type of the update. 6111 Type *string `locationName:"type" type:"string" enum:"UpdateType"` 6112} 6113 6114// String returns the string representation 6115func (s Update) String() string { 6116 return awsutil.Prettify(s) 6117} 6118 6119// GoString returns the string representation 6120func (s Update) GoString() string { 6121 return s.String() 6122} 6123 6124// SetCreatedAt sets the CreatedAt field's value. 6125func (s *Update) SetCreatedAt(v time.Time) *Update { 6126 s.CreatedAt = &v 6127 return s 6128} 6129 6130// SetErrors sets the Errors field's value. 6131func (s *Update) SetErrors(v []*ErrorDetail) *Update { 6132 s.Errors = v 6133 return s 6134} 6135 6136// SetId sets the Id field's value. 6137func (s *Update) SetId(v string) *Update { 6138 s.Id = &v 6139 return s 6140} 6141 6142// SetParams sets the Params field's value. 6143func (s *Update) SetParams(v []*UpdateParam) *Update { 6144 s.Params = v 6145 return s 6146} 6147 6148// SetStatus sets the Status field's value. 6149func (s *Update) SetStatus(v string) *Update { 6150 s.Status = &v 6151 return s 6152} 6153 6154// SetType sets the Type field's value. 6155func (s *Update) SetType(v string) *Update { 6156 s.Type = &v 6157 return s 6158} 6159 6160type UpdateClusterConfigInput struct { 6161 _ struct{} `type:"structure"` 6162 6163 // Unique, case-sensitive identifier that you provide to ensure the idempotency 6164 // of the request. 6165 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 6166 6167 // Enable or disable exporting the Kubernetes control plane logs for your cluster 6168 // to CloudWatch Logs. By default, cluster control plane logs aren't exported 6169 // to CloudWatch Logs. For more information, see Amazon EKS Cluster Control 6170 // Plane Logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) 6171 // in the Amazon EKS User Guide . 6172 // 6173 // CloudWatch Logs ingestion, archive storage, and data scanning rates apply 6174 // to exported control plane logs. For more information, see Amazon CloudWatch 6175 // Pricing (http://aws.amazon.com/cloudwatch/pricing/). 6176 Logging *Logging `locationName:"logging" type:"structure"` 6177 6178 // The name of the Amazon EKS cluster to update. 6179 // 6180 // Name is a required field 6181 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 6182 6183 // An object representing the VPC configuration to use for an Amazon EKS cluster. 6184 ResourcesVpcConfig *VpcConfigRequest `locationName:"resourcesVpcConfig" type:"structure"` 6185} 6186 6187// String returns the string representation 6188func (s UpdateClusterConfigInput) String() string { 6189 return awsutil.Prettify(s) 6190} 6191 6192// GoString returns the string representation 6193func (s UpdateClusterConfigInput) GoString() string { 6194 return s.String() 6195} 6196 6197// Validate inspects the fields of the type to determine if they are valid. 6198func (s *UpdateClusterConfigInput) Validate() error { 6199 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterConfigInput"} 6200 if s.Name == nil { 6201 invalidParams.Add(request.NewErrParamRequired("Name")) 6202 } 6203 if s.Name != nil && len(*s.Name) < 1 { 6204 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 6205 } 6206 6207 if invalidParams.Len() > 0 { 6208 return invalidParams 6209 } 6210 return nil 6211} 6212 6213// SetClientRequestToken sets the ClientRequestToken field's value. 6214func (s *UpdateClusterConfigInput) SetClientRequestToken(v string) *UpdateClusterConfigInput { 6215 s.ClientRequestToken = &v 6216 return s 6217} 6218 6219// SetLogging sets the Logging field's value. 6220func (s *UpdateClusterConfigInput) SetLogging(v *Logging) *UpdateClusterConfigInput { 6221 s.Logging = v 6222 return s 6223} 6224 6225// SetName sets the Name field's value. 6226func (s *UpdateClusterConfigInput) SetName(v string) *UpdateClusterConfigInput { 6227 s.Name = &v 6228 return s 6229} 6230 6231// SetResourcesVpcConfig sets the ResourcesVpcConfig field's value. 6232func (s *UpdateClusterConfigInput) SetResourcesVpcConfig(v *VpcConfigRequest) *UpdateClusterConfigInput { 6233 s.ResourcesVpcConfig = v 6234 return s 6235} 6236 6237type UpdateClusterConfigOutput struct { 6238 _ struct{} `type:"structure"` 6239 6240 // An object representing an asynchronous update. 6241 Update *Update `locationName:"update" type:"structure"` 6242} 6243 6244// String returns the string representation 6245func (s UpdateClusterConfigOutput) String() string { 6246 return awsutil.Prettify(s) 6247} 6248 6249// GoString returns the string representation 6250func (s UpdateClusterConfigOutput) GoString() string { 6251 return s.String() 6252} 6253 6254// SetUpdate sets the Update field's value. 6255func (s *UpdateClusterConfigOutput) SetUpdate(v *Update) *UpdateClusterConfigOutput { 6256 s.Update = v 6257 return s 6258} 6259 6260type UpdateClusterVersionInput struct { 6261 _ struct{} `type:"structure"` 6262 6263 // Unique, case-sensitive identifier that you provide to ensure the idempotency 6264 // of the request. 6265 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 6266 6267 // The name of the Amazon EKS cluster to update. 6268 // 6269 // Name is a required field 6270 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 6271 6272 // The desired Kubernetes version following a successful update. 6273 // 6274 // Version is a required field 6275 Version *string `locationName:"version" type:"string" required:"true"` 6276} 6277 6278// String returns the string representation 6279func (s UpdateClusterVersionInput) String() string { 6280 return awsutil.Prettify(s) 6281} 6282 6283// GoString returns the string representation 6284func (s UpdateClusterVersionInput) GoString() string { 6285 return s.String() 6286} 6287 6288// Validate inspects the fields of the type to determine if they are valid. 6289func (s *UpdateClusterVersionInput) Validate() error { 6290 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterVersionInput"} 6291 if s.Name == nil { 6292 invalidParams.Add(request.NewErrParamRequired("Name")) 6293 } 6294 if s.Name != nil && len(*s.Name) < 1 { 6295 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 6296 } 6297 if s.Version == nil { 6298 invalidParams.Add(request.NewErrParamRequired("Version")) 6299 } 6300 6301 if invalidParams.Len() > 0 { 6302 return invalidParams 6303 } 6304 return nil 6305} 6306 6307// SetClientRequestToken sets the ClientRequestToken field's value. 6308func (s *UpdateClusterVersionInput) SetClientRequestToken(v string) *UpdateClusterVersionInput { 6309 s.ClientRequestToken = &v 6310 return s 6311} 6312 6313// SetName sets the Name field's value. 6314func (s *UpdateClusterVersionInput) SetName(v string) *UpdateClusterVersionInput { 6315 s.Name = &v 6316 return s 6317} 6318 6319// SetVersion sets the Version field's value. 6320func (s *UpdateClusterVersionInput) SetVersion(v string) *UpdateClusterVersionInput { 6321 s.Version = &v 6322 return s 6323} 6324 6325type UpdateClusterVersionOutput struct { 6326 _ struct{} `type:"structure"` 6327 6328 // The full description of the specified update 6329 Update *Update `locationName:"update" type:"structure"` 6330} 6331 6332// String returns the string representation 6333func (s UpdateClusterVersionOutput) String() string { 6334 return awsutil.Prettify(s) 6335} 6336 6337// GoString returns the string representation 6338func (s UpdateClusterVersionOutput) GoString() string { 6339 return s.String() 6340} 6341 6342// SetUpdate sets the Update field's value. 6343func (s *UpdateClusterVersionOutput) SetUpdate(v *Update) *UpdateClusterVersionOutput { 6344 s.Update = v 6345 return s 6346} 6347 6348// An object representing a Kubernetes label change for a managed node group. 6349type UpdateLabelsPayload struct { 6350 _ struct{} `type:"structure"` 6351 6352 // Kubernetes labels to be added or updated. 6353 AddOrUpdateLabels map[string]*string `locationName:"addOrUpdateLabels" type:"map"` 6354 6355 // Kubernetes labels to be removed. 6356 RemoveLabels []*string `locationName:"removeLabels" type:"list"` 6357} 6358 6359// String returns the string representation 6360func (s UpdateLabelsPayload) String() string { 6361 return awsutil.Prettify(s) 6362} 6363 6364// GoString returns the string representation 6365func (s UpdateLabelsPayload) GoString() string { 6366 return s.String() 6367} 6368 6369// SetAddOrUpdateLabels sets the AddOrUpdateLabels field's value. 6370func (s *UpdateLabelsPayload) SetAddOrUpdateLabels(v map[string]*string) *UpdateLabelsPayload { 6371 s.AddOrUpdateLabels = v 6372 return s 6373} 6374 6375// SetRemoveLabels sets the RemoveLabels field's value. 6376func (s *UpdateLabelsPayload) SetRemoveLabels(v []*string) *UpdateLabelsPayload { 6377 s.RemoveLabels = v 6378 return s 6379} 6380 6381type UpdateNodegroupConfigInput struct { 6382 _ struct{} `type:"structure"` 6383 6384 // Unique, case-sensitive identifier that you provide to ensure the idempotency 6385 // of the request. 6386 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 6387 6388 // The name of the Amazon EKS cluster that the managed node group resides in. 6389 // 6390 // ClusterName is a required field 6391 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 6392 6393 // The Kubernetes labels to be applied to the nodes in the node group after 6394 // the update. 6395 Labels *UpdateLabelsPayload `locationName:"labels" type:"structure"` 6396 6397 // The name of the managed node group to update. 6398 // 6399 // NodegroupName is a required field 6400 NodegroupName *string `location:"uri" locationName:"nodegroupName" type:"string" required:"true"` 6401 6402 // The scaling configuration details for the Auto Scaling group after the update. 6403 ScalingConfig *NodegroupScalingConfig `locationName:"scalingConfig" type:"structure"` 6404} 6405 6406// String returns the string representation 6407func (s UpdateNodegroupConfigInput) String() string { 6408 return awsutil.Prettify(s) 6409} 6410 6411// GoString returns the string representation 6412func (s UpdateNodegroupConfigInput) GoString() string { 6413 return s.String() 6414} 6415 6416// Validate inspects the fields of the type to determine if they are valid. 6417func (s *UpdateNodegroupConfigInput) Validate() error { 6418 invalidParams := request.ErrInvalidParams{Context: "UpdateNodegroupConfigInput"} 6419 if s.ClusterName == nil { 6420 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 6421 } 6422 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 6423 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 6424 } 6425 if s.NodegroupName == nil { 6426 invalidParams.Add(request.NewErrParamRequired("NodegroupName")) 6427 } 6428 if s.NodegroupName != nil && len(*s.NodegroupName) < 1 { 6429 invalidParams.Add(request.NewErrParamMinLen("NodegroupName", 1)) 6430 } 6431 if s.ScalingConfig != nil { 6432 if err := s.ScalingConfig.Validate(); err != nil { 6433 invalidParams.AddNested("ScalingConfig", err.(request.ErrInvalidParams)) 6434 } 6435 } 6436 6437 if invalidParams.Len() > 0 { 6438 return invalidParams 6439 } 6440 return nil 6441} 6442 6443// SetClientRequestToken sets the ClientRequestToken field's value. 6444func (s *UpdateNodegroupConfigInput) SetClientRequestToken(v string) *UpdateNodegroupConfigInput { 6445 s.ClientRequestToken = &v 6446 return s 6447} 6448 6449// SetClusterName sets the ClusterName field's value. 6450func (s *UpdateNodegroupConfigInput) SetClusterName(v string) *UpdateNodegroupConfigInput { 6451 s.ClusterName = &v 6452 return s 6453} 6454 6455// SetLabels sets the Labels field's value. 6456func (s *UpdateNodegroupConfigInput) SetLabels(v *UpdateLabelsPayload) *UpdateNodegroupConfigInput { 6457 s.Labels = v 6458 return s 6459} 6460 6461// SetNodegroupName sets the NodegroupName field's value. 6462func (s *UpdateNodegroupConfigInput) SetNodegroupName(v string) *UpdateNodegroupConfigInput { 6463 s.NodegroupName = &v 6464 return s 6465} 6466 6467// SetScalingConfig sets the ScalingConfig field's value. 6468func (s *UpdateNodegroupConfigInput) SetScalingConfig(v *NodegroupScalingConfig) *UpdateNodegroupConfigInput { 6469 s.ScalingConfig = v 6470 return s 6471} 6472 6473type UpdateNodegroupConfigOutput struct { 6474 _ struct{} `type:"structure"` 6475 6476 // An object representing an asynchronous update. 6477 Update *Update `locationName:"update" type:"structure"` 6478} 6479 6480// String returns the string representation 6481func (s UpdateNodegroupConfigOutput) String() string { 6482 return awsutil.Prettify(s) 6483} 6484 6485// GoString returns the string representation 6486func (s UpdateNodegroupConfigOutput) GoString() string { 6487 return s.String() 6488} 6489 6490// SetUpdate sets the Update field's value. 6491func (s *UpdateNodegroupConfigOutput) SetUpdate(v *Update) *UpdateNodegroupConfigOutput { 6492 s.Update = v 6493 return s 6494} 6495 6496type UpdateNodegroupVersionInput struct { 6497 _ struct{} `type:"structure"` 6498 6499 // Unique, case-sensitive identifier that you provide to ensure the idempotency 6500 // of the request. 6501 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 6502 6503 // The name of the Amazon EKS cluster that is associated with the managed node 6504 // group to update. 6505 // 6506 // ClusterName is a required field 6507 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 6508 6509 // Force the update if the existing node group's pods are unable to be drained 6510 // due to a pod disruption budget issue. If an update fails because pods could 6511 // not be drained, you can force the update after it fails to terminate the 6512 // old node whether or not any pods are running on the node. 6513 Force *bool `locationName:"force" type:"boolean"` 6514 6515 // An object representing a node group's launch template specification. You 6516 // can only update a node group using a launch template if the node group was 6517 // originally deployed with a launch template. 6518 LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` 6519 6520 // The name of the managed node group to update. 6521 // 6522 // NodegroupName is a required field 6523 NodegroupName *string `location:"uri" locationName:"nodegroupName" type:"string" required:"true"` 6524 6525 // The AMI version of the Amazon EKS-optimized AMI to use for the update. By 6526 // default, the latest available AMI version for the node group's Kubernetes 6527 // version is used. For more information, see Amazon EKS-Optimized Linux AMI 6528 // Versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html) 6529 // in the Amazon EKS User Guide. If you specify launchTemplate, and your launch 6530 // template uses a custom AMI, then don't specify releaseVersion, or the node 6531 // group update will fail. For more information about using launch templates 6532 // with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 6533 // in the Amazon EKS User Guide. 6534 ReleaseVersion *string `locationName:"releaseVersion" type:"string"` 6535 6536 // The Kubernetes version to update to. If no version is specified, then the 6537 // Kubernetes version of the node group does not change. You can specify the 6538 // Kubernetes version of the cluster to update the node group to the latest 6539 // AMI version of the cluster's Kubernetes version. If you specify launchTemplate, 6540 // and your launch template uses a custom AMI, then don't specify version, or 6541 // the node group update will fail. For more information about using launch 6542 // templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 6543 // in the Amazon EKS User Guide. 6544 Version *string `locationName:"version" type:"string"` 6545} 6546 6547// String returns the string representation 6548func (s UpdateNodegroupVersionInput) String() string { 6549 return awsutil.Prettify(s) 6550} 6551 6552// GoString returns the string representation 6553func (s UpdateNodegroupVersionInput) GoString() string { 6554 return s.String() 6555} 6556 6557// Validate inspects the fields of the type to determine if they are valid. 6558func (s *UpdateNodegroupVersionInput) Validate() error { 6559 invalidParams := request.ErrInvalidParams{Context: "UpdateNodegroupVersionInput"} 6560 if s.ClusterName == nil { 6561 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 6562 } 6563 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 6564 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 6565 } 6566 if s.NodegroupName == nil { 6567 invalidParams.Add(request.NewErrParamRequired("NodegroupName")) 6568 } 6569 if s.NodegroupName != nil && len(*s.NodegroupName) < 1 { 6570 invalidParams.Add(request.NewErrParamMinLen("NodegroupName", 1)) 6571 } 6572 6573 if invalidParams.Len() > 0 { 6574 return invalidParams 6575 } 6576 return nil 6577} 6578 6579// SetClientRequestToken sets the ClientRequestToken field's value. 6580func (s *UpdateNodegroupVersionInput) SetClientRequestToken(v string) *UpdateNodegroupVersionInput { 6581 s.ClientRequestToken = &v 6582 return s 6583} 6584 6585// SetClusterName sets the ClusterName field's value. 6586func (s *UpdateNodegroupVersionInput) SetClusterName(v string) *UpdateNodegroupVersionInput { 6587 s.ClusterName = &v 6588 return s 6589} 6590 6591// SetForce sets the Force field's value. 6592func (s *UpdateNodegroupVersionInput) SetForce(v bool) *UpdateNodegroupVersionInput { 6593 s.Force = &v 6594 return s 6595} 6596 6597// SetLaunchTemplate sets the LaunchTemplate field's value. 6598func (s *UpdateNodegroupVersionInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *UpdateNodegroupVersionInput { 6599 s.LaunchTemplate = v 6600 return s 6601} 6602 6603// SetNodegroupName sets the NodegroupName field's value. 6604func (s *UpdateNodegroupVersionInput) SetNodegroupName(v string) *UpdateNodegroupVersionInput { 6605 s.NodegroupName = &v 6606 return s 6607} 6608 6609// SetReleaseVersion sets the ReleaseVersion field's value. 6610func (s *UpdateNodegroupVersionInput) SetReleaseVersion(v string) *UpdateNodegroupVersionInput { 6611 s.ReleaseVersion = &v 6612 return s 6613} 6614 6615// SetVersion sets the Version field's value. 6616func (s *UpdateNodegroupVersionInput) SetVersion(v string) *UpdateNodegroupVersionInput { 6617 s.Version = &v 6618 return s 6619} 6620 6621type UpdateNodegroupVersionOutput struct { 6622 _ struct{} `type:"structure"` 6623 6624 // An object representing an asynchronous update. 6625 Update *Update `locationName:"update" type:"structure"` 6626} 6627 6628// String returns the string representation 6629func (s UpdateNodegroupVersionOutput) String() string { 6630 return awsutil.Prettify(s) 6631} 6632 6633// GoString returns the string representation 6634func (s UpdateNodegroupVersionOutput) GoString() string { 6635 return s.String() 6636} 6637 6638// SetUpdate sets the Update field's value. 6639func (s *UpdateNodegroupVersionOutput) SetUpdate(v *Update) *UpdateNodegroupVersionOutput { 6640 s.Update = v 6641 return s 6642} 6643 6644// An object representing the details of an update request. 6645type UpdateParam struct { 6646 _ struct{} `type:"structure"` 6647 6648 // The keys associated with an update request. 6649 Type *string `locationName:"type" type:"string" enum:"UpdateParamType"` 6650 6651 // The value of the keys submitted as part of an update request. 6652 Value *string `locationName:"value" type:"string"` 6653} 6654 6655// String returns the string representation 6656func (s UpdateParam) String() string { 6657 return awsutil.Prettify(s) 6658} 6659 6660// GoString returns the string representation 6661func (s UpdateParam) GoString() string { 6662 return s.String() 6663} 6664 6665// SetType sets the Type field's value. 6666func (s *UpdateParam) SetType(v string) *UpdateParam { 6667 s.Type = &v 6668 return s 6669} 6670 6671// SetValue sets the Value field's value. 6672func (s *UpdateParam) SetValue(v string) *UpdateParam { 6673 s.Value = &v 6674 return s 6675} 6676 6677// An object representing the VPC configuration to use for an Amazon EKS cluster. 6678type VpcConfigRequest struct { 6679 _ struct{} `type:"structure"` 6680 6681 // Set this value to true to enable private access for your cluster's Kubernetes 6682 // API server endpoint. If you enable private access, Kubernetes API requests 6683 // from within your cluster's VPC use the private VPC endpoint. The default 6684 // value for this parameter is false, which disables private access for your 6685 // Kubernetes API server. If you disable private access and you have worker 6686 // nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs 6687 // includes the necessary CIDR blocks for communication with the worker nodes 6688 // or Fargate pods. For more information, see Amazon EKS Cluster Endpoint Access 6689 // Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 6690 // in the Amazon EKS User Guide . 6691 EndpointPrivateAccess *bool `locationName:"endpointPrivateAccess" type:"boolean"` 6692 6693 // Set this value to false to disable public access to your cluster's Kubernetes 6694 // API server endpoint. If you disable public access, your cluster's Kubernetes 6695 // API server can only receive requests from within the cluster VPC. The default 6696 // value for this parameter is true, which enables public access for your Kubernetes 6697 // API server. For more information, see Amazon EKS Cluster Endpoint Access 6698 // Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 6699 // in the Amazon EKS User Guide . 6700 EndpointPublicAccess *bool `locationName:"endpointPublicAccess" type:"boolean"` 6701 6702 // The CIDR blocks that are allowed access to your cluster's public Kubernetes 6703 // API server endpoint. Communication to the endpoint from addresses outside 6704 // of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0. 6705 // If you've disabled private endpoint access and you have worker nodes or AWS 6706 // Fargate pods in the cluster, then ensure that you specify the necessary CIDR 6707 // blocks. For more information, see Amazon EKS Cluster Endpoint Access Control 6708 // (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 6709 // in the Amazon EKS User Guide . 6710 PublicAccessCidrs []*string `locationName:"publicAccessCidrs" type:"list"` 6711 6712 // Specify one or more security groups for the cross-account elastic network 6713 // interfaces that Amazon EKS creates to use to allow communication between 6714 // your worker nodes and the Kubernetes control plane. If you don't specify 6715 // a security group, the default security group for your VPC is used. 6716 SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` 6717 6718 // Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates cross-account 6719 // elastic network interfaces in these subnets to allow communication between 6720 // your worker nodes and the Kubernetes control plane. 6721 SubnetIds []*string `locationName:"subnetIds" type:"list"` 6722} 6723 6724// String returns the string representation 6725func (s VpcConfigRequest) String() string { 6726 return awsutil.Prettify(s) 6727} 6728 6729// GoString returns the string representation 6730func (s VpcConfigRequest) GoString() string { 6731 return s.String() 6732} 6733 6734// SetEndpointPrivateAccess sets the EndpointPrivateAccess field's value. 6735func (s *VpcConfigRequest) SetEndpointPrivateAccess(v bool) *VpcConfigRequest { 6736 s.EndpointPrivateAccess = &v 6737 return s 6738} 6739 6740// SetEndpointPublicAccess sets the EndpointPublicAccess field's value. 6741func (s *VpcConfigRequest) SetEndpointPublicAccess(v bool) *VpcConfigRequest { 6742 s.EndpointPublicAccess = &v 6743 return s 6744} 6745 6746// SetPublicAccessCidrs sets the PublicAccessCidrs field's value. 6747func (s *VpcConfigRequest) SetPublicAccessCidrs(v []*string) *VpcConfigRequest { 6748 s.PublicAccessCidrs = v 6749 return s 6750} 6751 6752// SetSecurityGroupIds sets the SecurityGroupIds field's value. 6753func (s *VpcConfigRequest) SetSecurityGroupIds(v []*string) *VpcConfigRequest { 6754 s.SecurityGroupIds = v 6755 return s 6756} 6757 6758// SetSubnetIds sets the SubnetIds field's value. 6759func (s *VpcConfigRequest) SetSubnetIds(v []*string) *VpcConfigRequest { 6760 s.SubnetIds = v 6761 return s 6762} 6763 6764// An object representing an Amazon EKS cluster VPC configuration response. 6765type VpcConfigResponse struct { 6766 _ struct{} `type:"structure"` 6767 6768 // The cluster security group that was created by Amazon EKS for the cluster. 6769 // Managed node groups use this security group for control-plane-to-data-plane 6770 // communication. 6771 ClusterSecurityGroupId *string `locationName:"clusterSecurityGroupId" type:"string"` 6772 6773 // This parameter indicates whether the Amazon EKS private API server endpoint 6774 // is enabled. If the Amazon EKS private API server endpoint is enabled, Kubernetes 6775 // API requests that originate from within your cluster's VPC use the private 6776 // VPC endpoint instead of traversing the internet. If this value is disabled 6777 // and you have worker nodes or AWS Fargate pods in the cluster, then ensure 6778 // that publicAccessCidrs includes the necessary CIDR blocks for communication 6779 // with the worker nodes or Fargate pods. For more information, see Amazon EKS 6780 // Cluster Endpoint Access Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 6781 // in the Amazon EKS User Guide . 6782 EndpointPrivateAccess *bool `locationName:"endpointPrivateAccess" type:"boolean"` 6783 6784 // This parameter indicates whether the Amazon EKS public API server endpoint 6785 // is enabled. If the Amazon EKS public API server endpoint is disabled, your 6786 // cluster's Kubernetes API server can only receive requests that originate 6787 // from within the cluster VPC. 6788 EndpointPublicAccess *bool `locationName:"endpointPublicAccess" type:"boolean"` 6789 6790 // The CIDR blocks that are allowed access to your cluster's public Kubernetes 6791 // API server endpoint. Communication to the endpoint from addresses outside 6792 // of the listed CIDR blocks is denied. The default value is 0.0.0.0/0. If you've 6793 // disabled private endpoint access and you have worker nodes or AWS Fargate 6794 // pods in the cluster, then ensure that the necessary CIDR blocks are listed. 6795 // For more information, see Amazon EKS Cluster Endpoint Access Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 6796 // in the Amazon EKS User Guide . 6797 PublicAccessCidrs []*string `locationName:"publicAccessCidrs" type:"list"` 6798 6799 // The security groups associated with the cross-account elastic network interfaces 6800 // that are used to allow communication between your worker nodes and the Kubernetes 6801 // control plane. 6802 SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` 6803 6804 // The subnets associated with your cluster. 6805 SubnetIds []*string `locationName:"subnetIds" type:"list"` 6806 6807 // The VPC associated with your cluster. 6808 VpcId *string `locationName:"vpcId" type:"string"` 6809} 6810 6811// String returns the string representation 6812func (s VpcConfigResponse) String() string { 6813 return awsutil.Prettify(s) 6814} 6815 6816// GoString returns the string representation 6817func (s VpcConfigResponse) GoString() string { 6818 return s.String() 6819} 6820 6821// SetClusterSecurityGroupId sets the ClusterSecurityGroupId field's value. 6822func (s *VpcConfigResponse) SetClusterSecurityGroupId(v string) *VpcConfigResponse { 6823 s.ClusterSecurityGroupId = &v 6824 return s 6825} 6826 6827// SetEndpointPrivateAccess sets the EndpointPrivateAccess field's value. 6828func (s *VpcConfigResponse) SetEndpointPrivateAccess(v bool) *VpcConfigResponse { 6829 s.EndpointPrivateAccess = &v 6830 return s 6831} 6832 6833// SetEndpointPublicAccess sets the EndpointPublicAccess field's value. 6834func (s *VpcConfigResponse) SetEndpointPublicAccess(v bool) *VpcConfigResponse { 6835 s.EndpointPublicAccess = &v 6836 return s 6837} 6838 6839// SetPublicAccessCidrs sets the PublicAccessCidrs field's value. 6840func (s *VpcConfigResponse) SetPublicAccessCidrs(v []*string) *VpcConfigResponse { 6841 s.PublicAccessCidrs = v 6842 return s 6843} 6844 6845// SetSecurityGroupIds sets the SecurityGroupIds field's value. 6846func (s *VpcConfigResponse) SetSecurityGroupIds(v []*string) *VpcConfigResponse { 6847 s.SecurityGroupIds = v 6848 return s 6849} 6850 6851// SetSubnetIds sets the SubnetIds field's value. 6852func (s *VpcConfigResponse) SetSubnetIds(v []*string) *VpcConfigResponse { 6853 s.SubnetIds = v 6854 return s 6855} 6856 6857// SetVpcId sets the VpcId field's value. 6858func (s *VpcConfigResponse) SetVpcId(v string) *VpcConfigResponse { 6859 s.VpcId = &v 6860 return s 6861} 6862 6863const ( 6864 // AMITypesAl2X8664 is a AMITypes enum value 6865 AMITypesAl2X8664 = "AL2_x86_64" 6866 6867 // AMITypesAl2X8664Gpu is a AMITypes enum value 6868 AMITypesAl2X8664Gpu = "AL2_x86_64_GPU" 6869 6870 // AMITypesAl2Arm64 is a AMITypes enum value 6871 AMITypesAl2Arm64 = "AL2_ARM_64" 6872) 6873 6874// AMITypes_Values returns all elements of the AMITypes enum 6875func AMITypes_Values() []string { 6876 return []string{ 6877 AMITypesAl2X8664, 6878 AMITypesAl2X8664Gpu, 6879 AMITypesAl2Arm64, 6880 } 6881} 6882 6883const ( 6884 // ClusterStatusCreating is a ClusterStatus enum value 6885 ClusterStatusCreating = "CREATING" 6886 6887 // ClusterStatusActive is a ClusterStatus enum value 6888 ClusterStatusActive = "ACTIVE" 6889 6890 // ClusterStatusDeleting is a ClusterStatus enum value 6891 ClusterStatusDeleting = "DELETING" 6892 6893 // ClusterStatusFailed is a ClusterStatus enum value 6894 ClusterStatusFailed = "FAILED" 6895 6896 // ClusterStatusUpdating is a ClusterStatus enum value 6897 ClusterStatusUpdating = "UPDATING" 6898) 6899 6900// ClusterStatus_Values returns all elements of the ClusterStatus enum 6901func ClusterStatus_Values() []string { 6902 return []string{ 6903 ClusterStatusCreating, 6904 ClusterStatusActive, 6905 ClusterStatusDeleting, 6906 ClusterStatusFailed, 6907 ClusterStatusUpdating, 6908 } 6909} 6910 6911const ( 6912 // ErrorCodeSubnetNotFound is a ErrorCode enum value 6913 ErrorCodeSubnetNotFound = "SubnetNotFound" 6914 6915 // ErrorCodeSecurityGroupNotFound is a ErrorCode enum value 6916 ErrorCodeSecurityGroupNotFound = "SecurityGroupNotFound" 6917 6918 // ErrorCodeEniLimitReached is a ErrorCode enum value 6919 ErrorCodeEniLimitReached = "EniLimitReached" 6920 6921 // ErrorCodeIpNotAvailable is a ErrorCode enum value 6922 ErrorCodeIpNotAvailable = "IpNotAvailable" 6923 6924 // ErrorCodeAccessDenied is a ErrorCode enum value 6925 ErrorCodeAccessDenied = "AccessDenied" 6926 6927 // ErrorCodeOperationNotPermitted is a ErrorCode enum value 6928 ErrorCodeOperationNotPermitted = "OperationNotPermitted" 6929 6930 // ErrorCodeVpcIdNotFound is a ErrorCode enum value 6931 ErrorCodeVpcIdNotFound = "VpcIdNotFound" 6932 6933 // ErrorCodeUnknown is a ErrorCode enum value 6934 ErrorCodeUnknown = "Unknown" 6935 6936 // ErrorCodeNodeCreationFailure is a ErrorCode enum value 6937 ErrorCodeNodeCreationFailure = "NodeCreationFailure" 6938 6939 // ErrorCodePodEvictionFailure is a ErrorCode enum value 6940 ErrorCodePodEvictionFailure = "PodEvictionFailure" 6941 6942 // ErrorCodeInsufficientFreeAddresses is a ErrorCode enum value 6943 ErrorCodeInsufficientFreeAddresses = "InsufficientFreeAddresses" 6944 6945 // ErrorCodeClusterUnreachable is a ErrorCode enum value 6946 ErrorCodeClusterUnreachable = "ClusterUnreachable" 6947) 6948 6949// ErrorCode_Values returns all elements of the ErrorCode enum 6950func ErrorCode_Values() []string { 6951 return []string{ 6952 ErrorCodeSubnetNotFound, 6953 ErrorCodeSecurityGroupNotFound, 6954 ErrorCodeEniLimitReached, 6955 ErrorCodeIpNotAvailable, 6956 ErrorCodeAccessDenied, 6957 ErrorCodeOperationNotPermitted, 6958 ErrorCodeVpcIdNotFound, 6959 ErrorCodeUnknown, 6960 ErrorCodeNodeCreationFailure, 6961 ErrorCodePodEvictionFailure, 6962 ErrorCodeInsufficientFreeAddresses, 6963 ErrorCodeClusterUnreachable, 6964 } 6965} 6966 6967const ( 6968 // FargateProfileStatusCreating is a FargateProfileStatus enum value 6969 FargateProfileStatusCreating = "CREATING" 6970 6971 // FargateProfileStatusActive is a FargateProfileStatus enum value 6972 FargateProfileStatusActive = "ACTIVE" 6973 6974 // FargateProfileStatusDeleting is a FargateProfileStatus enum value 6975 FargateProfileStatusDeleting = "DELETING" 6976 6977 // FargateProfileStatusCreateFailed is a FargateProfileStatus enum value 6978 FargateProfileStatusCreateFailed = "CREATE_FAILED" 6979 6980 // FargateProfileStatusDeleteFailed is a FargateProfileStatus enum value 6981 FargateProfileStatusDeleteFailed = "DELETE_FAILED" 6982) 6983 6984// FargateProfileStatus_Values returns all elements of the FargateProfileStatus enum 6985func FargateProfileStatus_Values() []string { 6986 return []string{ 6987 FargateProfileStatusCreating, 6988 FargateProfileStatusActive, 6989 FargateProfileStatusDeleting, 6990 FargateProfileStatusCreateFailed, 6991 FargateProfileStatusDeleteFailed, 6992 } 6993} 6994 6995const ( 6996 // LogTypeApi is a LogType enum value 6997 LogTypeApi = "api" 6998 6999 // LogTypeAudit is a LogType enum value 7000 LogTypeAudit = "audit" 7001 7002 // LogTypeAuthenticator is a LogType enum value 7003 LogTypeAuthenticator = "authenticator" 7004 7005 // LogTypeControllerManager is a LogType enum value 7006 LogTypeControllerManager = "controllerManager" 7007 7008 // LogTypeScheduler is a LogType enum value 7009 LogTypeScheduler = "scheduler" 7010) 7011 7012// LogType_Values returns all elements of the LogType enum 7013func LogType_Values() []string { 7014 return []string{ 7015 LogTypeApi, 7016 LogTypeAudit, 7017 LogTypeAuthenticator, 7018 LogTypeControllerManager, 7019 LogTypeScheduler, 7020 } 7021} 7022 7023const ( 7024 // NodegroupIssueCodeAutoScalingGroupNotFound is a NodegroupIssueCode enum value 7025 NodegroupIssueCodeAutoScalingGroupNotFound = "AutoScalingGroupNotFound" 7026 7027 // NodegroupIssueCodeAutoScalingGroupInvalidConfiguration is a NodegroupIssueCode enum value 7028 NodegroupIssueCodeAutoScalingGroupInvalidConfiguration = "AutoScalingGroupInvalidConfiguration" 7029 7030 // NodegroupIssueCodeEc2securityGroupNotFound is a NodegroupIssueCode enum value 7031 NodegroupIssueCodeEc2securityGroupNotFound = "Ec2SecurityGroupNotFound" 7032 7033 // NodegroupIssueCodeEc2securityGroupDeletionFailure is a NodegroupIssueCode enum value 7034 NodegroupIssueCodeEc2securityGroupDeletionFailure = "Ec2SecurityGroupDeletionFailure" 7035 7036 // NodegroupIssueCodeEc2launchTemplateNotFound is a NodegroupIssueCode enum value 7037 NodegroupIssueCodeEc2launchTemplateNotFound = "Ec2LaunchTemplateNotFound" 7038 7039 // NodegroupIssueCodeEc2launchTemplateVersionMismatch is a NodegroupIssueCode enum value 7040 NodegroupIssueCodeEc2launchTemplateVersionMismatch = "Ec2LaunchTemplateVersionMismatch" 7041 7042 // NodegroupIssueCodeEc2subnetNotFound is a NodegroupIssueCode enum value 7043 NodegroupIssueCodeEc2subnetNotFound = "Ec2SubnetNotFound" 7044 7045 // NodegroupIssueCodeEc2subnetInvalidConfiguration is a NodegroupIssueCode enum value 7046 NodegroupIssueCodeEc2subnetInvalidConfiguration = "Ec2SubnetInvalidConfiguration" 7047 7048 // NodegroupIssueCodeIamInstanceProfileNotFound is a NodegroupIssueCode enum value 7049 NodegroupIssueCodeIamInstanceProfileNotFound = "IamInstanceProfileNotFound" 7050 7051 // NodegroupIssueCodeIamLimitExceeded is a NodegroupIssueCode enum value 7052 NodegroupIssueCodeIamLimitExceeded = "IamLimitExceeded" 7053 7054 // NodegroupIssueCodeIamNodeRoleNotFound is a NodegroupIssueCode enum value 7055 NodegroupIssueCodeIamNodeRoleNotFound = "IamNodeRoleNotFound" 7056 7057 // NodegroupIssueCodeNodeCreationFailure is a NodegroupIssueCode enum value 7058 NodegroupIssueCodeNodeCreationFailure = "NodeCreationFailure" 7059 7060 // NodegroupIssueCodeAsgInstanceLaunchFailures is a NodegroupIssueCode enum value 7061 NodegroupIssueCodeAsgInstanceLaunchFailures = "AsgInstanceLaunchFailures" 7062 7063 // NodegroupIssueCodeInstanceLimitExceeded is a NodegroupIssueCode enum value 7064 NodegroupIssueCodeInstanceLimitExceeded = "InstanceLimitExceeded" 7065 7066 // NodegroupIssueCodeInsufficientFreeAddresses is a NodegroupIssueCode enum value 7067 NodegroupIssueCodeInsufficientFreeAddresses = "InsufficientFreeAddresses" 7068 7069 // NodegroupIssueCodeAccessDenied is a NodegroupIssueCode enum value 7070 NodegroupIssueCodeAccessDenied = "AccessDenied" 7071 7072 // NodegroupIssueCodeInternalFailure is a NodegroupIssueCode enum value 7073 NodegroupIssueCodeInternalFailure = "InternalFailure" 7074 7075 // NodegroupIssueCodeClusterUnreachable is a NodegroupIssueCode enum value 7076 NodegroupIssueCodeClusterUnreachable = "ClusterUnreachable" 7077) 7078 7079// NodegroupIssueCode_Values returns all elements of the NodegroupIssueCode enum 7080func NodegroupIssueCode_Values() []string { 7081 return []string{ 7082 NodegroupIssueCodeAutoScalingGroupNotFound, 7083 NodegroupIssueCodeAutoScalingGroupInvalidConfiguration, 7084 NodegroupIssueCodeEc2securityGroupNotFound, 7085 NodegroupIssueCodeEc2securityGroupDeletionFailure, 7086 NodegroupIssueCodeEc2launchTemplateNotFound, 7087 NodegroupIssueCodeEc2launchTemplateVersionMismatch, 7088 NodegroupIssueCodeEc2subnetNotFound, 7089 NodegroupIssueCodeEc2subnetInvalidConfiguration, 7090 NodegroupIssueCodeIamInstanceProfileNotFound, 7091 NodegroupIssueCodeIamLimitExceeded, 7092 NodegroupIssueCodeIamNodeRoleNotFound, 7093 NodegroupIssueCodeNodeCreationFailure, 7094 NodegroupIssueCodeAsgInstanceLaunchFailures, 7095 NodegroupIssueCodeInstanceLimitExceeded, 7096 NodegroupIssueCodeInsufficientFreeAddresses, 7097 NodegroupIssueCodeAccessDenied, 7098 NodegroupIssueCodeInternalFailure, 7099 NodegroupIssueCodeClusterUnreachable, 7100 } 7101} 7102 7103const ( 7104 // NodegroupStatusCreating is a NodegroupStatus enum value 7105 NodegroupStatusCreating = "CREATING" 7106 7107 // NodegroupStatusActive is a NodegroupStatus enum value 7108 NodegroupStatusActive = "ACTIVE" 7109 7110 // NodegroupStatusUpdating is a NodegroupStatus enum value 7111 NodegroupStatusUpdating = "UPDATING" 7112 7113 // NodegroupStatusDeleting is a NodegroupStatus enum value 7114 NodegroupStatusDeleting = "DELETING" 7115 7116 // NodegroupStatusCreateFailed is a NodegroupStatus enum value 7117 NodegroupStatusCreateFailed = "CREATE_FAILED" 7118 7119 // NodegroupStatusDeleteFailed is a NodegroupStatus enum value 7120 NodegroupStatusDeleteFailed = "DELETE_FAILED" 7121 7122 // NodegroupStatusDegraded is a NodegroupStatus enum value 7123 NodegroupStatusDegraded = "DEGRADED" 7124) 7125 7126// NodegroupStatus_Values returns all elements of the NodegroupStatus enum 7127func NodegroupStatus_Values() []string { 7128 return []string{ 7129 NodegroupStatusCreating, 7130 NodegroupStatusActive, 7131 NodegroupStatusUpdating, 7132 NodegroupStatusDeleting, 7133 NodegroupStatusCreateFailed, 7134 NodegroupStatusDeleteFailed, 7135 NodegroupStatusDegraded, 7136 } 7137} 7138 7139const ( 7140 // UpdateParamTypeVersion is a UpdateParamType enum value 7141 UpdateParamTypeVersion = "Version" 7142 7143 // UpdateParamTypePlatformVersion is a UpdateParamType enum value 7144 UpdateParamTypePlatformVersion = "PlatformVersion" 7145 7146 // UpdateParamTypeEndpointPrivateAccess is a UpdateParamType enum value 7147 UpdateParamTypeEndpointPrivateAccess = "EndpointPrivateAccess" 7148 7149 // UpdateParamTypeEndpointPublicAccess is a UpdateParamType enum value 7150 UpdateParamTypeEndpointPublicAccess = "EndpointPublicAccess" 7151 7152 // UpdateParamTypeClusterLogging is a UpdateParamType enum value 7153 UpdateParamTypeClusterLogging = "ClusterLogging" 7154 7155 // UpdateParamTypeDesiredSize is a UpdateParamType enum value 7156 UpdateParamTypeDesiredSize = "DesiredSize" 7157 7158 // UpdateParamTypeLabelsToAdd is a UpdateParamType enum value 7159 UpdateParamTypeLabelsToAdd = "LabelsToAdd" 7160 7161 // UpdateParamTypeLabelsToRemove is a UpdateParamType enum value 7162 UpdateParamTypeLabelsToRemove = "LabelsToRemove" 7163 7164 // UpdateParamTypeMaxSize is a UpdateParamType enum value 7165 UpdateParamTypeMaxSize = "MaxSize" 7166 7167 // UpdateParamTypeMinSize is a UpdateParamType enum value 7168 UpdateParamTypeMinSize = "MinSize" 7169 7170 // UpdateParamTypeReleaseVersion is a UpdateParamType enum value 7171 UpdateParamTypeReleaseVersion = "ReleaseVersion" 7172 7173 // UpdateParamTypePublicAccessCidrs is a UpdateParamType enum value 7174 UpdateParamTypePublicAccessCidrs = "PublicAccessCidrs" 7175) 7176 7177// UpdateParamType_Values returns all elements of the UpdateParamType enum 7178func UpdateParamType_Values() []string { 7179 return []string{ 7180 UpdateParamTypeVersion, 7181 UpdateParamTypePlatformVersion, 7182 UpdateParamTypeEndpointPrivateAccess, 7183 UpdateParamTypeEndpointPublicAccess, 7184 UpdateParamTypeClusterLogging, 7185 UpdateParamTypeDesiredSize, 7186 UpdateParamTypeLabelsToAdd, 7187 UpdateParamTypeLabelsToRemove, 7188 UpdateParamTypeMaxSize, 7189 UpdateParamTypeMinSize, 7190 UpdateParamTypeReleaseVersion, 7191 UpdateParamTypePublicAccessCidrs, 7192 } 7193} 7194 7195const ( 7196 // UpdateStatusInProgress is a UpdateStatus enum value 7197 UpdateStatusInProgress = "InProgress" 7198 7199 // UpdateStatusFailed is a UpdateStatus enum value 7200 UpdateStatusFailed = "Failed" 7201 7202 // UpdateStatusCancelled is a UpdateStatus enum value 7203 UpdateStatusCancelled = "Cancelled" 7204 7205 // UpdateStatusSuccessful is a UpdateStatus enum value 7206 UpdateStatusSuccessful = "Successful" 7207) 7208 7209// UpdateStatus_Values returns all elements of the UpdateStatus enum 7210func UpdateStatus_Values() []string { 7211 return []string{ 7212 UpdateStatusInProgress, 7213 UpdateStatusFailed, 7214 UpdateStatusCancelled, 7215 UpdateStatusSuccessful, 7216 } 7217} 7218 7219const ( 7220 // UpdateTypeVersionUpdate is a UpdateType enum value 7221 UpdateTypeVersionUpdate = "VersionUpdate" 7222 7223 // UpdateTypeEndpointAccessUpdate is a UpdateType enum value 7224 UpdateTypeEndpointAccessUpdate = "EndpointAccessUpdate" 7225 7226 // UpdateTypeLoggingUpdate is a UpdateType enum value 7227 UpdateTypeLoggingUpdate = "LoggingUpdate" 7228 7229 // UpdateTypeConfigUpdate is a UpdateType enum value 7230 UpdateTypeConfigUpdate = "ConfigUpdate" 7231) 7232 7233// UpdateType_Values returns all elements of the UpdateType enum 7234func UpdateType_Values() []string { 7235 return []string{ 7236 UpdateTypeVersionUpdate, 7237 UpdateTypeEndpointAccessUpdate, 7238 UpdateTypeLoggingUpdate, 7239 UpdateTypeConfigUpdate, 7240 } 7241} 7242