aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
675 lines (674 loc) • 23.4 kB
TypeScript
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { aws_events as eventsRefs, aws_eventschemas as eventSchemasRefs } from "../../interfaces";
import { DiscovererReference, IDiscovererRef, IRegistryPolicyRef, IRegistryRef, ISchemaRef, RegistryPolicyReference, RegistryReference, SchemaReference } from "../../interfaces/generated/aws-eventschemas-interfaces.generated";
/**
* Use the `AWS::EventSchemas::Discoverer` resource to specify a *discoverer* that is associated with an event bus.
*
* A discoverer allows the Amazon EventBridge Schema Registry to automatically generate schemas based on events on an event bus.
*
* @cloudformationResource AWS::EventSchemas::Discoverer
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html
*/
export declare class CfnDiscoverer extends cdk.CfnResource implements cdk.IInspectable, IDiscovererRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnDiscoverer 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): CfnDiscoverer;
/**
* Checks whether the given object is a CfnDiscoverer
*/
static isCfnDiscoverer(x: any): x is CfnDiscoverer;
static arnForDiscoverer(resource: IDiscovererRef): string;
/**
* Allows for the discovery of the event schemas that are sent to the event bus from another account.
*/
private _crossAccount?;
/**
* A description for the discoverer.
*/
private _description?;
/**
* The ARN of the event bus.
*/
private _sourceArn;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* Tags associated with the resource.
*/
private _tagsRaw?;
protected readonly cfnPropertyNames: Record<string, string>;
/**
* Create a new `AWS::EventSchemas::Discoverer`.
*
* @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: CfnDiscovererProps);
get discovererRef(): DiscovererReference;
/**
* Allows for the discovery of the event schemas that are sent to the event bus from another account.
*/
get crossAccount(): boolean | cdk.IResolvable | undefined;
/**
* Allows for the discovery of the event schemas that are sent to the event bus from another account.
*/
set crossAccount(value: boolean | cdk.IResolvable | undefined);
/**
* A description for the discoverer.
*/
get description(): string | undefined;
/**
* A description for the discoverer.
*/
set description(value: string | undefined);
/**
* The ARN of the event bus.
*/
get sourceArn(): string;
/**
* The ARN of the event bus.
*/
set sourceArn(value: string);
/**
* Tags associated with the resource.
*/
get tagsRaw(): Array<CfnDiscoverer.TagsEntryProperty> | undefined;
/**
* Tags associated with the resource.
*/
set tagsRaw(value: Array<CfnDiscoverer.TagsEntryProperty> | undefined);
/**
* @cloudformationAttribute CrossAccount
*/
get attrCrossAccount(): cdk.IResolvable;
/**
* The ARN of the discoverer.
*
* @cloudformationAttribute DiscovererArn
*/
get attrDiscovererArn(): string;
/**
* The ID of the discoverer.
*
* @cloudformationAttribute DiscovererId
*/
get attrDiscovererId(): string;
/**
* The state of the discoverer.
*
* @cloudformationAttribute State
*/
get attrState(): 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 CfnDiscoverer {
/**
* Tags to associate with the discoverer.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-discoverer-tagsentry.html
*/
interface TagsEntryProperty {
/**
* The key of a key-value pair.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-discoverer-tagsentry.html#cfn-eventschemas-discoverer-tagsentry-key
*/
readonly key: string;
/**
* The value of a key-value pair.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-discoverer-tagsentry.html#cfn-eventschemas-discoverer-tagsentry-value
*/
readonly value: string;
}
}
/**
* Properties for defining a `CfnDiscoverer`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html
*/
export interface CfnDiscovererProps {
/**
* Allows for the discovery of the event schemas that are sent to the event bus from another account.
*
* @default - true
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-crossaccount
*/
readonly crossAccount?: boolean | cdk.IResolvable;
/**
* A description for the discoverer.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-description
*/
readonly description?: string;
/**
* The ARN of the event bus.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-sourcearn
*/
readonly sourceArn: eventsRefs.IEventBusRef | string;
/**
* Tags associated with the resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-tags
*/
readonly tags?: Array<CfnDiscoverer.TagsEntryProperty>;
}
/**
* Use the `AWS::EventSchemas::Registry` to specify a schema registry.
*
* Schema registries are containers for Schemas. Registries collect and organize schemas so that your schemas are in logical groups.
*
* @cloudformationResource AWS::EventSchemas::Registry
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html
*/
export declare class CfnRegistry extends cdk.CfnResource implements cdk.IInspectable, IRegistryRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnRegistry 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): CfnRegistry;
/**
* Checks whether the given object is a CfnRegistry
*/
static isCfnRegistry(x: any): x is CfnRegistry;
static arnForRegistry(resource: IRegistryRef): string;
/**
* A description of the registry to be created.
*/
private _description?;
/**
* The name of the schema registry.
*/
private _registryName?;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* Tags to associate with the registry.
*/
private _tagsRaw?;
protected readonly cfnPropertyNames: Record<string, string>;
/**
* Create a new `AWS::EventSchemas::Registry`.
*
* @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?: CfnRegistryProps);
get registryRef(): RegistryReference;
/**
* A description of the registry to be created.
*/
get description(): string | undefined;
/**
* A description of the registry to be created.
*/
set description(value: string | undefined);
/**
* The name of the schema registry.
*/
get registryName(): string | undefined;
/**
* The name of the schema registry.
*/
set registryName(value: string | undefined);
/**
* Tags to associate with the registry.
*/
get tagsRaw(): Array<CfnRegistry.TagsEntryProperty> | undefined;
/**
* Tags to associate with the registry.
*/
set tagsRaw(value: Array<CfnRegistry.TagsEntryProperty> | undefined);
/**
* The ARN of the registry.
*
* @cloudformationAttribute RegistryArn
*/
get attrRegistryArn(): string;
/**
* The name of the registry.
*
* @cloudformationAttribute RegistryName
*/
get attrRegistryName(): 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 CfnRegistry {
/**
* Tags to associate with the schema registry.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-registry-tagsentry.html
*/
interface TagsEntryProperty {
/**
* The key of a key-value pair.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-registry-tagsentry.html#cfn-eventschemas-registry-tagsentry-key
*/
readonly key: string;
/**
* The value of a key-value pair.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-registry-tagsentry.html#cfn-eventschemas-registry-tagsentry-value
*/
readonly value: string;
}
}
/**
* Properties for defining a `CfnRegistry`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html
*/
export interface CfnRegistryProps {
/**
* A description of the registry to be created.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-description
*/
readonly description?: string;
/**
* The name of the schema registry.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-registryname
*/
readonly registryName?: eventSchemasRefs.IRegistryPolicyRef | string;
/**
* Tags to associate with the registry.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-tags
*/
readonly tags?: Array<CfnRegistry.TagsEntryProperty>;
}
/**
* Use the `AWS::EventSchemas::RegistryPolicy` resource to specify resource-based policies for an EventBridge Schema Registry.
*
* @cloudformationResource AWS::EventSchemas::RegistryPolicy
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html
*/
export declare class CfnRegistryPolicy extends cdk.CfnResource implements cdk.IInspectable, IRegistryPolicyRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnRegistryPolicy 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): CfnRegistryPolicy;
/**
* Checks whether the given object is a CfnRegistryPolicy
*/
static isCfnRegistryPolicy(x: any): x is CfnRegistryPolicy;
/**
* A resource-based policy.
*/
private _policy;
/**
* The name of the registry.
*/
private _registryName;
/**
* The revision ID of the policy.
*/
private _revisionId?;
protected readonly cfnPropertyNames: Record<string, string>;
/**
* Create a new `AWS::EventSchemas::RegistryPolicy`.
*
* @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: CfnRegistryPolicyProps);
get registryPolicyRef(): RegistryPolicyReference;
/**
* A resource-based policy.
*/
get policy(): any | cdk.IResolvable;
/**
* A resource-based policy.
*/
set policy(value: any | cdk.IResolvable);
/**
* The name of the registry.
*/
get registryName(): string;
/**
* The name of the registry.
*/
set registryName(value: string);
/**
* The revision ID of the policy.
*/
get revisionId(): string | undefined;
/**
* The revision ID of the policy.
*/
set revisionId(value: string | undefined);
/**
* The ID of the policy.
*
* @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>;
}
/**
* Properties for defining a `CfnRegistryPolicy`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html
*/
export interface CfnRegistryPolicyProps {
/**
* A resource-based policy.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-policy
*/
readonly policy: any | cdk.IResolvable;
/**
* The name of the registry.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-registryname
*/
readonly registryName: string;
/**
* The revision ID of the policy.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html#cfn-eventschemas-registrypolicy-revisionid
*/
readonly revisionId?: string;
}
/**
* Use the `AWS::EventSchemas::Schema` resource to specify an event schema.
*
* @cloudformationResource AWS::EventSchemas::Schema
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html
*/
export declare class CfnSchema extends cdk.CfnResource implements cdk.IInspectable, ISchemaRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnSchema 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): CfnSchema;
/**
* Checks whether the given object is a CfnSchema
*/
static isCfnSchema(x: any): x is CfnSchema;
static arnForSchema(resource: ISchemaRef): string;
/**
* The source of the schema definition.
*/
private _content;
/**
* A description of the schema.
*/
private _description?;
/**
* The name of the schema registry.
*/
private _registryName;
/**
* The name of the schema.
*/
private _schemaName?;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* Tags associated with the schema.
*/
private _tagsRaw?;
/**
* The type of schema.
*/
private _type;
protected readonly cfnPropertyNames: Record<string, string>;
/**
* Create a new `AWS::EventSchemas::Schema`.
*
* @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: CfnSchemaProps);
get schemaRef(): SchemaReference;
/**
* The source of the schema definition.
*/
get content(): string;
/**
* The source of the schema definition.
*/
set content(value: string);
/**
* A description of the schema.
*/
get description(): string | undefined;
/**
* A description of the schema.
*/
set description(value: string | undefined);
/**
* The name of the schema registry.
*/
get registryName(): string;
/**
* The name of the schema registry.
*/
set registryName(value: string);
/**
* The name of the schema.
*/
get schemaName(): string | undefined;
/**
* The name of the schema.
*/
set schemaName(value: string | undefined);
/**
* Tags associated with the schema.
*/
get tagsRaw(): Array<CfnSchema.TagsEntryProperty> | undefined;
/**
* Tags associated with the schema.
*/
set tagsRaw(value: Array<CfnSchema.TagsEntryProperty> | undefined);
/**
* The type of schema.
*/
get type(): string;
/**
* The type of schema.
*/
set type(value: string);
/**
* The date and time that schema was modified.
*
* @cloudformationAttribute LastModified
*/
get attrLastModified(): string;
/**
* The ARN of the schema.
*
* @cloudformationAttribute SchemaArn
*/
get attrSchemaArn(): string;
/**
* The name of the schema.
*
* @cloudformationAttribute SchemaName
*/
get attrSchemaName(): string;
/**
* The version number of the schema.
*
* @cloudformationAttribute SchemaVersion
*/
get attrSchemaVersion(): string;
/**
* The date the schema version was created.
*
* @cloudformationAttribute VersionCreatedDate
*/
get attrVersionCreatedDate(): 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 CfnSchema {
/**
* Tags to associate with the schema.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-schema-tagsentry.html
*/
interface TagsEntryProperty {
/**
* The key of a key-value pair.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-schema-tagsentry.html#cfn-eventschemas-schema-tagsentry-key
*/
readonly key: string;
/**
* The value of a key-value pair.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-schema-tagsentry.html#cfn-eventschemas-schema-tagsentry-value
*/
readonly value: string;
}
}
/**
* Properties for defining a `CfnSchema`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html
*/
export interface CfnSchemaProps {
/**
* The source of the schema definition.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-content
*/
readonly content: string;
/**
* A description of the schema.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-description
*/
readonly description?: string;
/**
* The name of the schema registry.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-registryname
*/
readonly registryName: string;
/**
* The name of the schema.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-schemaname
*/
readonly schemaName?: string;
/**
* Tags associated with the schema.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-tags
*/
readonly tags?: Array<CfnSchema.TagsEntryProperty>;
/**
* The type of schema.
*
* Valid types include `OpenApi3` and `JSONSchemaDraft4` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-type
*/
readonly type: string;
}
export type { IDiscovererRef, DiscovererReference };
export type { IRegistryRef, RegistryReference };
export type { IRegistryPolicyRef, RegistryPolicyReference };
export type { ISchemaRef, SchemaReference };