aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,061 lines (1,060 loc) • 48.4 kB
TypeScript
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { EndpointReference, IEndpointRef, ISecurityConfigurationRef, IVirtualClusterRef, SecurityConfigurationReference, VirtualClusterReference } from "../../interfaces/generated/aws-emrcontainers-interfaces.generated";
/**
* The `AWS::EMRContainers::VirtualCluster` resource specifies a virtual cluster.
*
* A virtual cluster is a managed entity on Amazon EMR on EKS. You can create, describe, list, and delete virtual clusters. They do not consume any additional resources in your system. A single virtual cluster maps to a single Kubernetes namespace. Given this relationship, you can model virtual clusters the same way you model Kubernetes namespaces to meet your requirements.
*
* @cloudformationResource AWS::EMRContainers::VirtualCluster
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html
*/
export declare class CfnVirtualCluster extends cdk.CfnResource implements cdk.IInspectable, IVirtualClusterRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnVirtualCluster from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnVirtualCluster;
/**
* Checks whether the given object is a CfnVirtualCluster
*/
static isCfnVirtualCluster(x: any): x is CfnVirtualCluster;
/**
* Creates a new IVirtualClusterRef from an ARN
*/
static fromVirtualClusterArn(scope: constructs.Construct, id: string, arn: string): IVirtualClusterRef;
/**
* Creates a new IVirtualClusterRef from a virtualClusterId
*/
static fromVirtualClusterId(scope: constructs.Construct, id: string, virtualClusterId: string): IVirtualClusterRef;
static arnForVirtualCluster(resource: IVirtualClusterRef): string;
/**
* The container provider of the virtual cluster.
*/
private _containerProvider;
/**
* The name of the virtual cluster.
*/
private _name;
/**
* The ID of the security configuration.
*/
private _securityConfigurationId?;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* An array of key-value pairs to apply to this resource.
*/
private _tagsRaw?;
/**
* Create a new `AWS::EMRContainers::VirtualCluster`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnVirtualClusterProps);
get virtualClusterRef(): VirtualClusterReference;
/**
* The container provider of the virtual cluster.
*/
get containerProvider(): CfnVirtualCluster.ContainerProviderProperty | cdk.IResolvable;
/**
* The container provider of the virtual cluster.
*/
set containerProvider(value: CfnVirtualCluster.ContainerProviderProperty | cdk.IResolvable);
/**
* The name of the virtual cluster.
*/
get name(): string;
/**
* The name of the virtual cluster.
*/
set name(value: string);
/**
* The ID of the security configuration.
*/
get securityConfigurationId(): string | undefined;
/**
* The ID of the security configuration.
*/
set securityConfigurationId(value: string | undefined);
/**
* An array of key-value pairs to apply to this resource.
*/
get tagsRaw(): Array<cdk.CfnTag> | undefined;
/**
* An array of key-value pairs to apply to this resource.
*/
set tagsRaw(value: Array<cdk.CfnTag> | undefined);
/**
* The Amazon Resource Name (ARN) of the project, such as `arn:aws:emr-containers:us-east-1:123456789012:/virtualclusters/ab4rp1abcs8xz47n3x0example` .
*
* @cloudformationAttribute Arn
*/
get attrArn(): string;
/**
* The ID of the virtual cluster, such as `ab4rp1abcs8xz47n3x0example` .
*
* @cloudformationAttribute Id
*/
get attrId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnVirtualCluster {
/**
* The information about the container provider.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html
*/
interface ContainerProviderProperty {
/**
* The ID of the container cluster.
*
* *Minimum* : 1
*
* *Maximum* : 100
*
* *Pattern* : `^[0-9A-Za-z][A-Za-z0-9\-_]*`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html#cfn-emrcontainers-virtualcluster-containerprovider-id
*/
readonly id: string;
/**
* The information about the container cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html#cfn-emrcontainers-virtualcluster-containerprovider-info
*/
readonly info: CfnVirtualCluster.ContainerInfoProperty | cdk.IResolvable;
/**
* The type of the container provider.
*
* Amazon EKS is the only supported type as of now.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerprovider.html#cfn-emrcontainers-virtualcluster-containerprovider-type
*/
readonly type: string;
}
/**
* The information about the container used for a job run or a managed endpoint.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerinfo.html
*/
interface ContainerInfoProperty {
/**
* The information about the Amazon EKS cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-containerinfo.html#cfn-emrcontainers-virtualcluster-containerinfo-eksinfo
*/
readonly eksInfo: CfnVirtualCluster.EksInfoProperty | cdk.IResolvable;
}
/**
* The information about the Amazon EKS cluster.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-eksinfo.html
*/
interface EksInfoProperty {
/**
* The namespaces of the EKS cluster.
*
* *Minimum* : 1
*
* *Maximum* : 63
*
* *Pattern* : `[a-z0-9]([-a-z0-9]*[a-z0-9])?`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-virtualcluster-eksinfo.html#cfn-emrcontainers-virtualcluster-eksinfo-namespace
*/
readonly namespace: string;
}
}
/**
* Properties for defining a `CfnVirtualCluster`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html
*/
export interface CfnVirtualClusterProps {
/**
* The container provider of the virtual cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html#cfn-emrcontainers-virtualcluster-containerprovider
*/
readonly containerProvider: CfnVirtualCluster.ContainerProviderProperty | cdk.IResolvable;
/**
* The name of the virtual cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html#cfn-emrcontainers-virtualcluster-name
*/
readonly name: string;
/**
* The ID of the security configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html#cfn-emrcontainers-virtualcluster-securityconfigurationid
*/
readonly securityConfigurationId?: string;
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html#cfn-emrcontainers-virtualcluster-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* Resource Schema of AWS::EMRContainers::Endpoint Type.
*
* @cloudformationResource AWS::EMRContainers::Endpoint
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-endpoint.html
*/
export declare class CfnEndpoint extends cdk.CfnResource implements cdk.IInspectable, IEndpointRef, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnEndpoint from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnEndpoint;
/**
* Checks whether the given object is a CfnEndpoint
*/
static isCfnEndpoint(x: any): x is CfnEndpoint;
static arnForEndpoint(resource: IEndpointRef): string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
private _configurationOverrides?;
/**
* The execution role ARN for the managed endpoint.
*/
private _executionRoleArn;
/**
* The name of the managed endpoint.
*/
private _name?;
/**
* The Amazon EMR release label.
*/
private _releaseLabel;
/**
* An array of key-value pairs to apply to this managed endpoint.
*/
private _tags?;
/**
* The type of the managed endpoint.
*/
private _type;
/**
* The ID of the virtual cluster for which the managed endpoint is created.
*/
private _virtualClusterId;
/**
* Create a new `AWS::EMRContainers::Endpoint`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnEndpointProps);
get endpointRef(): EndpointReference;
get configurationOverrides(): CfnEndpoint.ConfigurationOverridesProperty | cdk.IResolvable | undefined;
set configurationOverrides(value: CfnEndpoint.ConfigurationOverridesProperty | cdk.IResolvable | undefined);
/**
* The execution role ARN for the managed endpoint.
*/
get executionRoleArn(): string;
/**
* The execution role ARN for the managed endpoint.
*/
set executionRoleArn(value: string);
/**
* The name of the managed endpoint.
*/
get name(): string | undefined;
/**
* The name of the managed endpoint.
*/
set name(value: string | undefined);
/**
* The Amazon EMR release label.
*/
get releaseLabel(): string;
/**
* The Amazon EMR release label.
*/
set releaseLabel(value: string);
/**
* An array of key-value pairs to apply to this managed endpoint.
*/
get tags(): Array<cdk.CfnTag> | undefined;
/**
* An array of key-value pairs to apply to this managed endpoint.
*/
set tags(value: Array<cdk.CfnTag> | undefined);
/**
* The type of the managed endpoint.
*/
get type(): string;
/**
* The type of the managed endpoint.
*/
set type(value: string);
/**
* The ID of the virtual cluster for which the managed endpoint is created.
*/
get virtualClusterId(): string;
/**
* The ID of the virtual cluster for which the managed endpoint is created.
*/
set virtualClusterId(value: string);
/**
* The ARN of the managed endpoint.
*
* @cloudformationAttribute Arn
*/
get attrArn(): string;
/**
* @cloudformationAttribute CertificateAuthority
*/
get attrCertificateAuthority(): cdk.IResolvable;
/**
* The date and time when the managed endpoint was created.
*
* @cloudformationAttribute CreatedAt
*/
get attrCreatedAt(): string;
/**
* The reason for a failed managed endpoint.
*
* @cloudformationAttribute FailureReason
*/
get attrFailureReason(): string;
/**
* The ID of the managed endpoint.
*
* @cloudformationAttribute Id
*/
get attrId(): string;
/**
* The security group associated with the managed endpoint.
*
* @cloudformationAttribute SecurityGroup
*/
get attrSecurityGroup(): string;
/**
* The server URL of the managed endpoint.
*
* @cloudformationAttribute ServerUrl
*/
get attrServerUrl(): string;
/**
* The state of the managed endpoint.
*
* @cloudformationAttribute State
*/
get attrState(): string;
/**
* Additional details about the state of the managed endpoint.
*
* @cloudformationAttribute StateDetails
*/
get attrStateDetails(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnEndpoint {
/**
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-configurationoverrides.html
*/
interface ConfigurationOverridesProperty {
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-configurationoverrides.html#cfn-emrcontainers-endpoint-configurationoverrides-applicationconfiguration
*/
readonly applicationConfiguration?: Array<CfnEndpoint.EMREKSConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-configurationoverrides.html#cfn-emrcontainers-endpoint-configurationoverrides-monitoringconfiguration
*/
readonly monitoringConfiguration?: cdk.IResolvable | CfnEndpoint.MonitoringConfigurationProperty;
}
/**
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-emreksconfiguration.html
*/
interface EMREKSConfigurationProperty {
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-emreksconfiguration.html#cfn-emrcontainers-endpoint-emreksconfiguration-classification
*/
readonly classification: string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-emreksconfiguration.html#cfn-emrcontainers-endpoint-emreksconfiguration-configurations
*/
readonly configurations?: Array<CfnEndpoint.EMREKSConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-emreksconfiguration.html#cfn-emrcontainers-endpoint-emreksconfiguration-properties
*/
readonly properties?: cdk.IResolvable | Record<string, string>;
}
/**
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-monitoringconfiguration.html
*/
interface MonitoringConfigurationProperty {
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-monitoringconfiguration.html#cfn-emrcontainers-endpoint-monitoringconfiguration-cloudwatchmonitoringconfiguration
*/
readonly cloudWatchMonitoringConfiguration?: CfnEndpoint.CloudWatchMonitoringConfigurationProperty | cdk.IResolvable;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-monitoringconfiguration.html#cfn-emrcontainers-endpoint-monitoringconfiguration-containerlogrotationconfiguration
*/
readonly containerLogRotationConfiguration?: CfnEndpoint.ContainerLogRotationConfigurationProperty | cdk.IResolvable;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-monitoringconfiguration.html#cfn-emrcontainers-endpoint-monitoringconfiguration-persistentappui
*/
readonly persistentAppUi?: string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-monitoringconfiguration.html#cfn-emrcontainers-endpoint-monitoringconfiguration-s3monitoringconfiguration
*/
readonly s3MonitoringConfiguration?: cdk.IResolvable | CfnEndpoint.S3MonitoringConfigurationProperty;
}
/**
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-containerlogrotationconfiguration.html
*/
interface ContainerLogRotationConfigurationProperty {
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-containerlogrotationconfiguration.html#cfn-emrcontainers-endpoint-containerlogrotationconfiguration-maxfilestokeep
*/
readonly maxFilesToKeep: number;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-containerlogrotationconfiguration.html#cfn-emrcontainers-endpoint-containerlogrotationconfiguration-rotationsize
*/
readonly rotationSize: string;
}
/**
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-cloudwatchmonitoringconfiguration.html
*/
interface CloudWatchMonitoringConfigurationProperty {
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-cloudwatchmonitoringconfiguration.html#cfn-emrcontainers-endpoint-cloudwatchmonitoringconfiguration-loggroupname
*/
readonly logGroupName: string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-cloudwatchmonitoringconfiguration.html#cfn-emrcontainers-endpoint-cloudwatchmonitoringconfiguration-logstreamnameprefix
*/
readonly logStreamNamePrefix?: string;
}
/**
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-s3monitoringconfiguration.html
*/
interface S3MonitoringConfigurationProperty {
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-s3monitoringconfiguration.html#cfn-emrcontainers-endpoint-s3monitoringconfiguration-loguri
*/
readonly logUri: string;
}
/**
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-certificate.html
*/
interface CertificateProperty {
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-certificate.html#cfn-emrcontainers-endpoint-certificate-certificatearn
*/
readonly certificateArn?: string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-endpoint-certificate.html#cfn-emrcontainers-endpoint-certificate-certificatedata
*/
readonly certificateData?: string;
}
}
/**
* Properties for defining a `CfnEndpoint`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-endpoint.html
*/
export interface CfnEndpointProps {
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-endpoint.html#cfn-emrcontainers-endpoint-configurationoverrides
*/
readonly configurationOverrides?: CfnEndpoint.ConfigurationOverridesProperty | cdk.IResolvable;
/**
* The execution role ARN for the managed endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-endpoint.html#cfn-emrcontainers-endpoint-executionrolearn
*/
readonly executionRoleArn: string;
/**
* The name of the managed endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-endpoint.html#cfn-emrcontainers-endpoint-name
*/
readonly name?: string;
/**
* The Amazon EMR release label.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-endpoint.html#cfn-emrcontainers-endpoint-releaselabel
*/
readonly releaseLabel: string;
/**
* An array of key-value pairs to apply to this managed endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-endpoint.html#cfn-emrcontainers-endpoint-tags
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* The type of the managed endpoint.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-endpoint.html#cfn-emrcontainers-endpoint-type
*/
readonly type: string;
/**
* The ID of the virtual cluster for which the managed endpoint is created.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-endpoint.html#cfn-emrcontainers-endpoint-virtualclusterid
*/
readonly virtualClusterId: string;
}
/**
* Resource Schema of AWS::EMRContainers::SecurityConfiguration Type.
*
* @cloudformationResource AWS::EMRContainers::SecurityConfiguration
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-securityconfiguration.html
*/
export declare class CfnSecurityConfiguration extends cdk.CfnResource implements cdk.IInspectable, ISecurityConfigurationRef, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnSecurityConfiguration from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnSecurityConfiguration;
/**
* Checks whether the given object is a CfnSecurityConfiguration
*/
static isCfnSecurityConfiguration(x: any): x is CfnSecurityConfiguration;
static arnForSecurityConfiguration(resource: ISecurityConfigurationRef): string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
/**
* Container provider information.
*/
private _containerProvider?;
/**
* The name of the security configuration.
*/
private _name?;
/**
* Security configuration data containing encryption and authorization settings.
*/
private _securityConfigurationData;
/**
* An array of key-value pairs to apply to this security configuration.
*/
private _tags?;
/**
* Create a new `AWS::EMRContainers::SecurityConfiguration`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnSecurityConfigurationProps);
get securityConfigurationRef(): SecurityConfigurationReference;
/**
* Container provider information.
*/
get containerProvider(): CfnSecurityConfiguration.ContainerProviderProperty | cdk.IResolvable | undefined;
/**
* Container provider information.
*/
set containerProvider(value: CfnSecurityConfiguration.ContainerProviderProperty | cdk.IResolvable | undefined);
/**
* The name of the security configuration.
*/
get name(): string | undefined;
/**
* The name of the security configuration.
*/
set name(value: string | undefined);
/**
* Security configuration data containing encryption and authorization settings.
*/
get securityConfigurationData(): cdk.IResolvable | CfnSecurityConfiguration.SecurityConfigurationDataProperty;
/**
* Security configuration data containing encryption and authorization settings.
*/
set securityConfigurationData(value: cdk.IResolvable | CfnSecurityConfiguration.SecurityConfigurationDataProperty);
/**
* An array of key-value pairs to apply to this security configuration.
*/
get tags(): Array<cdk.CfnTag> | undefined;
/**
* An array of key-value pairs to apply to this security configuration.
*/
set tags(value: Array<cdk.CfnTag> | undefined);
/**
* The ARN of the security configuration.
*
* @cloudformationAttribute Arn
*/
get attrArn(): string;
/**
* The ID of the security configuration.
*
* @cloudformationAttribute Id
*/
get attrId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnSecurityConfiguration {
/**
* Container provider information.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-containerprovider.html
*/
interface ContainerProviderProperty {
/**
* The container provider ID.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-containerprovider.html#cfn-emrcontainers-securityconfiguration-containerprovider-id
*/
readonly id: string;
/**
* Container information.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-containerprovider.html#cfn-emrcontainers-securityconfiguration-containerprovider-info
*/
readonly info?: CfnSecurityConfiguration.ContainerInfoProperty | cdk.IResolvable;
/**
* The container provider type.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-containerprovider.html#cfn-emrcontainers-securityconfiguration-containerprovider-type
*/
readonly type: string;
}
/**
* Container information.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-containerinfo.html
*/
interface ContainerInfoProperty {
/**
* EKS information.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-containerinfo.html#cfn-emrcontainers-securityconfiguration-containerinfo-eksinfo
*/
readonly eksInfo?: CfnSecurityConfiguration.EksInfoProperty | cdk.IResolvable;
}
/**
* EKS information.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-eksinfo.html
*/
interface EksInfoProperty {
/**
* The EKS namespace.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-eksinfo.html#cfn-emrcontainers-securityconfiguration-eksinfo-namespace
*/
readonly namespace?: string;
}
/**
* Security configuration data containing encryption and authorization settings.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-securityconfigurationdata.html
*/
interface SecurityConfigurationDataProperty {
/**
* Authentication configuration for the security configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-securityconfigurationdata.html#cfn-emrcontainers-securityconfiguration-securityconfigurationdata-authenticationconfiguration
*/
readonly authenticationConfiguration?: CfnSecurityConfiguration.AuthenticationConfigurationProperty | cdk.IResolvable;
/**
* Authorization configuration for the security configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-securityconfigurationdata.html#cfn-emrcontainers-securityconfiguration-securityconfigurationdata-authorizationconfiguration
*/
readonly authorizationConfiguration?: CfnSecurityConfiguration.AuthorizationConfigurationProperty | cdk.IResolvable;
/**
* Encryption configuration for the security configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-securityconfigurationdata.html#cfn-emrcontainers-securityconfiguration-securityconfigurationdata-encryptionconfiguration
*/
readonly encryptionConfiguration?: CfnSecurityConfiguration.EncryptionConfigurationProperty | cdk.IResolvable;
}
/**
* Authorization configuration for the security configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-authorizationconfiguration.html
*/
interface AuthorizationConfigurationProperty {
/**
* Lake Formation configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-authorizationconfiguration.html#cfn-emrcontainers-securityconfiguration-authorizationconfiguration-lakeformationconfiguration
*/
readonly lakeFormationConfiguration?: cdk.IResolvable | CfnSecurityConfiguration.LakeFormationConfigurationProperty;
}
/**
* Lake Formation configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-lakeformationconfiguration.html
*/
interface LakeFormationConfigurationProperty {
/**
* The session tag to authorize Lake Formation access.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-lakeformationconfiguration.html#cfn-emrcontainers-securityconfiguration-lakeformationconfiguration-authorizedsessiontagvalue
*/
readonly authorizedSessionTagValue?: string;
/**
* Whether query access control is enabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-lakeformationconfiguration.html#cfn-emrcontainers-securityconfiguration-lakeformationconfiguration-queryaccesscontrolenabled
*/
readonly queryAccessControlEnabled?: boolean | cdk.IResolvable;
/**
* The ARN of the query engine role.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-lakeformationconfiguration.html#cfn-emrcontainers-securityconfiguration-lakeformationconfiguration-queryenginerolearn
*/
readonly queryEngineRoleArn?: string;
/**
* Secure namespace information for Lake Formation.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-lakeformationconfiguration.html#cfn-emrcontainers-securityconfiguration-lakeformationconfiguration-securenamespaceinfo
*/
readonly secureNamespaceInfo?: cdk.IResolvable | CfnSecurityConfiguration.SecureNamespaceInfoProperty;
}
/**
* Secure namespace information for Lake Formation.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-securenamespaceinfo.html
*/
interface SecureNamespaceInfoProperty {
/**
* The ID of the cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-securenamespaceinfo.html#cfn-emrcontainers-securityconfiguration-securenamespaceinfo-clusterid
*/
readonly clusterId?: string;
/**
* The namespace.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-securenamespaceinfo.html#cfn-emrcontainers-securityconfiguration-securenamespaceinfo-namespace
*/
readonly namespace?: string;
}
/**
* Authentication configuration for the security configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-authenticationconfiguration.html
*/
interface AuthenticationConfigurationProperty {
/**
* IAM configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-authenticationconfiguration.html#cfn-emrcontainers-securityconfiguration-authenticationconfiguration-iamconfiguration
*/
readonly iamConfiguration?: CfnSecurityConfiguration.IAMConfigurationProperty | cdk.IResolvable;
/**
* Identity Center configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-authenticationconfiguration.html#cfn-emrcontainers-securityconfiguration-authenticationconfiguration-identitycenterconfiguration
*/
readonly identityCenterConfiguration?: CfnSecurityConfiguration.IdentityCenterConfigurationProperty | cdk.IResolvable;
}
/**
* Identity Center configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-identitycenterconfiguration.html
*/
interface IdentityCenterConfigurationProperty {
/**
* Whether to enable Identity Center integration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-identitycenterconfiguration.html#cfn-emrcontainers-securityconfiguration-identitycenterconfiguration-enableidentitycenter
*/
readonly enableIdentityCenter?: boolean | cdk.IResolvable;
/**
* Whether Identity Center application assignment is required.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-identitycenterconfiguration.html#cfn-emrcontainers-securityconfiguration-identitycenterconfiguration-identitycenterapplicationassignmentrequired
*/
readonly identityCenterApplicationAssignmentRequired?: boolean | cdk.IResolvable;
/**
* The ARN of the Identity Center instance.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-identitycenterconfiguration.html#cfn-emrcontainers-securityconfiguration-identitycenterconfiguration-identitycenterinstancearn
*/
readonly identityCenterInstanceArn?: string;
}
/**
* IAM configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-iamconfiguration.html
*/
interface IAMConfigurationProperty {
/**
* The system role ARN.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-iamconfiguration.html#cfn-emrcontainers-securityconfiguration-iamconfiguration-systemrole
*/
readonly systemRole?: string;
}
/**
* Encryption configuration for the security configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-encryptionconfiguration.html
*/
interface EncryptionConfigurationProperty {
/**
* At-rest encryption configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-encryptionconfiguration.html#cfn-emrcontainers-securityconfiguration-encryptionconfiguration-atrestencryptionconfiguration
*/
readonly atRestEncryptionConfiguration?: CfnSecurityConfiguration.AtRestEncryptionConfigurationProperty | cdk.IResolvable;
/**
* In-transit encryption configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-encryptionconfiguration.html#cfn-emrcontainers-securityconfiguration-encryptionconfiguration-intransitencryptionconfiguration
*/
readonly inTransitEncryptionConfiguration?: CfnSecurityConfiguration.InTransitEncryptionConfigurationProperty | cdk.IResolvable;
}
/**
* In-transit encryption configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-intransitencryptionconfiguration.html
*/
interface InTransitEncryptionConfigurationProperty {
/**
* TLS certificate configuration for in-transit encryption.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-intransitencryptionconfiguration.html#cfn-emrcontainers-securityconfiguration-intransitencryptionconfiguration-tlscertificateconfiguration
*/
readonly tlsCertificateConfiguration?: cdk.IResolvable | CfnSecurityConfiguration.TLSCertificateConfigurationProperty;
}
/**
* TLS certificate configuration for in-transit encryption.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-tlscertificateconfiguration.html
*/
interface TLSCertificateConfigurationProperty {
/**
* The certificate provider type.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-tlscertificateconfiguration.html#cfn-emrcontainers-securityconfiguration-tlscertificateconfiguration-certificateprovidertype
*/
readonly certificateProviderType?: string;
/**
* The ARN of the secret containing the private key.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-tlscertificateconfiguration.html#cfn-emrcontainers-securityconfiguration-tlscertificateconfiguration-privatekeysecretarn
*/
readonly privateKeySecretArn?: string;
/**
* The ARN of the secret containing the public key.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-tlscertificateconfiguration.html#cfn-emrcontainers-securityconfiguration-tlscertificateconfiguration-publickeysecretarn
*/
readonly publicKeySecretArn?: string;
}
/**
* At-rest encryption configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-atrestencryptionconfiguration.html
*/
interface AtRestEncryptionConfigurationProperty {
/**
* Local disk encryption configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-atrestencryptionconfiguration.html#cfn-emrcontainers-securityconfiguration-atrestencryptionconfiguration-localdiskencryptionconfiguration
*/
readonly localDiskEncryptionConfiguration?: cdk.IResolvable | CfnSecurityConfiguration.LocalDiskEncryptionConfigurationProperty;
/**
* S3 encryption configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-atrestencryptionconfiguration.html#cfn-emrcontainers-securityconfiguration-atrestencryptionconfiguration-s3encryptionconfiguration
*/
readonly s3EncryptionConfiguration?: cdk.IResolvable | CfnSecurityConfiguration.S3EncryptionConfigurationProperty;
}
/**
* S3 encryption configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-s3encryptionconfiguration.html
*/
interface S3EncryptionConfigurationProperty {
/**
* The S3 encryption option.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-s3encryptionconfiguration.html#cfn-emrcontainers-securityconfiguration-s3encryptionconfiguration-encryptionoption
*/
readonly encryptionOption?: string;
/**
* The KMS key ID for encryption.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-s3encryptionconfiguration.html#cfn-emrcontainers-securityconfiguration-s3encryptionconfiguration-kmskeyid
*/
readonly kmsKeyId?: string;
}
/**
* Local disk encryption configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-localdiskencryptionconfiguration.html
*/
interface LocalDiskEncryptionConfigurationProperty {
/**
* The AWS KMS key ID.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-localdiskencryptionconfiguration.html#cfn-emrcontainers-securityconfiguration-localdiskencryptionconfiguration-awskmskeyid
*/
readonly awsKmsKeyId?: string;
/**
* The encryption key provider type.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrcontainers-securityconfiguration-localdiskencryptionconfiguration.html#cfn-emrcontainers-securityconfiguration-localdiskencryptionconfiguration-encryptionkeyprovidertype
*/
readonly encryptionKeyProviderType?: string;
}
}
/**
* Properties for defining a `CfnSecurityConfiguration`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-securityconfiguration.html
*/
export interface CfnSecurityConfigurationProps {
/**
* Container provider information.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-securityconfiguration.html#cfn-emrcontainers-securityconfiguration-containerprovider
*/
readonly containerProvider?: CfnSecurityConfiguration.ContainerProviderProperty | cdk.IResolvable;
/**
* The name of the security configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-securityconfiguration.html#cfn-emrcontainers-securityconfiguration-name
*/
readonly name?: string;
/**
* Security configuration data containing encryption and authorization settings.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-securityconfiguration.html#cfn-emrcontainers-securityconfiguration-securityconfigurationdata
*/
readonly securityConfigurationData: cdk.IResolvable | CfnSecurityConfiguration.SecurityConfigurationDataProperty;
/**
* An array of key-value pairs to apply to this security configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-securityconfiguration.html#cfn-emrcontainers-securityconfiguration-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
export type { IVirtualClusterRef, VirtualClusterReference };
export type { IEndpointRef, EndpointReference };
export type { ISecurityConfigurationRef, SecurityConfigurationReference };