Skip to content

Commit

Permalink
feat(client-eks): Adding support for local Amazon EKS clusters on Out…
Browse files Browse the repository at this point in the history
…posts
  • Loading branch information
awstools committed Sep 12, 2022
1 parent 9524fa1 commit 0ec0300
Show file tree
Hide file tree
Showing 3 changed files with 387 additions and 20 deletions.
187 changes: 177 additions & 10 deletions clients/client-eks/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export interface AddonIssue {
*/
export interface AddonHealth {
/**
* <p>An object that represents the add-on's health issues.</p>
* <p>An object representing the health issues for an add-on.</p>
*/
issues?: AddonIssue[];
}
Expand Down Expand Up @@ -102,7 +102,7 @@ export interface Addon {
addonVersion?: string;

/**
* <p>An object that represents the health of the add-on.</p>
* <p>An object representing the health of the add-on.</p>
*/
health?: AddonHealth;

Expand Down Expand Up @@ -170,7 +170,7 @@ export interface AddonVersionInfo {
architecture?: string[];

/**
* <p>An object that represents the compatibilities of a version.</p>
* <p>An object representing the compatibilities of a version.</p>
*/
compatibilities?: Compatibility[];
}
Expand All @@ -190,7 +190,7 @@ export interface AddonInfo {
type?: string;

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

/**
* <p>An object that represents an OpenID Connect (OIDC) identity provider
* <p>An object representing an OpenID Connect (OIDC) identity provider
* configuration.</p>
*/
oidc: OidcIdentityProviderConfigRequest | undefined;
Expand Down Expand Up @@ -939,6 +939,47 @@ export interface Logging {
clusterLogging?: LogSetup[];
}

/**
* <p>The configuration of your local Amazon EKS cluster on an Amazon Web Services
* 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
* <i>Amazon EKS User Guide</i>. This API isn't available for Amazon EKS clusters on the
* Amazon Web Services cloud.</p>
*/
export interface OutpostConfigRequest {
/**
* <p>The ARN of the Outpost that you want to use for your local Amazon EKS
* cluster on Outposts. Only a single Outpost ARN is
* supported.</p>
*/
outpostArns: string[] | undefined;

/**
* <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
* Kubernetes control plane instances. The instance type can't be changed after cluster
* creation.</p>
* <p>Choose an instance type based on the number of nodes that your cluster will have. If
* your cluster will have:</p>
* <ul>
* <li>
* <p>1–20 nodes, then we recommend specifying a <code>large</code> instance
* type.</p>
* </li>
* <li>
* <p>21–100 nodes, then we recommend specifying an <code>xlarge</code>
* instance type.</p>
* </li>
* <li>
* <p>101–250 nodes, then we recommend specifying a <code>2xlarge</code>
* instance type.</p>
* </li>
* </ul>
* <p>For a list of the available Amazon EC2 instance types, see Compute and storage
* in <a href="http://aws.amazon.com/outposts/rack/features/">Outposts rack
* features</a>. The control plane is not automatically scaled by Amazon EKS.</p>
*/
controlPlaneInstanceType: string | undefined;
}

/**
* <p>An object representing the VPC configuration to use for an Amazon EKS
* cluster.</p>
Expand Down Expand Up @@ -1021,7 +1062,10 @@ export interface CreateClusterRequest {

/**
* <p>The desired Kubernetes version for your cluster. If you don't specify a value here,
* the latest version available in Amazon EKS is used.</p>
* the default version available in Amazon EKS is used.</p>
* <note>
* <p>The default version might not be the latest version available.</p>
* </note>
*/
version?: string;

Expand Down Expand Up @@ -1080,6 +1124,16 @@ export interface CreateClusterRequest {
* <p>The encryption configuration for the cluster.</p>
*/
encryptionConfig?: EncryptionConfig[];

/**
* <p>An object representing the configuration of your local Amazon EKS cluster on
* an Amazon Web Services Outpost. Before creating a local cluster on an Outpost, review
* <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
* the <i>Amazon EKS User Guide</i>. This object isn't available for creating Amazon EKS
* clusters on the Amazon Web Services
* cloud.</p>
*/
outpostConfig?: OutpostConfigRequest;
}

/**
Expand Down Expand Up @@ -1127,6 +1181,52 @@ export interface ConnectorConfigResponse {
roleArn?: string;
}

export enum ClusterIssueCode {
ACCESS_DENIED = "AccessDenied",
CLUSTER_UNREACHABLE = "ClusterUnreachable",
CONFIGURATION_CONFLICT = "ConfigurationConflict",
INTERNAL_FAILURE = "InternalFailure",
RESOURCE_LIMIT_EXCEEDED = "ResourceLimitExceeded",
RESOURCE_NOT_FOUND = "ResourceNotFound",
}

/**
* <p>An issue with your local Amazon EKS cluster on an Amazon Web Services Outpost.
* You can't use this API with an Amazon EKS cluster on the Amazon Web Services
* cloud.</p>
*/
export interface ClusterIssue {
/**
* <p>The error code of the issue.</p>
*/
code?: ClusterIssueCode | string;

/**
* <p>A description of the issue.</p>
*/
message?: string;

/**
* <p>The resource IDs that the issue relates
* to.</p>
*/
resourceIds?: string[];
}

/**
* <p>An object representing the health of your local Amazon EKS cluster on an
* Amazon Web Services Outpost. You can't use this API with an Amazon EKS
* cluster on the Amazon Web Services cloud.
* </p>
*/
export interface ClusterHealth {
/**
* <p>An object representing the health issues of your local Amazon EKS cluster on
* an Amazon Web Services Outpost.</p>
*/
issues?: ClusterIssue[];
}

/**
* <p>An object representing the <a href="https://openid.net/connect/">OpenID
* Connect</a> (OIDC) identity provider information for the cluster.</p>
Expand Down Expand Up @@ -1183,6 +1283,26 @@ export interface KubernetesNetworkConfigResponse {
ipFamily?: IpFamily | string;
}

/**
* <p>An object representing the configuration of your local Amazon EKS cluster on
* an Amazon Web Services Outpost. This API isn't available for Amazon EKS clusters
* on the Amazon Web Services cloud.</p>
*/
export interface OutpostConfigResponse {
/**
* <p>The ARN of the Outpost that you specified for use with your local Amazon EKS
* cluster on Outposts.</p>
*/
outpostArns: string[] | undefined;

/**
* <p>The Amazon EC2 instance type used for the control plane. The instance type is
* the same for all control plane
* instances.</p>
*/
controlPlaneInstanceType: string | undefined;
}

/**
* <p>An object representing an Amazon EKS cluster VPC configuration
* response.</p>
Expand Down Expand Up @@ -1348,6 +1468,25 @@ export interface Cluster {
* <p>The configuration used to connect to a cluster for registration.</p>
*/
connectorConfig?: ConnectorConfigResponse;

/**
* <p>The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This
* property isn't available for an Amazon EKS cluster on the Amazon Web Services
* cloud.</p>
*/
id?: string;

/**
* <p>An object representing the health of your local Amazon EKS cluster on an
* Amazon Web Services Outpost. This object isn't available for clusters on the Amazon Web Services cloud.</p>
*/
health?: ClusterHealth;

/**
* <p>An object representing the configuration of your local Amazon EKS cluster on
* an Amazon Web Services Outpost. This object isn't available for clusters on the Amazon Web Services cloud.</p>
*/
outpostConfig?: OutpostConfigResponse;
}

export interface CreateClusterResponse {
Expand Down Expand Up @@ -2444,7 +2583,7 @@ export interface DescribeIdentityProviderConfigRequest {
clusterName: string | undefined;

/**
* <p>An object that represents an identity provider configuration.</p>
* <p>An object representing an identity provider configuration.</p>
*/
identityProviderConfig: IdentityProviderConfig | undefined;
}
Expand All @@ -2456,7 +2595,7 @@ export enum ConfigStatus {
}

/**
* <p>An object that represents the configuration for an OpenID Connect (OIDC) identity
* <p>An object representing the configuration for an OpenID Connect (OIDC) identity
* provider. </p>
*/
export interface OidcIdentityProviderConfig {
Expand Down Expand Up @@ -2536,7 +2675,7 @@ export interface OidcIdentityProviderConfig {
*/
export interface IdentityProviderConfigResponse {
/**
* <p>An object that represents an OpenID Connect (OIDC) identity provider
* <p>An object representing an OpenID Connect (OIDC) identity provider
* configuration.</p>
*/
oidc?: OidcIdentityProviderConfig;
Expand Down Expand Up @@ -2608,7 +2747,7 @@ export interface DisassociateIdentityProviderConfigRequest {
clusterName: string | undefined;

/**
* <p>An object that represents an identity provider configuration.</p>
* <p>An object representing an identity provider configuration.</p>
*/
identityProviderConfig: IdentityProviderConfig | undefined;

Expand Down Expand Up @@ -3516,6 +3655,13 @@ export const LoggingFilterSensitiveLog = (obj: Logging): any => ({
...obj,
});

/**
* @internal
*/
export const OutpostConfigRequestFilterSensitiveLog = (obj: OutpostConfigRequest): any => ({
...obj,
});

/**
* @internal
*/
Expand Down Expand Up @@ -3544,6 +3690,20 @@ export const ConnectorConfigResponseFilterSensitiveLog = (obj: ConnectorConfigRe
...obj,
});

/**
* @internal
*/
export const ClusterIssueFilterSensitiveLog = (obj: ClusterIssue): any => ({
...obj,
});

/**
* @internal
*/
export const ClusterHealthFilterSensitiveLog = (obj: ClusterHealth): any => ({
...obj,
});

/**
* @internal
*/
Expand All @@ -3565,6 +3725,13 @@ export const KubernetesNetworkConfigResponseFilterSensitiveLog = (obj: Kubernete
...obj,
});

/**
* @internal
*/
export const OutpostConfigResponseFilterSensitiveLog = (obj: OutpostConfigResponse): any => ({
...obj,
});

/**
* @internal
*/
Expand Down
Loading

0 comments on commit 0ec0300

Please sign in to comment.