Skip to content

Commit 0ec0300

Browse files
author
awstools
committed
feat(client-eks): Adding support for local Amazon EKS clusters on Outposts
1 parent 9524fa1 commit 0ec0300

File tree

3 files changed

+387
-20
lines changed

3 files changed

+387
-20
lines changed

clients/client-eks/src/models/models_0.ts

Lines changed: 177 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export interface AddonIssue {
6161
*/
6262
export interface AddonHealth {
6363
/**
64-
* <p>An object that represents the add-on's health issues.</p>
64+
* <p>An object representing the health issues for an add-on.</p>
6565
*/
6666
issues?: AddonIssue[];
6767
}
@@ -102,7 +102,7 @@ export interface Addon {
102102
addonVersion?: string;
103103

104104
/**
105-
* <p>An object that represents the health of the add-on.</p>
105+
* <p>An object representing the health of the add-on.</p>
106106
*/
107107
health?: AddonHealth;
108108

@@ -170,7 +170,7 @@ export interface AddonVersionInfo {
170170
architecture?: string[];
171171

172172
/**
173-
* <p>An object that represents the compatibilities of a version.</p>
173+
* <p>An object representing the compatibilities of a version.</p>
174174
*/
175175
compatibilities?: Compatibility[];
176176
}
@@ -190,7 +190,7 @@ export interface AddonInfo {
190190
type?: string;
191191

192192
/**
193-
* <p>An object that represents information about available add-on versions and compatible
193+
* <p>An object representing information about available add-on versions and compatible
194194
* Kubernetes versions.</p>
195195
*/
196196
addonVersions?: AddonVersionInfo[];
@@ -725,7 +725,7 @@ export interface AssociateIdentityProviderConfigRequest {
725725
clusterName: string | undefined;
726726

727727
/**
728-
* <p>An object that represents an OpenID Connect (OIDC) identity provider
728+
* <p>An object representing an OpenID Connect (OIDC) identity provider
729729
* configuration.</p>
730730
*/
731731
oidc: OidcIdentityProviderConfigRequest | undefined;
@@ -939,6 +939,47 @@ export interface Logging {
939939
clusterLogging?: LogSetup[];
940940
}
941941

942+
/**
943+
* <p>The configuration of your local Amazon EKS cluster on an Amazon Web Services
944+
* Outpost. Before creating a cluster on an Outpost, review <a href="https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html">Creating a local Amazon EKS cluster on an Amazon Web Services Outpost</a> in the
945+
* <i>Amazon EKS User Guide</i>. This API isn't available for Amazon EKS clusters on the
946+
* Amazon Web Services cloud.</p>
947+
*/
948+
export interface OutpostConfigRequest {
949+
/**
950+
* <p>The ARN of the Outpost that you want to use for your local Amazon EKS
951+
* cluster on Outposts. Only a single Outpost ARN is
952+
* supported.</p>
953+
*/
954+
outpostArns: string[] | undefined;
955+
956+
/**
957+
* <p>The Amazon EC2 instance type that you want to use for your local Amazon EKS cluster on Outposts. The instance type that you specify is used for all
958+
* Kubernetes control plane instances. The instance type can't be changed after cluster
959+
* creation.</p>
960+
* <p>Choose an instance type based on the number of nodes that your cluster will have. If
961+
* your cluster will have:</p>
962+
* <ul>
963+
* <li>
964+
* <p>1–20 nodes, then we recommend specifying a <code>large</code> instance
965+
* type.</p>
966+
* </li>
967+
* <li>
968+
* <p>21–100 nodes, then we recommend specifying an <code>xlarge</code>
969+
* instance type.</p>
970+
* </li>
971+
* <li>
972+
* <p>101–250 nodes, then we recommend specifying a <code>2xlarge</code>
973+
* instance type.</p>
974+
* </li>
975+
* </ul>
976+
* <p>For a list of the available Amazon EC2 instance types, see Compute and storage
977+
* in <a href="http://aws.amazon.com/outposts/rack/features/">Outposts rack
978+
* features</a>. The control plane is not automatically scaled by Amazon EKS.</p>
979+
*/
980+
controlPlaneInstanceType: string | undefined;
981+
}
982+
942983
/**
943984
* <p>An object representing the VPC configuration to use for an Amazon EKS
944985
* cluster.</p>
@@ -1021,7 +1062,10 @@ export interface CreateClusterRequest {
10211062

10221063
/**
10231064
* <p>The desired Kubernetes version for your cluster. If you don't specify a value here,
1024-
* the latest version available in Amazon EKS is used.</p>
1065+
* the default version available in Amazon EKS is used.</p>
1066+
* <note>
1067+
* <p>The default version might not be the latest version available.</p>
1068+
* </note>
10251069
*/
10261070
version?: string;
10271071

@@ -1080,6 +1124,16 @@ export interface CreateClusterRequest {
10801124
* <p>The encryption configuration for the cluster.</p>
10811125
*/
10821126
encryptionConfig?: EncryptionConfig[];
1127+
1128+
/**
1129+
* <p>An object representing the configuration of your local Amazon EKS cluster on
1130+
* an Amazon Web Services Outpost. Before creating a local cluster on an Outpost, review
1131+
* <a href="https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html">Creating an Amazon EKS cluster on an Amazon Web Services Outpost</a> in
1132+
* the <i>Amazon EKS User Guide</i>. This object isn't available for creating Amazon EKS
1133+
* clusters on the Amazon Web Services
1134+
* cloud.</p>
1135+
*/
1136+
outpostConfig?: OutpostConfigRequest;
10831137
}
10841138

10851139
/**
@@ -1127,6 +1181,52 @@ export interface ConnectorConfigResponse {
11271181
roleArn?: string;
11281182
}
11291183

1184+
export enum ClusterIssueCode {
1185+
ACCESS_DENIED = "AccessDenied",
1186+
CLUSTER_UNREACHABLE = "ClusterUnreachable",
1187+
CONFIGURATION_CONFLICT = "ConfigurationConflict",
1188+
INTERNAL_FAILURE = "InternalFailure",
1189+
RESOURCE_LIMIT_EXCEEDED = "ResourceLimitExceeded",
1190+
RESOURCE_NOT_FOUND = "ResourceNotFound",
1191+
}
1192+
1193+
/**
1194+
* <p>An issue with your local Amazon EKS cluster on an Amazon Web Services Outpost.
1195+
* You can't use this API with an Amazon EKS cluster on the Amazon Web Services
1196+
* cloud.</p>
1197+
*/
1198+
export interface ClusterIssue {
1199+
/**
1200+
* <p>The error code of the issue.</p>
1201+
*/
1202+
code?: ClusterIssueCode | string;
1203+
1204+
/**
1205+
* <p>A description of the issue.</p>
1206+
*/
1207+
message?: string;
1208+
1209+
/**
1210+
* <p>The resource IDs that the issue relates
1211+
* to.</p>
1212+
*/
1213+
resourceIds?: string[];
1214+
}
1215+
1216+
/**
1217+
* <p>An object representing the health of your local Amazon EKS cluster on an
1218+
* Amazon Web Services Outpost. You can't use this API with an Amazon EKS
1219+
* cluster on the Amazon Web Services cloud.
1220+
* </p>
1221+
*/
1222+
export interface ClusterHealth {
1223+
/**
1224+
* <p>An object representing the health issues of your local Amazon EKS cluster on
1225+
* an Amazon Web Services Outpost.</p>
1226+
*/
1227+
issues?: ClusterIssue[];
1228+
}
1229+
11301230
/**
11311231
* <p>An object representing the <a href="https://openid.net/connect/">OpenID
11321232
* Connect</a> (OIDC) identity provider information for the cluster.</p>
@@ -1183,6 +1283,26 @@ export interface KubernetesNetworkConfigResponse {
11831283
ipFamily?: IpFamily | string;
11841284
}
11851285

1286+
/**
1287+
* <p>An object representing the configuration of your local Amazon EKS cluster on
1288+
* an Amazon Web Services Outpost. This API isn't available for Amazon EKS clusters
1289+
* on the Amazon Web Services cloud.</p>
1290+
*/
1291+
export interface OutpostConfigResponse {
1292+
/**
1293+
* <p>The ARN of the Outpost that you specified for use with your local Amazon EKS
1294+
* cluster on Outposts.</p>
1295+
*/
1296+
outpostArns: string[] | undefined;
1297+
1298+
/**
1299+
* <p>The Amazon EC2 instance type used for the control plane. The instance type is
1300+
* the same for all control plane
1301+
* instances.</p>
1302+
*/
1303+
controlPlaneInstanceType: string | undefined;
1304+
}
1305+
11861306
/**
11871307
* <p>An object representing an Amazon EKS cluster VPC configuration
11881308
* response.</p>
@@ -1348,6 +1468,25 @@ export interface Cluster {
13481468
* <p>The configuration used to connect to a cluster for registration.</p>
13491469
*/
13501470
connectorConfig?: ConnectorConfigResponse;
1471+
1472+
/**
1473+
* <p>The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This
1474+
* property isn't available for an Amazon EKS cluster on the Amazon Web Services
1475+
* cloud.</p>
1476+
*/
1477+
id?: string;
1478+
1479+
/**
1480+
* <p>An object representing the health of your local Amazon EKS cluster on an
1481+
* Amazon Web Services Outpost. This object isn't available for clusters on the Amazon Web Services cloud.</p>
1482+
*/
1483+
health?: ClusterHealth;
1484+
1485+
/**
1486+
* <p>An object representing the configuration of your local Amazon EKS cluster on
1487+
* an Amazon Web Services Outpost. This object isn't available for clusters on the Amazon Web Services cloud.</p>
1488+
*/
1489+
outpostConfig?: OutpostConfigResponse;
13511490
}
13521491

13531492
export interface CreateClusterResponse {
@@ -2444,7 +2583,7 @@ export interface DescribeIdentityProviderConfigRequest {
24442583
clusterName: string | undefined;
24452584

24462585
/**
2447-
* <p>An object that represents an identity provider configuration.</p>
2586+
* <p>An object representing an identity provider configuration.</p>
24482587
*/
24492588
identityProviderConfig: IdentityProviderConfig | undefined;
24502589
}
@@ -2456,7 +2595,7 @@ export enum ConfigStatus {
24562595
}
24572596

24582597
/**
2459-
* <p>An object that represents the configuration for an OpenID Connect (OIDC) identity
2598+
* <p>An object representing the configuration for an OpenID Connect (OIDC) identity
24602599
* provider. </p>
24612600
*/
24622601
export interface OidcIdentityProviderConfig {
@@ -2536,7 +2675,7 @@ export interface OidcIdentityProviderConfig {
25362675
*/
25372676
export interface IdentityProviderConfigResponse {
25382677
/**
2539-
* <p>An object that represents an OpenID Connect (OIDC) identity provider
2678+
* <p>An object representing an OpenID Connect (OIDC) identity provider
25402679
* configuration.</p>
25412680
*/
25422681
oidc?: OidcIdentityProviderConfig;
@@ -2608,7 +2747,7 @@ export interface DisassociateIdentityProviderConfigRequest {
26082747
clusterName: string | undefined;
26092748

26102749
/**
2611-
* <p>An object that represents an identity provider configuration.</p>
2750+
* <p>An object representing an identity provider configuration.</p>
26122751
*/
26132752
identityProviderConfig: IdentityProviderConfig | undefined;
26142753

@@ -3516,6 +3655,13 @@ export const LoggingFilterSensitiveLog = (obj: Logging): any => ({
35163655
...obj,
35173656
});
35183657

3658+
/**
3659+
* @internal
3660+
*/
3661+
export const OutpostConfigRequestFilterSensitiveLog = (obj: OutpostConfigRequest): any => ({
3662+
...obj,
3663+
});
3664+
35193665
/**
35203666
* @internal
35213667
*/
@@ -3544,6 +3690,20 @@ export const ConnectorConfigResponseFilterSensitiveLog = (obj: ConnectorConfigRe
35443690
...obj,
35453691
});
35463692

3693+
/**
3694+
* @internal
3695+
*/
3696+
export const ClusterIssueFilterSensitiveLog = (obj: ClusterIssue): any => ({
3697+
...obj,
3698+
});
3699+
3700+
/**
3701+
* @internal
3702+
*/
3703+
export const ClusterHealthFilterSensitiveLog = (obj: ClusterHealth): any => ({
3704+
...obj,
3705+
});
3706+
35473707
/**
35483708
* @internal
35493709
*/
@@ -3565,6 +3725,13 @@ export const KubernetesNetworkConfigResponseFilterSensitiveLog = (obj: Kubernete
35653725
...obj,
35663726
});
35673727

3728+
/**
3729+
* @internal
3730+
*/
3731+
export const OutpostConfigResponseFilterSensitiveLog = (obj: OutpostConfigResponse): any => ({
3732+
...obj,
3733+
});
3734+
35683735
/**
35693736
* @internal
35703737
*/

0 commit comments

Comments
 (0)