aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
112 lines (111 loc) • 3.53 kB
TypeScript
import { Construct } from 'constructs';
import * as eks from '../../../aws-eks';
import * as iam from '../../../aws-iam';
import * as sfn from '../../../aws-stepfunctions';
interface EksCallOptions {
/**
* The EKS cluster
*/
readonly cluster: eks.ICluster;
/**
* HTTP method ("GET", "POST", "PUT", ...) part of HTTP request
*/
readonly httpMethod: HttpMethods;
/**
* HTTP path of the Kubernetes REST API operation
* For example: /api/v1/namespaces/default/pods
*/
readonly httpPath: string;
/**
* Query Parameters part of HTTP request
* @default - no query parameters
*/
readonly queryParameters?: {
[key: string]: string[];
};
/**
* Request body part of HTTP request
* @default - No request body
*/
readonly requestBody?: sfn.TaskInput;
}
/**
* Properties for calling a EKS endpoint with EksCall using JSONPath
*/
export interface EksCallJsonPathProps extends sfn.TaskStateJsonPathBaseProps, EksCallOptions {
}
/**
* Properties for calling a EKS endpoint with EksCall using JSONata
*/
export interface EksCallJsonataProps extends sfn.TaskStateJsonataBaseProps, EksCallOptions {
}
/**
* Properties for calling a EKS endpoint with EksCall
*/
export interface EksCallProps extends sfn.TaskStateBaseProps, EksCallOptions {
}
/**
* Call a EKS endpoint as a Task
*
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-eks.html
*/
export declare class EksCall extends sfn.TaskStateBase {
private readonly props;
/**
* Call a EKS endpoint as a Task that using JSONPath
*
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-eks.html
*/
static jsonPath(scope: Construct, id: string, props: EksCallJsonPathProps): EksCall;
/**
* Call a EKS endpoint as a Task that using JSONata
*
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-eks.html
*/
static jsonata(scope: Construct, id: string, props: EksCallJsonataProps): EksCall;
private static readonly SUPPORTED_INTEGRATION_PATTERNS;
/** No policies are required due to eks:call is an Http service integration and does not call and EKS API directly
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-eks.html#connect-eks-permissions
*/
protected readonly taskMetrics?: sfn.TaskMetricsConfig;
protected readonly taskPolicies?: iam.PolicyStatement[];
private readonly integrationPattern;
private readonly clusterEndpoint;
private readonly clusterCertificateAuthorityData;
constructor(scope: Construct, id: string, props: EksCallProps);
/**
* Provides the EKS Call service integration task configuration
* @internal
*/
protected _renderTask(topLevelQueryLanguage?: sfn.QueryLanguage): any;
}
/**
* Method type of a EKS call
*/
export declare enum HttpMethods {
/**
* Retrieve data from a server at the specified resource
*/
GET = "GET",
/**
* Send data to the API endpoint to create or update a resource
*/
POST = "POST",
/**
* Send data to the API endpoint to update or create a resource
*/
PUT = "PUT",
/**
* Delete the resource at the specified endpoint
*/
DELETE = "DELETE",
/**
* Apply partial modifications to the resource
*/
PATCH = "PATCH",
/**
* Retrieve data from a server at the specified resource without the response body
*/
HEAD = "HEAD"
}
export {};