AWS AppSync

2018/05/03 - AWS AppSync - 4 updated api methods

Changes  This release adds support for authorizing your AWS AppSync endpoint with an OpenID Connect compliant service and also to configure your AWS AppSync endpoint to log requests to Amazon CloudWatch Logs.

CreateGraphqlApi (updated) Link ¶
Changes (request, response)
Request
{'authenticationType': ['OPENID_CONNECT'],
 'logConfig': {'cloudWatchLogsRoleArn': 'string',
               'fieldLogLevel': 'NONE | ERROR | ALL'},
 'openIDConnectConfig': {'authTTL': 'long',
                         'clientId': 'string',
                         'iatTTL': 'long',
                         'issuer': 'string'}}
Response
{'graphqlApi': {'authenticationType': ['OPENID_CONNECT'],
                'logConfig': {'cloudWatchLogsRoleArn': 'string',
                              'fieldLogLevel': 'NONE | ERROR | ALL'},
                'openIDConnectConfig': {'authTTL': 'long',
                                        'clientId': 'string',
                                        'iatTTL': 'long',
                                        'issuer': 'string'}}}

Creates a GraphqlApi object.

See also: AWS API Documentation

Request Syntax

client.create_graphql_api(
    name='string',
    logConfig={
        'fieldLogLevel': 'NONE'|'ERROR'|'ALL',
        'cloudWatchLogsRoleArn': 'string'
    },
    authenticationType='API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT',
    userPoolConfig={
        'userPoolId': 'string',
        'awsRegion': 'string',
        'defaultAction': 'ALLOW'|'DENY',
        'appIdClientRegex': 'string'
    },
    openIDConnectConfig={
        'issuer': 'string',
        'clientId': 'string',
        'iatTTL': 123,
        'authTTL': 123
    }
)
type name

string

param name

[REQUIRED]

A user-supplied name for the GraphqlApi .

type logConfig

dict

param logConfig

The Amazon CloudWatch logs configuration.

  • fieldLogLevel (string) -- [REQUIRED]

    The field logging level. Values can be NONE, ERROR, ALL.

    • NONE : No field-level logs are captured.

    • ERROR : Logs the following information only for the fields that are in error:

      • The error section in the server response.

      • Field-level errors.

      • The generated request/response functions that got resolved for error fields.

    • ALL : The following information is logged for all fields in the query:

      • Field-level tracing information.

      • The generated request/response functions that got resolved for each field.

  • cloudWatchLogsRoleArn (string) -- [REQUIRED]

    The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account.

type authenticationType

string

param authenticationType

[REQUIRED]

The authentication type: API key, IAM, or Amazon Cognito User Pools.

type userPoolConfig

dict

param userPoolConfig

The Amazon Cognito User Pool configuration.

  • userPoolId (string) -- [REQUIRED]

    The user pool ID.

  • awsRegion (string) -- [REQUIRED]

    The AWS region in which the user pool was created.

  • defaultAction (string) -- [REQUIRED]

    The action that you want your GraphQL API to take when a request that uses Amazon Cognito User Pool authentication doesn't match the Amazon Cognito User Pool configuration.

  • appIdClientRegex (string) --

    A regular expression for validating the incoming Amazon Cognito User Pool app client ID.

type openIDConnectConfig

dict

param openIDConnectConfig

The Open Id Connect configuration configuration.

  • issuer (string) -- [REQUIRED]

    The issuer for the open id connect 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 Provider. This identifier is typically obtained when the Relying party is registered with the OpenID Provider. You can specify a regular expression so the AWS AppSync can validate against multiple client identifiers at a time

  • iatTTL (integer) --

    The number of milliseconds a token is valid after being issued to a user.

  • authTTL (integer) --

    The number of milliseconds a token is valid after being authenticated.

rtype

dict

returns

Response Syntax

{
    'graphqlApi': {
        'name': 'string',
        'apiId': 'string',
        'authenticationType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT',
        'logConfig': {
            'fieldLogLevel': 'NONE'|'ERROR'|'ALL',
            'cloudWatchLogsRoleArn': 'string'
        },
        'userPoolConfig': {
            'userPoolId': 'string',
            'awsRegion': 'string',
            'defaultAction': 'ALLOW'|'DENY',
            'appIdClientRegex': 'string'
        },
        'openIDConnectConfig': {
            'issuer': 'string',
            'clientId': 'string',
            'iatTTL': 123,
            'authTTL': 123
        },
        'arn': 'string',
        'uris': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • graphqlApi (dict) --

      The GraphqlApi .

      • name (string) --

        The API name.

      • apiId (string) --

        The API ID.

      • authenticationType (string) --

        The authentication type.

      • logConfig (dict) --

        The Amazon CloudWatch Logs configuration.

        • fieldLogLevel (string) --

          The field logging level. Values can be NONE, ERROR, ALL.

          • NONE : No field-level logs are captured.

          • ERROR : Logs the following information only for the fields that are in error:

            • The error section in the server response.

            • Field-level errors.

            • The generated request/response functions that got resolved for error fields.

          • ALL : The following information is logged for all fields in the query:

            • Field-level tracing information.

            • The generated request/response functions that got resolved for each field.

        • cloudWatchLogsRoleArn (string) --

          The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account.

      • userPoolConfig (dict) --

        The Amazon Cognito User Pool configuration.

        • userPoolId (string) --

          The user pool ID.

        • awsRegion (string) --

          The AWS region in which the user pool was created.

        • defaultAction (string) --

          The action that you want your GraphQL API to take when a request that uses Amazon Cognito User Pool authentication doesn't match the Amazon Cognito User Pool configuration.

        • appIdClientRegex (string) --

          A regular expression for validating the incoming Amazon Cognito User Pool app client ID.

      • openIDConnectConfig (dict) --

        The Open Id Connect configuration.

        • issuer (string) --

          The issuer for the open id connect 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 Provider. This identifier is typically obtained when the Relying party is registered with the OpenID Provider. You can specify a regular expression so the AWS AppSync can validate against multiple client identifiers at a time

        • iatTTL (integer) --

          The number of milliseconds a token is valid after being issued to a user.

        • authTTL (integer) --

          The number of milliseconds a token is valid after being authenticated.

      • arn (string) --

        The ARN.

      • uris (dict) --

        The URIs.

        • (string) --

          • (string) --

GetGraphqlApi (updated) Link ¶
Changes (response)
{'graphqlApi': {'authenticationType': ['OPENID_CONNECT'],
                'logConfig': {'cloudWatchLogsRoleArn': 'string',
                              'fieldLogLevel': 'NONE | ERROR | ALL'},
                'openIDConnectConfig': {'authTTL': 'long',
                                        'clientId': 'string',
                                        'iatTTL': 'long',
                                        'issuer': 'string'}}}

Retrieves a GraphqlApi object.

See also: AWS API Documentation

Request Syntax

client.get_graphql_api(
    apiId='string'
)
type apiId

string

param apiId

[REQUIRED]

The API ID for the GraphQL API.

rtype

dict

returns

Response Syntax

{
    'graphqlApi': {
        'name': 'string',
        'apiId': 'string',
        'authenticationType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT',
        'logConfig': {
            'fieldLogLevel': 'NONE'|'ERROR'|'ALL',
            'cloudWatchLogsRoleArn': 'string'
        },
        'userPoolConfig': {
            'userPoolId': 'string',
            'awsRegion': 'string',
            'defaultAction': 'ALLOW'|'DENY',
            'appIdClientRegex': 'string'
        },
        'openIDConnectConfig': {
            'issuer': 'string',
            'clientId': 'string',
            'iatTTL': 123,
            'authTTL': 123
        },
        'arn': 'string',
        'uris': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • graphqlApi (dict) --

      The GraphqlApi object.

      • name (string) --

        The API name.

      • apiId (string) --

        The API ID.

      • authenticationType (string) --

        The authentication type.

      • logConfig (dict) --

        The Amazon CloudWatch Logs configuration.

        • fieldLogLevel (string) --

          The field logging level. Values can be NONE, ERROR, ALL.

          • NONE : No field-level logs are captured.

          • ERROR : Logs the following information only for the fields that are in error:

            • The error section in the server response.

            • Field-level errors.

            • The generated request/response functions that got resolved for error fields.

          • ALL : The following information is logged for all fields in the query:

            • Field-level tracing information.

            • The generated request/response functions that got resolved for each field.

        • cloudWatchLogsRoleArn (string) --

          The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account.

      • userPoolConfig (dict) --

        The Amazon Cognito User Pool configuration.

        • userPoolId (string) --

          The user pool ID.

        • awsRegion (string) --

          The AWS region in which the user pool was created.

        • defaultAction (string) --

          The action that you want your GraphQL API to take when a request that uses Amazon Cognito User Pool authentication doesn't match the Amazon Cognito User Pool configuration.

        • appIdClientRegex (string) --

          A regular expression for validating the incoming Amazon Cognito User Pool app client ID.

      • openIDConnectConfig (dict) --

        The Open Id Connect configuration.

        • issuer (string) --

          The issuer for the open id connect 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 Provider. This identifier is typically obtained when the Relying party is registered with the OpenID Provider. You can specify a regular expression so the AWS AppSync can validate against multiple client identifiers at a time

        • iatTTL (integer) --

          The number of milliseconds a token is valid after being issued to a user.

        • authTTL (integer) --

          The number of milliseconds a token is valid after being authenticated.

      • arn (string) --

        The ARN.

      • uris (dict) --

        The URIs.

        • (string) --

          • (string) --

ListGraphqlApis (updated) Link ¶
Changes (response)
{'graphqlApis': {'authenticationType': ['OPENID_CONNECT'],
                 'logConfig': {'cloudWatchLogsRoleArn': 'string',
                               'fieldLogLevel': 'NONE | ERROR | ALL'},
                 'openIDConnectConfig': {'authTTL': 'long',
                                         'clientId': 'string',
                                         'iatTTL': 'long',
                                         'issuer': 'string'}}}

Lists your GraphQL APIs.

See also: AWS API Documentation

Request Syntax

client.list_graphql_apis(
    nextToken='string',
    maxResults=123
)
type nextToken

string

param nextToken

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

type maxResults

integer

param maxResults

The maximum number of results you want the request to return.

rtype

dict

returns

Response Syntax

{
    'graphqlApis': [
        {
            'name': 'string',
            'apiId': 'string',
            'authenticationType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT',
            'logConfig': {
                'fieldLogLevel': 'NONE'|'ERROR'|'ALL',
                'cloudWatchLogsRoleArn': 'string'
            },
            'userPoolConfig': {
                'userPoolId': 'string',
                'awsRegion': 'string',
                'defaultAction': 'ALLOW'|'DENY',
                'appIdClientRegex': 'string'
            },
            'openIDConnectConfig': {
                'issuer': 'string',
                'clientId': 'string',
                'iatTTL': 123,
                'authTTL': 123
            },
            'arn': 'string',
            'uris': {
                'string': 'string'
            }
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • graphqlApis (list) --

      The GraphqlApi objects.

      • (dict) --

        Describes a GraphQL API.

        • name (string) --

          The API name.

        • apiId (string) --

          The API ID.

        • authenticationType (string) --

          The authentication type.

        • logConfig (dict) --

          The Amazon CloudWatch Logs configuration.

          • fieldLogLevel (string) --

            The field logging level. Values can be NONE, ERROR, ALL.

            • NONE : No field-level logs are captured.

            • ERROR : Logs the following information only for the fields that are in error:

              • The error section in the server response.

              • Field-level errors.

              • The generated request/response functions that got resolved for error fields.

            • ALL : The following information is logged for all fields in the query:

              • Field-level tracing information.

              • The generated request/response functions that got resolved for each field.

          • cloudWatchLogsRoleArn (string) --

            The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account.

        • userPoolConfig (dict) --

          The Amazon Cognito User Pool configuration.

          • userPoolId (string) --

            The user pool ID.

          • awsRegion (string) --

            The AWS region in which the user pool was created.

          • defaultAction (string) --

            The action that you want your GraphQL API to take when a request that uses Amazon Cognito User Pool authentication doesn't match the Amazon Cognito User Pool configuration.

          • appIdClientRegex (string) --

            A regular expression for validating the incoming Amazon Cognito User Pool app client ID.

        • openIDConnectConfig (dict) --

          The Open Id Connect configuration.

          • issuer (string) --

            The issuer for the open id connect 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 Provider. This identifier is typically obtained when the Relying party is registered with the OpenID Provider. You can specify a regular expression so the AWS AppSync can validate against multiple client identifiers at a time

          • iatTTL (integer) --

            The number of milliseconds a token is valid after being issued to a user.

          • authTTL (integer) --

            The number of milliseconds a token is valid after being authenticated.

        • arn (string) --

          The ARN.

        • uris (dict) --

          The URIs.

          • (string) --

            • (string) --

    • nextToken (string) --

      An identifier to be passed in the next request to this operation to return the next set of items in the list.

UpdateGraphqlApi (updated) Link ¶
Changes (request, response)
Request
{'authenticationType': ['OPENID_CONNECT'],
 'logConfig': {'cloudWatchLogsRoleArn': 'string',
               'fieldLogLevel': 'NONE | ERROR | ALL'},
 'openIDConnectConfig': {'authTTL': 'long',
                         'clientId': 'string',
                         'iatTTL': 'long',
                         'issuer': 'string'}}
Response
{'graphqlApi': {'authenticationType': ['OPENID_CONNECT'],
                'logConfig': {'cloudWatchLogsRoleArn': 'string',
                              'fieldLogLevel': 'NONE | ERROR | ALL'},
                'openIDConnectConfig': {'authTTL': 'long',
                                        'clientId': 'string',
                                        'iatTTL': 'long',
                                        'issuer': 'string'}}}

Updates a GraphqlApi object.

See also: AWS API Documentation

Request Syntax

client.update_graphql_api(
    apiId='string',
    name='string',
    logConfig={
        'fieldLogLevel': 'NONE'|'ERROR'|'ALL',
        'cloudWatchLogsRoleArn': 'string'
    },
    authenticationType='API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT',
    userPoolConfig={
        'userPoolId': 'string',
        'awsRegion': 'string',
        'defaultAction': 'ALLOW'|'DENY',
        'appIdClientRegex': 'string'
    },
    openIDConnectConfig={
        'issuer': 'string',
        'clientId': 'string',
        'iatTTL': 123,
        'authTTL': 123
    }
)
type apiId

string

param apiId

[REQUIRED]

The API ID.

type name

string

param name

[REQUIRED]

The new name for the GraphqlApi object.

type logConfig

dict

param logConfig

The Amazon CloudWatch logs configuration for the GraphqlApi object.

  • fieldLogLevel (string) -- [REQUIRED]

    The field logging level. Values can be NONE, ERROR, ALL.

    • NONE : No field-level logs are captured.

    • ERROR : Logs the following information only for the fields that are in error:

      • The error section in the server response.

      • Field-level errors.

      • The generated request/response functions that got resolved for error fields.

    • ALL : The following information is logged for all fields in the query:

      • Field-level tracing information.

      • The generated request/response functions that got resolved for each field.

  • cloudWatchLogsRoleArn (string) -- [REQUIRED]

    The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account.

type authenticationType

string

param authenticationType

The new authentication type for the GraphqlApi object.

type userPoolConfig

dict

param userPoolConfig

The new Amazon Cognito User Pool configuration for the GraphqlApi object.

  • userPoolId (string) -- [REQUIRED]

    The user pool ID.

  • awsRegion (string) -- [REQUIRED]

    The AWS region in which the user pool was created.

  • defaultAction (string) -- [REQUIRED]

    The action that you want your GraphQL API to take when a request that uses Amazon Cognito User Pool authentication doesn't match the Amazon Cognito User Pool configuration.

  • appIdClientRegex (string) --

    A regular expression for validating the incoming Amazon Cognito User Pool app client ID.

type openIDConnectConfig

dict

param openIDConnectConfig

The Open Id Connect configuration configuration for the GraphqlApi object.

  • issuer (string) -- [REQUIRED]

    The issuer for the open id connect 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 Provider. This identifier is typically obtained when the Relying party is registered with the OpenID Provider. You can specify a regular expression so the AWS AppSync can validate against multiple client identifiers at a time

  • iatTTL (integer) --

    The number of milliseconds a token is valid after being issued to a user.

  • authTTL (integer) --

    The number of milliseconds a token is valid after being authenticated.

rtype

dict

returns

Response Syntax

{
    'graphqlApi': {
        'name': 'string',
        'apiId': 'string',
        'authenticationType': 'API_KEY'|'AWS_IAM'|'AMAZON_COGNITO_USER_POOLS'|'OPENID_CONNECT',
        'logConfig': {
            'fieldLogLevel': 'NONE'|'ERROR'|'ALL',
            'cloudWatchLogsRoleArn': 'string'
        },
        'userPoolConfig': {
            'userPoolId': 'string',
            'awsRegion': 'string',
            'defaultAction': 'ALLOW'|'DENY',
            'appIdClientRegex': 'string'
        },
        'openIDConnectConfig': {
            'issuer': 'string',
            'clientId': 'string',
            'iatTTL': 123,
            'authTTL': 123
        },
        'arn': 'string',
        'uris': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • graphqlApi (dict) --

      The updated GraphqlApi object.

      • name (string) --

        The API name.

      • apiId (string) --

        The API ID.

      • authenticationType (string) --

        The authentication type.

      • logConfig (dict) --

        The Amazon CloudWatch Logs configuration.

        • fieldLogLevel (string) --

          The field logging level. Values can be NONE, ERROR, ALL.

          • NONE : No field-level logs are captured.

          • ERROR : Logs the following information only for the fields that are in error:

            • The error section in the server response.

            • Field-level errors.

            • The generated request/response functions that got resolved for error fields.

          • ALL : The following information is logged for all fields in the query:

            • Field-level tracing information.

            • The generated request/response functions that got resolved for each field.

        • cloudWatchLogsRoleArn (string) --

          The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account.

      • userPoolConfig (dict) --

        The Amazon Cognito User Pool configuration.

        • userPoolId (string) --

          The user pool ID.

        • awsRegion (string) --

          The AWS region in which the user pool was created.

        • defaultAction (string) --

          The action that you want your GraphQL API to take when a request that uses Amazon Cognito User Pool authentication doesn't match the Amazon Cognito User Pool configuration.

        • appIdClientRegex (string) --

          A regular expression for validating the incoming Amazon Cognito User Pool app client ID.

      • openIDConnectConfig (dict) --

        The Open Id Connect configuration.

        • issuer (string) --

          The issuer for the open id connect 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 Provider. This identifier is typically obtained when the Relying party is registered with the OpenID Provider. You can specify a regular expression so the AWS AppSync can validate against multiple client identifiers at a time

        • iatTTL (integer) --

          The number of milliseconds a token is valid after being issued to a user.

        • authTTL (integer) --

          The number of milliseconds a token is valid after being authenticated.

      • arn (string) --

        The ARN.

      • uris (dict) --

        The URIs.

        • (string) --

          • (string) --