UNPKG

@aws-amplify/graphql-transformer-interfaces

Version:
96 lines 4.29 kB
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