Source code for troposphere.appsync

# Copyright (c) 2012-2022, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, double, integer
from .validators.appsync import resolver_kind_validator


[docs]class ApiCache(AWSObject): """ `ApiCache <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html>`__ """ resource_type = "AWS::AppSync::ApiCache" props: PropsDictType = { "ApiCachingBehavior": (str, True), "ApiId": (str, True), "AtRestEncryptionEnabled": (boolean, False), "HealthMetricsConfig": (str, False), "TransitEncryptionEnabled": (boolean, False), "Ttl": (double, True), "Type": (str, True), }
[docs]class ApiKey(AWSObject): """ `ApiKey <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html>`__ """ resource_type = "AWS::AppSync::ApiKey" props: PropsDictType = { "ApiId": (str, True), "ApiKeyId": (str, False), "Description": (str, False), "Expires": (double, False), }
[docs]class DeltaSyncConfig(AWSProperty): """ `DeltaSyncConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html>`__ """ props: PropsDictType = { "BaseTableTTL": (str, True), "DeltaSyncTableName": (str, True), "DeltaSyncTableTTL": (str, True), }
[docs]class DynamoDBConfig(AWSProperty): """ `DynamoDBConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html>`__ """ props: PropsDictType = { "AwsRegion": (str, True), "DeltaSyncConfig": (DeltaSyncConfig, False), "TableName": (str, True), "UseCallerCredentials": (boolean, False), "Versioned": (boolean, False), }
[docs]class ElasticsearchConfig(AWSProperty): """ `ElasticsearchConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html>`__ """ props: PropsDictType = { "AwsRegion": (str, True), "Endpoint": (str, True), }
[docs]class EventBridgeConfig(AWSProperty): """ `EventBridgeConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-eventbridgeconfig.html>`__ """ props: PropsDictType = { "EventBusArn": (str, True), }
[docs]class AwsIamConfig(AWSProperty): """ `AwsIamConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html>`__ """ props: PropsDictType = { "SigningRegion": (str, False), "SigningServiceName": (str, False), }
[docs]class AuthorizationConfig(AWSProperty): """ `AuthorizationConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html>`__ """ props: PropsDictType = { "AuthorizationType": (str, True), "AwsIamConfig": (AwsIamConfig, False), }
[docs]class HttpConfig(AWSProperty): """ `HttpConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html>`__ """ props: PropsDictType = { "AuthorizationConfig": (AuthorizationConfig, False), "Endpoint": (str, True), }
[docs]class LambdaConfig(AWSProperty): """ `LambdaConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html>`__ """ props: PropsDictType = { "LambdaFunctionArn": (str, True), }
[docs]class OpenSearchServiceConfig(AWSProperty): """ `OpenSearchServiceConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-opensearchserviceconfig.html>`__ """ props: PropsDictType = { "AwsRegion": (str, True), "Endpoint": (str, True), }
[docs]class RdsHttpEndpointConfig(AWSProperty): """ `RdsHttpEndpointConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html>`__ """ props: PropsDictType = { "AwsRegion": (str, True), "AwsSecretStoreArn": (str, True), "DatabaseName": (str, False), "DbClusterIdentifier": (str, True), "Schema": (str, False), }
[docs]class RelationalDatabaseConfig(AWSProperty): """ `RelationalDatabaseConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html>`__ """ props: PropsDictType = { "RdsHttpEndpointConfig": (RdsHttpEndpointConfig, False), "RelationalDatabaseSourceType": (str, True), }
[docs]class DataSource(AWSObject): """ `DataSource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html>`__ """ resource_type = "AWS::AppSync::DataSource" props: PropsDictType = { "ApiId": (str, True), "Description": (str, False), "DynamoDBConfig": (DynamoDBConfig, False), "ElasticsearchConfig": (ElasticsearchConfig, False), "EventBridgeConfig": (EventBridgeConfig, False), "HttpConfig": (HttpConfig, False), "LambdaConfig": (LambdaConfig, False), "MetricsConfig": (str, False), "Name": (str, True), "OpenSearchServiceConfig": (OpenSearchServiceConfig, False), "RelationalDatabaseConfig": (RelationalDatabaseConfig, False), "ServiceRoleArn": (str, False), "Type": (str, True), }
[docs]class DomainName(AWSObject): """ `DomainName <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html>`__ """ resource_type = "AWS::AppSync::DomainName" props: PropsDictType = { "CertificateArn": (str, True), "Description": (str, False), "DomainName": (str, True), }
[docs]class DomainNameApiAssociation(AWSObject): """ `DomainNameApiAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html>`__ """ resource_type = "AWS::AppSync::DomainNameApiAssociation" props: PropsDictType = { "ApiId": (str, True), "DomainName": (str, True), }
[docs]class AppSyncRuntime(AWSProperty): """ `AppSyncRuntime <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-appsyncruntime.html>`__ """ props: PropsDictType = { "Name": (str, True), "RuntimeVersion": (str, True), }
[docs]class LambdaConflictHandlerConfig(AWSProperty): """ `LambdaConflictHandlerConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-lambdaconflicthandlerconfig.html>`__ """ props: PropsDictType = { "LambdaConflictHandlerArn": (str, False), }
[docs]class SyncConfig(AWSProperty): """ `SyncConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html>`__ """ props: PropsDictType = { "ConflictDetection": (str, True), "ConflictHandler": (str, False), "LambdaConflictHandlerConfig": (LambdaConflictHandlerConfig, False), }
[docs]class FunctionConfiguration(AWSObject): """ `FunctionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html>`__ """ resource_type = "AWS::AppSync::FunctionConfiguration" props: PropsDictType = { "ApiId": (str, True), "Code": (str, False), "CodeS3Location": (str, False), "DataSourceName": (str, True), "Description": (str, False), "FunctionVersion": (str, False), "MaxBatchSize": (integer, False), "Name": (str, True), "RequestMappingTemplate": (str, False), "RequestMappingTemplateS3Location": (str, False), "ResponseMappingTemplate": (str, False), "ResponseMappingTemplateS3Location": (str, False), "Runtime": (AppSyncRuntime, False), "SyncConfig": (SyncConfig, False), }
[docs]class CognitoUserPoolConfig(AWSProperty): """ `CognitoUserPoolConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-cognitouserpoolconfig.html>`__ """ props: PropsDictType = { "AppIdClientRegex": (str, False), "AwsRegion": (str, False), "UserPoolId": (str, False), }
[docs]class LambdaAuthorizerConfig(AWSProperty): """ `LambdaAuthorizerConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html>`__ """ props: PropsDictType = { "AuthorizerResultTtlInSeconds": (double, False), "AuthorizerUri": (str, False), "IdentityValidationExpression": (str, False), }
[docs]class OpenIDConnectConfig(AWSProperty): """ `OpenIDConnectConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html>`__ """ props: PropsDictType = { "AuthTTL": (double, False), "ClientId": (str, False), "IatTTL": (double, False), "Issuer": (str, False), }
[docs]class AdditionalAuthenticationProvider(AWSProperty): """ `AdditionalAuthenticationProvider <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html>`__ """ props: PropsDictType = { "AuthenticationType": (str, True), "LambdaAuthorizerConfig": (LambdaAuthorizerConfig, False), "OpenIDConnectConfig": (OpenIDConnectConfig, False), "UserPoolConfig": (CognitoUserPoolConfig, False), }
[docs]class EnhancedMetricsConfig(AWSProperty): """ `EnhancedMetricsConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-enhancedmetricsconfig.html>`__ """ props: PropsDictType = { "DataSourceLevelMetricsBehavior": (str, True), "OperationLevelMetricsConfig": (str, True), "ResolverLevelMetricsBehavior": (str, True), }
[docs]class LogConfig(AWSProperty): """ `LogConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html>`__ """ props: PropsDictType = { "CloudWatchLogsRoleArn": (str, False), "ExcludeVerboseContent": (boolean, False), "FieldLogLevel": (str, False), }
[docs]class UserPoolConfig(AWSProperty): """ `UserPoolConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html>`__ """ props: PropsDictType = { "AppIdClientRegex": (str, False), "AwsRegion": (str, False), "DefaultAction": (str, False), "UserPoolId": (str, False), }
[docs]class GraphQLApi(AWSObject): """ `GraphQLApi <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html>`__ """ resource_type = "AWS::AppSync::GraphQLApi" props: PropsDictType = { "AdditionalAuthenticationProviders": ( [AdditionalAuthenticationProvider], False, ), "ApiType": (str, False), "AuthenticationType": (str, True), "EnhancedMetricsConfig": (EnhancedMetricsConfig, False), "EnvironmentVariables": (dict, False), "IntrospectionConfig": (str, False), "LambdaAuthorizerConfig": (LambdaAuthorizerConfig, False), "LogConfig": (LogConfig, False), "MergedApiExecutionRoleArn": (str, False), "Name": (str, True), "OpenIDConnectConfig": (OpenIDConnectConfig, False), "OwnerContact": (str, False), "QueryDepthLimit": (integer, False), "ResolverCountLimit": (integer, False), "Tags": (Tags, False), "UserPoolConfig": (UserPoolConfig, False), "Visibility": (str, False), "XrayEnabled": (boolean, False), }
[docs]class GraphQLSchema(AWSObject): """ `GraphQLSchema <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html>`__ """ resource_type = "AWS::AppSync::GraphQLSchema" props: PropsDictType = { "ApiId": (str, True), "Definition": (str, False), "DefinitionS3Location": (str, False), }
[docs]class CachingConfig(AWSProperty): """ `CachingConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html>`__ """ props: PropsDictType = { "CachingKeys": ([str], False), "Ttl": (double, True), }
[docs]class PipelineConfig(AWSProperty): """ `PipelineConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-pipelineconfig.html>`__ """ props: PropsDictType = { "Functions": ([str], False), }
[docs]class Resolver(AWSObject): """ `Resolver <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html>`__ """ resource_type = "AWS::AppSync::Resolver" props: PropsDictType = { "ApiId": (str, True), "CachingConfig": (CachingConfig, False), "Code": (str, False), "CodeS3Location": (str, False), "DataSourceName": (str, False), "FieldName": (str, True), "Kind": (resolver_kind_validator, False), "MaxBatchSize": (integer, False), "MetricsConfig": (str, False), "PipelineConfig": (PipelineConfig, False), "RequestMappingTemplate": (str, False), "RequestMappingTemplateS3Location": (str, False), "ResponseMappingTemplate": (str, False), "ResponseMappingTemplateS3Location": (str, False), "Runtime": (AppSyncRuntime, False), "SyncConfig": (SyncConfig, False), "TypeName": (str, True), }
[docs]class SourceApiAssociationConfig(AWSProperty): """ `SourceApiAssociationConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-sourceapiassociation-sourceapiassociationconfig.html>`__ """ props: PropsDictType = { "MergeType": (str, False), }
[docs]class SourceApiAssociation(AWSObject): """ `SourceApiAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-sourceapiassociation.html>`__ """ resource_type = "AWS::AppSync::SourceApiAssociation" props: PropsDictType = { "Description": (str, False), "MergedApiIdentifier": (str, False), "SourceApiAssociationConfig": (SourceApiAssociationConfig, False), "SourceApiIdentifier": (str, False), }