github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/appsync/graphQLApi.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package appsync
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  type GraphQLApi struct {
    16  	pulumi.CustomResourceState
    17  
    18  	// One or more additional authentication providers for the GraphqlApi. Defined below.
    19  	AdditionalAuthenticationProviders GraphQLApiAdditionalAuthenticationProviderArrayOutput `pulumi:"additionalAuthenticationProviders"`
    20  	// ARN
    21  	Arn pulumi.StringOutput `pulumi:"arn"`
    22  	// Authentication type. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`
    23  	AuthenticationType pulumi.StringOutput `pulumi:"authenticationType"`
    24  	// Sets the value of the GraphQL API to enable (`ENABLED`) or disable (`DISABLED`) introspection. 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](https://graphql.org/learn/introspection/).
    25  	IntrospectionConfig pulumi.StringPtrOutput `pulumi:"introspectionConfig"`
    26  	// Nested argument containing Lambda authorizer configuration. Defined below.
    27  	LambdaAuthorizerConfig GraphQLApiLambdaAuthorizerConfigPtrOutput `pulumi:"lambdaAuthorizerConfig"`
    28  	// Nested argument containing logging configuration. Defined below.
    29  	LogConfig GraphQLApiLogConfigPtrOutput `pulumi:"logConfig"`
    30  	// User-supplied name for the GraphqlApi.
    31  	Name pulumi.StringOutput `pulumi:"name"`
    32  	// Nested argument containing OpenID Connect configuration. Defined below.
    33  	OpenidConnectConfig GraphQLApiOpenidConnectConfigPtrOutput `pulumi:"openidConnectConfig"`
    34  	// The maximum depth a query can have in a single request. 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.
    35  	//
    36  	// 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.
    37  	QueryDepthLimit pulumi.IntPtrOutput `pulumi:"queryDepthLimit"`
    38  	// The maximum number of resolvers that can be invoked in a single request. 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.
    39  	ResolverCountLimit pulumi.IntPtrOutput `pulumi:"resolverCountLimit"`
    40  	// Schema definition, in GraphQL schema language format. This provider cannot perform drift detection of this configuration.
    41  	Schema pulumi.StringPtrOutput `pulumi:"schema"`
    42  	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    43  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    44  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    45  	//
    46  	// Deprecated: Please use `tags` instead.
    47  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    48  	// Map of URIs associated with the APIE.g., `uris["GRAPHQL"] = https://ID.appsync-api.REGION.amazonaws.com/graphql`
    49  	Uris pulumi.StringMapOutput `pulumi:"uris"`
    50  	// Amazon Cognito User Pool configuration. Defined below.
    51  	UserPoolConfig GraphQLApiUserPoolConfigPtrOutput `pulumi:"userPoolConfig"`
    52  	// Sets the value of the GraphQL API to public (`GLOBAL`) or private (`PRIVATE`). If no value is provided, the visibility will be set to `GLOBAL` by default. This value cannot be changed once the API has been created.
    53  	Visibility pulumi.StringPtrOutput `pulumi:"visibility"`
    54  	// Whether tracing with X-ray is enabled. Defaults to false.
    55  	XrayEnabled pulumi.BoolPtrOutput `pulumi:"xrayEnabled"`
    56  }
    57  
    58  // NewGraphQLApi registers a new resource with the given unique name, arguments, and options.
    59  func NewGraphQLApi(ctx *pulumi.Context,
    60  	name string, args *GraphQLApiArgs, opts ...pulumi.ResourceOption) (*GraphQLApi, error) {
    61  	if args == nil {
    62  		return nil, errors.New("missing one or more required arguments")
    63  	}
    64  
    65  	if args.AuthenticationType == nil {
    66  		return nil, errors.New("invalid value for required argument 'AuthenticationType'")
    67  	}
    68  	opts = internal.PkgResourceDefaultOpts(opts)
    69  	var resource GraphQLApi
    70  	err := ctx.RegisterResource("aws:appsync/graphQLApi:GraphQLApi", name, args, &resource, opts...)
    71  	if err != nil {
    72  		return nil, err
    73  	}
    74  	return &resource, nil
    75  }
    76  
    77  // GetGraphQLApi gets an existing GraphQLApi resource's state with the given name, ID, and optional
    78  // state properties that are used to uniquely qualify the lookup (nil if not required).
    79  func GetGraphQLApi(ctx *pulumi.Context,
    80  	name string, id pulumi.IDInput, state *GraphQLApiState, opts ...pulumi.ResourceOption) (*GraphQLApi, error) {
    81  	var resource GraphQLApi
    82  	err := ctx.ReadResource("aws:appsync/graphQLApi:GraphQLApi", name, id, state, &resource, opts...)
    83  	if err != nil {
    84  		return nil, err
    85  	}
    86  	return &resource, nil
    87  }
    88  
    89  // Input properties used for looking up and filtering GraphQLApi resources.
    90  type graphQLApiState struct {
    91  	// One or more additional authentication providers for the GraphqlApi. Defined below.
    92  	AdditionalAuthenticationProviders []GraphQLApiAdditionalAuthenticationProvider `pulumi:"additionalAuthenticationProviders"`
    93  	// ARN
    94  	Arn *string `pulumi:"arn"`
    95  	// Authentication type. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`
    96  	AuthenticationType *string `pulumi:"authenticationType"`
    97  	// Sets the value of the GraphQL API to enable (`ENABLED`) or disable (`DISABLED`) introspection. 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](https://graphql.org/learn/introspection/).
    98  	IntrospectionConfig *string `pulumi:"introspectionConfig"`
    99  	// Nested argument containing Lambda authorizer configuration. Defined below.
   100  	LambdaAuthorizerConfig *GraphQLApiLambdaAuthorizerConfig `pulumi:"lambdaAuthorizerConfig"`
   101  	// Nested argument containing logging configuration. Defined below.
   102  	LogConfig *GraphQLApiLogConfig `pulumi:"logConfig"`
   103  	// User-supplied name for the GraphqlApi.
   104  	Name *string `pulumi:"name"`
   105  	// Nested argument containing OpenID Connect configuration. Defined below.
   106  	OpenidConnectConfig *GraphQLApiOpenidConnectConfig `pulumi:"openidConnectConfig"`
   107  	// The maximum depth a query can have in a single request. 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.
   108  	//
   109  	// 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.
   110  	QueryDepthLimit *int `pulumi:"queryDepthLimit"`
   111  	// The maximum number of resolvers that can be invoked in a single request. 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.
   112  	ResolverCountLimit *int `pulumi:"resolverCountLimit"`
   113  	// Schema definition, in GraphQL schema language format. This provider cannot perform drift detection of this configuration.
   114  	Schema *string `pulumi:"schema"`
   115  	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   116  	Tags map[string]string `pulumi:"tags"`
   117  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   118  	//
   119  	// Deprecated: Please use `tags` instead.
   120  	TagsAll map[string]string `pulumi:"tagsAll"`
   121  	// Map of URIs associated with the APIE.g., `uris["GRAPHQL"] = https://ID.appsync-api.REGION.amazonaws.com/graphql`
   122  	Uris map[string]string `pulumi:"uris"`
   123  	// Amazon Cognito User Pool configuration. Defined below.
   124  	UserPoolConfig *GraphQLApiUserPoolConfig `pulumi:"userPoolConfig"`
   125  	// Sets the value of the GraphQL API to public (`GLOBAL`) or private (`PRIVATE`). If no value is provided, the visibility will be set to `GLOBAL` by default. This value cannot be changed once the API has been created.
   126  	Visibility *string `pulumi:"visibility"`
   127  	// Whether tracing with X-ray is enabled. Defaults to false.
   128  	XrayEnabled *bool `pulumi:"xrayEnabled"`
   129  }
   130  
   131  type GraphQLApiState struct {
   132  	// One or more additional authentication providers for the GraphqlApi. Defined below.
   133  	AdditionalAuthenticationProviders GraphQLApiAdditionalAuthenticationProviderArrayInput
   134  	// ARN
   135  	Arn pulumi.StringPtrInput
   136  	// Authentication type. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`
   137  	AuthenticationType pulumi.StringPtrInput
   138  	// Sets the value of the GraphQL API to enable (`ENABLED`) or disable (`DISABLED`) introspection. 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](https://graphql.org/learn/introspection/).
   139  	IntrospectionConfig pulumi.StringPtrInput
   140  	// Nested argument containing Lambda authorizer configuration. Defined below.
   141  	LambdaAuthorizerConfig GraphQLApiLambdaAuthorizerConfigPtrInput
   142  	// Nested argument containing logging configuration. Defined below.
   143  	LogConfig GraphQLApiLogConfigPtrInput
   144  	// User-supplied name for the GraphqlApi.
   145  	Name pulumi.StringPtrInput
   146  	// Nested argument containing OpenID Connect configuration. Defined below.
   147  	OpenidConnectConfig GraphQLApiOpenidConnectConfigPtrInput
   148  	// The maximum depth a query can have in a single request. 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.
   149  	//
   150  	// 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.
   151  	QueryDepthLimit pulumi.IntPtrInput
   152  	// The maximum number of resolvers that can be invoked in a single request. 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.
   153  	ResolverCountLimit pulumi.IntPtrInput
   154  	// Schema definition, in GraphQL schema language format. This provider cannot perform drift detection of this configuration.
   155  	Schema pulumi.StringPtrInput
   156  	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   157  	Tags pulumi.StringMapInput
   158  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   159  	//
   160  	// Deprecated: Please use `tags` instead.
   161  	TagsAll pulumi.StringMapInput
   162  	// Map of URIs associated with the APIE.g., `uris["GRAPHQL"] = https://ID.appsync-api.REGION.amazonaws.com/graphql`
   163  	Uris pulumi.StringMapInput
   164  	// Amazon Cognito User Pool configuration. Defined below.
   165  	UserPoolConfig GraphQLApiUserPoolConfigPtrInput
   166  	// Sets the value of the GraphQL API to public (`GLOBAL`) or private (`PRIVATE`). If no value is provided, the visibility will be set to `GLOBAL` by default. This value cannot be changed once the API has been created.
   167  	Visibility pulumi.StringPtrInput
   168  	// Whether tracing with X-ray is enabled. Defaults to false.
   169  	XrayEnabled pulumi.BoolPtrInput
   170  }
   171  
   172  func (GraphQLApiState) ElementType() reflect.Type {
   173  	return reflect.TypeOf((*graphQLApiState)(nil)).Elem()
   174  }
   175  
   176  type graphQLApiArgs struct {
   177  	// One or more additional authentication providers for the GraphqlApi. Defined below.
   178  	AdditionalAuthenticationProviders []GraphQLApiAdditionalAuthenticationProvider `pulumi:"additionalAuthenticationProviders"`
   179  	// Authentication type. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`
   180  	AuthenticationType string `pulumi:"authenticationType"`
   181  	// Sets the value of the GraphQL API to enable (`ENABLED`) or disable (`DISABLED`) introspection. 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](https://graphql.org/learn/introspection/).
   182  	IntrospectionConfig *string `pulumi:"introspectionConfig"`
   183  	// Nested argument containing Lambda authorizer configuration. Defined below.
   184  	LambdaAuthorizerConfig *GraphQLApiLambdaAuthorizerConfig `pulumi:"lambdaAuthorizerConfig"`
   185  	// Nested argument containing logging configuration. Defined below.
   186  	LogConfig *GraphQLApiLogConfig `pulumi:"logConfig"`
   187  	// User-supplied name for the GraphqlApi.
   188  	Name *string `pulumi:"name"`
   189  	// Nested argument containing OpenID Connect configuration. Defined below.
   190  	OpenidConnectConfig *GraphQLApiOpenidConnectConfig `pulumi:"openidConnectConfig"`
   191  	// The maximum depth a query can have in a single request. 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.
   192  	//
   193  	// 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.
   194  	QueryDepthLimit *int `pulumi:"queryDepthLimit"`
   195  	// The maximum number of resolvers that can be invoked in a single request. 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.
   196  	ResolverCountLimit *int `pulumi:"resolverCountLimit"`
   197  	// Schema definition, in GraphQL schema language format. This provider cannot perform drift detection of this configuration.
   198  	Schema *string `pulumi:"schema"`
   199  	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   200  	Tags map[string]string `pulumi:"tags"`
   201  	// Amazon Cognito User Pool configuration. Defined below.
   202  	UserPoolConfig *GraphQLApiUserPoolConfig `pulumi:"userPoolConfig"`
   203  	// Sets the value of the GraphQL API to public (`GLOBAL`) or private (`PRIVATE`). If no value is provided, the visibility will be set to `GLOBAL` by default. This value cannot be changed once the API has been created.
   204  	Visibility *string `pulumi:"visibility"`
   205  	// Whether tracing with X-ray is enabled. Defaults to false.
   206  	XrayEnabled *bool `pulumi:"xrayEnabled"`
   207  }
   208  
   209  // The set of arguments for constructing a GraphQLApi resource.
   210  type GraphQLApiArgs struct {
   211  	// One or more additional authentication providers for the GraphqlApi. Defined below.
   212  	AdditionalAuthenticationProviders GraphQLApiAdditionalAuthenticationProviderArrayInput
   213  	// Authentication type. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`
   214  	AuthenticationType pulumi.StringInput
   215  	// Sets the value of the GraphQL API to enable (`ENABLED`) or disable (`DISABLED`) introspection. 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](https://graphql.org/learn/introspection/).
   216  	IntrospectionConfig pulumi.StringPtrInput
   217  	// Nested argument containing Lambda authorizer configuration. Defined below.
   218  	LambdaAuthorizerConfig GraphQLApiLambdaAuthorizerConfigPtrInput
   219  	// Nested argument containing logging configuration. Defined below.
   220  	LogConfig GraphQLApiLogConfigPtrInput
   221  	// User-supplied name for the GraphqlApi.
   222  	Name pulumi.StringPtrInput
   223  	// Nested argument containing OpenID Connect configuration. Defined below.
   224  	OpenidConnectConfig GraphQLApiOpenidConnectConfigPtrInput
   225  	// The maximum depth a query can have in a single request. 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.
   226  	//
   227  	// 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.
   228  	QueryDepthLimit pulumi.IntPtrInput
   229  	// The maximum number of resolvers that can be invoked in a single request. 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.
   230  	ResolverCountLimit pulumi.IntPtrInput
   231  	// Schema definition, in GraphQL schema language format. This provider cannot perform drift detection of this configuration.
   232  	Schema pulumi.StringPtrInput
   233  	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   234  	Tags pulumi.StringMapInput
   235  	// Amazon Cognito User Pool configuration. Defined below.
   236  	UserPoolConfig GraphQLApiUserPoolConfigPtrInput
   237  	// Sets the value of the GraphQL API to public (`GLOBAL`) or private (`PRIVATE`). If no value is provided, the visibility will be set to `GLOBAL` by default. This value cannot be changed once the API has been created.
   238  	Visibility pulumi.StringPtrInput
   239  	// Whether tracing with X-ray is enabled. Defaults to false.
   240  	XrayEnabled pulumi.BoolPtrInput
   241  }
   242  
   243  func (GraphQLApiArgs) ElementType() reflect.Type {
   244  	return reflect.TypeOf((*graphQLApiArgs)(nil)).Elem()
   245  }
   246  
   247  type GraphQLApiInput interface {
   248  	pulumi.Input
   249  
   250  	ToGraphQLApiOutput() GraphQLApiOutput
   251  	ToGraphQLApiOutputWithContext(ctx context.Context) GraphQLApiOutput
   252  }
   253  
   254  func (*GraphQLApi) ElementType() reflect.Type {
   255  	return reflect.TypeOf((**GraphQLApi)(nil)).Elem()
   256  }
   257  
   258  func (i *GraphQLApi) ToGraphQLApiOutput() GraphQLApiOutput {
   259  	return i.ToGraphQLApiOutputWithContext(context.Background())
   260  }
   261  
   262  func (i *GraphQLApi) ToGraphQLApiOutputWithContext(ctx context.Context) GraphQLApiOutput {
   263  	return pulumi.ToOutputWithContext(ctx, i).(GraphQLApiOutput)
   264  }
   265  
   266  // GraphQLApiArrayInput is an input type that accepts GraphQLApiArray and GraphQLApiArrayOutput values.
   267  // You can construct a concrete instance of `GraphQLApiArrayInput` via:
   268  //
   269  //	GraphQLApiArray{ GraphQLApiArgs{...} }
   270  type GraphQLApiArrayInput interface {
   271  	pulumi.Input
   272  
   273  	ToGraphQLApiArrayOutput() GraphQLApiArrayOutput
   274  	ToGraphQLApiArrayOutputWithContext(context.Context) GraphQLApiArrayOutput
   275  }
   276  
   277  type GraphQLApiArray []GraphQLApiInput
   278  
   279  func (GraphQLApiArray) ElementType() reflect.Type {
   280  	return reflect.TypeOf((*[]*GraphQLApi)(nil)).Elem()
   281  }
   282  
   283  func (i GraphQLApiArray) ToGraphQLApiArrayOutput() GraphQLApiArrayOutput {
   284  	return i.ToGraphQLApiArrayOutputWithContext(context.Background())
   285  }
   286  
   287  func (i GraphQLApiArray) ToGraphQLApiArrayOutputWithContext(ctx context.Context) GraphQLApiArrayOutput {
   288  	return pulumi.ToOutputWithContext(ctx, i).(GraphQLApiArrayOutput)
   289  }
   290  
   291  // GraphQLApiMapInput is an input type that accepts GraphQLApiMap and GraphQLApiMapOutput values.
   292  // You can construct a concrete instance of `GraphQLApiMapInput` via:
   293  //
   294  //	GraphQLApiMap{ "key": GraphQLApiArgs{...} }
   295  type GraphQLApiMapInput interface {
   296  	pulumi.Input
   297  
   298  	ToGraphQLApiMapOutput() GraphQLApiMapOutput
   299  	ToGraphQLApiMapOutputWithContext(context.Context) GraphQLApiMapOutput
   300  }
   301  
   302  type GraphQLApiMap map[string]GraphQLApiInput
   303  
   304  func (GraphQLApiMap) ElementType() reflect.Type {
   305  	return reflect.TypeOf((*map[string]*GraphQLApi)(nil)).Elem()
   306  }
   307  
   308  func (i GraphQLApiMap) ToGraphQLApiMapOutput() GraphQLApiMapOutput {
   309  	return i.ToGraphQLApiMapOutputWithContext(context.Background())
   310  }
   311  
   312  func (i GraphQLApiMap) ToGraphQLApiMapOutputWithContext(ctx context.Context) GraphQLApiMapOutput {
   313  	return pulumi.ToOutputWithContext(ctx, i).(GraphQLApiMapOutput)
   314  }
   315  
   316  type GraphQLApiOutput struct{ *pulumi.OutputState }
   317  
   318  func (GraphQLApiOutput) ElementType() reflect.Type {
   319  	return reflect.TypeOf((**GraphQLApi)(nil)).Elem()
   320  }
   321  
   322  func (o GraphQLApiOutput) ToGraphQLApiOutput() GraphQLApiOutput {
   323  	return o
   324  }
   325  
   326  func (o GraphQLApiOutput) ToGraphQLApiOutputWithContext(ctx context.Context) GraphQLApiOutput {
   327  	return o
   328  }
   329  
   330  // One or more additional authentication providers for the GraphqlApi. Defined below.
   331  func (o GraphQLApiOutput) AdditionalAuthenticationProviders() GraphQLApiAdditionalAuthenticationProviderArrayOutput {
   332  	return o.ApplyT(func(v *GraphQLApi) GraphQLApiAdditionalAuthenticationProviderArrayOutput {
   333  		return v.AdditionalAuthenticationProviders
   334  	}).(GraphQLApiAdditionalAuthenticationProviderArrayOutput)
   335  }
   336  
   337  // ARN
   338  func (o GraphQLApiOutput) Arn() pulumi.StringOutput {
   339  	return o.ApplyT(func(v *GraphQLApi) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   340  }
   341  
   342  // Authentication type. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`
   343  func (o GraphQLApiOutput) AuthenticationType() pulumi.StringOutput {
   344  	return o.ApplyT(func(v *GraphQLApi) pulumi.StringOutput { return v.AuthenticationType }).(pulumi.StringOutput)
   345  }
   346  
   347  // Sets the value of the GraphQL API to enable (`ENABLED`) or disable (`DISABLED`) introspection. 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](https://graphql.org/learn/introspection/).
   348  func (o GraphQLApiOutput) IntrospectionConfig() pulumi.StringPtrOutput {
   349  	return o.ApplyT(func(v *GraphQLApi) pulumi.StringPtrOutput { return v.IntrospectionConfig }).(pulumi.StringPtrOutput)
   350  }
   351  
   352  // Nested argument containing Lambda authorizer configuration. Defined below.
   353  func (o GraphQLApiOutput) LambdaAuthorizerConfig() GraphQLApiLambdaAuthorizerConfigPtrOutput {
   354  	return o.ApplyT(func(v *GraphQLApi) GraphQLApiLambdaAuthorizerConfigPtrOutput { return v.LambdaAuthorizerConfig }).(GraphQLApiLambdaAuthorizerConfigPtrOutput)
   355  }
   356  
   357  // Nested argument containing logging configuration. Defined below.
   358  func (o GraphQLApiOutput) LogConfig() GraphQLApiLogConfigPtrOutput {
   359  	return o.ApplyT(func(v *GraphQLApi) GraphQLApiLogConfigPtrOutput { return v.LogConfig }).(GraphQLApiLogConfigPtrOutput)
   360  }
   361  
   362  // User-supplied name for the GraphqlApi.
   363  func (o GraphQLApiOutput) Name() pulumi.StringOutput {
   364  	return o.ApplyT(func(v *GraphQLApi) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   365  }
   366  
   367  // Nested argument containing OpenID Connect configuration. Defined below.
   368  func (o GraphQLApiOutput) OpenidConnectConfig() GraphQLApiOpenidConnectConfigPtrOutput {
   369  	return o.ApplyT(func(v *GraphQLApi) GraphQLApiOpenidConnectConfigPtrOutput { return v.OpenidConnectConfig }).(GraphQLApiOpenidConnectConfigPtrOutput)
   370  }
   371  
   372  // The maximum depth a query can have in a single request. 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.
   373  //
   374  // 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.
   375  func (o GraphQLApiOutput) QueryDepthLimit() pulumi.IntPtrOutput {
   376  	return o.ApplyT(func(v *GraphQLApi) pulumi.IntPtrOutput { return v.QueryDepthLimit }).(pulumi.IntPtrOutput)
   377  }
   378  
   379  // The maximum number of resolvers that can be invoked in a single request. 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.
   380  func (o GraphQLApiOutput) ResolverCountLimit() pulumi.IntPtrOutput {
   381  	return o.ApplyT(func(v *GraphQLApi) pulumi.IntPtrOutput { return v.ResolverCountLimit }).(pulumi.IntPtrOutput)
   382  }
   383  
   384  // Schema definition, in GraphQL schema language format. This provider cannot perform drift detection of this configuration.
   385  func (o GraphQLApiOutput) Schema() pulumi.StringPtrOutput {
   386  	return o.ApplyT(func(v *GraphQLApi) pulumi.StringPtrOutput { return v.Schema }).(pulumi.StringPtrOutput)
   387  }
   388  
   389  // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   390  func (o GraphQLApiOutput) Tags() pulumi.StringMapOutput {
   391  	return o.ApplyT(func(v *GraphQLApi) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   392  }
   393  
   394  // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   395  //
   396  // Deprecated: Please use `tags` instead.
   397  func (o GraphQLApiOutput) TagsAll() pulumi.StringMapOutput {
   398  	return o.ApplyT(func(v *GraphQLApi) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   399  }
   400  
   401  // Map of URIs associated with the APIE.g., `uris["GRAPHQL"] = https://ID.appsync-api.REGION.amazonaws.com/graphql`
   402  func (o GraphQLApiOutput) Uris() pulumi.StringMapOutput {
   403  	return o.ApplyT(func(v *GraphQLApi) pulumi.StringMapOutput { return v.Uris }).(pulumi.StringMapOutput)
   404  }
   405  
   406  // Amazon Cognito User Pool configuration. Defined below.
   407  func (o GraphQLApiOutput) UserPoolConfig() GraphQLApiUserPoolConfigPtrOutput {
   408  	return o.ApplyT(func(v *GraphQLApi) GraphQLApiUserPoolConfigPtrOutput { return v.UserPoolConfig }).(GraphQLApiUserPoolConfigPtrOutput)
   409  }
   410  
   411  // Sets the value of the GraphQL API to public (`GLOBAL`) or private (`PRIVATE`). If no value is provided, the visibility will be set to `GLOBAL` by default. This value cannot be changed once the API has been created.
   412  func (o GraphQLApiOutput) Visibility() pulumi.StringPtrOutput {
   413  	return o.ApplyT(func(v *GraphQLApi) pulumi.StringPtrOutput { return v.Visibility }).(pulumi.StringPtrOutput)
   414  }
   415  
   416  // Whether tracing with X-ray is enabled. Defaults to false.
   417  func (o GraphQLApiOutput) XrayEnabled() pulumi.BoolPtrOutput {
   418  	return o.ApplyT(func(v *GraphQLApi) pulumi.BoolPtrOutput { return v.XrayEnabled }).(pulumi.BoolPtrOutput)
   419  }
   420  
   421  type GraphQLApiArrayOutput struct{ *pulumi.OutputState }
   422  
   423  func (GraphQLApiArrayOutput) ElementType() reflect.Type {
   424  	return reflect.TypeOf((*[]*GraphQLApi)(nil)).Elem()
   425  }
   426  
   427  func (o GraphQLApiArrayOutput) ToGraphQLApiArrayOutput() GraphQLApiArrayOutput {
   428  	return o
   429  }
   430  
   431  func (o GraphQLApiArrayOutput) ToGraphQLApiArrayOutputWithContext(ctx context.Context) GraphQLApiArrayOutput {
   432  	return o
   433  }
   434  
   435  func (o GraphQLApiArrayOutput) Index(i pulumi.IntInput) GraphQLApiOutput {
   436  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *GraphQLApi {
   437  		return vs[0].([]*GraphQLApi)[vs[1].(int)]
   438  	}).(GraphQLApiOutput)
   439  }
   440  
   441  type GraphQLApiMapOutput struct{ *pulumi.OutputState }
   442  
   443  func (GraphQLApiMapOutput) ElementType() reflect.Type {
   444  	return reflect.TypeOf((*map[string]*GraphQLApi)(nil)).Elem()
   445  }
   446  
   447  func (o GraphQLApiMapOutput) ToGraphQLApiMapOutput() GraphQLApiMapOutput {
   448  	return o
   449  }
   450  
   451  func (o GraphQLApiMapOutput) ToGraphQLApiMapOutputWithContext(ctx context.Context) GraphQLApiMapOutput {
   452  	return o
   453  }
   454  
   455  func (o GraphQLApiMapOutput) MapIndex(k pulumi.StringInput) GraphQLApiOutput {
   456  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *GraphQLApi {
   457  		return vs[0].(map[string]*GraphQLApi)[vs[1].(string)]
   458  	}).(GraphQLApiOutput)
   459  }
   460  
   461  func init() {
   462  	pulumi.RegisterInputType(reflect.TypeOf((*GraphQLApiInput)(nil)).Elem(), &GraphQLApi{})
   463  	pulumi.RegisterInputType(reflect.TypeOf((*GraphQLApiArrayInput)(nil)).Elem(), GraphQLApiArray{})
   464  	pulumi.RegisterInputType(reflect.TypeOf((*GraphQLApiMapInput)(nil)).Elem(), GraphQLApiMap{})
   465  	pulumi.RegisterOutputType(GraphQLApiOutput{})
   466  	pulumi.RegisterOutputType(GraphQLApiArrayOutput{})
   467  	pulumi.RegisterOutputType(GraphQLApiMapOutput{})
   468  }