agent-claw: automated task changes

This commit is contained in:
daniel
2026-05-06 18:55:16 -05:00
parent 38905bb1e9
commit 732b00fb66
8494 changed files with 2018127 additions and 4 deletions

View File

@@ -0,0 +1,98 @@
import type { Construct } from 'constructs';
import type * as eks from '../../../aws-eks';
import * as iam from '../../../aws-iam';
import * as sfn from '../../../aws-stepfunctions';
/**
* Class that supports methods which return the EKS cluster name depending on input type.
*/
export declare class EksClusterInput {
readonly clusterName: string;
/**
* Specify an existing EKS Cluster as the name for this Cluster
*/
static fromCluster(cluster: eks.ICluster): EksClusterInput;
/**
* Specify a Task Input as the name for this Cluster
*/
static fromTaskInput(taskInput: sfn.TaskInput): EksClusterInput;
/**
* Initializes the clusterName
*
* @param clusterName The name of the EKS Cluster
*/
private constructor();
}
interface EmrContainersCreateVirtualClusterOptions {
/**
* EKS Cluster or task input that contains the name of the cluster
*/
readonly eksCluster: EksClusterInput;
/**
* The namespace of an EKS cluster
*
* @default - 'default'
*/
readonly eksNamespace?: string;
/**
* Name of the virtual cluster that will be created.
*
* @default - the name of the state machine execution that runs this task and state name
*/
readonly virtualClusterName?: string;
/**
* The tags assigned to the virtual cluster
*
* @default {}
*/
readonly tags?: {
[key: string]: string;
};
}
/**
* Properties to define a EMR Containers CreateVirtualCluster Task using JSONPath on an EKS cluster
*
*/
export interface EmrContainersCreateVirtualClusterJsonPathProps extends sfn.TaskStateJsonPathBaseProps, EmrContainersCreateVirtualClusterOptions {
}
/**
* Properties to define a EMR Containers CreateVirtualCluster Task using JSONata on an EKS cluster
*
*/
export interface EmrContainersCreateVirtualClusterJsonataProps extends sfn.TaskStateJsonataBaseProps, EmrContainersCreateVirtualClusterOptions {
}
/**
* Properties to define a EMR Containers CreateVirtualCluster Task on an EKS cluster
*/
export interface EmrContainersCreateVirtualClusterProps extends sfn.TaskStateBaseProps, EmrContainersCreateVirtualClusterOptions {
}
/**
* Task that creates an EMR Containers virtual cluster from an EKS cluster
*
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-emr-eks.html
*/
export declare class EmrContainersCreateVirtualCluster extends sfn.TaskStateBase {
private readonly props;
/**
* Task that using JSONPath and creates an EMR Containers virtual cluster from an EKS cluster
*
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-emr-eks.html
*/
static jsonPath(scope: Construct, id: string, props: EmrContainersCreateVirtualClusterJsonPathProps): EmrContainersCreateVirtualCluster;
/**
* Task that using JSONata and that creates an EMR Containers virtual cluster from an EKS cluster
*
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-emr-eks.html
*/
static jsonata(scope: Construct, id: string, props: EmrContainersCreateVirtualClusterJsonataProps): EmrContainersCreateVirtualCluster;
private static readonly SUPPORTED_INTEGRATION_PATTERNS;
protected readonly taskMetrics?: sfn.TaskMetricsConfig;
protected readonly taskPolicies?: iam.PolicyStatement[];
private readonly integrationPattern;
constructor(scope: Construct, id: string, props: EmrContainersCreateVirtualClusterProps);
/**
* @internal
*/
protected _renderTask(topLevelQueryLanguage?: sfn.QueryLanguage): any;
private createPolicyStatements;
}
export {};

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EmrContainersCreateVirtualCluster=exports.EksClusterInput=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var iam=()=>{var tmp=require("../../../aws-iam");return iam=()=>tmp,tmp},sfn=()=>{var tmp=require("../../../aws-stepfunctions");return sfn=()=>tmp,tmp},core_1=()=>{var tmp=require("../../../core");return core_1=()=>tmp,tmp},task_utils_1=()=>{var tmp=require("../private/task-utils");return task_utils_1=()=>tmp,tmp},ContainerProviderTypes;(function(ContainerProviderTypes2){ContainerProviderTypes2.EKS="EKS"})(ContainerProviderTypes||(ContainerProviderTypes={}));class EksClusterInput{clusterName;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_stepfunctions_tasks.EksClusterInput",version:"2.252.0"};static fromCluster(cluster){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_eks_ICluster(cluster)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromCluster),error}return new EksClusterInput(cluster.clusterName)}static fromTaskInput(taskInput){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_stepfunctions_TaskInput(taskInput)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.fromTaskInput),error}return new EksClusterInput(taskInput.value)}constructor(clusterName){this.clusterName=clusterName}}exports.EksClusterInput=EksClusterInput;class EmrContainersCreateVirtualCluster extends sfn().TaskStateBase{props;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_stepfunctions_tasks.EmrContainersCreateVirtualCluster",version:"2.252.0"};static jsonPath(scope,id,props){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_stepfunctions_tasks_EmrContainersCreateVirtualClusterJsonPathProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.jsonPath),error}return new EmrContainersCreateVirtualCluster(scope,id,props)}static jsonata(scope,id,props){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_stepfunctions_tasks_EmrContainersCreateVirtualClusterJsonataProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.jsonata),error}return new EmrContainersCreateVirtualCluster(scope,id,{...props,queryLanguage:sfn().QueryLanguage.JSONATA})}static SUPPORTED_INTEGRATION_PATTERNS=[sfn().IntegrationPattern.REQUEST_RESPONSE];taskMetrics;taskPolicies;integrationPattern;constructor(scope,id,props){super(scope,id,props),this.props=props;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_stepfunctions_tasks_EmrContainersCreateVirtualClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,EmrContainersCreateVirtualCluster),error}this.integrationPattern=props.integrationPattern??sfn().IntegrationPattern.REQUEST_RESPONSE,(0,task_utils_1().validatePatternSupported)(this.integrationPattern,EmrContainersCreateVirtualCluster.SUPPORTED_INTEGRATION_PATTERNS),this.taskPolicies=this.createPolicyStatements()}_renderTask(topLevelQueryLanguage){const queryLanguage=sfn()._getActualQueryLanguage(topLevelQueryLanguage,this.props.queryLanguage);return{Resource:(0,task_utils_1().integrationResourceArn)("emr-containers","createVirtualCluster",this.integrationPattern),...this._renderParametersOrArguments({Name:this.props.virtualClusterName??(queryLanguage===sfn().QueryLanguage.JSONATA?"{% States.Format('{}/{}', $states.context.Execution.Name, $states.context.State.Name) %}":sfn().JsonPath.stringAt("States.Format('{}/{}', $$.Execution.Name, $$.State.Name)")),ContainerProvider:{Id:this.props.eksCluster.clusterName,Info:{EksInfo:{Namespace:this.props.eksNamespace??"default"}},Type:ContainerProviderTypes.EKS},Tags:this.props.tags},queryLanguage)}}createPolicyStatements(){return[new(iam()).PolicyStatement({resources:["*"],actions:["emr-containers:CreateVirtualCluster"]}),new(iam()).PolicyStatement({resources:[core_1().Stack.of(this).formatArn({service:"iam",region:"",resource:"role/aws-service-role/emr-containers.amazonaws.com",resourceName:"AWSServiceRoleForAmazonEMRContainers"})],actions:["iam:CreateServiceLinkedRole"],conditions:{StringLike:{"iam:AWSServiceName":"emr-containers.amazonaws.com"}}})]}}exports.EmrContainersCreateVirtualCluster=EmrContainersCreateVirtualCluster;

View File

@@ -0,0 +1,51 @@
import type { Construct } from 'constructs';
import * as iam from '../../../aws-iam';
import * as sfn from '../../../aws-stepfunctions';
interface EmrContainersDeleteVirtualClusterOptions {
/**
* The ID of the virtual cluster that will be deleted.
*/
readonly virtualClusterId: sfn.TaskInput;
}
/**
* Properties to define a EMR Containers DeleteVirtualCluster Task using JSONPath
*/
export interface EmrContainersDeleteVirtualClusterJsonPathProps extends sfn.TaskStateJsonPathBaseProps, EmrContainersDeleteVirtualClusterOptions {
}
/**
* Properties to define a EMR Containers DeleteVirtualCluster Task using JSONata
*/
export interface EmrContainersDeleteVirtualClusterJsonataProps extends sfn.TaskStateJsonataBaseProps, EmrContainersDeleteVirtualClusterOptions {
}
/**
* Properties to define a EMR Containers DeleteVirtualCluster Task
*/
export interface EmrContainersDeleteVirtualClusterProps extends sfn.TaskStateBaseProps, EmrContainersDeleteVirtualClusterOptions {
}
/**
* Deletes an EMR Containers virtual cluster as a Task.
*
* @see https://docs.amazonaws.cn/en_us/step-functions/latest/dg/connect-emr-eks.html
*/
export declare class EmrContainersDeleteVirtualCluster extends sfn.TaskStateBase {
private readonly props;
/**
* Deletes an EMR Containers virtual cluster as a Task using JSONPath.
*/
static jsonPath(scope: Construct, id: string, props: EmrContainersDeleteVirtualClusterJsonPathProps): EmrContainersDeleteVirtualCluster;
/**
* Deletes an EMR Containers virtual cluster as a Task using JSONata.
*/
static jsonata(scope: Construct, id: string, props: EmrContainersDeleteVirtualClusterJsonataProps): EmrContainersDeleteVirtualCluster;
private static readonly SUPPORTED_INTEGRATION_PATTERNS;
protected readonly taskMetrics?: sfn.TaskMetricsConfig;
protected readonly taskPolicies?: iam.PolicyStatement[];
private readonly integrationPattern;
constructor(scope: Construct, id: string, props: EmrContainersDeleteVirtualClusterProps);
/**
* @internal
*/
protected _renderTask(topLevelQueryLanguage?: sfn.QueryLanguage): any;
private createPolicyStatements;
}
export {};

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EmrContainersDeleteVirtualCluster=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var iam=()=>{var tmp=require("../../../aws-iam");return iam=()=>tmp,tmp},sfn=()=>{var tmp=require("../../../aws-stepfunctions");return sfn=()=>tmp,tmp},cdk=()=>{var tmp=require("../../../core");return cdk=()=>tmp,tmp},task_utils_1=()=>{var tmp=require("../private/task-utils");return task_utils_1=()=>tmp,tmp};class EmrContainersDeleteVirtualCluster extends sfn().TaskStateBase{props;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_stepfunctions_tasks.EmrContainersDeleteVirtualCluster",version:"2.252.0"};static jsonPath(scope,id,props){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_stepfunctions_tasks_EmrContainersDeleteVirtualClusterJsonPathProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.jsonPath),error}return new EmrContainersDeleteVirtualCluster(scope,id,props)}static jsonata(scope,id,props){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_stepfunctions_tasks_EmrContainersDeleteVirtualClusterJsonataProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.jsonata),error}return new EmrContainersDeleteVirtualCluster(scope,id,{...props,queryLanguage:sfn().QueryLanguage.JSONATA})}static SUPPORTED_INTEGRATION_PATTERNS=[sfn().IntegrationPattern.REQUEST_RESPONSE,sfn().IntegrationPattern.RUN_JOB];taskMetrics;taskPolicies;integrationPattern;constructor(scope,id,props){super(scope,id,props),this.props=props;try{jsiiDeprecationWarnings().aws_cdk_lib_aws_stepfunctions_tasks_EmrContainersDeleteVirtualClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,EmrContainersDeleteVirtualCluster),error}this.integrationPattern=props.integrationPattern??sfn().IntegrationPattern.REQUEST_RESPONSE,(0,task_utils_1().validatePatternSupported)(this.integrationPattern,EmrContainersDeleteVirtualCluster.SUPPORTED_INTEGRATION_PATTERNS),this.taskPolicies=this.createPolicyStatements()}_renderTask(topLevelQueryLanguage){const queryLanguage=sfn()._getActualQueryLanguage(topLevelQueryLanguage,this.props.queryLanguage);return{Resource:(0,task_utils_1().integrationResourceArn)("emr-containers","deleteVirtualCluster",this.integrationPattern),...this._renderParametersOrArguments({Id:this.props.virtualClusterId.value},queryLanguage)}}createPolicyStatements(){const actions=["emr-containers:DeleteVirtualCluster"];return this.integrationPattern===sfn().IntegrationPattern.RUN_JOB&&actions.push("emr-containers:DescribeVirtualCluster"),[new(iam()).PolicyStatement({resources:[cdk().Stack.of(this).formatArn({arnFormat:cdk().ArnFormat.SLASH_RESOURCE_SLASH_RESOURCE_NAME,service:"emr-containers",resource:"virtualclusters",resourceName:(0,task_utils_1().isJsonPathOrJsonataExpression)(this.props.virtualClusterId.value)?"*":this.props.virtualClusterId.value})],actions})]}}exports.EmrContainersDeleteVirtualCluster=EmrContainersDeleteVirtualCluster;

View File

@@ -0,0 +1,377 @@
import type { Construct } from 'constructs';
import * as iam from '../../../aws-iam';
import * as logs from '../../../aws-logs';
import * as s3 from '../../../aws-s3';
import * as sfn from '../../../aws-stepfunctions';
interface EmrContainersStartJobRunOptions {
/**
* The ID of the virtual cluster where the job will be run
*/
readonly virtualCluster: VirtualClusterInput;
/**
* The name of the job run.
*
* @default - No job run name
*/
readonly jobName?: string;
/**
* The execution role for the job run.
*
* If `virtualClusterId` is from a JSON input path, an execution role must be provided.
* If an execution role is provided, follow the documentation to update the role trust policy.
* @see https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/setting-up-trust-policy.html
*
* @default - Automatically generated only when the provided `virtualClusterId` is not an encoded JSON path
*/
readonly executionRole?: iam.IRole;
/**
* The Amazon EMR release version to use for the job run.
*/
readonly releaseLabel: ReleaseLabel;
/**
* The configurations for the application running in the job run.
*
* Maximum of 100 items
*
* @see https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_Configuration.html
*
* @default - No application config
*/
readonly applicationConfig?: ApplicationConfiguration[];
/**
* The job driver for the job run.
*
* @see https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_JobDriver.html
*/
readonly jobDriver: JobDriver;
/**
* Configuration for monitoring the job run
*
* @see https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_MonitoringConfiguration.html
*
* @default - logging enabled and resources automatically generated if `monitoring.logging` is set to `true`
*/
readonly monitoring?: Monitoring;
/**
* The tags assigned to job runs.
*
* @default - None
*/
readonly tags?: {
[key: string]: string;
};
}
/**
* Properties for calling EMR Containers StartJobRun using JSONPath.
*/
export interface EmrContainersStartJobRunJsonPathProps extends sfn.TaskStateJsonPathBaseProps, EmrContainersStartJobRunOptions {
}
/**
* Properties for calling EMR Containers StartJobRun using JSONata.
*/
export interface EmrContainersStartJobRunJsonataProps extends sfn.TaskStateJsonataBaseProps, EmrContainersStartJobRunOptions {
}
/**
* The props for a EMR Containers StartJobRun Task.
*/
export interface EmrContainersStartJobRunProps extends sfn.TaskStateBaseProps, EmrContainersStartJobRunOptions {
}
/**
* Starts a job run.
*
* A job is a unit of work that you submit to Amazon EMR on EKS for execution.
* The work performed by the job can be defined by a Spark jar, PySpark script, or SparkSQL query.
* A job run is an execution of the job on the virtual cluster.
*
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-emr-eks.html
*/
export declare class EmrContainersStartJobRun extends sfn.TaskStateBase implements iam.IGrantable {
private readonly props;
/**
* Starts a job run Task using JSONPath.
*
* A job is a unit of work that you submit to Amazon EMR on EKS for execution.
* The work performed by the job can be defined by a Spark jar, PySpark script, or SparkSQL query.
* A job run is an execution of the job on the virtual cluster.
*
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-emr-eks.html
*/
static jsonPath(scope: Construct, id: string, props: EmrContainersStartJobRunJsonPathProps): EmrContainersStartJobRun;
/**
* Starts a job run Task using JSONata.
*
* A job is a unit of work that you submit to Amazon EMR on EKS for execution.
* The work performed by the job can be defined by a Spark jar, PySpark script, or SparkSQL query.
* A job run is an execution of the job on the virtual cluster.
*
* @see https://docs.aws.amazon.com/step-functions/latest/dg/connect-emr-eks.html
*/
static jsonata(scope: Construct, id: string, props: EmrContainersStartJobRunJsonataProps): EmrContainersStartJobRun;
private static readonly SUPPORTED_INTEGRATION_PATTERNS;
protected readonly taskMetrics?: sfn.TaskMetricsConfig;
protected readonly taskPolicies?: iam.PolicyStatement[];
readonly grantPrincipal: iam.IPrincipal;
private role;
private readonly logGroup?;
private readonly logBucket?;
private readonly integrationPattern;
constructor(scope: Construct, id: string, props: EmrContainersStartJobRunProps);
/**
* @internal
*/
protected _renderTask(topLevelQueryLanguage?: sfn.QueryLanguage): any;
/**
* Render the EMR Containers ConfigurationProperty as JSON
*/
private applicationConfigPropertyToJson;
private validateAppConfigPropertiesLength;
private validatePropertiesNestedAppConfigBothNotUndefined;
private validateAppConfig;
private isArrayOfStrings;
private validateEntryPointArguments;
private validateEntryPointArgumentsLength;
private validateSparkSubmitParametersLength;
private validateEntryPoint;
private validateSparkSubmitJobDriver;
private assignLogGroup;
private assignLogBucket;
private createJobExecutionRole;
private grantMonitoringPolicies;
/**
* If an execution role is not provided by user, the automatically generated job execution role must create a trust relationship
* between itself and the identity of the EMR managed service account in order to run jobs on the Kubernetes namespace.
*
* This cannot occur if the user provided virtualClusterId is within an encoded JSON path.
*
* The trust relationship can be created by updating the trust policy of the job execution role.
*
* @param role the automatically generated job execution role
*/
private updateRoleTrustPolicy;
private createPolicyStatements;
}
/**
* The information about job driver for Spark submit.
*/
export interface SparkSubmitJobDriver {
/**
* The entry point of job application.
*
* Length Constraints: Minimum length of 1. Maximum length of 256.
*/
readonly entryPoint: sfn.TaskInput;
/**
* The arguments for a job application in a task input object containing an array of strings
*
* Length Constraints: Minimum length of 1. Maximum length of 10280.
* @type sfn.TaskInput which expects payload as an array of strings
*
* @default - No arguments defined
*/
readonly entryPointArguments?: sfn.TaskInput;
/**
* The Spark submit parameters that are used for job runs.
*
* Length Constraints: Minimum length of 1. Maximum length of 102400.
*
* @default - No spark submit parameters
*/
readonly sparkSubmitParameters?: string;
}
/**
* Specify the driver that the EMR Containers job runs on.
* The job driver is used to provide an input for the job that will be run.
*/
export interface JobDriver {
/**
* The job driver parameters specified for spark submit.
*
* @see https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_SparkSubmitJobDriver.html
*
*/
readonly sparkSubmitJobDriver: SparkSubmitJobDriver;
}
/**
* The classification within a EMR Containers application configuration.
* Class can be extended to add other classifications.
* For example, new Classification('xxx-yyy');
*/
export declare class Classification {
readonly classificationStatement: string;
/**
* Sets the maximizeResourceAllocation property to true or false.
* When true, Amazon EMR automatically configures spark-defaults properties based on cluster hardware configuration.
*
* For more info:
* @see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-configure.html#emr-spark-maximizeresourceallocation
*/
static readonly SPARK: Classification;
/**
* Sets values in the spark-defaults.conf file.
*
* For more info:
* @see https://spark.apache.org/docs/latest/configuration.html
*/
static readonly SPARK_DEFAULTS: Classification;
/**
* Sets values in the spark-env.sh file.
*
* For more info:
* @see https://spark.apache.org/docs/latest/configuration.html#environment-variables
*/
static readonly SPARK_ENV: Classification;
/**
* Sets values in the hive-site.xml for Spark.
*/
static readonly SPARK_HIVE_SITE: Classification;
/**
* Sets values in the log4j.properties file.
*
* For more settings and info:
* @see https://github.com/apache/spark/blob/master/conf/log4j.properties.template
*/
static readonly SPARK_LOG4J: Classification;
/**
* Sets values in the metrics.properties file.
*
* For more settings and info:
* @see https://github.com/apache/spark/blob/master/conf/metrics.properties.template
*/
static readonly SPARK_METRICS: Classification;
/**
* Creates a new Classification
*
* @param classificationStatement A literal string in case a new EMR classification is released, if not already defined.
*/
constructor(classificationStatement: string);
}
/**
* A configuration specification to be used when provisioning virtual clusters,
* which can include configurations for applications and software bundled with Amazon EMR on EKS.
*
* A configuration consists of a classification, properties, and optional nested configurations.
* A classification refers to an application-specific configuration file.
* Properties are the settings you want to change in that file.
* @see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html
*/
export interface ApplicationConfiguration {
/**
* The classification within a configuration.
*
* Length Constraints: Minimum length of 1. Maximum length of 1024.
*/
readonly classification: Classification;
/**
* A list of additional configurations to apply within a configuration object.
*
* Array Members: Maximum number of 100 items.
*
* @default - No other configurations
*/
readonly nestedConfig?: ApplicationConfiguration[];
/**
* A set of properties specified within a configuration classification.
*
* Map Entries: Maximum number of 100 items.
*
* @default - No properties
*/
readonly properties?: {
[key: string]: string;
};
}
/**
* Configuration setting for monitoring.
*/
export interface Monitoring {
/**
* Enable logging for this job.
*
* If set to true, will automatically create a Cloudwatch Log Group and S3 bucket.
* This will be set to `true` implicitly if values are provided for `logGroup` or `logBucket`.
*
* @default true - true if values are provided for `logGroup` or `logBucket`, false otherwise
*/
readonly logging?: boolean;
/**
* A log group for CloudWatch monitoring.
*
* You can configure your jobs to send log information to CloudWatch Logs.
*
* @default - if `logging` is manually set to `true` and a `logGroup` is not provided, a `logGroup` will be automatically generated`.
*/
readonly logGroup?: logs.ILogGroup;
/**
* A log stream name prefix for Cloudwatch monitoring.
*
* @default - Log streams created in this log group have no default prefix
*/
readonly logStreamNamePrefix?: string;
/**
* Amazon S3 Bucket for monitoring log publishing.
*
* You can configure your jobs to send log information to Amazon S3.
*
* @default - if `logging` is manually set to `true` and a `logBucket` is not provided, a `logBucket` will be automatically generated`.
*/
readonly logBucket?: s3.IBucket;
/**
* Monitoring configurations for the persistent application UI.
*
* @default true
*/
readonly persistentAppUI?: boolean;
}
/**
* The Amazon EMR release version to use for the job run.
*
* Can be extended to include new EMR releases
*
* For example, `new ReleaseLabel('emr-x.xx.x-latest');`
*/
export declare class ReleaseLabel {
readonly label: string;
/**
* EMR Release version 5.32.0
*/
static readonly EMR_5_32_0: ReleaseLabel;
/**
* EMR Release version 5.33.0
*/
static readonly EMR_5_33_0: ReleaseLabel;
/**
* EMR Release version 6.2.0
*/
static readonly EMR_6_2_0: ReleaseLabel;
/**
* EMR Release version 6.3.0
*/
static readonly EMR_6_3_0: ReleaseLabel;
/**
* Initializes the label string.
*
* @param label A literal string that contains the release-version ex. 'emr-x.x.x-latest'
*/
constructor(label: string);
}
/**
* Class that returns a virtual cluster's id depending on input type
*/
export declare class VirtualClusterInput {
readonly id: string;
/**
* Input for a virtualClusterId from a Task Input
*/
static fromTaskInput(taskInput: sfn.TaskInput): VirtualClusterInput;
/**
* Input for virtualClusterId from a literal string
*/
static fromVirtualClusterId(virtualClusterId: string): VirtualClusterInput;
/**
* Initializes the virtual cluster ID.
*
* @param id The VirtualCluster Id
*/
private constructor();
}
export {};

File diff suppressed because one or more lines are too long