AppSync ******* Client ====== class AppSync.Client A low-level client representing AWS AppSync AppSync provides API actions for creating and interacting with data sources using GraphQL from your application. import boto3 client = boto3.client('appsync') These are the available methods: * associate_api * associate_merged_graphql_api * associate_source_graphql_api * can_paginate * close * create_api * create_api_cache * create_api_key * create_channel_namespace * create_data_source * create_domain_name * create_function * create_graphql_api * create_resolver * create_type * delete_api * delete_api_cache * delete_api_key * delete_channel_namespace * delete_data_source * delete_domain_name * delete_function * delete_graphql_api * delete_resolver * delete_type * disassociate_api * disassociate_merged_graphql_api * disassociate_source_graphql_api * evaluate_code * evaluate_mapping_template * flush_api_cache * get_api * get_api_association * get_api_cache * get_channel_namespace * get_data_source * get_data_source_introspection * get_domain_name * get_function * get_graphql_api * get_graphql_api_environment_variables * get_introspection_schema * get_paginator * get_resolver * get_schema_creation_status * get_source_api_association * get_type * get_waiter * list_api_keys * list_apis * list_channel_namespaces * list_data_sources * list_domain_names * list_functions * list_graphql_apis * list_resolvers * list_resolvers_by_function * list_source_api_associations * list_tags_for_resource * list_types * list_types_by_association * put_graphql_api_environment_variables * start_data_source_introspection * start_schema_creation * start_schema_merge * tag_resource * untag_resource * update_api * update_api_cache * update_api_key * update_channel_namespace * update_data_source * update_domain_name * update_function * update_graphql_api * update_resolver * update_source_api_association * update_type Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * ListApiKeys * ListApis * ListChannelNamespaces * ListDataSources * ListDomainNames * ListFunctions * ListGraphqlApis * ListResolvers * ListResolversByFunction * ListSourceApiAssociations * ListTypes * ListTypesByAssociation AppSync / Paginator / ListApiKeys ListApiKeys *********** class AppSync.Paginator.ListApiKeys paginator = client.get_paginator('list_api_keys') paginate(**kwargs) Creates an iterator that will paginate through responses from "AppSync.Client.list_api_keys()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( apiId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **apiId** (*string*) -- **[REQUIRED]** The API ID. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'apiKeys': [ { 'id': 'string', 'description': 'string', 'expires': 123, 'deletes': 123 }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **apiKeys** *(list) --* The "ApiKey" objects. * *(dict) --* Describes an API key. Customers invoke AppSync GraphQL API operations with API keys as an identity mechanism. There are two key versions: **da1**: We introduced this version at launch in November 2017. These keys always expire after 7 days. Amazon DynamoDB TTL manages key expiration. These keys ceased to be valid after February 21, 2018, and they should no longer be used. * "ListApiKeys" returns the expiration time in milliseconds. * "CreateApiKey" returns the expiration time in milliseconds. * "UpdateApiKey" is not available for this key version. * "DeleteApiKey" deletes the item from the table. * Expiration is stored in DynamoDB as milliseconds. This results in a bug where keys are not automatically deleted because DynamoDB expects the TTL to be stored in seconds. As a one-time action, we deleted these keys from the table on February 21, 2018. **da2**: We introduced this version in February 2018 when AppSync added support to extend key expiration. * "ListApiKeys" returns the expiration time and deletion time in seconds. * "CreateApiKey" returns the expiration time and deletion time in seconds and accepts a user-provided expiration time in seconds. * "UpdateApiKey" returns the expiration time and and deletion time in seconds and accepts a user-provided expiration time in seconds. Expired API keys are kept for 60 days after the expiration time. You can update the key expiration time as long as the key isn't deleted. * "DeleteApiKey" deletes the item from the table. * Expiration is stored in DynamoDB as seconds. After the expiration time, using the key to authenticate will fail. However, you can reinstate the key before deletion. * Deletion is stored in DynamoDB as seconds. The key is deleted after deletion time. * **id** *(string) --* The API key ID. * **description** *(string) --* A description of the purpose of the API key. * **expires** *(integer) --* The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour. * **deletes** *(integer) --* The time after which the API key is deleted. The date is represented as seconds since the epoch, rounded down to the nearest hour. * **NextToken** *(string) --* A token to resume pagination. AppSync / Paginator / ListApis ListApis ******** class AppSync.Paginator.ListApis paginator = client.get_paginator('list_apis') paginate(**kwargs) Creates an iterator that will paginate through responses from "AppSync.Client.list_apis()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'apis': [ { 'apiId': 'string', 'name': 'string', 'ownerContact': 'string', 'tags': { 'string': 'string' }, 'dns': { 'string': 'string' }, 'apiArn': 'string', 'created': datetime(2015, 1, 1), 'xrayEnabled': True|False, 'wafWebAclArn': 'string', 'eventConfig': { 'authProviders': [ { 'authType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT'|'AWS_LAMBDA', 'cognitoConfig': { 'userPoolId': 'string', 'awsRegion': 'string', 'appIdClientRegex': 'string' }, 'openIDConnectConfig': { 'issuer': 'string', 'clientId': 'string', 'iatTTL': 123, 'authTTL': 123 }, 'lambdaAuthorizerConfig': { 'authorizerResultTtlInSeconds': 123, 'authorizerUri': 'string', 'identityValidationExpression': 'string' } }, ], 'connectionAuthModes': [ { 'authType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT'|'AWS_LAMBDA' }, ], 'defaultPublishAuthModes': [ { 'authType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT'|'AWS_LAMBDA' }, ], 'defaultSubscribeAuthModes': [ { 'authType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT'|'AWS_LAMBDA' }, ], 'logConfig': { 'logLevel': 'NONE'|'ERROR'|'ALL'|'INFO'|'DEBUG', 'cloudWatchLogsRoleArn': 'string' } } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **apis** *(list) --* The "Api" objects. * *(dict) --* Describes an AppSync API. You can use "Api" for an AppSync API with your preferred configuration, such as an Event API that provides real-time message publishing and message subscriptions over WebSockets. * **apiId** *(string) --* The "Api" ID. * **name** *(string) --* The name of the "Api". * **ownerContact** *(string) --* The owner contact information for the "Api" * **tags** *(dict) --* A map with keys of "TagKey" objects and values of "TagValue" objects. * *(string) --* The key for the tag. * *(string) --* The value for the tag. * **dns** *(dict) --* The DNS records for the API. This will include an HTTP and a real-time endpoint. * *(string) --* * *(string) --* * **apiArn** *(string) --* The Amazon Resource Name (ARN) for the "Api". * **created** *(datetime) --* The date and time that the "Api" was created. * **xrayEnabled** *(boolean) --* A flag indicating whether to use X-Ray tracing for this "Api". * **wafWebAclArn** *(string) --* The Amazon Resource Name (ARN) of the WAF web access control list (web ACL) associated with this "Api", if one exists. * **eventConfig** *(dict) --* The Event API configuration. This includes the default authorization configuration for connecting, publishing, and subscribing to an Event API. * **authProviders** *(list) --* A list of authorization providers. * *(dict) --* Describes an authorization provider. * **authType** *(string) --* The authorization type. * **cognitoConfig** *(dict) --* Describes an Amazon Cognito user pool configuration. * **userPoolId** *(string) --* The user pool ID. * **awsRegion** *(string) --* The Amazon Web Services Region in which the user pool was created. * **appIdClientRegex** *(string) --* A regular expression for validating the incoming Amazon Cognito user pool app client ID. If this value isn't set, no filtering is applied. * **openIDConnectConfig** *(dict) --* Describes an OpenID Connect (OIDC) configuration. * **issuer** *(string) --* The issuer for the OIDC configuration. The issuer returned by discovery must exactly match the value of "iss" in the ID token. * **clientId** *(string) --* The client identifier of the relying party at the OpenID identity provider. This identifier is typically obtained when the relying party is registered with the OpenID identity provider. You can specify a regular expression so that AppSync can validate against multiple client identifiers at a time. * **iatTTL** *(integer) --* The number of milliseconds that a token is valid after it's issued to a user. * **authTTL** *(integer) --* The number of milliseconds that a token is valid after being authenticated. * **lambdaAuthorizerConfig** *(dict) --* A "LambdaAuthorizerConfig" specifies how to authorize AppSync API access when using the "AWS_LAMBDA" authorizer mode. Be aware that an AppSync API can have only one Lambda authorizer configured at a time. * **authorizerResultTtlInSeconds** *(integer) --* The number of seconds a response should be cached for. The default is 0 seconds, which disables caching. If you don't specify a value for "authorizerResultTtlInSeconds", the default value is used. The maximum value is one hour (3600 seconds). The Lambda function can override this by returning a "ttlOverride" key in its response. * **authorizerUri** *(string) --* The Amazon Resource Name (ARN) of the Lambda function to be called for authorization. This can be a standard Lambda ARN, a version ARN ( ".../v3"), or an alias ARN. **Note**: This Lambda function must have the following resource-based policy assigned to it. When configuring Lambda authorizers in the console, this is done for you. To use the Command Line Interface (CLI), run the following: "aws lambda add-permission --function-name "arn:aws:lambda:us- east-2:111122223333:function:my-function" --statement-id "appsync" --principal appsync.amazonaws.com --action lambda:InvokeFunction" * **identityValidationExpression** *(string) --* A regular expression for validation of tokens before the Lambda function is called. * **connectionAuthModes** *(list) --* A list of valid authorization modes for the Event API connections. * *(dict) --* Describes an authorization configuration. Use "AuthMode" to specify the publishing and subscription authorization configuration for an Event API. * **authType** *(string) --* The authorization type. * **defaultPublishAuthModes** *(list) --* A list of valid authorization modes for the Event API publishing. * *(dict) --* Describes an authorization configuration. Use "AuthMode" to specify the publishing and subscription authorization configuration for an Event API. * **authType** *(string) --* The authorization type. * **defaultSubscribeAuthModes** *(list) --* A list of valid authorization modes for the Event API subscriptions. * *(dict) --* Describes an authorization configuration. Use "AuthMode" to specify the publishing and subscription authorization configuration for an Event API. * **authType** *(string) --* The authorization type. * **logConfig** *(dict) --* The CloudWatch Logs configuration for the Event API. * **logLevel** *(string) --* The type of information to log for the Event API. * **cloudWatchLogsRoleArn** *(string) --* The IAM service role that AppSync assumes to publish CloudWatch Logs in your account. * **NextToken** *(string) --* A token to resume pagination. AppSync / Paginator / ListFunctions ListFunctions ************* class AppSync.Paginator.ListFunctions paginator = client.get_paginator('list_functions') paginate(**kwargs) Creates an iterator that will paginate through responses from "AppSync.Client.list_functions()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( apiId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **apiId** (*string*) -- **[REQUIRED]** The GraphQL API ID. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'functions': [ { 'functionId': 'string', 'functionArn': 'string', 'name': 'string', 'description': 'string', 'dataSourceName': 'string', 'requestMappingTemplate': 'string', 'responseMappingTemplate': 'string', 'functionVersion': 'string', 'syncConfig': { 'conflictHandler': 'OPTIMISTIC_CONCURRENCY'|'LAMBDA'|'AUTOMERGE'|'NONE', 'conflictDetection': 'VERSION'|'NONE', 'lambdaConflictHandlerConfig': { 'lambdaConflictHandlerArn': 'string' } }, 'maxBatchSize': 123, 'runtime': { 'name': 'APPSYNC_JS', 'runtimeVersion': 'string' }, 'code': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **functions** *(list) --* A list of "Function" objects. * *(dict) --* A function is a reusable entity. You can use multiple functions to compose the resolver logic. * **functionId** *(string) --* A unique ID representing the "Function" object. * **functionArn** *(string) --* The Amazon Resource Name (ARN) of the "Function" object. * **name** *(string) --* The name of the "Function" object. * **description** *(string) --* The "Function" description. * **dataSourceName** *(string) --* The name of the "DataSource". * **requestMappingTemplate** *(string) --* The "Function" request mapping template. Functions support only the 2018-05-29 version of the request mapping template. * **responseMappingTemplate** *(string) --* The "Function" response mapping template. * **functionVersion** *(string) --* The version of the request mapping template. Currently, only the 2018-05-29 version of the template is supported. * **syncConfig** *(dict) --* Describes a Sync configuration for a resolver. Specifies which Conflict Detection strategy and Resolution strategy to use when the resolver is invoked. * **conflictHandler** *(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 Lambda function supplied in the "LambdaConflictHandlerConfig". * **conflictDetection** *(string) --* 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. * **lambdaConflictHandlerConfig** *(dict) --* The "LambdaConflictHandlerConfig" when configuring "LAMBDA" as the Conflict Handler. * **lambdaConflictHandlerArn** *(string) --* The Amazon Resource Name (ARN) for the Lambda function to use as the Conflict Handler. * **maxBatchSize** *(integer) --* The maximum batching size for a resolver. * **runtime** *(dict) --* Describes a runtime used by an Amazon Web Services AppSync pipeline resolver or Amazon Web Services AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. * **name** *(string) --* The "name" of the runtime to use. Currently, the only allowed value is "APPSYNC_JS". * **runtimeVersion** *(string) --* The "version" of the runtime to use. Currently, the only allowed version is "1.0.0". * **code** *(string) --* The "function" code that contains the request and response functions. When code is used, the "runtime" is required. The "runtime" value must be "APPSYNC_JS". * **NextToken** *(string) --* A token to resume pagination. AppSync / Paginator / ListTypes ListTypes ********* class AppSync.Paginator.ListTypes paginator = client.get_paginator('list_types') paginate(**kwargs) Creates an iterator that will paginate through responses from "AppSync.Client.list_types()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( apiId='string', format='SDL'|'JSON', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **apiId** (*string*) -- **[REQUIRED]** The API ID. * **format** (*string*) -- **[REQUIRED]** The type format: SDL or JSON. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'types': [ { 'name': 'string', 'description': 'string', 'arn': 'string', 'definition': 'string', 'format': 'SDL'|'JSON' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **types** *(list) --* The "Type" objects. * *(dict) --* Describes a type. * **name** *(string) --* The type name. * **description** *(string) --* The type description. * **arn** *(string) --* The type Amazon Resource Name (ARN). * **definition** *(string) --* The type definition. * **format** *(string) --* The type format: SDL or JSON. * **NextToken** *(string) --* A token to resume pagination. AppSync / Paginator / ListSourceApiAssociations ListSourceApiAssociations ************************* class AppSync.Paginator.ListSourceApiAssociations paginator = client.get_paginator('list_source_api_associations') paginate(**kwargs) Creates an iterator that will paginate through responses from "AppSync.Client.list_source_api_associations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( apiId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **apiId** (*string*) -- **[REQUIRED]** The API ID. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'sourceApiAssociationSummaries': [ { 'associationId': 'string', 'associationArn': 'string', 'sourceApiId': 'string', 'sourceApiArn': 'string', 'mergedApiId': 'string', 'mergedApiArn': 'string', 'description': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **sourceApiAssociationSummaries** *(list) --* The "SourceApiAssociationSummary" object data. * *(dict) --* Describes the ARNs and IDs of associations, Merged APIs, and source APIs. * **associationId** *(string) --* The ID generated by the AppSync service for the source API association. * **associationArn** *(string) --* The Amazon Resource Name (ARN) of the source API association. * **sourceApiId** *(string) --* The ID of the AppSync source API. * **sourceApiArn** *(string) --* The Amazon Resource Name (ARN) of the AppSync Source API. * **mergedApiId** *(string) --* The ID of the AppSync Merged API. * **mergedApiArn** *(string) --* The Amazon Resource Name (ARN) of the AppSync Merged API. * **description** *(string) --* The description field. * **NextToken** *(string) --* A token to resume pagination. AppSync / Paginator / ListTypesByAssociation ListTypesByAssociation ********************** class AppSync.Paginator.ListTypesByAssociation paginator = client.get_paginator('list_types_by_association') paginate(**kwargs) Creates an iterator that will paginate through responses from "AppSync.Client.list_types_by_association()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( mergedApiIdentifier='string', associationId='string', format='SDL'|'JSON', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **mergedApiIdentifier** (*string*) -- **[REQUIRED]** The identifier of the AppSync Merged API. This is generated by the AppSync service. In most cases, Merged APIs (especially in your account) only require the API ID value or ARN of the merged API. However, Merged APIs in other accounts (cross-account use cases) strictly require the full resource ARN of the merged API. * **associationId** (*string*) -- **[REQUIRED]** The ID generated by the AppSync service for the source API association. * **format** (*string*) -- **[REQUIRED]** The format type. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'types': [ { 'name': 'string', 'description': 'string', 'arn': 'string', 'definition': 'string', 'format': 'SDL'|'JSON' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **types** *(list) --* The "Type" objects. * *(dict) --* Describes a type. * **name** *(string) --* The type name. * **description** *(string) --* The type description. * **arn** *(string) --* The type Amazon Resource Name (ARN). * **definition** *(string) --* The type definition. * **format** *(string) --* The type format: SDL or JSON. * **NextToken** *(string) --* A token to resume pagination. AppSync / Paginator / ListResolversByFunction ListResolversByFunction *********************** class AppSync.Paginator.ListResolversByFunction paginator = client.get_paginator('list_resolvers_by_function') paginate(**kwargs) Creates an iterator that will paginate through responses from "AppSync.Client.list_resolvers_by_function()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( apiId='string', functionId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **apiId** (*string*) -- **[REQUIRED]** The API ID. * **functionId** (*string*) -- **[REQUIRED]** The function ID. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'resolvers': [ { 'typeName': 'string', 'fieldName': 'string', 'dataSourceName': 'string', 'resolverArn': 'string', 'requestMappingTemplate': 'string', 'responseMappingTemplate': 'string', 'kind': 'UNIT'|'PIPELINE', 'pipelineConfig': { 'functions': [ 'string', ] }, 'syncConfig': { 'conflictHandler': 'OPTIMISTIC_CONCURRENCY'|'LAMBDA'|'AUTOMERGE'|'NONE', 'conflictDetection': 'VERSION'|'NONE', 'lambdaConflictHandlerConfig': { 'lambdaConflictHandlerArn': 'string' } }, 'cachingConfig': { 'ttl': 123, 'cachingKeys': [ 'string', ] }, 'maxBatchSize': 123, 'runtime': { 'name': 'APPSYNC_JS', 'runtimeVersion': 'string' }, 'code': 'string', 'metricsConfig': 'ENABLED'|'DISABLED' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **resolvers** *(list) --* The list of resolvers. * *(dict) --* Describes a resolver. * **typeName** *(string) --* The resolver type name. * **fieldName** *(string) --* The resolver field name. * **dataSourceName** *(string) --* The resolver data source name. * **resolverArn** *(string) --* The resolver Amazon Resource Name (ARN). * **requestMappingTemplate** *(string) --* The request mapping template. * **responseMappingTemplate** *(string) --* The response mapping template. * **kind** *(string) --* The resolver type. * **UNIT**: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT resolver to run a GraphQL query against a single data source. * **PIPELINE**: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of "Function" objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against multiple data sources. * **pipelineConfig** *(dict) --* The "PipelineConfig". * **functions** *(list) --* A list of "Function" objects. * *(string) --* * **syncConfig** *(dict) --* The "SyncConfig" for a resolver attached to a versioned data source. * **conflictHandler** *(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 Lambda function supplied in the "LambdaConflictHandlerConfig". * **conflictDetection** *(string) --* 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. * **lambdaConflictHandlerConfig** *(dict) --* The "LambdaConflictHandlerConfig" when configuring "LAMBDA" as the Conflict Handler. * **lambdaConflictHandlerArn** *(string) --* The Amazon Resource Name (ARN) for the Lambda function to use as the Conflict Handler. * **cachingConfig** *(dict) --* The caching configuration for the resolver. * **ttl** *(integer) --* The TTL in seconds for a resolver that has caching activated. Valid values are 1–3,600 seconds. * **cachingKeys** *(list) --* The caching keys for a resolver that has caching activated. Valid values are entries from the "$context.arguments", "$context.source", and "$context.identity" maps. * *(string) --* * **maxBatchSize** *(integer) --* The maximum batching size for a resolver. * **runtime** *(dict) --* Describes a runtime used by an Amazon Web Services AppSync pipeline resolver or Amazon Web Services AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. * **name** *(string) --* The "name" of the runtime to use. Currently, the only allowed value is "APPSYNC_JS". * **runtimeVersion** *(string) --* The "version" of the runtime to use. Currently, the only allowed version is "1.0.0". * **code** *(string) --* The "resolver" code that contains the request and response functions. When code is used, the "runtime" is required. The "runtime" value must be "APPSYNC_JS". * **metricsConfig** *(string) --* Enables or disables enhanced resolver metrics for specified resolvers. Note that "metricsConfig" won't be used unless the "resolverLevelMetricsBehavior" value is set to "PER_RESOLVER_METRICS". If the "resolverLevelMetricsBehavior" is set to "FULL_REQUEST_RESOLVER_METRICS" instead, "metricsConfig" will be ignored. However, you can still set its value. "metricsConfig" can be "ENABLED" or "DISABLED". * **NextToken** *(string) --* A token to resume pagination. AppSync / Paginator / ListDomainNames ListDomainNames *************** class AppSync.Paginator.ListDomainNames paginator = client.get_paginator('list_domain_names') paginate(**kwargs) Creates an iterator that will paginate through responses from "AppSync.Client.list_domain_names()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max- items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'domainNameConfigs': [ { 'domainName': 'string', 'description': 'string', 'certificateArn': 'string', 'appsyncDomainName': 'string', 'hostedZoneId': 'string', 'tags': { 'string': 'string' }, 'domainNameArn': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **domainNameConfigs** *(list) --* Lists configurations for multiple domain names. * *(dict) --* Describes a configuration for a custom domain. * **domainName** *(string) --* The domain name. * **description** *(string) --* A description of the "DomainName" configuration. * **certificateArn** *(string) --* The Amazon Resource Name (ARN) of the certificate. This can be an Certificate Manager (ACM) certificate or an Identity and Access Management (IAM) server certificate. * **appsyncDomainName** *(string) --* The domain name that AppSync provides. * **hostedZoneId** *(string) --* The ID of your Amazon Route 53 hosted zone. * **tags** *(dict) --* A map with keys of "TagKey" objects and values of "TagValue" objects. * *(string) --* The key for the tag. * *(string) --* The value for the tag. * **domainNameArn** *(string) --* The Amazon Resource Name (ARN) of the domain name. * **NextToken** *(string) --* A token to resume pagination. AppSync / Paginator / ListDataSources ListDataSources *************** class AppSync.Paginator.ListDataSources paginator = client.get_paginator('list_data_sources') paginate(**kwargs) Creates an iterator that will paginate through responses from "AppSync.Client.list_data_sources()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( apiId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **apiId** (*string*) -- **[REQUIRED]** The API ID. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'dataSources': [ { 'dataSourceArn': 'string', 'name': 'string', 'description': 'string', 'type': 'AWS_LAMBDA'|'AMAZON_DYNAMODB'|'AMAZON_ELASTICSEARCH'|'NONE'|'HTTP'|'RELATIONAL_DATABASE'|'AMAZON_OPENSEARCH_SERVICE'|'AMAZON_EVENTBRIDGE'|'AMAZON_BEDROCK_RUNTIME', 'serviceRoleArn': 'string', 'dynamodbConfig': { 'tableName': 'string', 'awsRegion': 'string', 'useCallerCredentials': True|False, 'deltaSyncConfig': { 'baseTableTTL': 123, 'deltaSyncTableName': 'string', 'deltaSyncTableTTL': 123 }, 'versioned': True|False }, 'lambdaConfig': { 'lambdaFunctionArn': 'string' }, 'elasticsearchConfig': { 'endpoint': 'string', 'awsRegion': 'string' }, 'openSearchServiceConfig': { 'endpoint': 'string', 'awsRegion': 'string' }, 'httpConfig': { 'endpoint': 'string', 'authorizationConfig': { 'authorizationType': 'AWS_IAM', 'awsIamConfig': { 'signingRegion': 'string', 'signingServiceName': 'string' } } }, 'relationalDatabaseConfig': { 'relationalDatabaseSourceType': 'RDS_HTTP_ENDPOINT', 'rdsHttpEndpointConfig': { 'awsRegion': 'string', 'dbClusterIdentifier': 'string', 'databaseName': 'string', 'schema': 'string', 'awsSecretStoreArn': 'string' } }, 'eventBridgeConfig': { 'eventBusArn': 'string' }, 'metricsConfig': 'ENABLED'|'DISABLED' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **dataSources** *(list) --* The "DataSource" objects. * *(dict) --* Describes a data source. * **dataSourceArn** *(string) --* The data source Amazon Resource Name (ARN). * **name** *(string) --* The name of the data source. * **description** *(string) --* The description of the data source. * **type** *(string) --* The type of the data source. * **AWS_LAMBDA**: The data source is an Lambda function. * **AMAZON_DYNAMODB**: The data source is an Amazon DynamoDB table. * **AMAZON_ELASTICSEARCH**: The data source is an Amazon OpenSearch Service domain. * **AMAZON_OPENSEARCH_SERVICE**: The data source is an Amazon OpenSearch Service domain. * **AMAZON_EVENTBRIDGE**: The data source is an Amazon EventBridge configuration. * **AMAZON_BEDROCK_RUNTIME**: The data source is the Amazon Bedrock runtime. * **NONE**: There is no data source. Use this type when you want to invoke a GraphQL operation without connecting to a data source, such as when you're performing data transformation with resolvers or invoking a subscription from a mutation. * **HTTP**: The data source is an HTTP endpoint. * **RELATIONAL_DATABASE**: The data source is a relational database. * **serviceRoleArn** *(string) --* The Identity and Access Management (IAM) service role Amazon Resource Name (ARN) for the data source. The system assumes this role when accessing the data source. * **dynamodbConfig** *(dict) --* DynamoDB settings. * **tableName** *(string) --* The table name. * **awsRegion** *(string) --* The Amazon Web Services Region. * **useCallerCredentials** *(boolean) --* Set to TRUE to use Amazon Cognito credentials with this data source. * **deltaSyncConfig** *(dict) --* The "DeltaSyncConfig" for a versioned data source. * **baseTableTTL** *(integer) --* The number of minutes that an Item is stored in the data source. * **deltaSyncTableName** *(string) --* The Delta Sync table name. * **deltaSyncTableTTL** *(integer) --* The number of minutes that a Delta Sync log entry is stored in the Delta Sync table. * **versioned** *(boolean) --* Set to TRUE to use Conflict Detection and Resolution with this data source. * **lambdaConfig** *(dict) --* Lambda settings. * **lambdaFunctionArn** *(string) --* The Amazon Resource Name (ARN) for the Lambda function. * **elasticsearchConfig** *(dict) --* Amazon OpenSearch Service settings. * **endpoint** *(string) --* The endpoint. * **awsRegion** *(string) --* The Amazon Web Services Region. * **openSearchServiceConfig** *(dict) --* Amazon OpenSearch Service settings. * **endpoint** *(string) --* The endpoint. * **awsRegion** *(string) --* The Amazon Web Services Region. * **httpConfig** *(dict) --* HTTP endpoint settings. * **endpoint** *(string) --* The HTTP URL endpoint. You can specify either the domain name or IP, and port combination, and the URL scheme must be HTTP or HTTPS. If you don't specify the port, AppSync uses the default port 80 for the HTTP endpoint and port 443 for HTTPS endpoints. * **authorizationConfig** *(dict) --* The authorization configuration in case the HTTP endpoint requires authorization. * **authorizationType** *(string) --* The authorization type that the HTTP endpoint requires. * **AWS_IAM**: The authorization type is Signature Version 4 (SigV4). * **awsIamConfig** *(dict) --* The Identity and Access Management (IAM) settings. * **signingRegion** *(string) --* The signing Amazon Web Services Region for IAM authorization. * **signingServiceName** *(string) --* The signing service name for IAM authorization. * **relationalDatabaseConfig** *(dict) --* Relational database settings. * **relationalDatabaseSourceType** *(string) --* Source type for the relational database. * **RDS_HTTP_ENDPOINT**: The relational database source type is an Amazon Relational Database Service (Amazon RDS) HTTP endpoint. * **rdsHttpEndpointConfig** *(dict) --* Amazon RDS HTTP endpoint settings. * **awsRegion** *(string) --* Amazon Web Services Region for Amazon RDS HTTP endpoint. * **dbClusterIdentifier** *(string) --* Amazon RDS cluster Amazon Resource Name (ARN). * **databaseName** *(string) --* Logical database name. * **schema** *(string) --* Logical schema name. * **awsSecretStoreArn** *(string) --* Amazon Web Services secret store Amazon Resource Name (ARN) for database credentials. * **eventBridgeConfig** *(dict) --* Amazon EventBridge settings. * **eventBusArn** *(string) --* The ARN of the event bus. For more information about event buses, see Amazon EventBridge event buses. * **metricsConfig** *(string) --* 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". * **NextToken** *(string) --* A token to resume pagination. AppSync / Paginator / ListChannelNamespaces ListChannelNamespaces ********************* class AppSync.Paginator.ListChannelNamespaces paginator = client.get_paginator('list_channel_namespaces') paginate(**kwargs) Creates an iterator that will paginate through responses from "AppSync.Client.list_channel_namespaces()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( apiId='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **apiId** (*string*) -- **[REQUIRED]** The "Api" ID. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'channelNamespaces': [ { 'apiId': 'string', 'name': 'string', 'subscribeAuthModes': [ { 'authType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT'|'AWS_LAMBDA' }, ], 'publishAuthModes': [ { 'authType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT'|'AWS_LAMBDA' }, ], 'codeHandlers': 'string', 'tags': { 'string': 'string' }, 'channelNamespaceArn': 'string', 'created': datetime(2015, 1, 1), 'lastModified': datetime(2015, 1, 1), 'handlerConfigs': { 'onPublish': { 'behavior': 'CODE'|'DIRECT', 'integration': { 'dataSourceName': 'string', 'lambdaConfig': { 'invokeType': 'REQUEST_RESPONSE'|'EVENT' } } }, 'onSubscribe': { 'behavior': 'CODE'|'DIRECT', 'integration': { 'dataSourceName': 'string', 'lambdaConfig': { 'invokeType': 'REQUEST_RESPONSE'|'EVENT' } } } } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **channelNamespaces** *(list) --* The "ChannelNamespace" objects. * *(dict) --* Describes a channel namespace associated with an "Api". The "ChannelNamespace" contains the definitions for code handlers for the "Api". * **apiId** *(string) --* The "Api" ID. * **name** *(string) --* The name of the channel namespace. This name must be unique within the "Api". * **subscribeAuthModes** *(list) --* The authorization mode to use for subscribing to messages on the channel namespace. This configuration overrides the default >>``<>``<>``<>``<>``<>``<>``<>``<>``<>``<