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 opAssociateEncryptionConfig = "AssociateEncryptionConfig" 17 18// AssociateEncryptionConfigRequest generates a "aws/request.Request" representing the 19// client's request for the AssociateEncryptionConfig 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 AssociateEncryptionConfig for more information on using the AssociateEncryptionConfig 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 AssociateEncryptionConfigRequest method. 34// req, resp := client.AssociateEncryptionConfigRequest(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/AssociateEncryptionConfig 42func (c *EKS) AssociateEncryptionConfigRequest(input *AssociateEncryptionConfigInput) (req *request.Request, output *AssociateEncryptionConfigOutput) { 43 op := &request.Operation{ 44 Name: opAssociateEncryptionConfig, 45 HTTPMethod: "POST", 46 HTTPPath: "/clusters/{name}/encryption-config/associate", 47 } 48 49 if input == nil { 50 input = &AssociateEncryptionConfigInput{} 51 } 52 53 output = &AssociateEncryptionConfigOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// AssociateEncryptionConfig API operation for Amazon Elastic Kubernetes Service. 59// 60// Associate encryption configuration to an existing cluster. 61// 62// You can use this API to enable encryption on existing clusters which do not 63// have encryption already enabled. This allows you to implement a defense-in-depth 64// security strategy without migrating applications to new Amazon EKS clusters. 65// 66// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 67// with awserr.Error's Code and Message methods to get detailed information about 68// the error. 69// 70// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 71// API operation AssociateEncryptionConfig for usage and error information. 72// 73// Returned Error Types: 74// * InvalidParameterException 75// The specified parameter is invalid. Review the available parameters for the 76// API request. 77// 78// * ClientException 79// These errors are usually caused by a client action. Actions can include using 80// an action or resource on behalf of a user that doesn't have permissions to 81// use the action or resource or specifying an identifier that is not valid. 82// 83// * ServerException 84// These errors are usually caused by a server-side issue. 85// 86// * ResourceInUseException 87// The specified resource is in use. 88// 89// * ResourceNotFoundException 90// The specified resource could not be found. You can view your available clusters 91// with ListClusters. You can view your available managed node groups with ListNodegroups. 92// Amazon EKS clusters and node groups are Region-specific. 93// 94// * InvalidRequestException 95// The request is invalid given the state of the cluster. Check the state of 96// the cluster and the associated operations. 97// 98// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateEncryptionConfig 99func (c *EKS) AssociateEncryptionConfig(input *AssociateEncryptionConfigInput) (*AssociateEncryptionConfigOutput, error) { 100 req, out := c.AssociateEncryptionConfigRequest(input) 101 return out, req.Send() 102} 103 104// AssociateEncryptionConfigWithContext is the same as AssociateEncryptionConfig with the addition of 105// the ability to pass a context and additional request options. 106// 107// See AssociateEncryptionConfig for details on how to use this API operation. 108// 109// The context must be non-nil and will be used for request cancellation. If 110// the context is nil a panic will occur. In the future the SDK may create 111// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 112// for more information on using Contexts. 113func (c *EKS) AssociateEncryptionConfigWithContext(ctx aws.Context, input *AssociateEncryptionConfigInput, opts ...request.Option) (*AssociateEncryptionConfigOutput, error) { 114 req, out := c.AssociateEncryptionConfigRequest(input) 115 req.SetContext(ctx) 116 req.ApplyOptions(opts...) 117 return out, req.Send() 118} 119 120const opAssociateIdentityProviderConfig = "AssociateIdentityProviderConfig" 121 122// AssociateIdentityProviderConfigRequest generates a "aws/request.Request" representing the 123// client's request for the AssociateIdentityProviderConfig operation. The "output" return 124// value will be populated with the request's response once the request completes 125// successfully. 126// 127// Use "Send" method on the returned Request to send the API call to the service. 128// the "output" return value is not valid until after Send returns without error. 129// 130// See AssociateIdentityProviderConfig for more information on using the AssociateIdentityProviderConfig 131// API call, and error handling. 132// 133// This method is useful when you want to inject custom logic or configuration 134// into the SDK's request lifecycle. Such as custom headers, or retry logic. 135// 136// 137// // Example sending a request using the AssociateIdentityProviderConfigRequest method. 138// req, resp := client.AssociateIdentityProviderConfigRequest(params) 139// 140// err := req.Send() 141// if err == nil { // resp is now filled 142// fmt.Println(resp) 143// } 144// 145// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateIdentityProviderConfig 146func (c *EKS) AssociateIdentityProviderConfigRequest(input *AssociateIdentityProviderConfigInput) (req *request.Request, output *AssociateIdentityProviderConfigOutput) { 147 op := &request.Operation{ 148 Name: opAssociateIdentityProviderConfig, 149 HTTPMethod: "POST", 150 HTTPPath: "/clusters/{name}/identity-provider-configs/associate", 151 } 152 153 if input == nil { 154 input = &AssociateIdentityProviderConfigInput{} 155 } 156 157 output = &AssociateIdentityProviderConfigOutput{} 158 req = c.newRequest(op, input, output) 159 return 160} 161 162// AssociateIdentityProviderConfig API operation for Amazon Elastic Kubernetes Service. 163// 164// Associate an identity provider configuration to a cluster. 165// 166// If you want to authenticate identities using an identity provider, you can 167// create an identity provider configuration and associate it to your cluster. 168// After configuring authentication to your cluster you can create Kubernetes 169// roles and clusterroles to assign permissions to the roles, and then bind 170// the roles to the identities using Kubernetes rolebindings and clusterrolebindings. 171// For more information see Using RBAC Authorization (https://kubernetes.io/docs/reference/access-authn-authz/rbac/) 172// in the Kubernetes documentation. 173// 174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 175// with awserr.Error's Code and Message methods to get detailed information about 176// the error. 177// 178// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 179// API operation AssociateIdentityProviderConfig for usage and error information. 180// 181// Returned Error Types: 182// * InvalidParameterException 183// The specified parameter is invalid. Review the available parameters for the 184// API request. 185// 186// * ClientException 187// These errors are usually caused by a client action. Actions can include using 188// an action or resource on behalf of a user that doesn't have permissions to 189// use the action or resource or specifying an identifier that is not valid. 190// 191// * ServerException 192// These errors are usually caused by a server-side issue. 193// 194// * ResourceInUseException 195// The specified resource is in use. 196// 197// * ResourceNotFoundException 198// The specified resource could not be found. You can view your available clusters 199// with ListClusters. You can view your available managed node groups with ListNodegroups. 200// Amazon EKS clusters and node groups are Region-specific. 201// 202// * InvalidRequestException 203// The request is invalid given the state of the cluster. Check the state of 204// the cluster and the associated operations. 205// 206// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateIdentityProviderConfig 207func (c *EKS) AssociateIdentityProviderConfig(input *AssociateIdentityProviderConfigInput) (*AssociateIdentityProviderConfigOutput, error) { 208 req, out := c.AssociateIdentityProviderConfigRequest(input) 209 return out, req.Send() 210} 211 212// AssociateIdentityProviderConfigWithContext is the same as AssociateIdentityProviderConfig with the addition of 213// the ability to pass a context and additional request options. 214// 215// See AssociateIdentityProviderConfig for details on how to use this API operation. 216// 217// The context must be non-nil and will be used for request cancellation. If 218// the context is nil a panic will occur. In the future the SDK may create 219// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 220// for more information on using Contexts. 221func (c *EKS) AssociateIdentityProviderConfigWithContext(ctx aws.Context, input *AssociateIdentityProviderConfigInput, opts ...request.Option) (*AssociateIdentityProviderConfigOutput, error) { 222 req, out := c.AssociateIdentityProviderConfigRequest(input) 223 req.SetContext(ctx) 224 req.ApplyOptions(opts...) 225 return out, req.Send() 226} 227 228const opCreateAddon = "CreateAddon" 229 230// CreateAddonRequest generates a "aws/request.Request" representing the 231// client's request for the CreateAddon operation. The "output" return 232// value will be populated with the request's response once the request completes 233// successfully. 234// 235// Use "Send" method on the returned Request to send the API call to the service. 236// the "output" return value is not valid until after Send returns without error. 237// 238// See CreateAddon for more information on using the CreateAddon 239// API call, and error handling. 240// 241// This method is useful when you want to inject custom logic or configuration 242// into the SDK's request lifecycle. Such as custom headers, or retry logic. 243// 244// 245// // Example sending a request using the CreateAddonRequest method. 246// req, resp := client.CreateAddonRequest(params) 247// 248// err := req.Send() 249// if err == nil { // resp is now filled 250// fmt.Println(resp) 251// } 252// 253// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateAddon 254func (c *EKS) CreateAddonRequest(input *CreateAddonInput) (req *request.Request, output *CreateAddonOutput) { 255 op := &request.Operation{ 256 Name: opCreateAddon, 257 HTTPMethod: "POST", 258 HTTPPath: "/clusters/{name}/addons", 259 } 260 261 if input == nil { 262 input = &CreateAddonInput{} 263 } 264 265 output = &CreateAddonOutput{} 266 req = c.newRequest(op, input, output) 267 return 268} 269 270// CreateAddon API operation for Amazon Elastic Kubernetes Service. 271// 272// Creates an Amazon EKS add-on. 273// 274// Amazon EKS add-ons help to automate the provisioning and lifecycle management 275// of common operational software for Amazon EKS clusters. Amazon EKS add-ons 276// can only be used with Amazon EKS clusters running version 1.18 with platform 277// version eks.3 or later because add-ons rely on the Server-side Apply Kubernetes 278// feature, which is only available in Kubernetes 1.18 and later. 279// 280// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 281// with awserr.Error's Code and Message methods to get detailed information about 282// the error. 283// 284// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 285// API operation CreateAddon for usage and error information. 286// 287// Returned Error Types: 288// * InvalidParameterException 289// The specified parameter is invalid. Review the available parameters for the 290// API request. 291// 292// * InvalidRequestException 293// The request is invalid given the state of the cluster. Check the state of 294// the cluster and the associated operations. 295// 296// * ResourceNotFoundException 297// The specified resource could not be found. You can view your available clusters 298// with ListClusters. You can view your available managed node groups with ListNodegroups. 299// Amazon EKS clusters and node groups are Region-specific. 300// 301// * ResourceInUseException 302// The specified resource is in use. 303// 304// * ClientException 305// These errors are usually caused by a client action. Actions can include using 306// an action or resource on behalf of a user that doesn't have permissions to 307// use the action or resource or specifying an identifier that is not valid. 308// 309// * ServerException 310// These errors are usually caused by a server-side issue. 311// 312// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateAddon 313func (c *EKS) CreateAddon(input *CreateAddonInput) (*CreateAddonOutput, error) { 314 req, out := c.CreateAddonRequest(input) 315 return out, req.Send() 316} 317 318// CreateAddonWithContext is the same as CreateAddon with the addition of 319// the ability to pass a context and additional request options. 320// 321// See CreateAddon for details on how to use this API operation. 322// 323// The context must be non-nil and will be used for request cancellation. If 324// the context is nil a panic will occur. In the future the SDK may create 325// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 326// for more information on using Contexts. 327func (c *EKS) CreateAddonWithContext(ctx aws.Context, input *CreateAddonInput, opts ...request.Option) (*CreateAddonOutput, error) { 328 req, out := c.CreateAddonRequest(input) 329 req.SetContext(ctx) 330 req.ApplyOptions(opts...) 331 return out, req.Send() 332} 333 334const opCreateCluster = "CreateCluster" 335 336// CreateClusterRequest generates a "aws/request.Request" representing the 337// client's request for the CreateCluster operation. The "output" return 338// value will be populated with the request's response once the request completes 339// successfully. 340// 341// Use "Send" method on the returned Request to send the API call to the service. 342// the "output" return value is not valid until after Send returns without error. 343// 344// See CreateCluster for more information on using the CreateCluster 345// API call, and error handling. 346// 347// This method is useful when you want to inject custom logic or configuration 348// into the SDK's request lifecycle. Such as custom headers, or retry logic. 349// 350// 351// // Example sending a request using the CreateClusterRequest method. 352// req, resp := client.CreateClusterRequest(params) 353// 354// err := req.Send() 355// if err == nil { // resp is now filled 356// fmt.Println(resp) 357// } 358// 359// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateCluster 360func (c *EKS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { 361 op := &request.Operation{ 362 Name: opCreateCluster, 363 HTTPMethod: "POST", 364 HTTPPath: "/clusters", 365 } 366 367 if input == nil { 368 input = &CreateClusterInput{} 369 } 370 371 output = &CreateClusterOutput{} 372 req = c.newRequest(op, input, output) 373 return 374} 375 376// CreateCluster API operation for Amazon Elastic Kubernetes Service. 377// 378// Creates an Amazon EKS control plane. 379// 380// The Amazon EKS control plane consists of control plane instances that run 381// the Kubernetes software, such as etcd and the API server. The control plane 382// runs in an account managed by Amazon Web Services, and the Kubernetes API 383// is exposed via the Amazon EKS API server endpoint. Each Amazon EKS cluster 384// control plane is single-tenant and unique and runs on its own set of Amazon 385// EC2 instances. 386// 387// The cluster control plane is provisioned across multiple Availability Zones 388// and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS 389// also provisions elastic network interfaces in your VPC subnets to provide 390// connectivity from the control plane instances to the nodes (for example, 391// to support kubectl exec, logs, and proxy data flows). 392// 393// Amazon EKS nodes run in your Amazon Web Services account and connect to your 394// cluster's control plane via the Kubernetes API server endpoint and a certificate 395// file that is created for your cluster. 396// 397// Cluster creation typically takes several minutes. After you create an Amazon 398// EKS cluster, you must configure your Kubernetes tooling to communicate with 399// the API server and launch nodes into your cluster. For more information, 400// see Managing Cluster Authentication (https://docs.aws.amazon.com/eks/latest/userguide/managing-auth.html) 401// and Launching Amazon EKS nodes (https://docs.aws.amazon.com/eks/latest/userguide/launch-workers.html) 402// in the Amazon EKS User Guide. 403// 404// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 405// with awserr.Error's Code and Message methods to get detailed information about 406// the error. 407// 408// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 409// API operation CreateCluster for usage and error information. 410// 411// Returned Error Types: 412// * ResourceInUseException 413// The specified resource is in use. 414// 415// * ResourceLimitExceededException 416// You have encountered a service limit on the specified resource. 417// 418// * InvalidParameterException 419// The specified parameter is invalid. Review the available parameters for the 420// API request. 421// 422// * ClientException 423// These errors are usually caused by a client action. Actions can include using 424// an action or resource on behalf of a user that doesn't have permissions to 425// use the action or resource or specifying an identifier that is not valid. 426// 427// * ServerException 428// These errors are usually caused by a server-side issue. 429// 430// * ServiceUnavailableException 431// The service is unavailable. Back off and retry the operation. 432// 433// * UnsupportedAvailabilityZoneException 434// At least one of your specified cluster subnets is in an Availability Zone 435// that does not support Amazon EKS. The exception output specifies the supported 436// Availability Zones for your account, from which you can choose subnets for 437// your cluster. 438// 439// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateCluster 440func (c *EKS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { 441 req, out := c.CreateClusterRequest(input) 442 return out, req.Send() 443} 444 445// CreateClusterWithContext is the same as CreateCluster with the addition of 446// the ability to pass a context and additional request options. 447// 448// See CreateCluster for details on how to use this API operation. 449// 450// The context must be non-nil and will be used for request cancellation. If 451// the context is nil a panic will occur. In the future the SDK may create 452// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 453// for more information on using Contexts. 454func (c *EKS) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { 455 req, out := c.CreateClusterRequest(input) 456 req.SetContext(ctx) 457 req.ApplyOptions(opts...) 458 return out, req.Send() 459} 460 461const opCreateFargateProfile = "CreateFargateProfile" 462 463// CreateFargateProfileRequest generates a "aws/request.Request" representing the 464// client's request for the CreateFargateProfile operation. The "output" return 465// value will be populated with the request's response once the request completes 466// successfully. 467// 468// Use "Send" method on the returned Request to send the API call to the service. 469// the "output" return value is not valid until after Send returns without error. 470// 471// See CreateFargateProfile for more information on using the CreateFargateProfile 472// API call, and error handling. 473// 474// This method is useful when you want to inject custom logic or configuration 475// into the SDK's request lifecycle. Such as custom headers, or retry logic. 476// 477// 478// // Example sending a request using the CreateFargateProfileRequest method. 479// req, resp := client.CreateFargateProfileRequest(params) 480// 481// err := req.Send() 482// if err == nil { // resp is now filled 483// fmt.Println(resp) 484// } 485// 486// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateFargateProfile 487func (c *EKS) CreateFargateProfileRequest(input *CreateFargateProfileInput) (req *request.Request, output *CreateFargateProfileOutput) { 488 op := &request.Operation{ 489 Name: opCreateFargateProfile, 490 HTTPMethod: "POST", 491 HTTPPath: "/clusters/{name}/fargate-profiles", 492 } 493 494 if input == nil { 495 input = &CreateFargateProfileInput{} 496 } 497 498 output = &CreateFargateProfileOutput{} 499 req = c.newRequest(op, input, output) 500 return 501} 502 503// CreateFargateProfile API operation for Amazon Elastic Kubernetes Service. 504// 505// Creates an Fargate profile for your Amazon EKS cluster. You must have at 506// least one Fargate profile in a cluster to be able to run pods on Fargate. 507// 508// The Fargate profile allows an administrator to declare which pods run on 509// Fargate and specify which pods run on which Fargate profile. This declaration 510// is done through the profile’s selectors. Each profile can have up to five 511// selectors that contain a namespace and labels. A namespace is required for 512// every selector. The label field consists of multiple optional key-value pairs. 513// Pods that match the selectors are scheduled on Fargate. If a to-be-scheduled 514// pod matches any of the selectors in the Fargate profile, then that pod is 515// run on Fargate. 516// 517// When you create a Fargate profile, you must specify a pod execution role 518// to use with the pods that are scheduled with the profile. This role is added 519// to the cluster's Kubernetes Role Based Access Control (https://kubernetes.io/docs/admin/authorization/rbac/) 520// (RBAC) for authorization so that the kubelet that is running on the Fargate 521// infrastructure can register with your Amazon EKS cluster so that it can appear 522// in your cluster as a node. The pod execution role also provides IAM permissions 523// to the Fargate infrastructure to allow read access to Amazon ECR image repositories. 524// For more information, see Pod Execution Role (https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html) 525// in the Amazon EKS User Guide. 526// 527// Fargate profiles are immutable. However, you can create a new updated profile 528// to replace an existing profile and then delete the original after the updated 529// profile has finished creating. 530// 531// If any Fargate profiles in a cluster are in the DELETING status, you must 532// wait for that Fargate profile to finish deleting before you can create any 533// other profiles in that cluster. 534// 535// For more information, see Fargate Profile (https://docs.aws.amazon.com/eks/latest/userguide/fargate-profile.html) 536// in the Amazon EKS User Guide. 537// 538// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 539// with awserr.Error's Code and Message methods to get detailed information about 540// the error. 541// 542// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 543// API operation CreateFargateProfile for usage and error information. 544// 545// Returned Error Types: 546// * InvalidParameterException 547// The specified parameter is invalid. Review the available parameters for the 548// API request. 549// 550// * InvalidRequestException 551// The request is invalid given the state of the cluster. Check the state of 552// the cluster and the associated operations. 553// 554// * ClientException 555// These errors are usually caused by a client action. Actions can include using 556// an action or resource on behalf of a user that doesn't have permissions to 557// use the action or resource or specifying an identifier that is not valid. 558// 559// * ServerException 560// These errors are usually caused by a server-side issue. 561// 562// * ResourceLimitExceededException 563// You have encountered a service limit on the specified resource. 564// 565// * UnsupportedAvailabilityZoneException 566// At least one of your specified cluster subnets is in an Availability Zone 567// that does not support Amazon EKS. The exception output specifies the supported 568// Availability Zones for your account, from which you can choose subnets for 569// your cluster. 570// 571// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateFargateProfile 572func (c *EKS) CreateFargateProfile(input *CreateFargateProfileInput) (*CreateFargateProfileOutput, error) { 573 req, out := c.CreateFargateProfileRequest(input) 574 return out, req.Send() 575} 576 577// CreateFargateProfileWithContext is the same as CreateFargateProfile with the addition of 578// the ability to pass a context and additional request options. 579// 580// See CreateFargateProfile for details on how to use this API operation. 581// 582// The context must be non-nil and will be used for request cancellation. If 583// the context is nil a panic will occur. In the future the SDK may create 584// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 585// for more information on using Contexts. 586func (c *EKS) CreateFargateProfileWithContext(ctx aws.Context, input *CreateFargateProfileInput, opts ...request.Option) (*CreateFargateProfileOutput, error) { 587 req, out := c.CreateFargateProfileRequest(input) 588 req.SetContext(ctx) 589 req.ApplyOptions(opts...) 590 return out, req.Send() 591} 592 593const opCreateNodegroup = "CreateNodegroup" 594 595// CreateNodegroupRequest generates a "aws/request.Request" representing the 596// client's request for the CreateNodegroup operation. The "output" return 597// value will be populated with the request's response once the request completes 598// successfully. 599// 600// Use "Send" method on the returned Request to send the API call to the service. 601// the "output" return value is not valid until after Send returns without error. 602// 603// See CreateNodegroup for more information on using the CreateNodegroup 604// API call, and error handling. 605// 606// This method is useful when you want to inject custom logic or configuration 607// into the SDK's request lifecycle. Such as custom headers, or retry logic. 608// 609// 610// // Example sending a request using the CreateNodegroupRequest method. 611// req, resp := client.CreateNodegroupRequest(params) 612// 613// err := req.Send() 614// if err == nil { // resp is now filled 615// fmt.Println(resp) 616// } 617// 618// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateNodegroup 619func (c *EKS) CreateNodegroupRequest(input *CreateNodegroupInput) (req *request.Request, output *CreateNodegroupOutput) { 620 op := &request.Operation{ 621 Name: opCreateNodegroup, 622 HTTPMethod: "POST", 623 HTTPPath: "/clusters/{name}/node-groups", 624 } 625 626 if input == nil { 627 input = &CreateNodegroupInput{} 628 } 629 630 output = &CreateNodegroupOutput{} 631 req = c.newRequest(op, input, output) 632 return 633} 634 635// CreateNodegroup API operation for Amazon Elastic Kubernetes Service. 636// 637// Creates a managed node group for an Amazon EKS cluster. You can only create 638// a node group for your cluster that is equal to the current Kubernetes version 639// for the cluster. All node groups are created with the latest AMI release 640// version for the respective minor Kubernetes version of the cluster, unless 641// you deploy a custom AMI using a launch template. For more information about 642// using launch templates, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html). 643// 644// An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group and 645// associated Amazon EC2 instances that are managed by Amazon Web Services for 646// an Amazon EKS cluster. Each node group uses a version of the Amazon EKS optimized 647// Amazon Linux 2 AMI. For more information, see Managed Node Groups (https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html) 648// in the Amazon EKS User Guide. 649// 650// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 651// with awserr.Error's Code and Message methods to get detailed information about 652// the error. 653// 654// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 655// API operation CreateNodegroup for usage and error information. 656// 657// Returned Error Types: 658// * ResourceInUseException 659// The specified resource is in use. 660// 661// * ResourceLimitExceededException 662// You have encountered a service limit on the specified resource. 663// 664// * InvalidRequestException 665// The request is invalid given the state of the cluster. Check the state of 666// the cluster and the associated operations. 667// 668// * InvalidParameterException 669// The specified parameter is invalid. Review the available parameters for the 670// API request. 671// 672// * ClientException 673// These errors are usually caused by a client action. Actions can include using 674// an action or resource on behalf of a user that doesn't have permissions to 675// use the action or resource or specifying an identifier that is not valid. 676// 677// * ServerException 678// These errors are usually caused by a server-side issue. 679// 680// * ServiceUnavailableException 681// The service is unavailable. Back off and retry the operation. 682// 683// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateNodegroup 684func (c *EKS) CreateNodegroup(input *CreateNodegroupInput) (*CreateNodegroupOutput, error) { 685 req, out := c.CreateNodegroupRequest(input) 686 return out, req.Send() 687} 688 689// CreateNodegroupWithContext is the same as CreateNodegroup with the addition of 690// the ability to pass a context and additional request options. 691// 692// See CreateNodegroup for details on how to use this API operation. 693// 694// The context must be non-nil and will be used for request cancellation. If 695// the context is nil a panic will occur. In the future the SDK may create 696// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 697// for more information on using Contexts. 698func (c *EKS) CreateNodegroupWithContext(ctx aws.Context, input *CreateNodegroupInput, opts ...request.Option) (*CreateNodegroupOutput, error) { 699 req, out := c.CreateNodegroupRequest(input) 700 req.SetContext(ctx) 701 req.ApplyOptions(opts...) 702 return out, req.Send() 703} 704 705const opDeleteAddon = "DeleteAddon" 706 707// DeleteAddonRequest generates a "aws/request.Request" representing the 708// client's request for the DeleteAddon operation. The "output" return 709// value will be populated with the request's response once the request completes 710// successfully. 711// 712// Use "Send" method on the returned Request to send the API call to the service. 713// the "output" return value is not valid until after Send returns without error. 714// 715// See DeleteAddon for more information on using the DeleteAddon 716// API call, and error handling. 717// 718// This method is useful when you want to inject custom logic or configuration 719// into the SDK's request lifecycle. Such as custom headers, or retry logic. 720// 721// 722// // Example sending a request using the DeleteAddonRequest method. 723// req, resp := client.DeleteAddonRequest(params) 724// 725// err := req.Send() 726// if err == nil { // resp is now filled 727// fmt.Println(resp) 728// } 729// 730// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteAddon 731func (c *EKS) DeleteAddonRequest(input *DeleteAddonInput) (req *request.Request, output *DeleteAddonOutput) { 732 op := &request.Operation{ 733 Name: opDeleteAddon, 734 HTTPMethod: "DELETE", 735 HTTPPath: "/clusters/{name}/addons/{addonName}", 736 } 737 738 if input == nil { 739 input = &DeleteAddonInput{} 740 } 741 742 output = &DeleteAddonOutput{} 743 req = c.newRequest(op, input, output) 744 return 745} 746 747// DeleteAddon API operation for Amazon Elastic Kubernetes Service. 748// 749// Delete an Amazon EKS add-on. 750// 751// When you remove the add-on, it will also be deleted from the cluster. You 752// can always manually start an add-on on the cluster using the Kubernetes API. 753// 754// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 755// with awserr.Error's Code and Message methods to get detailed information about 756// the error. 757// 758// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 759// API operation DeleteAddon for usage and error information. 760// 761// Returned Error Types: 762// * InvalidParameterException 763// The specified parameter is invalid. Review the available parameters for the 764// API request. 765// 766// * InvalidRequestException 767// The request is invalid given the state of the cluster. Check the state of 768// the cluster and the associated operations. 769// 770// * ResourceNotFoundException 771// The specified resource could not be found. You can view your available clusters 772// with ListClusters. You can view your available managed node groups with ListNodegroups. 773// Amazon EKS clusters and node groups are Region-specific. 774// 775// * ClientException 776// These errors are usually caused by a client action. Actions can include using 777// an action or resource on behalf of a user that doesn't have permissions to 778// use the action or resource or specifying an identifier that is not valid. 779// 780// * ServerException 781// These errors are usually caused by a server-side issue. 782// 783// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteAddon 784func (c *EKS) DeleteAddon(input *DeleteAddonInput) (*DeleteAddonOutput, error) { 785 req, out := c.DeleteAddonRequest(input) 786 return out, req.Send() 787} 788 789// DeleteAddonWithContext is the same as DeleteAddon with the addition of 790// the ability to pass a context and additional request options. 791// 792// See DeleteAddon for details on how to use this API operation. 793// 794// The context must be non-nil and will be used for request cancellation. If 795// the context is nil a panic will occur. In the future the SDK may create 796// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 797// for more information on using Contexts. 798func (c *EKS) DeleteAddonWithContext(ctx aws.Context, input *DeleteAddonInput, opts ...request.Option) (*DeleteAddonOutput, error) { 799 req, out := c.DeleteAddonRequest(input) 800 req.SetContext(ctx) 801 req.ApplyOptions(opts...) 802 return out, req.Send() 803} 804 805const opDeleteCluster = "DeleteCluster" 806 807// DeleteClusterRequest generates a "aws/request.Request" representing the 808// client's request for the DeleteCluster operation. The "output" return 809// value will be populated with the request's response once the request completes 810// successfully. 811// 812// Use "Send" method on the returned Request to send the API call to the service. 813// the "output" return value is not valid until after Send returns without error. 814// 815// See DeleteCluster for more information on using the DeleteCluster 816// API call, and error handling. 817// 818// This method is useful when you want to inject custom logic or configuration 819// into the SDK's request lifecycle. Such as custom headers, or retry logic. 820// 821// 822// // Example sending a request using the DeleteClusterRequest method. 823// req, resp := client.DeleteClusterRequest(params) 824// 825// err := req.Send() 826// if err == nil { // resp is now filled 827// fmt.Println(resp) 828// } 829// 830// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteCluster 831func (c *EKS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { 832 op := &request.Operation{ 833 Name: opDeleteCluster, 834 HTTPMethod: "DELETE", 835 HTTPPath: "/clusters/{name}", 836 } 837 838 if input == nil { 839 input = &DeleteClusterInput{} 840 } 841 842 output = &DeleteClusterOutput{} 843 req = c.newRequest(op, input, output) 844 return 845} 846 847// DeleteCluster API operation for Amazon Elastic Kubernetes Service. 848// 849// Deletes the Amazon EKS cluster control plane. 850// 851// If you have active services in your cluster that are associated with a load 852// balancer, you must delete those services before deleting the cluster so that 853// the load balancers are deleted properly. Otherwise, you can have orphaned 854// resources in your VPC that prevent you from being able to delete the VPC. 855// For more information, see Deleting a Cluster (https://docs.aws.amazon.com/eks/latest/userguide/delete-cluster.html) 856// in the Amazon EKS User Guide. 857// 858// If you have managed node groups or Fargate profiles attached to the cluster, 859// you must delete them first. For more information, see DeleteNodegroup and 860// DeleteFargateProfile. 861// 862// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 863// with awserr.Error's Code and Message methods to get detailed information about 864// the error. 865// 866// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 867// API operation DeleteCluster for usage and error information. 868// 869// Returned Error Types: 870// * ResourceInUseException 871// The specified resource is in use. 872// 873// * ResourceNotFoundException 874// The specified resource could not be found. You can view your available clusters 875// with ListClusters. You can view your available managed node groups with ListNodegroups. 876// Amazon EKS clusters and node groups are Region-specific. 877// 878// * ClientException 879// These errors are usually caused by a client action. Actions can include using 880// an action or resource on behalf of a user that doesn't have permissions to 881// use the action or resource or specifying an identifier that is not valid. 882// 883// * ServerException 884// These errors are usually caused by a server-side issue. 885// 886// * ServiceUnavailableException 887// The service is unavailable. Back off and retry the operation. 888// 889// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteCluster 890func (c *EKS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { 891 req, out := c.DeleteClusterRequest(input) 892 return out, req.Send() 893} 894 895// DeleteClusterWithContext is the same as DeleteCluster with the addition of 896// the ability to pass a context and additional request options. 897// 898// See DeleteCluster for details on how to use this API operation. 899// 900// The context must be non-nil and will be used for request cancellation. If 901// the context is nil a panic will occur. In the future the SDK may create 902// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 903// for more information on using Contexts. 904func (c *EKS) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { 905 req, out := c.DeleteClusterRequest(input) 906 req.SetContext(ctx) 907 req.ApplyOptions(opts...) 908 return out, req.Send() 909} 910 911const opDeleteFargateProfile = "DeleteFargateProfile" 912 913// DeleteFargateProfileRequest generates a "aws/request.Request" representing the 914// client's request for the DeleteFargateProfile operation. The "output" return 915// value will be populated with the request's response once the request completes 916// successfully. 917// 918// Use "Send" method on the returned Request to send the API call to the service. 919// the "output" return value is not valid until after Send returns without error. 920// 921// See DeleteFargateProfile for more information on using the DeleteFargateProfile 922// API call, and error handling. 923// 924// This method is useful when you want to inject custom logic or configuration 925// into the SDK's request lifecycle. Such as custom headers, or retry logic. 926// 927// 928// // Example sending a request using the DeleteFargateProfileRequest method. 929// req, resp := client.DeleteFargateProfileRequest(params) 930// 931// err := req.Send() 932// if err == nil { // resp is now filled 933// fmt.Println(resp) 934// } 935// 936// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteFargateProfile 937func (c *EKS) DeleteFargateProfileRequest(input *DeleteFargateProfileInput) (req *request.Request, output *DeleteFargateProfileOutput) { 938 op := &request.Operation{ 939 Name: opDeleteFargateProfile, 940 HTTPMethod: "DELETE", 941 HTTPPath: "/clusters/{name}/fargate-profiles/{fargateProfileName}", 942 } 943 944 if input == nil { 945 input = &DeleteFargateProfileInput{} 946 } 947 948 output = &DeleteFargateProfileOutput{} 949 req = c.newRequest(op, input, output) 950 return 951} 952 953// DeleteFargateProfile API operation for Amazon Elastic Kubernetes Service. 954// 955// Deletes an Fargate profile. 956// 957// When you delete a Fargate profile, any pods running on Fargate that were 958// created with the profile are deleted. If those pods match another Fargate 959// profile, then they are scheduled on Fargate with that profile. If they no 960// longer match any Fargate profiles, then they are not scheduled on Fargate 961// and they may remain in a pending state. 962// 963// Only one Fargate profile in a cluster can be in the DELETING status at a 964// time. You must wait for a Fargate profile to finish deleting before you can 965// delete any other profiles in that cluster. 966// 967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 968// with awserr.Error's Code and Message methods to get detailed information about 969// the error. 970// 971// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 972// API operation DeleteFargateProfile for usage and error information. 973// 974// Returned Error Types: 975// * InvalidParameterException 976// The specified parameter is invalid. Review the available parameters for the 977// API request. 978// 979// * ClientException 980// These errors are usually caused by a client action. Actions can include using 981// an action or resource on behalf of a user that doesn't have permissions to 982// use the action or resource or specifying an identifier that is not valid. 983// 984// * ServerException 985// These errors are usually caused by a server-side issue. 986// 987// * ResourceNotFoundException 988// The specified resource could not be found. You can view your available clusters 989// with ListClusters. You can view your available managed node groups with ListNodegroups. 990// Amazon EKS clusters and node groups are Region-specific. 991// 992// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteFargateProfile 993func (c *EKS) DeleteFargateProfile(input *DeleteFargateProfileInput) (*DeleteFargateProfileOutput, error) { 994 req, out := c.DeleteFargateProfileRequest(input) 995 return out, req.Send() 996} 997 998// DeleteFargateProfileWithContext is the same as DeleteFargateProfile with the addition of 999// the ability to pass a context and additional request options. 1000// 1001// See DeleteFargateProfile for details on how to use this API operation. 1002// 1003// The context must be non-nil and will be used for request cancellation. If 1004// the context is nil a panic will occur. In the future the SDK may create 1005// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1006// for more information on using Contexts. 1007func (c *EKS) DeleteFargateProfileWithContext(ctx aws.Context, input *DeleteFargateProfileInput, opts ...request.Option) (*DeleteFargateProfileOutput, error) { 1008 req, out := c.DeleteFargateProfileRequest(input) 1009 req.SetContext(ctx) 1010 req.ApplyOptions(opts...) 1011 return out, req.Send() 1012} 1013 1014const opDeleteNodegroup = "DeleteNodegroup" 1015 1016// DeleteNodegroupRequest generates a "aws/request.Request" representing the 1017// client's request for the DeleteNodegroup operation. The "output" return 1018// value will be populated with the request's response once the request completes 1019// successfully. 1020// 1021// Use "Send" method on the returned Request to send the API call to the service. 1022// the "output" return value is not valid until after Send returns without error. 1023// 1024// See DeleteNodegroup for more information on using the DeleteNodegroup 1025// API call, and error handling. 1026// 1027// This method is useful when you want to inject custom logic or configuration 1028// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1029// 1030// 1031// // Example sending a request using the DeleteNodegroupRequest method. 1032// req, resp := client.DeleteNodegroupRequest(params) 1033// 1034// err := req.Send() 1035// if err == nil { // resp is now filled 1036// fmt.Println(resp) 1037// } 1038// 1039// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteNodegroup 1040func (c *EKS) DeleteNodegroupRequest(input *DeleteNodegroupInput) (req *request.Request, output *DeleteNodegroupOutput) { 1041 op := &request.Operation{ 1042 Name: opDeleteNodegroup, 1043 HTTPMethod: "DELETE", 1044 HTTPPath: "/clusters/{name}/node-groups/{nodegroupName}", 1045 } 1046 1047 if input == nil { 1048 input = &DeleteNodegroupInput{} 1049 } 1050 1051 output = &DeleteNodegroupOutput{} 1052 req = c.newRequest(op, input, output) 1053 return 1054} 1055 1056// DeleteNodegroup API operation for Amazon Elastic Kubernetes Service. 1057// 1058// Deletes an Amazon EKS node group for a cluster. 1059// 1060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1061// with awserr.Error's Code and Message methods to get detailed information about 1062// the error. 1063// 1064// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1065// API operation DeleteNodegroup for usage and error information. 1066// 1067// Returned Error Types: 1068// * ResourceInUseException 1069// The specified resource is in use. 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// * InvalidParameterException 1077// The specified parameter is invalid. Review the available parameters for the 1078// API request. 1079// 1080// * ClientException 1081// These errors are usually caused by a client action. Actions can include using 1082// an action or resource on behalf of a user that doesn't have permissions to 1083// use the action or resource or specifying an identifier that is not valid. 1084// 1085// * ServerException 1086// These errors are usually caused by a server-side issue. 1087// 1088// * ServiceUnavailableException 1089// The service is unavailable. Back off and retry the operation. 1090// 1091// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteNodegroup 1092func (c *EKS) DeleteNodegroup(input *DeleteNodegroupInput) (*DeleteNodegroupOutput, error) { 1093 req, out := c.DeleteNodegroupRequest(input) 1094 return out, req.Send() 1095} 1096 1097// DeleteNodegroupWithContext is the same as DeleteNodegroup with the addition of 1098// the ability to pass a context and additional request options. 1099// 1100// See DeleteNodegroup for details on how to use this API operation. 1101// 1102// The context must be non-nil and will be used for request cancellation. If 1103// the context is nil a panic will occur. In the future the SDK may create 1104// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1105// for more information on using Contexts. 1106func (c *EKS) DeleteNodegroupWithContext(ctx aws.Context, input *DeleteNodegroupInput, opts ...request.Option) (*DeleteNodegroupOutput, error) { 1107 req, out := c.DeleteNodegroupRequest(input) 1108 req.SetContext(ctx) 1109 req.ApplyOptions(opts...) 1110 return out, req.Send() 1111} 1112 1113const opDescribeAddon = "DescribeAddon" 1114 1115// DescribeAddonRequest generates a "aws/request.Request" representing the 1116// client's request for the DescribeAddon operation. The "output" return 1117// value will be populated with the request's response once the request completes 1118// successfully. 1119// 1120// Use "Send" method on the returned Request to send the API call to the service. 1121// the "output" return value is not valid until after Send returns without error. 1122// 1123// See DescribeAddon for more information on using the DescribeAddon 1124// API call, and error handling. 1125// 1126// This method is useful when you want to inject custom logic or configuration 1127// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1128// 1129// 1130// // Example sending a request using the DescribeAddonRequest method. 1131// req, resp := client.DescribeAddonRequest(params) 1132// 1133// err := req.Send() 1134// if err == nil { // resp is now filled 1135// fmt.Println(resp) 1136// } 1137// 1138// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddon 1139func (c *EKS) DescribeAddonRequest(input *DescribeAddonInput) (req *request.Request, output *DescribeAddonOutput) { 1140 op := &request.Operation{ 1141 Name: opDescribeAddon, 1142 HTTPMethod: "GET", 1143 HTTPPath: "/clusters/{name}/addons/{addonName}", 1144 } 1145 1146 if input == nil { 1147 input = &DescribeAddonInput{} 1148 } 1149 1150 output = &DescribeAddonOutput{} 1151 req = c.newRequest(op, input, output) 1152 return 1153} 1154 1155// DescribeAddon API operation for Amazon Elastic Kubernetes Service. 1156// 1157// Describes an Amazon EKS add-on. 1158// 1159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1160// with awserr.Error's Code and Message methods to get detailed information about 1161// the error. 1162// 1163// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1164// API operation DescribeAddon for usage and error information. 1165// 1166// Returned Error Types: 1167// * InvalidParameterException 1168// The specified parameter is invalid. Review the available parameters for the 1169// API request. 1170// 1171// * InvalidRequestException 1172// The request is invalid given the state of the cluster. Check the state of 1173// the cluster and the associated operations. 1174// 1175// * ResourceNotFoundException 1176// The specified resource could not be found. You can view your available clusters 1177// with ListClusters. You can view your available managed node groups with ListNodegroups. 1178// Amazon EKS clusters and node groups are Region-specific. 1179// 1180// * ClientException 1181// These errors are usually caused by a client action. Actions can include using 1182// an action or resource on behalf of a user that doesn't have permissions to 1183// use the action or resource or specifying an identifier that is not valid. 1184// 1185// * ServerException 1186// These errors are usually caused by a server-side issue. 1187// 1188// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddon 1189func (c *EKS) DescribeAddon(input *DescribeAddonInput) (*DescribeAddonOutput, error) { 1190 req, out := c.DescribeAddonRequest(input) 1191 return out, req.Send() 1192} 1193 1194// DescribeAddonWithContext is the same as DescribeAddon with the addition of 1195// the ability to pass a context and additional request options. 1196// 1197// See DescribeAddon for details on how to use this API operation. 1198// 1199// The context must be non-nil and will be used for request cancellation. If 1200// the context is nil a panic will occur. In the future the SDK may create 1201// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1202// for more information on using Contexts. 1203func (c *EKS) DescribeAddonWithContext(ctx aws.Context, input *DescribeAddonInput, opts ...request.Option) (*DescribeAddonOutput, error) { 1204 req, out := c.DescribeAddonRequest(input) 1205 req.SetContext(ctx) 1206 req.ApplyOptions(opts...) 1207 return out, req.Send() 1208} 1209 1210const opDescribeAddonVersions = "DescribeAddonVersions" 1211 1212// DescribeAddonVersionsRequest generates a "aws/request.Request" representing the 1213// client's request for the DescribeAddonVersions operation. The "output" return 1214// value will be populated with the request's response once the request completes 1215// successfully. 1216// 1217// Use "Send" method on the returned Request to send the API call to the service. 1218// the "output" return value is not valid until after Send returns without error. 1219// 1220// See DescribeAddonVersions for more information on using the DescribeAddonVersions 1221// API call, and error handling. 1222// 1223// This method is useful when you want to inject custom logic or configuration 1224// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1225// 1226// 1227// // Example sending a request using the DescribeAddonVersionsRequest method. 1228// req, resp := client.DescribeAddonVersionsRequest(params) 1229// 1230// err := req.Send() 1231// if err == nil { // resp is now filled 1232// fmt.Println(resp) 1233// } 1234// 1235// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonVersions 1236func (c *EKS) DescribeAddonVersionsRequest(input *DescribeAddonVersionsInput) (req *request.Request, output *DescribeAddonVersionsOutput) { 1237 op := &request.Operation{ 1238 Name: opDescribeAddonVersions, 1239 HTTPMethod: "GET", 1240 HTTPPath: "/addons/supported-versions", 1241 Paginator: &request.Paginator{ 1242 InputTokens: []string{"nextToken"}, 1243 OutputTokens: []string{"nextToken"}, 1244 LimitToken: "maxResults", 1245 TruncationToken: "", 1246 }, 1247 } 1248 1249 if input == nil { 1250 input = &DescribeAddonVersionsInput{} 1251 } 1252 1253 output = &DescribeAddonVersionsOutput{} 1254 req = c.newRequest(op, input, output) 1255 return 1256} 1257 1258// DescribeAddonVersions API operation for Amazon Elastic Kubernetes Service. 1259// 1260// Describes the Kubernetes versions that the add-on can be used with. 1261// 1262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1263// with awserr.Error's Code and Message methods to get detailed information about 1264// the error. 1265// 1266// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1267// API operation DescribeAddonVersions for usage and error information. 1268// 1269// Returned Error Types: 1270// * ServerException 1271// These errors are usually caused by a server-side issue. 1272// 1273// * ResourceNotFoundException 1274// The specified resource could not be found. You can view your available clusters 1275// with ListClusters. You can view your available managed node groups with ListNodegroups. 1276// Amazon EKS clusters and node groups are Region-specific. 1277// 1278// * InvalidParameterException 1279// The specified parameter is invalid. Review the available parameters for the 1280// API request. 1281// 1282// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeAddonVersions 1283func (c *EKS) DescribeAddonVersions(input *DescribeAddonVersionsInput) (*DescribeAddonVersionsOutput, error) { 1284 req, out := c.DescribeAddonVersionsRequest(input) 1285 return out, req.Send() 1286} 1287 1288// DescribeAddonVersionsWithContext is the same as DescribeAddonVersions with the addition of 1289// the ability to pass a context and additional request options. 1290// 1291// See DescribeAddonVersions for details on how to use this API operation. 1292// 1293// The context must be non-nil and will be used for request cancellation. If 1294// the context is nil a panic will occur. In the future the SDK may create 1295// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1296// for more information on using Contexts. 1297func (c *EKS) DescribeAddonVersionsWithContext(ctx aws.Context, input *DescribeAddonVersionsInput, opts ...request.Option) (*DescribeAddonVersionsOutput, error) { 1298 req, out := c.DescribeAddonVersionsRequest(input) 1299 req.SetContext(ctx) 1300 req.ApplyOptions(opts...) 1301 return out, req.Send() 1302} 1303 1304// DescribeAddonVersionsPages iterates over the pages of a DescribeAddonVersions operation, 1305// calling the "fn" function with the response data for each page. To stop 1306// iterating, return false from the fn function. 1307// 1308// See DescribeAddonVersions method for more information on how to use this operation. 1309// 1310// Note: This operation can generate multiple requests to a service. 1311// 1312// // Example iterating over at most 3 pages of a DescribeAddonVersions operation. 1313// pageNum := 0 1314// err := client.DescribeAddonVersionsPages(params, 1315// func(page *eks.DescribeAddonVersionsOutput, lastPage bool) bool { 1316// pageNum++ 1317// fmt.Println(page) 1318// return pageNum <= 3 1319// }) 1320// 1321func (c *EKS) DescribeAddonVersionsPages(input *DescribeAddonVersionsInput, fn func(*DescribeAddonVersionsOutput, bool) bool) error { 1322 return c.DescribeAddonVersionsPagesWithContext(aws.BackgroundContext(), input, fn) 1323} 1324 1325// DescribeAddonVersionsPagesWithContext same as DescribeAddonVersionsPages except 1326// it takes a Context and allows setting request options on the pages. 1327// 1328// The context must be non-nil and will be used for request cancellation. If 1329// the context is nil a panic will occur. In the future the SDK may create 1330// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1331// for more information on using Contexts. 1332func (c *EKS) DescribeAddonVersionsPagesWithContext(ctx aws.Context, input *DescribeAddonVersionsInput, fn func(*DescribeAddonVersionsOutput, bool) bool, opts ...request.Option) error { 1333 p := request.Pagination{ 1334 NewRequest: func() (*request.Request, error) { 1335 var inCpy *DescribeAddonVersionsInput 1336 if input != nil { 1337 tmp := *input 1338 inCpy = &tmp 1339 } 1340 req, _ := c.DescribeAddonVersionsRequest(inCpy) 1341 req.SetContext(ctx) 1342 req.ApplyOptions(opts...) 1343 return req, nil 1344 }, 1345 } 1346 1347 for p.Next() { 1348 if !fn(p.Page().(*DescribeAddonVersionsOutput), !p.HasNextPage()) { 1349 break 1350 } 1351 } 1352 1353 return p.Err() 1354} 1355 1356const opDescribeCluster = "DescribeCluster" 1357 1358// DescribeClusterRequest generates a "aws/request.Request" representing the 1359// client's request for the DescribeCluster operation. The "output" return 1360// value will be populated with the request's response once the request completes 1361// successfully. 1362// 1363// Use "Send" method on the returned Request to send the API call to the service. 1364// the "output" return value is not valid until after Send returns without error. 1365// 1366// See DescribeCluster for more information on using the DescribeCluster 1367// API call, and error handling. 1368// 1369// This method is useful when you want to inject custom logic or configuration 1370// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1371// 1372// 1373// // Example sending a request using the DescribeClusterRequest method. 1374// req, resp := client.DescribeClusterRequest(params) 1375// 1376// err := req.Send() 1377// if err == nil { // resp is now filled 1378// fmt.Println(resp) 1379// } 1380// 1381// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeCluster 1382func (c *EKS) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) { 1383 op := &request.Operation{ 1384 Name: opDescribeCluster, 1385 HTTPMethod: "GET", 1386 HTTPPath: "/clusters/{name}", 1387 } 1388 1389 if input == nil { 1390 input = &DescribeClusterInput{} 1391 } 1392 1393 output = &DescribeClusterOutput{} 1394 req = c.newRequest(op, input, output) 1395 return 1396} 1397 1398// DescribeCluster API operation for Amazon Elastic Kubernetes Service. 1399// 1400// Returns descriptive information about an Amazon EKS cluster. 1401// 1402// The API server endpoint and certificate authority data returned by this operation 1403// are required for kubelet and kubectl to communicate with your Kubernetes 1404// API server. For more information, see Create a kubeconfig for Amazon EKS 1405// (https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html). 1406// 1407// The API server endpoint and certificate authority data aren't available until 1408// the cluster reaches the ACTIVE state. 1409// 1410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1411// with awserr.Error's Code and Message methods to get detailed information about 1412// the error. 1413// 1414// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1415// API operation DescribeCluster for usage and error information. 1416// 1417// Returned Error Types: 1418// * ResourceNotFoundException 1419// The specified resource could not be found. You can view your available clusters 1420// with ListClusters. You can view your available managed node groups with ListNodegroups. 1421// Amazon EKS clusters and node groups are Region-specific. 1422// 1423// * ClientException 1424// These errors are usually caused by a client action. Actions can include using 1425// an action or resource on behalf of a user that doesn't have permissions to 1426// use the action or resource or specifying an identifier that is not valid. 1427// 1428// * ServerException 1429// These errors are usually caused by a server-side issue. 1430// 1431// * ServiceUnavailableException 1432// The service is unavailable. Back off and retry the operation. 1433// 1434// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeCluster 1435func (c *EKS) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) { 1436 req, out := c.DescribeClusterRequest(input) 1437 return out, req.Send() 1438} 1439 1440// DescribeClusterWithContext is the same as DescribeCluster with the addition of 1441// the ability to pass a context and additional request options. 1442// 1443// See DescribeCluster for details on how to use this API operation. 1444// 1445// The context must be non-nil and will be used for request cancellation. If 1446// the context is nil a panic will occur. In the future the SDK may create 1447// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1448// for more information on using Contexts. 1449func (c *EKS) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) { 1450 req, out := c.DescribeClusterRequest(input) 1451 req.SetContext(ctx) 1452 req.ApplyOptions(opts...) 1453 return out, req.Send() 1454} 1455 1456const opDescribeFargateProfile = "DescribeFargateProfile" 1457 1458// DescribeFargateProfileRequest generates a "aws/request.Request" representing the 1459// client's request for the DescribeFargateProfile operation. The "output" return 1460// value will be populated with the request's response once the request completes 1461// successfully. 1462// 1463// Use "Send" method on the returned Request to send the API call to the service. 1464// the "output" return value is not valid until after Send returns without error. 1465// 1466// See DescribeFargateProfile for more information on using the DescribeFargateProfile 1467// API call, and error handling. 1468// 1469// This method is useful when you want to inject custom logic or configuration 1470// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1471// 1472// 1473// // Example sending a request using the DescribeFargateProfileRequest method. 1474// req, resp := client.DescribeFargateProfileRequest(params) 1475// 1476// err := req.Send() 1477// if err == nil { // resp is now filled 1478// fmt.Println(resp) 1479// } 1480// 1481// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeFargateProfile 1482func (c *EKS) DescribeFargateProfileRequest(input *DescribeFargateProfileInput) (req *request.Request, output *DescribeFargateProfileOutput) { 1483 op := &request.Operation{ 1484 Name: opDescribeFargateProfile, 1485 HTTPMethod: "GET", 1486 HTTPPath: "/clusters/{name}/fargate-profiles/{fargateProfileName}", 1487 } 1488 1489 if input == nil { 1490 input = &DescribeFargateProfileInput{} 1491 } 1492 1493 output = &DescribeFargateProfileOutput{} 1494 req = c.newRequest(op, input, output) 1495 return 1496} 1497 1498// DescribeFargateProfile API operation for Amazon Elastic Kubernetes Service. 1499// 1500// Returns descriptive information about an Fargate profile. 1501// 1502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1503// with awserr.Error's Code and Message methods to get detailed information about 1504// the error. 1505// 1506// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1507// API operation DescribeFargateProfile for usage and error information. 1508// 1509// Returned Error Types: 1510// * InvalidParameterException 1511// The specified parameter is invalid. Review the available parameters for the 1512// API request. 1513// 1514// * ClientException 1515// These errors are usually caused by a client action. Actions can include using 1516// an action or resource on behalf of a user that doesn't have permissions to 1517// use the action or resource or specifying an identifier that is not valid. 1518// 1519// * ServerException 1520// These errors are usually caused by a server-side issue. 1521// 1522// * ResourceNotFoundException 1523// The specified resource could not be found. You can view your available clusters 1524// with ListClusters. You can view your available managed node groups with ListNodegroups. 1525// Amazon EKS clusters and node groups are Region-specific. 1526// 1527// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeFargateProfile 1528func (c *EKS) DescribeFargateProfile(input *DescribeFargateProfileInput) (*DescribeFargateProfileOutput, error) { 1529 req, out := c.DescribeFargateProfileRequest(input) 1530 return out, req.Send() 1531} 1532 1533// DescribeFargateProfileWithContext is the same as DescribeFargateProfile with the addition of 1534// the ability to pass a context and additional request options. 1535// 1536// See DescribeFargateProfile for details on how to use this API operation. 1537// 1538// The context must be non-nil and will be used for request cancellation. If 1539// the context is nil a panic will occur. In the future the SDK may create 1540// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1541// for more information on using Contexts. 1542func (c *EKS) DescribeFargateProfileWithContext(ctx aws.Context, input *DescribeFargateProfileInput, opts ...request.Option) (*DescribeFargateProfileOutput, error) { 1543 req, out := c.DescribeFargateProfileRequest(input) 1544 req.SetContext(ctx) 1545 req.ApplyOptions(opts...) 1546 return out, req.Send() 1547} 1548 1549const opDescribeIdentityProviderConfig = "DescribeIdentityProviderConfig" 1550 1551// DescribeIdentityProviderConfigRequest generates a "aws/request.Request" representing the 1552// client's request for the DescribeIdentityProviderConfig operation. The "output" return 1553// value will be populated with the request's response once the request completes 1554// successfully. 1555// 1556// Use "Send" method on the returned Request to send the API call to the service. 1557// the "output" return value is not valid until after Send returns without error. 1558// 1559// See DescribeIdentityProviderConfig for more information on using the DescribeIdentityProviderConfig 1560// API call, and error handling. 1561// 1562// This method is useful when you want to inject custom logic or configuration 1563// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1564// 1565// 1566// // Example sending a request using the DescribeIdentityProviderConfigRequest method. 1567// req, resp := client.DescribeIdentityProviderConfigRequest(params) 1568// 1569// err := req.Send() 1570// if err == nil { // resp is now filled 1571// fmt.Println(resp) 1572// } 1573// 1574// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeIdentityProviderConfig 1575func (c *EKS) DescribeIdentityProviderConfigRequest(input *DescribeIdentityProviderConfigInput) (req *request.Request, output *DescribeIdentityProviderConfigOutput) { 1576 op := &request.Operation{ 1577 Name: opDescribeIdentityProviderConfig, 1578 HTTPMethod: "POST", 1579 HTTPPath: "/clusters/{name}/identity-provider-configs/describe", 1580 } 1581 1582 if input == nil { 1583 input = &DescribeIdentityProviderConfigInput{} 1584 } 1585 1586 output = &DescribeIdentityProviderConfigOutput{} 1587 req = c.newRequest(op, input, output) 1588 return 1589} 1590 1591// DescribeIdentityProviderConfig API operation for Amazon Elastic Kubernetes Service. 1592// 1593// Returns descriptive information about an identity provider configuration. 1594// 1595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1596// with awserr.Error's Code and Message methods to get detailed information about 1597// the error. 1598// 1599// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1600// API operation DescribeIdentityProviderConfig for usage and error information. 1601// 1602// Returned Error Types: 1603// * InvalidParameterException 1604// The specified parameter is invalid. Review the available parameters for the 1605// API request. 1606// 1607// * ResourceNotFoundException 1608// The specified resource could not be found. You can view your available clusters 1609// with ListClusters. You can view your available managed node groups with ListNodegroups. 1610// Amazon EKS clusters and node groups are Region-specific. 1611// 1612// * ClientException 1613// These errors are usually caused by a client action. Actions can include using 1614// an action or resource on behalf of a user that doesn't have permissions to 1615// use the action or resource or specifying an identifier that is not valid. 1616// 1617// * ServerException 1618// These errors are usually caused by a server-side issue. 1619// 1620// * ServiceUnavailableException 1621// The service is unavailable. Back off and retry the operation. 1622// 1623// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeIdentityProviderConfig 1624func (c *EKS) DescribeIdentityProviderConfig(input *DescribeIdentityProviderConfigInput) (*DescribeIdentityProviderConfigOutput, error) { 1625 req, out := c.DescribeIdentityProviderConfigRequest(input) 1626 return out, req.Send() 1627} 1628 1629// DescribeIdentityProviderConfigWithContext is the same as DescribeIdentityProviderConfig with the addition of 1630// the ability to pass a context and additional request options. 1631// 1632// See DescribeIdentityProviderConfig for details on how to use this API operation. 1633// 1634// The context must be non-nil and will be used for request cancellation. If 1635// the context is nil a panic will occur. In the future the SDK may create 1636// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1637// for more information on using Contexts. 1638func (c *EKS) DescribeIdentityProviderConfigWithContext(ctx aws.Context, input *DescribeIdentityProviderConfigInput, opts ...request.Option) (*DescribeIdentityProviderConfigOutput, error) { 1639 req, out := c.DescribeIdentityProviderConfigRequest(input) 1640 req.SetContext(ctx) 1641 req.ApplyOptions(opts...) 1642 return out, req.Send() 1643} 1644 1645const opDescribeNodegroup = "DescribeNodegroup" 1646 1647// DescribeNodegroupRequest generates a "aws/request.Request" representing the 1648// client's request for the DescribeNodegroup operation. The "output" return 1649// value will be populated with the request's response once the request completes 1650// successfully. 1651// 1652// Use "Send" method on the returned Request to send the API call to the service. 1653// the "output" return value is not valid until after Send returns without error. 1654// 1655// See DescribeNodegroup for more information on using the DescribeNodegroup 1656// API call, and error handling. 1657// 1658// This method is useful when you want to inject custom logic or configuration 1659// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1660// 1661// 1662// // Example sending a request using the DescribeNodegroupRequest method. 1663// req, resp := client.DescribeNodegroupRequest(params) 1664// 1665// err := req.Send() 1666// if err == nil { // resp is now filled 1667// fmt.Println(resp) 1668// } 1669// 1670// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeNodegroup 1671func (c *EKS) DescribeNodegroupRequest(input *DescribeNodegroupInput) (req *request.Request, output *DescribeNodegroupOutput) { 1672 op := &request.Operation{ 1673 Name: opDescribeNodegroup, 1674 HTTPMethod: "GET", 1675 HTTPPath: "/clusters/{name}/node-groups/{nodegroupName}", 1676 } 1677 1678 if input == nil { 1679 input = &DescribeNodegroupInput{} 1680 } 1681 1682 output = &DescribeNodegroupOutput{} 1683 req = c.newRequest(op, input, output) 1684 return 1685} 1686 1687// DescribeNodegroup API operation for Amazon Elastic Kubernetes Service. 1688// 1689// Returns descriptive information about an Amazon EKS node group. 1690// 1691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1692// with awserr.Error's Code and Message methods to get detailed information about 1693// the error. 1694// 1695// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1696// API operation DescribeNodegroup for usage and error information. 1697// 1698// Returned Error Types: 1699// * InvalidParameterException 1700// The specified parameter is invalid. Review the available parameters for the 1701// API request. 1702// 1703// * ResourceNotFoundException 1704// The specified resource could not be found. You can view your available clusters 1705// with ListClusters. You can view your available managed node groups with ListNodegroups. 1706// Amazon EKS clusters and node groups are Region-specific. 1707// 1708// * ClientException 1709// These errors are usually caused by a client action. Actions can include using 1710// an action or resource on behalf of a user that doesn't have permissions to 1711// use the action or resource or specifying an identifier that is not valid. 1712// 1713// * ServerException 1714// These errors are usually caused by a server-side issue. 1715// 1716// * ServiceUnavailableException 1717// The service is unavailable. Back off and retry the operation. 1718// 1719// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeNodegroup 1720func (c *EKS) DescribeNodegroup(input *DescribeNodegroupInput) (*DescribeNodegroupOutput, error) { 1721 req, out := c.DescribeNodegroupRequest(input) 1722 return out, req.Send() 1723} 1724 1725// DescribeNodegroupWithContext is the same as DescribeNodegroup with the addition of 1726// the ability to pass a context and additional request options. 1727// 1728// See DescribeNodegroup for details on how to use this API operation. 1729// 1730// The context must be non-nil and will be used for request cancellation. If 1731// the context is nil a panic will occur. In the future the SDK may create 1732// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1733// for more information on using Contexts. 1734func (c *EKS) DescribeNodegroupWithContext(ctx aws.Context, input *DescribeNodegroupInput, opts ...request.Option) (*DescribeNodegroupOutput, error) { 1735 req, out := c.DescribeNodegroupRequest(input) 1736 req.SetContext(ctx) 1737 req.ApplyOptions(opts...) 1738 return out, req.Send() 1739} 1740 1741const opDescribeUpdate = "DescribeUpdate" 1742 1743// DescribeUpdateRequest generates a "aws/request.Request" representing the 1744// client's request for the DescribeUpdate operation. The "output" return 1745// value will be populated with the request's response once the request completes 1746// successfully. 1747// 1748// Use "Send" method on the returned Request to send the API call to the service. 1749// the "output" return value is not valid until after Send returns without error. 1750// 1751// See DescribeUpdate for more information on using the DescribeUpdate 1752// API call, and error handling. 1753// 1754// This method is useful when you want to inject custom logic or configuration 1755// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1756// 1757// 1758// // Example sending a request using the DescribeUpdateRequest method. 1759// req, resp := client.DescribeUpdateRequest(params) 1760// 1761// err := req.Send() 1762// if err == nil { // resp is now filled 1763// fmt.Println(resp) 1764// } 1765// 1766// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdate 1767func (c *EKS) DescribeUpdateRequest(input *DescribeUpdateInput) (req *request.Request, output *DescribeUpdateOutput) { 1768 op := &request.Operation{ 1769 Name: opDescribeUpdate, 1770 HTTPMethod: "GET", 1771 HTTPPath: "/clusters/{name}/updates/{updateId}", 1772 } 1773 1774 if input == nil { 1775 input = &DescribeUpdateInput{} 1776 } 1777 1778 output = &DescribeUpdateOutput{} 1779 req = c.newRequest(op, input, output) 1780 return 1781} 1782 1783// DescribeUpdate API operation for Amazon Elastic Kubernetes Service. 1784// 1785// Returns descriptive information about an update against your Amazon EKS cluster 1786// or associated managed node group. 1787// 1788// When the status of the update is Succeeded, the update is complete. If an 1789// update fails, the status is Failed, and an error detail explains the reason 1790// for the failure. 1791// 1792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1793// with awserr.Error's Code and Message methods to get detailed information about 1794// the error. 1795// 1796// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1797// API operation DescribeUpdate for usage and error information. 1798// 1799// Returned Error Types: 1800// * InvalidParameterException 1801// The specified parameter is invalid. Review the available parameters for the 1802// API request. 1803// 1804// * ClientException 1805// These errors are usually caused by a client action. Actions can include using 1806// an action or resource on behalf of a user that doesn't have permissions to 1807// use the action or resource or specifying an identifier that is not valid. 1808// 1809// * ServerException 1810// These errors are usually caused by a server-side issue. 1811// 1812// * ResourceNotFoundException 1813// The specified resource could not be found. You can view your available clusters 1814// with ListClusters. You can view your available managed node groups with ListNodegroups. 1815// Amazon EKS clusters and node groups are Region-specific. 1816// 1817// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdate 1818func (c *EKS) DescribeUpdate(input *DescribeUpdateInput) (*DescribeUpdateOutput, error) { 1819 req, out := c.DescribeUpdateRequest(input) 1820 return out, req.Send() 1821} 1822 1823// DescribeUpdateWithContext is the same as DescribeUpdate with the addition of 1824// the ability to pass a context and additional request options. 1825// 1826// See DescribeUpdate for details on how to use this API operation. 1827// 1828// The context must be non-nil and will be used for request cancellation. If 1829// the context is nil a panic will occur. In the future the SDK may create 1830// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1831// for more information on using Contexts. 1832func (c *EKS) DescribeUpdateWithContext(ctx aws.Context, input *DescribeUpdateInput, opts ...request.Option) (*DescribeUpdateOutput, error) { 1833 req, out := c.DescribeUpdateRequest(input) 1834 req.SetContext(ctx) 1835 req.ApplyOptions(opts...) 1836 return out, req.Send() 1837} 1838 1839const opDisassociateIdentityProviderConfig = "DisassociateIdentityProviderConfig" 1840 1841// DisassociateIdentityProviderConfigRequest generates a "aws/request.Request" representing the 1842// client's request for the DisassociateIdentityProviderConfig operation. The "output" return 1843// value will be populated with the request's response once the request completes 1844// successfully. 1845// 1846// Use "Send" method on the returned Request to send the API call to the service. 1847// the "output" return value is not valid until after Send returns without error. 1848// 1849// See DisassociateIdentityProviderConfig for more information on using the DisassociateIdentityProviderConfig 1850// API call, and error handling. 1851// 1852// This method is useful when you want to inject custom logic or configuration 1853// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1854// 1855// 1856// // Example sending a request using the DisassociateIdentityProviderConfigRequest method. 1857// req, resp := client.DisassociateIdentityProviderConfigRequest(params) 1858// 1859// err := req.Send() 1860// if err == nil { // resp is now filled 1861// fmt.Println(resp) 1862// } 1863// 1864// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DisassociateIdentityProviderConfig 1865func (c *EKS) DisassociateIdentityProviderConfigRequest(input *DisassociateIdentityProviderConfigInput) (req *request.Request, output *DisassociateIdentityProviderConfigOutput) { 1866 op := &request.Operation{ 1867 Name: opDisassociateIdentityProviderConfig, 1868 HTTPMethod: "POST", 1869 HTTPPath: "/clusters/{name}/identity-provider-configs/disassociate", 1870 } 1871 1872 if input == nil { 1873 input = &DisassociateIdentityProviderConfigInput{} 1874 } 1875 1876 output = &DisassociateIdentityProviderConfigOutput{} 1877 req = c.newRequest(op, input, output) 1878 return 1879} 1880 1881// DisassociateIdentityProviderConfig API operation for Amazon Elastic Kubernetes Service. 1882// 1883// Disassociates an identity provider configuration from a cluster. If you disassociate 1884// an identity provider from your cluster, users included in the provider can 1885// no longer access the cluster. However, you can still access the cluster with 1886// Amazon Web Services IAM users. 1887// 1888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1889// with awserr.Error's Code and Message methods to get detailed information about 1890// the error. 1891// 1892// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1893// API operation DisassociateIdentityProviderConfig for usage and error information. 1894// 1895// Returned Error Types: 1896// * InvalidParameterException 1897// The specified parameter is invalid. Review the available parameters for the 1898// API request. 1899// 1900// * ClientException 1901// These errors are usually caused by a client action. Actions can include using 1902// an action or resource on behalf of a user that doesn't have permissions to 1903// use the action or resource or specifying an identifier that is not valid. 1904// 1905// * ServerException 1906// These errors are usually caused by a server-side issue. 1907// 1908// * ResourceInUseException 1909// The specified resource is in use. 1910// 1911// * ResourceNotFoundException 1912// The specified resource could not be found. You can view your available clusters 1913// with ListClusters. You can view your available managed node groups with ListNodegroups. 1914// Amazon EKS clusters and node groups are Region-specific. 1915// 1916// * InvalidRequestException 1917// The request is invalid given the state of the cluster. Check the state of 1918// the cluster and the associated operations. 1919// 1920// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DisassociateIdentityProviderConfig 1921func (c *EKS) DisassociateIdentityProviderConfig(input *DisassociateIdentityProviderConfigInput) (*DisassociateIdentityProviderConfigOutput, error) { 1922 req, out := c.DisassociateIdentityProviderConfigRequest(input) 1923 return out, req.Send() 1924} 1925 1926// DisassociateIdentityProviderConfigWithContext is the same as DisassociateIdentityProviderConfig with the addition of 1927// the ability to pass a context and additional request options. 1928// 1929// See DisassociateIdentityProviderConfig for details on how to use this API operation. 1930// 1931// The context must be non-nil and will be used for request cancellation. If 1932// the context is nil a panic will occur. In the future the SDK may create 1933// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1934// for more information on using Contexts. 1935func (c *EKS) DisassociateIdentityProviderConfigWithContext(ctx aws.Context, input *DisassociateIdentityProviderConfigInput, opts ...request.Option) (*DisassociateIdentityProviderConfigOutput, error) { 1936 req, out := c.DisassociateIdentityProviderConfigRequest(input) 1937 req.SetContext(ctx) 1938 req.ApplyOptions(opts...) 1939 return out, req.Send() 1940} 1941 1942const opListAddons = "ListAddons" 1943 1944// ListAddonsRequest generates a "aws/request.Request" representing the 1945// client's request for the ListAddons operation. The "output" return 1946// value will be populated with the request's response once the request completes 1947// successfully. 1948// 1949// Use "Send" method on the returned Request to send the API call to the service. 1950// the "output" return value is not valid until after Send returns without error. 1951// 1952// See ListAddons for more information on using the ListAddons 1953// API call, and error handling. 1954// 1955// This method is useful when you want to inject custom logic or configuration 1956// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1957// 1958// 1959// // Example sending a request using the ListAddonsRequest method. 1960// req, resp := client.ListAddonsRequest(params) 1961// 1962// err := req.Send() 1963// if err == nil { // resp is now filled 1964// fmt.Println(resp) 1965// } 1966// 1967// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListAddons 1968func (c *EKS) ListAddonsRequest(input *ListAddonsInput) (req *request.Request, output *ListAddonsOutput) { 1969 op := &request.Operation{ 1970 Name: opListAddons, 1971 HTTPMethod: "GET", 1972 HTTPPath: "/clusters/{name}/addons", 1973 Paginator: &request.Paginator{ 1974 InputTokens: []string{"nextToken"}, 1975 OutputTokens: []string{"nextToken"}, 1976 LimitToken: "maxResults", 1977 TruncationToken: "", 1978 }, 1979 } 1980 1981 if input == nil { 1982 input = &ListAddonsInput{} 1983 } 1984 1985 output = &ListAddonsOutput{} 1986 req = c.newRequest(op, input, output) 1987 return 1988} 1989 1990// ListAddons API operation for Amazon Elastic Kubernetes Service. 1991// 1992// Lists the available add-ons. 1993// 1994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1995// with awserr.Error's Code and Message methods to get detailed information about 1996// the error. 1997// 1998// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 1999// API operation ListAddons for usage and error information. 2000// 2001// Returned Error Types: 2002// * InvalidParameterException 2003// The specified parameter is invalid. Review the available parameters for the 2004// API request. 2005// 2006// * InvalidRequestException 2007// The request is invalid given the state of the cluster. Check the state of 2008// the cluster and the associated operations. 2009// 2010// * ClientException 2011// These errors are usually caused by a client action. Actions can include using 2012// an action or resource on behalf of a user that doesn't have permissions to 2013// use the action or resource or specifying an identifier that is not valid. 2014// 2015// * ResourceNotFoundException 2016// The specified resource could not be found. You can view your available clusters 2017// with ListClusters. You can view your available managed node groups with ListNodegroups. 2018// Amazon EKS clusters and node groups are Region-specific. 2019// 2020// * ServerException 2021// These errors are usually caused by a server-side issue. 2022// 2023// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListAddons 2024func (c *EKS) ListAddons(input *ListAddonsInput) (*ListAddonsOutput, error) { 2025 req, out := c.ListAddonsRequest(input) 2026 return out, req.Send() 2027} 2028 2029// ListAddonsWithContext is the same as ListAddons with the addition of 2030// the ability to pass a context and additional request options. 2031// 2032// See ListAddons for details on how to use this API operation. 2033// 2034// The context must be non-nil and will be used for request cancellation. If 2035// the context is nil a panic will occur. In the future the SDK may create 2036// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2037// for more information on using Contexts. 2038func (c *EKS) ListAddonsWithContext(ctx aws.Context, input *ListAddonsInput, opts ...request.Option) (*ListAddonsOutput, error) { 2039 req, out := c.ListAddonsRequest(input) 2040 req.SetContext(ctx) 2041 req.ApplyOptions(opts...) 2042 return out, req.Send() 2043} 2044 2045// ListAddonsPages iterates over the pages of a ListAddons operation, 2046// calling the "fn" function with the response data for each page. To stop 2047// iterating, return false from the fn function. 2048// 2049// See ListAddons method for more information on how to use this operation. 2050// 2051// Note: This operation can generate multiple requests to a service. 2052// 2053// // Example iterating over at most 3 pages of a ListAddons operation. 2054// pageNum := 0 2055// err := client.ListAddonsPages(params, 2056// func(page *eks.ListAddonsOutput, lastPage bool) bool { 2057// pageNum++ 2058// fmt.Println(page) 2059// return pageNum <= 3 2060// }) 2061// 2062func (c *EKS) ListAddonsPages(input *ListAddonsInput, fn func(*ListAddonsOutput, bool) bool) error { 2063 return c.ListAddonsPagesWithContext(aws.BackgroundContext(), input, fn) 2064} 2065 2066// ListAddonsPagesWithContext same as ListAddonsPages except 2067// it takes a Context and allows setting request options on the pages. 2068// 2069// The context must be non-nil and will be used for request cancellation. If 2070// the context is nil a panic will occur. In the future the SDK may create 2071// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2072// for more information on using Contexts. 2073func (c *EKS) ListAddonsPagesWithContext(ctx aws.Context, input *ListAddonsInput, fn func(*ListAddonsOutput, bool) bool, opts ...request.Option) error { 2074 p := request.Pagination{ 2075 NewRequest: func() (*request.Request, error) { 2076 var inCpy *ListAddonsInput 2077 if input != nil { 2078 tmp := *input 2079 inCpy = &tmp 2080 } 2081 req, _ := c.ListAddonsRequest(inCpy) 2082 req.SetContext(ctx) 2083 req.ApplyOptions(opts...) 2084 return req, nil 2085 }, 2086 } 2087 2088 for p.Next() { 2089 if !fn(p.Page().(*ListAddonsOutput), !p.HasNextPage()) { 2090 break 2091 } 2092 } 2093 2094 return p.Err() 2095} 2096 2097const opListClusters = "ListClusters" 2098 2099// ListClustersRequest generates a "aws/request.Request" representing the 2100// client's request for the ListClusters operation. The "output" return 2101// value will be populated with the request's response once the request completes 2102// successfully. 2103// 2104// Use "Send" method on the returned Request to send the API call to the service. 2105// the "output" return value is not valid until after Send returns without error. 2106// 2107// See ListClusters for more information on using the ListClusters 2108// API call, and error handling. 2109// 2110// This method is useful when you want to inject custom logic or configuration 2111// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2112// 2113// 2114// // Example sending a request using the ListClustersRequest method. 2115// req, resp := client.ListClustersRequest(params) 2116// 2117// err := req.Send() 2118// if err == nil { // resp is now filled 2119// fmt.Println(resp) 2120// } 2121// 2122// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListClusters 2123func (c *EKS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 2124 op := &request.Operation{ 2125 Name: opListClusters, 2126 HTTPMethod: "GET", 2127 HTTPPath: "/clusters", 2128 Paginator: &request.Paginator{ 2129 InputTokens: []string{"nextToken"}, 2130 OutputTokens: []string{"nextToken"}, 2131 LimitToken: "maxResults", 2132 TruncationToken: "", 2133 }, 2134 } 2135 2136 if input == nil { 2137 input = &ListClustersInput{} 2138 } 2139 2140 output = &ListClustersOutput{} 2141 req = c.newRequest(op, input, output) 2142 return 2143} 2144 2145// ListClusters API operation for Amazon Elastic Kubernetes Service. 2146// 2147// Lists the Amazon EKS clusters in your Amazon Web Services account in the 2148// specified Region. 2149// 2150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2151// with awserr.Error's Code and Message methods to get detailed information about 2152// the error. 2153// 2154// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 2155// API operation ListClusters for usage and error information. 2156// 2157// Returned Error Types: 2158// * InvalidParameterException 2159// The specified parameter is invalid. Review the available parameters for the 2160// API request. 2161// 2162// * ClientException 2163// These errors are usually caused by a client action. Actions can include using 2164// an action or resource on behalf of a user that doesn't have permissions to 2165// use the action or resource or specifying an identifier that is not valid. 2166// 2167// * ServerException 2168// These errors are usually caused by a server-side issue. 2169// 2170// * ServiceUnavailableException 2171// The service is unavailable. Back off and retry the operation. 2172// 2173// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListClusters 2174func (c *EKS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 2175 req, out := c.ListClustersRequest(input) 2176 return out, req.Send() 2177} 2178 2179// ListClustersWithContext is the same as ListClusters with the addition of 2180// the ability to pass a context and additional request options. 2181// 2182// See ListClusters for details on how to use this API operation. 2183// 2184// The context must be non-nil and will be used for request cancellation. If 2185// the context is nil a panic will occur. In the future the SDK may create 2186// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2187// for more information on using Contexts. 2188func (c *EKS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 2189 req, out := c.ListClustersRequest(input) 2190 req.SetContext(ctx) 2191 req.ApplyOptions(opts...) 2192 return out, req.Send() 2193} 2194 2195// ListClustersPages iterates over the pages of a ListClusters operation, 2196// calling the "fn" function with the response data for each page. To stop 2197// iterating, return false from the fn function. 2198// 2199// See ListClusters method for more information on how to use this operation. 2200// 2201// Note: This operation can generate multiple requests to a service. 2202// 2203// // Example iterating over at most 3 pages of a ListClusters operation. 2204// pageNum := 0 2205// err := client.ListClustersPages(params, 2206// func(page *eks.ListClustersOutput, lastPage bool) bool { 2207// pageNum++ 2208// fmt.Println(page) 2209// return pageNum <= 3 2210// }) 2211// 2212func (c *EKS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 2213 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2214} 2215 2216// ListClustersPagesWithContext same as ListClustersPages except 2217// it takes a Context and allows setting request options on the pages. 2218// 2219// The context must be non-nil and will be used for request cancellation. If 2220// the context is nil a panic will occur. In the future the SDK may create 2221// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2222// for more information on using Contexts. 2223func (c *EKS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 2224 p := request.Pagination{ 2225 NewRequest: func() (*request.Request, error) { 2226 var inCpy *ListClustersInput 2227 if input != nil { 2228 tmp := *input 2229 inCpy = &tmp 2230 } 2231 req, _ := c.ListClustersRequest(inCpy) 2232 req.SetContext(ctx) 2233 req.ApplyOptions(opts...) 2234 return req, nil 2235 }, 2236 } 2237 2238 for p.Next() { 2239 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 2240 break 2241 } 2242 } 2243 2244 return p.Err() 2245} 2246 2247const opListFargateProfiles = "ListFargateProfiles" 2248 2249// ListFargateProfilesRequest generates a "aws/request.Request" representing the 2250// client's request for the ListFargateProfiles operation. The "output" return 2251// value will be populated with the request's response once the request completes 2252// successfully. 2253// 2254// Use "Send" method on the returned Request to send the API call to the service. 2255// the "output" return value is not valid until after Send returns without error. 2256// 2257// See ListFargateProfiles for more information on using the ListFargateProfiles 2258// API call, and error handling. 2259// 2260// This method is useful when you want to inject custom logic or configuration 2261// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2262// 2263// 2264// // Example sending a request using the ListFargateProfilesRequest method. 2265// req, resp := client.ListFargateProfilesRequest(params) 2266// 2267// err := req.Send() 2268// if err == nil { // resp is now filled 2269// fmt.Println(resp) 2270// } 2271// 2272// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListFargateProfiles 2273func (c *EKS) ListFargateProfilesRequest(input *ListFargateProfilesInput) (req *request.Request, output *ListFargateProfilesOutput) { 2274 op := &request.Operation{ 2275 Name: opListFargateProfiles, 2276 HTTPMethod: "GET", 2277 HTTPPath: "/clusters/{name}/fargate-profiles", 2278 Paginator: &request.Paginator{ 2279 InputTokens: []string{"nextToken"}, 2280 OutputTokens: []string{"nextToken"}, 2281 LimitToken: "maxResults", 2282 TruncationToken: "", 2283 }, 2284 } 2285 2286 if input == nil { 2287 input = &ListFargateProfilesInput{} 2288 } 2289 2290 output = &ListFargateProfilesOutput{} 2291 req = c.newRequest(op, input, output) 2292 return 2293} 2294 2295// ListFargateProfiles API operation for Amazon Elastic Kubernetes Service. 2296// 2297// Lists the Fargate profiles associated with the specified cluster in your 2298// Amazon Web Services account in the specified Region. 2299// 2300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2301// with awserr.Error's Code and Message methods to get detailed information about 2302// the error. 2303// 2304// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 2305// API operation ListFargateProfiles for usage and error information. 2306// 2307// Returned Error Types: 2308// * InvalidParameterException 2309// The specified parameter is invalid. Review the available parameters for the 2310// API request. 2311// 2312// * ResourceNotFoundException 2313// The specified resource could not be found. You can view your available clusters 2314// with ListClusters. You can view your available managed node groups with ListNodegroups. 2315// Amazon EKS clusters and node groups are Region-specific. 2316// 2317// * ClientException 2318// These errors are usually caused by a client action. Actions can include using 2319// an action or resource on behalf of a user that doesn't have permissions to 2320// use the action or resource or specifying an identifier that is not valid. 2321// 2322// * ServerException 2323// These errors are usually caused by a server-side issue. 2324// 2325// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListFargateProfiles 2326func (c *EKS) ListFargateProfiles(input *ListFargateProfilesInput) (*ListFargateProfilesOutput, error) { 2327 req, out := c.ListFargateProfilesRequest(input) 2328 return out, req.Send() 2329} 2330 2331// ListFargateProfilesWithContext is the same as ListFargateProfiles with the addition of 2332// the ability to pass a context and additional request options. 2333// 2334// See ListFargateProfiles for details on how to use this API operation. 2335// 2336// The context must be non-nil and will be used for request cancellation. If 2337// the context is nil a panic will occur. In the future the SDK may create 2338// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2339// for more information on using Contexts. 2340func (c *EKS) ListFargateProfilesWithContext(ctx aws.Context, input *ListFargateProfilesInput, opts ...request.Option) (*ListFargateProfilesOutput, error) { 2341 req, out := c.ListFargateProfilesRequest(input) 2342 req.SetContext(ctx) 2343 req.ApplyOptions(opts...) 2344 return out, req.Send() 2345} 2346 2347// ListFargateProfilesPages iterates over the pages of a ListFargateProfiles operation, 2348// calling the "fn" function with the response data for each page. To stop 2349// iterating, return false from the fn function. 2350// 2351// See ListFargateProfiles method for more information on how to use this operation. 2352// 2353// Note: This operation can generate multiple requests to a service. 2354// 2355// // Example iterating over at most 3 pages of a ListFargateProfiles operation. 2356// pageNum := 0 2357// err := client.ListFargateProfilesPages(params, 2358// func(page *eks.ListFargateProfilesOutput, lastPage bool) bool { 2359// pageNum++ 2360// fmt.Println(page) 2361// return pageNum <= 3 2362// }) 2363// 2364func (c *EKS) ListFargateProfilesPages(input *ListFargateProfilesInput, fn func(*ListFargateProfilesOutput, bool) bool) error { 2365 return c.ListFargateProfilesPagesWithContext(aws.BackgroundContext(), input, fn) 2366} 2367 2368// ListFargateProfilesPagesWithContext same as ListFargateProfilesPages except 2369// it takes a Context and allows setting request options on the pages. 2370// 2371// The context must be non-nil and will be used for request cancellation. If 2372// the context is nil a panic will occur. In the future the SDK may create 2373// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2374// for more information on using Contexts. 2375func (c *EKS) ListFargateProfilesPagesWithContext(ctx aws.Context, input *ListFargateProfilesInput, fn func(*ListFargateProfilesOutput, bool) bool, opts ...request.Option) error { 2376 p := request.Pagination{ 2377 NewRequest: func() (*request.Request, error) { 2378 var inCpy *ListFargateProfilesInput 2379 if input != nil { 2380 tmp := *input 2381 inCpy = &tmp 2382 } 2383 req, _ := c.ListFargateProfilesRequest(inCpy) 2384 req.SetContext(ctx) 2385 req.ApplyOptions(opts...) 2386 return req, nil 2387 }, 2388 } 2389 2390 for p.Next() { 2391 if !fn(p.Page().(*ListFargateProfilesOutput), !p.HasNextPage()) { 2392 break 2393 } 2394 } 2395 2396 return p.Err() 2397} 2398 2399const opListIdentityProviderConfigs = "ListIdentityProviderConfigs" 2400 2401// ListIdentityProviderConfigsRequest generates a "aws/request.Request" representing the 2402// client's request for the ListIdentityProviderConfigs operation. The "output" return 2403// value will be populated with the request's response once the request completes 2404// successfully. 2405// 2406// Use "Send" method on the returned Request to send the API call to the service. 2407// the "output" return value is not valid until after Send returns without error. 2408// 2409// See ListIdentityProviderConfigs for more information on using the ListIdentityProviderConfigs 2410// API call, and error handling. 2411// 2412// This method is useful when you want to inject custom logic or configuration 2413// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2414// 2415// 2416// // Example sending a request using the ListIdentityProviderConfigsRequest method. 2417// req, resp := client.ListIdentityProviderConfigsRequest(params) 2418// 2419// err := req.Send() 2420// if err == nil { // resp is now filled 2421// fmt.Println(resp) 2422// } 2423// 2424// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListIdentityProviderConfigs 2425func (c *EKS) ListIdentityProviderConfigsRequest(input *ListIdentityProviderConfigsInput) (req *request.Request, output *ListIdentityProviderConfigsOutput) { 2426 op := &request.Operation{ 2427 Name: opListIdentityProviderConfigs, 2428 HTTPMethod: "GET", 2429 HTTPPath: "/clusters/{name}/identity-provider-configs", 2430 Paginator: &request.Paginator{ 2431 InputTokens: []string{"nextToken"}, 2432 OutputTokens: []string{"nextToken"}, 2433 LimitToken: "maxResults", 2434 TruncationToken: "", 2435 }, 2436 } 2437 2438 if input == nil { 2439 input = &ListIdentityProviderConfigsInput{} 2440 } 2441 2442 output = &ListIdentityProviderConfigsOutput{} 2443 req = c.newRequest(op, input, output) 2444 return 2445} 2446 2447// ListIdentityProviderConfigs API operation for Amazon Elastic Kubernetes Service. 2448// 2449// A list of identity provider configurations. 2450// 2451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2452// with awserr.Error's Code and Message methods to get detailed information about 2453// the error. 2454// 2455// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 2456// API operation ListIdentityProviderConfigs for usage and error information. 2457// 2458// Returned Error Types: 2459// * InvalidParameterException 2460// The specified parameter is invalid. Review the available parameters for the 2461// API request. 2462// 2463// * ClientException 2464// These errors are usually caused by a client action. Actions can include using 2465// an action or resource on behalf of a user that doesn't have permissions to 2466// use the action or resource or specifying an identifier that is not valid. 2467// 2468// * ServerException 2469// These errors are usually caused by a server-side issue. 2470// 2471// * ServiceUnavailableException 2472// The service is unavailable. Back off and retry the operation. 2473// 2474// * ResourceNotFoundException 2475// The specified resource could not be found. You can view your available clusters 2476// with ListClusters. You can view your available managed node groups with ListNodegroups. 2477// Amazon EKS clusters and node groups are Region-specific. 2478// 2479// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListIdentityProviderConfigs 2480func (c *EKS) ListIdentityProviderConfigs(input *ListIdentityProviderConfigsInput) (*ListIdentityProviderConfigsOutput, error) { 2481 req, out := c.ListIdentityProviderConfigsRequest(input) 2482 return out, req.Send() 2483} 2484 2485// ListIdentityProviderConfigsWithContext is the same as ListIdentityProviderConfigs with the addition of 2486// the ability to pass a context and additional request options. 2487// 2488// See ListIdentityProviderConfigs for details on how to use this API operation. 2489// 2490// The context must be non-nil and will be used for request cancellation. If 2491// the context is nil a panic will occur. In the future the SDK may create 2492// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2493// for more information on using Contexts. 2494func (c *EKS) ListIdentityProviderConfigsWithContext(ctx aws.Context, input *ListIdentityProviderConfigsInput, opts ...request.Option) (*ListIdentityProviderConfigsOutput, error) { 2495 req, out := c.ListIdentityProviderConfigsRequest(input) 2496 req.SetContext(ctx) 2497 req.ApplyOptions(opts...) 2498 return out, req.Send() 2499} 2500 2501// ListIdentityProviderConfigsPages iterates over the pages of a ListIdentityProviderConfigs operation, 2502// calling the "fn" function with the response data for each page. To stop 2503// iterating, return false from the fn function. 2504// 2505// See ListIdentityProviderConfigs method for more information on how to use this operation. 2506// 2507// Note: This operation can generate multiple requests to a service. 2508// 2509// // Example iterating over at most 3 pages of a ListIdentityProviderConfigs operation. 2510// pageNum := 0 2511// err := client.ListIdentityProviderConfigsPages(params, 2512// func(page *eks.ListIdentityProviderConfigsOutput, lastPage bool) bool { 2513// pageNum++ 2514// fmt.Println(page) 2515// return pageNum <= 3 2516// }) 2517// 2518func (c *EKS) ListIdentityProviderConfigsPages(input *ListIdentityProviderConfigsInput, fn func(*ListIdentityProviderConfigsOutput, bool) bool) error { 2519 return c.ListIdentityProviderConfigsPagesWithContext(aws.BackgroundContext(), input, fn) 2520} 2521 2522// ListIdentityProviderConfigsPagesWithContext same as ListIdentityProviderConfigsPages except 2523// it takes a Context and allows setting request options on the pages. 2524// 2525// The context must be non-nil and will be used for request cancellation. If 2526// the context is nil a panic will occur. In the future the SDK may create 2527// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2528// for more information on using Contexts. 2529func (c *EKS) ListIdentityProviderConfigsPagesWithContext(ctx aws.Context, input *ListIdentityProviderConfigsInput, fn func(*ListIdentityProviderConfigsOutput, bool) bool, opts ...request.Option) error { 2530 p := request.Pagination{ 2531 NewRequest: func() (*request.Request, error) { 2532 var inCpy *ListIdentityProviderConfigsInput 2533 if input != nil { 2534 tmp := *input 2535 inCpy = &tmp 2536 } 2537 req, _ := c.ListIdentityProviderConfigsRequest(inCpy) 2538 req.SetContext(ctx) 2539 req.ApplyOptions(opts...) 2540 return req, nil 2541 }, 2542 } 2543 2544 for p.Next() { 2545 if !fn(p.Page().(*ListIdentityProviderConfigsOutput), !p.HasNextPage()) { 2546 break 2547 } 2548 } 2549 2550 return p.Err() 2551} 2552 2553const opListNodegroups = "ListNodegroups" 2554 2555// ListNodegroupsRequest generates a "aws/request.Request" representing the 2556// client's request for the ListNodegroups operation. The "output" return 2557// value will be populated with the request's response once the request completes 2558// successfully. 2559// 2560// Use "Send" method on the returned Request to send the API call to the service. 2561// the "output" return value is not valid until after Send returns without error. 2562// 2563// See ListNodegroups for more information on using the ListNodegroups 2564// API call, and error handling. 2565// 2566// This method is useful when you want to inject custom logic or configuration 2567// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2568// 2569// 2570// // Example sending a request using the ListNodegroupsRequest method. 2571// req, resp := client.ListNodegroupsRequest(params) 2572// 2573// err := req.Send() 2574// if err == nil { // resp is now filled 2575// fmt.Println(resp) 2576// } 2577// 2578// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListNodegroups 2579func (c *EKS) ListNodegroupsRequest(input *ListNodegroupsInput) (req *request.Request, output *ListNodegroupsOutput) { 2580 op := &request.Operation{ 2581 Name: opListNodegroups, 2582 HTTPMethod: "GET", 2583 HTTPPath: "/clusters/{name}/node-groups", 2584 Paginator: &request.Paginator{ 2585 InputTokens: []string{"nextToken"}, 2586 OutputTokens: []string{"nextToken"}, 2587 LimitToken: "maxResults", 2588 TruncationToken: "", 2589 }, 2590 } 2591 2592 if input == nil { 2593 input = &ListNodegroupsInput{} 2594 } 2595 2596 output = &ListNodegroupsOutput{} 2597 req = c.newRequest(op, input, output) 2598 return 2599} 2600 2601// ListNodegroups API operation for Amazon Elastic Kubernetes Service. 2602// 2603// Lists the Amazon EKS managed node groups associated with the specified cluster 2604// in your Amazon Web Services account in the specified Region. Self-managed 2605// node groups are not listed. 2606// 2607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2608// with awserr.Error's Code and Message methods to get detailed information about 2609// the error. 2610// 2611// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 2612// API operation ListNodegroups for usage and error information. 2613// 2614// Returned Error Types: 2615// * InvalidParameterException 2616// The specified parameter is invalid. Review the available parameters for the 2617// API request. 2618// 2619// * ClientException 2620// These errors are usually caused by a client action. Actions can include using 2621// an action or resource on behalf of a user that doesn't have permissions to 2622// use the action or resource or specifying an identifier that is not valid. 2623// 2624// * ServerException 2625// These errors are usually caused by a server-side issue. 2626// 2627// * ServiceUnavailableException 2628// The service is unavailable. Back off and retry the operation. 2629// 2630// * ResourceNotFoundException 2631// The specified resource could not be found. You can view your available clusters 2632// with ListClusters. You can view your available managed node groups with ListNodegroups. 2633// Amazon EKS clusters and node groups are Region-specific. 2634// 2635// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListNodegroups 2636func (c *EKS) ListNodegroups(input *ListNodegroupsInput) (*ListNodegroupsOutput, error) { 2637 req, out := c.ListNodegroupsRequest(input) 2638 return out, req.Send() 2639} 2640 2641// ListNodegroupsWithContext is the same as ListNodegroups with the addition of 2642// the ability to pass a context and additional request options. 2643// 2644// See ListNodegroups for details on how to use this API operation. 2645// 2646// The context must be non-nil and will be used for request cancellation. If 2647// the context is nil a panic will occur. In the future the SDK may create 2648// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2649// for more information on using Contexts. 2650func (c *EKS) ListNodegroupsWithContext(ctx aws.Context, input *ListNodegroupsInput, opts ...request.Option) (*ListNodegroupsOutput, error) { 2651 req, out := c.ListNodegroupsRequest(input) 2652 req.SetContext(ctx) 2653 req.ApplyOptions(opts...) 2654 return out, req.Send() 2655} 2656 2657// ListNodegroupsPages iterates over the pages of a ListNodegroups operation, 2658// calling the "fn" function with the response data for each page. To stop 2659// iterating, return false from the fn function. 2660// 2661// See ListNodegroups method for more information on how to use this operation. 2662// 2663// Note: This operation can generate multiple requests to a service. 2664// 2665// // Example iterating over at most 3 pages of a ListNodegroups operation. 2666// pageNum := 0 2667// err := client.ListNodegroupsPages(params, 2668// func(page *eks.ListNodegroupsOutput, lastPage bool) bool { 2669// pageNum++ 2670// fmt.Println(page) 2671// return pageNum <= 3 2672// }) 2673// 2674func (c *EKS) ListNodegroupsPages(input *ListNodegroupsInput, fn func(*ListNodegroupsOutput, bool) bool) error { 2675 return c.ListNodegroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2676} 2677 2678// ListNodegroupsPagesWithContext same as ListNodegroupsPages except 2679// it takes a Context and allows setting request options on the pages. 2680// 2681// The context must be non-nil and will be used for request cancellation. If 2682// the context is nil a panic will occur. In the future the SDK may create 2683// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2684// for more information on using Contexts. 2685func (c *EKS) ListNodegroupsPagesWithContext(ctx aws.Context, input *ListNodegroupsInput, fn func(*ListNodegroupsOutput, bool) bool, opts ...request.Option) error { 2686 p := request.Pagination{ 2687 NewRequest: func() (*request.Request, error) { 2688 var inCpy *ListNodegroupsInput 2689 if input != nil { 2690 tmp := *input 2691 inCpy = &tmp 2692 } 2693 req, _ := c.ListNodegroupsRequest(inCpy) 2694 req.SetContext(ctx) 2695 req.ApplyOptions(opts...) 2696 return req, nil 2697 }, 2698 } 2699 2700 for p.Next() { 2701 if !fn(p.Page().(*ListNodegroupsOutput), !p.HasNextPage()) { 2702 break 2703 } 2704 } 2705 2706 return p.Err() 2707} 2708 2709const opListTagsForResource = "ListTagsForResource" 2710 2711// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2712// client's request for the ListTagsForResource operation. The "output" return 2713// value will be populated with the request's response once the request completes 2714// successfully. 2715// 2716// Use "Send" method on the returned Request to send the API call to the service. 2717// the "output" return value is not valid until after Send returns without error. 2718// 2719// See ListTagsForResource for more information on using the ListTagsForResource 2720// API call, and error handling. 2721// 2722// This method is useful when you want to inject custom logic or configuration 2723// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2724// 2725// 2726// // Example sending a request using the ListTagsForResourceRequest method. 2727// req, resp := client.ListTagsForResourceRequest(params) 2728// 2729// err := req.Send() 2730// if err == nil { // resp is now filled 2731// fmt.Println(resp) 2732// } 2733// 2734// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListTagsForResource 2735func (c *EKS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2736 op := &request.Operation{ 2737 Name: opListTagsForResource, 2738 HTTPMethod: "GET", 2739 HTTPPath: "/tags/{resourceArn}", 2740 } 2741 2742 if input == nil { 2743 input = &ListTagsForResourceInput{} 2744 } 2745 2746 output = &ListTagsForResourceOutput{} 2747 req = c.newRequest(op, input, output) 2748 return 2749} 2750 2751// ListTagsForResource API operation for Amazon Elastic Kubernetes Service. 2752// 2753// List the tags for an Amazon EKS resource. 2754// 2755// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2756// with awserr.Error's Code and Message methods to get detailed information about 2757// the error. 2758// 2759// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 2760// API operation ListTagsForResource for usage and error information. 2761// 2762// Returned Error Types: 2763// * BadRequestException 2764// This exception is thrown if the request contains a semantic error. The precise 2765// meaning will depend on the API, and will be documented in the error message. 2766// 2767// * NotFoundException 2768// A service resource associated with the request could not be found. Clients 2769// should not retry such requests. 2770// 2771// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListTagsForResource 2772func (c *EKS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2773 req, out := c.ListTagsForResourceRequest(input) 2774 return out, req.Send() 2775} 2776 2777// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2778// the ability to pass a context and additional request options. 2779// 2780// See ListTagsForResource for details on how to use this API operation. 2781// 2782// The context must be non-nil and will be used for request cancellation. If 2783// the context is nil a panic will occur. In the future the SDK may create 2784// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2785// for more information on using Contexts. 2786func (c *EKS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2787 req, out := c.ListTagsForResourceRequest(input) 2788 req.SetContext(ctx) 2789 req.ApplyOptions(opts...) 2790 return out, req.Send() 2791} 2792 2793const opListUpdates = "ListUpdates" 2794 2795// ListUpdatesRequest generates a "aws/request.Request" representing the 2796// client's request for the ListUpdates operation. The "output" return 2797// value will be populated with the request's response once the request completes 2798// successfully. 2799// 2800// Use "Send" method on the returned Request to send the API call to the service. 2801// the "output" return value is not valid until after Send returns without error. 2802// 2803// See ListUpdates for more information on using the ListUpdates 2804// API call, and error handling. 2805// 2806// This method is useful when you want to inject custom logic or configuration 2807// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2808// 2809// 2810// // Example sending a request using the ListUpdatesRequest method. 2811// req, resp := client.ListUpdatesRequest(params) 2812// 2813// err := req.Send() 2814// if err == nil { // resp is now filled 2815// fmt.Println(resp) 2816// } 2817// 2818// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListUpdates 2819func (c *EKS) ListUpdatesRequest(input *ListUpdatesInput) (req *request.Request, output *ListUpdatesOutput) { 2820 op := &request.Operation{ 2821 Name: opListUpdates, 2822 HTTPMethod: "GET", 2823 HTTPPath: "/clusters/{name}/updates", 2824 Paginator: &request.Paginator{ 2825 InputTokens: []string{"nextToken"}, 2826 OutputTokens: []string{"nextToken"}, 2827 LimitToken: "maxResults", 2828 TruncationToken: "", 2829 }, 2830 } 2831 2832 if input == nil { 2833 input = &ListUpdatesInput{} 2834 } 2835 2836 output = &ListUpdatesOutput{} 2837 req = c.newRequest(op, input, output) 2838 return 2839} 2840 2841// ListUpdates API operation for Amazon Elastic Kubernetes Service. 2842// 2843// Lists the updates associated with an Amazon EKS cluster or managed node group 2844// in your Amazon Web Services account, in the specified Region. 2845// 2846// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2847// with awserr.Error's Code and Message methods to get detailed information about 2848// the error. 2849// 2850// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 2851// API operation ListUpdates for usage and error information. 2852// 2853// Returned Error Types: 2854// * InvalidParameterException 2855// The specified parameter is invalid. Review the available parameters for the 2856// API request. 2857// 2858// * ClientException 2859// These errors are usually caused by a client action. Actions can include using 2860// an action or resource on behalf of a user that doesn't have permissions to 2861// use the action or resource or specifying an identifier that is not valid. 2862// 2863// * ServerException 2864// These errors are usually caused by a server-side issue. 2865// 2866// * ResourceNotFoundException 2867// The specified resource could not be found. You can view your available clusters 2868// with ListClusters. You can view your available managed node groups with ListNodegroups. 2869// Amazon EKS clusters and node groups are Region-specific. 2870// 2871// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListUpdates 2872func (c *EKS) ListUpdates(input *ListUpdatesInput) (*ListUpdatesOutput, error) { 2873 req, out := c.ListUpdatesRequest(input) 2874 return out, req.Send() 2875} 2876 2877// ListUpdatesWithContext is the same as ListUpdates with the addition of 2878// the ability to pass a context and additional request options. 2879// 2880// See ListUpdates for details on how to use this API operation. 2881// 2882// The context must be non-nil and will be used for request cancellation. If 2883// the context is nil a panic will occur. In the future the SDK may create 2884// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2885// for more information on using Contexts. 2886func (c *EKS) ListUpdatesWithContext(ctx aws.Context, input *ListUpdatesInput, opts ...request.Option) (*ListUpdatesOutput, error) { 2887 req, out := c.ListUpdatesRequest(input) 2888 req.SetContext(ctx) 2889 req.ApplyOptions(opts...) 2890 return out, req.Send() 2891} 2892 2893// ListUpdatesPages iterates over the pages of a ListUpdates operation, 2894// calling the "fn" function with the response data for each page. To stop 2895// iterating, return false from the fn function. 2896// 2897// See ListUpdates method for more information on how to use this operation. 2898// 2899// Note: This operation can generate multiple requests to a service. 2900// 2901// // Example iterating over at most 3 pages of a ListUpdates operation. 2902// pageNum := 0 2903// err := client.ListUpdatesPages(params, 2904// func(page *eks.ListUpdatesOutput, lastPage bool) bool { 2905// pageNum++ 2906// fmt.Println(page) 2907// return pageNum <= 3 2908// }) 2909// 2910func (c *EKS) ListUpdatesPages(input *ListUpdatesInput, fn func(*ListUpdatesOutput, bool) bool) error { 2911 return c.ListUpdatesPagesWithContext(aws.BackgroundContext(), input, fn) 2912} 2913 2914// ListUpdatesPagesWithContext same as ListUpdatesPages except 2915// it takes a Context and allows setting request options on the pages. 2916// 2917// The context must be non-nil and will be used for request cancellation. If 2918// the context is nil a panic will occur. In the future the SDK may create 2919// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2920// for more information on using Contexts. 2921func (c *EKS) ListUpdatesPagesWithContext(ctx aws.Context, input *ListUpdatesInput, fn func(*ListUpdatesOutput, bool) bool, opts ...request.Option) error { 2922 p := request.Pagination{ 2923 NewRequest: func() (*request.Request, error) { 2924 var inCpy *ListUpdatesInput 2925 if input != nil { 2926 tmp := *input 2927 inCpy = &tmp 2928 } 2929 req, _ := c.ListUpdatesRequest(inCpy) 2930 req.SetContext(ctx) 2931 req.ApplyOptions(opts...) 2932 return req, nil 2933 }, 2934 } 2935 2936 for p.Next() { 2937 if !fn(p.Page().(*ListUpdatesOutput), !p.HasNextPage()) { 2938 break 2939 } 2940 } 2941 2942 return p.Err() 2943} 2944 2945const opTagResource = "TagResource" 2946 2947// TagResourceRequest generates a "aws/request.Request" representing the 2948// client's request for the TagResource operation. The "output" return 2949// value will be populated with the request's response once the request completes 2950// successfully. 2951// 2952// Use "Send" method on the returned Request to send the API call to the service. 2953// the "output" return value is not valid until after Send returns without error. 2954// 2955// See TagResource for more information on using the TagResource 2956// API call, and error handling. 2957// 2958// This method is useful when you want to inject custom logic or configuration 2959// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2960// 2961// 2962// // Example sending a request using the TagResourceRequest method. 2963// req, resp := client.TagResourceRequest(params) 2964// 2965// err := req.Send() 2966// if err == nil { // resp is now filled 2967// fmt.Println(resp) 2968// } 2969// 2970// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/TagResource 2971func (c *EKS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 2972 op := &request.Operation{ 2973 Name: opTagResource, 2974 HTTPMethod: "POST", 2975 HTTPPath: "/tags/{resourceArn}", 2976 } 2977 2978 if input == nil { 2979 input = &TagResourceInput{} 2980 } 2981 2982 output = &TagResourceOutput{} 2983 req = c.newRequest(op, input, output) 2984 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2985 return 2986} 2987 2988// TagResource API operation for Amazon Elastic Kubernetes Service. 2989// 2990// Associates the specified tags to a resource with the specified resourceArn. 2991// If existing tags on a resource are not specified in the request parameters, 2992// they are not changed. When a resource is deleted, the tags associated with 2993// that resource are deleted as well. Tags that you create for Amazon EKS resources 2994// do not propagate to any other resources associated with the cluster. For 2995// example, if you tag a cluster with this operation, that tag does not automatically 2996// propagate to the subnets and nodes associated with the cluster. 2997// 2998// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2999// with awserr.Error's Code and Message methods to get detailed information about 3000// the error. 3001// 3002// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 3003// API operation TagResource for usage and error information. 3004// 3005// Returned Error Types: 3006// * BadRequestException 3007// This exception is thrown if the request contains a semantic error. The precise 3008// meaning will depend on the API, and will be documented in the error message. 3009// 3010// * NotFoundException 3011// A service resource associated with the request could not be found. Clients 3012// should not retry such requests. 3013// 3014// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/TagResource 3015func (c *EKS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 3016 req, out := c.TagResourceRequest(input) 3017 return out, req.Send() 3018} 3019 3020// TagResourceWithContext is the same as TagResource with the addition of 3021// the ability to pass a context and additional request options. 3022// 3023// See TagResource for details on how to use this API operation. 3024// 3025// The context must be non-nil and will be used for request cancellation. If 3026// the context is nil a panic will occur. In the future the SDK may create 3027// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3028// for more information on using Contexts. 3029func (c *EKS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 3030 req, out := c.TagResourceRequest(input) 3031 req.SetContext(ctx) 3032 req.ApplyOptions(opts...) 3033 return out, req.Send() 3034} 3035 3036const opUntagResource = "UntagResource" 3037 3038// UntagResourceRequest generates a "aws/request.Request" representing the 3039// client's request for the UntagResource operation. The "output" return 3040// value will be populated with the request's response once the request completes 3041// successfully. 3042// 3043// Use "Send" method on the returned Request to send the API call to the service. 3044// the "output" return value is not valid until after Send returns without error. 3045// 3046// See UntagResource for more information on using the UntagResource 3047// API call, and error handling. 3048// 3049// This method is useful when you want to inject custom logic or configuration 3050// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3051// 3052// 3053// // Example sending a request using the UntagResourceRequest method. 3054// req, resp := client.UntagResourceRequest(params) 3055// 3056// err := req.Send() 3057// if err == nil { // resp is now filled 3058// fmt.Println(resp) 3059// } 3060// 3061// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UntagResource 3062func (c *EKS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 3063 op := &request.Operation{ 3064 Name: opUntagResource, 3065 HTTPMethod: "DELETE", 3066 HTTPPath: "/tags/{resourceArn}", 3067 } 3068 3069 if input == nil { 3070 input = &UntagResourceInput{} 3071 } 3072 3073 output = &UntagResourceOutput{} 3074 req = c.newRequest(op, input, output) 3075 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3076 return 3077} 3078 3079// UntagResource API operation for Amazon Elastic Kubernetes Service. 3080// 3081// Deletes specified tags from a resource. 3082// 3083// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3084// with awserr.Error's Code and Message methods to get detailed information about 3085// the error. 3086// 3087// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 3088// API operation UntagResource for usage and error information. 3089// 3090// Returned Error Types: 3091// * BadRequestException 3092// This exception is thrown if the request contains a semantic error. The precise 3093// meaning will depend on the API, and will be documented in the error message. 3094// 3095// * NotFoundException 3096// A service resource associated with the request could not be found. Clients 3097// should not retry such requests. 3098// 3099// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UntagResource 3100func (c *EKS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 3101 req, out := c.UntagResourceRequest(input) 3102 return out, req.Send() 3103} 3104 3105// UntagResourceWithContext is the same as UntagResource with the addition of 3106// the ability to pass a context and additional request options. 3107// 3108// See UntagResource for details on how to use this API operation. 3109// 3110// The context must be non-nil and will be used for request cancellation. If 3111// the context is nil a panic will occur. In the future the SDK may create 3112// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3113// for more information on using Contexts. 3114func (c *EKS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 3115 req, out := c.UntagResourceRequest(input) 3116 req.SetContext(ctx) 3117 req.ApplyOptions(opts...) 3118 return out, req.Send() 3119} 3120 3121const opUpdateAddon = "UpdateAddon" 3122 3123// UpdateAddonRequest generates a "aws/request.Request" representing the 3124// client's request for the UpdateAddon operation. The "output" return 3125// value will be populated with the request's response once the request completes 3126// successfully. 3127// 3128// Use "Send" method on the returned Request to send the API call to the service. 3129// the "output" return value is not valid until after Send returns without error. 3130// 3131// See UpdateAddon for more information on using the UpdateAddon 3132// API call, and error handling. 3133// 3134// This method is useful when you want to inject custom logic or configuration 3135// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3136// 3137// 3138// // Example sending a request using the UpdateAddonRequest method. 3139// req, resp := client.UpdateAddonRequest(params) 3140// 3141// err := req.Send() 3142// if err == nil { // resp is now filled 3143// fmt.Println(resp) 3144// } 3145// 3146// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateAddon 3147func (c *EKS) UpdateAddonRequest(input *UpdateAddonInput) (req *request.Request, output *UpdateAddonOutput) { 3148 op := &request.Operation{ 3149 Name: opUpdateAddon, 3150 HTTPMethod: "POST", 3151 HTTPPath: "/clusters/{name}/addons/{addonName}/update", 3152 } 3153 3154 if input == nil { 3155 input = &UpdateAddonInput{} 3156 } 3157 3158 output = &UpdateAddonOutput{} 3159 req = c.newRequest(op, input, output) 3160 return 3161} 3162 3163// UpdateAddon API operation for Amazon Elastic Kubernetes Service. 3164// 3165// Updates an Amazon EKS add-on. 3166// 3167// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3168// with awserr.Error's Code and Message methods to get detailed information about 3169// the error. 3170// 3171// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 3172// API operation UpdateAddon for usage and error information. 3173// 3174// Returned Error Types: 3175// * InvalidParameterException 3176// The specified parameter is invalid. Review the available parameters for the 3177// API request. 3178// 3179// * InvalidRequestException 3180// The request is invalid given the state of the cluster. Check the state of 3181// the cluster and the associated operations. 3182// 3183// * ResourceNotFoundException 3184// The specified resource could not be found. You can view your available clusters 3185// with ListClusters. You can view your available managed node groups with ListNodegroups. 3186// Amazon EKS clusters and node groups are Region-specific. 3187// 3188// * ResourceInUseException 3189// The specified resource is in use. 3190// 3191// * ClientException 3192// These errors are usually caused by a client action. Actions can include using 3193// an action or resource on behalf of a user that doesn't have permissions to 3194// use the action or resource or specifying an identifier that is not valid. 3195// 3196// * ServerException 3197// These errors are usually caused by a server-side issue. 3198// 3199// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateAddon 3200func (c *EKS) UpdateAddon(input *UpdateAddonInput) (*UpdateAddonOutput, error) { 3201 req, out := c.UpdateAddonRequest(input) 3202 return out, req.Send() 3203} 3204 3205// UpdateAddonWithContext is the same as UpdateAddon with the addition of 3206// the ability to pass a context and additional request options. 3207// 3208// See UpdateAddon for details on how to use this API operation. 3209// 3210// The context must be non-nil and will be used for request cancellation. If 3211// the context is nil a panic will occur. In the future the SDK may create 3212// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3213// for more information on using Contexts. 3214func (c *EKS) UpdateAddonWithContext(ctx aws.Context, input *UpdateAddonInput, opts ...request.Option) (*UpdateAddonOutput, error) { 3215 req, out := c.UpdateAddonRequest(input) 3216 req.SetContext(ctx) 3217 req.ApplyOptions(opts...) 3218 return out, req.Send() 3219} 3220 3221const opUpdateClusterConfig = "UpdateClusterConfig" 3222 3223// UpdateClusterConfigRequest generates a "aws/request.Request" representing the 3224// client's request for the UpdateClusterConfig operation. The "output" return 3225// value will be populated with the request's response once the request completes 3226// successfully. 3227// 3228// Use "Send" method on the returned Request to send the API call to the service. 3229// the "output" return value is not valid until after Send returns without error. 3230// 3231// See UpdateClusterConfig for more information on using the UpdateClusterConfig 3232// API call, and error handling. 3233// 3234// This method is useful when you want to inject custom logic or configuration 3235// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3236// 3237// 3238// // Example sending a request using the UpdateClusterConfigRequest method. 3239// req, resp := client.UpdateClusterConfigRequest(params) 3240// 3241// err := req.Send() 3242// if err == nil { // resp is now filled 3243// fmt.Println(resp) 3244// } 3245// 3246// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterConfig 3247func (c *EKS) UpdateClusterConfigRequest(input *UpdateClusterConfigInput) (req *request.Request, output *UpdateClusterConfigOutput) { 3248 op := &request.Operation{ 3249 Name: opUpdateClusterConfig, 3250 HTTPMethod: "POST", 3251 HTTPPath: "/clusters/{name}/update-config", 3252 } 3253 3254 if input == nil { 3255 input = &UpdateClusterConfigInput{} 3256 } 3257 3258 output = &UpdateClusterConfigOutput{} 3259 req = c.newRequest(op, input, output) 3260 return 3261} 3262 3263// UpdateClusterConfig API operation for Amazon Elastic Kubernetes Service. 3264// 3265// Updates an Amazon EKS cluster configuration. Your cluster continues to function 3266// during the update. The response output includes an update ID that you can 3267// use to track the status of your cluster update with the DescribeUpdate API 3268// operation. 3269// 3270// You can use this API operation to enable or disable exporting the Kubernetes 3271// control plane logs for your cluster to CloudWatch Logs. By default, cluster 3272// control plane logs aren't exported to CloudWatch Logs. For more information, 3273// see Amazon EKS Cluster Control Plane Logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) 3274// in the Amazon EKS User Guide . 3275// 3276// CloudWatch Logs ingestion, archive storage, and data scanning rates apply 3277// to exported control plane logs. For more information, see CloudWatch Pricing 3278// (http://aws.amazon.com/cloudwatch/pricing/). 3279// 3280// You can also use this API operation to enable or disable public and private 3281// access to your cluster's Kubernetes API server endpoint. By default, public 3282// access is enabled, and private access is disabled. For more information, 3283// see Amazon EKS cluster endpoint access control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 3284// in the Amazon EKS User Guide . 3285// 3286// You can't update the subnets or security group IDs for an existing cluster. 3287// 3288// Cluster updates are asynchronous, and they should finish within a few minutes. 3289// During an update, the cluster status moves to UPDATING (this status transition 3290// is eventually consistent). When the update is complete (either Failed or 3291// Successful), the cluster status moves to Active. 3292// 3293// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3294// with awserr.Error's Code and Message methods to get detailed information about 3295// the error. 3296// 3297// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 3298// API operation UpdateClusterConfig for usage and error information. 3299// 3300// Returned Error Types: 3301// * InvalidParameterException 3302// The specified parameter is invalid. Review the available parameters for the 3303// API request. 3304// 3305// * ClientException 3306// These errors are usually caused by a client action. Actions can include using 3307// an action or resource on behalf of a user that doesn't have permissions to 3308// use the action or resource or specifying an identifier that is not valid. 3309// 3310// * ServerException 3311// These errors are usually caused by a server-side issue. 3312// 3313// * ResourceInUseException 3314// The specified resource is in use. 3315// 3316// * ResourceNotFoundException 3317// The specified resource could not be found. You can view your available clusters 3318// with ListClusters. You can view your available managed node groups with ListNodegroups. 3319// Amazon EKS clusters and node groups are Region-specific. 3320// 3321// * InvalidRequestException 3322// The request is invalid given the state of the cluster. Check the state of 3323// the cluster and the associated operations. 3324// 3325// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterConfig 3326func (c *EKS) UpdateClusterConfig(input *UpdateClusterConfigInput) (*UpdateClusterConfigOutput, error) { 3327 req, out := c.UpdateClusterConfigRequest(input) 3328 return out, req.Send() 3329} 3330 3331// UpdateClusterConfigWithContext is the same as UpdateClusterConfig with the addition of 3332// the ability to pass a context and additional request options. 3333// 3334// See UpdateClusterConfig for details on how to use this API operation. 3335// 3336// The context must be non-nil and will be used for request cancellation. If 3337// the context is nil a panic will occur. In the future the SDK may create 3338// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3339// for more information on using Contexts. 3340func (c *EKS) UpdateClusterConfigWithContext(ctx aws.Context, input *UpdateClusterConfigInput, opts ...request.Option) (*UpdateClusterConfigOutput, error) { 3341 req, out := c.UpdateClusterConfigRequest(input) 3342 req.SetContext(ctx) 3343 req.ApplyOptions(opts...) 3344 return out, req.Send() 3345} 3346 3347const opUpdateClusterVersion = "UpdateClusterVersion" 3348 3349// UpdateClusterVersionRequest generates a "aws/request.Request" representing the 3350// client's request for the UpdateClusterVersion operation. The "output" return 3351// value will be populated with the request's response once the request completes 3352// successfully. 3353// 3354// Use "Send" method on the returned Request to send the API call to the service. 3355// the "output" return value is not valid until after Send returns without error. 3356// 3357// See UpdateClusterVersion for more information on using the UpdateClusterVersion 3358// API call, and error handling. 3359// 3360// This method is useful when you want to inject custom logic or configuration 3361// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3362// 3363// 3364// // Example sending a request using the UpdateClusterVersionRequest method. 3365// req, resp := client.UpdateClusterVersionRequest(params) 3366// 3367// err := req.Send() 3368// if err == nil { // resp is now filled 3369// fmt.Println(resp) 3370// } 3371// 3372// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterVersion 3373func (c *EKS) UpdateClusterVersionRequest(input *UpdateClusterVersionInput) (req *request.Request, output *UpdateClusterVersionOutput) { 3374 op := &request.Operation{ 3375 Name: opUpdateClusterVersion, 3376 HTTPMethod: "POST", 3377 HTTPPath: "/clusters/{name}/updates", 3378 } 3379 3380 if input == nil { 3381 input = &UpdateClusterVersionInput{} 3382 } 3383 3384 output = &UpdateClusterVersionOutput{} 3385 req = c.newRequest(op, input, output) 3386 return 3387} 3388 3389// UpdateClusterVersion API operation for Amazon Elastic Kubernetes Service. 3390// 3391// Updates an Amazon EKS cluster to the specified Kubernetes version. Your cluster 3392// continues to function during the update. The response output includes an 3393// update ID that you can use to track the status of your cluster update with 3394// the DescribeUpdate API operation. 3395// 3396// Cluster updates are asynchronous, and they should finish within a few minutes. 3397// During an update, the cluster status moves to UPDATING (this status transition 3398// is eventually consistent). When the update is complete (either Failed or 3399// Successful), the cluster status moves to Active. 3400// 3401// If your cluster has managed node groups attached to it, all of your node 3402// groups’ Kubernetes versions must match the cluster’s Kubernetes version 3403// in order to update the cluster to a new Kubernetes version. 3404// 3405// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3406// with awserr.Error's Code and Message methods to get detailed information about 3407// the error. 3408// 3409// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 3410// API operation UpdateClusterVersion for usage and error information. 3411// 3412// Returned Error Types: 3413// * InvalidParameterException 3414// The specified parameter is invalid. Review the available parameters for the 3415// API request. 3416// 3417// * ClientException 3418// These errors are usually caused by a client action. Actions can include using 3419// an action or resource on behalf of a user that doesn't have permissions to 3420// use the action or resource or specifying an identifier that is not valid. 3421// 3422// * ServerException 3423// These errors are usually caused by a server-side issue. 3424// 3425// * ResourceInUseException 3426// The specified resource is in use. 3427// 3428// * ResourceNotFoundException 3429// The specified resource could not be found. You can view your available clusters 3430// with ListClusters. You can view your available managed node groups with ListNodegroups. 3431// Amazon EKS clusters and node groups are Region-specific. 3432// 3433// * InvalidRequestException 3434// The request is invalid given the state of the cluster. Check the state of 3435// the cluster and the associated operations. 3436// 3437// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterVersion 3438func (c *EKS) UpdateClusterVersion(input *UpdateClusterVersionInput) (*UpdateClusterVersionOutput, error) { 3439 req, out := c.UpdateClusterVersionRequest(input) 3440 return out, req.Send() 3441} 3442 3443// UpdateClusterVersionWithContext is the same as UpdateClusterVersion with the addition of 3444// the ability to pass a context and additional request options. 3445// 3446// See UpdateClusterVersion for details on how to use this API operation. 3447// 3448// The context must be non-nil and will be used for request cancellation. If 3449// the context is nil a panic will occur. In the future the SDK may create 3450// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3451// for more information on using Contexts. 3452func (c *EKS) UpdateClusterVersionWithContext(ctx aws.Context, input *UpdateClusterVersionInput, opts ...request.Option) (*UpdateClusterVersionOutput, error) { 3453 req, out := c.UpdateClusterVersionRequest(input) 3454 req.SetContext(ctx) 3455 req.ApplyOptions(opts...) 3456 return out, req.Send() 3457} 3458 3459const opUpdateNodegroupConfig = "UpdateNodegroupConfig" 3460 3461// UpdateNodegroupConfigRequest generates a "aws/request.Request" representing the 3462// client's request for the UpdateNodegroupConfig operation. The "output" return 3463// value will be populated with the request's response once the request completes 3464// successfully. 3465// 3466// Use "Send" method on the returned Request to send the API call to the service. 3467// the "output" return value is not valid until after Send returns without error. 3468// 3469// See UpdateNodegroupConfig for more information on using the UpdateNodegroupConfig 3470// API call, and error handling. 3471// 3472// This method is useful when you want to inject custom logic or configuration 3473// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3474// 3475// 3476// // Example sending a request using the UpdateNodegroupConfigRequest method. 3477// req, resp := client.UpdateNodegroupConfigRequest(params) 3478// 3479// err := req.Send() 3480// if err == nil { // resp is now filled 3481// fmt.Println(resp) 3482// } 3483// 3484// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupConfig 3485func (c *EKS) UpdateNodegroupConfigRequest(input *UpdateNodegroupConfigInput) (req *request.Request, output *UpdateNodegroupConfigOutput) { 3486 op := &request.Operation{ 3487 Name: opUpdateNodegroupConfig, 3488 HTTPMethod: "POST", 3489 HTTPPath: "/clusters/{name}/node-groups/{nodegroupName}/update-config", 3490 } 3491 3492 if input == nil { 3493 input = &UpdateNodegroupConfigInput{} 3494 } 3495 3496 output = &UpdateNodegroupConfigOutput{} 3497 req = c.newRequest(op, input, output) 3498 return 3499} 3500 3501// UpdateNodegroupConfig API operation for Amazon Elastic Kubernetes Service. 3502// 3503// Updates an Amazon EKS managed node group configuration. Your node group continues 3504// to function during the update. The response output includes an update ID 3505// that you can use to track the status of your node group update with the DescribeUpdate 3506// API operation. Currently you can update the Kubernetes labels for a node 3507// group or the scaling configuration. 3508// 3509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3510// with awserr.Error's Code and Message methods to get detailed information about 3511// the error. 3512// 3513// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 3514// API operation UpdateNodegroupConfig for usage and error information. 3515// 3516// Returned Error Types: 3517// * InvalidParameterException 3518// The specified parameter is invalid. Review the available parameters for the 3519// API request. 3520// 3521// * ClientException 3522// These errors are usually caused by a client action. Actions can include using 3523// an action or resource on behalf of a user that doesn't have permissions to 3524// use the action or resource or specifying an identifier that is not valid. 3525// 3526// * ServerException 3527// These errors are usually caused by a server-side issue. 3528// 3529// * ResourceInUseException 3530// The specified resource is in use. 3531// 3532// * ResourceNotFoundException 3533// The specified resource could not be found. You can view your available clusters 3534// with ListClusters. You can view your available managed node groups with ListNodegroups. 3535// Amazon EKS clusters and node groups are Region-specific. 3536// 3537// * InvalidRequestException 3538// The request is invalid given the state of the cluster. Check the state of 3539// the cluster and the associated operations. 3540// 3541// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupConfig 3542func (c *EKS) UpdateNodegroupConfig(input *UpdateNodegroupConfigInput) (*UpdateNodegroupConfigOutput, error) { 3543 req, out := c.UpdateNodegroupConfigRequest(input) 3544 return out, req.Send() 3545} 3546 3547// UpdateNodegroupConfigWithContext is the same as UpdateNodegroupConfig with the addition of 3548// the ability to pass a context and additional request options. 3549// 3550// See UpdateNodegroupConfig for details on how to use this API operation. 3551// 3552// The context must be non-nil and will be used for request cancellation. If 3553// the context is nil a panic will occur. In the future the SDK may create 3554// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3555// for more information on using Contexts. 3556func (c *EKS) UpdateNodegroupConfigWithContext(ctx aws.Context, input *UpdateNodegroupConfigInput, opts ...request.Option) (*UpdateNodegroupConfigOutput, error) { 3557 req, out := c.UpdateNodegroupConfigRequest(input) 3558 req.SetContext(ctx) 3559 req.ApplyOptions(opts...) 3560 return out, req.Send() 3561} 3562 3563const opUpdateNodegroupVersion = "UpdateNodegroupVersion" 3564 3565// UpdateNodegroupVersionRequest generates a "aws/request.Request" representing the 3566// client's request for the UpdateNodegroupVersion operation. The "output" return 3567// value will be populated with the request's response once the request completes 3568// successfully. 3569// 3570// Use "Send" method on the returned Request to send the API call to the service. 3571// the "output" return value is not valid until after Send returns without error. 3572// 3573// See UpdateNodegroupVersion for more information on using the UpdateNodegroupVersion 3574// API call, and error handling. 3575// 3576// This method is useful when you want to inject custom logic or configuration 3577// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3578// 3579// 3580// // Example sending a request using the UpdateNodegroupVersionRequest method. 3581// req, resp := client.UpdateNodegroupVersionRequest(params) 3582// 3583// err := req.Send() 3584// if err == nil { // resp is now filled 3585// fmt.Println(resp) 3586// } 3587// 3588// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupVersion 3589func (c *EKS) UpdateNodegroupVersionRequest(input *UpdateNodegroupVersionInput) (req *request.Request, output *UpdateNodegroupVersionOutput) { 3590 op := &request.Operation{ 3591 Name: opUpdateNodegroupVersion, 3592 HTTPMethod: "POST", 3593 HTTPPath: "/clusters/{name}/node-groups/{nodegroupName}/update-version", 3594 } 3595 3596 if input == nil { 3597 input = &UpdateNodegroupVersionInput{} 3598 } 3599 3600 output = &UpdateNodegroupVersionOutput{} 3601 req = c.newRequest(op, input, output) 3602 return 3603} 3604 3605// UpdateNodegroupVersion API operation for Amazon Elastic Kubernetes Service. 3606// 3607// Updates the Kubernetes version or AMI version of an Amazon EKS managed node 3608// group. 3609// 3610// You can update a node group using a launch template only if the node group 3611// was originally deployed with a launch template. If you need to update a custom 3612// AMI in a node group that was deployed with a launch template, then update 3613// your custom AMI, specify the new ID in a new version of the launch template, 3614// and then update the node group to the new version of the launch template. 3615// 3616// If you update without a launch template, then you can update to the latest 3617// available AMI version of a node group's current Kubernetes version by not 3618// specifying a Kubernetes version in the request. You can update to the latest 3619// AMI version of your cluster's current Kubernetes version by specifying your 3620// cluster's Kubernetes version in the request. For more information, see Amazon 3621// EKS optimized Amazon Linux 2 AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html) 3622// in the Amazon EKS User Guide. 3623// 3624// You cannot roll back a node group to an earlier Kubernetes version or AMI 3625// version. 3626// 3627// When a node in a managed node group is terminated due to a scaling action 3628// or update, the pods in that node are drained first. Amazon EKS attempts to 3629// drain the nodes gracefully and will fail if it is unable to do so. You can 3630// force the update if Amazon EKS is unable to drain the nodes as a result of 3631// a pod disruption budget issue. 3632// 3633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3634// with awserr.Error's Code and Message methods to get detailed information about 3635// the error. 3636// 3637// See the AWS API reference guide for Amazon Elastic Kubernetes Service's 3638// API operation UpdateNodegroupVersion for usage and error information. 3639// 3640// Returned Error Types: 3641// * InvalidParameterException 3642// The specified parameter is invalid. Review the available parameters for the 3643// API request. 3644// 3645// * ClientException 3646// These errors are usually caused by a client action. Actions can include using 3647// an action or resource on behalf of a user that doesn't have permissions to 3648// use the action or resource or specifying an identifier that is not valid. 3649// 3650// * ServerException 3651// These errors are usually caused by a server-side issue. 3652// 3653// * ResourceInUseException 3654// The specified resource is in use. 3655// 3656// * ResourceNotFoundException 3657// The specified resource could not be found. You can view your available clusters 3658// with ListClusters. You can view your available managed node groups with ListNodegroups. 3659// Amazon EKS clusters and node groups are Region-specific. 3660// 3661// * InvalidRequestException 3662// The request is invalid given the state of the cluster. Check the state of 3663// the cluster and the associated operations. 3664// 3665// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupVersion 3666func (c *EKS) UpdateNodegroupVersion(input *UpdateNodegroupVersionInput) (*UpdateNodegroupVersionOutput, error) { 3667 req, out := c.UpdateNodegroupVersionRequest(input) 3668 return out, req.Send() 3669} 3670 3671// UpdateNodegroupVersionWithContext is the same as UpdateNodegroupVersion with the addition of 3672// the ability to pass a context and additional request options. 3673// 3674// See UpdateNodegroupVersion for details on how to use this API operation. 3675// 3676// The context must be non-nil and will be used for request cancellation. If 3677// the context is nil a panic will occur. In the future the SDK may create 3678// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3679// for more information on using Contexts. 3680func (c *EKS) UpdateNodegroupVersionWithContext(ctx aws.Context, input *UpdateNodegroupVersionInput, opts ...request.Option) (*UpdateNodegroupVersionOutput, error) { 3681 req, out := c.UpdateNodegroupVersionRequest(input) 3682 req.SetContext(ctx) 3683 req.ApplyOptions(opts...) 3684 return out, req.Send() 3685} 3686 3687// An Amazon EKS add-on. 3688type Addon struct { 3689 _ struct{} `type:"structure"` 3690 3691 // The Amazon Resource Name (ARN) of the add-on. 3692 AddonArn *string `locationName:"addonArn" type:"string"` 3693 3694 // The name of the add-on. 3695 AddonName *string `locationName:"addonName" type:"string"` 3696 3697 // The version of the add-on. 3698 AddonVersion *string `locationName:"addonVersion" type:"string"` 3699 3700 // The name of the cluster. 3701 ClusterName *string `locationName:"clusterName" min:"1" type:"string"` 3702 3703 // The date and time that the add-on was created. 3704 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 3705 3706 // An object that represents the health of the add-on. 3707 Health *AddonHealth `locationName:"health" type:"structure"` 3708 3709 // The date and time that the add-on was last modified. 3710 ModifiedAt *time.Time `locationName:"modifiedAt" type:"timestamp"` 3711 3712 // The Amazon Resource Name (ARN) of the IAM role that is bound to the Kubernetes 3713 // service account used by the add-on. 3714 ServiceAccountRoleArn *string `locationName:"serviceAccountRoleArn" type:"string"` 3715 3716 // The status of the add-on. 3717 Status *string `locationName:"status" type:"string" enum:"AddonStatus"` 3718 3719 // The metadata that you apply to the add-on to assist with categorization and 3720 // organization. Each tag consists of a key and an optional value, both of which 3721 // you define. Add-on tags do not propagate to any other resources associated 3722 // with the cluster. 3723 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 3724} 3725 3726// String returns the string representation 3727func (s Addon) String() string { 3728 return awsutil.Prettify(s) 3729} 3730 3731// GoString returns the string representation 3732func (s Addon) GoString() string { 3733 return s.String() 3734} 3735 3736// SetAddonArn sets the AddonArn field's value. 3737func (s *Addon) SetAddonArn(v string) *Addon { 3738 s.AddonArn = &v 3739 return s 3740} 3741 3742// SetAddonName sets the AddonName field's value. 3743func (s *Addon) SetAddonName(v string) *Addon { 3744 s.AddonName = &v 3745 return s 3746} 3747 3748// SetAddonVersion sets the AddonVersion field's value. 3749func (s *Addon) SetAddonVersion(v string) *Addon { 3750 s.AddonVersion = &v 3751 return s 3752} 3753 3754// SetClusterName sets the ClusterName field's value. 3755func (s *Addon) SetClusterName(v string) *Addon { 3756 s.ClusterName = &v 3757 return s 3758} 3759 3760// SetCreatedAt sets the CreatedAt field's value. 3761func (s *Addon) SetCreatedAt(v time.Time) *Addon { 3762 s.CreatedAt = &v 3763 return s 3764} 3765 3766// SetHealth sets the Health field's value. 3767func (s *Addon) SetHealth(v *AddonHealth) *Addon { 3768 s.Health = v 3769 return s 3770} 3771 3772// SetModifiedAt sets the ModifiedAt field's value. 3773func (s *Addon) SetModifiedAt(v time.Time) *Addon { 3774 s.ModifiedAt = &v 3775 return s 3776} 3777 3778// SetServiceAccountRoleArn sets the ServiceAccountRoleArn field's value. 3779func (s *Addon) SetServiceAccountRoleArn(v string) *Addon { 3780 s.ServiceAccountRoleArn = &v 3781 return s 3782} 3783 3784// SetStatus sets the Status field's value. 3785func (s *Addon) SetStatus(v string) *Addon { 3786 s.Status = &v 3787 return s 3788} 3789 3790// SetTags sets the Tags field's value. 3791func (s *Addon) SetTags(v map[string]*string) *Addon { 3792 s.Tags = v 3793 return s 3794} 3795 3796// The health of the add-on. 3797type AddonHealth struct { 3798 _ struct{} `type:"structure"` 3799 3800 // An object that represents the add-on's health issues. 3801 Issues []*AddonIssue `locationName:"issues" type:"list"` 3802} 3803 3804// String returns the string representation 3805func (s AddonHealth) String() string { 3806 return awsutil.Prettify(s) 3807} 3808 3809// GoString returns the string representation 3810func (s AddonHealth) GoString() string { 3811 return s.String() 3812} 3813 3814// SetIssues sets the Issues field's value. 3815func (s *AddonHealth) SetIssues(v []*AddonIssue) *AddonHealth { 3816 s.Issues = v 3817 return s 3818} 3819 3820// Information about an add-on. 3821type AddonInfo struct { 3822 _ struct{} `type:"structure"` 3823 3824 // The name of the add-on. 3825 AddonName *string `locationName:"addonName" type:"string"` 3826 3827 // An object that represents information about available add-on versions and 3828 // compatible Kubernetes versions. 3829 AddonVersions []*AddonVersionInfo `locationName:"addonVersions" type:"list"` 3830 3831 // The type of the add-on. 3832 Type *string `locationName:"type" type:"string"` 3833} 3834 3835// String returns the string representation 3836func (s AddonInfo) String() string { 3837 return awsutil.Prettify(s) 3838} 3839 3840// GoString returns the string representation 3841func (s AddonInfo) GoString() string { 3842 return s.String() 3843} 3844 3845// SetAddonName sets the AddonName field's value. 3846func (s *AddonInfo) SetAddonName(v string) *AddonInfo { 3847 s.AddonName = &v 3848 return s 3849} 3850 3851// SetAddonVersions sets the AddonVersions field's value. 3852func (s *AddonInfo) SetAddonVersions(v []*AddonVersionInfo) *AddonInfo { 3853 s.AddonVersions = v 3854 return s 3855} 3856 3857// SetType sets the Type field's value. 3858func (s *AddonInfo) SetType(v string) *AddonInfo { 3859 s.Type = &v 3860 return s 3861} 3862 3863// An issue related to an add-on. 3864type AddonIssue struct { 3865 _ struct{} `type:"structure"` 3866 3867 // A code that describes the type of issue. 3868 Code *string `locationName:"code" type:"string" enum:"AddonIssueCode"` 3869 3870 // A message that provides details about the issue and what might cause it. 3871 Message *string `locationName:"message" type:"string"` 3872 3873 // The resource IDs of the issue. 3874 ResourceIds []*string `locationName:"resourceIds" type:"list"` 3875} 3876 3877// String returns the string representation 3878func (s AddonIssue) String() string { 3879 return awsutil.Prettify(s) 3880} 3881 3882// GoString returns the string representation 3883func (s AddonIssue) GoString() string { 3884 return s.String() 3885} 3886 3887// SetCode sets the Code field's value. 3888func (s *AddonIssue) SetCode(v string) *AddonIssue { 3889 s.Code = &v 3890 return s 3891} 3892 3893// SetMessage sets the Message field's value. 3894func (s *AddonIssue) SetMessage(v string) *AddonIssue { 3895 s.Message = &v 3896 return s 3897} 3898 3899// SetResourceIds sets the ResourceIds field's value. 3900func (s *AddonIssue) SetResourceIds(v []*string) *AddonIssue { 3901 s.ResourceIds = v 3902 return s 3903} 3904 3905// Information about an add-on version. 3906type AddonVersionInfo struct { 3907 _ struct{} `type:"structure"` 3908 3909 // The version of the add-on. 3910 AddonVersion *string `locationName:"addonVersion" type:"string"` 3911 3912 // The architectures that the version supports. 3913 Architecture []*string `locationName:"architecture" type:"list"` 3914 3915 // An object that represents the compatibilities of a version. 3916 Compatibilities []*Compatibility `locationName:"compatibilities" type:"list"` 3917} 3918 3919// String returns the string representation 3920func (s AddonVersionInfo) String() string { 3921 return awsutil.Prettify(s) 3922} 3923 3924// GoString returns the string representation 3925func (s AddonVersionInfo) GoString() string { 3926 return s.String() 3927} 3928 3929// SetAddonVersion sets the AddonVersion field's value. 3930func (s *AddonVersionInfo) SetAddonVersion(v string) *AddonVersionInfo { 3931 s.AddonVersion = &v 3932 return s 3933} 3934 3935// SetArchitecture sets the Architecture field's value. 3936func (s *AddonVersionInfo) SetArchitecture(v []*string) *AddonVersionInfo { 3937 s.Architecture = v 3938 return s 3939} 3940 3941// SetCompatibilities sets the Compatibilities field's value. 3942func (s *AddonVersionInfo) SetCompatibilities(v []*Compatibility) *AddonVersionInfo { 3943 s.Compatibilities = v 3944 return s 3945} 3946 3947type AssociateEncryptionConfigInput struct { 3948 _ struct{} `type:"structure"` 3949 3950 // The client request token you are using with the encryption configuration. 3951 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 3952 3953 // The name of the cluster that you are associating with encryption configuration. 3954 // 3955 // ClusterName is a required field 3956 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 3957 3958 // The configuration you are using for encryption. 3959 // 3960 // EncryptionConfig is a required field 3961 EncryptionConfig []*EncryptionConfig `locationName:"encryptionConfig" type:"list" required:"true"` 3962} 3963 3964// String returns the string representation 3965func (s AssociateEncryptionConfigInput) String() string { 3966 return awsutil.Prettify(s) 3967} 3968 3969// GoString returns the string representation 3970func (s AssociateEncryptionConfigInput) GoString() string { 3971 return s.String() 3972} 3973 3974// Validate inspects the fields of the type to determine if they are valid. 3975func (s *AssociateEncryptionConfigInput) Validate() error { 3976 invalidParams := request.ErrInvalidParams{Context: "AssociateEncryptionConfigInput"} 3977 if s.ClusterName == nil { 3978 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 3979 } 3980 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 3981 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 3982 } 3983 if s.EncryptionConfig == nil { 3984 invalidParams.Add(request.NewErrParamRequired("EncryptionConfig")) 3985 } 3986 3987 if invalidParams.Len() > 0 { 3988 return invalidParams 3989 } 3990 return nil 3991} 3992 3993// SetClientRequestToken sets the ClientRequestToken field's value. 3994func (s *AssociateEncryptionConfigInput) SetClientRequestToken(v string) *AssociateEncryptionConfigInput { 3995 s.ClientRequestToken = &v 3996 return s 3997} 3998 3999// SetClusterName sets the ClusterName field's value. 4000func (s *AssociateEncryptionConfigInput) SetClusterName(v string) *AssociateEncryptionConfigInput { 4001 s.ClusterName = &v 4002 return s 4003} 4004 4005// SetEncryptionConfig sets the EncryptionConfig field's value. 4006func (s *AssociateEncryptionConfigInput) SetEncryptionConfig(v []*EncryptionConfig) *AssociateEncryptionConfigInput { 4007 s.EncryptionConfig = v 4008 return s 4009} 4010 4011type AssociateEncryptionConfigOutput struct { 4012 _ struct{} `type:"structure"` 4013 4014 // An object representing an asynchronous update. 4015 Update *Update `locationName:"update" type:"structure"` 4016} 4017 4018// String returns the string representation 4019func (s AssociateEncryptionConfigOutput) String() string { 4020 return awsutil.Prettify(s) 4021} 4022 4023// GoString returns the string representation 4024func (s AssociateEncryptionConfigOutput) GoString() string { 4025 return s.String() 4026} 4027 4028// SetUpdate sets the Update field's value. 4029func (s *AssociateEncryptionConfigOutput) SetUpdate(v *Update) *AssociateEncryptionConfigOutput { 4030 s.Update = v 4031 return s 4032} 4033 4034type AssociateIdentityProviderConfigInput struct { 4035 _ struct{} `type:"structure"` 4036 4037 // Unique, case-sensitive identifier that you provide to ensure the idempotency 4038 // of the request. 4039 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 4040 4041 // The name of the cluster to associate the configuration to. 4042 // 4043 // ClusterName is a required field 4044 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 4045 4046 // An object that represents an OpenID Connect (OIDC) identity provider configuration. 4047 // 4048 // Oidc is a required field 4049 Oidc *OidcIdentityProviderConfigRequest `locationName:"oidc" type:"structure" required:"true"` 4050 4051 // The metadata to apply to the configuration to assist with categorization 4052 // and organization. Each tag consists of a key and an optional value, both 4053 // of which you define. 4054 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4055} 4056 4057// String returns the string representation 4058func (s AssociateIdentityProviderConfigInput) String() string { 4059 return awsutil.Prettify(s) 4060} 4061 4062// GoString returns the string representation 4063func (s AssociateIdentityProviderConfigInput) GoString() string { 4064 return s.String() 4065} 4066 4067// Validate inspects the fields of the type to determine if they are valid. 4068func (s *AssociateIdentityProviderConfigInput) Validate() error { 4069 invalidParams := request.ErrInvalidParams{Context: "AssociateIdentityProviderConfigInput"} 4070 if s.ClusterName == nil { 4071 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 4072 } 4073 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 4074 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 4075 } 4076 if s.Oidc == nil { 4077 invalidParams.Add(request.NewErrParamRequired("Oidc")) 4078 } 4079 if s.Tags != nil && len(s.Tags) < 1 { 4080 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4081 } 4082 if s.Oidc != nil { 4083 if err := s.Oidc.Validate(); err != nil { 4084 invalidParams.AddNested("Oidc", err.(request.ErrInvalidParams)) 4085 } 4086 } 4087 4088 if invalidParams.Len() > 0 { 4089 return invalidParams 4090 } 4091 return nil 4092} 4093 4094// SetClientRequestToken sets the ClientRequestToken field's value. 4095func (s *AssociateIdentityProviderConfigInput) SetClientRequestToken(v string) *AssociateIdentityProviderConfigInput { 4096 s.ClientRequestToken = &v 4097 return s 4098} 4099 4100// SetClusterName sets the ClusterName field's value. 4101func (s *AssociateIdentityProviderConfigInput) SetClusterName(v string) *AssociateIdentityProviderConfigInput { 4102 s.ClusterName = &v 4103 return s 4104} 4105 4106// SetOidc sets the Oidc field's value. 4107func (s *AssociateIdentityProviderConfigInput) SetOidc(v *OidcIdentityProviderConfigRequest) *AssociateIdentityProviderConfigInput { 4108 s.Oidc = v 4109 return s 4110} 4111 4112// SetTags sets the Tags field's value. 4113func (s *AssociateIdentityProviderConfigInput) SetTags(v map[string]*string) *AssociateIdentityProviderConfigInput { 4114 s.Tags = v 4115 return s 4116} 4117 4118type AssociateIdentityProviderConfigOutput struct { 4119 _ struct{} `type:"structure"` 4120 4121 // The tags for the resource. 4122 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4123 4124 // An object representing an asynchronous update. 4125 Update *Update `locationName:"update" type:"structure"` 4126} 4127 4128// String returns the string representation 4129func (s AssociateIdentityProviderConfigOutput) String() string { 4130 return awsutil.Prettify(s) 4131} 4132 4133// GoString returns the string representation 4134func (s AssociateIdentityProviderConfigOutput) GoString() string { 4135 return s.String() 4136} 4137 4138// SetTags sets the Tags field's value. 4139func (s *AssociateIdentityProviderConfigOutput) SetTags(v map[string]*string) *AssociateIdentityProviderConfigOutput { 4140 s.Tags = v 4141 return s 4142} 4143 4144// SetUpdate sets the Update field's value. 4145func (s *AssociateIdentityProviderConfigOutput) SetUpdate(v *Update) *AssociateIdentityProviderConfigOutput { 4146 s.Update = v 4147 return s 4148} 4149 4150// An Auto Scaling group that is associated with an Amazon EKS managed node 4151// group. 4152type AutoScalingGroup struct { 4153 _ struct{} `type:"structure"` 4154 4155 // The name of the Auto Scaling group associated with an Amazon EKS managed 4156 // node group. 4157 Name *string `locationName:"name" type:"string"` 4158} 4159 4160// String returns the string representation 4161func (s AutoScalingGroup) String() string { 4162 return awsutil.Prettify(s) 4163} 4164 4165// GoString returns the string representation 4166func (s AutoScalingGroup) GoString() string { 4167 return s.String() 4168} 4169 4170// SetName sets the Name field's value. 4171func (s *AutoScalingGroup) SetName(v string) *AutoScalingGroup { 4172 s.Name = &v 4173 return s 4174} 4175 4176// This exception is thrown if the request contains a semantic error. The precise 4177// meaning will depend on the API, and will be documented in the error message. 4178type BadRequestException struct { 4179 _ struct{} `type:"structure"` 4180 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4181 4182 Message_ *string `locationName:"message" type:"string"` 4183} 4184 4185// String returns the string representation 4186func (s BadRequestException) String() string { 4187 return awsutil.Prettify(s) 4188} 4189 4190// GoString returns the string representation 4191func (s BadRequestException) GoString() string { 4192 return s.String() 4193} 4194 4195func newErrorBadRequestException(v protocol.ResponseMetadata) error { 4196 return &BadRequestException{ 4197 RespMetadata: v, 4198 } 4199} 4200 4201// Code returns the exception type name. 4202func (s *BadRequestException) Code() string { 4203 return "BadRequestException" 4204} 4205 4206// Message returns the exception's message. 4207func (s *BadRequestException) Message() string { 4208 if s.Message_ != nil { 4209 return *s.Message_ 4210 } 4211 return "" 4212} 4213 4214// OrigErr always returns nil, satisfies awserr.Error interface. 4215func (s *BadRequestException) OrigErr() error { 4216 return nil 4217} 4218 4219func (s *BadRequestException) Error() string { 4220 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4221} 4222 4223// Status code returns the HTTP status code for the request's response error. 4224func (s *BadRequestException) StatusCode() int { 4225 return s.RespMetadata.StatusCode 4226} 4227 4228// RequestID returns the service's response RequestID for request. 4229func (s *BadRequestException) RequestID() string { 4230 return s.RespMetadata.RequestID 4231} 4232 4233// An object representing the certificate-authority-data for your cluster. 4234type Certificate struct { 4235 _ struct{} `type:"structure"` 4236 4237 // The Base64-encoded certificate data required to communicate with your cluster. 4238 // Add this to the certificate-authority-data section of the kubeconfig file 4239 // for your cluster. 4240 Data *string `locationName:"data" type:"string"` 4241} 4242 4243// String returns the string representation 4244func (s Certificate) String() string { 4245 return awsutil.Prettify(s) 4246} 4247 4248// GoString returns the string representation 4249func (s Certificate) GoString() string { 4250 return s.String() 4251} 4252 4253// SetData sets the Data field's value. 4254func (s *Certificate) SetData(v string) *Certificate { 4255 s.Data = &v 4256 return s 4257} 4258 4259// These errors are usually caused by a client action. Actions can include using 4260// an action or resource on behalf of a user that doesn't have permissions to 4261// use the action or resource or specifying an identifier that is not valid. 4262type ClientException struct { 4263 _ struct{} `type:"structure"` 4264 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4265 4266 AddonName *string `locationName:"addonName" type:"string"` 4267 4268 // The Amazon EKS cluster associated with the exception. 4269 ClusterName *string `locationName:"clusterName" type:"string"` 4270 4271 Message_ *string `locationName:"message" type:"string"` 4272 4273 // The Amazon EKS managed node group associated with the exception. 4274 NodegroupName *string `locationName:"nodegroupName" type:"string"` 4275} 4276 4277// String returns the string representation 4278func (s ClientException) String() string { 4279 return awsutil.Prettify(s) 4280} 4281 4282// GoString returns the string representation 4283func (s ClientException) GoString() string { 4284 return s.String() 4285} 4286 4287func newErrorClientException(v protocol.ResponseMetadata) error { 4288 return &ClientException{ 4289 RespMetadata: v, 4290 } 4291} 4292 4293// Code returns the exception type name. 4294func (s *ClientException) Code() string { 4295 return "ClientException" 4296} 4297 4298// Message returns the exception's message. 4299func (s *ClientException) Message() string { 4300 if s.Message_ != nil { 4301 return *s.Message_ 4302 } 4303 return "" 4304} 4305 4306// OrigErr always returns nil, satisfies awserr.Error interface. 4307func (s *ClientException) OrigErr() error { 4308 return nil 4309} 4310 4311func (s *ClientException) Error() string { 4312 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 4313} 4314 4315// Status code returns the HTTP status code for the request's response error. 4316func (s *ClientException) StatusCode() int { 4317 return s.RespMetadata.StatusCode 4318} 4319 4320// RequestID returns the service's response RequestID for request. 4321func (s *ClientException) RequestID() string { 4322 return s.RespMetadata.RequestID 4323} 4324 4325// An object representing an Amazon EKS cluster. 4326type Cluster struct { 4327 _ struct{} `type:"structure"` 4328 4329 // The Amazon Resource Name (ARN) of the cluster. 4330 Arn *string `locationName:"arn" type:"string"` 4331 4332 // The certificate-authority-data for your cluster. 4333 CertificateAuthority *Certificate `locationName:"certificateAuthority" type:"structure"` 4334 4335 // Unique, case-sensitive identifier that you provide to ensure the idempotency 4336 // of the request. 4337 ClientRequestToken *string `locationName:"clientRequestToken" type:"string"` 4338 4339 // The Unix epoch timestamp in seconds for when the cluster was created. 4340 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 4341 4342 // The encryption configuration for the cluster. 4343 EncryptionConfig []*EncryptionConfig `locationName:"encryptionConfig" type:"list"` 4344 4345 // The endpoint for your Kubernetes API server. 4346 Endpoint *string `locationName:"endpoint" type:"string"` 4347 4348 // The identity provider information for the cluster. 4349 Identity *Identity `locationName:"identity" type:"structure"` 4350 4351 // The Kubernetes network configuration for the cluster. 4352 KubernetesNetworkConfig *KubernetesNetworkConfigResponse `locationName:"kubernetesNetworkConfig" type:"structure"` 4353 4354 // The logging configuration for your cluster. 4355 Logging *Logging `locationName:"logging" type:"structure"` 4356 4357 // The name of the cluster. 4358 Name *string `locationName:"name" type:"string"` 4359 4360 // The platform version of your Amazon EKS cluster. For more information, see 4361 // Platform Versions (https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html) 4362 // in the Amazon EKS User Guide . 4363 PlatformVersion *string `locationName:"platformVersion" type:"string"` 4364 4365 // The VPC configuration used by the cluster control plane. Amazon EKS VPC resources 4366 // have specific requirements to work properly with Kubernetes. For more information, 4367 // see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) 4368 // and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) 4369 // in the Amazon EKS User Guide. 4370 ResourcesVpcConfig *VpcConfigResponse `locationName:"resourcesVpcConfig" type:"structure"` 4371 4372 // The Amazon Resource Name (ARN) of the IAM role that provides permissions 4373 // for the Kubernetes control plane to make calls to Amazon Web Services API 4374 // operations on your behalf. 4375 RoleArn *string `locationName:"roleArn" type:"string"` 4376 4377 // The current status of the cluster. 4378 Status *string `locationName:"status" type:"string" enum:"ClusterStatus"` 4379 4380 // The metadata that you apply to the cluster to assist with categorization 4381 // and organization. Each tag consists of a key and an optional value, both 4382 // of which you define. Cluster tags do not propagate to any other resources 4383 // associated with the cluster. 4384 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4385 4386 // The Kubernetes server version for the cluster. 4387 Version *string `locationName:"version" type:"string"` 4388} 4389 4390// String returns the string representation 4391func (s Cluster) String() string { 4392 return awsutil.Prettify(s) 4393} 4394 4395// GoString returns the string representation 4396func (s Cluster) GoString() string { 4397 return s.String() 4398} 4399 4400// SetArn sets the Arn field's value. 4401func (s *Cluster) SetArn(v string) *Cluster { 4402 s.Arn = &v 4403 return s 4404} 4405 4406// SetCertificateAuthority sets the CertificateAuthority field's value. 4407func (s *Cluster) SetCertificateAuthority(v *Certificate) *Cluster { 4408 s.CertificateAuthority = v 4409 return s 4410} 4411 4412// SetClientRequestToken sets the ClientRequestToken field's value. 4413func (s *Cluster) SetClientRequestToken(v string) *Cluster { 4414 s.ClientRequestToken = &v 4415 return s 4416} 4417 4418// SetCreatedAt sets the CreatedAt field's value. 4419func (s *Cluster) SetCreatedAt(v time.Time) *Cluster { 4420 s.CreatedAt = &v 4421 return s 4422} 4423 4424// SetEncryptionConfig sets the EncryptionConfig field's value. 4425func (s *Cluster) SetEncryptionConfig(v []*EncryptionConfig) *Cluster { 4426 s.EncryptionConfig = v 4427 return s 4428} 4429 4430// SetEndpoint sets the Endpoint field's value. 4431func (s *Cluster) SetEndpoint(v string) *Cluster { 4432 s.Endpoint = &v 4433 return s 4434} 4435 4436// SetIdentity sets the Identity field's value. 4437func (s *Cluster) SetIdentity(v *Identity) *Cluster { 4438 s.Identity = v 4439 return s 4440} 4441 4442// SetKubernetesNetworkConfig sets the KubernetesNetworkConfig field's value. 4443func (s *Cluster) SetKubernetesNetworkConfig(v *KubernetesNetworkConfigResponse) *Cluster { 4444 s.KubernetesNetworkConfig = v 4445 return s 4446} 4447 4448// SetLogging sets the Logging field's value. 4449func (s *Cluster) SetLogging(v *Logging) *Cluster { 4450 s.Logging = v 4451 return s 4452} 4453 4454// SetName sets the Name field's value. 4455func (s *Cluster) SetName(v string) *Cluster { 4456 s.Name = &v 4457 return s 4458} 4459 4460// SetPlatformVersion sets the PlatformVersion field's value. 4461func (s *Cluster) SetPlatformVersion(v string) *Cluster { 4462 s.PlatformVersion = &v 4463 return s 4464} 4465 4466// SetResourcesVpcConfig sets the ResourcesVpcConfig field's value. 4467func (s *Cluster) SetResourcesVpcConfig(v *VpcConfigResponse) *Cluster { 4468 s.ResourcesVpcConfig = v 4469 return s 4470} 4471 4472// SetRoleArn sets the RoleArn field's value. 4473func (s *Cluster) SetRoleArn(v string) *Cluster { 4474 s.RoleArn = &v 4475 return s 4476} 4477 4478// SetStatus sets the Status field's value. 4479func (s *Cluster) SetStatus(v string) *Cluster { 4480 s.Status = &v 4481 return s 4482} 4483 4484// SetTags sets the Tags field's value. 4485func (s *Cluster) SetTags(v map[string]*string) *Cluster { 4486 s.Tags = v 4487 return s 4488} 4489 4490// SetVersion sets the Version field's value. 4491func (s *Cluster) SetVersion(v string) *Cluster { 4492 s.Version = &v 4493 return s 4494} 4495 4496// Compatibility information. 4497type Compatibility struct { 4498 _ struct{} `type:"structure"` 4499 4500 // The supported Kubernetes version of the cluster. 4501 ClusterVersion *string `locationName:"clusterVersion" type:"string"` 4502 4503 // The supported default version. 4504 DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"` 4505 4506 // The supported compute platform. 4507 PlatformVersions []*string `locationName:"platformVersions" type:"list"` 4508} 4509 4510// String returns the string representation 4511func (s Compatibility) String() string { 4512 return awsutil.Prettify(s) 4513} 4514 4515// GoString returns the string representation 4516func (s Compatibility) GoString() string { 4517 return s.String() 4518} 4519 4520// SetClusterVersion sets the ClusterVersion field's value. 4521func (s *Compatibility) SetClusterVersion(v string) *Compatibility { 4522 s.ClusterVersion = &v 4523 return s 4524} 4525 4526// SetDefaultVersion sets the DefaultVersion field's value. 4527func (s *Compatibility) SetDefaultVersion(v bool) *Compatibility { 4528 s.DefaultVersion = &v 4529 return s 4530} 4531 4532// SetPlatformVersions sets the PlatformVersions field's value. 4533func (s *Compatibility) SetPlatformVersions(v []*string) *Compatibility { 4534 s.PlatformVersions = v 4535 return s 4536} 4537 4538type CreateAddonInput struct { 4539 _ struct{} `type:"structure"` 4540 4541 // The name of the add-on. The name must match one of the names returned by 4542 // DescribeAddonVersions (https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html). 4543 // 4544 // AddonName is a required field 4545 AddonName *string `locationName:"addonName" type:"string" required:"true"` 4546 4547 // The version of the add-on. The version must match one of the versions returned 4548 // by DescribeAddonVersions (https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html). 4549 AddonVersion *string `locationName:"addonVersion" type:"string"` 4550 4551 // A unique, case-sensitive identifier that you provide to ensure the idempotency 4552 // of the request. 4553 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 4554 4555 // The name of the cluster to create the add-on for. 4556 // 4557 // ClusterName is a required field 4558 ClusterName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 4559 4560 // How to resolve parameter value conflicts when migrating an existing add-on 4561 // to an Amazon EKS add-on. 4562 ResolveConflicts *string `locationName:"resolveConflicts" type:"string" enum:"ResolveConflicts"` 4563 4564 // The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's 4565 // service account. The role must be assigned the IAM permissions required by 4566 // the add-on. If you don't specify an existing IAM role, then the add-on uses 4567 // the permissions assigned to the node IAM role. For more information, see 4568 // Amazon EKS node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) 4569 // in the Amazon EKS User Guide. 4570 // 4571 // To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) 4572 // provider created for your cluster. For more information, see Enabling IAM 4573 // roles for service accounts on your cluster (https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) 4574 // in the Amazon EKS User Guide. 4575 ServiceAccountRoleArn *string `locationName:"serviceAccountRoleArn" min:"1" type:"string"` 4576 4577 // The metadata to apply to the cluster to assist with categorization and organization. 4578 // Each tag consists of a key and an optional value, both of which you define. 4579 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4580} 4581 4582// String returns the string representation 4583func (s CreateAddonInput) String() string { 4584 return awsutil.Prettify(s) 4585} 4586 4587// GoString returns the string representation 4588func (s CreateAddonInput) GoString() string { 4589 return s.String() 4590} 4591 4592// Validate inspects the fields of the type to determine if they are valid. 4593func (s *CreateAddonInput) Validate() error { 4594 invalidParams := request.ErrInvalidParams{Context: "CreateAddonInput"} 4595 if s.AddonName == nil { 4596 invalidParams.Add(request.NewErrParamRequired("AddonName")) 4597 } 4598 if s.ClusterName == nil { 4599 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 4600 } 4601 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 4602 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 4603 } 4604 if s.ServiceAccountRoleArn != nil && len(*s.ServiceAccountRoleArn) < 1 { 4605 invalidParams.Add(request.NewErrParamMinLen("ServiceAccountRoleArn", 1)) 4606 } 4607 if s.Tags != nil && len(s.Tags) < 1 { 4608 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4609 } 4610 4611 if invalidParams.Len() > 0 { 4612 return invalidParams 4613 } 4614 return nil 4615} 4616 4617// SetAddonName sets the AddonName field's value. 4618func (s *CreateAddonInput) SetAddonName(v string) *CreateAddonInput { 4619 s.AddonName = &v 4620 return s 4621} 4622 4623// SetAddonVersion sets the AddonVersion field's value. 4624func (s *CreateAddonInput) SetAddonVersion(v string) *CreateAddonInput { 4625 s.AddonVersion = &v 4626 return s 4627} 4628 4629// SetClientRequestToken sets the ClientRequestToken field's value. 4630func (s *CreateAddonInput) SetClientRequestToken(v string) *CreateAddonInput { 4631 s.ClientRequestToken = &v 4632 return s 4633} 4634 4635// SetClusterName sets the ClusterName field's value. 4636func (s *CreateAddonInput) SetClusterName(v string) *CreateAddonInput { 4637 s.ClusterName = &v 4638 return s 4639} 4640 4641// SetResolveConflicts sets the ResolveConflicts field's value. 4642func (s *CreateAddonInput) SetResolveConflicts(v string) *CreateAddonInput { 4643 s.ResolveConflicts = &v 4644 return s 4645} 4646 4647// SetServiceAccountRoleArn sets the ServiceAccountRoleArn field's value. 4648func (s *CreateAddonInput) SetServiceAccountRoleArn(v string) *CreateAddonInput { 4649 s.ServiceAccountRoleArn = &v 4650 return s 4651} 4652 4653// SetTags sets the Tags field's value. 4654func (s *CreateAddonInput) SetTags(v map[string]*string) *CreateAddonInput { 4655 s.Tags = v 4656 return s 4657} 4658 4659type CreateAddonOutput struct { 4660 _ struct{} `type:"structure"` 4661 4662 // An Amazon EKS add-on. 4663 Addon *Addon `locationName:"addon" type:"structure"` 4664} 4665 4666// String returns the string representation 4667func (s CreateAddonOutput) String() string { 4668 return awsutil.Prettify(s) 4669} 4670 4671// GoString returns the string representation 4672func (s CreateAddonOutput) GoString() string { 4673 return s.String() 4674} 4675 4676// SetAddon sets the Addon field's value. 4677func (s *CreateAddonOutput) SetAddon(v *Addon) *CreateAddonOutput { 4678 s.Addon = v 4679 return s 4680} 4681 4682type CreateClusterInput struct { 4683 _ struct{} `type:"structure"` 4684 4685 // Unique, case-sensitive identifier that you provide to ensure the idempotency 4686 // of the request. 4687 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 4688 4689 // The encryption configuration for the cluster. 4690 EncryptionConfig []*EncryptionConfig `locationName:"encryptionConfig" type:"list"` 4691 4692 // The Kubernetes network configuration for the cluster. 4693 KubernetesNetworkConfig *KubernetesNetworkConfigRequest `locationName:"kubernetesNetworkConfig" type:"structure"` 4694 4695 // Enable or disable exporting the Kubernetes control plane logs for your cluster 4696 // to CloudWatch Logs. By default, cluster control plane logs aren't exported 4697 // to CloudWatch Logs. For more information, see Amazon EKS Cluster control 4698 // plane logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) 4699 // in the Amazon EKS User Guide . 4700 // 4701 // CloudWatch Logs ingestion, archive storage, and data scanning rates apply 4702 // to exported control plane logs. For more information, see CloudWatch Pricing 4703 // (http://aws.amazon.com/cloudwatch/pricing/). 4704 Logging *Logging `locationName:"logging" type:"structure"` 4705 4706 // The unique name to give to your cluster. 4707 // 4708 // Name is a required field 4709 Name *string `locationName:"name" min:"1" type:"string" required:"true"` 4710 4711 // The VPC configuration used by the cluster control plane. Amazon EKS VPC resources 4712 // have specific requirements to work properly with Kubernetes. For more information, 4713 // see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) 4714 // and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) 4715 // in the Amazon EKS User Guide. You must specify at least two subnets. You 4716 // can specify up to five security groups, but we recommend that you use a dedicated 4717 // security group for your cluster control plane. 4718 // 4719 // ResourcesVpcConfig is a required field 4720 ResourcesVpcConfig *VpcConfigRequest `locationName:"resourcesVpcConfig" type:"structure" required:"true"` 4721 4722 // The Amazon Resource Name (ARN) of the IAM role that provides permissions 4723 // for the Kubernetes control plane to make calls to Amazon Web Services API 4724 // operations on your behalf. For more information, see Amazon EKS Service IAM 4725 // Role (https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html) 4726 // in the Amazon EKS User Guide . 4727 // 4728 // RoleArn is a required field 4729 RoleArn *string `locationName:"roleArn" type:"string" required:"true"` 4730 4731 // The metadata to apply to the cluster to assist with categorization and organization. 4732 // Each tag consists of a key and an optional value, both of which you define. 4733 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4734 4735 // The desired Kubernetes version for your cluster. If you don't specify a value 4736 // here, the latest version available in Amazon EKS is used. 4737 Version *string `locationName:"version" type:"string"` 4738} 4739 4740// String returns the string representation 4741func (s CreateClusterInput) String() string { 4742 return awsutil.Prettify(s) 4743} 4744 4745// GoString returns the string representation 4746func (s CreateClusterInput) GoString() string { 4747 return s.String() 4748} 4749 4750// Validate inspects the fields of the type to determine if they are valid. 4751func (s *CreateClusterInput) Validate() error { 4752 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 4753 if s.Name == nil { 4754 invalidParams.Add(request.NewErrParamRequired("Name")) 4755 } 4756 if s.Name != nil && len(*s.Name) < 1 { 4757 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 4758 } 4759 if s.ResourcesVpcConfig == nil { 4760 invalidParams.Add(request.NewErrParamRequired("ResourcesVpcConfig")) 4761 } 4762 if s.RoleArn == nil { 4763 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 4764 } 4765 if s.Tags != nil && len(s.Tags) < 1 { 4766 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4767 } 4768 4769 if invalidParams.Len() > 0 { 4770 return invalidParams 4771 } 4772 return nil 4773} 4774 4775// SetClientRequestToken sets the ClientRequestToken field's value. 4776func (s *CreateClusterInput) SetClientRequestToken(v string) *CreateClusterInput { 4777 s.ClientRequestToken = &v 4778 return s 4779} 4780 4781// SetEncryptionConfig sets the EncryptionConfig field's value. 4782func (s *CreateClusterInput) SetEncryptionConfig(v []*EncryptionConfig) *CreateClusterInput { 4783 s.EncryptionConfig = v 4784 return s 4785} 4786 4787// SetKubernetesNetworkConfig sets the KubernetesNetworkConfig field's value. 4788func (s *CreateClusterInput) SetKubernetesNetworkConfig(v *KubernetesNetworkConfigRequest) *CreateClusterInput { 4789 s.KubernetesNetworkConfig = v 4790 return s 4791} 4792 4793// SetLogging sets the Logging field's value. 4794func (s *CreateClusterInput) SetLogging(v *Logging) *CreateClusterInput { 4795 s.Logging = v 4796 return s 4797} 4798 4799// SetName sets the Name field's value. 4800func (s *CreateClusterInput) SetName(v string) *CreateClusterInput { 4801 s.Name = &v 4802 return s 4803} 4804 4805// SetResourcesVpcConfig sets the ResourcesVpcConfig field's value. 4806func (s *CreateClusterInput) SetResourcesVpcConfig(v *VpcConfigRequest) *CreateClusterInput { 4807 s.ResourcesVpcConfig = v 4808 return s 4809} 4810 4811// SetRoleArn sets the RoleArn field's value. 4812func (s *CreateClusterInput) SetRoleArn(v string) *CreateClusterInput { 4813 s.RoleArn = &v 4814 return s 4815} 4816 4817// SetTags sets the Tags field's value. 4818func (s *CreateClusterInput) SetTags(v map[string]*string) *CreateClusterInput { 4819 s.Tags = v 4820 return s 4821} 4822 4823// SetVersion sets the Version field's value. 4824func (s *CreateClusterInput) SetVersion(v string) *CreateClusterInput { 4825 s.Version = &v 4826 return s 4827} 4828 4829type CreateClusterOutput struct { 4830 _ struct{} `type:"structure"` 4831 4832 // The full description of your new cluster. 4833 Cluster *Cluster `locationName:"cluster" type:"structure"` 4834} 4835 4836// String returns the string representation 4837func (s CreateClusterOutput) String() string { 4838 return awsutil.Prettify(s) 4839} 4840 4841// GoString returns the string representation 4842func (s CreateClusterOutput) GoString() string { 4843 return s.String() 4844} 4845 4846// SetCluster sets the Cluster field's value. 4847func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 4848 s.Cluster = v 4849 return s 4850} 4851 4852type CreateFargateProfileInput struct { 4853 _ struct{} `type:"structure"` 4854 4855 // Unique, case-sensitive identifier that you provide to ensure the idempotency 4856 // of the request. 4857 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 4858 4859 // The name of the Amazon EKS cluster to apply the Fargate profile to. 4860 // 4861 // ClusterName is a required field 4862 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 4863 4864 // The name of the Fargate profile. 4865 // 4866 // FargateProfileName is a required field 4867 FargateProfileName *string `locationName:"fargateProfileName" type:"string" required:"true"` 4868 4869 // The Amazon Resource Name (ARN) of the pod execution role to use for pods 4870 // that match the selectors in the Fargate profile. The pod execution role allows 4871 // Fargate infrastructure to register with your cluster as a node, and it provides 4872 // read access to Amazon ECR image repositories. For more information, see Pod 4873 // Execution Role (https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html) 4874 // in the Amazon EKS User Guide. 4875 // 4876 // PodExecutionRoleArn is a required field 4877 PodExecutionRoleArn *string `locationName:"podExecutionRoleArn" type:"string" required:"true"` 4878 4879 // The selectors to match for pods to use this Fargate profile. Each selector 4880 // must have an associated namespace. Optionally, you can also specify labels 4881 // for a namespace. You may specify up to five selectors in a Fargate profile. 4882 Selectors []*FargateProfileSelector `locationName:"selectors" type:"list"` 4883 4884 // The IDs of subnets to launch your pods into. At this time, pods running on 4885 // Fargate are not assigned public IP addresses, so only private subnets (with 4886 // no direct route to an Internet Gateway) are accepted for this parameter. 4887 Subnets []*string `locationName:"subnets" type:"list"` 4888 4889 // The metadata to apply to the Fargate profile to assist with categorization 4890 // and organization. Each tag consists of a key and an optional value, both 4891 // of which you define. Fargate profile tags do not propagate to any other resources 4892 // associated with the Fargate profile, such as the pods that are scheduled 4893 // with it. 4894 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4895} 4896 4897// String returns the string representation 4898func (s CreateFargateProfileInput) String() string { 4899 return awsutil.Prettify(s) 4900} 4901 4902// GoString returns the string representation 4903func (s CreateFargateProfileInput) GoString() string { 4904 return s.String() 4905} 4906 4907// Validate inspects the fields of the type to determine if they are valid. 4908func (s *CreateFargateProfileInput) Validate() error { 4909 invalidParams := request.ErrInvalidParams{Context: "CreateFargateProfileInput"} 4910 if s.ClusterName == nil { 4911 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 4912 } 4913 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 4914 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 4915 } 4916 if s.FargateProfileName == nil { 4917 invalidParams.Add(request.NewErrParamRequired("FargateProfileName")) 4918 } 4919 if s.PodExecutionRoleArn == nil { 4920 invalidParams.Add(request.NewErrParamRequired("PodExecutionRoleArn")) 4921 } 4922 if s.Tags != nil && len(s.Tags) < 1 { 4923 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4924 } 4925 4926 if invalidParams.Len() > 0 { 4927 return invalidParams 4928 } 4929 return nil 4930} 4931 4932// SetClientRequestToken sets the ClientRequestToken field's value. 4933func (s *CreateFargateProfileInput) SetClientRequestToken(v string) *CreateFargateProfileInput { 4934 s.ClientRequestToken = &v 4935 return s 4936} 4937 4938// SetClusterName sets the ClusterName field's value. 4939func (s *CreateFargateProfileInput) SetClusterName(v string) *CreateFargateProfileInput { 4940 s.ClusterName = &v 4941 return s 4942} 4943 4944// SetFargateProfileName sets the FargateProfileName field's value. 4945func (s *CreateFargateProfileInput) SetFargateProfileName(v string) *CreateFargateProfileInput { 4946 s.FargateProfileName = &v 4947 return s 4948} 4949 4950// SetPodExecutionRoleArn sets the PodExecutionRoleArn field's value. 4951func (s *CreateFargateProfileInput) SetPodExecutionRoleArn(v string) *CreateFargateProfileInput { 4952 s.PodExecutionRoleArn = &v 4953 return s 4954} 4955 4956// SetSelectors sets the Selectors field's value. 4957func (s *CreateFargateProfileInput) SetSelectors(v []*FargateProfileSelector) *CreateFargateProfileInput { 4958 s.Selectors = v 4959 return s 4960} 4961 4962// SetSubnets sets the Subnets field's value. 4963func (s *CreateFargateProfileInput) SetSubnets(v []*string) *CreateFargateProfileInput { 4964 s.Subnets = v 4965 return s 4966} 4967 4968// SetTags sets the Tags field's value. 4969func (s *CreateFargateProfileInput) SetTags(v map[string]*string) *CreateFargateProfileInput { 4970 s.Tags = v 4971 return s 4972} 4973 4974type CreateFargateProfileOutput struct { 4975 _ struct{} `type:"structure"` 4976 4977 // The full description of your new Fargate profile. 4978 FargateProfile *FargateProfile `locationName:"fargateProfile" type:"structure"` 4979} 4980 4981// String returns the string representation 4982func (s CreateFargateProfileOutput) String() string { 4983 return awsutil.Prettify(s) 4984} 4985 4986// GoString returns the string representation 4987func (s CreateFargateProfileOutput) GoString() string { 4988 return s.String() 4989} 4990 4991// SetFargateProfile sets the FargateProfile field's value. 4992func (s *CreateFargateProfileOutput) SetFargateProfile(v *FargateProfile) *CreateFargateProfileOutput { 4993 s.FargateProfile = v 4994 return s 4995} 4996 4997type CreateNodegroupInput struct { 4998 _ struct{} `type:"structure"` 4999 5000 // The AMI type for your node group. GPU instance types should use the AL2_x86_64_GPU 5001 // AMI type. Non-GPU instances should use the AL2_x86_64 AMI type. Arm instances 5002 // should use the AL2_ARM_64 AMI type. All types use the Amazon EKS optimized 5003 // Amazon Linux 2 AMI. If you specify launchTemplate, and your launch template 5004 // uses a custom AMI, then don't specify amiType, or the node group deployment 5005 // will fail. For more information about using launch templates with Amazon 5006 // EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 5007 // in the Amazon EKS User Guide. 5008 AmiType *string `locationName:"amiType" type:"string" enum:"AMITypes"` 5009 5010 // The capacity type for your node group. 5011 CapacityType *string `locationName:"capacityType" type:"string" enum:"CapacityTypes"` 5012 5013 // Unique, case-sensitive identifier that you provide to ensure the idempotency 5014 // of the request. 5015 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 5016 5017 // The name of the cluster to create the node group in. 5018 // 5019 // ClusterName is a required field 5020 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 5021 5022 // The root device disk size (in GiB) for your node group instances. The default 5023 // disk size is 20 GiB. If you specify launchTemplate, then don't specify diskSize, 5024 // or the node group deployment will fail. For more information about using 5025 // launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 5026 // in the Amazon EKS User Guide. 5027 DiskSize *int64 `locationName:"diskSize" type:"integer"` 5028 5029 // Specify the instance types for a node group. If you specify a GPU instance 5030 // type, be sure to specify AL2_x86_64_GPU with the amiType parameter. If you 5031 // specify launchTemplate, then you can specify zero or one instance type in 5032 // your launch template or you can specify 0-20 instance types for instanceTypes. 5033 // If however, you specify an instance type in your launch template and specify 5034 // any instanceTypes, the node group deployment will fail. If you don't specify 5035 // an instance type in a launch template or for instanceTypes, then t3.medium 5036 // is used, by default. If you specify Spot for capacityType, then we recommend 5037 // specifying multiple values for instanceTypes. For more information, see Managed 5038 // node group capacity types (https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types) 5039 // and Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 5040 // in the Amazon EKS User Guide. 5041 InstanceTypes []*string `locationName:"instanceTypes" type:"list"` 5042 5043 // The Kubernetes labels to be applied to the nodes in the node group when they 5044 // are created. 5045 Labels map[string]*string `locationName:"labels" type:"map"` 5046 5047 // An object representing a node group's launch template specification. If specified, 5048 // then do not specify instanceTypes, diskSize, or remoteAccess and make sure 5049 // that the launch template meets the requirements in launchTemplateSpecification. 5050 LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` 5051 5052 // The Amazon Resource Name (ARN) of the IAM role to associate with your node 5053 // group. The Amazon EKS worker node kubelet daemon makes calls to Amazon Web 5054 // Services APIs on your behalf. Nodes receive permissions for these API calls 5055 // through an IAM instance profile and associated policies. Before you can launch 5056 // nodes and register them into a cluster, you must create an IAM role for those 5057 // nodes to use when they are launched. For more information, see Amazon EKS 5058 // node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html) 5059 // in the Amazon EKS User Guide . If you specify launchTemplate, then don't 5060 // specify IamInstanceProfile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html) 5061 // in your launch template, or the node group deployment will fail. For more 5062 // information about using launch templates with Amazon EKS, see Launch template 5063 // support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 5064 // in the Amazon EKS User Guide. 5065 // 5066 // NodeRole is a required field 5067 NodeRole *string `locationName:"nodeRole" type:"string" required:"true"` 5068 5069 // The unique name to give your node group. 5070 // 5071 // NodegroupName is a required field 5072 NodegroupName *string `locationName:"nodegroupName" type:"string" required:"true"` 5073 5074 // The AMI version of the Amazon EKS optimized AMI to use with your node group. 5075 // By default, the latest available AMI version for the node group's current 5076 // Kubernetes version is used. For more information, see Amazon EKS optimized 5077 // Amazon Linux 2 AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html) 5078 // in the Amazon EKS User Guide. If you specify launchTemplate, and your launch 5079 // template uses a custom AMI, then don't specify releaseVersion, or the node 5080 // group deployment will fail. For more information about using launch templates 5081 // with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 5082 // in the Amazon EKS User Guide. 5083 ReleaseVersion *string `locationName:"releaseVersion" type:"string"` 5084 5085 // The remote access (SSH) configuration to use with your node group. If you 5086 // specify launchTemplate, then don't specify remoteAccess, or the node group 5087 // deployment will fail. For more information about using launch templates with 5088 // Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 5089 // in the Amazon EKS User Guide. 5090 RemoteAccess *RemoteAccessConfig `locationName:"remoteAccess" type:"structure"` 5091 5092 // The scaling configuration details for the Auto Scaling group that is created 5093 // for your node group. 5094 ScalingConfig *NodegroupScalingConfig `locationName:"scalingConfig" type:"structure"` 5095 5096 // The subnets to use for the Auto Scaling group that is created for your node 5097 // group. If you specify launchTemplate, then don't specify SubnetId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html) 5098 // in your launch template, or the node group deployment will fail. For more 5099 // information about using launch templates with Amazon EKS, see Launch template 5100 // support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 5101 // in the Amazon EKS User Guide. 5102 // 5103 // Subnets is a required field 5104 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 5105 5106 // The metadata to apply to the node group to assist with categorization and 5107 // organization. Each tag consists of a key and an optional value, both of which 5108 // you define. Node group tags do not propagate to any other resources associated 5109 // with the node group, such as the Amazon EC2 instances or subnets. 5110 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 5111 5112 // The Kubernetes taints to be applied to the nodes in the node group. 5113 Taints []*Taint `locationName:"taints" type:"list"` 5114 5115 // The node group update configuration. 5116 UpdateConfig *NodegroupUpdateConfig `locationName:"updateConfig" type:"structure"` 5117 5118 // The Kubernetes version to use for your managed nodes. By default, the Kubernetes 5119 // version of the cluster is used, and this is the only accepted specified value. 5120 // If you specify launchTemplate, and your launch template uses a custom AMI, 5121 // then don't specify version, or the node group deployment will fail. For more 5122 // information about using launch templates with Amazon EKS, see Launch template 5123 // support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 5124 // in the Amazon EKS User Guide. 5125 Version *string `locationName:"version" type:"string"` 5126} 5127 5128// String returns the string representation 5129func (s CreateNodegroupInput) String() string { 5130 return awsutil.Prettify(s) 5131} 5132 5133// GoString returns the string representation 5134func (s CreateNodegroupInput) GoString() string { 5135 return s.String() 5136} 5137 5138// Validate inspects the fields of the type to determine if they are valid. 5139func (s *CreateNodegroupInput) Validate() error { 5140 invalidParams := request.ErrInvalidParams{Context: "CreateNodegroupInput"} 5141 if s.ClusterName == nil { 5142 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 5143 } 5144 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 5145 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 5146 } 5147 if s.NodeRole == nil { 5148 invalidParams.Add(request.NewErrParamRequired("NodeRole")) 5149 } 5150 if s.NodegroupName == nil { 5151 invalidParams.Add(request.NewErrParamRequired("NodegroupName")) 5152 } 5153 if s.Subnets == nil { 5154 invalidParams.Add(request.NewErrParamRequired("Subnets")) 5155 } 5156 if s.Tags != nil && len(s.Tags) < 1 { 5157 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 5158 } 5159 if s.ScalingConfig != nil { 5160 if err := s.ScalingConfig.Validate(); err != nil { 5161 invalidParams.AddNested("ScalingConfig", err.(request.ErrInvalidParams)) 5162 } 5163 } 5164 if s.Taints != nil { 5165 for i, v := range s.Taints { 5166 if v == nil { 5167 continue 5168 } 5169 if err := v.Validate(); err != nil { 5170 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Taints", i), err.(request.ErrInvalidParams)) 5171 } 5172 } 5173 } 5174 if s.UpdateConfig != nil { 5175 if err := s.UpdateConfig.Validate(); err != nil { 5176 invalidParams.AddNested("UpdateConfig", err.(request.ErrInvalidParams)) 5177 } 5178 } 5179 5180 if invalidParams.Len() > 0 { 5181 return invalidParams 5182 } 5183 return nil 5184} 5185 5186// SetAmiType sets the AmiType field's value. 5187func (s *CreateNodegroupInput) SetAmiType(v string) *CreateNodegroupInput { 5188 s.AmiType = &v 5189 return s 5190} 5191 5192// SetCapacityType sets the CapacityType field's value. 5193func (s *CreateNodegroupInput) SetCapacityType(v string) *CreateNodegroupInput { 5194 s.CapacityType = &v 5195 return s 5196} 5197 5198// SetClientRequestToken sets the ClientRequestToken field's value. 5199func (s *CreateNodegroupInput) SetClientRequestToken(v string) *CreateNodegroupInput { 5200 s.ClientRequestToken = &v 5201 return s 5202} 5203 5204// SetClusterName sets the ClusterName field's value. 5205func (s *CreateNodegroupInput) SetClusterName(v string) *CreateNodegroupInput { 5206 s.ClusterName = &v 5207 return s 5208} 5209 5210// SetDiskSize sets the DiskSize field's value. 5211func (s *CreateNodegroupInput) SetDiskSize(v int64) *CreateNodegroupInput { 5212 s.DiskSize = &v 5213 return s 5214} 5215 5216// SetInstanceTypes sets the InstanceTypes field's value. 5217func (s *CreateNodegroupInput) SetInstanceTypes(v []*string) *CreateNodegroupInput { 5218 s.InstanceTypes = v 5219 return s 5220} 5221 5222// SetLabels sets the Labels field's value. 5223func (s *CreateNodegroupInput) SetLabels(v map[string]*string) *CreateNodegroupInput { 5224 s.Labels = v 5225 return s 5226} 5227 5228// SetLaunchTemplate sets the LaunchTemplate field's value. 5229func (s *CreateNodegroupInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *CreateNodegroupInput { 5230 s.LaunchTemplate = v 5231 return s 5232} 5233 5234// SetNodeRole sets the NodeRole field's value. 5235func (s *CreateNodegroupInput) SetNodeRole(v string) *CreateNodegroupInput { 5236 s.NodeRole = &v 5237 return s 5238} 5239 5240// SetNodegroupName sets the NodegroupName field's value. 5241func (s *CreateNodegroupInput) SetNodegroupName(v string) *CreateNodegroupInput { 5242 s.NodegroupName = &v 5243 return s 5244} 5245 5246// SetReleaseVersion sets the ReleaseVersion field's value. 5247func (s *CreateNodegroupInput) SetReleaseVersion(v string) *CreateNodegroupInput { 5248 s.ReleaseVersion = &v 5249 return s 5250} 5251 5252// SetRemoteAccess sets the RemoteAccess field's value. 5253func (s *CreateNodegroupInput) SetRemoteAccess(v *RemoteAccessConfig) *CreateNodegroupInput { 5254 s.RemoteAccess = v 5255 return s 5256} 5257 5258// SetScalingConfig sets the ScalingConfig field's value. 5259func (s *CreateNodegroupInput) SetScalingConfig(v *NodegroupScalingConfig) *CreateNodegroupInput { 5260 s.ScalingConfig = v 5261 return s 5262} 5263 5264// SetSubnets sets the Subnets field's value. 5265func (s *CreateNodegroupInput) SetSubnets(v []*string) *CreateNodegroupInput { 5266 s.Subnets = v 5267 return s 5268} 5269 5270// SetTags sets the Tags field's value. 5271func (s *CreateNodegroupInput) SetTags(v map[string]*string) *CreateNodegroupInput { 5272 s.Tags = v 5273 return s 5274} 5275 5276// SetTaints sets the Taints field's value. 5277func (s *CreateNodegroupInput) SetTaints(v []*Taint) *CreateNodegroupInput { 5278 s.Taints = v 5279 return s 5280} 5281 5282// SetUpdateConfig sets the UpdateConfig field's value. 5283func (s *CreateNodegroupInput) SetUpdateConfig(v *NodegroupUpdateConfig) *CreateNodegroupInput { 5284 s.UpdateConfig = v 5285 return s 5286} 5287 5288// SetVersion sets the Version field's value. 5289func (s *CreateNodegroupInput) SetVersion(v string) *CreateNodegroupInput { 5290 s.Version = &v 5291 return s 5292} 5293 5294type CreateNodegroupOutput struct { 5295 _ struct{} `type:"structure"` 5296 5297 // The full description of your new node group. 5298 Nodegroup *Nodegroup `locationName:"nodegroup" type:"structure"` 5299} 5300 5301// String returns the string representation 5302func (s CreateNodegroupOutput) String() string { 5303 return awsutil.Prettify(s) 5304} 5305 5306// GoString returns the string representation 5307func (s CreateNodegroupOutput) GoString() string { 5308 return s.String() 5309} 5310 5311// SetNodegroup sets the Nodegroup field's value. 5312func (s *CreateNodegroupOutput) SetNodegroup(v *Nodegroup) *CreateNodegroupOutput { 5313 s.Nodegroup = v 5314 return s 5315} 5316 5317type DeleteAddonInput struct { 5318 _ struct{} `type:"structure"` 5319 5320 // The name of the add-on. The name must match one of the names returned by 5321 // ListAddons (https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html). 5322 // 5323 // AddonName is a required field 5324 AddonName *string `location:"uri" locationName:"addonName" type:"string" required:"true"` 5325 5326 // The name of the cluster to delete the add-on from. 5327 // 5328 // ClusterName is a required field 5329 ClusterName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 5330 5331 // Specifying this option preserves the add-on software on your cluster but 5332 // Amazon EKS stops managing any settings for the add-on. If an IAM account 5333 // is associated with the add-on, it is not removed. 5334 Preserve *bool `location:"querystring" locationName:"preserve" type:"boolean"` 5335} 5336 5337// String returns the string representation 5338func (s DeleteAddonInput) String() string { 5339 return awsutil.Prettify(s) 5340} 5341 5342// GoString returns the string representation 5343func (s DeleteAddonInput) GoString() string { 5344 return s.String() 5345} 5346 5347// Validate inspects the fields of the type to determine if they are valid. 5348func (s *DeleteAddonInput) Validate() error { 5349 invalidParams := request.ErrInvalidParams{Context: "DeleteAddonInput"} 5350 if s.AddonName == nil { 5351 invalidParams.Add(request.NewErrParamRequired("AddonName")) 5352 } 5353 if s.AddonName != nil && len(*s.AddonName) < 1 { 5354 invalidParams.Add(request.NewErrParamMinLen("AddonName", 1)) 5355 } 5356 if s.ClusterName == nil { 5357 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 5358 } 5359 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 5360 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 5361 } 5362 5363 if invalidParams.Len() > 0 { 5364 return invalidParams 5365 } 5366 return nil 5367} 5368 5369// SetAddonName sets the AddonName field's value. 5370func (s *DeleteAddonInput) SetAddonName(v string) *DeleteAddonInput { 5371 s.AddonName = &v 5372 return s 5373} 5374 5375// SetClusterName sets the ClusterName field's value. 5376func (s *DeleteAddonInput) SetClusterName(v string) *DeleteAddonInput { 5377 s.ClusterName = &v 5378 return s 5379} 5380 5381// SetPreserve sets the Preserve field's value. 5382func (s *DeleteAddonInput) SetPreserve(v bool) *DeleteAddonInput { 5383 s.Preserve = &v 5384 return s 5385} 5386 5387type DeleteAddonOutput struct { 5388 _ struct{} `type:"structure"` 5389 5390 // An Amazon EKS add-on. 5391 Addon *Addon `locationName:"addon" type:"structure"` 5392} 5393 5394// String returns the string representation 5395func (s DeleteAddonOutput) String() string { 5396 return awsutil.Prettify(s) 5397} 5398 5399// GoString returns the string representation 5400func (s DeleteAddonOutput) GoString() string { 5401 return s.String() 5402} 5403 5404// SetAddon sets the Addon field's value. 5405func (s *DeleteAddonOutput) SetAddon(v *Addon) *DeleteAddonOutput { 5406 s.Addon = v 5407 return s 5408} 5409 5410type DeleteClusterInput struct { 5411 _ struct{} `type:"structure"` 5412 5413 // The name of the cluster to delete. 5414 // 5415 // Name is a required field 5416 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 5417} 5418 5419// String returns the string representation 5420func (s DeleteClusterInput) String() string { 5421 return awsutil.Prettify(s) 5422} 5423 5424// GoString returns the string representation 5425func (s DeleteClusterInput) GoString() string { 5426 return s.String() 5427} 5428 5429// Validate inspects the fields of the type to determine if they are valid. 5430func (s *DeleteClusterInput) Validate() error { 5431 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 5432 if s.Name == nil { 5433 invalidParams.Add(request.NewErrParamRequired("Name")) 5434 } 5435 if s.Name != nil && len(*s.Name) < 1 { 5436 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 5437 } 5438 5439 if invalidParams.Len() > 0 { 5440 return invalidParams 5441 } 5442 return nil 5443} 5444 5445// SetName sets the Name field's value. 5446func (s *DeleteClusterInput) SetName(v string) *DeleteClusterInput { 5447 s.Name = &v 5448 return s 5449} 5450 5451type DeleteClusterOutput struct { 5452 _ struct{} `type:"structure"` 5453 5454 // The full description of the cluster to delete. 5455 Cluster *Cluster `locationName:"cluster" type:"structure"` 5456} 5457 5458// String returns the string representation 5459func (s DeleteClusterOutput) String() string { 5460 return awsutil.Prettify(s) 5461} 5462 5463// GoString returns the string representation 5464func (s DeleteClusterOutput) GoString() string { 5465 return s.String() 5466} 5467 5468// SetCluster sets the Cluster field's value. 5469func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 5470 s.Cluster = v 5471 return s 5472} 5473 5474type DeleteFargateProfileInput struct { 5475 _ struct{} `type:"structure"` 5476 5477 // The name of the Amazon EKS cluster associated with the Fargate profile to 5478 // delete. 5479 // 5480 // ClusterName is a required field 5481 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 5482 5483 // The name of the Fargate profile to delete. 5484 // 5485 // FargateProfileName is a required field 5486 FargateProfileName *string `location:"uri" locationName:"fargateProfileName" type:"string" required:"true"` 5487} 5488 5489// String returns the string representation 5490func (s DeleteFargateProfileInput) String() string { 5491 return awsutil.Prettify(s) 5492} 5493 5494// GoString returns the string representation 5495func (s DeleteFargateProfileInput) GoString() string { 5496 return s.String() 5497} 5498 5499// Validate inspects the fields of the type to determine if they are valid. 5500func (s *DeleteFargateProfileInput) Validate() error { 5501 invalidParams := request.ErrInvalidParams{Context: "DeleteFargateProfileInput"} 5502 if s.ClusterName == nil { 5503 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 5504 } 5505 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 5506 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 5507 } 5508 if s.FargateProfileName == nil { 5509 invalidParams.Add(request.NewErrParamRequired("FargateProfileName")) 5510 } 5511 if s.FargateProfileName != nil && len(*s.FargateProfileName) < 1 { 5512 invalidParams.Add(request.NewErrParamMinLen("FargateProfileName", 1)) 5513 } 5514 5515 if invalidParams.Len() > 0 { 5516 return invalidParams 5517 } 5518 return nil 5519} 5520 5521// SetClusterName sets the ClusterName field's value. 5522func (s *DeleteFargateProfileInput) SetClusterName(v string) *DeleteFargateProfileInput { 5523 s.ClusterName = &v 5524 return s 5525} 5526 5527// SetFargateProfileName sets the FargateProfileName field's value. 5528func (s *DeleteFargateProfileInput) SetFargateProfileName(v string) *DeleteFargateProfileInput { 5529 s.FargateProfileName = &v 5530 return s 5531} 5532 5533type DeleteFargateProfileOutput struct { 5534 _ struct{} `type:"structure"` 5535 5536 // The deleted Fargate profile. 5537 FargateProfile *FargateProfile `locationName:"fargateProfile" type:"structure"` 5538} 5539 5540// String returns the string representation 5541func (s DeleteFargateProfileOutput) String() string { 5542 return awsutil.Prettify(s) 5543} 5544 5545// GoString returns the string representation 5546func (s DeleteFargateProfileOutput) GoString() string { 5547 return s.String() 5548} 5549 5550// SetFargateProfile sets the FargateProfile field's value. 5551func (s *DeleteFargateProfileOutput) SetFargateProfile(v *FargateProfile) *DeleteFargateProfileOutput { 5552 s.FargateProfile = v 5553 return s 5554} 5555 5556type DeleteNodegroupInput struct { 5557 _ struct{} `type:"structure"` 5558 5559 // The name of the Amazon EKS cluster that is associated with your node group. 5560 // 5561 // ClusterName is a required field 5562 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 5563 5564 // The name of the node group to delete. 5565 // 5566 // NodegroupName is a required field 5567 NodegroupName *string `location:"uri" locationName:"nodegroupName" type:"string" required:"true"` 5568} 5569 5570// String returns the string representation 5571func (s DeleteNodegroupInput) String() string { 5572 return awsutil.Prettify(s) 5573} 5574 5575// GoString returns the string representation 5576func (s DeleteNodegroupInput) GoString() string { 5577 return s.String() 5578} 5579 5580// Validate inspects the fields of the type to determine if they are valid. 5581func (s *DeleteNodegroupInput) Validate() error { 5582 invalidParams := request.ErrInvalidParams{Context: "DeleteNodegroupInput"} 5583 if s.ClusterName == nil { 5584 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 5585 } 5586 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 5587 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 5588 } 5589 if s.NodegroupName == nil { 5590 invalidParams.Add(request.NewErrParamRequired("NodegroupName")) 5591 } 5592 if s.NodegroupName != nil && len(*s.NodegroupName) < 1 { 5593 invalidParams.Add(request.NewErrParamMinLen("NodegroupName", 1)) 5594 } 5595 5596 if invalidParams.Len() > 0 { 5597 return invalidParams 5598 } 5599 return nil 5600} 5601 5602// SetClusterName sets the ClusterName field's value. 5603func (s *DeleteNodegroupInput) SetClusterName(v string) *DeleteNodegroupInput { 5604 s.ClusterName = &v 5605 return s 5606} 5607 5608// SetNodegroupName sets the NodegroupName field's value. 5609func (s *DeleteNodegroupInput) SetNodegroupName(v string) *DeleteNodegroupInput { 5610 s.NodegroupName = &v 5611 return s 5612} 5613 5614type DeleteNodegroupOutput struct { 5615 _ struct{} `type:"structure"` 5616 5617 // The full description of your deleted node group. 5618 Nodegroup *Nodegroup `locationName:"nodegroup" type:"structure"` 5619} 5620 5621// String returns the string representation 5622func (s DeleteNodegroupOutput) String() string { 5623 return awsutil.Prettify(s) 5624} 5625 5626// GoString returns the string representation 5627func (s DeleteNodegroupOutput) GoString() string { 5628 return s.String() 5629} 5630 5631// SetNodegroup sets the Nodegroup field's value. 5632func (s *DeleteNodegroupOutput) SetNodegroup(v *Nodegroup) *DeleteNodegroupOutput { 5633 s.Nodegroup = v 5634 return s 5635} 5636 5637type DescribeAddonInput struct { 5638 _ struct{} `type:"structure"` 5639 5640 // The name of the add-on. The name must match one of the names returned by 5641 // ListAddons (https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html). 5642 // 5643 // AddonName is a required field 5644 AddonName *string `location:"uri" locationName:"addonName" type:"string" required:"true"` 5645 5646 // The name of the cluster. 5647 // 5648 // ClusterName is a required field 5649 ClusterName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 5650} 5651 5652// String returns the string representation 5653func (s DescribeAddonInput) String() string { 5654 return awsutil.Prettify(s) 5655} 5656 5657// GoString returns the string representation 5658func (s DescribeAddonInput) GoString() string { 5659 return s.String() 5660} 5661 5662// Validate inspects the fields of the type to determine if they are valid. 5663func (s *DescribeAddonInput) Validate() error { 5664 invalidParams := request.ErrInvalidParams{Context: "DescribeAddonInput"} 5665 if s.AddonName == nil { 5666 invalidParams.Add(request.NewErrParamRequired("AddonName")) 5667 } 5668 if s.AddonName != nil && len(*s.AddonName) < 1 { 5669 invalidParams.Add(request.NewErrParamMinLen("AddonName", 1)) 5670 } 5671 if s.ClusterName == nil { 5672 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 5673 } 5674 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 5675 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 5676 } 5677 5678 if invalidParams.Len() > 0 { 5679 return invalidParams 5680 } 5681 return nil 5682} 5683 5684// SetAddonName sets the AddonName field's value. 5685func (s *DescribeAddonInput) SetAddonName(v string) *DescribeAddonInput { 5686 s.AddonName = &v 5687 return s 5688} 5689 5690// SetClusterName sets the ClusterName field's value. 5691func (s *DescribeAddonInput) SetClusterName(v string) *DescribeAddonInput { 5692 s.ClusterName = &v 5693 return s 5694} 5695 5696type DescribeAddonOutput struct { 5697 _ struct{} `type:"structure"` 5698 5699 // An Amazon EKS add-on. 5700 Addon *Addon `locationName:"addon" type:"structure"` 5701} 5702 5703// String returns the string representation 5704func (s DescribeAddonOutput) String() string { 5705 return awsutil.Prettify(s) 5706} 5707 5708// GoString returns the string representation 5709func (s DescribeAddonOutput) GoString() string { 5710 return s.String() 5711} 5712 5713// SetAddon sets the Addon field's value. 5714func (s *DescribeAddonOutput) SetAddon(v *Addon) *DescribeAddonOutput { 5715 s.Addon = v 5716 return s 5717} 5718 5719type DescribeAddonVersionsInput struct { 5720 _ struct{} `type:"structure"` 5721 5722 // The name of the add-on. The name must match one of the names returned by 5723 // ListAddons (https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html). 5724 AddonName *string `location:"querystring" locationName:"addonName" type:"string"` 5725 5726 // The Kubernetes versions that the add-on can be used with. 5727 KubernetesVersion *string `location:"querystring" locationName:"kubernetesVersion" type:"string"` 5728 5729 // The maximum number of results to return. 5730 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 5731 5732 // The nextToken value returned from a previous paginated DescribeAddonVersionsRequest 5733 // where maxResults was used and the results exceeded the value of that parameter. 5734 // Pagination continues from the end of the previous results that returned the 5735 // nextToken value. 5736 // 5737 // This token should be treated as an opaque identifier that is used only to 5738 // retrieve the next items in a list and not for other programmatic purposes. 5739 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 5740} 5741 5742// String returns the string representation 5743func (s DescribeAddonVersionsInput) String() string { 5744 return awsutil.Prettify(s) 5745} 5746 5747// GoString returns the string representation 5748func (s DescribeAddonVersionsInput) GoString() string { 5749 return s.String() 5750} 5751 5752// Validate inspects the fields of the type to determine if they are valid. 5753func (s *DescribeAddonVersionsInput) Validate() error { 5754 invalidParams := request.ErrInvalidParams{Context: "DescribeAddonVersionsInput"} 5755 if s.MaxResults != nil && *s.MaxResults < 1 { 5756 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5757 } 5758 5759 if invalidParams.Len() > 0 { 5760 return invalidParams 5761 } 5762 return nil 5763} 5764 5765// SetAddonName sets the AddonName field's value. 5766func (s *DescribeAddonVersionsInput) SetAddonName(v string) *DescribeAddonVersionsInput { 5767 s.AddonName = &v 5768 return s 5769} 5770 5771// SetKubernetesVersion sets the KubernetesVersion field's value. 5772func (s *DescribeAddonVersionsInput) SetKubernetesVersion(v string) *DescribeAddonVersionsInput { 5773 s.KubernetesVersion = &v 5774 return s 5775} 5776 5777// SetMaxResults sets the MaxResults field's value. 5778func (s *DescribeAddonVersionsInput) SetMaxResults(v int64) *DescribeAddonVersionsInput { 5779 s.MaxResults = &v 5780 return s 5781} 5782 5783// SetNextToken sets the NextToken field's value. 5784func (s *DescribeAddonVersionsInput) SetNextToken(v string) *DescribeAddonVersionsInput { 5785 s.NextToken = &v 5786 return s 5787} 5788 5789type DescribeAddonVersionsOutput struct { 5790 _ struct{} `type:"structure"` 5791 5792 // The list of available versions with Kubernetes version compatibility. 5793 Addons []*AddonInfo `locationName:"addons" type:"list"` 5794 5795 // The nextToken value returned from a previous paginated DescribeAddonVersionsResponse 5796 // where maxResults was used and the results exceeded the value of that parameter. 5797 // Pagination continues from the end of the previous results that returned the 5798 // nextToken value. 5799 // 5800 // This token should be treated as an opaque identifier that is used only to 5801 // retrieve the next items in a list and not for other programmatic purposes. 5802 NextToken *string `locationName:"nextToken" type:"string"` 5803} 5804 5805// String returns the string representation 5806func (s DescribeAddonVersionsOutput) String() string { 5807 return awsutil.Prettify(s) 5808} 5809 5810// GoString returns the string representation 5811func (s DescribeAddonVersionsOutput) GoString() string { 5812 return s.String() 5813} 5814 5815// SetAddons sets the Addons field's value. 5816func (s *DescribeAddonVersionsOutput) SetAddons(v []*AddonInfo) *DescribeAddonVersionsOutput { 5817 s.Addons = v 5818 return s 5819} 5820 5821// SetNextToken sets the NextToken field's value. 5822func (s *DescribeAddonVersionsOutput) SetNextToken(v string) *DescribeAddonVersionsOutput { 5823 s.NextToken = &v 5824 return s 5825} 5826 5827type DescribeClusterInput struct { 5828 _ struct{} `type:"structure"` 5829 5830 // The name of the cluster to describe. 5831 // 5832 // Name is a required field 5833 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 5834} 5835 5836// String returns the string representation 5837func (s DescribeClusterInput) String() string { 5838 return awsutil.Prettify(s) 5839} 5840 5841// GoString returns the string representation 5842func (s DescribeClusterInput) GoString() string { 5843 return s.String() 5844} 5845 5846// Validate inspects the fields of the type to determine if they are valid. 5847func (s *DescribeClusterInput) Validate() error { 5848 invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"} 5849 if s.Name == nil { 5850 invalidParams.Add(request.NewErrParamRequired("Name")) 5851 } 5852 if s.Name != nil && len(*s.Name) < 1 { 5853 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 5854 } 5855 5856 if invalidParams.Len() > 0 { 5857 return invalidParams 5858 } 5859 return nil 5860} 5861 5862// SetName sets the Name field's value. 5863func (s *DescribeClusterInput) SetName(v string) *DescribeClusterInput { 5864 s.Name = &v 5865 return s 5866} 5867 5868type DescribeClusterOutput struct { 5869 _ struct{} `type:"structure"` 5870 5871 // The full description of your specified cluster. 5872 Cluster *Cluster `locationName:"cluster" type:"structure"` 5873} 5874 5875// String returns the string representation 5876func (s DescribeClusterOutput) String() string { 5877 return awsutil.Prettify(s) 5878} 5879 5880// GoString returns the string representation 5881func (s DescribeClusterOutput) GoString() string { 5882 return s.String() 5883} 5884 5885// SetCluster sets the Cluster field's value. 5886func (s *DescribeClusterOutput) SetCluster(v *Cluster) *DescribeClusterOutput { 5887 s.Cluster = v 5888 return s 5889} 5890 5891type DescribeFargateProfileInput struct { 5892 _ struct{} `type:"structure"` 5893 5894 // The name of the Amazon EKS cluster associated with the Fargate profile. 5895 // 5896 // ClusterName is a required field 5897 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 5898 5899 // The name of the Fargate profile to describe. 5900 // 5901 // FargateProfileName is a required field 5902 FargateProfileName *string `location:"uri" locationName:"fargateProfileName" type:"string" required:"true"` 5903} 5904 5905// String returns the string representation 5906func (s DescribeFargateProfileInput) String() string { 5907 return awsutil.Prettify(s) 5908} 5909 5910// GoString returns the string representation 5911func (s DescribeFargateProfileInput) GoString() string { 5912 return s.String() 5913} 5914 5915// Validate inspects the fields of the type to determine if they are valid. 5916func (s *DescribeFargateProfileInput) Validate() error { 5917 invalidParams := request.ErrInvalidParams{Context: "DescribeFargateProfileInput"} 5918 if s.ClusterName == nil { 5919 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 5920 } 5921 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 5922 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 5923 } 5924 if s.FargateProfileName == nil { 5925 invalidParams.Add(request.NewErrParamRequired("FargateProfileName")) 5926 } 5927 if s.FargateProfileName != nil && len(*s.FargateProfileName) < 1 { 5928 invalidParams.Add(request.NewErrParamMinLen("FargateProfileName", 1)) 5929 } 5930 5931 if invalidParams.Len() > 0 { 5932 return invalidParams 5933 } 5934 return nil 5935} 5936 5937// SetClusterName sets the ClusterName field's value. 5938func (s *DescribeFargateProfileInput) SetClusterName(v string) *DescribeFargateProfileInput { 5939 s.ClusterName = &v 5940 return s 5941} 5942 5943// SetFargateProfileName sets the FargateProfileName field's value. 5944func (s *DescribeFargateProfileInput) SetFargateProfileName(v string) *DescribeFargateProfileInput { 5945 s.FargateProfileName = &v 5946 return s 5947} 5948 5949type DescribeFargateProfileOutput struct { 5950 _ struct{} `type:"structure"` 5951 5952 // The full description of your Fargate profile. 5953 FargateProfile *FargateProfile `locationName:"fargateProfile" type:"structure"` 5954} 5955 5956// String returns the string representation 5957func (s DescribeFargateProfileOutput) String() string { 5958 return awsutil.Prettify(s) 5959} 5960 5961// GoString returns the string representation 5962func (s DescribeFargateProfileOutput) GoString() string { 5963 return s.String() 5964} 5965 5966// SetFargateProfile sets the FargateProfile field's value. 5967func (s *DescribeFargateProfileOutput) SetFargateProfile(v *FargateProfile) *DescribeFargateProfileOutput { 5968 s.FargateProfile = v 5969 return s 5970} 5971 5972type DescribeIdentityProviderConfigInput struct { 5973 _ struct{} `type:"structure"` 5974 5975 // The cluster name that the identity provider configuration is associated to. 5976 // 5977 // ClusterName is a required field 5978 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 5979 5980 // An object that represents an identity provider configuration. 5981 // 5982 // IdentityProviderConfig is a required field 5983 IdentityProviderConfig *IdentityProviderConfig `locationName:"identityProviderConfig" type:"structure" required:"true"` 5984} 5985 5986// String returns the string representation 5987func (s DescribeIdentityProviderConfigInput) String() string { 5988 return awsutil.Prettify(s) 5989} 5990 5991// GoString returns the string representation 5992func (s DescribeIdentityProviderConfigInput) GoString() string { 5993 return s.String() 5994} 5995 5996// Validate inspects the fields of the type to determine if they are valid. 5997func (s *DescribeIdentityProviderConfigInput) Validate() error { 5998 invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityProviderConfigInput"} 5999 if s.ClusterName == nil { 6000 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 6001 } 6002 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 6003 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 6004 } 6005 if s.IdentityProviderConfig == nil { 6006 invalidParams.Add(request.NewErrParamRequired("IdentityProviderConfig")) 6007 } 6008 if s.IdentityProviderConfig != nil { 6009 if err := s.IdentityProviderConfig.Validate(); err != nil { 6010 invalidParams.AddNested("IdentityProviderConfig", err.(request.ErrInvalidParams)) 6011 } 6012 } 6013 6014 if invalidParams.Len() > 0 { 6015 return invalidParams 6016 } 6017 return nil 6018} 6019 6020// SetClusterName sets the ClusterName field's value. 6021func (s *DescribeIdentityProviderConfigInput) SetClusterName(v string) *DescribeIdentityProviderConfigInput { 6022 s.ClusterName = &v 6023 return s 6024} 6025 6026// SetIdentityProviderConfig sets the IdentityProviderConfig field's value. 6027func (s *DescribeIdentityProviderConfigInput) SetIdentityProviderConfig(v *IdentityProviderConfig) *DescribeIdentityProviderConfigInput { 6028 s.IdentityProviderConfig = v 6029 return s 6030} 6031 6032type DescribeIdentityProviderConfigOutput struct { 6033 _ struct{} `type:"structure"` 6034 6035 // The object that represents an OpenID Connect (OIDC) identity provider configuration. 6036 IdentityProviderConfig *IdentityProviderConfigResponse `locationName:"identityProviderConfig" type:"structure"` 6037} 6038 6039// String returns the string representation 6040func (s DescribeIdentityProviderConfigOutput) String() string { 6041 return awsutil.Prettify(s) 6042} 6043 6044// GoString returns the string representation 6045func (s DescribeIdentityProviderConfigOutput) GoString() string { 6046 return s.String() 6047} 6048 6049// SetIdentityProviderConfig sets the IdentityProviderConfig field's value. 6050func (s *DescribeIdentityProviderConfigOutput) SetIdentityProviderConfig(v *IdentityProviderConfigResponse) *DescribeIdentityProviderConfigOutput { 6051 s.IdentityProviderConfig = v 6052 return s 6053} 6054 6055type DescribeNodegroupInput struct { 6056 _ struct{} `type:"structure"` 6057 6058 // The name of the Amazon EKS cluster associated with the node group. 6059 // 6060 // ClusterName is a required field 6061 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 6062 6063 // The name of the node group to describe. 6064 // 6065 // NodegroupName is a required field 6066 NodegroupName *string `location:"uri" locationName:"nodegroupName" type:"string" required:"true"` 6067} 6068 6069// String returns the string representation 6070func (s DescribeNodegroupInput) String() string { 6071 return awsutil.Prettify(s) 6072} 6073 6074// GoString returns the string representation 6075func (s DescribeNodegroupInput) GoString() string { 6076 return s.String() 6077} 6078 6079// Validate inspects the fields of the type to determine if they are valid. 6080func (s *DescribeNodegroupInput) Validate() error { 6081 invalidParams := request.ErrInvalidParams{Context: "DescribeNodegroupInput"} 6082 if s.ClusterName == nil { 6083 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 6084 } 6085 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 6086 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 6087 } 6088 if s.NodegroupName == nil { 6089 invalidParams.Add(request.NewErrParamRequired("NodegroupName")) 6090 } 6091 if s.NodegroupName != nil && len(*s.NodegroupName) < 1 { 6092 invalidParams.Add(request.NewErrParamMinLen("NodegroupName", 1)) 6093 } 6094 6095 if invalidParams.Len() > 0 { 6096 return invalidParams 6097 } 6098 return nil 6099} 6100 6101// SetClusterName sets the ClusterName field's value. 6102func (s *DescribeNodegroupInput) SetClusterName(v string) *DescribeNodegroupInput { 6103 s.ClusterName = &v 6104 return s 6105} 6106 6107// SetNodegroupName sets the NodegroupName field's value. 6108func (s *DescribeNodegroupInput) SetNodegroupName(v string) *DescribeNodegroupInput { 6109 s.NodegroupName = &v 6110 return s 6111} 6112 6113type DescribeNodegroupOutput struct { 6114 _ struct{} `type:"structure"` 6115 6116 // The full description of your node group. 6117 Nodegroup *Nodegroup `locationName:"nodegroup" type:"structure"` 6118} 6119 6120// String returns the string representation 6121func (s DescribeNodegroupOutput) String() string { 6122 return awsutil.Prettify(s) 6123} 6124 6125// GoString returns the string representation 6126func (s DescribeNodegroupOutput) GoString() string { 6127 return s.String() 6128} 6129 6130// SetNodegroup sets the Nodegroup field's value. 6131func (s *DescribeNodegroupOutput) SetNodegroup(v *Nodegroup) *DescribeNodegroupOutput { 6132 s.Nodegroup = v 6133 return s 6134} 6135 6136type DescribeUpdateInput struct { 6137 _ struct{} `type:"structure"` 6138 6139 // The name of the add-on. The name must match one of the names returned by 6140 // ListAddons (https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html). 6141 AddonName *string `location:"querystring" locationName:"addonName" type:"string"` 6142 6143 // The name of the Amazon EKS cluster associated with the update. 6144 // 6145 // Name is a required field 6146 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 6147 6148 // The name of the Amazon EKS node group associated with the update. 6149 NodegroupName *string `location:"querystring" locationName:"nodegroupName" type:"string"` 6150 6151 // The ID of the update to describe. 6152 // 6153 // UpdateId is a required field 6154 UpdateId *string `location:"uri" locationName:"updateId" type:"string" required:"true"` 6155} 6156 6157// String returns the string representation 6158func (s DescribeUpdateInput) String() string { 6159 return awsutil.Prettify(s) 6160} 6161 6162// GoString returns the string representation 6163func (s DescribeUpdateInput) GoString() string { 6164 return s.String() 6165} 6166 6167// Validate inspects the fields of the type to determine if they are valid. 6168func (s *DescribeUpdateInput) Validate() error { 6169 invalidParams := request.ErrInvalidParams{Context: "DescribeUpdateInput"} 6170 if s.Name == nil { 6171 invalidParams.Add(request.NewErrParamRequired("Name")) 6172 } 6173 if s.Name != nil && len(*s.Name) < 1 { 6174 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 6175 } 6176 if s.UpdateId == nil { 6177 invalidParams.Add(request.NewErrParamRequired("UpdateId")) 6178 } 6179 if s.UpdateId != nil && len(*s.UpdateId) < 1 { 6180 invalidParams.Add(request.NewErrParamMinLen("UpdateId", 1)) 6181 } 6182 6183 if invalidParams.Len() > 0 { 6184 return invalidParams 6185 } 6186 return nil 6187} 6188 6189// SetAddonName sets the AddonName field's value. 6190func (s *DescribeUpdateInput) SetAddonName(v string) *DescribeUpdateInput { 6191 s.AddonName = &v 6192 return s 6193} 6194 6195// SetName sets the Name field's value. 6196func (s *DescribeUpdateInput) SetName(v string) *DescribeUpdateInput { 6197 s.Name = &v 6198 return s 6199} 6200 6201// SetNodegroupName sets the NodegroupName field's value. 6202func (s *DescribeUpdateInput) SetNodegroupName(v string) *DescribeUpdateInput { 6203 s.NodegroupName = &v 6204 return s 6205} 6206 6207// SetUpdateId sets the UpdateId field's value. 6208func (s *DescribeUpdateInput) SetUpdateId(v string) *DescribeUpdateInput { 6209 s.UpdateId = &v 6210 return s 6211} 6212 6213type DescribeUpdateOutput struct { 6214 _ struct{} `type:"structure"` 6215 6216 // The full description of the specified update. 6217 Update *Update `locationName:"update" type:"structure"` 6218} 6219 6220// String returns the string representation 6221func (s DescribeUpdateOutput) String() string { 6222 return awsutil.Prettify(s) 6223} 6224 6225// GoString returns the string representation 6226func (s DescribeUpdateOutput) GoString() string { 6227 return s.String() 6228} 6229 6230// SetUpdate sets the Update field's value. 6231func (s *DescribeUpdateOutput) SetUpdate(v *Update) *DescribeUpdateOutput { 6232 s.Update = v 6233 return s 6234} 6235 6236type DisassociateIdentityProviderConfigInput struct { 6237 _ struct{} `type:"structure"` 6238 6239 // A unique, case-sensitive identifier that you provide to ensure the idempotency 6240 // of the request. 6241 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 6242 6243 // The name of the cluster to disassociate an identity provider from. 6244 // 6245 // ClusterName is a required field 6246 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 6247 6248 // An object that represents an identity provider configuration. 6249 // 6250 // IdentityProviderConfig is a required field 6251 IdentityProviderConfig *IdentityProviderConfig `locationName:"identityProviderConfig" type:"structure" required:"true"` 6252} 6253 6254// String returns the string representation 6255func (s DisassociateIdentityProviderConfigInput) String() string { 6256 return awsutil.Prettify(s) 6257} 6258 6259// GoString returns the string representation 6260func (s DisassociateIdentityProviderConfigInput) GoString() string { 6261 return s.String() 6262} 6263 6264// Validate inspects the fields of the type to determine if they are valid. 6265func (s *DisassociateIdentityProviderConfigInput) Validate() error { 6266 invalidParams := request.ErrInvalidParams{Context: "DisassociateIdentityProviderConfigInput"} 6267 if s.ClusterName == nil { 6268 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 6269 } 6270 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 6271 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 6272 } 6273 if s.IdentityProviderConfig == nil { 6274 invalidParams.Add(request.NewErrParamRequired("IdentityProviderConfig")) 6275 } 6276 if s.IdentityProviderConfig != nil { 6277 if err := s.IdentityProviderConfig.Validate(); err != nil { 6278 invalidParams.AddNested("IdentityProviderConfig", err.(request.ErrInvalidParams)) 6279 } 6280 } 6281 6282 if invalidParams.Len() > 0 { 6283 return invalidParams 6284 } 6285 return nil 6286} 6287 6288// SetClientRequestToken sets the ClientRequestToken field's value. 6289func (s *DisassociateIdentityProviderConfigInput) SetClientRequestToken(v string) *DisassociateIdentityProviderConfigInput { 6290 s.ClientRequestToken = &v 6291 return s 6292} 6293 6294// SetClusterName sets the ClusterName field's value. 6295func (s *DisassociateIdentityProviderConfigInput) SetClusterName(v string) *DisassociateIdentityProviderConfigInput { 6296 s.ClusterName = &v 6297 return s 6298} 6299 6300// SetIdentityProviderConfig sets the IdentityProviderConfig field's value. 6301func (s *DisassociateIdentityProviderConfigInput) SetIdentityProviderConfig(v *IdentityProviderConfig) *DisassociateIdentityProviderConfigInput { 6302 s.IdentityProviderConfig = v 6303 return s 6304} 6305 6306type DisassociateIdentityProviderConfigOutput struct { 6307 _ struct{} `type:"structure"` 6308 6309 // An object representing an asynchronous update. 6310 Update *Update `locationName:"update" type:"structure"` 6311} 6312 6313// String returns the string representation 6314func (s DisassociateIdentityProviderConfigOutput) String() string { 6315 return awsutil.Prettify(s) 6316} 6317 6318// GoString returns the string representation 6319func (s DisassociateIdentityProviderConfigOutput) GoString() string { 6320 return s.String() 6321} 6322 6323// SetUpdate sets the Update field's value. 6324func (s *DisassociateIdentityProviderConfigOutput) SetUpdate(v *Update) *DisassociateIdentityProviderConfigOutput { 6325 s.Update = v 6326 return s 6327} 6328 6329// The encryption configuration for the cluster. 6330type EncryptionConfig struct { 6331 _ struct{} `type:"structure"` 6332 6333 // Key Management Service (KMS) key. Either the ARN or the alias can be used. 6334 Provider *Provider `locationName:"provider" type:"structure"` 6335 6336 // Specifies the resources to be encrypted. The only supported value is "secrets". 6337 Resources []*string `locationName:"resources" type:"list"` 6338} 6339 6340// String returns the string representation 6341func (s EncryptionConfig) String() string { 6342 return awsutil.Prettify(s) 6343} 6344 6345// GoString returns the string representation 6346func (s EncryptionConfig) GoString() string { 6347 return s.String() 6348} 6349 6350// SetProvider sets the Provider field's value. 6351func (s *EncryptionConfig) SetProvider(v *Provider) *EncryptionConfig { 6352 s.Provider = v 6353 return s 6354} 6355 6356// SetResources sets the Resources field's value. 6357func (s *EncryptionConfig) SetResources(v []*string) *EncryptionConfig { 6358 s.Resources = v 6359 return s 6360} 6361 6362// An object representing an error when an asynchronous operation fails. 6363type ErrorDetail struct { 6364 _ struct{} `type:"structure"` 6365 6366 // A brief description of the error. 6367 // 6368 // * SubnetNotFound: We couldn't find one of the subnets associated with 6369 // the cluster. 6370 // 6371 // * SecurityGroupNotFound: We couldn't find one of the security groups associated 6372 // with the cluster. 6373 // 6374 // * EniLimitReached: You have reached the elastic network interface limit 6375 // for your account. 6376 // 6377 // * IpNotAvailable: A subnet associated with the cluster doesn't have any 6378 // free IP addresses. 6379 // 6380 // * AccessDenied: You don't have permissions to perform the specified operation. 6381 // 6382 // * OperationNotPermitted: The service role associated with the cluster 6383 // doesn't have the required access permissions for Amazon EKS. 6384 // 6385 // * VpcIdNotFound: We couldn't find the VPC associated with the cluster. 6386 ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"` 6387 6388 // A more complete description of the error. 6389 ErrorMessage *string `locationName:"errorMessage" type:"string"` 6390 6391 // An optional field that contains the resource IDs associated with the error. 6392 ResourceIds []*string `locationName:"resourceIds" type:"list"` 6393} 6394 6395// String returns the string representation 6396func (s ErrorDetail) String() string { 6397 return awsutil.Prettify(s) 6398} 6399 6400// GoString returns the string representation 6401func (s ErrorDetail) GoString() string { 6402 return s.String() 6403} 6404 6405// SetErrorCode sets the ErrorCode field's value. 6406func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail { 6407 s.ErrorCode = &v 6408 return s 6409} 6410 6411// SetErrorMessage sets the ErrorMessage field's value. 6412func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { 6413 s.ErrorMessage = &v 6414 return s 6415} 6416 6417// SetResourceIds sets the ResourceIds field's value. 6418func (s *ErrorDetail) SetResourceIds(v []*string) *ErrorDetail { 6419 s.ResourceIds = v 6420 return s 6421} 6422 6423// An object representing an Fargate profile. 6424type FargateProfile struct { 6425 _ struct{} `type:"structure"` 6426 6427 // The name of the Amazon EKS cluster that the Fargate profile belongs to. 6428 ClusterName *string `locationName:"clusterName" type:"string"` 6429 6430 // The Unix epoch timestamp in seconds for when the Fargate profile was created. 6431 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 6432 6433 // The full Amazon Resource Name (ARN) of the Fargate profile. 6434 FargateProfileArn *string `locationName:"fargateProfileArn" type:"string"` 6435 6436 // The name of the Fargate profile. 6437 FargateProfileName *string `locationName:"fargateProfileName" type:"string"` 6438 6439 // The Amazon Resource Name (ARN) of the pod execution role to use for pods 6440 // that match the selectors in the Fargate profile. For more information, see 6441 // Pod Execution Role (https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html) 6442 // in the Amazon EKS User Guide. 6443 PodExecutionRoleArn *string `locationName:"podExecutionRoleArn" type:"string"` 6444 6445 // The selectors to match for pods to use this Fargate profile. 6446 Selectors []*FargateProfileSelector `locationName:"selectors" type:"list"` 6447 6448 // The current status of the Fargate profile. 6449 Status *string `locationName:"status" type:"string" enum:"FargateProfileStatus"` 6450 6451 // The IDs of subnets to launch pods into. 6452 Subnets []*string `locationName:"subnets" type:"list"` 6453 6454 // The metadata applied to the Fargate profile to assist with categorization 6455 // and organization. Each tag consists of a key and an optional value, both 6456 // of which you define. Fargate profile tags do not propagate to any other resources 6457 // associated with the Fargate profile, such as the pods that are scheduled 6458 // with it. 6459 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 6460} 6461 6462// String returns the string representation 6463func (s FargateProfile) String() string { 6464 return awsutil.Prettify(s) 6465} 6466 6467// GoString returns the string representation 6468func (s FargateProfile) GoString() string { 6469 return s.String() 6470} 6471 6472// SetClusterName sets the ClusterName field's value. 6473func (s *FargateProfile) SetClusterName(v string) *FargateProfile { 6474 s.ClusterName = &v 6475 return s 6476} 6477 6478// SetCreatedAt sets the CreatedAt field's value. 6479func (s *FargateProfile) SetCreatedAt(v time.Time) *FargateProfile { 6480 s.CreatedAt = &v 6481 return s 6482} 6483 6484// SetFargateProfileArn sets the FargateProfileArn field's value. 6485func (s *FargateProfile) SetFargateProfileArn(v string) *FargateProfile { 6486 s.FargateProfileArn = &v 6487 return s 6488} 6489 6490// SetFargateProfileName sets the FargateProfileName field's value. 6491func (s *FargateProfile) SetFargateProfileName(v string) *FargateProfile { 6492 s.FargateProfileName = &v 6493 return s 6494} 6495 6496// SetPodExecutionRoleArn sets the PodExecutionRoleArn field's value. 6497func (s *FargateProfile) SetPodExecutionRoleArn(v string) *FargateProfile { 6498 s.PodExecutionRoleArn = &v 6499 return s 6500} 6501 6502// SetSelectors sets the Selectors field's value. 6503func (s *FargateProfile) SetSelectors(v []*FargateProfileSelector) *FargateProfile { 6504 s.Selectors = v 6505 return s 6506} 6507 6508// SetStatus sets the Status field's value. 6509func (s *FargateProfile) SetStatus(v string) *FargateProfile { 6510 s.Status = &v 6511 return s 6512} 6513 6514// SetSubnets sets the Subnets field's value. 6515func (s *FargateProfile) SetSubnets(v []*string) *FargateProfile { 6516 s.Subnets = v 6517 return s 6518} 6519 6520// SetTags sets the Tags field's value. 6521func (s *FargateProfile) SetTags(v map[string]*string) *FargateProfile { 6522 s.Tags = v 6523 return s 6524} 6525 6526// An object representing an Fargate profile selector. 6527type FargateProfileSelector struct { 6528 _ struct{} `type:"structure"` 6529 6530 // The Kubernetes labels that the selector should match. A pod must contain 6531 // all of the labels that are specified in the selector for it to be considered 6532 // a match. 6533 Labels map[string]*string `locationName:"labels" type:"map"` 6534 6535 // The Kubernetes namespace that the selector should match. 6536 Namespace *string `locationName:"namespace" type:"string"` 6537} 6538 6539// String returns the string representation 6540func (s FargateProfileSelector) String() string { 6541 return awsutil.Prettify(s) 6542} 6543 6544// GoString returns the string representation 6545func (s FargateProfileSelector) GoString() string { 6546 return s.String() 6547} 6548 6549// SetLabels sets the Labels field's value. 6550func (s *FargateProfileSelector) SetLabels(v map[string]*string) *FargateProfileSelector { 6551 s.Labels = v 6552 return s 6553} 6554 6555// SetNamespace sets the Namespace field's value. 6556func (s *FargateProfileSelector) SetNamespace(v string) *FargateProfileSelector { 6557 s.Namespace = &v 6558 return s 6559} 6560 6561// An object representing an identity provider. 6562type Identity struct { 6563 _ struct{} `type:"structure"` 6564 6565 // An object representing the OpenID Connect (https://openid.net/connect/) identity 6566 // provider information. 6567 Oidc *OIDC `locationName:"oidc" type:"structure"` 6568} 6569 6570// String returns the string representation 6571func (s Identity) String() string { 6572 return awsutil.Prettify(s) 6573} 6574 6575// GoString returns the string representation 6576func (s Identity) GoString() string { 6577 return s.String() 6578} 6579 6580// SetOidc sets the Oidc field's value. 6581func (s *Identity) SetOidc(v *OIDC) *Identity { 6582 s.Oidc = v 6583 return s 6584} 6585 6586// An object representing an identity provider configuration. 6587type IdentityProviderConfig struct { 6588 _ struct{} `type:"structure"` 6589 6590 // The name of the identity provider configuration. 6591 // 6592 // Name is a required field 6593 Name *string `locationName:"name" type:"string" required:"true"` 6594 6595 // The type of the identity provider configuration. 6596 // 6597 // Type is a required field 6598 Type *string `locationName:"type" type:"string" required:"true"` 6599} 6600 6601// String returns the string representation 6602func (s IdentityProviderConfig) String() string { 6603 return awsutil.Prettify(s) 6604} 6605 6606// GoString returns the string representation 6607func (s IdentityProviderConfig) GoString() string { 6608 return s.String() 6609} 6610 6611// Validate inspects the fields of the type to determine if they are valid. 6612func (s *IdentityProviderConfig) Validate() error { 6613 invalidParams := request.ErrInvalidParams{Context: "IdentityProviderConfig"} 6614 if s.Name == nil { 6615 invalidParams.Add(request.NewErrParamRequired("Name")) 6616 } 6617 if s.Type == nil { 6618 invalidParams.Add(request.NewErrParamRequired("Type")) 6619 } 6620 6621 if invalidParams.Len() > 0 { 6622 return invalidParams 6623 } 6624 return nil 6625} 6626 6627// SetName sets the Name field's value. 6628func (s *IdentityProviderConfig) SetName(v string) *IdentityProviderConfig { 6629 s.Name = &v 6630 return s 6631} 6632 6633// SetType sets the Type field's value. 6634func (s *IdentityProviderConfig) SetType(v string) *IdentityProviderConfig { 6635 s.Type = &v 6636 return s 6637} 6638 6639// An object that represents an identity configuration. 6640type IdentityProviderConfigResponse struct { 6641 _ struct{} `type:"structure"` 6642 6643 // An object that represents an OpenID Connect (OIDC) identity provider configuration. 6644 Oidc *OidcIdentityProviderConfig `locationName:"oidc" type:"structure"` 6645} 6646 6647// String returns the string representation 6648func (s IdentityProviderConfigResponse) String() string { 6649 return awsutil.Prettify(s) 6650} 6651 6652// GoString returns the string representation 6653func (s IdentityProviderConfigResponse) GoString() string { 6654 return s.String() 6655} 6656 6657// SetOidc sets the Oidc field's value. 6658func (s *IdentityProviderConfigResponse) SetOidc(v *OidcIdentityProviderConfig) *IdentityProviderConfigResponse { 6659 s.Oidc = v 6660 return s 6661} 6662 6663// The specified parameter is invalid. Review the available parameters for the 6664// API request. 6665type InvalidParameterException struct { 6666 _ struct{} `type:"structure"` 6667 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6668 6669 AddonName *string `locationName:"addonName" type:"string"` 6670 6671 // The Amazon EKS cluster associated with the exception. 6672 ClusterName *string `locationName:"clusterName" type:"string"` 6673 6674 // The Fargate profile associated with the exception. 6675 FargateProfileName *string `locationName:"fargateProfileName" type:"string"` 6676 6677 Message_ *string `locationName:"message" type:"string"` 6678 6679 // The Amazon EKS managed node group associated with the exception. 6680 NodegroupName *string `locationName:"nodegroupName" type:"string"` 6681} 6682 6683// String returns the string representation 6684func (s InvalidParameterException) String() string { 6685 return awsutil.Prettify(s) 6686} 6687 6688// GoString returns the string representation 6689func (s InvalidParameterException) GoString() string { 6690 return s.String() 6691} 6692 6693func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 6694 return &InvalidParameterException{ 6695 RespMetadata: v, 6696 } 6697} 6698 6699// Code returns the exception type name. 6700func (s *InvalidParameterException) Code() string { 6701 return "InvalidParameterException" 6702} 6703 6704// Message returns the exception's message. 6705func (s *InvalidParameterException) Message() string { 6706 if s.Message_ != nil { 6707 return *s.Message_ 6708 } 6709 return "" 6710} 6711 6712// OrigErr always returns nil, satisfies awserr.Error interface. 6713func (s *InvalidParameterException) OrigErr() error { 6714 return nil 6715} 6716 6717func (s *InvalidParameterException) Error() string { 6718 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 6719} 6720 6721// Status code returns the HTTP status code for the request's response error. 6722func (s *InvalidParameterException) StatusCode() int { 6723 return s.RespMetadata.StatusCode 6724} 6725 6726// RequestID returns the service's response RequestID for request. 6727func (s *InvalidParameterException) RequestID() string { 6728 return s.RespMetadata.RequestID 6729} 6730 6731// The request is invalid given the state of the cluster. Check the state of 6732// the cluster and the associated operations. 6733type InvalidRequestException struct { 6734 _ struct{} `type:"structure"` 6735 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6736 6737 AddonName *string `locationName:"addonName" type:"string"` 6738 6739 // The Amazon EKS cluster associated with the exception. 6740 ClusterName *string `locationName:"clusterName" type:"string"` 6741 6742 Message_ *string `locationName:"message" type:"string"` 6743 6744 // The Amazon EKS managed node group associated with the exception. 6745 NodegroupName *string `locationName:"nodegroupName" type:"string"` 6746} 6747 6748// String returns the string representation 6749func (s InvalidRequestException) String() string { 6750 return awsutil.Prettify(s) 6751} 6752 6753// GoString returns the string representation 6754func (s InvalidRequestException) GoString() string { 6755 return s.String() 6756} 6757 6758func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { 6759 return &InvalidRequestException{ 6760 RespMetadata: v, 6761 } 6762} 6763 6764// Code returns the exception type name. 6765func (s *InvalidRequestException) Code() string { 6766 return "InvalidRequestException" 6767} 6768 6769// Message returns the exception's message. 6770func (s *InvalidRequestException) Message() string { 6771 if s.Message_ != nil { 6772 return *s.Message_ 6773 } 6774 return "" 6775} 6776 6777// OrigErr always returns nil, satisfies awserr.Error interface. 6778func (s *InvalidRequestException) OrigErr() error { 6779 return nil 6780} 6781 6782func (s *InvalidRequestException) Error() string { 6783 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 6784} 6785 6786// Status code returns the HTTP status code for the request's response error. 6787func (s *InvalidRequestException) StatusCode() int { 6788 return s.RespMetadata.StatusCode 6789} 6790 6791// RequestID returns the service's response RequestID for request. 6792func (s *InvalidRequestException) RequestID() string { 6793 return s.RespMetadata.RequestID 6794} 6795 6796// An object representing an issue with an Amazon EKS resource. 6797type Issue struct { 6798 _ struct{} `type:"structure"` 6799 6800 // A brief description of the error. 6801 // 6802 // * AccessDenied: Amazon EKS or one or more of your managed nodes is failing 6803 // to authenticate or authorize with your Kubernetes cluster API server. 6804 // 6805 // * AsgInstanceLaunchFailures: Your Auto Scaling group is experiencing failures 6806 // while attempting to launch instances. 6807 // 6808 // * AutoScalingGroupNotFound: We couldn't find the Auto Scaling group associated 6809 // with the managed node group. You may be able to recreate an Auto Scaling 6810 // group with the same settings to recover. 6811 // 6812 // * ClusterUnreachable: Amazon EKS or one or more of your managed nodes 6813 // is unable to to communicate with your Kubernetes cluster API server. This 6814 // can happen if there are network disruptions or if API servers are timing 6815 // out processing requests. 6816 // 6817 // * Ec2LaunchTemplateNotFound: We couldn't find the Amazon EC2 launch template 6818 // for your managed node group. You may be able to recreate a launch template 6819 // with the same settings to recover. 6820 // 6821 // * Ec2LaunchTemplateVersionMismatch: The Amazon EC2 launch template version 6822 // for your managed node group does not match the version that Amazon EKS 6823 // created. You may be able to revert to the version that Amazon EKS created 6824 // to recover. 6825 // 6826 // * Ec2SecurityGroupDeletionFailure: We could not delete the remote access 6827 // security group for your managed node group. Remove any dependencies from 6828 // the security group. 6829 // 6830 // * Ec2SecurityGroupNotFound: We couldn't find the cluster security group 6831 // for the cluster. You must recreate your cluster. 6832 // 6833 // * Ec2SubnetInvalidConfiguration: One or more Amazon EC2 subnets specified 6834 // for a node group do not automatically assign public IP addresses to instances 6835 // launched into it. If you want your instances to be assigned a public IP 6836 // address, then you need to enable the auto-assign public IP address setting 6837 // for the subnet. See Modifying the public IPv4 addressing attribute for 6838 // your subnet (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-public-ip) 6839 // in the Amazon VPC User Guide. 6840 // 6841 // * IamInstanceProfileNotFound: We couldn't find the IAM instance profile 6842 // for your managed node group. You may be able to recreate an instance profile 6843 // with the same settings to recover. 6844 // 6845 // * IamNodeRoleNotFound: We couldn't find the IAM role for your managed 6846 // node group. You may be able to recreate an IAM role with the same settings 6847 // to recover. 6848 // 6849 // * InstanceLimitExceeded: Your Amazon Web Services account is unable to 6850 // launch any more instances of the specified instance type. You may be able 6851 // to request an Amazon EC2 instance limit increase to recover. 6852 // 6853 // * InsufficientFreeAddresses: One or more of the subnets associated with 6854 // your managed node group does not have enough available IP addresses for 6855 // new nodes. 6856 // 6857 // * InternalFailure: These errors are usually caused by an Amazon EKS server-side 6858 // issue. 6859 // 6860 // * NodeCreationFailure: Your launched instances are unable to register 6861 // with your Amazon EKS cluster. Common causes of this failure are insufficient 6862 // node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html) 6863 // permissions or lack of outbound internet access for the nodes. 6864 Code *string `locationName:"code" type:"string" enum:"NodegroupIssueCode"` 6865 6866 // The error message associated with the issue. 6867 Message *string `locationName:"message" type:"string"` 6868 6869 // The Amazon Web Services resources that are afflicted by this issue. 6870 ResourceIds []*string `locationName:"resourceIds" type:"list"` 6871} 6872 6873// String returns the string representation 6874func (s Issue) String() string { 6875 return awsutil.Prettify(s) 6876} 6877 6878// GoString returns the string representation 6879func (s Issue) GoString() string { 6880 return s.String() 6881} 6882 6883// SetCode sets the Code field's value. 6884func (s *Issue) SetCode(v string) *Issue { 6885 s.Code = &v 6886 return s 6887} 6888 6889// SetMessage sets the Message field's value. 6890func (s *Issue) SetMessage(v string) *Issue { 6891 s.Message = &v 6892 return s 6893} 6894 6895// SetResourceIds sets the ResourceIds field's value. 6896func (s *Issue) SetResourceIds(v []*string) *Issue { 6897 s.ResourceIds = v 6898 return s 6899} 6900 6901// The Kubernetes network configuration for the cluster. 6902type KubernetesNetworkConfigRequest struct { 6903 _ struct{} `type:"structure"` 6904 6905 // The CIDR block to assign Kubernetes service IP addresses from. If you don't 6906 // specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 6907 // or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that 6908 // does not overlap with resources in other networks that are peered or connected 6909 // to your VPC. The block must meet the following requirements: 6910 // 6911 // * Within one of the following private IP address blocks: 10.0.0.0/8, 172.16.0.0.0/12, 6912 // or 192.168.0.0/16. 6913 // 6914 // * Doesn't overlap with any CIDR block assigned to the VPC that you selected 6915 // for VPC. 6916 // 6917 // * Between /24 and /12. 6918 // 6919 // You can only specify a custom CIDR block when you create a cluster and can't 6920 // change this value once the cluster is created. 6921 ServiceIpv4Cidr *string `locationName:"serviceIpv4Cidr" type:"string"` 6922} 6923 6924// String returns the string representation 6925func (s KubernetesNetworkConfigRequest) String() string { 6926 return awsutil.Prettify(s) 6927} 6928 6929// GoString returns the string representation 6930func (s KubernetesNetworkConfigRequest) GoString() string { 6931 return s.String() 6932} 6933 6934// SetServiceIpv4Cidr sets the ServiceIpv4Cidr field's value. 6935func (s *KubernetesNetworkConfigRequest) SetServiceIpv4Cidr(v string) *KubernetesNetworkConfigRequest { 6936 s.ServiceIpv4Cidr = &v 6937 return s 6938} 6939 6940// The Kubernetes network configuration for the cluster. 6941type KubernetesNetworkConfigResponse struct { 6942 _ struct{} `type:"structure"` 6943 6944 // The CIDR block that Kubernetes service IP addresses are assigned from. If 6945 // you didn't specify a CIDR block when you created the cluster, then Kubernetes 6946 // assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. 6947 // If this was specified, then it was specified when the cluster was created 6948 // and it cannot be changed. 6949 ServiceIpv4Cidr *string `locationName:"serviceIpv4Cidr" type:"string"` 6950} 6951 6952// String returns the string representation 6953func (s KubernetesNetworkConfigResponse) String() string { 6954 return awsutil.Prettify(s) 6955} 6956 6957// GoString returns the string representation 6958func (s KubernetesNetworkConfigResponse) GoString() string { 6959 return s.String() 6960} 6961 6962// SetServiceIpv4Cidr sets the ServiceIpv4Cidr field's value. 6963func (s *KubernetesNetworkConfigResponse) SetServiceIpv4Cidr(v string) *KubernetesNetworkConfigResponse { 6964 s.ServiceIpv4Cidr = &v 6965 return s 6966} 6967 6968// An object representing a node group launch template specification. The launch 6969// template cannot include SubnetId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html), 6970// IamInstanceProfile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html), 6971// RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html), 6972// HibernationOptions (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_HibernationOptionsRequest.html), 6973// or TerminateInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TerminateInstances.html), 6974// or the node group deployment or update will fail. For more information about 6975// launch templates, see CreateLaunchTemplate (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) 6976// in the Amazon EC2 API Reference. For more information about using launch 6977// templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 6978// in the Amazon EKS User Guide. 6979// 6980// Specify either name or id, but not both. 6981type LaunchTemplateSpecification struct { 6982 _ struct{} `type:"structure"` 6983 6984 // The ID of the launch template. 6985 Id *string `locationName:"id" type:"string"` 6986 6987 // The name of the launch template. 6988 Name *string `locationName:"name" type:"string"` 6989 6990 // The version of the launch template to use. If no version is specified, then 6991 // the template's default version is used. 6992 Version *string `locationName:"version" type:"string"` 6993} 6994 6995// String returns the string representation 6996func (s LaunchTemplateSpecification) String() string { 6997 return awsutil.Prettify(s) 6998} 6999 7000// GoString returns the string representation 7001func (s LaunchTemplateSpecification) GoString() string { 7002 return s.String() 7003} 7004 7005// SetId sets the Id field's value. 7006func (s *LaunchTemplateSpecification) SetId(v string) *LaunchTemplateSpecification { 7007 s.Id = &v 7008 return s 7009} 7010 7011// SetName sets the Name field's value. 7012func (s *LaunchTemplateSpecification) SetName(v string) *LaunchTemplateSpecification { 7013 s.Name = &v 7014 return s 7015} 7016 7017// SetVersion sets the Version field's value. 7018func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification { 7019 s.Version = &v 7020 return s 7021} 7022 7023type ListAddonsInput struct { 7024 _ struct{} `type:"structure"` 7025 7026 // The name of the cluster. 7027 // 7028 // ClusterName is a required field 7029 ClusterName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 7030 7031 // The maximum number of add-on results returned by ListAddonsRequest in paginated 7032 // output. When you use this parameter, ListAddonsRequest returns only maxResults 7033 // results in a single page along with a nextToken response element. You can 7034 // see the remaining results of the initial request by sending another ListAddonsRequest 7035 // request with the returned nextToken value. This value can be between 1 and 7036 // 100. If you don't use this parameter, ListAddonsRequest returns up to 100 7037 // results and a nextToken value, if applicable. 7038 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7039 7040 // The nextToken value returned from a previous paginated ListAddonsRequest 7041 // where maxResults was used and the results exceeded the value of that parameter. 7042 // Pagination continues from the end of the previous results that returned the 7043 // nextToken value. 7044 // 7045 // This token should be treated as an opaque identifier that is used only to 7046 // retrieve the next items in a list and not for other programmatic purposes. 7047 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7048} 7049 7050// String returns the string representation 7051func (s ListAddonsInput) String() string { 7052 return awsutil.Prettify(s) 7053} 7054 7055// GoString returns the string representation 7056func (s ListAddonsInput) GoString() string { 7057 return s.String() 7058} 7059 7060// Validate inspects the fields of the type to determine if they are valid. 7061func (s *ListAddonsInput) Validate() error { 7062 invalidParams := request.ErrInvalidParams{Context: "ListAddonsInput"} 7063 if s.ClusterName == nil { 7064 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 7065 } 7066 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 7067 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 7068 } 7069 if s.MaxResults != nil && *s.MaxResults < 1 { 7070 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7071 } 7072 7073 if invalidParams.Len() > 0 { 7074 return invalidParams 7075 } 7076 return nil 7077} 7078 7079// SetClusterName sets the ClusterName field's value. 7080func (s *ListAddonsInput) SetClusterName(v string) *ListAddonsInput { 7081 s.ClusterName = &v 7082 return s 7083} 7084 7085// SetMaxResults sets the MaxResults field's value. 7086func (s *ListAddonsInput) SetMaxResults(v int64) *ListAddonsInput { 7087 s.MaxResults = &v 7088 return s 7089} 7090 7091// SetNextToken sets the NextToken field's value. 7092func (s *ListAddonsInput) SetNextToken(v string) *ListAddonsInput { 7093 s.NextToken = &v 7094 return s 7095} 7096 7097type ListAddonsOutput struct { 7098 _ struct{} `type:"structure"` 7099 7100 // A list of available add-ons. 7101 Addons []*string `locationName:"addons" type:"list"` 7102 7103 // The nextToken value returned from a previous paginated ListAddonsResponse 7104 // where maxResults was used and the results exceeded the value of that parameter. 7105 // Pagination continues from the end of the previous results that returned the 7106 // nextToken value. 7107 // 7108 // This token should be treated as an opaque identifier that is used only to 7109 // retrieve the next items in a list and not for other programmatic purposes. 7110 NextToken *string `locationName:"nextToken" type:"string"` 7111} 7112 7113// String returns the string representation 7114func (s ListAddonsOutput) String() string { 7115 return awsutil.Prettify(s) 7116} 7117 7118// GoString returns the string representation 7119func (s ListAddonsOutput) GoString() string { 7120 return s.String() 7121} 7122 7123// SetAddons sets the Addons field's value. 7124func (s *ListAddonsOutput) SetAddons(v []*string) *ListAddonsOutput { 7125 s.Addons = v 7126 return s 7127} 7128 7129// SetNextToken sets the NextToken field's value. 7130func (s *ListAddonsOutput) SetNextToken(v string) *ListAddonsOutput { 7131 s.NextToken = &v 7132 return s 7133} 7134 7135type ListClustersInput struct { 7136 _ struct{} `type:"structure"` 7137 7138 // The maximum number of cluster results returned by ListClusters in paginated 7139 // output. When you use this parameter, ListClusters returns only maxResults 7140 // results in a single page along with a nextToken response element. You can 7141 // see the remaining results of the initial request by sending another ListClusters 7142 // request with the returned nextToken value. This value can be between 1 and 7143 // 100. If you don't use this parameter, ListClusters returns up to 100 results 7144 // and a nextToken value if applicable. 7145 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7146 7147 // The nextToken value returned from a previous paginated ListClusters request 7148 // where maxResults was used and the results exceeded the value of that parameter. 7149 // Pagination continues from the end of the previous results that returned the 7150 // nextToken value. 7151 // 7152 // This token should be treated as an opaque identifier that is used only to 7153 // retrieve the next items in a list and not for other programmatic purposes. 7154 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7155} 7156 7157// String returns the string representation 7158func (s ListClustersInput) String() string { 7159 return awsutil.Prettify(s) 7160} 7161 7162// GoString returns the string representation 7163func (s ListClustersInput) GoString() string { 7164 return s.String() 7165} 7166 7167// Validate inspects the fields of the type to determine if they are valid. 7168func (s *ListClustersInput) Validate() error { 7169 invalidParams := request.ErrInvalidParams{Context: "ListClustersInput"} 7170 if s.MaxResults != nil && *s.MaxResults < 1 { 7171 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7172 } 7173 7174 if invalidParams.Len() > 0 { 7175 return invalidParams 7176 } 7177 return nil 7178} 7179 7180// SetMaxResults sets the MaxResults field's value. 7181func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 7182 s.MaxResults = &v 7183 return s 7184} 7185 7186// SetNextToken sets the NextToken field's value. 7187func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 7188 s.NextToken = &v 7189 return s 7190} 7191 7192type ListClustersOutput struct { 7193 _ struct{} `type:"structure"` 7194 7195 // A list of all of the clusters for your account in the specified Region. 7196 Clusters []*string `locationName:"clusters" type:"list"` 7197 7198 // The nextToken value to include in a future ListClusters request. When the 7199 // results of a ListClusters request exceed maxResults, you can use this value 7200 // to retrieve the next page of results. This value is null when there are no 7201 // more results to return. 7202 NextToken *string `locationName:"nextToken" type:"string"` 7203} 7204 7205// String returns the string representation 7206func (s ListClustersOutput) String() string { 7207 return awsutil.Prettify(s) 7208} 7209 7210// GoString returns the string representation 7211func (s ListClustersOutput) GoString() string { 7212 return s.String() 7213} 7214 7215// SetClusters sets the Clusters field's value. 7216func (s *ListClustersOutput) SetClusters(v []*string) *ListClustersOutput { 7217 s.Clusters = v 7218 return s 7219} 7220 7221// SetNextToken sets the NextToken field's value. 7222func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 7223 s.NextToken = &v 7224 return s 7225} 7226 7227type ListFargateProfilesInput struct { 7228 _ struct{} `type:"structure"` 7229 7230 // The name of the Amazon EKS cluster that you would like to list Fargate profiles 7231 // in. 7232 // 7233 // ClusterName is a required field 7234 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 7235 7236 // The maximum number of Fargate profile results returned by ListFargateProfiles 7237 // in paginated output. When you use this parameter, ListFargateProfiles returns 7238 // only maxResults results in a single page along with a nextToken response 7239 // element. You can see the remaining results of the initial request by sending 7240 // another ListFargateProfiles request with the returned nextToken value. This 7241 // value can be between 1 and 100. If you don't use this parameter, ListFargateProfiles 7242 // returns up to 100 results and a nextToken value if applicable. 7243 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7244 7245 // The nextToken value returned from a previous paginated ListFargateProfiles 7246 // request where maxResults was used and the results exceeded the value of that 7247 // parameter. Pagination continues from the end of the previous results that 7248 // returned the nextToken value. 7249 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7250} 7251 7252// String returns the string representation 7253func (s ListFargateProfilesInput) String() string { 7254 return awsutil.Prettify(s) 7255} 7256 7257// GoString returns the string representation 7258func (s ListFargateProfilesInput) GoString() string { 7259 return s.String() 7260} 7261 7262// Validate inspects the fields of the type to determine if they are valid. 7263func (s *ListFargateProfilesInput) Validate() error { 7264 invalidParams := request.ErrInvalidParams{Context: "ListFargateProfilesInput"} 7265 if s.ClusterName == nil { 7266 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 7267 } 7268 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 7269 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 7270 } 7271 if s.MaxResults != nil && *s.MaxResults < 1 { 7272 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7273 } 7274 7275 if invalidParams.Len() > 0 { 7276 return invalidParams 7277 } 7278 return nil 7279} 7280 7281// SetClusterName sets the ClusterName field's value. 7282func (s *ListFargateProfilesInput) SetClusterName(v string) *ListFargateProfilesInput { 7283 s.ClusterName = &v 7284 return s 7285} 7286 7287// SetMaxResults sets the MaxResults field's value. 7288func (s *ListFargateProfilesInput) SetMaxResults(v int64) *ListFargateProfilesInput { 7289 s.MaxResults = &v 7290 return s 7291} 7292 7293// SetNextToken sets the NextToken field's value. 7294func (s *ListFargateProfilesInput) SetNextToken(v string) *ListFargateProfilesInput { 7295 s.NextToken = &v 7296 return s 7297} 7298 7299type ListFargateProfilesOutput struct { 7300 _ struct{} `type:"structure"` 7301 7302 // A list of all of the Fargate profiles associated with the specified cluster. 7303 FargateProfileNames []*string `locationName:"fargateProfileNames" type:"list"` 7304 7305 // The nextToken value to include in a future ListFargateProfiles request. When 7306 // the results of a ListFargateProfiles request exceed maxResults, you can use 7307 // this value to retrieve the next page of results. This value is null when 7308 // there are no more results to return. 7309 NextToken *string `locationName:"nextToken" type:"string"` 7310} 7311 7312// String returns the string representation 7313func (s ListFargateProfilesOutput) String() string { 7314 return awsutil.Prettify(s) 7315} 7316 7317// GoString returns the string representation 7318func (s ListFargateProfilesOutput) GoString() string { 7319 return s.String() 7320} 7321 7322// SetFargateProfileNames sets the FargateProfileNames field's value. 7323func (s *ListFargateProfilesOutput) SetFargateProfileNames(v []*string) *ListFargateProfilesOutput { 7324 s.FargateProfileNames = v 7325 return s 7326} 7327 7328// SetNextToken sets the NextToken field's value. 7329func (s *ListFargateProfilesOutput) SetNextToken(v string) *ListFargateProfilesOutput { 7330 s.NextToken = &v 7331 return s 7332} 7333 7334type ListIdentityProviderConfigsInput struct { 7335 _ struct{} `type:"structure"` 7336 7337 // The cluster name that you want to list identity provider configurations for. 7338 // 7339 // ClusterName is a required field 7340 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 7341 7342 // The maximum number of identity provider configurations returned by ListIdentityProviderConfigs 7343 // in paginated output. When you use this parameter, ListIdentityProviderConfigs 7344 // returns only maxResults results in a single page along with a nextToken response 7345 // element. You can see the remaining results of the initial request by sending 7346 // another ListIdentityProviderConfigs request with the returned nextToken value. 7347 // This value can be between 1 and 100. If you don't use this parameter, ListIdentityProviderConfigs 7348 // returns up to 100 results and a nextToken value, if applicable. 7349 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7350 7351 // The nextToken value returned from a previous paginated IdentityProviderConfigsRequest 7352 // where maxResults was used and the results exceeded the value of that parameter. 7353 // Pagination continues from the end of the previous results that returned the 7354 // nextToken value. 7355 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7356} 7357 7358// String returns the string representation 7359func (s ListIdentityProviderConfigsInput) String() string { 7360 return awsutil.Prettify(s) 7361} 7362 7363// GoString returns the string representation 7364func (s ListIdentityProviderConfigsInput) GoString() string { 7365 return s.String() 7366} 7367 7368// Validate inspects the fields of the type to determine if they are valid. 7369func (s *ListIdentityProviderConfigsInput) Validate() error { 7370 invalidParams := request.ErrInvalidParams{Context: "ListIdentityProviderConfigsInput"} 7371 if s.ClusterName == nil { 7372 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 7373 } 7374 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 7375 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 7376 } 7377 if s.MaxResults != nil && *s.MaxResults < 1 { 7378 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7379 } 7380 7381 if invalidParams.Len() > 0 { 7382 return invalidParams 7383 } 7384 return nil 7385} 7386 7387// SetClusterName sets the ClusterName field's value. 7388func (s *ListIdentityProviderConfigsInput) SetClusterName(v string) *ListIdentityProviderConfigsInput { 7389 s.ClusterName = &v 7390 return s 7391} 7392 7393// SetMaxResults sets the MaxResults field's value. 7394func (s *ListIdentityProviderConfigsInput) SetMaxResults(v int64) *ListIdentityProviderConfigsInput { 7395 s.MaxResults = &v 7396 return s 7397} 7398 7399// SetNextToken sets the NextToken field's value. 7400func (s *ListIdentityProviderConfigsInput) SetNextToken(v string) *ListIdentityProviderConfigsInput { 7401 s.NextToken = &v 7402 return s 7403} 7404 7405type ListIdentityProviderConfigsOutput struct { 7406 _ struct{} `type:"structure"` 7407 7408 // The identity provider configurations for the cluster. 7409 IdentityProviderConfigs []*IdentityProviderConfig `locationName:"identityProviderConfigs" type:"list"` 7410 7411 // The nextToken value returned from a previous paginated ListIdentityProviderConfigsResponse 7412 // where maxResults was used and the results exceeded the value of that parameter. 7413 // Pagination continues from the end of the previous results that returned the 7414 // nextToken value. 7415 NextToken *string `locationName:"nextToken" type:"string"` 7416} 7417 7418// String returns the string representation 7419func (s ListIdentityProviderConfigsOutput) String() string { 7420 return awsutil.Prettify(s) 7421} 7422 7423// GoString returns the string representation 7424func (s ListIdentityProviderConfigsOutput) GoString() string { 7425 return s.String() 7426} 7427 7428// SetIdentityProviderConfigs sets the IdentityProviderConfigs field's value. 7429func (s *ListIdentityProviderConfigsOutput) SetIdentityProviderConfigs(v []*IdentityProviderConfig) *ListIdentityProviderConfigsOutput { 7430 s.IdentityProviderConfigs = v 7431 return s 7432} 7433 7434// SetNextToken sets the NextToken field's value. 7435func (s *ListIdentityProviderConfigsOutput) SetNextToken(v string) *ListIdentityProviderConfigsOutput { 7436 s.NextToken = &v 7437 return s 7438} 7439 7440type ListNodegroupsInput struct { 7441 _ struct{} `type:"structure"` 7442 7443 // The name of the Amazon EKS cluster that you would like to list node groups 7444 // in. 7445 // 7446 // ClusterName is a required field 7447 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 7448 7449 // The maximum number of node group results returned by ListNodegroups in paginated 7450 // output. When you use this parameter, ListNodegroups returns only maxResults 7451 // results in a single page along with a nextToken response element. You can 7452 // see the remaining results of the initial request by sending another ListNodegroups 7453 // request with the returned nextToken value. This value can be between 1 and 7454 // 100. If you don't use this parameter, ListNodegroups returns up to 100 results 7455 // and a nextToken value if applicable. 7456 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7457 7458 // The nextToken value returned from a previous paginated ListNodegroups request 7459 // where maxResults was used and the results exceeded the value of that parameter. 7460 // Pagination continues from the end of the previous results that returned the 7461 // nextToken value. 7462 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7463} 7464 7465// String returns the string representation 7466func (s ListNodegroupsInput) String() string { 7467 return awsutil.Prettify(s) 7468} 7469 7470// GoString returns the string representation 7471func (s ListNodegroupsInput) GoString() string { 7472 return s.String() 7473} 7474 7475// Validate inspects the fields of the type to determine if they are valid. 7476func (s *ListNodegroupsInput) Validate() error { 7477 invalidParams := request.ErrInvalidParams{Context: "ListNodegroupsInput"} 7478 if s.ClusterName == nil { 7479 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 7480 } 7481 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 7482 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 7483 } 7484 if s.MaxResults != nil && *s.MaxResults < 1 { 7485 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7486 } 7487 7488 if invalidParams.Len() > 0 { 7489 return invalidParams 7490 } 7491 return nil 7492} 7493 7494// SetClusterName sets the ClusterName field's value. 7495func (s *ListNodegroupsInput) SetClusterName(v string) *ListNodegroupsInput { 7496 s.ClusterName = &v 7497 return s 7498} 7499 7500// SetMaxResults sets the MaxResults field's value. 7501func (s *ListNodegroupsInput) SetMaxResults(v int64) *ListNodegroupsInput { 7502 s.MaxResults = &v 7503 return s 7504} 7505 7506// SetNextToken sets the NextToken field's value. 7507func (s *ListNodegroupsInput) SetNextToken(v string) *ListNodegroupsInput { 7508 s.NextToken = &v 7509 return s 7510} 7511 7512type ListNodegroupsOutput struct { 7513 _ struct{} `type:"structure"` 7514 7515 // The nextToken value to include in a future ListNodegroups request. When the 7516 // results of a ListNodegroups request exceed maxResults, you can use this value 7517 // to retrieve the next page of results. This value is null when there are no 7518 // more results to return. 7519 NextToken *string `locationName:"nextToken" type:"string"` 7520 7521 // A list of all of the node groups associated with the specified cluster. 7522 Nodegroups []*string `locationName:"nodegroups" type:"list"` 7523} 7524 7525// String returns the string representation 7526func (s ListNodegroupsOutput) String() string { 7527 return awsutil.Prettify(s) 7528} 7529 7530// GoString returns the string representation 7531func (s ListNodegroupsOutput) GoString() string { 7532 return s.String() 7533} 7534 7535// SetNextToken sets the NextToken field's value. 7536func (s *ListNodegroupsOutput) SetNextToken(v string) *ListNodegroupsOutput { 7537 s.NextToken = &v 7538 return s 7539} 7540 7541// SetNodegroups sets the Nodegroups field's value. 7542func (s *ListNodegroupsOutput) SetNodegroups(v []*string) *ListNodegroupsOutput { 7543 s.Nodegroups = v 7544 return s 7545} 7546 7547type ListTagsForResourceInput struct { 7548 _ struct{} `type:"structure"` 7549 7550 // The Amazon Resource Name (ARN) that identifies the resource for which to 7551 // list the tags. Currently, the supported resources are Amazon EKS clusters 7552 // and managed node groups. 7553 // 7554 // ResourceArn is a required field 7555 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 7556} 7557 7558// String returns the string representation 7559func (s ListTagsForResourceInput) String() string { 7560 return awsutil.Prettify(s) 7561} 7562 7563// GoString returns the string representation 7564func (s ListTagsForResourceInput) GoString() string { 7565 return s.String() 7566} 7567 7568// Validate inspects the fields of the type to determine if they are valid. 7569func (s *ListTagsForResourceInput) Validate() error { 7570 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 7571 if s.ResourceArn == nil { 7572 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 7573 } 7574 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 7575 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 7576 } 7577 7578 if invalidParams.Len() > 0 { 7579 return invalidParams 7580 } 7581 return nil 7582} 7583 7584// SetResourceArn sets the ResourceArn field's value. 7585func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 7586 s.ResourceArn = &v 7587 return s 7588} 7589 7590type ListTagsForResourceOutput struct { 7591 _ struct{} `type:"structure"` 7592 7593 // The tags for the resource. 7594 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 7595} 7596 7597// String returns the string representation 7598func (s ListTagsForResourceOutput) String() string { 7599 return awsutil.Prettify(s) 7600} 7601 7602// GoString returns the string representation 7603func (s ListTagsForResourceOutput) GoString() string { 7604 return s.String() 7605} 7606 7607// SetTags sets the Tags field's value. 7608func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 7609 s.Tags = v 7610 return s 7611} 7612 7613type ListUpdatesInput struct { 7614 _ struct{} `type:"structure"` 7615 7616 // The names of the installed add-ons that have available updates. 7617 AddonName *string `location:"querystring" locationName:"addonName" type:"string"` 7618 7619 // The maximum number of update results returned by ListUpdates in paginated 7620 // output. When you use this parameter, ListUpdates returns only maxResults 7621 // results in a single page along with a nextToken response element. You can 7622 // see the remaining results of the initial request by sending another ListUpdates 7623 // request with the returned nextToken value. This value can be between 1 and 7624 // 100. If you don't use this parameter, ListUpdates returns up to 100 results 7625 // and a nextToken value if applicable. 7626 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 7627 7628 // The name of the Amazon EKS cluster to list updates for. 7629 // 7630 // Name is a required field 7631 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 7632 7633 // The nextToken value returned from a previous paginated ListUpdates request 7634 // where maxResults was used and the results exceeded the value of that parameter. 7635 // Pagination continues from the end of the previous results that returned the 7636 // nextToken value. 7637 NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` 7638 7639 // The name of the Amazon EKS managed node group to list updates for. 7640 NodegroupName *string `location:"querystring" locationName:"nodegroupName" type:"string"` 7641} 7642 7643// String returns the string representation 7644func (s ListUpdatesInput) String() string { 7645 return awsutil.Prettify(s) 7646} 7647 7648// GoString returns the string representation 7649func (s ListUpdatesInput) GoString() string { 7650 return s.String() 7651} 7652 7653// Validate inspects the fields of the type to determine if they are valid. 7654func (s *ListUpdatesInput) Validate() error { 7655 invalidParams := request.ErrInvalidParams{Context: "ListUpdatesInput"} 7656 if s.MaxResults != nil && *s.MaxResults < 1 { 7657 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7658 } 7659 if s.Name == nil { 7660 invalidParams.Add(request.NewErrParamRequired("Name")) 7661 } 7662 if s.Name != nil && len(*s.Name) < 1 { 7663 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 7664 } 7665 7666 if invalidParams.Len() > 0 { 7667 return invalidParams 7668 } 7669 return nil 7670} 7671 7672// SetAddonName sets the AddonName field's value. 7673func (s *ListUpdatesInput) SetAddonName(v string) *ListUpdatesInput { 7674 s.AddonName = &v 7675 return s 7676} 7677 7678// SetMaxResults sets the MaxResults field's value. 7679func (s *ListUpdatesInput) SetMaxResults(v int64) *ListUpdatesInput { 7680 s.MaxResults = &v 7681 return s 7682} 7683 7684// SetName sets the Name field's value. 7685func (s *ListUpdatesInput) SetName(v string) *ListUpdatesInput { 7686 s.Name = &v 7687 return s 7688} 7689 7690// SetNextToken sets the NextToken field's value. 7691func (s *ListUpdatesInput) SetNextToken(v string) *ListUpdatesInput { 7692 s.NextToken = &v 7693 return s 7694} 7695 7696// SetNodegroupName sets the NodegroupName field's value. 7697func (s *ListUpdatesInput) SetNodegroupName(v string) *ListUpdatesInput { 7698 s.NodegroupName = &v 7699 return s 7700} 7701 7702type ListUpdatesOutput struct { 7703 _ struct{} `type:"structure"` 7704 7705 // The nextToken value to include in a future ListUpdates request. When the 7706 // results of a ListUpdates request exceed maxResults, you can use this value 7707 // to retrieve the next page of results. This value is null when there are no 7708 // more results to return. 7709 NextToken *string `locationName:"nextToken" type:"string"` 7710 7711 // A list of all the updates for the specified cluster and Region. 7712 UpdateIds []*string `locationName:"updateIds" type:"list"` 7713} 7714 7715// String returns the string representation 7716func (s ListUpdatesOutput) String() string { 7717 return awsutil.Prettify(s) 7718} 7719 7720// GoString returns the string representation 7721func (s ListUpdatesOutput) GoString() string { 7722 return s.String() 7723} 7724 7725// SetNextToken sets the NextToken field's value. 7726func (s *ListUpdatesOutput) SetNextToken(v string) *ListUpdatesOutput { 7727 s.NextToken = &v 7728 return s 7729} 7730 7731// SetUpdateIds sets the UpdateIds field's value. 7732func (s *ListUpdatesOutput) SetUpdateIds(v []*string) *ListUpdatesOutput { 7733 s.UpdateIds = v 7734 return s 7735} 7736 7737// An object representing the enabled or disabled Kubernetes control plane logs 7738// for your cluster. 7739type LogSetup struct { 7740 _ struct{} `type:"structure"` 7741 7742 // If a log type is enabled, that log type exports its control plane logs to 7743 // CloudWatch Logs. If a log type isn't enabled, that log type doesn't export 7744 // its control plane logs. Each individual log type can be enabled or disabled 7745 // independently. 7746 Enabled *bool `locationName:"enabled" type:"boolean"` 7747 7748 // The available cluster control plane log types. 7749 Types []*string `locationName:"types" type:"list"` 7750} 7751 7752// String returns the string representation 7753func (s LogSetup) String() string { 7754 return awsutil.Prettify(s) 7755} 7756 7757// GoString returns the string representation 7758func (s LogSetup) GoString() string { 7759 return s.String() 7760} 7761 7762// SetEnabled sets the Enabled field's value. 7763func (s *LogSetup) SetEnabled(v bool) *LogSetup { 7764 s.Enabled = &v 7765 return s 7766} 7767 7768// SetTypes sets the Types field's value. 7769func (s *LogSetup) SetTypes(v []*string) *LogSetup { 7770 s.Types = v 7771 return s 7772} 7773 7774// An object representing the logging configuration for resources in your cluster. 7775type Logging struct { 7776 _ struct{} `type:"structure"` 7777 7778 // The cluster control plane logging configuration for your cluster. 7779 ClusterLogging []*LogSetup `locationName:"clusterLogging" type:"list"` 7780} 7781 7782// String returns the string representation 7783func (s Logging) String() string { 7784 return awsutil.Prettify(s) 7785} 7786 7787// GoString returns the string representation 7788func (s Logging) GoString() string { 7789 return s.String() 7790} 7791 7792// SetClusterLogging sets the ClusterLogging field's value. 7793func (s *Logging) SetClusterLogging(v []*LogSetup) *Logging { 7794 s.ClusterLogging = v 7795 return s 7796} 7797 7798// An object representing an Amazon EKS managed node group. 7799type Nodegroup struct { 7800 _ struct{} `type:"structure"` 7801 7802 // If the node group was deployed using a launch template with a custom AMI, 7803 // then this is CUSTOM. For node groups that weren't deployed using a launch 7804 // template, this is the AMI type that was specified in the node group configuration. 7805 AmiType *string `locationName:"amiType" type:"string" enum:"AMITypes"` 7806 7807 // The capacity type of your managed node group. 7808 CapacityType *string `locationName:"capacityType" type:"string" enum:"CapacityTypes"` 7809 7810 // The name of the cluster that the managed node group resides in. 7811 ClusterName *string `locationName:"clusterName" type:"string"` 7812 7813 // The Unix epoch timestamp in seconds for when the managed node group was created. 7814 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 7815 7816 // If the node group wasn't deployed with a launch template, then this is the 7817 // disk size in the node group configuration. If the node group was deployed 7818 // with a launch template, then this is null. 7819 DiskSize *int64 `locationName:"diskSize" type:"integer"` 7820 7821 // The health status of the node group. If there are issues with your node group's 7822 // health, they are listed here. 7823 Health *NodegroupHealth `locationName:"health" type:"structure"` 7824 7825 // If the node group wasn't deployed with a launch template, then this is the 7826 // instance type that is associated with the node group. If the node group was 7827 // deployed with a launch template, then this is null. 7828 InstanceTypes []*string `locationName:"instanceTypes" type:"list"` 7829 7830 // The Kubernetes labels applied to the nodes in the node group. 7831 // 7832 // Only labels that are applied with the Amazon EKS API are shown here. There 7833 // may be other Kubernetes labels applied to the nodes in this group. 7834 Labels map[string]*string `locationName:"labels" type:"map"` 7835 7836 // If a launch template was used to create the node group, then this is the 7837 // launch template that was used. 7838 LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` 7839 7840 // The Unix epoch timestamp in seconds for when the managed node group was last 7841 // modified. 7842 ModifiedAt *time.Time `locationName:"modifiedAt" type:"timestamp"` 7843 7844 // The IAM role associated with your node group. The Amazon EKS node kubelet 7845 // daemon makes calls to Amazon Web Services APIs on your behalf. Nodes receive 7846 // permissions for these API calls through an IAM instance profile and associated 7847 // policies. 7848 NodeRole *string `locationName:"nodeRole" type:"string"` 7849 7850 // The Amazon Resource Name (ARN) associated with the managed node group. 7851 NodegroupArn *string `locationName:"nodegroupArn" type:"string"` 7852 7853 // The name associated with an Amazon EKS managed node group. 7854 NodegroupName *string `locationName:"nodegroupName" type:"string"` 7855 7856 // If the node group was deployed using a launch template with a custom AMI, 7857 // then this is the AMI ID that was specified in the launch template. For node 7858 // groups that weren't deployed using a launch template, this is the version 7859 // of the Amazon EKS optimized AMI that the node group was deployed with. 7860 ReleaseVersion *string `locationName:"releaseVersion" type:"string"` 7861 7862 // If the node group wasn't deployed with a launch template, then this is the 7863 // remote access configuration that is associated with the node group. If the 7864 // node group was deployed with a launch template, then this is null. 7865 RemoteAccess *RemoteAccessConfig `locationName:"remoteAccess" type:"structure"` 7866 7867 // The resources associated with the node group, such as Auto Scaling groups 7868 // and security groups for remote access. 7869 Resources *NodegroupResources `locationName:"resources" type:"structure"` 7870 7871 // The scaling configuration details for the Auto Scaling group that is associated 7872 // with your node group. 7873 ScalingConfig *NodegroupScalingConfig `locationName:"scalingConfig" type:"structure"` 7874 7875 // The current status of the managed node group. 7876 Status *string `locationName:"status" type:"string" enum:"NodegroupStatus"` 7877 7878 // The subnets that were specified for the Auto Scaling group that is associated 7879 // with your node group. 7880 Subnets []*string `locationName:"subnets" type:"list"` 7881 7882 // The metadata applied to the node group to assist with categorization and 7883 // organization. Each tag consists of a key and an optional value, both of which 7884 // you define. Node group tags do not propagate to any other resources associated 7885 // with the node group, such as the Amazon EC2 instances or subnets. 7886 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 7887 7888 // The Kubernetes taints to be applied to the nodes in the node group when they 7889 // are created. Effect is one of No_Schedule, Prefer_No_Schedule, or No_Execute. 7890 // Kubernetes taints can be used together with tolerations to control how workloads 7891 // are scheduled to your nodes. 7892 Taints []*Taint `locationName:"taints" type:"list"` 7893 7894 // The node group update configuration. 7895 UpdateConfig *NodegroupUpdateConfig `locationName:"updateConfig" type:"structure"` 7896 7897 // The Kubernetes version of the managed node group. 7898 Version *string `locationName:"version" type:"string"` 7899} 7900 7901// String returns the string representation 7902func (s Nodegroup) String() string { 7903 return awsutil.Prettify(s) 7904} 7905 7906// GoString returns the string representation 7907func (s Nodegroup) GoString() string { 7908 return s.String() 7909} 7910 7911// SetAmiType sets the AmiType field's value. 7912func (s *Nodegroup) SetAmiType(v string) *Nodegroup { 7913 s.AmiType = &v 7914 return s 7915} 7916 7917// SetCapacityType sets the CapacityType field's value. 7918func (s *Nodegroup) SetCapacityType(v string) *Nodegroup { 7919 s.CapacityType = &v 7920 return s 7921} 7922 7923// SetClusterName sets the ClusterName field's value. 7924func (s *Nodegroup) SetClusterName(v string) *Nodegroup { 7925 s.ClusterName = &v 7926 return s 7927} 7928 7929// SetCreatedAt sets the CreatedAt field's value. 7930func (s *Nodegroup) SetCreatedAt(v time.Time) *Nodegroup { 7931 s.CreatedAt = &v 7932 return s 7933} 7934 7935// SetDiskSize sets the DiskSize field's value. 7936func (s *Nodegroup) SetDiskSize(v int64) *Nodegroup { 7937 s.DiskSize = &v 7938 return s 7939} 7940 7941// SetHealth sets the Health field's value. 7942func (s *Nodegroup) SetHealth(v *NodegroupHealth) *Nodegroup { 7943 s.Health = v 7944 return s 7945} 7946 7947// SetInstanceTypes sets the InstanceTypes field's value. 7948func (s *Nodegroup) SetInstanceTypes(v []*string) *Nodegroup { 7949 s.InstanceTypes = v 7950 return s 7951} 7952 7953// SetLabels sets the Labels field's value. 7954func (s *Nodegroup) SetLabels(v map[string]*string) *Nodegroup { 7955 s.Labels = v 7956 return s 7957} 7958 7959// SetLaunchTemplate sets the LaunchTemplate field's value. 7960func (s *Nodegroup) SetLaunchTemplate(v *LaunchTemplateSpecification) *Nodegroup { 7961 s.LaunchTemplate = v 7962 return s 7963} 7964 7965// SetModifiedAt sets the ModifiedAt field's value. 7966func (s *Nodegroup) SetModifiedAt(v time.Time) *Nodegroup { 7967 s.ModifiedAt = &v 7968 return s 7969} 7970 7971// SetNodeRole sets the NodeRole field's value. 7972func (s *Nodegroup) SetNodeRole(v string) *Nodegroup { 7973 s.NodeRole = &v 7974 return s 7975} 7976 7977// SetNodegroupArn sets the NodegroupArn field's value. 7978func (s *Nodegroup) SetNodegroupArn(v string) *Nodegroup { 7979 s.NodegroupArn = &v 7980 return s 7981} 7982 7983// SetNodegroupName sets the NodegroupName field's value. 7984func (s *Nodegroup) SetNodegroupName(v string) *Nodegroup { 7985 s.NodegroupName = &v 7986 return s 7987} 7988 7989// SetReleaseVersion sets the ReleaseVersion field's value. 7990func (s *Nodegroup) SetReleaseVersion(v string) *Nodegroup { 7991 s.ReleaseVersion = &v 7992 return s 7993} 7994 7995// SetRemoteAccess sets the RemoteAccess field's value. 7996func (s *Nodegroup) SetRemoteAccess(v *RemoteAccessConfig) *Nodegroup { 7997 s.RemoteAccess = v 7998 return s 7999} 8000 8001// SetResources sets the Resources field's value. 8002func (s *Nodegroup) SetResources(v *NodegroupResources) *Nodegroup { 8003 s.Resources = v 8004 return s 8005} 8006 8007// SetScalingConfig sets the ScalingConfig field's value. 8008func (s *Nodegroup) SetScalingConfig(v *NodegroupScalingConfig) *Nodegroup { 8009 s.ScalingConfig = v 8010 return s 8011} 8012 8013// SetStatus sets the Status field's value. 8014func (s *Nodegroup) SetStatus(v string) *Nodegroup { 8015 s.Status = &v 8016 return s 8017} 8018 8019// SetSubnets sets the Subnets field's value. 8020func (s *Nodegroup) SetSubnets(v []*string) *Nodegroup { 8021 s.Subnets = v 8022 return s 8023} 8024 8025// SetTags sets the Tags field's value. 8026func (s *Nodegroup) SetTags(v map[string]*string) *Nodegroup { 8027 s.Tags = v 8028 return s 8029} 8030 8031// SetTaints sets the Taints field's value. 8032func (s *Nodegroup) SetTaints(v []*Taint) *Nodegroup { 8033 s.Taints = v 8034 return s 8035} 8036 8037// SetUpdateConfig sets the UpdateConfig field's value. 8038func (s *Nodegroup) SetUpdateConfig(v *NodegroupUpdateConfig) *Nodegroup { 8039 s.UpdateConfig = v 8040 return s 8041} 8042 8043// SetVersion sets the Version field's value. 8044func (s *Nodegroup) SetVersion(v string) *Nodegroup { 8045 s.Version = &v 8046 return s 8047} 8048 8049// An object representing the health status of the node group. 8050type NodegroupHealth struct { 8051 _ struct{} `type:"structure"` 8052 8053 // Any issues that are associated with the node group. 8054 Issues []*Issue `locationName:"issues" type:"list"` 8055} 8056 8057// String returns the string representation 8058func (s NodegroupHealth) String() string { 8059 return awsutil.Prettify(s) 8060} 8061 8062// GoString returns the string representation 8063func (s NodegroupHealth) GoString() string { 8064 return s.String() 8065} 8066 8067// SetIssues sets the Issues field's value. 8068func (s *NodegroupHealth) SetIssues(v []*Issue) *NodegroupHealth { 8069 s.Issues = v 8070 return s 8071} 8072 8073// An object representing the resources associated with the node group, such 8074// as Auto Scaling groups and security groups for remote access. 8075type NodegroupResources struct { 8076 _ struct{} `type:"structure"` 8077 8078 // The Auto Scaling groups associated with the node group. 8079 AutoScalingGroups []*AutoScalingGroup `locationName:"autoScalingGroups" type:"list"` 8080 8081 // The remote access security group associated with the node group. This security 8082 // group controls SSH access to the nodes. 8083 RemoteAccessSecurityGroup *string `locationName:"remoteAccessSecurityGroup" type:"string"` 8084} 8085 8086// String returns the string representation 8087func (s NodegroupResources) String() string { 8088 return awsutil.Prettify(s) 8089} 8090 8091// GoString returns the string representation 8092func (s NodegroupResources) GoString() string { 8093 return s.String() 8094} 8095 8096// SetAutoScalingGroups sets the AutoScalingGroups field's value. 8097func (s *NodegroupResources) SetAutoScalingGroups(v []*AutoScalingGroup) *NodegroupResources { 8098 s.AutoScalingGroups = v 8099 return s 8100} 8101 8102// SetRemoteAccessSecurityGroup sets the RemoteAccessSecurityGroup field's value. 8103func (s *NodegroupResources) SetRemoteAccessSecurityGroup(v string) *NodegroupResources { 8104 s.RemoteAccessSecurityGroup = &v 8105 return s 8106} 8107 8108// An object representing the scaling configuration details for the Auto Scaling 8109// group that is associated with your node group. When creating a node group, 8110// you must specify all or none of the properties. When updating a node group, 8111// you can specify any or none of the properties. 8112type NodegroupScalingConfig struct { 8113 _ struct{} `type:"structure"` 8114 8115 // The current number of nodes that the managed node group should maintain. 8116 DesiredSize *int64 `locationName:"desiredSize" type:"integer"` 8117 8118 // The maximum number of nodes that the managed node group can scale out to. 8119 // For information about the maximum number that you can specify, see Amazon 8120 // EKS service quotas (https://docs.aws.amazon.com/eks/latest/userguide/service-quotas.html) 8121 // in the Amazon EKS User Guide. 8122 MaxSize *int64 `locationName:"maxSize" min:"1" type:"integer"` 8123 8124 // The minimum number of nodes that the managed node group can scale in to. 8125 MinSize *int64 `locationName:"minSize" type:"integer"` 8126} 8127 8128// String returns the string representation 8129func (s NodegroupScalingConfig) String() string { 8130 return awsutil.Prettify(s) 8131} 8132 8133// GoString returns the string representation 8134func (s NodegroupScalingConfig) GoString() string { 8135 return s.String() 8136} 8137 8138// Validate inspects the fields of the type to determine if they are valid. 8139func (s *NodegroupScalingConfig) Validate() error { 8140 invalidParams := request.ErrInvalidParams{Context: "NodegroupScalingConfig"} 8141 if s.MaxSize != nil && *s.MaxSize < 1 { 8142 invalidParams.Add(request.NewErrParamMinValue("MaxSize", 1)) 8143 } 8144 8145 if invalidParams.Len() > 0 { 8146 return invalidParams 8147 } 8148 return nil 8149} 8150 8151// SetDesiredSize sets the DesiredSize field's value. 8152func (s *NodegroupScalingConfig) SetDesiredSize(v int64) *NodegroupScalingConfig { 8153 s.DesiredSize = &v 8154 return s 8155} 8156 8157// SetMaxSize sets the MaxSize field's value. 8158func (s *NodegroupScalingConfig) SetMaxSize(v int64) *NodegroupScalingConfig { 8159 s.MaxSize = &v 8160 return s 8161} 8162 8163// SetMinSize sets the MinSize field's value. 8164func (s *NodegroupScalingConfig) SetMinSize(v int64) *NodegroupScalingConfig { 8165 s.MinSize = &v 8166 return s 8167} 8168 8169// The node group update configuration. 8170type NodegroupUpdateConfig struct { 8171 _ struct{} `type:"structure"` 8172 8173 // The maximum number of nodes unavailable at once during a version update. 8174 // Nodes will be updated in parallel. This value or maxUnavailablePercentage 8175 // is required to have a value.The maximum number is 100. 8176 MaxUnavailable *int64 `locationName:"maxUnavailable" min:"1" type:"integer"` 8177 8178 // The maximum percentage of nodes unavailable during a version update. This 8179 // percentage of nodes will be updated in parallel, up to 100 nodes at once. 8180 // This value or maxUnavailable is required to have a value. 8181 MaxUnavailablePercentage *int64 `locationName:"maxUnavailablePercentage" min:"1" type:"integer"` 8182} 8183 8184// String returns the string representation 8185func (s NodegroupUpdateConfig) String() string { 8186 return awsutil.Prettify(s) 8187} 8188 8189// GoString returns the string representation 8190func (s NodegroupUpdateConfig) GoString() string { 8191 return s.String() 8192} 8193 8194// Validate inspects the fields of the type to determine if they are valid. 8195func (s *NodegroupUpdateConfig) Validate() error { 8196 invalidParams := request.ErrInvalidParams{Context: "NodegroupUpdateConfig"} 8197 if s.MaxUnavailable != nil && *s.MaxUnavailable < 1 { 8198 invalidParams.Add(request.NewErrParamMinValue("MaxUnavailable", 1)) 8199 } 8200 if s.MaxUnavailablePercentage != nil && *s.MaxUnavailablePercentage < 1 { 8201 invalidParams.Add(request.NewErrParamMinValue("MaxUnavailablePercentage", 1)) 8202 } 8203 8204 if invalidParams.Len() > 0 { 8205 return invalidParams 8206 } 8207 return nil 8208} 8209 8210// SetMaxUnavailable sets the MaxUnavailable field's value. 8211func (s *NodegroupUpdateConfig) SetMaxUnavailable(v int64) *NodegroupUpdateConfig { 8212 s.MaxUnavailable = &v 8213 return s 8214} 8215 8216// SetMaxUnavailablePercentage sets the MaxUnavailablePercentage field's value. 8217func (s *NodegroupUpdateConfig) SetMaxUnavailablePercentage(v int64) *NodegroupUpdateConfig { 8218 s.MaxUnavailablePercentage = &v 8219 return s 8220} 8221 8222// A service resource associated with the request could not be found. Clients 8223// should not retry such requests. 8224type NotFoundException struct { 8225 _ struct{} `type:"structure"` 8226 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8227 8228 Message_ *string `locationName:"message" type:"string"` 8229} 8230 8231// String returns the string representation 8232func (s NotFoundException) String() string { 8233 return awsutil.Prettify(s) 8234} 8235 8236// GoString returns the string representation 8237func (s NotFoundException) GoString() string { 8238 return s.String() 8239} 8240 8241func newErrorNotFoundException(v protocol.ResponseMetadata) error { 8242 return &NotFoundException{ 8243 RespMetadata: v, 8244 } 8245} 8246 8247// Code returns the exception type name. 8248func (s *NotFoundException) Code() string { 8249 return "NotFoundException" 8250} 8251 8252// Message returns the exception's message. 8253func (s *NotFoundException) Message() string { 8254 if s.Message_ != nil { 8255 return *s.Message_ 8256 } 8257 return "" 8258} 8259 8260// OrigErr always returns nil, satisfies awserr.Error interface. 8261func (s *NotFoundException) OrigErr() error { 8262 return nil 8263} 8264 8265func (s *NotFoundException) Error() string { 8266 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8267} 8268 8269// Status code returns the HTTP status code for the request's response error. 8270func (s *NotFoundException) StatusCode() int { 8271 return s.RespMetadata.StatusCode 8272} 8273 8274// RequestID returns the service's response RequestID for request. 8275func (s *NotFoundException) RequestID() string { 8276 return s.RespMetadata.RequestID 8277} 8278 8279// An object representing the OpenID Connect (https://openid.net/connect/) (OIDC) 8280// identity provider information for the cluster. 8281type OIDC struct { 8282 _ struct{} `type:"structure"` 8283 8284 // The issuer URL for the OIDC identity provider. 8285 Issuer *string `locationName:"issuer" type:"string"` 8286} 8287 8288// String returns the string representation 8289func (s OIDC) String() string { 8290 return awsutil.Prettify(s) 8291} 8292 8293// GoString returns the string representation 8294func (s OIDC) GoString() string { 8295 return s.String() 8296} 8297 8298// SetIssuer sets the Issuer field's value. 8299func (s *OIDC) SetIssuer(v string) *OIDC { 8300 s.Issuer = &v 8301 return s 8302} 8303 8304// An object that represents the configuration for an OpenID Connect (OIDC) 8305// identity provider. 8306type OidcIdentityProviderConfig struct { 8307 _ struct{} `type:"structure"` 8308 8309 // This is also known as audience. The ID of the client application that makes 8310 // authentication requests to the OIDC identity provider. 8311 ClientId *string `locationName:"clientId" type:"string"` 8312 8313 // The cluster that the configuration is associated to. 8314 ClusterName *string `locationName:"clusterName" type:"string"` 8315 8316 // The JSON web token (JWT) claim that the provider uses to return your groups. 8317 GroupsClaim *string `locationName:"groupsClaim" type:"string"` 8318 8319 // The prefix that is prepended to group claims to prevent clashes with existing 8320 // names (such as system: groups). For example, the valueoidc: creates group 8321 // names like oidc:engineering and oidc:infra. The prefix can't contain system: 8322 GroupsPrefix *string `locationName:"groupsPrefix" type:"string"` 8323 8324 // The ARN of the configuration. 8325 IdentityProviderConfigArn *string `locationName:"identityProviderConfigArn" type:"string"` 8326 8327 // The name of the configuration. 8328 IdentityProviderConfigName *string `locationName:"identityProviderConfigName" type:"string"` 8329 8330 // The URL of the OIDC identity provider that allows the API server to discover 8331 // public signing keys for verifying tokens. 8332 IssuerUrl *string `locationName:"issuerUrl" type:"string"` 8333 8334 // The key-value pairs that describe required claims in the identity token. 8335 // If set, each claim is verified to be present in the token with a matching 8336 // value. 8337 RequiredClaims map[string]*string `locationName:"requiredClaims" type:"map"` 8338 8339 // The status of the OIDC identity provider. 8340 Status *string `locationName:"status" type:"string" enum:"ConfigStatus"` 8341 8342 // The metadata to apply to the provider configuration to assist with categorization 8343 // and organization. Each tag consists of a key and an optional value, both 8344 // of which you defined. 8345 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 8346 8347 // The JSON Web token (JWT) claim that is used as the username. 8348 UsernameClaim *string `locationName:"usernameClaim" type:"string"` 8349 8350 // The prefix that is prepended to username claims to prevent clashes with existing 8351 // names. The prefix can't contain system: 8352 UsernamePrefix *string `locationName:"usernamePrefix" type:"string"` 8353} 8354 8355// String returns the string representation 8356func (s OidcIdentityProviderConfig) String() string { 8357 return awsutil.Prettify(s) 8358} 8359 8360// GoString returns the string representation 8361func (s OidcIdentityProviderConfig) GoString() string { 8362 return s.String() 8363} 8364 8365// SetClientId sets the ClientId field's value. 8366func (s *OidcIdentityProviderConfig) SetClientId(v string) *OidcIdentityProviderConfig { 8367 s.ClientId = &v 8368 return s 8369} 8370 8371// SetClusterName sets the ClusterName field's value. 8372func (s *OidcIdentityProviderConfig) SetClusterName(v string) *OidcIdentityProviderConfig { 8373 s.ClusterName = &v 8374 return s 8375} 8376 8377// SetGroupsClaim sets the GroupsClaim field's value. 8378func (s *OidcIdentityProviderConfig) SetGroupsClaim(v string) *OidcIdentityProviderConfig { 8379 s.GroupsClaim = &v 8380 return s 8381} 8382 8383// SetGroupsPrefix sets the GroupsPrefix field's value. 8384func (s *OidcIdentityProviderConfig) SetGroupsPrefix(v string) *OidcIdentityProviderConfig { 8385 s.GroupsPrefix = &v 8386 return s 8387} 8388 8389// SetIdentityProviderConfigArn sets the IdentityProviderConfigArn field's value. 8390func (s *OidcIdentityProviderConfig) SetIdentityProviderConfigArn(v string) *OidcIdentityProviderConfig { 8391 s.IdentityProviderConfigArn = &v 8392 return s 8393} 8394 8395// SetIdentityProviderConfigName sets the IdentityProviderConfigName field's value. 8396func (s *OidcIdentityProviderConfig) SetIdentityProviderConfigName(v string) *OidcIdentityProviderConfig { 8397 s.IdentityProviderConfigName = &v 8398 return s 8399} 8400 8401// SetIssuerUrl sets the IssuerUrl field's value. 8402func (s *OidcIdentityProviderConfig) SetIssuerUrl(v string) *OidcIdentityProviderConfig { 8403 s.IssuerUrl = &v 8404 return s 8405} 8406 8407// SetRequiredClaims sets the RequiredClaims field's value. 8408func (s *OidcIdentityProviderConfig) SetRequiredClaims(v map[string]*string) *OidcIdentityProviderConfig { 8409 s.RequiredClaims = v 8410 return s 8411} 8412 8413// SetStatus sets the Status field's value. 8414func (s *OidcIdentityProviderConfig) SetStatus(v string) *OidcIdentityProviderConfig { 8415 s.Status = &v 8416 return s 8417} 8418 8419// SetTags sets the Tags field's value. 8420func (s *OidcIdentityProviderConfig) SetTags(v map[string]*string) *OidcIdentityProviderConfig { 8421 s.Tags = v 8422 return s 8423} 8424 8425// SetUsernameClaim sets the UsernameClaim field's value. 8426func (s *OidcIdentityProviderConfig) SetUsernameClaim(v string) *OidcIdentityProviderConfig { 8427 s.UsernameClaim = &v 8428 return s 8429} 8430 8431// SetUsernamePrefix sets the UsernamePrefix field's value. 8432func (s *OidcIdentityProviderConfig) SetUsernamePrefix(v string) *OidcIdentityProviderConfig { 8433 s.UsernamePrefix = &v 8434 return s 8435} 8436 8437// An object representing an OpenID Connect (OIDC) configuration. Before associating 8438// an OIDC identity provider to your cluster, review the considerations in Authenticating 8439// users for your cluster from an OpenID Connect identity provider (https://docs.aws.amazon.com/eks/latest/userguide/authenticate-oidc-identity-provider.html) 8440// in the Amazon EKS User Guide. 8441type OidcIdentityProviderConfigRequest struct { 8442 _ struct{} `type:"structure"` 8443 8444 // This is also known as audience. The ID for the client application that makes 8445 // authentication requests to the OpenID identity provider. 8446 // 8447 // ClientId is a required field 8448 ClientId *string `locationName:"clientId" type:"string" required:"true"` 8449 8450 // The JWT claim that the provider uses to return your groups. 8451 GroupsClaim *string `locationName:"groupsClaim" type:"string"` 8452 8453 // The prefix that is prepended to group claims to prevent clashes with existing 8454 // names (such as system: groups). For example, the valueoidc: will create group 8455 // names like oidc:engineering and oidc:infra. 8456 GroupsPrefix *string `locationName:"groupsPrefix" type:"string"` 8457 8458 // The name of the OIDC provider configuration. 8459 // 8460 // IdentityProviderConfigName is a required field 8461 IdentityProviderConfigName *string `locationName:"identityProviderConfigName" type:"string" required:"true"` 8462 8463 // The URL of the OpenID identity provider that allows the API server to discover 8464 // public signing keys for verifying tokens. The URL must begin with https:// 8465 // and should correspond to the iss claim in the provider's OIDC ID tokens. 8466 // Per the OIDC standard, path components are allowed but query parameters are 8467 // not. Typically the URL consists of only a hostname, like https://server.example.org 8468 // or https://example.com. This URL should point to the level below .well-known/openid-configuration 8469 // and must be publicly accessible over the internet. 8470 // 8471 // IssuerUrl is a required field 8472 IssuerUrl *string `locationName:"issuerUrl" type:"string" required:"true"` 8473 8474 // The key value pairs that describe required claims in the identity token. 8475 // If set, each claim is verified to be present in the token with a matching 8476 // value. For the maximum number of claims that you can require, see Amazon 8477 // EKS service quotas (https://docs.aws.amazon.com/eks/latest/userguide/service-quotas.html) 8478 // in the Amazon EKS User Guide. 8479 RequiredClaims map[string]*string `locationName:"requiredClaims" type:"map"` 8480 8481 // The JSON Web Token (JWT) claim to use as the username. The default is sub, 8482 // which is expected to be a unique identifier of the end user. You can choose 8483 // other claims, such as email or name, depending on the OpenID identity provider. 8484 // Claims other than email are prefixed with the issuer URL to prevent naming 8485 // clashes with other plug-ins. 8486 UsernameClaim *string `locationName:"usernameClaim" type:"string"` 8487 8488 // The prefix that is prepended to username claims to prevent clashes with existing 8489 // names. If you do not provide this field, and username is a value other than 8490 // email, the prefix defaults to issuerurl#. You can use the value - to disable 8491 // all prefixing. 8492 UsernamePrefix *string `locationName:"usernamePrefix" type:"string"` 8493} 8494 8495// String returns the string representation 8496func (s OidcIdentityProviderConfigRequest) String() string { 8497 return awsutil.Prettify(s) 8498} 8499 8500// GoString returns the string representation 8501func (s OidcIdentityProviderConfigRequest) GoString() string { 8502 return s.String() 8503} 8504 8505// Validate inspects the fields of the type to determine if they are valid. 8506func (s *OidcIdentityProviderConfigRequest) Validate() error { 8507 invalidParams := request.ErrInvalidParams{Context: "OidcIdentityProviderConfigRequest"} 8508 if s.ClientId == nil { 8509 invalidParams.Add(request.NewErrParamRequired("ClientId")) 8510 } 8511 if s.IdentityProviderConfigName == nil { 8512 invalidParams.Add(request.NewErrParamRequired("IdentityProviderConfigName")) 8513 } 8514 if s.IssuerUrl == nil { 8515 invalidParams.Add(request.NewErrParamRequired("IssuerUrl")) 8516 } 8517 8518 if invalidParams.Len() > 0 { 8519 return invalidParams 8520 } 8521 return nil 8522} 8523 8524// SetClientId sets the ClientId field's value. 8525func (s *OidcIdentityProviderConfigRequest) SetClientId(v string) *OidcIdentityProviderConfigRequest { 8526 s.ClientId = &v 8527 return s 8528} 8529 8530// SetGroupsClaim sets the GroupsClaim field's value. 8531func (s *OidcIdentityProviderConfigRequest) SetGroupsClaim(v string) *OidcIdentityProviderConfigRequest { 8532 s.GroupsClaim = &v 8533 return s 8534} 8535 8536// SetGroupsPrefix sets the GroupsPrefix field's value. 8537func (s *OidcIdentityProviderConfigRequest) SetGroupsPrefix(v string) *OidcIdentityProviderConfigRequest { 8538 s.GroupsPrefix = &v 8539 return s 8540} 8541 8542// SetIdentityProviderConfigName sets the IdentityProviderConfigName field's value. 8543func (s *OidcIdentityProviderConfigRequest) SetIdentityProviderConfigName(v string) *OidcIdentityProviderConfigRequest { 8544 s.IdentityProviderConfigName = &v 8545 return s 8546} 8547 8548// SetIssuerUrl sets the IssuerUrl field's value. 8549func (s *OidcIdentityProviderConfigRequest) SetIssuerUrl(v string) *OidcIdentityProviderConfigRequest { 8550 s.IssuerUrl = &v 8551 return s 8552} 8553 8554// SetRequiredClaims sets the RequiredClaims field's value. 8555func (s *OidcIdentityProviderConfigRequest) SetRequiredClaims(v map[string]*string) *OidcIdentityProviderConfigRequest { 8556 s.RequiredClaims = v 8557 return s 8558} 8559 8560// SetUsernameClaim sets the UsernameClaim field's value. 8561func (s *OidcIdentityProviderConfigRequest) SetUsernameClaim(v string) *OidcIdentityProviderConfigRequest { 8562 s.UsernameClaim = &v 8563 return s 8564} 8565 8566// SetUsernamePrefix sets the UsernamePrefix field's value. 8567func (s *OidcIdentityProviderConfigRequest) SetUsernamePrefix(v string) *OidcIdentityProviderConfigRequest { 8568 s.UsernamePrefix = &v 8569 return s 8570} 8571 8572// Identifies the Key Management Service (KMS) key used to encrypt the secrets. 8573type Provider struct { 8574 _ struct{} `type:"structure"` 8575 8576 // Amazon Resource Name (ARN) or alias of the KMS key. The KMS key must be symmetric, 8577 // created in the same region as the cluster, and if the KMS key was created 8578 // in a different account, the user must have access to the KMS key. For more 8579 // information, see Allowing Users in Other Accounts to Use a KMS key (https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) 8580 // in the Key Management Service Developer Guide. 8581 KeyArn *string `locationName:"keyArn" type:"string"` 8582} 8583 8584// String returns the string representation 8585func (s Provider) String() string { 8586 return awsutil.Prettify(s) 8587} 8588 8589// GoString returns the string representation 8590func (s Provider) GoString() string { 8591 return s.String() 8592} 8593 8594// SetKeyArn sets the KeyArn field's value. 8595func (s *Provider) SetKeyArn(v string) *Provider { 8596 s.KeyArn = &v 8597 return s 8598} 8599 8600// An object representing the remote access configuration for the managed node 8601// group. 8602type RemoteAccessConfig struct { 8603 _ struct{} `type:"structure"` 8604 8605 // The Amazon EC2 SSH key that provides access for SSH communication with the 8606 // nodes in the managed node group. For more information, see Amazon EC2 key 8607 // pairs and Linux instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) 8608 // in the Amazon Elastic Compute Cloud User Guide for Linux Instances. 8609 Ec2SshKey *string `locationName:"ec2SshKey" type:"string"` 8610 8611 // The security groups that are allowed SSH access (port 22) to the nodes. If 8612 // you specify an Amazon EC2 SSH key but do not specify a source security group 8613 // when you create a managed node group, then port 22 on the nodes is opened 8614 // to the internet (0.0.0.0/0). For more information, see Security Groups for 8615 // Your VPC (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) 8616 // in the Amazon Virtual Private Cloud User Guide. 8617 SourceSecurityGroups []*string `locationName:"sourceSecurityGroups" type:"list"` 8618} 8619 8620// String returns the string representation 8621func (s RemoteAccessConfig) String() string { 8622 return awsutil.Prettify(s) 8623} 8624 8625// GoString returns the string representation 8626func (s RemoteAccessConfig) GoString() string { 8627 return s.String() 8628} 8629 8630// SetEc2SshKey sets the Ec2SshKey field's value. 8631func (s *RemoteAccessConfig) SetEc2SshKey(v string) *RemoteAccessConfig { 8632 s.Ec2SshKey = &v 8633 return s 8634} 8635 8636// SetSourceSecurityGroups sets the SourceSecurityGroups field's value. 8637func (s *RemoteAccessConfig) SetSourceSecurityGroups(v []*string) *RemoteAccessConfig { 8638 s.SourceSecurityGroups = v 8639 return s 8640} 8641 8642// The specified resource is in use. 8643type ResourceInUseException struct { 8644 _ struct{} `type:"structure"` 8645 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8646 8647 AddonName *string `locationName:"addonName" type:"string"` 8648 8649 // The Amazon EKS cluster associated with the exception. 8650 ClusterName *string `locationName:"clusterName" type:"string"` 8651 8652 Message_ *string `locationName:"message" type:"string"` 8653 8654 // The Amazon EKS managed node group associated with the exception. 8655 NodegroupName *string `locationName:"nodegroupName" type:"string"` 8656} 8657 8658// String returns the string representation 8659func (s ResourceInUseException) String() string { 8660 return awsutil.Prettify(s) 8661} 8662 8663// GoString returns the string representation 8664func (s ResourceInUseException) GoString() string { 8665 return s.String() 8666} 8667 8668func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 8669 return &ResourceInUseException{ 8670 RespMetadata: v, 8671 } 8672} 8673 8674// Code returns the exception type name. 8675func (s *ResourceInUseException) Code() string { 8676 return "ResourceInUseException" 8677} 8678 8679// Message returns the exception's message. 8680func (s *ResourceInUseException) Message() string { 8681 if s.Message_ != nil { 8682 return *s.Message_ 8683 } 8684 return "" 8685} 8686 8687// OrigErr always returns nil, satisfies awserr.Error interface. 8688func (s *ResourceInUseException) OrigErr() error { 8689 return nil 8690} 8691 8692func (s *ResourceInUseException) Error() string { 8693 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8694} 8695 8696// Status code returns the HTTP status code for the request's response error. 8697func (s *ResourceInUseException) StatusCode() int { 8698 return s.RespMetadata.StatusCode 8699} 8700 8701// RequestID returns the service's response RequestID for request. 8702func (s *ResourceInUseException) RequestID() string { 8703 return s.RespMetadata.RequestID 8704} 8705 8706// You have encountered a service limit on the specified resource. 8707type ResourceLimitExceededException struct { 8708 _ struct{} `type:"structure"` 8709 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8710 8711 // The Amazon EKS cluster associated with the exception. 8712 ClusterName *string `locationName:"clusterName" type:"string"` 8713 8714 Message_ *string `locationName:"message" type:"string"` 8715 8716 // The Amazon EKS managed node group associated with the exception. 8717 NodegroupName *string `locationName:"nodegroupName" type:"string"` 8718} 8719 8720// String returns the string representation 8721func (s ResourceLimitExceededException) String() string { 8722 return awsutil.Prettify(s) 8723} 8724 8725// GoString returns the string representation 8726func (s ResourceLimitExceededException) GoString() string { 8727 return s.String() 8728} 8729 8730func newErrorResourceLimitExceededException(v protocol.ResponseMetadata) error { 8731 return &ResourceLimitExceededException{ 8732 RespMetadata: v, 8733 } 8734} 8735 8736// Code returns the exception type name. 8737func (s *ResourceLimitExceededException) Code() string { 8738 return "ResourceLimitExceededException" 8739} 8740 8741// Message returns the exception's message. 8742func (s *ResourceLimitExceededException) Message() string { 8743 if s.Message_ != nil { 8744 return *s.Message_ 8745 } 8746 return "" 8747} 8748 8749// OrigErr always returns nil, satisfies awserr.Error interface. 8750func (s *ResourceLimitExceededException) OrigErr() error { 8751 return nil 8752} 8753 8754func (s *ResourceLimitExceededException) Error() string { 8755 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8756} 8757 8758// Status code returns the HTTP status code for the request's response error. 8759func (s *ResourceLimitExceededException) StatusCode() int { 8760 return s.RespMetadata.StatusCode 8761} 8762 8763// RequestID returns the service's response RequestID for request. 8764func (s *ResourceLimitExceededException) RequestID() string { 8765 return s.RespMetadata.RequestID 8766} 8767 8768// The specified resource could not be found. You can view your available clusters 8769// with ListClusters. You can view your available managed node groups with ListNodegroups. 8770// Amazon EKS clusters and node groups are Region-specific. 8771type ResourceNotFoundException struct { 8772 _ struct{} `type:"structure"` 8773 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8774 8775 AddonName *string `locationName:"addonName" type:"string"` 8776 8777 // The Amazon EKS cluster associated with the exception. 8778 ClusterName *string `locationName:"clusterName" type:"string"` 8779 8780 // The Fargate profile associated with the exception. 8781 FargateProfileName *string `locationName:"fargateProfileName" type:"string"` 8782 8783 Message_ *string `locationName:"message" type:"string"` 8784 8785 // The Amazon EKS managed node group associated with the exception. 8786 NodegroupName *string `locationName:"nodegroupName" type:"string"` 8787} 8788 8789// String returns the string representation 8790func (s ResourceNotFoundException) String() string { 8791 return awsutil.Prettify(s) 8792} 8793 8794// GoString returns the string representation 8795func (s ResourceNotFoundException) GoString() string { 8796 return s.String() 8797} 8798 8799func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 8800 return &ResourceNotFoundException{ 8801 RespMetadata: v, 8802 } 8803} 8804 8805// Code returns the exception type name. 8806func (s *ResourceNotFoundException) Code() string { 8807 return "ResourceNotFoundException" 8808} 8809 8810// Message returns the exception's message. 8811func (s *ResourceNotFoundException) Message() string { 8812 if s.Message_ != nil { 8813 return *s.Message_ 8814 } 8815 return "" 8816} 8817 8818// OrigErr always returns nil, satisfies awserr.Error interface. 8819func (s *ResourceNotFoundException) OrigErr() error { 8820 return nil 8821} 8822 8823func (s *ResourceNotFoundException) Error() string { 8824 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8825} 8826 8827// Status code returns the HTTP status code for the request's response error. 8828func (s *ResourceNotFoundException) StatusCode() int { 8829 return s.RespMetadata.StatusCode 8830} 8831 8832// RequestID returns the service's response RequestID for request. 8833func (s *ResourceNotFoundException) RequestID() string { 8834 return s.RespMetadata.RequestID 8835} 8836 8837// These errors are usually caused by a server-side issue. 8838type ServerException struct { 8839 _ struct{} `type:"structure"` 8840 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8841 8842 AddonName *string `locationName:"addonName" type:"string"` 8843 8844 // The Amazon EKS cluster associated with the exception. 8845 ClusterName *string `locationName:"clusterName" type:"string"` 8846 8847 Message_ *string `locationName:"message" type:"string"` 8848 8849 // The Amazon EKS managed node group associated with the exception. 8850 NodegroupName *string `locationName:"nodegroupName" type:"string"` 8851} 8852 8853// String returns the string representation 8854func (s ServerException) String() string { 8855 return awsutil.Prettify(s) 8856} 8857 8858// GoString returns the string representation 8859func (s ServerException) GoString() string { 8860 return s.String() 8861} 8862 8863func newErrorServerException(v protocol.ResponseMetadata) error { 8864 return &ServerException{ 8865 RespMetadata: v, 8866 } 8867} 8868 8869// Code returns the exception type name. 8870func (s *ServerException) Code() string { 8871 return "ServerException" 8872} 8873 8874// Message returns the exception's message. 8875func (s *ServerException) Message() string { 8876 if s.Message_ != nil { 8877 return *s.Message_ 8878 } 8879 return "" 8880} 8881 8882// OrigErr always returns nil, satisfies awserr.Error interface. 8883func (s *ServerException) OrigErr() error { 8884 return nil 8885} 8886 8887func (s *ServerException) Error() string { 8888 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8889} 8890 8891// Status code returns the HTTP status code for the request's response error. 8892func (s *ServerException) StatusCode() int { 8893 return s.RespMetadata.StatusCode 8894} 8895 8896// RequestID returns the service's response RequestID for request. 8897func (s *ServerException) RequestID() string { 8898 return s.RespMetadata.RequestID 8899} 8900 8901// The service is unavailable. Back off and retry the operation. 8902type ServiceUnavailableException struct { 8903 _ struct{} `type:"structure"` 8904 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8905 8906 Message_ *string `locationName:"message" type:"string"` 8907} 8908 8909// String returns the string representation 8910func (s ServiceUnavailableException) String() string { 8911 return awsutil.Prettify(s) 8912} 8913 8914// GoString returns the string representation 8915func (s ServiceUnavailableException) GoString() string { 8916 return s.String() 8917} 8918 8919func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { 8920 return &ServiceUnavailableException{ 8921 RespMetadata: v, 8922 } 8923} 8924 8925// Code returns the exception type name. 8926func (s *ServiceUnavailableException) Code() string { 8927 return "ServiceUnavailableException" 8928} 8929 8930// Message returns the exception's message. 8931func (s *ServiceUnavailableException) Message() string { 8932 if s.Message_ != nil { 8933 return *s.Message_ 8934 } 8935 return "" 8936} 8937 8938// OrigErr always returns nil, satisfies awserr.Error interface. 8939func (s *ServiceUnavailableException) OrigErr() error { 8940 return nil 8941} 8942 8943func (s *ServiceUnavailableException) Error() string { 8944 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8945} 8946 8947// Status code returns the HTTP status code for the request's response error. 8948func (s *ServiceUnavailableException) StatusCode() int { 8949 return s.RespMetadata.StatusCode 8950} 8951 8952// RequestID returns the service's response RequestID for request. 8953func (s *ServiceUnavailableException) RequestID() string { 8954 return s.RespMetadata.RequestID 8955} 8956 8957type TagResourceInput struct { 8958 _ struct{} `type:"structure"` 8959 8960 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 8961 // the supported resources are Amazon EKS clusters and managed node groups. 8962 // 8963 // ResourceArn is a required field 8964 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 8965 8966 // The tags to add to the resource. A tag is an array of key-value pairs. 8967 // 8968 // Tags is a required field 8969 Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` 8970} 8971 8972// String returns the string representation 8973func (s TagResourceInput) String() string { 8974 return awsutil.Prettify(s) 8975} 8976 8977// GoString returns the string representation 8978func (s TagResourceInput) GoString() string { 8979 return s.String() 8980} 8981 8982// Validate inspects the fields of the type to determine if they are valid. 8983func (s *TagResourceInput) Validate() error { 8984 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 8985 if s.ResourceArn == nil { 8986 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 8987 } 8988 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 8989 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 8990 } 8991 if s.Tags == nil { 8992 invalidParams.Add(request.NewErrParamRequired("Tags")) 8993 } 8994 if s.Tags != nil && len(s.Tags) < 1 { 8995 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 8996 } 8997 8998 if invalidParams.Len() > 0 { 8999 return invalidParams 9000 } 9001 return nil 9002} 9003 9004// SetResourceArn sets the ResourceArn field's value. 9005func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 9006 s.ResourceArn = &v 9007 return s 9008} 9009 9010// SetTags sets the Tags field's value. 9011func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 9012 s.Tags = v 9013 return s 9014} 9015 9016type TagResourceOutput struct { 9017 _ struct{} `type:"structure"` 9018} 9019 9020// String returns the string representation 9021func (s TagResourceOutput) String() string { 9022 return awsutil.Prettify(s) 9023} 9024 9025// GoString returns the string representation 9026func (s TagResourceOutput) GoString() string { 9027 return s.String() 9028} 9029 9030// A property that allows a node to repel a set of pods. 9031type Taint struct { 9032 _ struct{} `type:"structure"` 9033 9034 // The effect of the taint. 9035 Effect *string `locationName:"effect" type:"string" enum:"TaintEffect"` 9036 9037 // The key of the taint. 9038 Key *string `locationName:"key" min:"1" type:"string"` 9039 9040 // The value of the taint. 9041 Value *string `locationName:"value" type:"string"` 9042} 9043 9044// String returns the string representation 9045func (s Taint) String() string { 9046 return awsutil.Prettify(s) 9047} 9048 9049// GoString returns the string representation 9050func (s Taint) GoString() string { 9051 return s.String() 9052} 9053 9054// Validate inspects the fields of the type to determine if they are valid. 9055func (s *Taint) Validate() error { 9056 invalidParams := request.ErrInvalidParams{Context: "Taint"} 9057 if s.Key != nil && len(*s.Key) < 1 { 9058 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 9059 } 9060 9061 if invalidParams.Len() > 0 { 9062 return invalidParams 9063 } 9064 return nil 9065} 9066 9067// SetEffect sets the Effect field's value. 9068func (s *Taint) SetEffect(v string) *Taint { 9069 s.Effect = &v 9070 return s 9071} 9072 9073// SetKey sets the Key field's value. 9074func (s *Taint) SetKey(v string) *Taint { 9075 s.Key = &v 9076 return s 9077} 9078 9079// SetValue sets the Value field's value. 9080func (s *Taint) SetValue(v string) *Taint { 9081 s.Value = &v 9082 return s 9083} 9084 9085// At least one of your specified cluster subnets is in an Availability Zone 9086// that does not support Amazon EKS. The exception output specifies the supported 9087// Availability Zones for your account, from which you can choose subnets for 9088// your cluster. 9089type UnsupportedAvailabilityZoneException struct { 9090 _ struct{} `type:"structure"` 9091 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 9092 9093 // The Amazon EKS cluster associated with the exception. 9094 ClusterName *string `locationName:"clusterName" type:"string"` 9095 9096 Message_ *string `locationName:"message" type:"string"` 9097 9098 // The Amazon EKS managed node group associated with the exception. 9099 NodegroupName *string `locationName:"nodegroupName" type:"string"` 9100 9101 // The supported Availability Zones for your account. Choose subnets in these 9102 // Availability Zones for your cluster. 9103 ValidZones []*string `locationName:"validZones" type:"list"` 9104} 9105 9106// String returns the string representation 9107func (s UnsupportedAvailabilityZoneException) String() string { 9108 return awsutil.Prettify(s) 9109} 9110 9111// GoString returns the string representation 9112func (s UnsupportedAvailabilityZoneException) GoString() string { 9113 return s.String() 9114} 9115 9116func newErrorUnsupportedAvailabilityZoneException(v protocol.ResponseMetadata) error { 9117 return &UnsupportedAvailabilityZoneException{ 9118 RespMetadata: v, 9119 } 9120} 9121 9122// Code returns the exception type name. 9123func (s *UnsupportedAvailabilityZoneException) Code() string { 9124 return "UnsupportedAvailabilityZoneException" 9125} 9126 9127// Message returns the exception's message. 9128func (s *UnsupportedAvailabilityZoneException) Message() string { 9129 if s.Message_ != nil { 9130 return *s.Message_ 9131 } 9132 return "" 9133} 9134 9135// OrigErr always returns nil, satisfies awserr.Error interface. 9136func (s *UnsupportedAvailabilityZoneException) OrigErr() error { 9137 return nil 9138} 9139 9140func (s *UnsupportedAvailabilityZoneException) Error() string { 9141 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 9142} 9143 9144// Status code returns the HTTP status code for the request's response error. 9145func (s *UnsupportedAvailabilityZoneException) StatusCode() int { 9146 return s.RespMetadata.StatusCode 9147} 9148 9149// RequestID returns the service's response RequestID for request. 9150func (s *UnsupportedAvailabilityZoneException) RequestID() string { 9151 return s.RespMetadata.RequestID 9152} 9153 9154type UntagResourceInput struct { 9155 _ struct{} `type:"structure"` 9156 9157 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 9158 // Currently, the supported resources are Amazon EKS clusters and managed node 9159 // groups. 9160 // 9161 // ResourceArn is a required field 9162 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 9163 9164 // The keys of the tags to be removed. 9165 // 9166 // TagKeys is a required field 9167 TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` 9168} 9169 9170// String returns the string representation 9171func (s UntagResourceInput) String() string { 9172 return awsutil.Prettify(s) 9173} 9174 9175// GoString returns the string representation 9176func (s UntagResourceInput) GoString() string { 9177 return s.String() 9178} 9179 9180// Validate inspects the fields of the type to determine if they are valid. 9181func (s *UntagResourceInput) Validate() error { 9182 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 9183 if s.ResourceArn == nil { 9184 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 9185 } 9186 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 9187 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 9188 } 9189 if s.TagKeys == nil { 9190 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 9191 } 9192 if s.TagKeys != nil && len(s.TagKeys) < 1 { 9193 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 9194 } 9195 9196 if invalidParams.Len() > 0 { 9197 return invalidParams 9198 } 9199 return nil 9200} 9201 9202// SetResourceArn sets the ResourceArn field's value. 9203func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 9204 s.ResourceArn = &v 9205 return s 9206} 9207 9208// SetTagKeys sets the TagKeys field's value. 9209func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 9210 s.TagKeys = v 9211 return s 9212} 9213 9214type UntagResourceOutput struct { 9215 _ struct{} `type:"structure"` 9216} 9217 9218// String returns the string representation 9219func (s UntagResourceOutput) String() string { 9220 return awsutil.Prettify(s) 9221} 9222 9223// GoString returns the string representation 9224func (s UntagResourceOutput) GoString() string { 9225 return s.String() 9226} 9227 9228// An object representing an asynchronous update. 9229type Update struct { 9230 _ struct{} `type:"structure"` 9231 9232 // The Unix epoch timestamp in seconds for when the update was created. 9233 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 9234 9235 // Any errors associated with a Failed update. 9236 Errors []*ErrorDetail `locationName:"errors" type:"list"` 9237 9238 // A UUID that is used to track the update. 9239 Id *string `locationName:"id" type:"string"` 9240 9241 // A key-value map that contains the parameters associated with the update. 9242 Params []*UpdateParam `locationName:"params" type:"list"` 9243 9244 // The current status of the update. 9245 Status *string `locationName:"status" type:"string" enum:"UpdateStatus"` 9246 9247 // The type of the update. 9248 Type *string `locationName:"type" type:"string" enum:"UpdateType"` 9249} 9250 9251// String returns the string representation 9252func (s Update) String() string { 9253 return awsutil.Prettify(s) 9254} 9255 9256// GoString returns the string representation 9257func (s Update) GoString() string { 9258 return s.String() 9259} 9260 9261// SetCreatedAt sets the CreatedAt field's value. 9262func (s *Update) SetCreatedAt(v time.Time) *Update { 9263 s.CreatedAt = &v 9264 return s 9265} 9266 9267// SetErrors sets the Errors field's value. 9268func (s *Update) SetErrors(v []*ErrorDetail) *Update { 9269 s.Errors = v 9270 return s 9271} 9272 9273// SetId sets the Id field's value. 9274func (s *Update) SetId(v string) *Update { 9275 s.Id = &v 9276 return s 9277} 9278 9279// SetParams sets the Params field's value. 9280func (s *Update) SetParams(v []*UpdateParam) *Update { 9281 s.Params = v 9282 return s 9283} 9284 9285// SetStatus sets the Status field's value. 9286func (s *Update) SetStatus(v string) *Update { 9287 s.Status = &v 9288 return s 9289} 9290 9291// SetType sets the Type field's value. 9292func (s *Update) SetType(v string) *Update { 9293 s.Type = &v 9294 return s 9295} 9296 9297type UpdateAddonInput struct { 9298 _ struct{} `type:"structure"` 9299 9300 // The name of the add-on. The name must match one of the names returned by 9301 // ListAddons (https://docs.aws.amazon.com/eks/latest/APIReference/API_ListAddons.html). 9302 // 9303 // AddonName is a required field 9304 AddonName *string `location:"uri" locationName:"addonName" type:"string" required:"true"` 9305 9306 // The version of the add-on. The version must match one of the versions returned 9307 // by DescribeAddonVersions (https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html). 9308 AddonVersion *string `locationName:"addonVersion" type:"string"` 9309 9310 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9311 // of the request. 9312 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 9313 9314 // The name of the cluster. 9315 // 9316 // ClusterName is a required field 9317 ClusterName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 9318 9319 // How to resolve parameter value conflicts when applying the new version of 9320 // the add-on to the cluster. 9321 ResolveConflicts *string `locationName:"resolveConflicts" type:"string" enum:"ResolveConflicts"` 9322 9323 // The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's 9324 // service account. The role must be assigned the IAM permissions required by 9325 // the add-on. If you don't specify an existing IAM role, then the add-on uses 9326 // the permissions assigned to the node IAM role. For more information, see 9327 // Amazon EKS node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) 9328 // in the Amazon EKS User Guide. 9329 // 9330 // To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) 9331 // provider created for your cluster. For more information, see Enabling IAM 9332 // roles for service accounts on your cluster (https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) 9333 // in the Amazon EKS User Guide. 9334 ServiceAccountRoleArn *string `locationName:"serviceAccountRoleArn" min:"1" type:"string"` 9335} 9336 9337// String returns the string representation 9338func (s UpdateAddonInput) String() string { 9339 return awsutil.Prettify(s) 9340} 9341 9342// GoString returns the string representation 9343func (s UpdateAddonInput) GoString() string { 9344 return s.String() 9345} 9346 9347// Validate inspects the fields of the type to determine if they are valid. 9348func (s *UpdateAddonInput) Validate() error { 9349 invalidParams := request.ErrInvalidParams{Context: "UpdateAddonInput"} 9350 if s.AddonName == nil { 9351 invalidParams.Add(request.NewErrParamRequired("AddonName")) 9352 } 9353 if s.AddonName != nil && len(*s.AddonName) < 1 { 9354 invalidParams.Add(request.NewErrParamMinLen("AddonName", 1)) 9355 } 9356 if s.ClusterName == nil { 9357 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 9358 } 9359 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 9360 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 9361 } 9362 if s.ServiceAccountRoleArn != nil && len(*s.ServiceAccountRoleArn) < 1 { 9363 invalidParams.Add(request.NewErrParamMinLen("ServiceAccountRoleArn", 1)) 9364 } 9365 9366 if invalidParams.Len() > 0 { 9367 return invalidParams 9368 } 9369 return nil 9370} 9371 9372// SetAddonName sets the AddonName field's value. 9373func (s *UpdateAddonInput) SetAddonName(v string) *UpdateAddonInput { 9374 s.AddonName = &v 9375 return s 9376} 9377 9378// SetAddonVersion sets the AddonVersion field's value. 9379func (s *UpdateAddonInput) SetAddonVersion(v string) *UpdateAddonInput { 9380 s.AddonVersion = &v 9381 return s 9382} 9383 9384// SetClientRequestToken sets the ClientRequestToken field's value. 9385func (s *UpdateAddonInput) SetClientRequestToken(v string) *UpdateAddonInput { 9386 s.ClientRequestToken = &v 9387 return s 9388} 9389 9390// SetClusterName sets the ClusterName field's value. 9391func (s *UpdateAddonInput) SetClusterName(v string) *UpdateAddonInput { 9392 s.ClusterName = &v 9393 return s 9394} 9395 9396// SetResolveConflicts sets the ResolveConflicts field's value. 9397func (s *UpdateAddonInput) SetResolveConflicts(v string) *UpdateAddonInput { 9398 s.ResolveConflicts = &v 9399 return s 9400} 9401 9402// SetServiceAccountRoleArn sets the ServiceAccountRoleArn field's value. 9403func (s *UpdateAddonInput) SetServiceAccountRoleArn(v string) *UpdateAddonInput { 9404 s.ServiceAccountRoleArn = &v 9405 return s 9406} 9407 9408type UpdateAddonOutput struct { 9409 _ struct{} `type:"structure"` 9410 9411 // An object representing an asynchronous update. 9412 Update *Update `locationName:"update" type:"structure"` 9413} 9414 9415// String returns the string representation 9416func (s UpdateAddonOutput) String() string { 9417 return awsutil.Prettify(s) 9418} 9419 9420// GoString returns the string representation 9421func (s UpdateAddonOutput) GoString() string { 9422 return s.String() 9423} 9424 9425// SetUpdate sets the Update field's value. 9426func (s *UpdateAddonOutput) SetUpdate(v *Update) *UpdateAddonOutput { 9427 s.Update = v 9428 return s 9429} 9430 9431type UpdateClusterConfigInput struct { 9432 _ struct{} `type:"structure"` 9433 9434 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9435 // of the request. 9436 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 9437 9438 // Enable or disable exporting the Kubernetes control plane logs for your cluster 9439 // to CloudWatch Logs. By default, cluster control plane logs aren't exported 9440 // to CloudWatch Logs. For more information, see Amazon EKS cluster control 9441 // plane logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html) 9442 // in the Amazon EKS User Guide . 9443 // 9444 // CloudWatch Logs ingestion, archive storage, and data scanning rates apply 9445 // to exported control plane logs. For more information, see CloudWatch Pricing 9446 // (http://aws.amazon.com/cloudwatch/pricing/). 9447 Logging *Logging `locationName:"logging" type:"structure"` 9448 9449 // The name of the Amazon EKS cluster to update. 9450 // 9451 // Name is a required field 9452 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 9453 9454 // An object representing the VPC configuration to use for an Amazon EKS cluster. 9455 ResourcesVpcConfig *VpcConfigRequest `locationName:"resourcesVpcConfig" type:"structure"` 9456} 9457 9458// String returns the string representation 9459func (s UpdateClusterConfigInput) String() string { 9460 return awsutil.Prettify(s) 9461} 9462 9463// GoString returns the string representation 9464func (s UpdateClusterConfigInput) GoString() string { 9465 return s.String() 9466} 9467 9468// Validate inspects the fields of the type to determine if they are valid. 9469func (s *UpdateClusterConfigInput) Validate() error { 9470 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterConfigInput"} 9471 if s.Name == nil { 9472 invalidParams.Add(request.NewErrParamRequired("Name")) 9473 } 9474 if s.Name != nil && len(*s.Name) < 1 { 9475 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 9476 } 9477 9478 if invalidParams.Len() > 0 { 9479 return invalidParams 9480 } 9481 return nil 9482} 9483 9484// SetClientRequestToken sets the ClientRequestToken field's value. 9485func (s *UpdateClusterConfigInput) SetClientRequestToken(v string) *UpdateClusterConfigInput { 9486 s.ClientRequestToken = &v 9487 return s 9488} 9489 9490// SetLogging sets the Logging field's value. 9491func (s *UpdateClusterConfigInput) SetLogging(v *Logging) *UpdateClusterConfigInput { 9492 s.Logging = v 9493 return s 9494} 9495 9496// SetName sets the Name field's value. 9497func (s *UpdateClusterConfigInput) SetName(v string) *UpdateClusterConfigInput { 9498 s.Name = &v 9499 return s 9500} 9501 9502// SetResourcesVpcConfig sets the ResourcesVpcConfig field's value. 9503func (s *UpdateClusterConfigInput) SetResourcesVpcConfig(v *VpcConfigRequest) *UpdateClusterConfigInput { 9504 s.ResourcesVpcConfig = v 9505 return s 9506} 9507 9508type UpdateClusterConfigOutput struct { 9509 _ struct{} `type:"structure"` 9510 9511 // An object representing an asynchronous update. 9512 Update *Update `locationName:"update" type:"structure"` 9513} 9514 9515// String returns the string representation 9516func (s UpdateClusterConfigOutput) String() string { 9517 return awsutil.Prettify(s) 9518} 9519 9520// GoString returns the string representation 9521func (s UpdateClusterConfigOutput) GoString() string { 9522 return s.String() 9523} 9524 9525// SetUpdate sets the Update field's value. 9526func (s *UpdateClusterConfigOutput) SetUpdate(v *Update) *UpdateClusterConfigOutput { 9527 s.Update = v 9528 return s 9529} 9530 9531type UpdateClusterVersionInput struct { 9532 _ struct{} `type:"structure"` 9533 9534 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9535 // of the request. 9536 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 9537 9538 // The name of the Amazon EKS cluster to update. 9539 // 9540 // Name is a required field 9541 Name *string `location:"uri" locationName:"name" type:"string" required:"true"` 9542 9543 // The desired Kubernetes version following a successful update. 9544 // 9545 // Version is a required field 9546 Version *string `locationName:"version" type:"string" required:"true"` 9547} 9548 9549// String returns the string representation 9550func (s UpdateClusterVersionInput) String() string { 9551 return awsutil.Prettify(s) 9552} 9553 9554// GoString returns the string representation 9555func (s UpdateClusterVersionInput) GoString() string { 9556 return s.String() 9557} 9558 9559// Validate inspects the fields of the type to determine if they are valid. 9560func (s *UpdateClusterVersionInput) Validate() error { 9561 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterVersionInput"} 9562 if s.Name == nil { 9563 invalidParams.Add(request.NewErrParamRequired("Name")) 9564 } 9565 if s.Name != nil && len(*s.Name) < 1 { 9566 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 9567 } 9568 if s.Version == nil { 9569 invalidParams.Add(request.NewErrParamRequired("Version")) 9570 } 9571 9572 if invalidParams.Len() > 0 { 9573 return invalidParams 9574 } 9575 return nil 9576} 9577 9578// SetClientRequestToken sets the ClientRequestToken field's value. 9579func (s *UpdateClusterVersionInput) SetClientRequestToken(v string) *UpdateClusterVersionInput { 9580 s.ClientRequestToken = &v 9581 return s 9582} 9583 9584// SetName sets the Name field's value. 9585func (s *UpdateClusterVersionInput) SetName(v string) *UpdateClusterVersionInput { 9586 s.Name = &v 9587 return s 9588} 9589 9590// SetVersion sets the Version field's value. 9591func (s *UpdateClusterVersionInput) SetVersion(v string) *UpdateClusterVersionInput { 9592 s.Version = &v 9593 return s 9594} 9595 9596type UpdateClusterVersionOutput struct { 9597 _ struct{} `type:"structure"` 9598 9599 // The full description of the specified update 9600 Update *Update `locationName:"update" type:"structure"` 9601} 9602 9603// String returns the string representation 9604func (s UpdateClusterVersionOutput) String() string { 9605 return awsutil.Prettify(s) 9606} 9607 9608// GoString returns the string representation 9609func (s UpdateClusterVersionOutput) GoString() string { 9610 return s.String() 9611} 9612 9613// SetUpdate sets the Update field's value. 9614func (s *UpdateClusterVersionOutput) SetUpdate(v *Update) *UpdateClusterVersionOutput { 9615 s.Update = v 9616 return s 9617} 9618 9619// An object representing a Kubernetes label change for a managed node group. 9620type UpdateLabelsPayload struct { 9621 _ struct{} `type:"structure"` 9622 9623 // Kubernetes labels to be added or updated. 9624 AddOrUpdateLabels map[string]*string `locationName:"addOrUpdateLabels" type:"map"` 9625 9626 // Kubernetes labels to be removed. 9627 RemoveLabels []*string `locationName:"removeLabels" type:"list"` 9628} 9629 9630// String returns the string representation 9631func (s UpdateLabelsPayload) String() string { 9632 return awsutil.Prettify(s) 9633} 9634 9635// GoString returns the string representation 9636func (s UpdateLabelsPayload) GoString() string { 9637 return s.String() 9638} 9639 9640// SetAddOrUpdateLabels sets the AddOrUpdateLabels field's value. 9641func (s *UpdateLabelsPayload) SetAddOrUpdateLabels(v map[string]*string) *UpdateLabelsPayload { 9642 s.AddOrUpdateLabels = v 9643 return s 9644} 9645 9646// SetRemoveLabels sets the RemoveLabels field's value. 9647func (s *UpdateLabelsPayload) SetRemoveLabels(v []*string) *UpdateLabelsPayload { 9648 s.RemoveLabels = v 9649 return s 9650} 9651 9652type UpdateNodegroupConfigInput struct { 9653 _ struct{} `type:"structure"` 9654 9655 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9656 // of the request. 9657 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 9658 9659 // The name of the Amazon EKS cluster that the managed node group resides in. 9660 // 9661 // ClusterName is a required field 9662 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 9663 9664 // The Kubernetes labels to be applied to the nodes in the node group after 9665 // the update. 9666 Labels *UpdateLabelsPayload `locationName:"labels" type:"structure"` 9667 9668 // The name of the managed node group to update. 9669 // 9670 // NodegroupName is a required field 9671 NodegroupName *string `location:"uri" locationName:"nodegroupName" type:"string" required:"true"` 9672 9673 // The scaling configuration details for the Auto Scaling group after the update. 9674 ScalingConfig *NodegroupScalingConfig `locationName:"scalingConfig" type:"structure"` 9675 9676 // The Kubernetes taints to be applied to the nodes in the node group after 9677 // the update. 9678 Taints *UpdateTaintsPayload `locationName:"taints" type:"structure"` 9679 9680 // The node group update configuration. 9681 UpdateConfig *NodegroupUpdateConfig `locationName:"updateConfig" type:"structure"` 9682} 9683 9684// String returns the string representation 9685func (s UpdateNodegroupConfigInput) String() string { 9686 return awsutil.Prettify(s) 9687} 9688 9689// GoString returns the string representation 9690func (s UpdateNodegroupConfigInput) GoString() string { 9691 return s.String() 9692} 9693 9694// Validate inspects the fields of the type to determine if they are valid. 9695func (s *UpdateNodegroupConfigInput) Validate() error { 9696 invalidParams := request.ErrInvalidParams{Context: "UpdateNodegroupConfigInput"} 9697 if s.ClusterName == nil { 9698 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 9699 } 9700 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 9701 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 9702 } 9703 if s.NodegroupName == nil { 9704 invalidParams.Add(request.NewErrParamRequired("NodegroupName")) 9705 } 9706 if s.NodegroupName != nil && len(*s.NodegroupName) < 1 { 9707 invalidParams.Add(request.NewErrParamMinLen("NodegroupName", 1)) 9708 } 9709 if s.ScalingConfig != nil { 9710 if err := s.ScalingConfig.Validate(); err != nil { 9711 invalidParams.AddNested("ScalingConfig", err.(request.ErrInvalidParams)) 9712 } 9713 } 9714 if s.Taints != nil { 9715 if err := s.Taints.Validate(); err != nil { 9716 invalidParams.AddNested("Taints", err.(request.ErrInvalidParams)) 9717 } 9718 } 9719 if s.UpdateConfig != nil { 9720 if err := s.UpdateConfig.Validate(); err != nil { 9721 invalidParams.AddNested("UpdateConfig", err.(request.ErrInvalidParams)) 9722 } 9723 } 9724 9725 if invalidParams.Len() > 0 { 9726 return invalidParams 9727 } 9728 return nil 9729} 9730 9731// SetClientRequestToken sets the ClientRequestToken field's value. 9732func (s *UpdateNodegroupConfigInput) SetClientRequestToken(v string) *UpdateNodegroupConfigInput { 9733 s.ClientRequestToken = &v 9734 return s 9735} 9736 9737// SetClusterName sets the ClusterName field's value. 9738func (s *UpdateNodegroupConfigInput) SetClusterName(v string) *UpdateNodegroupConfigInput { 9739 s.ClusterName = &v 9740 return s 9741} 9742 9743// SetLabels sets the Labels field's value. 9744func (s *UpdateNodegroupConfigInput) SetLabels(v *UpdateLabelsPayload) *UpdateNodegroupConfigInput { 9745 s.Labels = v 9746 return s 9747} 9748 9749// SetNodegroupName sets the NodegroupName field's value. 9750func (s *UpdateNodegroupConfigInput) SetNodegroupName(v string) *UpdateNodegroupConfigInput { 9751 s.NodegroupName = &v 9752 return s 9753} 9754 9755// SetScalingConfig sets the ScalingConfig field's value. 9756func (s *UpdateNodegroupConfigInput) SetScalingConfig(v *NodegroupScalingConfig) *UpdateNodegroupConfigInput { 9757 s.ScalingConfig = v 9758 return s 9759} 9760 9761// SetTaints sets the Taints field's value. 9762func (s *UpdateNodegroupConfigInput) SetTaints(v *UpdateTaintsPayload) *UpdateNodegroupConfigInput { 9763 s.Taints = v 9764 return s 9765} 9766 9767// SetUpdateConfig sets the UpdateConfig field's value. 9768func (s *UpdateNodegroupConfigInput) SetUpdateConfig(v *NodegroupUpdateConfig) *UpdateNodegroupConfigInput { 9769 s.UpdateConfig = v 9770 return s 9771} 9772 9773type UpdateNodegroupConfigOutput struct { 9774 _ struct{} `type:"structure"` 9775 9776 // An object representing an asynchronous update. 9777 Update *Update `locationName:"update" type:"structure"` 9778} 9779 9780// String returns the string representation 9781func (s UpdateNodegroupConfigOutput) String() string { 9782 return awsutil.Prettify(s) 9783} 9784 9785// GoString returns the string representation 9786func (s UpdateNodegroupConfigOutput) GoString() string { 9787 return s.String() 9788} 9789 9790// SetUpdate sets the Update field's value. 9791func (s *UpdateNodegroupConfigOutput) SetUpdate(v *Update) *UpdateNodegroupConfigOutput { 9792 s.Update = v 9793 return s 9794} 9795 9796type UpdateNodegroupVersionInput struct { 9797 _ struct{} `type:"structure"` 9798 9799 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9800 // of the request. 9801 ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"` 9802 9803 // The name of the Amazon EKS cluster that is associated with the managed node 9804 // group to update. 9805 // 9806 // ClusterName is a required field 9807 ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` 9808 9809 // Force the update if the existing node group's pods are unable to be drained 9810 // due to a pod disruption budget issue. If an update fails because pods could 9811 // not be drained, you can force the update after it fails to terminate the 9812 // old node whether or not any pods are running on the node. 9813 Force *bool `locationName:"force" type:"boolean"` 9814 9815 // An object representing a node group's launch template specification. You 9816 // can only update a node group using a launch template if the node group was 9817 // originally deployed with a launch template. 9818 LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` 9819 9820 // The name of the managed node group to update. 9821 // 9822 // NodegroupName is a required field 9823 NodegroupName *string `location:"uri" locationName:"nodegroupName" type:"string" required:"true"` 9824 9825 // The AMI version of the Amazon EKS optimized AMI to use for the update. By 9826 // default, the latest available AMI version for the node group's Kubernetes 9827 // version is used. For more information, see Amazon EKS optimized Amazon Linux 9828 // 2 AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html) 9829 // in the Amazon EKS User Guide. If you specify launchTemplate, and your launch 9830 // template uses a custom AMI, then don't specify releaseVersion, or the node 9831 // group update will fail. For more information about using launch templates 9832 // with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 9833 // in the Amazon EKS User Guide. 9834 ReleaseVersion *string `locationName:"releaseVersion" type:"string"` 9835 9836 // The Kubernetes version to update to. If no version is specified, then the 9837 // Kubernetes version of the node group does not change. You can specify the 9838 // Kubernetes version of the cluster to update the node group to the latest 9839 // AMI version of the cluster's Kubernetes version. If you specify launchTemplate, 9840 // and your launch template uses a custom AMI, then don't specify version, or 9841 // the node group update will fail. For more information about using launch 9842 // templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) 9843 // in the Amazon EKS User Guide. 9844 Version *string `locationName:"version" type:"string"` 9845} 9846 9847// String returns the string representation 9848func (s UpdateNodegroupVersionInput) String() string { 9849 return awsutil.Prettify(s) 9850} 9851 9852// GoString returns the string representation 9853func (s UpdateNodegroupVersionInput) GoString() string { 9854 return s.String() 9855} 9856 9857// Validate inspects the fields of the type to determine if they are valid. 9858func (s *UpdateNodegroupVersionInput) Validate() error { 9859 invalidParams := request.ErrInvalidParams{Context: "UpdateNodegroupVersionInput"} 9860 if s.ClusterName == nil { 9861 invalidParams.Add(request.NewErrParamRequired("ClusterName")) 9862 } 9863 if s.ClusterName != nil && len(*s.ClusterName) < 1 { 9864 invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) 9865 } 9866 if s.NodegroupName == nil { 9867 invalidParams.Add(request.NewErrParamRequired("NodegroupName")) 9868 } 9869 if s.NodegroupName != nil && len(*s.NodegroupName) < 1 { 9870 invalidParams.Add(request.NewErrParamMinLen("NodegroupName", 1)) 9871 } 9872 9873 if invalidParams.Len() > 0 { 9874 return invalidParams 9875 } 9876 return nil 9877} 9878 9879// SetClientRequestToken sets the ClientRequestToken field's value. 9880func (s *UpdateNodegroupVersionInput) SetClientRequestToken(v string) *UpdateNodegroupVersionInput { 9881 s.ClientRequestToken = &v 9882 return s 9883} 9884 9885// SetClusterName sets the ClusterName field's value. 9886func (s *UpdateNodegroupVersionInput) SetClusterName(v string) *UpdateNodegroupVersionInput { 9887 s.ClusterName = &v 9888 return s 9889} 9890 9891// SetForce sets the Force field's value. 9892func (s *UpdateNodegroupVersionInput) SetForce(v bool) *UpdateNodegroupVersionInput { 9893 s.Force = &v 9894 return s 9895} 9896 9897// SetLaunchTemplate sets the LaunchTemplate field's value. 9898func (s *UpdateNodegroupVersionInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *UpdateNodegroupVersionInput { 9899 s.LaunchTemplate = v 9900 return s 9901} 9902 9903// SetNodegroupName sets the NodegroupName field's value. 9904func (s *UpdateNodegroupVersionInput) SetNodegroupName(v string) *UpdateNodegroupVersionInput { 9905 s.NodegroupName = &v 9906 return s 9907} 9908 9909// SetReleaseVersion sets the ReleaseVersion field's value. 9910func (s *UpdateNodegroupVersionInput) SetReleaseVersion(v string) *UpdateNodegroupVersionInput { 9911 s.ReleaseVersion = &v 9912 return s 9913} 9914 9915// SetVersion sets the Version field's value. 9916func (s *UpdateNodegroupVersionInput) SetVersion(v string) *UpdateNodegroupVersionInput { 9917 s.Version = &v 9918 return s 9919} 9920 9921type UpdateNodegroupVersionOutput struct { 9922 _ struct{} `type:"structure"` 9923 9924 // An object representing an asynchronous update. 9925 Update *Update `locationName:"update" type:"structure"` 9926} 9927 9928// String returns the string representation 9929func (s UpdateNodegroupVersionOutput) String() string { 9930 return awsutil.Prettify(s) 9931} 9932 9933// GoString returns the string representation 9934func (s UpdateNodegroupVersionOutput) GoString() string { 9935 return s.String() 9936} 9937 9938// SetUpdate sets the Update field's value. 9939func (s *UpdateNodegroupVersionOutput) SetUpdate(v *Update) *UpdateNodegroupVersionOutput { 9940 s.Update = v 9941 return s 9942} 9943 9944// An object representing the details of an update request. 9945type UpdateParam struct { 9946 _ struct{} `type:"structure"` 9947 9948 // The keys associated with an update request. 9949 Type *string `locationName:"type" type:"string" enum:"UpdateParamType"` 9950 9951 // The value of the keys submitted as part of an update request. 9952 Value *string `locationName:"value" type:"string"` 9953} 9954 9955// String returns the string representation 9956func (s UpdateParam) String() string { 9957 return awsutil.Prettify(s) 9958} 9959 9960// GoString returns the string representation 9961func (s UpdateParam) GoString() string { 9962 return s.String() 9963} 9964 9965// SetType sets the Type field's value. 9966func (s *UpdateParam) SetType(v string) *UpdateParam { 9967 s.Type = &v 9968 return s 9969} 9970 9971// SetValue sets the Value field's value. 9972func (s *UpdateParam) SetValue(v string) *UpdateParam { 9973 s.Value = &v 9974 return s 9975} 9976 9977// An object representing the details of an update to a taints payload. 9978type UpdateTaintsPayload struct { 9979 _ struct{} `type:"structure"` 9980 9981 // Kubernetes taints to be added or updated. 9982 AddOrUpdateTaints []*Taint `locationName:"addOrUpdateTaints" type:"list"` 9983 9984 // Kubernetes taints to be removed. 9985 RemoveTaints []*Taint `locationName:"removeTaints" type:"list"` 9986} 9987 9988// String returns the string representation 9989func (s UpdateTaintsPayload) String() string { 9990 return awsutil.Prettify(s) 9991} 9992 9993// GoString returns the string representation 9994func (s UpdateTaintsPayload) GoString() string { 9995 return s.String() 9996} 9997 9998// Validate inspects the fields of the type to determine if they are valid. 9999func (s *UpdateTaintsPayload) Validate() error { 10000 invalidParams := request.ErrInvalidParams{Context: "UpdateTaintsPayload"} 10001 if s.AddOrUpdateTaints != nil { 10002 for i, v := range s.AddOrUpdateTaints { 10003 if v == nil { 10004 continue 10005 } 10006 if err := v.Validate(); err != nil { 10007 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOrUpdateTaints", i), err.(request.ErrInvalidParams)) 10008 } 10009 } 10010 } 10011 if s.RemoveTaints != nil { 10012 for i, v := range s.RemoveTaints { 10013 if v == nil { 10014 continue 10015 } 10016 if err := v.Validate(); err != nil { 10017 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RemoveTaints", i), err.(request.ErrInvalidParams)) 10018 } 10019 } 10020 } 10021 10022 if invalidParams.Len() > 0 { 10023 return invalidParams 10024 } 10025 return nil 10026} 10027 10028// SetAddOrUpdateTaints sets the AddOrUpdateTaints field's value. 10029func (s *UpdateTaintsPayload) SetAddOrUpdateTaints(v []*Taint) *UpdateTaintsPayload { 10030 s.AddOrUpdateTaints = v 10031 return s 10032} 10033 10034// SetRemoveTaints sets the RemoveTaints field's value. 10035func (s *UpdateTaintsPayload) SetRemoveTaints(v []*Taint) *UpdateTaintsPayload { 10036 s.RemoveTaints = v 10037 return s 10038} 10039 10040// An object representing the VPC configuration to use for an Amazon EKS cluster. 10041type VpcConfigRequest struct { 10042 _ struct{} `type:"structure"` 10043 10044 // Set this value to true to enable private access for your cluster's Kubernetes 10045 // API server endpoint. If you enable private access, Kubernetes API requests 10046 // from within your cluster's VPC use the private VPC endpoint. The default 10047 // value for this parameter is false, which disables private access for your 10048 // Kubernetes API server. If you disable private access and you have nodes or 10049 // Fargate pods in the cluster, then ensure that publicAccessCidrs includes 10050 // the necessary CIDR blocks for communication with the nodes or Fargate pods. 10051 // For more information, see Amazon EKS cluster endpoint access control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 10052 // in the Amazon EKS User Guide . 10053 EndpointPrivateAccess *bool `locationName:"endpointPrivateAccess" type:"boolean"` 10054 10055 // Set this value to false to disable public access to your cluster's Kubernetes 10056 // API server endpoint. If you disable public access, your cluster's Kubernetes 10057 // API server can only receive requests from within the cluster VPC. The default 10058 // value for this parameter is true, which enables public access for your Kubernetes 10059 // API server. For more information, see Amazon EKS cluster endpoint access 10060 // control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 10061 // in the Amazon EKS User Guide . 10062 EndpointPublicAccess *bool `locationName:"endpointPublicAccess" type:"boolean"` 10063 10064 // The CIDR blocks that are allowed access to your cluster's public Kubernetes 10065 // API server endpoint. Communication to the endpoint from addresses outside 10066 // of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0. 10067 // If you've disabled private endpoint access and you have nodes or Fargate 10068 // pods in the cluster, then ensure that you specify the necessary CIDR blocks. 10069 // For more information, see Amazon EKS cluster endpoint access control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 10070 // in the Amazon EKS User Guide . 10071 PublicAccessCidrs []*string `locationName:"publicAccessCidrs" type:"list"` 10072 10073 // Specify one or more security groups for the cross-account elastic network 10074 // interfaces that Amazon EKS creates to use that allow communication between 10075 // your nodes and the Kubernetes control plane. If you don't specify any security 10076 // groups, then familiarize yourself with the difference between Amazon EKS 10077 // defaults for clusters deployed with Kubernetes: 10078 // 10079 // * 1.14 Amazon EKS platform version eks.2 and earlier 10080 // 10081 // * 1.14 Amazon EKS platform version eks.3 and later 10082 // 10083 // For more information, see Amazon EKS security group considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) 10084 // in the Amazon EKS User Guide . 10085 SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` 10086 10087 // Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account 10088 // elastic network interfaces in these subnets to allow communication between 10089 // your nodes and the Kubernetes control plane. 10090 SubnetIds []*string `locationName:"subnetIds" type:"list"` 10091} 10092 10093// String returns the string representation 10094func (s VpcConfigRequest) String() string { 10095 return awsutil.Prettify(s) 10096} 10097 10098// GoString returns the string representation 10099func (s VpcConfigRequest) GoString() string { 10100 return s.String() 10101} 10102 10103// SetEndpointPrivateAccess sets the EndpointPrivateAccess field's value. 10104func (s *VpcConfigRequest) SetEndpointPrivateAccess(v bool) *VpcConfigRequest { 10105 s.EndpointPrivateAccess = &v 10106 return s 10107} 10108 10109// SetEndpointPublicAccess sets the EndpointPublicAccess field's value. 10110func (s *VpcConfigRequest) SetEndpointPublicAccess(v bool) *VpcConfigRequest { 10111 s.EndpointPublicAccess = &v 10112 return s 10113} 10114 10115// SetPublicAccessCidrs sets the PublicAccessCidrs field's value. 10116func (s *VpcConfigRequest) SetPublicAccessCidrs(v []*string) *VpcConfigRequest { 10117 s.PublicAccessCidrs = v 10118 return s 10119} 10120 10121// SetSecurityGroupIds sets the SecurityGroupIds field's value. 10122func (s *VpcConfigRequest) SetSecurityGroupIds(v []*string) *VpcConfigRequest { 10123 s.SecurityGroupIds = v 10124 return s 10125} 10126 10127// SetSubnetIds sets the SubnetIds field's value. 10128func (s *VpcConfigRequest) SetSubnetIds(v []*string) *VpcConfigRequest { 10129 s.SubnetIds = v 10130 return s 10131} 10132 10133// An object representing an Amazon EKS cluster VPC configuration response. 10134type VpcConfigResponse struct { 10135 _ struct{} `type:"structure"` 10136 10137 // The cluster security group that was created by Amazon EKS for the cluster. 10138 // Managed node groups use this security group for control-plane-to-data-plane 10139 // communication. 10140 ClusterSecurityGroupId *string `locationName:"clusterSecurityGroupId" type:"string"` 10141 10142 // This parameter indicates whether the Amazon EKS private API server endpoint 10143 // is enabled. If the Amazon EKS private API server endpoint is enabled, Kubernetes 10144 // API requests that originate from within your cluster's VPC use the private 10145 // VPC endpoint instead of traversing the internet. If this value is disabled 10146 // and you have nodes or Fargate pods in the cluster, then ensure that publicAccessCidrs 10147 // includes the necessary CIDR blocks for communication with the nodes or Fargate 10148 // pods. For more information, see Amazon EKS cluster endpoint access control 10149 // (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 10150 // in the Amazon EKS User Guide . 10151 EndpointPrivateAccess *bool `locationName:"endpointPrivateAccess" type:"boolean"` 10152 10153 // This parameter indicates whether the Amazon EKS public API server endpoint 10154 // is enabled. If the Amazon EKS public API server endpoint is disabled, your 10155 // cluster's Kubernetes API server can only receive requests that originate 10156 // from within the cluster VPC. 10157 EndpointPublicAccess *bool `locationName:"endpointPublicAccess" type:"boolean"` 10158 10159 // The CIDR blocks that are allowed access to your cluster's public Kubernetes 10160 // API server endpoint. Communication to the endpoint from addresses outside 10161 // of the listed CIDR blocks is denied. The default value is 0.0.0.0/0. If you've 10162 // disabled private endpoint access and you have nodes or Fargate pods in the 10163 // cluster, then ensure that the necessary CIDR blocks are listed. For more 10164 // information, see Amazon EKS cluster endpoint access control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) 10165 // in the Amazon EKS User Guide . 10166 PublicAccessCidrs []*string `locationName:"publicAccessCidrs" type:"list"` 10167 10168 // The security groups associated with the cross-account elastic network interfaces 10169 // that are used to allow communication between your nodes and the Kubernetes 10170 // control plane. 10171 SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` 10172 10173 // The subnets associated with your cluster. 10174 SubnetIds []*string `locationName:"subnetIds" type:"list"` 10175 10176 // The VPC associated with your cluster. 10177 VpcId *string `locationName:"vpcId" type:"string"` 10178} 10179 10180// String returns the string representation 10181func (s VpcConfigResponse) String() string { 10182 return awsutil.Prettify(s) 10183} 10184 10185// GoString returns the string representation 10186func (s VpcConfigResponse) GoString() string { 10187 return s.String() 10188} 10189 10190// SetClusterSecurityGroupId sets the ClusterSecurityGroupId field's value. 10191func (s *VpcConfigResponse) SetClusterSecurityGroupId(v string) *VpcConfigResponse { 10192 s.ClusterSecurityGroupId = &v 10193 return s 10194} 10195 10196// SetEndpointPrivateAccess sets the EndpointPrivateAccess field's value. 10197func (s *VpcConfigResponse) SetEndpointPrivateAccess(v bool) *VpcConfigResponse { 10198 s.EndpointPrivateAccess = &v 10199 return s 10200} 10201 10202// SetEndpointPublicAccess sets the EndpointPublicAccess field's value. 10203func (s *VpcConfigResponse) SetEndpointPublicAccess(v bool) *VpcConfigResponse { 10204 s.EndpointPublicAccess = &v 10205 return s 10206} 10207 10208// SetPublicAccessCidrs sets the PublicAccessCidrs field's value. 10209func (s *VpcConfigResponse) SetPublicAccessCidrs(v []*string) *VpcConfigResponse { 10210 s.PublicAccessCidrs = v 10211 return s 10212} 10213 10214// SetSecurityGroupIds sets the SecurityGroupIds field's value. 10215func (s *VpcConfigResponse) SetSecurityGroupIds(v []*string) *VpcConfigResponse { 10216 s.SecurityGroupIds = v 10217 return s 10218} 10219 10220// SetSubnetIds sets the SubnetIds field's value. 10221func (s *VpcConfigResponse) SetSubnetIds(v []*string) *VpcConfigResponse { 10222 s.SubnetIds = v 10223 return s 10224} 10225 10226// SetVpcId sets the VpcId field's value. 10227func (s *VpcConfigResponse) SetVpcId(v string) *VpcConfigResponse { 10228 s.VpcId = &v 10229 return s 10230} 10231 10232const ( 10233 // AMITypesAl2X8664 is a AMITypes enum value 10234 AMITypesAl2X8664 = "AL2_x86_64" 10235 10236 // AMITypesAl2X8664Gpu is a AMITypes enum value 10237 AMITypesAl2X8664Gpu = "AL2_x86_64_GPU" 10238 10239 // AMITypesAl2Arm64 is a AMITypes enum value 10240 AMITypesAl2Arm64 = "AL2_ARM_64" 10241 10242 // AMITypesCustom is a AMITypes enum value 10243 AMITypesCustom = "CUSTOM" 10244) 10245 10246// AMITypes_Values returns all elements of the AMITypes enum 10247func AMITypes_Values() []string { 10248 return []string{ 10249 AMITypesAl2X8664, 10250 AMITypesAl2X8664Gpu, 10251 AMITypesAl2Arm64, 10252 AMITypesCustom, 10253 } 10254} 10255 10256const ( 10257 // AddonIssueCodeAccessDenied is a AddonIssueCode enum value 10258 AddonIssueCodeAccessDenied = "AccessDenied" 10259 10260 // AddonIssueCodeInternalFailure is a AddonIssueCode enum value 10261 AddonIssueCodeInternalFailure = "InternalFailure" 10262 10263 // AddonIssueCodeClusterUnreachable is a AddonIssueCode enum value 10264 AddonIssueCodeClusterUnreachable = "ClusterUnreachable" 10265 10266 // AddonIssueCodeInsufficientNumberOfReplicas is a AddonIssueCode enum value 10267 AddonIssueCodeInsufficientNumberOfReplicas = "InsufficientNumberOfReplicas" 10268 10269 // AddonIssueCodeConfigurationConflict is a AddonIssueCode enum value 10270 AddonIssueCodeConfigurationConflict = "ConfigurationConflict" 10271 10272 // AddonIssueCodeAdmissionRequestDenied is a AddonIssueCode enum value 10273 AddonIssueCodeAdmissionRequestDenied = "AdmissionRequestDenied" 10274 10275 // AddonIssueCodeUnsupportedAddonModification is a AddonIssueCode enum value 10276 AddonIssueCodeUnsupportedAddonModification = "UnsupportedAddonModification" 10277 10278 // AddonIssueCodeK8sResourceNotFound is a AddonIssueCode enum value 10279 AddonIssueCodeK8sResourceNotFound = "K8sResourceNotFound" 10280) 10281 10282// AddonIssueCode_Values returns all elements of the AddonIssueCode enum 10283func AddonIssueCode_Values() []string { 10284 return []string{ 10285 AddonIssueCodeAccessDenied, 10286 AddonIssueCodeInternalFailure, 10287 AddonIssueCodeClusterUnreachable, 10288 AddonIssueCodeInsufficientNumberOfReplicas, 10289 AddonIssueCodeConfigurationConflict, 10290 AddonIssueCodeAdmissionRequestDenied, 10291 AddonIssueCodeUnsupportedAddonModification, 10292 AddonIssueCodeK8sResourceNotFound, 10293 } 10294} 10295 10296const ( 10297 // AddonStatusCreating is a AddonStatus enum value 10298 AddonStatusCreating = "CREATING" 10299 10300 // AddonStatusActive is a AddonStatus enum value 10301 AddonStatusActive = "ACTIVE" 10302 10303 // AddonStatusCreateFailed is a AddonStatus enum value 10304 AddonStatusCreateFailed = "CREATE_FAILED" 10305 10306 // AddonStatusUpdating is a AddonStatus enum value 10307 AddonStatusUpdating = "UPDATING" 10308 10309 // AddonStatusDeleting is a AddonStatus enum value 10310 AddonStatusDeleting = "DELETING" 10311 10312 // AddonStatusDeleteFailed is a AddonStatus enum value 10313 AddonStatusDeleteFailed = "DELETE_FAILED" 10314 10315 // AddonStatusDegraded is a AddonStatus enum value 10316 AddonStatusDegraded = "DEGRADED" 10317) 10318 10319// AddonStatus_Values returns all elements of the AddonStatus enum 10320func AddonStatus_Values() []string { 10321 return []string{ 10322 AddonStatusCreating, 10323 AddonStatusActive, 10324 AddonStatusCreateFailed, 10325 AddonStatusUpdating, 10326 AddonStatusDeleting, 10327 AddonStatusDeleteFailed, 10328 AddonStatusDegraded, 10329 } 10330} 10331 10332const ( 10333 // CapacityTypesOnDemand is a CapacityTypes enum value 10334 CapacityTypesOnDemand = "ON_DEMAND" 10335 10336 // CapacityTypesSpot is a CapacityTypes enum value 10337 CapacityTypesSpot = "SPOT" 10338) 10339 10340// CapacityTypes_Values returns all elements of the CapacityTypes enum 10341func CapacityTypes_Values() []string { 10342 return []string{ 10343 CapacityTypesOnDemand, 10344 CapacityTypesSpot, 10345 } 10346} 10347 10348const ( 10349 // ClusterStatusCreating is a ClusterStatus enum value 10350 ClusterStatusCreating = "CREATING" 10351 10352 // ClusterStatusActive is a ClusterStatus enum value 10353 ClusterStatusActive = "ACTIVE" 10354 10355 // ClusterStatusDeleting is a ClusterStatus enum value 10356 ClusterStatusDeleting = "DELETING" 10357 10358 // ClusterStatusFailed is a ClusterStatus enum value 10359 ClusterStatusFailed = "FAILED" 10360 10361 // ClusterStatusUpdating is a ClusterStatus enum value 10362 ClusterStatusUpdating = "UPDATING" 10363) 10364 10365// ClusterStatus_Values returns all elements of the ClusterStatus enum 10366func ClusterStatus_Values() []string { 10367 return []string{ 10368 ClusterStatusCreating, 10369 ClusterStatusActive, 10370 ClusterStatusDeleting, 10371 ClusterStatusFailed, 10372 ClusterStatusUpdating, 10373 } 10374} 10375 10376const ( 10377 // ConfigStatusCreating is a ConfigStatus enum value 10378 ConfigStatusCreating = "CREATING" 10379 10380 // ConfigStatusDeleting is a ConfigStatus enum value 10381 ConfigStatusDeleting = "DELETING" 10382 10383 // ConfigStatusActive is a ConfigStatus enum value 10384 ConfigStatusActive = "ACTIVE" 10385) 10386 10387// ConfigStatus_Values returns all elements of the ConfigStatus enum 10388func ConfigStatus_Values() []string { 10389 return []string{ 10390 ConfigStatusCreating, 10391 ConfigStatusDeleting, 10392 ConfigStatusActive, 10393 } 10394} 10395 10396const ( 10397 // ErrorCodeSubnetNotFound is a ErrorCode enum value 10398 ErrorCodeSubnetNotFound = "SubnetNotFound" 10399 10400 // ErrorCodeSecurityGroupNotFound is a ErrorCode enum value 10401 ErrorCodeSecurityGroupNotFound = "SecurityGroupNotFound" 10402 10403 // ErrorCodeEniLimitReached is a ErrorCode enum value 10404 ErrorCodeEniLimitReached = "EniLimitReached" 10405 10406 // ErrorCodeIpNotAvailable is a ErrorCode enum value 10407 ErrorCodeIpNotAvailable = "IpNotAvailable" 10408 10409 // ErrorCodeAccessDenied is a ErrorCode enum value 10410 ErrorCodeAccessDenied = "AccessDenied" 10411 10412 // ErrorCodeOperationNotPermitted is a ErrorCode enum value 10413 ErrorCodeOperationNotPermitted = "OperationNotPermitted" 10414 10415 // ErrorCodeVpcIdNotFound is a ErrorCode enum value 10416 ErrorCodeVpcIdNotFound = "VpcIdNotFound" 10417 10418 // ErrorCodeUnknown is a ErrorCode enum value 10419 ErrorCodeUnknown = "Unknown" 10420 10421 // ErrorCodeNodeCreationFailure is a ErrorCode enum value 10422 ErrorCodeNodeCreationFailure = "NodeCreationFailure" 10423 10424 // ErrorCodePodEvictionFailure is a ErrorCode enum value 10425 ErrorCodePodEvictionFailure = "PodEvictionFailure" 10426 10427 // ErrorCodeInsufficientFreeAddresses is a ErrorCode enum value 10428 ErrorCodeInsufficientFreeAddresses = "InsufficientFreeAddresses" 10429 10430 // ErrorCodeClusterUnreachable is a ErrorCode enum value 10431 ErrorCodeClusterUnreachable = "ClusterUnreachable" 10432 10433 // ErrorCodeInsufficientNumberOfReplicas is a ErrorCode enum value 10434 ErrorCodeInsufficientNumberOfReplicas = "InsufficientNumberOfReplicas" 10435 10436 // ErrorCodeConfigurationConflict is a ErrorCode enum value 10437 ErrorCodeConfigurationConflict = "ConfigurationConflict" 10438 10439 // ErrorCodeAdmissionRequestDenied is a ErrorCode enum value 10440 ErrorCodeAdmissionRequestDenied = "AdmissionRequestDenied" 10441 10442 // ErrorCodeUnsupportedAddonModification is a ErrorCode enum value 10443 ErrorCodeUnsupportedAddonModification = "UnsupportedAddonModification" 10444 10445 // ErrorCodeK8sResourceNotFound is a ErrorCode enum value 10446 ErrorCodeK8sResourceNotFound = "K8sResourceNotFound" 10447) 10448 10449// ErrorCode_Values returns all elements of the ErrorCode enum 10450func ErrorCode_Values() []string { 10451 return []string{ 10452 ErrorCodeSubnetNotFound, 10453 ErrorCodeSecurityGroupNotFound, 10454 ErrorCodeEniLimitReached, 10455 ErrorCodeIpNotAvailable, 10456 ErrorCodeAccessDenied, 10457 ErrorCodeOperationNotPermitted, 10458 ErrorCodeVpcIdNotFound, 10459 ErrorCodeUnknown, 10460 ErrorCodeNodeCreationFailure, 10461 ErrorCodePodEvictionFailure, 10462 ErrorCodeInsufficientFreeAddresses, 10463 ErrorCodeClusterUnreachable, 10464 ErrorCodeInsufficientNumberOfReplicas, 10465 ErrorCodeConfigurationConflict, 10466 ErrorCodeAdmissionRequestDenied, 10467 ErrorCodeUnsupportedAddonModification, 10468 ErrorCodeK8sResourceNotFound, 10469 } 10470} 10471 10472const ( 10473 // FargateProfileStatusCreating is a FargateProfileStatus enum value 10474 FargateProfileStatusCreating = "CREATING" 10475 10476 // FargateProfileStatusActive is a FargateProfileStatus enum value 10477 FargateProfileStatusActive = "ACTIVE" 10478 10479 // FargateProfileStatusDeleting is a FargateProfileStatus enum value 10480 FargateProfileStatusDeleting = "DELETING" 10481 10482 // FargateProfileStatusCreateFailed is a FargateProfileStatus enum value 10483 FargateProfileStatusCreateFailed = "CREATE_FAILED" 10484 10485 // FargateProfileStatusDeleteFailed is a FargateProfileStatus enum value 10486 FargateProfileStatusDeleteFailed = "DELETE_FAILED" 10487) 10488 10489// FargateProfileStatus_Values returns all elements of the FargateProfileStatus enum 10490func FargateProfileStatus_Values() []string { 10491 return []string{ 10492 FargateProfileStatusCreating, 10493 FargateProfileStatusActive, 10494 FargateProfileStatusDeleting, 10495 FargateProfileStatusCreateFailed, 10496 FargateProfileStatusDeleteFailed, 10497 } 10498} 10499 10500const ( 10501 // LogTypeApi is a LogType enum value 10502 LogTypeApi = "api" 10503 10504 // LogTypeAudit is a LogType enum value 10505 LogTypeAudit = "audit" 10506 10507 // LogTypeAuthenticator is a LogType enum value 10508 LogTypeAuthenticator = "authenticator" 10509 10510 // LogTypeControllerManager is a LogType enum value 10511 LogTypeControllerManager = "controllerManager" 10512 10513 // LogTypeScheduler is a LogType enum value 10514 LogTypeScheduler = "scheduler" 10515) 10516 10517// LogType_Values returns all elements of the LogType enum 10518func LogType_Values() []string { 10519 return []string{ 10520 LogTypeApi, 10521 LogTypeAudit, 10522 LogTypeAuthenticator, 10523 LogTypeControllerManager, 10524 LogTypeScheduler, 10525 } 10526} 10527 10528const ( 10529 // NodegroupIssueCodeAutoScalingGroupNotFound is a NodegroupIssueCode enum value 10530 NodegroupIssueCodeAutoScalingGroupNotFound = "AutoScalingGroupNotFound" 10531 10532 // NodegroupIssueCodeAutoScalingGroupInvalidConfiguration is a NodegroupIssueCode enum value 10533 NodegroupIssueCodeAutoScalingGroupInvalidConfiguration = "AutoScalingGroupInvalidConfiguration" 10534 10535 // NodegroupIssueCodeEc2securityGroupNotFound is a NodegroupIssueCode enum value 10536 NodegroupIssueCodeEc2securityGroupNotFound = "Ec2SecurityGroupNotFound" 10537 10538 // NodegroupIssueCodeEc2securityGroupDeletionFailure is a NodegroupIssueCode enum value 10539 NodegroupIssueCodeEc2securityGroupDeletionFailure = "Ec2SecurityGroupDeletionFailure" 10540 10541 // NodegroupIssueCodeEc2launchTemplateNotFound is a NodegroupIssueCode enum value 10542 NodegroupIssueCodeEc2launchTemplateNotFound = "Ec2LaunchTemplateNotFound" 10543 10544 // NodegroupIssueCodeEc2launchTemplateVersionMismatch is a NodegroupIssueCode enum value 10545 NodegroupIssueCodeEc2launchTemplateVersionMismatch = "Ec2LaunchTemplateVersionMismatch" 10546 10547 // NodegroupIssueCodeEc2subnetNotFound is a NodegroupIssueCode enum value 10548 NodegroupIssueCodeEc2subnetNotFound = "Ec2SubnetNotFound" 10549 10550 // NodegroupIssueCodeEc2subnetInvalidConfiguration is a NodegroupIssueCode enum value 10551 NodegroupIssueCodeEc2subnetInvalidConfiguration = "Ec2SubnetInvalidConfiguration" 10552 10553 // NodegroupIssueCodeIamInstanceProfileNotFound is a NodegroupIssueCode enum value 10554 NodegroupIssueCodeIamInstanceProfileNotFound = "IamInstanceProfileNotFound" 10555 10556 // NodegroupIssueCodeIamLimitExceeded is a NodegroupIssueCode enum value 10557 NodegroupIssueCodeIamLimitExceeded = "IamLimitExceeded" 10558 10559 // NodegroupIssueCodeIamNodeRoleNotFound is a NodegroupIssueCode enum value 10560 NodegroupIssueCodeIamNodeRoleNotFound = "IamNodeRoleNotFound" 10561 10562 // NodegroupIssueCodeNodeCreationFailure is a NodegroupIssueCode enum value 10563 NodegroupIssueCodeNodeCreationFailure = "NodeCreationFailure" 10564 10565 // NodegroupIssueCodeAsgInstanceLaunchFailures is a NodegroupIssueCode enum value 10566 NodegroupIssueCodeAsgInstanceLaunchFailures = "AsgInstanceLaunchFailures" 10567 10568 // NodegroupIssueCodeInstanceLimitExceeded is a NodegroupIssueCode enum value 10569 NodegroupIssueCodeInstanceLimitExceeded = "InstanceLimitExceeded" 10570 10571 // NodegroupIssueCodeInsufficientFreeAddresses is a NodegroupIssueCode enum value 10572 NodegroupIssueCodeInsufficientFreeAddresses = "InsufficientFreeAddresses" 10573 10574 // NodegroupIssueCodeAccessDenied is a NodegroupIssueCode enum value 10575 NodegroupIssueCodeAccessDenied = "AccessDenied" 10576 10577 // NodegroupIssueCodeInternalFailure is a NodegroupIssueCode enum value 10578 NodegroupIssueCodeInternalFailure = "InternalFailure" 10579 10580 // NodegroupIssueCodeClusterUnreachable is a NodegroupIssueCode enum value 10581 NodegroupIssueCodeClusterUnreachable = "ClusterUnreachable" 10582) 10583 10584// NodegroupIssueCode_Values returns all elements of the NodegroupIssueCode enum 10585func NodegroupIssueCode_Values() []string { 10586 return []string{ 10587 NodegroupIssueCodeAutoScalingGroupNotFound, 10588 NodegroupIssueCodeAutoScalingGroupInvalidConfiguration, 10589 NodegroupIssueCodeEc2securityGroupNotFound, 10590 NodegroupIssueCodeEc2securityGroupDeletionFailure, 10591 NodegroupIssueCodeEc2launchTemplateNotFound, 10592 NodegroupIssueCodeEc2launchTemplateVersionMismatch, 10593 NodegroupIssueCodeEc2subnetNotFound, 10594 NodegroupIssueCodeEc2subnetInvalidConfiguration, 10595 NodegroupIssueCodeIamInstanceProfileNotFound, 10596 NodegroupIssueCodeIamLimitExceeded, 10597 NodegroupIssueCodeIamNodeRoleNotFound, 10598 NodegroupIssueCodeNodeCreationFailure, 10599 NodegroupIssueCodeAsgInstanceLaunchFailures, 10600 NodegroupIssueCodeInstanceLimitExceeded, 10601 NodegroupIssueCodeInsufficientFreeAddresses, 10602 NodegroupIssueCodeAccessDenied, 10603 NodegroupIssueCodeInternalFailure, 10604 NodegroupIssueCodeClusterUnreachable, 10605 } 10606} 10607 10608const ( 10609 // NodegroupStatusCreating is a NodegroupStatus enum value 10610 NodegroupStatusCreating = "CREATING" 10611 10612 // NodegroupStatusActive is a NodegroupStatus enum value 10613 NodegroupStatusActive = "ACTIVE" 10614 10615 // NodegroupStatusUpdating is a NodegroupStatus enum value 10616 NodegroupStatusUpdating = "UPDATING" 10617 10618 // NodegroupStatusDeleting is a NodegroupStatus enum value 10619 NodegroupStatusDeleting = "DELETING" 10620 10621 // NodegroupStatusCreateFailed is a NodegroupStatus enum value 10622 NodegroupStatusCreateFailed = "CREATE_FAILED" 10623 10624 // NodegroupStatusDeleteFailed is a NodegroupStatus enum value 10625 NodegroupStatusDeleteFailed = "DELETE_FAILED" 10626 10627 // NodegroupStatusDegraded is a NodegroupStatus enum value 10628 NodegroupStatusDegraded = "DEGRADED" 10629) 10630 10631// NodegroupStatus_Values returns all elements of the NodegroupStatus enum 10632func NodegroupStatus_Values() []string { 10633 return []string{ 10634 NodegroupStatusCreating, 10635 NodegroupStatusActive, 10636 NodegroupStatusUpdating, 10637 NodegroupStatusDeleting, 10638 NodegroupStatusCreateFailed, 10639 NodegroupStatusDeleteFailed, 10640 NodegroupStatusDegraded, 10641 } 10642} 10643 10644const ( 10645 // ResolveConflictsOverwrite is a ResolveConflicts enum value 10646 ResolveConflictsOverwrite = "OVERWRITE" 10647 10648 // ResolveConflictsNone is a ResolveConflicts enum value 10649 ResolveConflictsNone = "NONE" 10650) 10651 10652// ResolveConflicts_Values returns all elements of the ResolveConflicts enum 10653func ResolveConflicts_Values() []string { 10654 return []string{ 10655 ResolveConflictsOverwrite, 10656 ResolveConflictsNone, 10657 } 10658} 10659 10660const ( 10661 // TaintEffectNoSchedule is a TaintEffect enum value 10662 TaintEffectNoSchedule = "NO_SCHEDULE" 10663 10664 // TaintEffectNoExecute is a TaintEffect enum value 10665 TaintEffectNoExecute = "NO_EXECUTE" 10666 10667 // TaintEffectPreferNoSchedule is a TaintEffect enum value 10668 TaintEffectPreferNoSchedule = "PREFER_NO_SCHEDULE" 10669) 10670 10671// TaintEffect_Values returns all elements of the TaintEffect enum 10672func TaintEffect_Values() []string { 10673 return []string{ 10674 TaintEffectNoSchedule, 10675 TaintEffectNoExecute, 10676 TaintEffectPreferNoSchedule, 10677 } 10678} 10679 10680const ( 10681 // UpdateParamTypeVersion is a UpdateParamType enum value 10682 UpdateParamTypeVersion = "Version" 10683 10684 // UpdateParamTypePlatformVersion is a UpdateParamType enum value 10685 UpdateParamTypePlatformVersion = "PlatformVersion" 10686 10687 // UpdateParamTypeEndpointPrivateAccess is a UpdateParamType enum value 10688 UpdateParamTypeEndpointPrivateAccess = "EndpointPrivateAccess" 10689 10690 // UpdateParamTypeEndpointPublicAccess is a UpdateParamType enum value 10691 UpdateParamTypeEndpointPublicAccess = "EndpointPublicAccess" 10692 10693 // UpdateParamTypeClusterLogging is a UpdateParamType enum value 10694 UpdateParamTypeClusterLogging = "ClusterLogging" 10695 10696 // UpdateParamTypeDesiredSize is a UpdateParamType enum value 10697 UpdateParamTypeDesiredSize = "DesiredSize" 10698 10699 // UpdateParamTypeLabelsToAdd is a UpdateParamType enum value 10700 UpdateParamTypeLabelsToAdd = "LabelsToAdd" 10701 10702 // UpdateParamTypeLabelsToRemove is a UpdateParamType enum value 10703 UpdateParamTypeLabelsToRemove = "LabelsToRemove" 10704 10705 // UpdateParamTypeTaintsToAdd is a UpdateParamType enum value 10706 UpdateParamTypeTaintsToAdd = "TaintsToAdd" 10707 10708 // UpdateParamTypeTaintsToRemove is a UpdateParamType enum value 10709 UpdateParamTypeTaintsToRemove = "TaintsToRemove" 10710 10711 // UpdateParamTypeMaxSize is a UpdateParamType enum value 10712 UpdateParamTypeMaxSize = "MaxSize" 10713 10714 // UpdateParamTypeMinSize is a UpdateParamType enum value 10715 UpdateParamTypeMinSize = "MinSize" 10716 10717 // UpdateParamTypeReleaseVersion is a UpdateParamType enum value 10718 UpdateParamTypeReleaseVersion = "ReleaseVersion" 10719 10720 // UpdateParamTypePublicAccessCidrs is a UpdateParamType enum value 10721 UpdateParamTypePublicAccessCidrs = "PublicAccessCidrs" 10722 10723 // UpdateParamTypeLaunchTemplateName is a UpdateParamType enum value 10724 UpdateParamTypeLaunchTemplateName = "LaunchTemplateName" 10725 10726 // UpdateParamTypeLaunchTemplateVersion is a UpdateParamType enum value 10727 UpdateParamTypeLaunchTemplateVersion = "LaunchTemplateVersion" 10728 10729 // UpdateParamTypeIdentityProviderConfig is a UpdateParamType enum value 10730 UpdateParamTypeIdentityProviderConfig = "IdentityProviderConfig" 10731 10732 // UpdateParamTypeEncryptionConfig is a UpdateParamType enum value 10733 UpdateParamTypeEncryptionConfig = "EncryptionConfig" 10734 10735 // UpdateParamTypeAddonVersion is a UpdateParamType enum value 10736 UpdateParamTypeAddonVersion = "AddonVersion" 10737 10738 // UpdateParamTypeServiceAccountRoleArn is a UpdateParamType enum value 10739 UpdateParamTypeServiceAccountRoleArn = "ServiceAccountRoleArn" 10740 10741 // UpdateParamTypeResolveConflicts is a UpdateParamType enum value 10742 UpdateParamTypeResolveConflicts = "ResolveConflicts" 10743 10744 // UpdateParamTypeMaxUnavailable is a UpdateParamType enum value 10745 UpdateParamTypeMaxUnavailable = "MaxUnavailable" 10746 10747 // UpdateParamTypeMaxUnavailablePercentage is a UpdateParamType enum value 10748 UpdateParamTypeMaxUnavailablePercentage = "MaxUnavailablePercentage" 10749) 10750 10751// UpdateParamType_Values returns all elements of the UpdateParamType enum 10752func UpdateParamType_Values() []string { 10753 return []string{ 10754 UpdateParamTypeVersion, 10755 UpdateParamTypePlatformVersion, 10756 UpdateParamTypeEndpointPrivateAccess, 10757 UpdateParamTypeEndpointPublicAccess, 10758 UpdateParamTypeClusterLogging, 10759 UpdateParamTypeDesiredSize, 10760 UpdateParamTypeLabelsToAdd, 10761 UpdateParamTypeLabelsToRemove, 10762 UpdateParamTypeTaintsToAdd, 10763 UpdateParamTypeTaintsToRemove, 10764 UpdateParamTypeMaxSize, 10765 UpdateParamTypeMinSize, 10766 UpdateParamTypeReleaseVersion, 10767 UpdateParamTypePublicAccessCidrs, 10768 UpdateParamTypeLaunchTemplateName, 10769 UpdateParamTypeLaunchTemplateVersion, 10770 UpdateParamTypeIdentityProviderConfig, 10771 UpdateParamTypeEncryptionConfig, 10772 UpdateParamTypeAddonVersion, 10773 UpdateParamTypeServiceAccountRoleArn, 10774 UpdateParamTypeResolveConflicts, 10775 UpdateParamTypeMaxUnavailable, 10776 UpdateParamTypeMaxUnavailablePercentage, 10777 } 10778} 10779 10780const ( 10781 // UpdateStatusInProgress is a UpdateStatus enum value 10782 UpdateStatusInProgress = "InProgress" 10783 10784 // UpdateStatusFailed is a UpdateStatus enum value 10785 UpdateStatusFailed = "Failed" 10786 10787 // UpdateStatusCancelled is a UpdateStatus enum value 10788 UpdateStatusCancelled = "Cancelled" 10789 10790 // UpdateStatusSuccessful is a UpdateStatus enum value 10791 UpdateStatusSuccessful = "Successful" 10792) 10793 10794// UpdateStatus_Values returns all elements of the UpdateStatus enum 10795func UpdateStatus_Values() []string { 10796 return []string{ 10797 UpdateStatusInProgress, 10798 UpdateStatusFailed, 10799 UpdateStatusCancelled, 10800 UpdateStatusSuccessful, 10801 } 10802} 10803 10804const ( 10805 // UpdateTypeVersionUpdate is a UpdateType enum value 10806 UpdateTypeVersionUpdate = "VersionUpdate" 10807 10808 // UpdateTypeEndpointAccessUpdate is a UpdateType enum value 10809 UpdateTypeEndpointAccessUpdate = "EndpointAccessUpdate" 10810 10811 // UpdateTypeLoggingUpdate is a UpdateType enum value 10812 UpdateTypeLoggingUpdate = "LoggingUpdate" 10813 10814 // UpdateTypeConfigUpdate is a UpdateType enum value 10815 UpdateTypeConfigUpdate = "ConfigUpdate" 10816 10817 // UpdateTypeAssociateIdentityProviderConfig is a UpdateType enum value 10818 UpdateTypeAssociateIdentityProviderConfig = "AssociateIdentityProviderConfig" 10819 10820 // UpdateTypeDisassociateIdentityProviderConfig is a UpdateType enum value 10821 UpdateTypeDisassociateIdentityProviderConfig = "DisassociateIdentityProviderConfig" 10822 10823 // UpdateTypeAssociateEncryptionConfig is a UpdateType enum value 10824 UpdateTypeAssociateEncryptionConfig = "AssociateEncryptionConfig" 10825 10826 // UpdateTypeAddonUpdate is a UpdateType enum value 10827 UpdateTypeAddonUpdate = "AddonUpdate" 10828) 10829 10830// UpdateType_Values returns all elements of the UpdateType enum 10831func UpdateType_Values() []string { 10832 return []string{ 10833 UpdateTypeVersionUpdate, 10834 UpdateTypeEndpointAccessUpdate, 10835 UpdateTypeLoggingUpdate, 10836 UpdateTypeConfigUpdate, 10837 UpdateTypeAssociateIdentityProviderConfig, 10838 UpdateTypeDisassociateIdentityProviderConfig, 10839 UpdateTypeAssociateEncryptionConfig, 10840 UpdateTypeAddonUpdate, 10841 } 10842} 10843