1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/eks/EKS_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/DateTime.h> 10 #include <aws/eks/model/VpcConfigResponse.h> 11 #include <aws/eks/model/KubernetesNetworkConfigResponse.h> 12 #include <aws/eks/model/Logging.h> 13 #include <aws/eks/model/Identity.h> 14 #include <aws/eks/model/ClusterStatus.h> 15 #include <aws/eks/model/Certificate.h> 16 #include <aws/core/utils/memory/stl/AWSMap.h> 17 #include <aws/core/utils/memory/stl/AWSVector.h> 18 #include <aws/eks/model/ConnectorConfigResponse.h> 19 #include <aws/eks/model/EncryptionConfig.h> 20 #include <utility> 21 22 namespace Aws 23 { 24 namespace Utils 25 { 26 namespace Json 27 { 28 class JsonValue; 29 class JsonView; 30 } // namespace Json 31 } // namespace Utils 32 namespace EKS 33 { 34 namespace Model 35 { 36 37 /** 38 * <p>An object representing an Amazon EKS cluster.</p><p><h3>See Also:</h3> <a 39 * href="http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Cluster">AWS API 40 * Reference</a></p> 41 */ 42 class AWS_EKS_API Cluster 43 { 44 public: 45 Cluster(); 46 Cluster(Aws::Utils::Json::JsonView jsonValue); 47 Cluster& operator=(Aws::Utils::Json::JsonView jsonValue); 48 Aws::Utils::Json::JsonValue Jsonize() const; 49 50 51 /** 52 * <p>The name of the cluster.</p> 53 */ GetName()54 inline const Aws::String& GetName() const{ return m_name; } 55 56 /** 57 * <p>The name of the cluster.</p> 58 */ NameHasBeenSet()59 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 60 61 /** 62 * <p>The name of the cluster.</p> 63 */ SetName(const Aws::String & value)64 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 65 66 /** 67 * <p>The name of the cluster.</p> 68 */ SetName(Aws::String && value)69 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 70 71 /** 72 * <p>The name of the cluster.</p> 73 */ SetName(const char * value)74 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 75 76 /** 77 * <p>The name of the cluster.</p> 78 */ WithName(const Aws::String & value)79 inline Cluster& WithName(const Aws::String& value) { SetName(value); return *this;} 80 81 /** 82 * <p>The name of the cluster.</p> 83 */ WithName(Aws::String && value)84 inline Cluster& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 85 86 /** 87 * <p>The name of the cluster.</p> 88 */ WithName(const char * value)89 inline Cluster& WithName(const char* value) { SetName(value); return *this;} 90 91 92 /** 93 * <p>The Amazon Resource Name (ARN) of the cluster.</p> 94 */ GetArn()95 inline const Aws::String& GetArn() const{ return m_arn; } 96 97 /** 98 * <p>The Amazon Resource Name (ARN) of the cluster.</p> 99 */ ArnHasBeenSet()100 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } 101 102 /** 103 * <p>The Amazon Resource Name (ARN) of the cluster.</p> 104 */ SetArn(const Aws::String & value)105 inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } 106 107 /** 108 * <p>The Amazon Resource Name (ARN) of the cluster.</p> 109 */ SetArn(Aws::String && value)110 inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } 111 112 /** 113 * <p>The Amazon Resource Name (ARN) of the cluster.</p> 114 */ SetArn(const char * value)115 inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } 116 117 /** 118 * <p>The Amazon Resource Name (ARN) of the cluster.</p> 119 */ WithArn(const Aws::String & value)120 inline Cluster& WithArn(const Aws::String& value) { SetArn(value); return *this;} 121 122 /** 123 * <p>The Amazon Resource Name (ARN) of the cluster.</p> 124 */ WithArn(Aws::String && value)125 inline Cluster& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 126 127 /** 128 * <p>The Amazon Resource Name (ARN) of the cluster.</p> 129 */ WithArn(const char * value)130 inline Cluster& WithArn(const char* value) { SetArn(value); return *this;} 131 132 133 /** 134 * <p>The Unix epoch timestamp in seconds for when the cluster was created.</p> 135 */ GetCreatedAt()136 inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } 137 138 /** 139 * <p>The Unix epoch timestamp in seconds for when the cluster was created.</p> 140 */ CreatedAtHasBeenSet()141 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } 142 143 /** 144 * <p>The Unix epoch timestamp in seconds for when the cluster was created.</p> 145 */ SetCreatedAt(const Aws::Utils::DateTime & value)146 inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } 147 148 /** 149 * <p>The Unix epoch timestamp in seconds for when the cluster was created.</p> 150 */ SetCreatedAt(Aws::Utils::DateTime && value)151 inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } 152 153 /** 154 * <p>The Unix epoch timestamp in seconds for when the cluster was created.</p> 155 */ WithCreatedAt(const Aws::Utils::DateTime & value)156 inline Cluster& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} 157 158 /** 159 * <p>The Unix epoch timestamp in seconds for when the cluster was created.</p> 160 */ WithCreatedAt(Aws::Utils::DateTime && value)161 inline Cluster& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} 162 163 164 /** 165 * <p>The Kubernetes server version for the cluster.</p> 166 */ GetVersion()167 inline const Aws::String& GetVersion() const{ return m_version; } 168 169 /** 170 * <p>The Kubernetes server version for the cluster.</p> 171 */ VersionHasBeenSet()172 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } 173 174 /** 175 * <p>The Kubernetes server version for the cluster.</p> 176 */ SetVersion(const Aws::String & value)177 inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } 178 179 /** 180 * <p>The Kubernetes server version for the cluster.</p> 181 */ SetVersion(Aws::String && value)182 inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } 183 184 /** 185 * <p>The Kubernetes server version for the cluster.</p> 186 */ SetVersion(const char * value)187 inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } 188 189 /** 190 * <p>The Kubernetes server version for the cluster.</p> 191 */ WithVersion(const Aws::String & value)192 inline Cluster& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} 193 194 /** 195 * <p>The Kubernetes server version for the cluster.</p> 196 */ WithVersion(Aws::String && value)197 inline Cluster& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} 198 199 /** 200 * <p>The Kubernetes server version for the cluster.</p> 201 */ WithVersion(const char * value)202 inline Cluster& WithVersion(const char* value) { SetVersion(value); return *this;} 203 204 205 /** 206 * <p>The endpoint for your Kubernetes API server.</p> 207 */ GetEndpoint()208 inline const Aws::String& GetEndpoint() const{ return m_endpoint; } 209 210 /** 211 * <p>The endpoint for your Kubernetes API server.</p> 212 */ EndpointHasBeenSet()213 inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } 214 215 /** 216 * <p>The endpoint for your Kubernetes API server.</p> 217 */ SetEndpoint(const Aws::String & value)218 inline void SetEndpoint(const Aws::String& value) { m_endpointHasBeenSet = true; m_endpoint = value; } 219 220 /** 221 * <p>The endpoint for your Kubernetes API server.</p> 222 */ SetEndpoint(Aws::String && value)223 inline void SetEndpoint(Aws::String&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); } 224 225 /** 226 * <p>The endpoint for your Kubernetes API server.</p> 227 */ SetEndpoint(const char * value)228 inline void SetEndpoint(const char* value) { m_endpointHasBeenSet = true; m_endpoint.assign(value); } 229 230 /** 231 * <p>The endpoint for your Kubernetes API server.</p> 232 */ WithEndpoint(const Aws::String & value)233 inline Cluster& WithEndpoint(const Aws::String& value) { SetEndpoint(value); return *this;} 234 235 /** 236 * <p>The endpoint for your Kubernetes API server.</p> 237 */ WithEndpoint(Aws::String && value)238 inline Cluster& WithEndpoint(Aws::String&& value) { SetEndpoint(std::move(value)); return *this;} 239 240 /** 241 * <p>The endpoint for your Kubernetes API server.</p> 242 */ WithEndpoint(const char * value)243 inline Cluster& WithEndpoint(const char* value) { SetEndpoint(value); return *this;} 244 245 246 /** 247 * <p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for 248 * the Kubernetes control plane to make calls to Amazon Web Services API operations 249 * on your behalf.</p> 250 */ GetRoleArn()251 inline const Aws::String& GetRoleArn() const{ return m_roleArn; } 252 253 /** 254 * <p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for 255 * the Kubernetes control plane to make calls to Amazon Web Services API operations 256 * on your behalf.</p> 257 */ RoleArnHasBeenSet()258 inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } 259 260 /** 261 * <p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for 262 * the Kubernetes control plane to make calls to Amazon Web Services API operations 263 * on your behalf.</p> 264 */ SetRoleArn(const Aws::String & value)265 inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } 266 267 /** 268 * <p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for 269 * the Kubernetes control plane to make calls to Amazon Web Services API operations 270 * on your behalf.</p> 271 */ SetRoleArn(Aws::String && value)272 inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } 273 274 /** 275 * <p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for 276 * the Kubernetes control plane to make calls to Amazon Web Services API operations 277 * on your behalf.</p> 278 */ SetRoleArn(const char * value)279 inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } 280 281 /** 282 * <p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for 283 * the Kubernetes control plane to make calls to Amazon Web Services API operations 284 * on your behalf.</p> 285 */ WithRoleArn(const Aws::String & value)286 inline Cluster& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} 287 288 /** 289 * <p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for 290 * the Kubernetes control plane to make calls to Amazon Web Services API operations 291 * on your behalf.</p> 292 */ WithRoleArn(Aws::String && value)293 inline Cluster& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} 294 295 /** 296 * <p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for 297 * the Kubernetes control plane to make calls to Amazon Web Services API operations 298 * on your behalf.</p> 299 */ WithRoleArn(const char * value)300 inline Cluster& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} 301 302 303 /** 304 * <p>The VPC configuration used by the cluster control plane. Amazon EKS VPC 305 * resources have specific requirements to work properly with Kubernetes. For more 306 * information, see <a 307 * href="https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html">Cluster 308 * VPC Considerations</a> and <a 309 * href="https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html">Cluster 310 * Security Group Considerations</a> in the <i>Amazon EKS User Guide</i>.</p> 311 */ GetResourcesVpcConfig()312 inline const VpcConfigResponse& GetResourcesVpcConfig() const{ return m_resourcesVpcConfig; } 313 314 /** 315 * <p>The VPC configuration used by the cluster control plane. Amazon EKS VPC 316 * resources have specific requirements to work properly with Kubernetes. For more 317 * information, see <a 318 * href="https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html">Cluster 319 * VPC Considerations</a> and <a 320 * href="https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html">Cluster 321 * Security Group Considerations</a> in the <i>Amazon EKS User Guide</i>.</p> 322 */ ResourcesVpcConfigHasBeenSet()323 inline bool ResourcesVpcConfigHasBeenSet() const { return m_resourcesVpcConfigHasBeenSet; } 324 325 /** 326 * <p>The VPC configuration used by the cluster control plane. Amazon EKS VPC 327 * resources have specific requirements to work properly with Kubernetes. For more 328 * information, see <a 329 * href="https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html">Cluster 330 * VPC Considerations</a> and <a 331 * href="https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html">Cluster 332 * Security Group Considerations</a> in the <i>Amazon EKS User Guide</i>.</p> 333 */ SetResourcesVpcConfig(const VpcConfigResponse & value)334 inline void SetResourcesVpcConfig(const VpcConfigResponse& value) { m_resourcesVpcConfigHasBeenSet = true; m_resourcesVpcConfig = value; } 335 336 /** 337 * <p>The VPC configuration used by the cluster control plane. Amazon EKS VPC 338 * resources have specific requirements to work properly with Kubernetes. For more 339 * information, see <a 340 * href="https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html">Cluster 341 * VPC Considerations</a> and <a 342 * href="https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html">Cluster 343 * Security Group Considerations</a> in the <i>Amazon EKS User Guide</i>.</p> 344 */ SetResourcesVpcConfig(VpcConfigResponse && value)345 inline void SetResourcesVpcConfig(VpcConfigResponse&& value) { m_resourcesVpcConfigHasBeenSet = true; m_resourcesVpcConfig = std::move(value); } 346 347 /** 348 * <p>The VPC configuration used by the cluster control plane. Amazon EKS VPC 349 * resources have specific requirements to work properly with Kubernetes. For more 350 * information, see <a 351 * href="https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html">Cluster 352 * VPC Considerations</a> and <a 353 * href="https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html">Cluster 354 * Security Group Considerations</a> in the <i>Amazon EKS User Guide</i>.</p> 355 */ WithResourcesVpcConfig(const VpcConfigResponse & value)356 inline Cluster& WithResourcesVpcConfig(const VpcConfigResponse& value) { SetResourcesVpcConfig(value); return *this;} 357 358 /** 359 * <p>The VPC configuration used by the cluster control plane. Amazon EKS VPC 360 * resources have specific requirements to work properly with Kubernetes. For more 361 * information, see <a 362 * href="https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html">Cluster 363 * VPC Considerations</a> and <a 364 * href="https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html">Cluster 365 * Security Group Considerations</a> in the <i>Amazon EKS User Guide</i>.</p> 366 */ WithResourcesVpcConfig(VpcConfigResponse && value)367 inline Cluster& WithResourcesVpcConfig(VpcConfigResponse&& value) { SetResourcesVpcConfig(std::move(value)); return *this;} 368 369 370 /** 371 * <p>The Kubernetes network configuration for the cluster.</p> 372 */ GetKubernetesNetworkConfig()373 inline const KubernetesNetworkConfigResponse& GetKubernetesNetworkConfig() const{ return m_kubernetesNetworkConfig; } 374 375 /** 376 * <p>The Kubernetes network configuration for the cluster.</p> 377 */ KubernetesNetworkConfigHasBeenSet()378 inline bool KubernetesNetworkConfigHasBeenSet() const { return m_kubernetesNetworkConfigHasBeenSet; } 379 380 /** 381 * <p>The Kubernetes network configuration for the cluster.</p> 382 */ SetKubernetesNetworkConfig(const KubernetesNetworkConfigResponse & value)383 inline void SetKubernetesNetworkConfig(const KubernetesNetworkConfigResponse& value) { m_kubernetesNetworkConfigHasBeenSet = true; m_kubernetesNetworkConfig = value; } 384 385 /** 386 * <p>The Kubernetes network configuration for the cluster.</p> 387 */ SetKubernetesNetworkConfig(KubernetesNetworkConfigResponse && value)388 inline void SetKubernetesNetworkConfig(KubernetesNetworkConfigResponse&& value) { m_kubernetesNetworkConfigHasBeenSet = true; m_kubernetesNetworkConfig = std::move(value); } 389 390 /** 391 * <p>The Kubernetes network configuration for the cluster.</p> 392 */ WithKubernetesNetworkConfig(const KubernetesNetworkConfigResponse & value)393 inline Cluster& WithKubernetesNetworkConfig(const KubernetesNetworkConfigResponse& value) { SetKubernetesNetworkConfig(value); return *this;} 394 395 /** 396 * <p>The Kubernetes network configuration for the cluster.</p> 397 */ WithKubernetesNetworkConfig(KubernetesNetworkConfigResponse && value)398 inline Cluster& WithKubernetesNetworkConfig(KubernetesNetworkConfigResponse&& value) { SetKubernetesNetworkConfig(std::move(value)); return *this;} 399 400 401 /** 402 * <p>The logging configuration for your cluster.</p> 403 */ GetLogging()404 inline const Logging& GetLogging() const{ return m_logging; } 405 406 /** 407 * <p>The logging configuration for your cluster.</p> 408 */ LoggingHasBeenSet()409 inline bool LoggingHasBeenSet() const { return m_loggingHasBeenSet; } 410 411 /** 412 * <p>The logging configuration for your cluster.</p> 413 */ SetLogging(const Logging & value)414 inline void SetLogging(const Logging& value) { m_loggingHasBeenSet = true; m_logging = value; } 415 416 /** 417 * <p>The logging configuration for your cluster.</p> 418 */ SetLogging(Logging && value)419 inline void SetLogging(Logging&& value) { m_loggingHasBeenSet = true; m_logging = std::move(value); } 420 421 /** 422 * <p>The logging configuration for your cluster.</p> 423 */ WithLogging(const Logging & value)424 inline Cluster& WithLogging(const Logging& value) { SetLogging(value); return *this;} 425 426 /** 427 * <p>The logging configuration for your cluster.</p> 428 */ WithLogging(Logging && value)429 inline Cluster& WithLogging(Logging&& value) { SetLogging(std::move(value)); return *this;} 430 431 432 /** 433 * <p>The identity provider information for the cluster.</p> 434 */ GetIdentity()435 inline const Identity& GetIdentity() const{ return m_identity; } 436 437 /** 438 * <p>The identity provider information for the cluster.</p> 439 */ IdentityHasBeenSet()440 inline bool IdentityHasBeenSet() const { return m_identityHasBeenSet; } 441 442 /** 443 * <p>The identity provider information for the cluster.</p> 444 */ SetIdentity(const Identity & value)445 inline void SetIdentity(const Identity& value) { m_identityHasBeenSet = true; m_identity = value; } 446 447 /** 448 * <p>The identity provider information for the cluster.</p> 449 */ SetIdentity(Identity && value)450 inline void SetIdentity(Identity&& value) { m_identityHasBeenSet = true; m_identity = std::move(value); } 451 452 /** 453 * <p>The identity provider information for the cluster.</p> 454 */ WithIdentity(const Identity & value)455 inline Cluster& WithIdentity(const Identity& value) { SetIdentity(value); return *this;} 456 457 /** 458 * <p>The identity provider information for the cluster.</p> 459 */ WithIdentity(Identity && value)460 inline Cluster& WithIdentity(Identity&& value) { SetIdentity(std::move(value)); return *this;} 461 462 463 /** 464 * <p>The current status of the cluster.</p> 465 */ GetStatus()466 inline const ClusterStatus& GetStatus() const{ return m_status; } 467 468 /** 469 * <p>The current status of the cluster.</p> 470 */ StatusHasBeenSet()471 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } 472 473 /** 474 * <p>The current status of the cluster.</p> 475 */ SetStatus(const ClusterStatus & value)476 inline void SetStatus(const ClusterStatus& value) { m_statusHasBeenSet = true; m_status = value; } 477 478 /** 479 * <p>The current status of the cluster.</p> 480 */ SetStatus(ClusterStatus && value)481 inline void SetStatus(ClusterStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } 482 483 /** 484 * <p>The current status of the cluster.</p> 485 */ WithStatus(const ClusterStatus & value)486 inline Cluster& WithStatus(const ClusterStatus& value) { SetStatus(value); return *this;} 487 488 /** 489 * <p>The current status of the cluster.</p> 490 */ WithStatus(ClusterStatus && value)491 inline Cluster& WithStatus(ClusterStatus&& value) { SetStatus(std::move(value)); return *this;} 492 493 494 /** 495 * <p>The <code>certificate-authority-data</code> for your cluster.</p> 496 */ GetCertificateAuthority()497 inline const Certificate& GetCertificateAuthority() const{ return m_certificateAuthority; } 498 499 /** 500 * <p>The <code>certificate-authority-data</code> for your cluster.</p> 501 */ CertificateAuthorityHasBeenSet()502 inline bool CertificateAuthorityHasBeenSet() const { return m_certificateAuthorityHasBeenSet; } 503 504 /** 505 * <p>The <code>certificate-authority-data</code> for your cluster.</p> 506 */ SetCertificateAuthority(const Certificate & value)507 inline void SetCertificateAuthority(const Certificate& value) { m_certificateAuthorityHasBeenSet = true; m_certificateAuthority = value; } 508 509 /** 510 * <p>The <code>certificate-authority-data</code> for your cluster.</p> 511 */ SetCertificateAuthority(Certificate && value)512 inline void SetCertificateAuthority(Certificate&& value) { m_certificateAuthorityHasBeenSet = true; m_certificateAuthority = std::move(value); } 513 514 /** 515 * <p>The <code>certificate-authority-data</code> for your cluster.</p> 516 */ WithCertificateAuthority(const Certificate & value)517 inline Cluster& WithCertificateAuthority(const Certificate& value) { SetCertificateAuthority(value); return *this;} 518 519 /** 520 * <p>The <code>certificate-authority-data</code> for your cluster.</p> 521 */ WithCertificateAuthority(Certificate && value)522 inline Cluster& WithCertificateAuthority(Certificate&& value) { SetCertificateAuthority(std::move(value)); return *this;} 523 524 525 /** 526 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 527 * of the request.</p> 528 */ GetClientRequestToken()529 inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; } 530 531 /** 532 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 533 * of the request.</p> 534 */ ClientRequestTokenHasBeenSet()535 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; } 536 537 /** 538 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 539 * of the request.</p> 540 */ SetClientRequestToken(const Aws::String & value)541 inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; } 542 543 /** 544 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 545 * of the request.</p> 546 */ SetClientRequestToken(Aws::String && value)547 inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); } 548 549 /** 550 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 551 * of the request.</p> 552 */ SetClientRequestToken(const char * value)553 inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); } 554 555 /** 556 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 557 * of the request.</p> 558 */ WithClientRequestToken(const Aws::String & value)559 inline Cluster& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;} 560 561 /** 562 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 563 * of the request.</p> 564 */ WithClientRequestToken(Aws::String && value)565 inline Cluster& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;} 566 567 /** 568 * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency 569 * of the request.</p> 570 */ WithClientRequestToken(const char * value)571 inline Cluster& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;} 572 573 574 /** 575 * <p>The platform version of your Amazon EKS cluster. For more information, see <a 576 * href="https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html">Platform 577 * Versions</a> in the <i> <i>Amazon EKS User Guide</i> </i>.</p> 578 */ GetPlatformVersion()579 inline const Aws::String& GetPlatformVersion() const{ return m_platformVersion; } 580 581 /** 582 * <p>The platform version of your Amazon EKS cluster. For more information, see <a 583 * href="https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html">Platform 584 * Versions</a> in the <i> <i>Amazon EKS User Guide</i> </i>.</p> 585 */ PlatformVersionHasBeenSet()586 inline bool PlatformVersionHasBeenSet() const { return m_platformVersionHasBeenSet; } 587 588 /** 589 * <p>The platform version of your Amazon EKS cluster. For more information, see <a 590 * href="https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html">Platform 591 * Versions</a> in the <i> <i>Amazon EKS User Guide</i> </i>.</p> 592 */ SetPlatformVersion(const Aws::String & value)593 inline void SetPlatformVersion(const Aws::String& value) { m_platformVersionHasBeenSet = true; m_platformVersion = value; } 594 595 /** 596 * <p>The platform version of your Amazon EKS cluster. For more information, see <a 597 * href="https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html">Platform 598 * Versions</a> in the <i> <i>Amazon EKS User Guide</i> </i>.</p> 599 */ SetPlatformVersion(Aws::String && value)600 inline void SetPlatformVersion(Aws::String&& value) { m_platformVersionHasBeenSet = true; m_platformVersion = std::move(value); } 601 602 /** 603 * <p>The platform version of your Amazon EKS cluster. For more information, see <a 604 * href="https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html">Platform 605 * Versions</a> in the <i> <i>Amazon EKS User Guide</i> </i>.</p> 606 */ SetPlatformVersion(const char * value)607 inline void SetPlatformVersion(const char* value) { m_platformVersionHasBeenSet = true; m_platformVersion.assign(value); } 608 609 /** 610 * <p>The platform version of your Amazon EKS cluster. For more information, see <a 611 * href="https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html">Platform 612 * Versions</a> in the <i> <i>Amazon EKS User Guide</i> </i>.</p> 613 */ WithPlatformVersion(const Aws::String & value)614 inline Cluster& WithPlatformVersion(const Aws::String& value) { SetPlatformVersion(value); return *this;} 615 616 /** 617 * <p>The platform version of your Amazon EKS cluster. For more information, see <a 618 * href="https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html">Platform 619 * Versions</a> in the <i> <i>Amazon EKS User Guide</i> </i>.</p> 620 */ WithPlatformVersion(Aws::String && value)621 inline Cluster& WithPlatformVersion(Aws::String&& value) { SetPlatformVersion(std::move(value)); return *this;} 622 623 /** 624 * <p>The platform version of your Amazon EKS cluster. For more information, see <a 625 * href="https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html">Platform 626 * Versions</a> in the <i> <i>Amazon EKS User Guide</i> </i>.</p> 627 */ WithPlatformVersion(const char * value)628 inline Cluster& WithPlatformVersion(const char* value) { SetPlatformVersion(value); return *this;} 629 630 631 /** 632 * <p>The metadata that you apply to the cluster to assist with categorization and 633 * organization. Each tag consists of a key and an optional value, both of which 634 * you define. Cluster tags do not propagate to any other resources associated with 635 * the cluster.</p> 636 */ GetTags()637 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 638 639 /** 640 * <p>The metadata that you apply to the cluster to assist with categorization and 641 * organization. Each tag consists of a key and an optional value, both of which 642 * you define. Cluster tags do not propagate to any other resources associated with 643 * the cluster.</p> 644 */ TagsHasBeenSet()645 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 646 647 /** 648 * <p>The metadata that you apply to the cluster to assist with categorization and 649 * organization. Each tag consists of a key and an optional value, both of which 650 * you define. Cluster tags do not propagate to any other resources associated with 651 * the cluster.</p> 652 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)653 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; } 654 655 /** 656 * <p>The metadata that you apply to the cluster to assist with categorization and 657 * organization. Each tag consists of a key and an optional value, both of which 658 * you define. Cluster tags do not propagate to any other resources associated with 659 * the cluster.</p> 660 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)661 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 662 663 /** 664 * <p>The metadata that you apply to the cluster to assist with categorization and 665 * organization. Each tag consists of a key and an optional value, both of which 666 * you define. Cluster tags do not propagate to any other resources associated with 667 * the cluster.</p> 668 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)669 inline Cluster& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 670 671 /** 672 * <p>The metadata that you apply to the cluster to assist with categorization and 673 * organization. Each tag consists of a key and an optional value, both of which 674 * you define. Cluster tags do not propagate to any other resources associated with 675 * the cluster.</p> 676 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)677 inline Cluster& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 678 679 /** 680 * <p>The metadata that you apply to the cluster to assist with categorization and 681 * organization. Each tag consists of a key and an optional value, both of which 682 * you define. Cluster tags do not propagate to any other resources associated with 683 * the cluster.</p> 684 */ AddTags(const Aws::String & key,const Aws::String & value)685 inline Cluster& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 686 687 /** 688 * <p>The metadata that you apply to the cluster to assist with categorization and 689 * organization. Each tag consists of a key and an optional value, both of which 690 * you define. Cluster tags do not propagate to any other resources associated with 691 * the cluster.</p> 692 */ AddTags(Aws::String && key,const Aws::String & value)693 inline Cluster& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 694 695 /** 696 * <p>The metadata that you apply to the cluster to assist with categorization and 697 * organization. Each tag consists of a key and an optional value, both of which 698 * you define. Cluster tags do not propagate to any other resources associated with 699 * the cluster.</p> 700 */ AddTags(const Aws::String & key,Aws::String && value)701 inline Cluster& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 702 703 /** 704 * <p>The metadata that you apply to the cluster to assist with categorization and 705 * organization. Each tag consists of a key and an optional value, both of which 706 * you define. Cluster tags do not propagate to any other resources associated with 707 * the cluster.</p> 708 */ AddTags(Aws::String && key,Aws::String && value)709 inline Cluster& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } 710 711 /** 712 * <p>The metadata that you apply to the cluster to assist with categorization and 713 * organization. Each tag consists of a key and an optional value, both of which 714 * you define. Cluster tags do not propagate to any other resources associated with 715 * the cluster.</p> 716 */ AddTags(const char * key,Aws::String && value)717 inline Cluster& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } 718 719 /** 720 * <p>The metadata that you apply to the cluster to assist with categorization and 721 * organization. Each tag consists of a key and an optional value, both of which 722 * you define. Cluster tags do not propagate to any other resources associated with 723 * the cluster.</p> 724 */ AddTags(Aws::String && key,const char * value)725 inline Cluster& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } 726 727 /** 728 * <p>The metadata that you apply to the cluster to assist with categorization and 729 * organization. Each tag consists of a key and an optional value, both of which 730 * you define. Cluster tags do not propagate to any other resources associated with 731 * the cluster.</p> 732 */ AddTags(const char * key,const char * value)733 inline Cluster& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } 734 735 736 /** 737 * <p>The encryption configuration for the cluster.</p> 738 */ GetEncryptionConfig()739 inline const Aws::Vector<EncryptionConfig>& GetEncryptionConfig() const{ return m_encryptionConfig; } 740 741 /** 742 * <p>The encryption configuration for the cluster.</p> 743 */ EncryptionConfigHasBeenSet()744 inline bool EncryptionConfigHasBeenSet() const { return m_encryptionConfigHasBeenSet; } 745 746 /** 747 * <p>The encryption configuration for the cluster.</p> 748 */ SetEncryptionConfig(const Aws::Vector<EncryptionConfig> & value)749 inline void SetEncryptionConfig(const Aws::Vector<EncryptionConfig>& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig = value; } 750 751 /** 752 * <p>The encryption configuration for the cluster.</p> 753 */ SetEncryptionConfig(Aws::Vector<EncryptionConfig> && value)754 inline void SetEncryptionConfig(Aws::Vector<EncryptionConfig>&& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig = std::move(value); } 755 756 /** 757 * <p>The encryption configuration for the cluster.</p> 758 */ WithEncryptionConfig(const Aws::Vector<EncryptionConfig> & value)759 inline Cluster& WithEncryptionConfig(const Aws::Vector<EncryptionConfig>& value) { SetEncryptionConfig(value); return *this;} 760 761 /** 762 * <p>The encryption configuration for the cluster.</p> 763 */ WithEncryptionConfig(Aws::Vector<EncryptionConfig> && value)764 inline Cluster& WithEncryptionConfig(Aws::Vector<EncryptionConfig>&& value) { SetEncryptionConfig(std::move(value)); return *this;} 765 766 /** 767 * <p>The encryption configuration for the cluster.</p> 768 */ AddEncryptionConfig(const EncryptionConfig & value)769 inline Cluster& AddEncryptionConfig(const EncryptionConfig& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig.push_back(value); return *this; } 770 771 /** 772 * <p>The encryption configuration for the cluster.</p> 773 */ AddEncryptionConfig(EncryptionConfig && value)774 inline Cluster& AddEncryptionConfig(EncryptionConfig&& value) { m_encryptionConfigHasBeenSet = true; m_encryptionConfig.push_back(std::move(value)); return *this; } 775 776 777 /** 778 * <p>The configuration used to connect to a cluster for registration.</p> 779 */ GetConnectorConfig()780 inline const ConnectorConfigResponse& GetConnectorConfig() const{ return m_connectorConfig; } 781 782 /** 783 * <p>The configuration used to connect to a cluster for registration.</p> 784 */ ConnectorConfigHasBeenSet()785 inline bool ConnectorConfigHasBeenSet() const { return m_connectorConfigHasBeenSet; } 786 787 /** 788 * <p>The configuration used to connect to a cluster for registration.</p> 789 */ SetConnectorConfig(const ConnectorConfigResponse & value)790 inline void SetConnectorConfig(const ConnectorConfigResponse& value) { m_connectorConfigHasBeenSet = true; m_connectorConfig = value; } 791 792 /** 793 * <p>The configuration used to connect to a cluster for registration.</p> 794 */ SetConnectorConfig(ConnectorConfigResponse && value)795 inline void SetConnectorConfig(ConnectorConfigResponse&& value) { m_connectorConfigHasBeenSet = true; m_connectorConfig = std::move(value); } 796 797 /** 798 * <p>The configuration used to connect to a cluster for registration.</p> 799 */ WithConnectorConfig(const ConnectorConfigResponse & value)800 inline Cluster& WithConnectorConfig(const ConnectorConfigResponse& value) { SetConnectorConfig(value); return *this;} 801 802 /** 803 * <p>The configuration used to connect to a cluster for registration.</p> 804 */ WithConnectorConfig(ConnectorConfigResponse && value)805 inline Cluster& WithConnectorConfig(ConnectorConfigResponse&& value) { SetConnectorConfig(std::move(value)); return *this;} 806 807 private: 808 809 Aws::String m_name; 810 bool m_nameHasBeenSet; 811 812 Aws::String m_arn; 813 bool m_arnHasBeenSet; 814 815 Aws::Utils::DateTime m_createdAt; 816 bool m_createdAtHasBeenSet; 817 818 Aws::String m_version; 819 bool m_versionHasBeenSet; 820 821 Aws::String m_endpoint; 822 bool m_endpointHasBeenSet; 823 824 Aws::String m_roleArn; 825 bool m_roleArnHasBeenSet; 826 827 VpcConfigResponse m_resourcesVpcConfig; 828 bool m_resourcesVpcConfigHasBeenSet; 829 830 KubernetesNetworkConfigResponse m_kubernetesNetworkConfig; 831 bool m_kubernetesNetworkConfigHasBeenSet; 832 833 Logging m_logging; 834 bool m_loggingHasBeenSet; 835 836 Identity m_identity; 837 bool m_identityHasBeenSet; 838 839 ClusterStatus m_status; 840 bool m_statusHasBeenSet; 841 842 Certificate m_certificateAuthority; 843 bool m_certificateAuthorityHasBeenSet; 844 845 Aws::String m_clientRequestToken; 846 bool m_clientRequestTokenHasBeenSet; 847 848 Aws::String m_platformVersion; 849 bool m_platformVersionHasBeenSet; 850 851 Aws::Map<Aws::String, Aws::String> m_tags; 852 bool m_tagsHasBeenSet; 853 854 Aws::Vector<EncryptionConfig> m_encryptionConfig; 855 bool m_encryptionConfigHasBeenSet; 856 857 ConnectorConfigResponse m_connectorConfig; 858 bool m_connectorConfigHasBeenSet; 859 }; 860 861 } // namespace Model 862 } // namespace EKS 863 } // namespace Aws 864