@aws-amplify/graphql-transformer-interfaces
Version:
Amplify GraphQL transformer interface definitions
96 lines • 4.29 kB
TypeScript
export type ModelDataSourceStrategy = DefaultDynamoDbModelDataSourceStrategy | AmplifyDynamoDbModelDataSourceStrategy | ImportedAmplifyDynamoDbModelDataSourceStrategy | SQLLambdaModelDataSourceStrategy;
export interface ModelDataSourceStrategyBase {
dbType: ModelDataSourceStrategyDbType;
}
export type ModelDataSourceStrategyDbType = 'DYNAMODB' | ModelDataSourceStrategySqlDbType;
export type ModelDataSourceStrategySqlDbType = 'MYSQL' | 'POSTGRES';
export interface DefaultDynamoDbModelDataSourceStrategy extends ModelDataSourceStrategyBase {
readonly dbType: 'DYNAMODB';
readonly provisionStrategy: 'DEFAULT';
}
export interface AmplifyDynamoDbModelDataSourceStrategy extends ModelDataSourceStrategyBase {
readonly dbType: 'DYNAMODB';
readonly provisionStrategy: 'AMPLIFY_TABLE';
}
export interface ImportedAmplifyDynamoDbModelDataSourceStrategy {
readonly dbType: 'DYNAMODB';
readonly provisionStrategy: 'IMPORTED_AMPLIFY_TABLE';
readonly tableName: string;
}
export interface SQLLambdaModelDataSourceStrategy extends ModelDataSourceStrategyBase {
readonly name: string;
readonly dbType: ModelDataSourceStrategySqlDbType;
readonly dbConnectionConfig: SqlModelDataSourceDbConnectionConfig;
readonly vpcConfiguration?: VpcConfig;
readonly sqlLambdaProvisionedConcurrencyConfig?: ProvisionedConcurrencyConfig;
}
export interface VpcConfig {
readonly vpcId: string;
readonly securityGroupIds: string[];
readonly subnetAvailabilityZoneConfig: SubnetAvailabilityZone[];
}
export interface ProvisionedConcurrencyConfig {
readonly provisionedConcurrentExecutions: number;
}
export interface SubnetAvailabilityZone {
readonly subnetId: string;
readonly availabilityZone: string;
}
export type SqlModelDataSourceDbConnectionConfig = SqlModelDataSourceSecretsManagerDbConnectionConfig | SqlModelDataSourceSsmDbConnectionConfig | SqlModelDataSourceSsmDbConnectionStringConfig;
export interface SslCertConfig {
}
export interface SslCertSsmPathConfig extends SslCertConfig {
readonly ssmPath: string | string[];
}
export interface SqlModelDataSourceSsmDbConnectionStringConfig {
readonly connectionUriSsmPath: string | string[];
readonly sslCertConfig?: SslCertConfig;
}
export interface SqlModelDataSourceSecretsManagerDbConnectionConfig {
readonly secretArn: string;
readonly keyArn?: string;
readonly port: number;
readonly databaseName: string;
readonly hostname: string;
readonly sslCertConfig?: SslCertConfig;
}
export interface SqlModelDataSourceSsmDbConnectionConfig {
readonly hostnameSsmPath: string;
readonly portSsmPath: string;
readonly usernameSsmPath: string;
readonly passwordSsmPath: string;
readonly databaseNameSsmPath: string;
readonly sslCertConfig?: SslCertConfig;
}
export interface SqlDirectiveDataSourceStrategy {
readonly typeName: 'Query' | 'Mutation';
readonly fieldName: string;
readonly strategy: SQLLambdaModelDataSourceStrategy;
readonly customSqlStatements?: Record<string, string>;
}
export interface DataSourceStrategiesProvider {
dataSourceStrategies: Record<string, ModelDataSourceStrategy>;
sqlDirectiveDataSourceStrategies?: SqlDirectiveDataSourceStrategy[];
}
export interface RDSLayerMapping {
readonly [key: string]: {
layerRegion: string;
};
}
export interface RDSSNSTopicMapping {
readonly [key: string]: {
topicArn: string;
};
}
export interface RDSLayerMappingProvider {
rdsLayerMapping?: RDSLayerMapping;
}
export interface RDSSNSTopicMappingProvider {
rdsSnsTopicMapping?: RDSSNSTopicMapping;
}
export declare const isSqlModelDataSourceDbConnectionConfig: (obj: any) => obj is SqlModelDataSourceDbConnectionConfig;
export declare const isSqlModelDataSourceSsmDbConnectionConfig: (obj: any) => obj is SqlModelDataSourceSsmDbConnectionConfig;
export declare const isSqlModelDataSourceSecretsManagerDbConnectionConfig: (obj: any) => obj is SqlModelDataSourceSecretsManagerDbConnectionConfig;
export declare const isSqlModelDataSourceSsmDbConnectionStringConfig: (obj: any) => obj is SqlModelDataSourceSsmDbConnectionStringConfig;
export declare const isSslCertSsmPathConfig: (obj: any) => obj is SslCertSsmPathConfig;
//# sourceMappingURL=types.d.ts.map