UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,191 lines 176 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { ApiCacheReference, ApiKeyReference, ApiReference, ChannelNamespaceReference, DataSourceReference, DomainNameApiAssociationReference, DomainNameReference, FunctionConfigurationReference, GraphQLApiReference, GraphQLSchemaReference, IApiCacheRef, IApiKeyRef, IApiRef, IChannelNamespaceRef, IDataSourceRef, IDomainNameApiAssociationRef, IDomainNameRef, IFunctionConfigurationRef, IGraphQLApiRef, IGraphQLSchemaRef, IResolverRef, ISourceApiAssociationRef, ResolverReference, SourceApiAssociationReference } from "../../interfaces/generated/aws-appsync-interfaces.generated"; import { aws_appsync as appSyncRefs, aws_iam as iamRefs } from "../../interfaces"; /** * The `AWS::AppSync::ApiCache` resource represents the input of a `CreateApiCache` operation. * * @cloudformationResource AWS::AppSync::ApiCache * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html */ export declare class CfnApiCache extends cdk.CfnResource implements cdk.IInspectable, IApiCacheRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnApiCache 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): CfnApiCache; /** * Checks whether the given object is a CfnApiCache */ static isCfnApiCache(x: any): x is CfnApiCache; /** * Caching behavior. */ private _apiCachingBehavior; /** * The GraphQL API ID. */ private _apiId; /** * *This parameter has been deprecated* . */ private _atRestEncryptionEnabled?; /** * Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:. */ private _healthMetricsConfig?; /** * *This parameter has been deprecated* . */ private _transitEncryptionEnabled?; /** * TTL in seconds for cache entries. */ private _ttl; /** * The cache instance type. Valid values are. */ private _type; /** * Create a new `AWS::AppSync::ApiCache`. * * @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: CfnApiCacheProps); get apiCacheRef(): ApiCacheReference; /** * Caching behavior. */ get apiCachingBehavior(): string; /** * Caching behavior. */ set apiCachingBehavior(value: string); /** * The GraphQL API ID. */ get apiId(): string; /** * The GraphQL API ID. */ set apiId(value: string); /** * *This parameter has been deprecated* . */ get atRestEncryptionEnabled(): boolean | cdk.IResolvable | undefined; /** * *This parameter has been deprecated* . */ set atRestEncryptionEnabled(value: boolean | cdk.IResolvable | undefined); /** * Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:. */ get healthMetricsConfig(): string | undefined; /** * Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:. */ set healthMetricsConfig(value: string | undefined); /** * *This parameter has been deprecated* . */ get transitEncryptionEnabled(): boolean | cdk.IResolvable | undefined; /** * *This parameter has been deprecated* . */ set transitEncryptionEnabled(value: boolean | cdk.IResolvable | undefined); /** * TTL in seconds for cache entries. */ get ttl(): number; /** * TTL in seconds for cache entries. */ set ttl(value: number); /** * The cache instance type. Valid values are. */ get type(): string; /** * The cache instance type. Valid values are. */ set type(value: string); /** * @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 `CfnApiCache` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html */ export interface CfnApiCacheProps { /** * Caching behavior. * * - *FULL_REQUEST_CACHING* : All requests from the same user are cached. Individual resolvers are automatically cached. All API calls will try to return responses from the cache. * - *PER_RESOLVER_CACHING* : Individual resolvers that you specify are cached. * - *OPERATION_LEVEL_CACHING* : Full requests are cached together and returned without executing resolvers. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apicachingbehavior */ readonly apiCachingBehavior: string; /** * The GraphQL API ID. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apiid */ readonly apiId: string; /** * *This parameter has been deprecated* . * * At-rest encryption flag for cache. You cannot update this setting after creation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-atrestencryptionenabled */ readonly atRestEncryptionEnabled?: boolean | cdk.IResolvable; /** * Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:. * * - *NetworkBandwidthOutAllowanceExceeded* : The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration. * - *EngineCPUUtilization* : The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration. * * Metrics will be recorded by API ID. You can set the value to `ENABLED` or `DISABLED` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-healthmetricsconfig */ readonly healthMetricsConfig?: string; /** * *This parameter has been deprecated* . * * Transit encryption flag when connecting to cache. You cannot update this setting after creation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-transitencryptionenabled */ readonly transitEncryptionEnabled?: boolean | cdk.IResolvable; /** * TTL in seconds for cache entries. * * Valid values are 1–3,600 seconds. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-ttl */ readonly ttl: number; /** * The cache instance type. Valid values are. * * - `SMALL` * - `MEDIUM` * - `LARGE` * - `XLARGE` * - `LARGE_2X` * - `LARGE_4X` * - `LARGE_8X` (not available in all regions) * - `LARGE_12X` * * Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used. * * The following legacy instance types are available, but their use is discouraged: * * - *T2_SMALL* : A t2.small instance type. * - *T2_MEDIUM* : A t2.medium instance type. * - *R4_LARGE* : A r4.large instance type. * - *R4_XLARGE* : A r4.xlarge instance type. * - *R4_2XLARGE* : A r4.2xlarge instance type. * - *R4_4XLARGE* : A r4.4xlarge instance type. * - *R4_8XLARGE* : A r4.8xlarge instance type. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-type */ readonly type: string; } /** * The `AWS::AppSync::ApiKey` resource creates a unique key that you can distribute to clients who are executing GraphQL operations with AWS AppSync that require an API key. * * @cloudformationResource AWS::AppSync::ApiKey * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html */ export declare class CfnApiKey extends cdk.CfnResource implements cdk.IInspectable, IApiKeyRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnApiKey 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): CfnApiKey; /** * Checks whether the given object is a CfnApiKey */ static isCfnApiKey(x: any): x is CfnApiKey; static arnForApiKey(resource: IApiKeyRef): string; /** * Unique AWS AppSync GraphQL API ID for this API key. */ private _apiId; /** * Unique description of your API key. */ private _description?; /** * The time after which the API key expires. */ private _expires?; /** * Create a new `AWS::AppSync::ApiKey`. * * @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: CfnApiKeyProps); get apiKeyRef(): ApiKeyReference; /** * Unique AWS AppSync GraphQL API ID for this API key. */ get apiId(): string; /** * Unique AWS AppSync GraphQL API ID for this API key. */ set apiId(value: string); /** * Unique description of your API key. */ get description(): string | undefined; /** * Unique description of your API key. */ set description(value: string | undefined); /** * The time after which the API key expires. */ get expires(): number | undefined; /** * The time after which the API key expires. */ set expires(value: number | undefined); /** * The API key. * * @cloudformationAttribute ApiKey */ get attrApiKey(): string; /** * The API key ID. * * @cloudformationAttribute ApiKeyId */ get attrApiKeyId(): string; /** * The Amazon Resource Name (ARN) of the API key, such as `arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/apikey/apikeya1bzhi` . * * @cloudformationAttribute Arn */ get attrArn(): 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 `CfnApiKey` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html */ export interface CfnApiKeyProps { /** * Unique AWS AppSync GraphQL API ID for this API key. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apiid */ readonly apiId: string; /** * Unique description of your API key. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description */ readonly description?: string; /** * The time after which the API key expires. * * The date is represented as seconds since the epoch, rounded down to the nearest hour. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-expires */ readonly expires?: number; } /** * The `AWS::AppSync::DataSource` resource creates data sources for resolvers in AWS AppSync to connect to, such as Amazon DynamoDB , AWS Lambda , and Amazon OpenSearch Service . * * Resolvers use these data sources to fetch data when clients make GraphQL calls. * * @cloudformationResource AWS::AppSync::DataSource * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html */ export declare class CfnDataSource extends cdk.CfnResource implements cdk.IInspectable, IDataSourceRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDataSource 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): CfnDataSource; /** * Checks whether the given object is a CfnDataSource */ static isCfnDataSource(x: any): x is CfnDataSource; static arnForDataSource(resource: IDataSourceRef): string; /** * Unique AWS AppSync GraphQL API identifier where this data source will be created. */ private _apiId; /** * The description of the data source. */ private _description?; /** * AWS Region and TableName for an Amazon DynamoDB table in your account. */ private _dynamoDbConfig?; /** * @deprecated this property has been deprecated */ private _elasticsearchConfig?; /** * An EventBridge configuration that contains a valid ARN of an event bus. */ private _eventBridgeConfig?; /** * Endpoints for an HTTP data source. */ private _httpConfig?; /** * An ARN of a Lambda function in valid ARN format. */ private _lambdaConfig?; /** * Enables or disables enhanced data source metrics for specified data sources. */ private _metricsConfig?; /** * Friendly name for you to identify your AppSync data source after creation. */ private _name; /** * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. */ private _openSearchServiceConfig?; /** * Relational Database configuration of the relational database data source. */ private _relationalDatabaseConfig?; /** * The AWS Identity and Access Management service role ARN for the data source. */ private _serviceRoleArn?; /** * The type of the data source. */ private _type; /** * Create a new `AWS::AppSync::DataSource`. * * @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: CfnDataSourceProps); get dataSourceRef(): DataSourceReference; /** * Unique AWS AppSync GraphQL API identifier where this data source will be created. */ get apiId(): string; /** * Unique AWS AppSync GraphQL API identifier where this data source will be created. */ set apiId(value: string); /** * The description of the data source. */ get description(): string | undefined; /** * The description of the data source. */ set description(value: string | undefined); /** * AWS Region and TableName for an Amazon DynamoDB table in your account. */ get dynamoDbConfig(): CfnDataSource.DynamoDBConfigProperty | cdk.IResolvable | undefined; /** * AWS Region and TableName for an Amazon DynamoDB table in your account. */ set dynamoDbConfig(value: CfnDataSource.DynamoDBConfigProperty | cdk.IResolvable | undefined); /** * @deprecated this property has been deprecated */ get elasticsearchConfig(): CfnDataSource.ElasticsearchConfigProperty | cdk.IResolvable | undefined; /** * @deprecated this property has been deprecated */ set elasticsearchConfig(value: CfnDataSource.ElasticsearchConfigProperty | cdk.IResolvable | undefined); /** * An EventBridge configuration that contains a valid ARN of an event bus. */ get eventBridgeConfig(): CfnDataSource.EventBridgeConfigProperty | cdk.IResolvable | undefined; /** * An EventBridge configuration that contains a valid ARN of an event bus. */ set eventBridgeConfig(value: CfnDataSource.EventBridgeConfigProperty | cdk.IResolvable | undefined); /** * Endpoints for an HTTP data source. */ get httpConfig(): CfnDataSource.HttpConfigProperty | cdk.IResolvable | undefined; /** * Endpoints for an HTTP data source. */ set httpConfig(value: CfnDataSource.HttpConfigProperty | cdk.IResolvable | undefined); /** * An ARN of a Lambda function in valid ARN format. */ get lambdaConfig(): cdk.IResolvable | CfnDataSource.LambdaConfigProperty | undefined; /** * An ARN of a Lambda function in valid ARN format. */ set lambdaConfig(value: cdk.IResolvable | CfnDataSource.LambdaConfigProperty | undefined); /** * Enables or disables enhanced data source metrics for specified data sources. */ get metricsConfig(): string | undefined; /** * Enables or disables enhanced data source metrics for specified data sources. */ set metricsConfig(value: string | undefined); /** * Friendly name for you to identify your AppSync data source after creation. */ get name(): string; /** * Friendly name for you to identify your AppSync data source after creation. */ set name(value: string); /** * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. */ get openSearchServiceConfig(): cdk.IResolvable | CfnDataSource.OpenSearchServiceConfigProperty | undefined; /** * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. */ set openSearchServiceConfig(value: cdk.IResolvable | CfnDataSource.OpenSearchServiceConfigProperty | undefined); /** * Relational Database configuration of the relational database data source. */ get relationalDatabaseConfig(): cdk.IResolvable | CfnDataSource.RelationalDatabaseConfigProperty | undefined; /** * Relational Database configuration of the relational database data source. */ set relationalDatabaseConfig(value: cdk.IResolvable | CfnDataSource.RelationalDatabaseConfigProperty | undefined); /** * The AWS Identity and Access Management service role ARN for the data source. */ get serviceRoleArn(): string | undefined; /** * The AWS Identity and Access Management service role ARN for the data source. */ set serviceRoleArn(value: string | undefined); /** * The type of the data source. */ get type(): string; /** * The type of the data source. */ set type(value: string); /** * The Amazon Resource Name (ARN) of the API key, such as `arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename` . * * @cloudformationAttribute DataSourceArn */ get attrDataSourceArn(): string; /** * Friendly name for you to identify your AWS AppSync data source after creation. * * @cloudformationAttribute Name */ get attrName(): 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 CfnDataSource { /** * The `OpenSearchServiceConfig` property type specifies the `AwsRegion` and `Endpoints` for an Amazon OpenSearch Service domain in your account for an AWS AppSync data source. * * `OpenSearchServiceConfig` is a property of the [AWS::AppSync::DataSource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html) property type. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-opensearchserviceconfig.html */ interface OpenSearchServiceConfigProperty { /** * The AWS Region. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-opensearchserviceconfig.html#cfn-appsync-datasource-opensearchserviceconfig-awsregion */ readonly awsRegion: string; /** * The endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-opensearchserviceconfig.html#cfn-appsync-datasource-opensearchserviceconfig-endpoint */ readonly endpoint: string; } /** * The data source. * * This can be an API destination, resource, or AWS service. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-eventbridgeconfig.html */ interface EventBridgeConfigProperty { /** * The event bus pipeline's ARN. * * For more information about event buses, see [EventBridge event buses](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-eventbridgeconfig.html#cfn-appsync-datasource-eventbridgeconfig-eventbusarn */ readonly eventBusArn: string; } /** * Use the `HttpConfig` property type to specify `HttpConfig` for an AWS AppSync data source. * * `HttpConfig` is a property of the [AWS::AppSync::DataSource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html) resource. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html */ interface HttpConfigProperty { /** * The authorization configuration. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html#cfn-appsync-datasource-httpconfig-authorizationconfig */ readonly authorizationConfig?: CfnDataSource.AuthorizationConfigProperty | cdk.IResolvable; /** * The endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html#cfn-appsync-datasource-httpconfig-endpoint */ readonly endpoint: string; } /** * The `AuthorizationConfig` property type specifies the authorization type and configuration for an AWS AppSync http data source. * * `AuthorizationConfig` is a property of the [AWS AppSync DataSource HttpConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html) property type. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html */ interface AuthorizationConfigProperty { /** * The authorization type that the HTTP endpoint requires. * * - *AWS_IAM* : The authorization type is Signature Version 4 (SigV4). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html#cfn-appsync-datasource-authorizationconfig-authorizationtype */ readonly authorizationType: string; /** * The AWS Identity and Access Management settings. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html#cfn-appsync-datasource-authorizationconfig-awsiamconfig */ readonly awsIamConfig?: CfnDataSource.AwsIamConfigProperty | cdk.IResolvable; } /** * Use the `AwsIamConfig` property type to specify `AwsIamConfig` for a AWS AppSync authorizaton. * * `AwsIamConfig` is a property of the [AWS AppSync DataSource AuthorizationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig-authorizationconfig.html) resource. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html */ interface AwsIamConfigProperty { /** * The signing Region for AWS Identity and Access Management authorization. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html#cfn-appsync-datasource-awsiamconfig-signingregion */ readonly signingRegion?: string; /** * The signing service name for AWS Identity and Access Management authorization. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html#cfn-appsync-datasource-awsiamconfig-signingservicename */ readonly signingServiceName?: string; } /** * Use the `RelationalDatabaseConfig` property type to specify `RelationalDatabaseConfig` for an AWS AppSync data source. * * `RelationalDatabaseConfig` is a property of the [AWS::AppSync::DataSource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html) property type. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html */ interface RelationalDatabaseConfigProperty { /** * Information about the Amazon RDS resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html#cfn-appsync-datasource-relationaldatabaseconfig-rdshttpendpointconfig */ readonly rdsHttpEndpointConfig?: cdk.IResolvable | CfnDataSource.RdsHttpEndpointConfigProperty; /** * The type of relational data source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html#cfn-appsync-datasource-relationaldatabaseconfig-relationaldatabasesourcetype */ readonly relationalDatabaseSourceType: string; } /** * Use the `RdsHttpEndpointConfig` property type to specify the `RdsHttpEndpoint` for an AWS AppSync relational database. * * `RdsHttpEndpointConfig` is a property of the [AWS AppSync DataSource RelationalDatabaseConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html) resource. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html */ interface RdsHttpEndpointConfigProperty { /** * AWS Region for RDS HTTP endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-awsregion */ readonly awsRegion: string; /** * The ARN for database credentials stored in AWS Secrets Manager . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-awssecretstorearn */ readonly awsSecretStoreArn: string; /** * Logical database name. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-databasename */ readonly databaseName?: string; /** * Amazon RDS cluster Amazon Resource Name (ARN). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-dbclusteridentifier */ readonly dbClusterIdentifier: string; /** * Logical schema name. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-schema */ readonly schema?: string; } /** * The `LambdaConfig` property type specifies the Lambda function ARN for an AWS AppSync data source. * * `LambdaConfig` is a property of the [AWS::AppSync::DataSource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html) property type. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html */ interface LambdaConfigProperty { /** * The ARN for the Lambda function. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html#cfn-appsync-datasource-lambdaconfig-lambdafunctionarn */ readonly lambdaFunctionArn: string; } /** * The `DynamoDBConfig` property type specifies the `AwsRegion` and `TableName` for an Amazon DynamoDB table in your account for an AWS AppSync data source. * * `DynamoDBConfig` is a property of the [AWS::AppSync::DataSource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html) property type. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html */ interface DynamoDBConfigProperty { /** * The AWS Region. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-awsregion */ readonly awsRegion: string; /** * The `DeltaSyncConfig` for a versioned datasource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-deltasyncconfig */ readonly deltaSyncConfig?: CfnDataSource.DeltaSyncConfigProperty | cdk.IResolvable; /** * The table name. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-tablename */ readonly tableName: string; /** * Set to `TRUE` to use AWS Identity and Access Management with this data source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-usecallercredentials */ readonly useCallerCredentials?: boolean | cdk.IResolvable; /** * Set to TRUE to use Conflict Detection and Resolution with this data source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-versioned */ readonly versioned?: boolean | cdk.IResolvable; } /** * Describes a Delta Sync configuration. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html */ interface DeltaSyncConfigProperty { /** * The number of minutes that an Item is stored in the data source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html#cfn-appsync-datasource-deltasyncconfig-basetablettl */ readonly baseTableTtl: string; /** * The Delta Sync table name. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html#cfn-appsync-datasource-deltasyncconfig-deltasynctablename */ readonly deltaSyncTableName: string; /** * The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html#cfn-appsync-datasource-deltasyncconfig-deltasynctablettl */ readonly deltaSyncTableTtl: string; } /** * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html */ interface ElasticsearchConfigProperty { /** * The AWS Region. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html#cfn-appsync-datasource-elasticsearchconfig-awsregion */ readonly awsRegion: string; /** * The endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html#cfn-appsync-datasource-elasticsearchconfig-endpoint */ readonly endpoint: string; } } /** * Properties for defining a `CfnDataSource` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html */ export interface CfnDataSourceProps { /** * Unique AWS AppSync GraphQL API identifier where this data source will be created. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-apiid */ readonly apiId: string; /** * The description of the data source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-description */ readonly description?: string; /** * AWS Region and TableName for an Amazon DynamoDB table in your account. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-dynamodbconfig */ readonly dynamoDbConfig?: CfnDataSource.DynamoDBConfigProperty | cdk.IResolvable; /** * @deprecated this property has been deprecated * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-elasticsearchconfig */ readonly elasticsearchConfig?: CfnDataSource.ElasticsearchConfigProperty | cdk.IResolvable; /** * An EventBridge configuration that contains a valid ARN of an event bus. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-eventbridgeconfig */ readonly eventBridgeConfig?: CfnDataSource.EventBridgeConfigProperty | cdk.IResolvable; /** * Endpoints for an HTTP data source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-httpconfig */ readonly httpConfig?: CfnDataSource.HttpConfigProperty | cdk.IResolvable; /** * An ARN of a Lambda function in valid ARN format. * * This can be the ARN of a Lambda function that exists in the current account or in another account. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-lambdaconfig */ readonly lambdaConfig?: cdk.IResolvable | CfnDataSource.LambdaConfigProperty; /** * Enables or disables enhanced data source metrics for specified data sources. * * Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value. * * `MetricsConfig` can be `ENABLED` or `DISABLED` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-metricsconfig */ readonly metricsConfig?: string; /** * Friendly name for you to identify your AppSync data source after creation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name */ readonly name: string; /** * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-opensearchserviceconfig */ readonly openSearchServiceConfig?: cdk.IResolvable | CfnDataSource.OpenSearchServiceConfigProperty; /** * Relational Database configuration of the relational database data source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-relationaldatabaseconfig */ readonly relationalDatabaseConfig?: cdk.IResolvable | CfnDataSource.RelationalDatabaseConfigProperty; /** * The AWS Identity and Access Management service role ARN for the data source. * * The system assumes this role when accessing the data source. * * Required if `Type` is specified as `AWS_LAMBDA` , `AMAZON_DYNAMODB` , `AMAZON_ELASTICSEARCH` , `AMAZON_EVENTBRIDGE` , `AMAZON_OPENSEARCH_SERVICE` , `RELATIONAL_DATABASE` , or `AMAZON_BEDROCK_RUNTIME` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn */ readonly serviceRoleArn?: iamRefs.IRoleRef | string; /** * The type of the data source. * * - *AWS_LAMBDA* : The data source is an AWS Lambda function. * - *AMAZON_DYNAMODB* : The data source is an Amazon DynamoDB table. * - *AMAZON_ELASTICSEARCH* : The data source is an Amazon OpenSearch Service domain. * - *AMAZON_EVENTBRIDGE* : The data source is an Amazon EventBridge event bus. * - *AMAZON_OPENSEARCH_SERVICE* : The data source is an Amazon OpenSearch Service domain. * - *AMAZON_BEDROCK_RUNTIME* : The data source is the Amazon Bedrock runtime. * - *NONE* : There is no data source. This type is used when you wish to invoke a GraphQL operation without connecting to a data source, such as performing data transformation with resolvers or triggering a subscription to be invoked from a mutation. * - *HTTP* : The data source is an HTTP endpoint. * - *RELATIONAL_DATABASE* : The data source is a relational database. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-type */ readonly type: string; } /** * The `AWS::AppSync::DomainName` resource creates a `DomainNameConfig` object to configure a custom domain. * * @cloudformationResource AWS::AppSync::DomainName * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html */ export declare class CfnDomainName extends cdk.CfnResource implements cdk.IInspectable, IDomainNameRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDomainName 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): CfnDomainName; /** * Checks whether the given object is a CfnDomainName */ static isCfnDomainName(x: any): x is CfnDomainName; /** * Creates a new IDomainNameRef from an ARN */ static fromDomainNameArn(scope: constructs.Construct, id: string, arn: string): IDomainNameRef; /** * Creates a new IDomainNameRef from a domainName */ static fromDomainName(scope: constructs.Construct, id: string, domainName: string): IDomainNameRef; static arnForDomainName(resource: IDomainNameRef): string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The Amazon Resource Name (ARN) of the certificate. */ private _certificateArn; /** * The decription for your domain name. */ private _description?; /** * The domain name. */ private _domainName; /** * A set of tags (key-value pairs) for this domain name. */ private _tags?; /** * Create a new `AWS::AppSync::DomainName`. * * @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: CfnDomainNameProps); get domainNameRef(): DomainNameReference; /** * The Amazon Resource Name (ARN) of the certificate. */ get certificateArn(): string; /** * The Amazon Resource Name (ARN) of the certificate. */ set certificateArn(value: string); /** * The decription for your domain name. */ get description(): string | undefined; /** * The decription for your domain name. */ set description(value: string | undefined); /** * The domain name. */ get domainName(): string; /** * The domain name. */ set domainName(value: string); /** * A set of tags (key-value pairs) for this domain name. */ get tags(): Array<cdk.CfnTag> | undefined; /** * A set of tags (key-value pairs) for this domain name. */ set tags(value: Array<cdk.CfnTag> | undefined); /** * The domain name provided by AWS AppSync . * * @cloudformationAttribute AppSyncDomainName */ get attrAppSyncDomainName(): string; /** * The domain name. * * @cloudformationAttribute DomainName */ get attrDomainName(): string; /** * The Amazon resource name (ARN) of the domain name. * * @cloudformationAttribute DomainNameArn */ get attrDomainNameArn(): string; /** * The ID of your Amazon Route 53 hosted zone. * * @cloudformationAttribute HostedZoneId */ get attrHostedZoneId(): 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 `CfnDomainName` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html */ export interface CfnDomainNameProps { /** * The Amazon Resource Name (ARN) of the certificate. * * This will be an Certificate Manager certificate. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html#cfn-appsync-domainname-certificatearn */ readonly certificateArn: string; /** * The decription for your domain name. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html#cfn-appsync-domainname-description */ readonly description?: string; /** * The domain name. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html#cfn-appsync-domainname-domainname */ readonly domainName: string; /** * A set of tags (key-value pairs) for this domain name. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html#cfn-appsync-domainname-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The `AWS::AppSync::DomainNameApiAssociation` resource represents the mapping of your custom domain name to the assigned API URL. * * @cloudformationResource AWS::AppSync::DomainNameApiAssociation * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html */ export declare class CfnDomainNameApiAssociation extends cdk.CfnResource implements cdk.IInspectable, IDomainNameApiAssociationRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDomainNameApiAssociation 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): CfnDomainNameApiAssociation; /** * Checks whether the given object is a CfnDomainNameApiAssociation */ static isCfnDomainNameApiAssociation(x: any): x is CfnDomainNameApiAssociation; /** * The API ID. */ private _apiId; /** * The domain name. */ private _domainName; /** * Create a new `AWS::AppSync::DomainNameApiAssociation`. * * @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: CfnDomainNameApiAssociationProps); get domainNameApiAssociationRef(): DomainNameApiAssociationReference; /** * The API ID. */ get apiId(): string; /** * The API ID. */ set apiId(value: string); /** * The domain name. */ get domainName(): string; /** * The domain name. */ set domainName(value: string); /** * @cloudformationAttribute ApiAssociationIdentifier */ get attrApiAssociationIdentifier(): 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, a