Class CfnGraphQLApi

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:49.435Z") @Stability(Stable) public class CfnGraphQLApi extends CfnResource implements IInspectable
A CloudFormation AWS::AppSync::GraphQLApi.

The AWS::AppSync::GraphQLApi resource creates a new AWS AppSync GraphQL API. This is the top-level construct for your application. For more information, see Quick Start in the AWS AppSync Developer Guide .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.appsync.*;
 CfnGraphQLApi cfnGraphQLApi = CfnGraphQLApi.Builder.create(this, "MyCfnGraphQLApi")
         .authenticationType("authenticationType")
         .name("name")
         // the properties below are optional
         .additionalAuthenticationProviders(List.of(AdditionalAuthenticationProviderProperty.builder()
                 .authenticationType("authenticationType")
                 // the properties below are optional
                 .lambdaAuthorizerConfig(LambdaAuthorizerConfigProperty.builder()
                         .authorizerResultTtlInSeconds(123)
                         .authorizerUri("authorizerUri")
                         .identityValidationExpression("identityValidationExpression")
                         .build())
                 .openIdConnectConfig(OpenIDConnectConfigProperty.builder()
                         .authTtl(123)
                         .clientId("clientId")
                         .iatTtl(123)
                         .issuer("issuer")
                         .build())
                 .userPoolConfig(CognitoUserPoolConfigProperty.builder()
                         .appIdClientRegex("appIdClientRegex")
                         .awsRegion("awsRegion")
                         .userPoolId("userPoolId")
                         .build())
                 .build()))
         .apiType("apiType")
         .lambdaAuthorizerConfig(LambdaAuthorizerConfigProperty.builder()
                 .authorizerResultTtlInSeconds(123)
                 .authorizerUri("authorizerUri")
                 .identityValidationExpression("identityValidationExpression")
                 .build())
         .logConfig(LogConfigProperty.builder()
                 .cloudWatchLogsRoleArn("cloudWatchLogsRoleArn")
                 .excludeVerboseContent(false)
                 .fieldLogLevel("fieldLogLevel")
                 .build())
         .mergedApiExecutionRoleArn("mergedApiExecutionRoleArn")
         .openIdConnectConfig(OpenIDConnectConfigProperty.builder()
                 .authTtl(123)
                 .clientId("clientId")
                 .iatTtl(123)
                 .issuer("issuer")
                 .build())
         .ownerContact("ownerContact")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .userPoolConfig(UserPoolConfigProperty.builder()
                 .appIdClientRegex("appIdClientRegex")
                 .awsRegion("awsRegion")
                 .defaultAction("defaultAction")
                 .userPoolId("userPoolId")
                 .build())
         .visibility("visibility")
         .xrayEnabled(false)
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnGraphQLApi

      protected CfnGraphQLApi(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnGraphQLApi

      protected CfnGraphQLApi(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnGraphQLApi

      @Stability(Stable) public CfnGraphQLApi(@NotNull Construct scope, @NotNull String id, @NotNull CfnGraphQLApiProps props)
      Create a new AWS::AppSync::GraphQLApi.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrApiId

      @Stability(Stable) @NotNull public String getAttrApiId()
      Unique AWS AppSync GraphQL API identifier.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid .
    • getAttrGraphQlDns

      @Stability(Stable) @NotNull public String getAttrGraphQlDns()
      The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API.
    • getAttrGraphQlUrl

      @Stability(Stable) @NotNull public String getAttrGraphQlUrl()
      The Endpoint URL of your GraphQL API.
    • getAttrRealtimeDns

      @Stability(Stable) @NotNull public String getAttrRealtimeDns()
      The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API.
    • getAttrRealtimeUrl

      @Stability(Stable) @NotNull public String getAttrRealtimeUrl()
      The GraphQL API real-time endpoint URL.

      For more information, see Discovering the real-time endpoint from the GraphQL endpoint .

    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      An arbitrary set of tags (key-value pairs) for this GraphQL API.
    • getAuthenticationType

      @Stability(Stable) @NotNull public String getAuthenticationType()
      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 .

    • setAuthenticationType

      @Stability(Stable) public void setAuthenticationType(@NotNull String value)
      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 .

    • getName

      @Stability(Stable) @NotNull public String getName()
      The API name.
    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      The API name.
    • getAdditionalAuthenticationProviders

      @Stability(Stable) @Nullable public Object getAdditionalAuthenticationProviders()
      A list of additional authentication providers for the GraphqlApi API.
    • setAdditionalAuthenticationProviders

      @Stability(Stable) public void setAdditionalAuthenticationProviders(@Nullable IResolvable value)
      A list of additional authentication providers for the GraphqlApi API.
    • setAdditionalAuthenticationProviders

      @Stability(Stable) public void setAdditionalAuthenticationProviders(@Nullable List<Object> value)
      A list of additional authentication providers for the GraphqlApi API.
    • getApiType

      @Stability(Stable) @Nullable public String getApiType()
      The value that indicates whether the GraphQL API is a standard API ( GRAPHQL ) or merged API ( MERGED ).

      The following values are valid:

      GRAPHQL | MERGED

    • setApiType

      @Stability(Stable) public void setApiType(@Nullable String value)
      The value that indicates whether the GraphQL API is a standard API ( GRAPHQL ) or merged API ( MERGED ).

      The following values are valid:

      GRAPHQL | MERGED

    • getLambdaAuthorizerConfig

      @Stability(Stable) @Nullable public Object getLambdaAuthorizerConfig()
      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.

    • setLambdaAuthorizerConfig

      @Stability(Stable) public void setLambdaAuthorizerConfig(@Nullable IResolvable value)
      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.

    • setLambdaAuthorizerConfig

      @Stability(Stable) public void setLambdaAuthorizerConfig(@Nullable CfnGraphQLApi.LambdaAuthorizerConfigProperty value)
      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.

    • getLogConfig

      @Stability(Stable) @Nullable public Object getLogConfig()
      The Amazon CloudWatch Logs configuration.
    • setLogConfig

      @Stability(Stable) public void setLogConfig(@Nullable IResolvable value)
      The Amazon CloudWatch Logs configuration.
    • setLogConfig

      @Stability(Stable) public void setLogConfig(@Nullable CfnGraphQLApi.LogConfigProperty value)
      The Amazon CloudWatch Logs configuration.
    • getMergedApiExecutionRoleArn

      @Stability(Stable) @Nullable public String getMergedApiExecutionRoleArn()
      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.

    • setMergedApiExecutionRoleArn

      @Stability(Stable) public void setMergedApiExecutionRoleArn(@Nullable String value)
      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.

    • getOpenIdConnectConfig

      @Stability(Stable) @Nullable public Object getOpenIdConnectConfig()
      The OpenID Connect configuration.
    • setOpenIdConnectConfig

      @Stability(Stable) public void setOpenIdConnectConfig(@Nullable IResolvable value)
      The OpenID Connect configuration.
    • setOpenIdConnectConfig

      @Stability(Stable) public void setOpenIdConnectConfig(@Nullable CfnGraphQLApi.OpenIDConnectConfigProperty value)
      The OpenID Connect configuration.
    • getOwnerContact

      @Stability(Stable) @Nullable public String getOwnerContact()
      The owner contact information for an API resource.

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

    • setOwnerContact

      @Stability(Stable) public void setOwnerContact(@Nullable String value)
      The owner contact information for an API resource.

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

    • getUserPoolConfig

      @Stability(Stable) @Nullable public Object getUserPoolConfig()
      Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.
    • setUserPoolConfig

      @Stability(Stable) public void setUserPoolConfig(@Nullable IResolvable value)
      Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.
    • setUserPoolConfig

      @Stability(Stable) public void setUserPoolConfig(@Nullable CfnGraphQLApi.UserPoolConfigProperty value)
      Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.
    • getVisibility

      @Stability(Stable) @Nullable public String getVisibility()
      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.

    • setVisibility

      @Stability(Stable) public void setVisibility(@Nullable String value)
      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.

    • getXrayEnabled

      @Stability(Stable) @Nullable public Object getXrayEnabled()
      A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi .
    • setXrayEnabled

      @Stability(Stable) public void setXrayEnabled(@Nullable Boolean value)
      A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi .
    • setXrayEnabled

      @Stability(Stable) public void setXrayEnabled(@Nullable IResolvable value)
      A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi .