aws_sdk_appsync/client/create_graphql_api.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateGraphqlApi`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`name(impl Into<String>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_name):<br>required: **true**<br><p>A user-supplied name for the <code>GraphqlApi</code>.</p><br>
7 /// - [`log_config(LogConfig)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::log_config) / [`set_log_config(Option<LogConfig>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_log_config):<br>required: **false**<br><p>The Amazon CloudWatch Logs configuration.</p><br>
8 /// - [`authentication_type(AuthenticationType)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::authentication_type) / [`set_authentication_type(Option<AuthenticationType>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_authentication_type):<br>required: **true**<br><p>The authentication type: API key, Identity and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, or Lambda.</p><br>
9 /// - [`user_pool_config(UserPoolConfig)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::user_pool_config) / [`set_user_pool_config(Option<UserPoolConfig>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_user_pool_config):<br>required: **false**<br><p>The Amazon Cognito user pool configuration.</p><br>
10 /// - [`open_id_connect_config(OpenIdConnectConfig)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::open_id_connect_config) / [`set_open_id_connect_config(Option<OpenIdConnectConfig>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_open_id_connect_config):<br>required: **false**<br><p>The OIDC configuration.</p><br>
11 /// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_tags):<br>required: **false**<br><p>A <code>TagMap</code> object.</p><br>
12 /// - [`additional_authentication_providers(AdditionalAuthenticationProvider)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::additional_authentication_providers) / [`set_additional_authentication_providers(Option<Vec::<AdditionalAuthenticationProvider>>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_additional_authentication_providers):<br>required: **false**<br><p>A list of additional authentication providers for the <code>GraphqlApi</code> API.</p><br>
13 /// - [`xray_enabled(bool)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::xray_enabled) / [`set_xray_enabled(Option<bool>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_xray_enabled):<br>required: **false**<br><p>A flag indicating whether to use X-Ray tracing for the <code>GraphqlApi</code>.</p><br>
14 /// - [`lambda_authorizer_config(LambdaAuthorizerConfig)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::lambda_authorizer_config) / [`set_lambda_authorizer_config(Option<LambdaAuthorizerConfig>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_lambda_authorizer_config):<br>required: **false**<br><p>Configuration for Lambda function authorization.</p><br>
15 /// - [`api_type(GraphQlApiType)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::api_type) / [`set_api_type(Option<GraphQlApiType>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_api_type):<br>required: **false**<br><p>The value that indicates whether the GraphQL API is a standard API (<code>GRAPHQL</code>) or merged API (<code>MERGED</code>).</p><br>
16 /// - [`merged_api_execution_role_arn(impl Into<String>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::merged_api_execution_role_arn) / [`set_merged_api_execution_role_arn(Option<String>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_merged_api_execution_role_arn):<br>required: **false**<br><p>The 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 <code>AUTO_MERGE</code> to update the merged API endpoint with the source API changes automatically.</p><br>
17 /// - [`visibility(GraphQlApiVisibility)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::visibility) / [`set_visibility(Option<GraphQlApiVisibility>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_visibility):<br>required: **false**<br><p>Sets the value of the GraphQL API to public (<code>GLOBAL</code>) or private (<code>PRIVATE</code>). If no value is provided, the visibility will be set to <code>GLOBAL</code> by default. This value cannot be changed once the API has been created.</p><br>
18 /// - [`owner_contact(impl Into<String>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::owner_contact) / [`set_owner_contact(Option<String>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_owner_contact):<br>required: **false**<br><p>The owner contact information for an API resource.</p> <p>This field accepts any string input with a length of 0 - 256 characters.</p><br>
19 /// - [`introspection_config(GraphQlApiIntrospectionConfig)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::introspection_config) / [`set_introspection_config(Option<GraphQlApiIntrospectionConfig>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_introspection_config):<br>required: **false**<br><p>Sets the value of the GraphQL API to enable (<code>ENABLED</code>) or disable (<code>DISABLED</code>) introspection. If no value is provided, the introspection configuration will be set to <code>ENABLED</code> by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled.</p> <p>For more information about introspection, see <a href="https://graphql.org/learn/introspection/">GraphQL introspection</a>.</p><br>
20 /// - [`query_depth_limit(i32)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::query_depth_limit) / [`set_query_depth_limit(Option<i32>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_query_depth_limit):<br>required: **false**<br><p>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 <code>0</code> (or unspecified), which indicates there's no depth limit. If you set a limit, it can be between <code>1</code> and <code>75</code> nested levels. This field will produce a limit error if the operation falls out of bounds.</p> <p>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.</p><br>
21 /// - [`resolver_count_limit(i32)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::resolver_count_limit) / [`set_resolver_count_limit(Option<i32>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_resolver_count_limit):<br>required: **false**<br><p>The maximum number of resolvers that can be invoked in a single request. The default value is <code>0</code> (or unspecified), which will set the limit to <code>10000</code>. When specified, the limit value can be between <code>1</code> and <code>10000</code>. This field will produce a limit error if the operation falls out of bounds.</p><br>
22 /// - [`enhanced_metrics_config(EnhancedMetricsConfig)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::enhanced_metrics_config) / [`set_enhanced_metrics_config(Option<EnhancedMetricsConfig>)`](crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::set_enhanced_metrics_config):<br>required: **false**<br><p>The <code>enhancedMetricsConfig</code> object.</p><br>
23 /// - On success, responds with [`CreateGraphqlApiOutput`](crate::operation::create_graphql_api::CreateGraphqlApiOutput) with field(s):
24 /// - [`graphql_api(Option<GraphqlApi>)`](crate::operation::create_graphql_api::CreateGraphqlApiOutput::graphql_api): <p>The <code>GraphqlApi</code>.</p>
25 /// - On failure, responds with [`SdkError<CreateGraphqlApiError>`](crate::operation::create_graphql_api::CreateGraphqlApiError)
26 pub fn create_graphql_api(&self) -> crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder {
27 crate::operation::create_graphql_api::builders::CreateGraphqlApiFluentBuilder::new(self.handle.clone())
28 }
29}