aws-cdk-lib.aws_appsync.CfnGraphQLApiProps

interface CfnGraphQLApiProps

LanguageType name
.NETAmazon.CDK.AWS.AppSync.CfnGraphQLApiProps
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsappsync#CfnGraphQLApiProps
Javasoftware.amazon.awscdk.services.appsync.CfnGraphQLApiProps
Pythonaws_cdk.aws_appsync.CfnGraphQLApiProps
TypeScript aws-cdk-lib » aws_appsync » CfnGraphQLApiProps

Properties for defining a CfnGraphQLApi.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_appsync as appsync } from 'aws-cdk-lib';
const cfnGraphQLApiProps: appsync.CfnGraphQLApiProps = {
  authenticationType: 'authenticationType',
  name: 'name',

  // the properties below are optional
  additionalAuthenticationProviders: [{
    authenticationType: 'authenticationType',

    // the properties below are optional
    lambdaAuthorizerConfig: {
      authorizerResultTtlInSeconds: 123,
      authorizerUri: 'authorizerUri',
      identityValidationExpression: 'identityValidationExpression',
    },
    openIdConnectConfig: {
      authTtl: 123,
      clientId: 'clientId',
      iatTtl: 123,
      issuer: 'issuer',
    },
    userPoolConfig: {
      appIdClientRegex: 'appIdClientRegex',
      awsRegion: 'awsRegion',
      userPoolId: 'userPoolId',
    },
  }],
  apiType: 'apiType',
  lambdaAuthorizerConfig: {
    authorizerResultTtlInSeconds: 123,
    authorizerUri: 'authorizerUri',
    identityValidationExpression: 'identityValidationExpression',
  },
  logConfig: {
    cloudWatchLogsRoleArn: 'cloudWatchLogsRoleArn',
    excludeVerboseContent: false,
    fieldLogLevel: 'fieldLogLevel',
  },
  mergedApiExecutionRoleArn: 'mergedApiExecutionRoleArn',
  openIdConnectConfig: {
    authTtl: 123,
    clientId: 'clientId',
    iatTtl: 123,
    issuer: 'issuer',
  },
  ownerContact: 'ownerContact',
  tags: [{
    key: 'key',
    value: 'value',
  }],
  userPoolConfig: {
    appIdClientRegex: 'appIdClientRegex',
    awsRegion: 'awsRegion',
    defaultAction: 'defaultAction',
    userPoolId: 'userPoolId',
  },
  visibility: 'visibility',
  xrayEnabled: false,
};

Properties

NameTypeDescription
authenticationTypestringSecurity configuration for your GraphQL API.
namestringThe API name.
additionalAuthenticationProviders?IResolvable | IResolvable | AdditionalAuthenticationProviderProperty[]A list of additional authentication providers for the GraphqlApi API.
apiType?stringThe value that indicates whether the GraphQL API is a standard API ( GRAPHQL ) or merged API ( MERGED ).
lambdaAuthorizerConfig?IResolvable | LambdaAuthorizerConfigPropertyA LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode.
logConfig?IResolvable | LogConfigPropertyThe Amazon CloudWatch Logs configuration.
mergedApiExecutionRoleArn?stringThe AWS Identity and Access Management service role ARN for a merged API.
openIdConnectConfig?IResolvable | OpenIDConnectConfigPropertyThe OpenID Connect configuration.
ownerContact?stringThe owner contact information for an API resource.
tags?CfnTag[]An arbitrary set of tags (key-value pairs) for this GraphQL API.
userPoolConfig?IResolvable | UserPoolConfigPropertyOptional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.
visibility?stringSets the scope of the GraphQL API to public ( GLOBAL ) or private ( PRIVATE ).
xrayEnabled?boolean | IResolvableA flag indicating whether to use AWS X-Ray tracing for this GraphqlApi .

authenticationType

Type: string

Security configuration for your GraphQL API.

For allowed values (such as API_KEY , AWS_IAM , AMAZON_COGNITO_USER_POOLS , OPENID_CONNECT , or AWS_LAMBDA ), see Security in the AWS AppSync Developer Guide .


name

Type: string

The API name.


additionalAuthenticationProviders?

Type: IResolvable | IResolvable | AdditionalAuthenticationProviderProperty[] (optional)

A list of additional authentication providers for the GraphqlApi API.


apiType?

Type: string (optional)

The value that indicates whether the GraphQL API is a standard API ( GRAPHQL ) or merged API ( MERGED ).

The following values are valid:

GRAPHQL | MERGED


lambdaAuthorizerConfig?

Type: IResolvable | LambdaAuthorizerConfigProperty (optional)

A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode.

Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.


logConfig?

Type: IResolvable | LogConfigProperty (optional)

The Amazon CloudWatch Logs configuration.


mergedApiExecutionRoleArn?

Type: string (optional)

The AWS Identity and Access Management service role ARN for a merged API.

The AppSync service assumes this role on behalf of the Merged API to validate access to source APIs at runtime and to prompt the AUTO_MERGE to update the merged API endpoint with the source API changes automatically.


openIdConnectConfig?

Type: IResolvable | OpenIDConnectConfigProperty (optional)

The OpenID Connect configuration.


ownerContact?

Type: string (optional)

The owner contact information for an API resource.

This field accepts any string input with a length of 0 - 256 characters.


tags?

Type: CfnTag[] (optional)

An arbitrary set of tags (key-value pairs) for this GraphQL API.


userPoolConfig?

Type: IResolvable | UserPoolConfigProperty (optional)

Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.


visibility?

Type: string (optional)

Sets the scope of the GraphQL API to public ( GLOBAL ) or private ( PRIVATE ).

By default, the scope is set to Global if no value is provided.


xrayEnabled?

Type: boolean | IResolvable (optional)

A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi .