Show / Hide Table of Contents

Class CfnGraphQLApiProps

Properties for defining a CfnGraphQLApi.

Inheritance
object
CfnGraphQLApiProps
Implements
ICfnGraphQLApiProps
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Amazon.CDK.AWS.AppSync
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnGraphQLApiProps : ICfnGraphQLApiProps
Syntax (vb)
Public Class CfnGraphQLApiProps Implements ICfnGraphQLApiProps
Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
             // The values are placeholders you should change.
             using Amazon.CDK.AWS.AppSync;

             var cfnGraphQLApiProps = new CfnGraphQLApiProps {
                 AuthenticationType = "authenticationType",
                 Name = "name",

                 // the properties below are optional
                 AdditionalAuthenticationProviders = new [] { new AdditionalAuthenticationProviderProperty {
                     AuthenticationType = "authenticationType",

                     // the properties below are optional
                     LambdaAuthorizerConfig = new LambdaAuthorizerConfigProperty {
                         AuthorizerResultTtlInSeconds = 123,
                         AuthorizerUri = "authorizerUri",
                         IdentityValidationExpression = "identityValidationExpression"
                     },
                     OpenIdConnectConfig = new OpenIDConnectConfigProperty {
                         AuthTtl = 123,
                         ClientId = "clientId",
                         IatTtl = 123,
                         Issuer = "issuer"
                     },
                     UserPoolConfig = new CognitoUserPoolConfigProperty {
                         AppIdClientRegex = "appIdClientRegex",
                         AwsRegion = "awsRegion",
                         UserPoolId = "userPoolId"
                     }
                 } },
                 ApiType = "apiType",
                 EnhancedMetricsConfig = new EnhancedMetricsConfigProperty {
                     DataSourceLevelMetricsBehavior = "dataSourceLevelMetricsBehavior",
                     OperationLevelMetricsConfig = "operationLevelMetricsConfig",
                     ResolverLevelMetricsBehavior = "resolverLevelMetricsBehavior"
                 },
                 EnvironmentVariables = new Dictionary<string, string> {
                     { "environmentVariablesKey", "environmentVariables" }
                 },
                 IntrospectionConfig = "introspectionConfig",
                 LambdaAuthorizerConfig = new LambdaAuthorizerConfigProperty {
                     AuthorizerResultTtlInSeconds = 123,
                     AuthorizerUri = "authorizerUri",
                     IdentityValidationExpression = "identityValidationExpression"
                 },
                 LogConfig = new LogConfigProperty {
                     CloudWatchLogsRoleArn = "cloudWatchLogsRoleArn",
                     ExcludeVerboseContent = false,
                     FieldLogLevel = "fieldLogLevel"
                 },
                 MergedApiExecutionRoleArn = "mergedApiExecutionRoleArn",
                 OpenIdConnectConfig = new OpenIDConnectConfigProperty {
                     AuthTtl = 123,
                     ClientId = "clientId",
                     IatTtl = 123,
                     Issuer = "issuer"
                 },
                 OwnerContact = "ownerContact",
                 QueryDepthLimit = 123,
                 ResolverCountLimit = 123,
                 Tags = new [] { new CfnTag {
                     Key = "key",
                     Value = "value"
                 } },
                 UserPoolConfig = new UserPoolConfigProperty {
                     AppIdClientRegex = "appIdClientRegex",
                     AwsRegion = "awsRegion",
                     DefaultAction = "defaultAction",
                     UserPoolId = "userPoolId"
                 },
                 Visibility = "visibility",
                 XrayEnabled = false
             };

Synopsis

Constructors

CfnGraphQLApiProps()

Properties for defining a CfnGraphQLApi.

Properties

AdditionalAuthenticationProviders

A list of additional authentication providers for the GraphqlApi API.

ApiType

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

AuthenticationType

Security configuration for your GraphQL API.

EnhancedMetricsConfig

Enables and controls the enhanced metrics feature.

EnvironmentVariables

A map containing the list of resources with their properties and environment variables.

IntrospectionConfig

Sets the value of the GraphQL API to enable ( ENABLED ) or disable ( DISABLED ) introspection.

LambdaAuthorizerConfig

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

LogConfig

The Amazon CloudWatch Logs configuration.

MergedApiExecutionRoleArn

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

Name

The API name.

OpenIdConnectConfig

The OpenID Connect configuration.

OwnerContact

The owner contact information for an API resource.

QueryDepthLimit

The maximum depth a query can have in a single request.

ResolverCountLimit

The maximum number of resolvers that can be invoked in a single request.

Tags

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

UserPoolConfig

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

Visibility

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

XrayEnabled

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

Constructors

CfnGraphQLApiProps()

Properties for defining a CfnGraphQLApi.

public CfnGraphQLApiProps()
Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
             // The values are placeholders you should change.
             using Amazon.CDK.AWS.AppSync;

             var cfnGraphQLApiProps = new CfnGraphQLApiProps {
                 AuthenticationType = "authenticationType",
                 Name = "name",

                 // the properties below are optional
                 AdditionalAuthenticationProviders = new [] { new AdditionalAuthenticationProviderProperty {
                     AuthenticationType = "authenticationType",

                     // the properties below are optional
                     LambdaAuthorizerConfig = new LambdaAuthorizerConfigProperty {
                         AuthorizerResultTtlInSeconds = 123,
                         AuthorizerUri = "authorizerUri",
                         IdentityValidationExpression = "identityValidationExpression"
                     },
                     OpenIdConnectConfig = new OpenIDConnectConfigProperty {
                         AuthTtl = 123,
                         ClientId = "clientId",
                         IatTtl = 123,
                         Issuer = "issuer"
                     },
                     UserPoolConfig = new CognitoUserPoolConfigProperty {
                         AppIdClientRegex = "appIdClientRegex",
                         AwsRegion = "awsRegion",
                         UserPoolId = "userPoolId"
                     }
                 } },
                 ApiType = "apiType",
                 EnhancedMetricsConfig = new EnhancedMetricsConfigProperty {
                     DataSourceLevelMetricsBehavior = "dataSourceLevelMetricsBehavior",
                     OperationLevelMetricsConfig = "operationLevelMetricsConfig",
                     ResolverLevelMetricsBehavior = "resolverLevelMetricsBehavior"
                 },
                 EnvironmentVariables = new Dictionary<string, string> {
                     { "environmentVariablesKey", "environmentVariables" }
                 },
                 IntrospectionConfig = "introspectionConfig",
                 LambdaAuthorizerConfig = new LambdaAuthorizerConfigProperty {
                     AuthorizerResultTtlInSeconds = 123,
                     AuthorizerUri = "authorizerUri",
                     IdentityValidationExpression = "identityValidationExpression"
                 },
                 LogConfig = new LogConfigProperty {
                     CloudWatchLogsRoleArn = "cloudWatchLogsRoleArn",
                     ExcludeVerboseContent = false,
                     FieldLogLevel = "fieldLogLevel"
                 },
                 MergedApiExecutionRoleArn = "mergedApiExecutionRoleArn",
                 OpenIdConnectConfig = new OpenIDConnectConfigProperty {
                     AuthTtl = 123,
                     ClientId = "clientId",
                     IatTtl = 123,
                     Issuer = "issuer"
                 },
                 OwnerContact = "ownerContact",
                 QueryDepthLimit = 123,
                 ResolverCountLimit = 123,
                 Tags = new [] { new CfnTag {
                     Key = "key",
                     Value = "value"
                 } },
                 UserPoolConfig = new UserPoolConfigProperty {
                     AppIdClientRegex = "appIdClientRegex",
                     AwsRegion = "awsRegion",
                     DefaultAction = "defaultAction",
                     UserPoolId = "userPoolId"
                 },
                 Visibility = "visibility",
                 XrayEnabled = false
             };

Properties

AdditionalAuthenticationProviders

A list of additional authentication providers for the GraphqlApi API.

public object? AdditionalAuthenticationProviders { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-additionalauthenticationproviders

Type union: either IResolvable or (either IResolvable or CfnGraphQLApi.IAdditionalAuthenticationProviderProperty)[]

ApiType

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

public string? ApiType { get; set; }
Property Value

string

Remarks

WARNING : If the ApiType has not been defined, explicitly setting it to GRAPHQL in a template/stack update will result in an API replacement and new DNS values.

The following values are valid:

GRAPHQL | MERGED

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-apitype

AuthenticationType

Security configuration for your GraphQL API.

public string AuthenticationType { get; set; }
Property Value

string

Remarks

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 .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-authenticationtype

EnhancedMetricsConfig

Enables and controls the enhanced metrics feature.

public object? EnhancedMetricsConfig { get; set; }
Property Value

object

Remarks

Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent.

Enhanced metrics can be configured at the resolver, data source, and operation levels. For more information, see Monitoring and logging in the AWS AppSync User Guide .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-enhancedmetricsconfig

Type union: either IResolvable or CfnGraphQLApi.IEnhancedMetricsConfigProperty

EnvironmentVariables

A map containing the list of resources with their properties and environment variables.

public object? EnvironmentVariables { get; set; }
Property Value

object

Remarks

For more information, see Environmental variables .

Pattern : ^[A-Za-z]+\w*$\

Minimum : 2

Maximum : 64

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-environmentvariables

Type union: either Dictionary<string, string> or IResolvable

IntrospectionConfig

Sets the value of the GraphQL API to enable ( ENABLED ) or disable ( DISABLED ) introspection.

public string? IntrospectionConfig { get; set; }
Property Value

string

Remarks

If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled.

For more information about introspection, see GraphQL introspection .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-introspectionconfig

LambdaAuthorizerConfig

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

public object? LambdaAuthorizerConfig { get; set; }
Property Value

object

Remarks

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-lambdaauthorizerconfig

Type union: either IResolvable or CfnGraphQLApi.ILambdaAuthorizerConfigProperty

LogConfig

The Amazon CloudWatch Logs configuration.

public object? LogConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-logconfig

Type union: either IResolvable or CfnGraphQLApi.ILogConfigProperty

MergedApiExecutionRoleArn

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

public string? MergedApiExecutionRoleArn { get; set; }
Property Value

string

Remarks

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.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-mergedapiexecutionrolearn

Name

The API name.

public string Name { get; set; }
Property Value

string

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-name

OpenIdConnectConfig

The OpenID Connect configuration.

public object? OpenIdConnectConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-openidconnectconfig

Type union: either IResolvable or CfnGraphQLApi.IOpenIDConnectConfigProperty

OwnerContact

The owner contact information for an API resource.

public string? OwnerContact { get; set; }
Property Value

string

Remarks

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-ownercontact

QueryDepthLimit

The maximum depth a query can have in a single request.

public double? QueryDepthLimit { get; set; }
Property Value

double?

Remarks

Depth refers to the amount of nested levels allowed in the body of query. The default value is 0 (or unspecified), which indicates there's no depth limit. If you set a limit, it can be between 1 and 75 nested levels. This field will produce a limit error if the operation falls out of bounds. Note that fields can still be set to nullable or non-nullable. If a non-nullable field produces an error, the error will be thrown upwards to the first nullable field available.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-querydepthlimit

ResolverCountLimit

The maximum number of resolvers that can be invoked in a single request.

public double? ResolverCountLimit { get; set; }
Property Value

double?

Remarks

The default value is 0 (or unspecified), which will set the limit to 10000 . When specified, the limit value can be between 1 and 10000 . This field will produce a limit error if the operation falls out of bounds.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-resolvercountlimit

Tags

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

public ICfnTag[]? Tags { get; set; }
Property Value

ICfnTag[]

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-tags

UserPoolConfig

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

public object? UserPoolConfig { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-userpoolconfig

Type union: either IResolvable or CfnGraphQLApi.IUserPoolConfigProperty

Visibility

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

public string? Visibility { get; set; }
Property Value

string

Remarks

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

WARNING : If Visibility has not been defined, explicitly setting it to GLOBAL in a template/stack update will result in an API replacement and new DNS values.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-visibility

XrayEnabled

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

public object? XrayEnabled { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-xrayenabled

Type union: either bool or IResolvable

Implements

ICfnGraphQLApiProps
Back to top Generated by DocFX