aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
515 lines (514 loc) • 21.5 kB
TypeScript
import * as cdk from "../../core";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html.
*
* @cloudformationResource AWS::RolesAnywhere::CRL
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html
*/
export declare class CfnCRL extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnCRL 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): CfnCRL;
/**
* The unique primary identifier of the Crl
*
* @cloudformationAttribute CrlId
*/
readonly attrCrlId: string;
/**
* The x509 v3 specified certificate revocation list (CRL).
*/
crlData: string;
/**
* Specifies whether the certificate revocation list (CRL) is enabled.
*/
enabled?: boolean | cdk.IResolvable;
/**
* The name of the certificate revocation list (CRL).
*/
name: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* A list of tags to attach to the certificate revocation list (CRL).
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* The ARN of the TrustAnchor the certificate revocation list (CRL) will provide revocation for.
*/
trustAnchorArn?: string;
/**
* @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: CfnCRLProps);
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>;
}
/**
* Properties for defining a `CfnCRL`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html
*/
export interface CfnCRLProps {
/**
* The x509 v3 specified certificate revocation list (CRL).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html#cfn-rolesanywhere-crl-crldata
*/
readonly crlData: string;
/**
* Specifies whether the certificate revocation list (CRL) is enabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html#cfn-rolesanywhere-crl-enabled
*/
readonly enabled?: boolean | cdk.IResolvable;
/**
* The name of the certificate revocation list (CRL).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html#cfn-rolesanywhere-crl-name
*/
readonly name: string;
/**
* A list of tags to attach to the certificate revocation list (CRL).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html#cfn-rolesanywhere-crl-tags
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* The ARN of the TrustAnchor the certificate revocation list (CRL) will provide revocation for.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html#cfn-rolesanywhere-crl-trustanchorarn
*/
readonly trustAnchorArn?: string;
}
/**
* Creates a Profile.
*
* @cloudformationResource AWS::RolesAnywhere::Profile
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html
*/
export declare class CfnProfile extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnProfile 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): CfnProfile;
/**
* The ARN of the profile.
*
* @cloudformationAttribute ProfileArn
*/
readonly attrProfileArn: string;
/**
* The unique primary identifier of the Profile
*
* @cloudformationAttribute ProfileId
*/
readonly attrProfileId: string;
/**
* Used to determine if a custom role session name will be accepted in a temporary credential request.
*/
acceptRoleSessionName?: boolean | cdk.IResolvable;
/**
* A mapping applied to the authenticating end-entity certificate.
*/
attributeMappings?: Array<CfnProfile.AttributeMappingProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The number of seconds vended session credentials will be valid for.
*/
durationSeconds?: number;
/**
* The enabled status of the resource.
*/
enabled?: boolean | cdk.IResolvable;
/**
* A list of managed policy ARNs.
*/
managedPolicyArns?: Array<string>;
/**
* The customer specified name of the resource.
*/
name: string;
/**
* Specifies whether instance properties are required in CreateSession requests with this profile.
*/
requireInstanceProperties?: boolean | cdk.IResolvable;
/**
* A list of IAM role ARNs that can be assumed when this profile is specified in a CreateSession request.
*/
roleArns: Array<string>;
/**
* A session policy that will applied to the trust boundary of the vended session credentials.
*/
sessionPolicy?: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* A list of Tags.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* @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: CfnProfileProps);
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 CfnProfile {
/**
* A mapping applied to the authenticating end-entity certificate.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-profile-attributemapping.html
*/
interface AttributeMappingProperty {
/**
* Fields (x509Subject, x509Issuer and x509SAN) within X.509 certificates.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-profile-attributemapping.html#cfn-rolesanywhere-profile-attributemapping-certificatefield
*/
readonly certificateField: string;
/**
* A list of mapping entries for every supported specifier or sub-field.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-profile-attributemapping.html#cfn-rolesanywhere-profile-attributemapping-mappingrules
*/
readonly mappingRules: Array<cdk.IResolvable | CfnProfile.MappingRuleProperty> | cdk.IResolvable;
}
/**
* A single mapping entry for each supported specifier or sub-field.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-profile-mappingrule.html
*/
interface MappingRuleProperty {
/**
* Specifier within a certificate field, such as CN, OU, or UID from the Subject field.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-profile-mappingrule.html#cfn-rolesanywhere-profile-mappingrule-specifier
*/
readonly specifier: string;
}
}
/**
* Properties for defining a `CfnProfile`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html
*/
export interface CfnProfileProps {
/**
* Used to determine if a custom role session name will be accepted in a temporary credential request.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html#cfn-rolesanywhere-profile-acceptrolesessionname
*/
readonly acceptRoleSessionName?: boolean | cdk.IResolvable;
/**
* A mapping applied to the authenticating end-entity certificate.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html#cfn-rolesanywhere-profile-attributemappings
*/
readonly attributeMappings?: Array<CfnProfile.AttributeMappingProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The number of seconds vended session credentials will be valid for.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html#cfn-rolesanywhere-profile-durationseconds
*/
readonly durationSeconds?: number;
/**
* The enabled status of the resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html#cfn-rolesanywhere-profile-enabled
*/
readonly enabled?: boolean | cdk.IResolvable;
/**
* A list of managed policy ARNs.
*
* Managed policies identified by this list will be applied to the vended session credentials.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html#cfn-rolesanywhere-profile-managedpolicyarns
*/
readonly managedPolicyArns?: Array<string>;
/**
* The customer specified name of the resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html#cfn-rolesanywhere-profile-name
*/
readonly name: string;
/**
* Specifies whether instance properties are required in CreateSession requests with this profile.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html#cfn-rolesanywhere-profile-requireinstanceproperties
*/
readonly requireInstanceProperties?: boolean | cdk.IResolvable;
/**
* A list of IAM role ARNs that can be assumed when this profile is specified in a CreateSession request.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html#cfn-rolesanywhere-profile-rolearns
*/
readonly roleArns: Array<string>;
/**
* A session policy that will applied to the trust boundary of the vended session credentials.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html#cfn-rolesanywhere-profile-sessionpolicy
*/
readonly sessionPolicy?: string;
/**
* A list of Tags.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html#cfn-rolesanywhere-profile-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* Creates a TrustAnchor.
*
* @cloudformationResource AWS::RolesAnywhere::TrustAnchor
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html
*/
export declare class CfnTrustAnchor extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnTrustAnchor 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): CfnTrustAnchor;
/**
* The ARN of the trust anchor.
*
* @cloudformationAttribute TrustAnchorArn
*/
readonly attrTrustAnchorArn: string;
/**
* The unique identifier of the trust anchor.
*
* @cloudformationAttribute TrustAnchorId
*/
readonly attrTrustAnchorId: string;
/**
* Indicates whether the trust anchor is enabled.
*/
enabled?: boolean | cdk.IResolvable;
/**
* The name of the trust anchor.
*/
name: string;
/**
* A list of notification settings to be associated to the trust anchor.
*/
notificationSettings?: Array<cdk.IResolvable | CfnTrustAnchor.NotificationSettingProperty> | cdk.IResolvable;
/**
* The trust anchor type and its related certificate data.
*/
source: cdk.IResolvable | CfnTrustAnchor.SourceProperty;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* The tags to attach to the trust anchor.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* @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: CfnTrustAnchorProps);
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 CfnTrustAnchor {
/**
* Customizable notification settings that will be applied to notification events.
*
* IAM Roles Anywhere consumes these settings while notifying across multiple channels - CloudWatch metrics, EventBridge, and AWS Health Dashboard .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-trustanchor-notificationsetting.html
*/
interface NotificationSettingProperty {
/**
* The specified channel of notification.
*
* IAM Roles Anywhere uses CloudWatch metrics, EventBridge, and AWS Health Dashboard to notify for an event.
*
* > In the absence of a specific channel, IAM Roles Anywhere applies this setting to 'ALL' channels.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-trustanchor-notificationsetting.html#cfn-rolesanywhere-trustanchor-notificationsetting-channel
*/
readonly channel?: string;
/**
* Indicates whether the notification setting is enabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-trustanchor-notificationsetting.html#cfn-rolesanywhere-trustanchor-notificationsetting-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
/**
* The event to which this notification setting is applied.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-trustanchor-notificationsetting.html#cfn-rolesanywhere-trustanchor-notificationsetting-event
*/
readonly event: string;
/**
* The number of days before a notification event.
*
* This value is required for a notification setting that is enabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-trustanchor-notificationsetting.html#cfn-rolesanywhere-trustanchor-notificationsetting-threshold
*/
readonly threshold?: number;
}
/**
* Object representing the TrustAnchor type and its related certificate data.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-trustanchor-source.html
*/
interface SourceProperty {
/**
* A union object representing the data field of the TrustAnchor depending on its type.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-trustanchor-source.html#cfn-rolesanywhere-trustanchor-source-sourcedata
*/
readonly sourceData: cdk.IResolvable | CfnTrustAnchor.SourceDataProperty;
/**
* The type of the TrustAnchor.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-trustanchor-source.html#cfn-rolesanywhere-trustanchor-source-sourcetype
*/
readonly sourceType: string;
}
/**
* A union object representing the data field of the TrustAnchor depending on its type.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-trustanchor-sourcedata.html
*/
interface SourceDataProperty {
/**
* The root certificate of the AWS Private Certificate Authority specified by this ARN is used in trust validation for temporary credential requests.
*
* Included for trust anchors of type `AWS_ACM_PCA` .
*
* > This field is not supported in your region.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-trustanchor-sourcedata.html#cfn-rolesanywhere-trustanchor-sourcedata-acmpcaarn
*/
readonly acmPcaArn?: string;
/**
* The PEM-encoded data for the certificate anchor.
*
* Included for trust anchors of type `CERTIFICATE_BUNDLE` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rolesanywhere-trustanchor-sourcedata.html#cfn-rolesanywhere-trustanchor-sourcedata-x509certificatedata
*/
readonly x509CertificateData?: string;
}
}
/**
* Properties for defining a `CfnTrustAnchor`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html
*/
export interface CfnTrustAnchorProps {
/**
* Indicates whether the trust anchor is enabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html#cfn-rolesanywhere-trustanchor-enabled
*/
readonly enabled?: boolean | cdk.IResolvable;
/**
* The name of the trust anchor.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html#cfn-rolesanywhere-trustanchor-name
*/
readonly name: string;
/**
* A list of notification settings to be associated to the trust anchor.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html#cfn-rolesanywhere-trustanchor-notificationsettings
*/
readonly notificationSettings?: Array<cdk.IResolvable | CfnTrustAnchor.NotificationSettingProperty> | cdk.IResolvable;
/**
* The trust anchor type and its related certificate data.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html#cfn-rolesanywhere-trustanchor-source
*/
readonly source: cdk.IResolvable | CfnTrustAnchor.SourceProperty;
/**
* The tags to attach to the trust anchor.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html#cfn-rolesanywhere-trustanchor-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}