aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,128 lines • 139 kB
TypeScript
import * as cdk from "../../core";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
/**
* 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 {
/**
* 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;
/**
* @cloudformationAttribute Id
*/
readonly attrId: string;
/**
* Caching behavior.
*/
apiCachingBehavior: string;
/**
* The GraphQL API ID.
*/
apiId: string;
/**
* At-rest encryption flag for cache.
*/
atRestEncryptionEnabled?: boolean | cdk.IResolvable;
/**
* Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:.
*/
healthMetricsConfig?: string;
/**
* Transit encryption flag when connecting to cache.
*/
transitEncryptionEnabled?: boolean | cdk.IResolvable;
/**
* TTL in seconds for cache entries.
*/
ttl: number;
/**
* The cache instance type. Valid values are.
*/
type: 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: CfnApiCacheProps);
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;
/**
* 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;
/**
* 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 {
/**
* 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;
/**
* The API key.
*
* @cloudformationAttribute ApiKey
*/
readonly attrApiKey: string;
/**
* The API key ID.
*
* @cloudformationAttribute ApiKeyId
*/
readonly 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
*/
readonly attrArn: string;
/**
* Unique AWS AppSync GraphQL API ID for this API key.
*/
apiId: string;
/**
* Unique description of your API key.
*/
description?: string;
/**
* The time after which the API key expires.
*/
expires?: number;
/**
* @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);
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 {
/**
* 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;
/**
* The Amazon Resource Name (ARN) of the API key, such as `arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename` .
*
* @cloudformationAttribute DataSourceArn
*/
readonly attrDataSourceArn: string;
/**
* Friendly name for you to identify your AWS AppSync data source after creation.
*
* @cloudformationAttribute Name
*/
readonly attrName: string;
/**
* Unique AWS AppSync GraphQL API identifier where this data source will be created.
*/
apiId: string;
/**
* The description of the data source.
*/
description?: string;
/**
* AWS Region and TableName for an Amazon DynamoDB table in your account.
*/
dynamoDbConfig?: CfnDataSource.DynamoDBConfigProperty | cdk.IResolvable;
/**
* @deprecated this property has been deprecated
*/
elasticsearchConfig?: CfnDataSource.ElasticsearchConfigProperty | cdk.IResolvable;
/**
* An EventBridge configuration that contains a valid ARN of an event bus.
*/
eventBridgeConfig?: CfnDataSource.EventBridgeConfigProperty | cdk.IResolvable;
/**
* Endpoints for an HTTP data source.
*/
httpConfig?: CfnDataSource.HttpConfigProperty | cdk.IResolvable;
/**
* An ARN of a Lambda function in valid ARN format.
*/
lambdaConfig?: cdk.IResolvable | CfnDataSource.LambdaConfigProperty;
/**
* Enables or disables enhanced data source metrics for specified data sources.
*/
metricsConfig?: string;
/**
* Friendly name for you to identify your AppSync data source after creation.
*/
name: string;
/**
* AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.
*/
openSearchServiceConfig?: cdk.IResolvable | CfnDataSource.OpenSearchServiceConfigProperty;
/**
* Relational Database configuration of the relational database data source.
*/
relationalDatabaseConfig?: cdk.IResolvable | CfnDataSource.RelationalDatabaseConfigProperty;
/**
* The AWS Identity and Access Management service role ARN for the data source.
*/
serviceRoleArn?: string;
/**
* The type of the data source.
*/
type: 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: CfnDataSourceProps);
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?: 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 {
/**
* 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;
/**
* The domain name provided by AWS AppSync .
*
* @cloudformationAttribute AppSyncDomainName
*/
readonly attrAppSyncDomainName: string;
/**
* The domain name.
*
* @cloudformationAttribute DomainName
*/
readonly attrDomainName: string;
/**
* The ID of your Amazon Route 53 hosted zone.
*
* @cloudformationAttribute HostedZoneId
*/
readonly attrHostedZoneId: string;
/**
* The Amazon Resource Name (ARN) of the certificate.
*/
certificateArn: string;
/**
* The decription for your domain name.
*/
description?: string;
/**
* The domain name.
*/
domainName: 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: CfnDomainNameProps);
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 AWS 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;
}
/**
* 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 {
/**
* 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;
/**
* @cloudformationAttribute ApiAssociationIdentifier
*/
readonly attrApiAssociationIdentifier: string;
/**
* The API ID.
*/
apiId: string;
/**
* The domain name.
*/
domainName: 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: CfnDomainNameApiAssociationProps);
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 `CfnDomainNameApiAssociation`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html
*/
export interface CfnDomainNameApiAssociationProps {
/**
* The API ID.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html#cfn-appsync-domainnameapiassociation-apiid
*/
readonly apiId: string;
/**
* The domain name.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html#cfn-appsync-domainnameapiassociation-domainname
*/
readonly domainName: string;
}
/**
* The `AWS::AppSync::FunctionConfiguration` resource defines the functions in GraphQL APIs to perform certain operations.
*
* You can use pipeline resolvers to attach functions. For more information, see [Pipeline Resolvers](https://docs.aws.amazon.com/appsync/latest/devguide/pipeline-resolvers.html) in the *AWS AppSync Developer Guide* .
*
* > When you submit an update, AWS CloudFormation updates resources based on differences between what you submit and the stack's current template. To cause this resource to be updated you must change a property value for this resource in the AWS CloudFormation template. Changing the Amazon S3 file content without changing a property value will not result in an update operation.
* >
* > See [Update Behaviors of Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) in the *AWS CloudFormation User Guide* .
*
* @cloudformationResource AWS::AppSync::FunctionConfiguration
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html
*/
export declare class CfnFunctionConfiguration extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnFunctionConfiguration 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): CfnFunctionConfiguration;
/**
* The name of data source this function will attach.
*
* @cloudformationAttribute DataSourceName
*/
readonly attrDataSourceName: string;
/**
* ARN of the function, such as `arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/functions/functionId` .
*
* @cloudformationAttribute FunctionArn
*/
readonly attrFunctionArn: string;
/**
* The unique ID of this function.
*
* @cloudformationAttribute FunctionId
*/
readonly attrFunctionId: string;
/**
* The name of the function.
*
* @cloudformationAttribute Name
*/
readonly attrName: string;
/**
* The AWS AppSync GraphQL API that you want to attach using this function.
*/
apiId: string;
/**
* The `resolver` code that contains the request and response functions.
*/
code?: string;
/**
* The Amazon S3 endpoint.
*/
codeS3Location?: string;
/**
* The name of data source this function will attach.
*/
dataSourceName: string;
/**
* The `Function` description.
*/
description?: string;
/**
* The version of the request mapping template.
*/
functionVersion?: string;
/**
* The maximum number of resolver request inputs that will be sent to a single AWS Lambda function in a `BatchInvoke` operation.
*/
maxBatchSize?: number;
/**
* The name of the function.
*/
name: string;
/**
* The `Function` request mapping template.
*/
requestMappingTemplate?: string;
/**
* Describes a Sync configuration for a resolver.
*/
requestMappingTemplateS3Location?: string;
/**
* The `Function` response mapping template.
*/
responseMappingTemplate?: string;
/**
* The location of a response mapping template in an Amazon S3 bucket.
*/
responseMappingTemplateS3Location?: string;
/**
* Describes a runtime used by an AWS AppSync resolver or AWS AppSync function.
*/
runtime?: CfnFunctionConfiguration.AppSyncRuntimeProperty | cdk.IResolvable;
/**
* Describes a Sync configuration for a resolver.
*/
syncConfig?: cdk.IResolvable | CfnFunctionConfiguration.SyncConfigProperty;
/**
* @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: CfnFunctionConfigurationProps);
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 CfnFunctionConfiguration {
/**
* Describes a Sync configuration for a resolver.
*
* Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html
*/
interface SyncConfigProperty {
/**
* The Conflict Detection strategy to use.
*
* - *VERSION* : Detect conflicts based on object versions for this resolver.
* - *NONE* : Do not detect conflicts when invoking this resolver.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html#cfn-appsync-functionconfiguration-syncconfig-conflictdetection
*/
readonly conflictDetection: string;
/**
* The Conflict Resolution strategy to perform in the event of a conflict.
*
* - *OPTIMISTIC_CONCURRENCY* : Resolve conflicts by rejecting mutations when versions don't match the latest version at the server.
* - *AUTOMERGE* : Resolve conflicts with the Automerge conflict resolution strategy.
* - *LAMBDA* : Resolve conflicts with an AWS Lambda function supplied in the `LambdaConflictHandlerConfig` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html#cfn-appsync-functionconfiguration-syncconfig-conflicthandler
*/
readonly conflictHandler?: string;
/**
* The `LambdaConflictHandlerConfig` when configuring `LAMBDA` as the Conflict Handler.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html#cfn-appsync-functionconfiguration-syncconfig-lambdaconflicthandlerconfig
*/
readonly lambdaConflictHandlerConfig?: cdk.IResolvable | CfnFunctionConfiguration.LambdaConflictHandlerConfigProperty;
}
/**
* The `LambdaConflictHandlerConfig` object when configuring `LAMBDA` as the Conflict Handler.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-lambdaconflicthandlerconfig.html
*/
interface LambdaConflictHandlerConfigProperty {
/**
* The Amazon Resource Name (ARN) for the Lambda function to use as the Conflict Handler.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-lambdaconflicthandlerconfig.html#cfn-appsync-functionconfiguration-lambdaconflicthandlerconfig-lambdaconflicthandlerarn
*/
readonly lambdaConflictHandlerArn?: string;
}
/**
* Describes a runtime used by an AWS AppSync resolver or AWS AppSync function.
*
* Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-appsyncruntime.html
*/
interface AppSyncRuntimeProperty {
/**
* The `name` of the runtime to use.
*
* Currently, the only allowed value is `APPSYNC_JS` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-appsyncruntime.html#cfn-appsync-functionconfiguration-appsyncruntime-name
*/
readonly name: string;
/**
* The `version` of the runtime to use.
*
* Currently, the only allowed version is `1.0.0` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-appsyncruntime.html#cfn-appsync-functionconfiguration-appsyncruntime-runtimeversion
*/
readonly runtimeVersion: string;
}
}
/**
* Properties for defining a `CfnFunctionConfiguration`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html
*/
export interface CfnFunctionConfigurationProps {
/**
* The AWS AppSync GraphQL API that you want to attach using this function.
*
* @see http: