GraphqlApi¶
-
class
aws_cdk.aws_appsync.
GraphqlApi
(scope, id, *, name, authorization_config=None, domain_name=None, log_config=None, schema=None, xray_enabled=None)¶ Bases:
aws_cdk.aws_appsync.GraphqlApiBase
(experimental) An AppSync GraphQL API.
- Stability
experimental
- ExampleMetadata
infused
- Resource
AWS::AppSync::GraphQLApi
Example:
api = appsync.GraphqlApi(self, "Api", name="demo" ) demo = appsync.ObjectType("Demo", definition={ "id": appsync.GraphqlType.string(is_required=True), "version": appsync.GraphqlType.string(is_required=True) } ) api.add_type(demo)
- Parameters
scope (
Construct
) –id (
str
) –name (
str
) – (experimental) the name of the GraphQL API.authorization_config (
Union
[AuthorizationConfig
,Dict
[str
,Any
],None
]) – (experimental) Optional authorization configuration. Default: - API Key authorizationdomain_name (
Union
[DomainOptions
,Dict
[str
,Any
],None
]) – (experimental) The domain name configuration for the GraphQL API. The Route 53 hosted zone and CName DNS record must be configured in addition to this setting to enable custom domain URL Default: - no domain namelog_config (
Union
[LogConfig
,Dict
[str
,Any
],None
]) – (experimental) Logging configuration for this api. Default: - Noneschema (
Optional
[Schema
]) – (experimental) GraphQL schema definition. Specify how you want to define your schema. Schema.fromFile(filePath: string) allows schema definition through schema.graphql file Default: - schema will be generated code-first (i.e. addType, addObjectType, etc.)xray_enabled (
Optional
[bool
]) – (experimental) A flag indicating whether or not X-Ray tracing is enabled for the GraphQL API. Default: - false
- Stability
experimental
Methods
-
add_dynamo_db_data_source
(id, table, *, description=None, name=None)¶ (experimental) add a new DynamoDB data source to this API.
- Parameters
id (
str
) – The data source’s id.table (
ITable
) – The DynamoDB table backing this data source.description (
Optional
[str
]) – (experimental) The description of the data source. Default: - No descriptionname (
Optional
[str
]) – (experimental) The name of the data source, overrides the id given by cdk. Default: - generated by cdk given the id
- Stability
experimental
- Return type
-
add_elasticsearch_data_source
(id, domain, *, description=None, name=None)¶ (deprecated) add a new elasticsearch data source to this API.
- Parameters
id (
str
) – The data source’s id.domain (
IDomain
) – The elasticsearch domain for this data source.description (
Optional
[str
]) – (experimental) The description of the data source. Default: - No descriptionname (
Optional
[str
]) – (experimental) The name of the data source, overrides the id given by cdk. Default: - generated by cdk given the id
- Deprecated
use
addOpenSearchDataSource
- Stability
deprecated
- Return type
-
add_http_data_source
(id, endpoint, *, authorization_config=None, description=None, name=None)¶ (experimental) add a new http data source to this API.
- Parameters
id (
str
) – The data source’s id.endpoint (
str
) – The http endpoint.authorization_config (
Union
[AwsIamConfig
,Dict
[str
,Any
],None
]) – (experimental) The authorization config in case the HTTP endpoint requires authorization. Default: - nonedescription (
Optional
[str
]) – (experimental) The description of the data source. Default: - No descriptionname (
Optional
[str
]) – (experimental) The name of the data source, overrides the id given by cdk. Default: - generated by cdk given the id
- Stability
experimental
- Return type
-
add_lambda_data_source
(id, lambda_function, *, description=None, name=None)¶ (experimental) add a new Lambda data source to this API.
- Parameters
id (
str
) – The data source’s id.lambda_function (
IFunction
) – The Lambda function to call to interact with this data source.description (
Optional
[str
]) – (experimental) The description of the data source. Default: - No descriptionname (
Optional
[str
]) – (experimental) The name of the data source, overrides the id given by cdk. Default: - generated by cdk given the id
- Stability
experimental
- Return type
-
add_mutation
(field_name, field)¶ (experimental) Add a mutation field to the schema’s Mutation. CDK will create an Object Type called ‘Mutation’. For example,.
type Mutation { fieldName: Field.returnType }
- Parameters
field_name (
str
) – the name of the Mutation.field (
ResolvableField
) – the resolvable field to for this Mutation.
- Stability
experimental
- Return type
-
add_none_data_source
(id, *, description=None, name=None)¶ (experimental) add a new dummy data source to this API.
Useful for pipeline resolvers and for backend changes that don’t require a data source.
- Parameters
id (
str
) – The data source’s id.description (
Optional
[str
]) – (experimental) The description of the data source. Default: - No descriptionname (
Optional
[str
]) – (experimental) The name of the data source, overrides the id given by cdk. Default: - generated by cdk given the id
- Stability
experimental
- Return type
-
add_open_search_data_source
(id, domain, *, description=None, name=None)¶ (experimental) add a new OpenSearch data source to this API.
- Parameters
id (
str
) – The data source’s id.domain (
IDomain
) – The OpenSearch domain for this data source.description (
Optional
[str
]) – (experimental) The description of the data source. Default: - No descriptionname (
Optional
[str
]) – (experimental) The name of the data source, overrides the id given by cdk. Default: - generated by cdk given the id
- Stability
experimental
- Return type
-
add_query
(field_name, field)¶ (experimental) Add a query field to the schema’s Query. CDK will create an Object Type called ‘Query’. For example,.
type Query { fieldName: Field.returnType }
- Parameters
field_name (
str
) – the name of the query.field (
ResolvableField
) – the resolvable field to for this query.
- Stability
experimental
- Return type
-
add_rds_data_source
(id, serverless_cluster, secret_store, database_name=None, *, description=None, name=None)¶ (experimental) add a new Rds data source to this API.
- Parameters
id (
str
) – The data source’s id.serverless_cluster (
IServerlessCluster
) – The serverless cluster to interact with this data source.secret_store (
ISecret
) – The secret store that contains the username and password for the serverless cluster.database_name (
Optional
[str
]) – The optional name of the database to use within the cluster.description (
Optional
[str
]) – (experimental) The description of the data source. Default: - No descriptionname (
Optional
[str
]) – (experimental) The name of the data source, overrides the id given by cdk. Default: - generated by cdk given the id
- Stability
experimental
- Return type
-
add_schema_dependency
(construct)¶ (experimental) Add schema dependency to a given construct.
- Parameters
construct (
CfnResource
) – the dependee.- Stability
experimental
- Return type
bool
-
add_subscription
(field_name, field)¶ (experimental) Add a subscription field to the schema’s Subscription. CDK will create an Object Type called ‘Subscription’. For example,.
type Subscription { fieldName: Field.returnType }
- Parameters
field_name (
str
) – the name of the Subscription.field (
ResolvableField
) – the resolvable field to for this Subscription.
- Stability
experimental
- Return type
-
add_to_schema
(addition, delimiter=None)¶ (experimental) Escape hatch to append to Schema as desired.
Will always result in a newline.
- Parameters
addition (
str
) – the addition to add to schema.delimiter (
Optional
[str
]) – the delimiter between schema and addition.
- Default
‘’
- Stability
experimental
- Return type
None
-
add_type
(type)¶ (experimental) Add type to the schema.
- Parameters
type (
IIntermediateType
) – the intermediate type to add to the schema.- Stability
experimental
- Return type
-
apply_removal_policy
(policy)¶ Apply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.
The resource can be deleted (
RemovalPolicy.DESTROY
), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN
).- Parameters
policy (
RemovalPolicy
) –- Return type
None
-
create_resolver
(*, data_source=None, field_name, type_name, caching_config=None, pipeline_config=None, request_mapping_template=None, response_mapping_template=None)¶ (experimental) creates a new resolver for this datasource and API using the given properties.
- Parameters
data_source (
Optional
[BaseDataSource
]) – (experimental) The data source this resolver is using. Default: - No datasourcefield_name (
str
) – (experimental) name of the GraphQL field in the given type this resolver is attached to.type_name (
str
) – (experimental) name of the GraphQL type this resolver is attached to.caching_config (
Union
[CachingConfig
,Dict
[str
,Any
],None
]) – (experimental) The caching configuration for this resolver. Default: - No caching configurationpipeline_config (
Optional
[Sequence
[IAppsyncFunction
]]) – (experimental) configuration of the pipeline resolver. Default: - no pipeline resolver configuration An empty array | undefined sets resolver to be of kind, unitrequest_mapping_template (
Optional
[MappingTemplate
]) – (experimental) The request mapping template for this resolver. Default: - No mapping templateresponse_mapping_template (
Optional
[MappingTemplate
]) – (experimental) The response mapping template for this resolver. Default: - No mapping template
- Stability
experimental
- Return type
-
grant
(grantee, resources, *actions)¶ (experimental) Adds an IAM policy statement associated with this GraphQLApi to an IAM principal’s policy.
- Parameters
grantee (
IGrantable
) – The principal.resources (
IamResource
) – The set of resources to allow (i.e. …:[region]:[accountId]:apis/GraphQLId/…).actions (
str
) – The actions that should be granted to the principal (i.e. appsync:graphql ).
- Stability
experimental
- Return type
-
grant_mutation
(grantee, *fields)¶ (experimental) Adds an IAM policy statement for Mutation access to this GraphQLApi to an IAM principal’s policy.
- Parameters
grantee (
IGrantable
) – The principal.fields (
str
) – The fields to grant access to that are Mutations (leave blank for all).
- Stability
experimental
- Return type
-
grant_query
(grantee, *fields)¶ (experimental) Adds an IAM policy statement for Query access to this GraphQLApi to an IAM principal’s policy.
- Parameters
grantee (
IGrantable
) – The principal.fields (
str
) – The fields to grant access to that are Queries (leave blank for all).
- Stability
experimental
- Return type
-
grant_subscription
(grantee, *fields)¶ (experimental) Adds an IAM policy statement for Subscription access to this GraphQLApi to an IAM principal’s policy.
- Parameters
grantee (
IGrantable
) – The principal.fields (
str
) – The fields to grant access to that are Subscriptions (leave blank for all).
- Stability
experimental
- Return type
-
to_string
()¶ Returns a string representation of this construct.
- Return type
str
Attributes
-
api_id
¶ (experimental) an unique AWS AppSync GraphQL API identifier i.e. ‘lxz775lwdrgcndgz3nurvac7oa’.
- Stability
experimental
- Return type
str
-
api_key
¶ (experimental) the configured API key, if present.
- Default
no api key
- Stability
experimental
- Return type
Optional
[str
]
-
arn
¶ (experimental) the ARN of the API.
- Stability
experimental
- Return type
str
-
env
¶ The environment this resource belongs to.
For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.
- Return type
-
graphql_url
¶ (experimental) the URL of the endpoint created by AppSync.
- Stability
experimental
- Attribute
GraphQlUrl
- Return type
str
-
modes
¶ (experimental) The Authorization Types for this GraphQL Api.
- Stability
experimental
- Return type
List
[AuthorizationType
]
-
name
¶ (experimental) the name of the API.
- Stability
experimental
- Return type
str
-
node
¶ The construct tree node associated with this construct.
- Return type
Static Methods
-
classmethod
from_graphql_api_attributes
(scope, id, *, graphql_api_id, graphql_api_arn=None)¶ (experimental) Import a GraphQL API through this function.
- Parameters
scope (
Construct
) – scope.id (
str
) – id.graphql_api_id (
str
) – (experimental) an unique AWS AppSync GraphQL API identifier i.e. ‘lxz775lwdrgcndgz3nurvac7oa’.graphql_api_arn (
Optional
[str
]) – (experimental) the arn for the GraphQL Api. Default: - autogenerated arn
- Stability
experimental
- Return type
-
classmethod
is_construct
(x)¶ Return whether the given object is a Construct.
- Parameters
x (
Any
) –- Return type
bool
-
classmethod
is_resource
(construct)¶ Check whether the given construct is a Resource.
- Parameters
construct (
IConstruct
) –- Return type
bool