aws_sdk_appsync/client/
create_resolver.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 [`CreateResolver`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`api_id(impl Into<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::api_id) / [`set_api_id(Option<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_api_id):<br>required: **true**<br><p>The ID for the GraphQL API for which the resolver is being created.</p><br>
7    ///   - [`type_name(impl Into<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::type_name) / [`set_type_name(Option<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_type_name):<br>required: **true**<br><p>The name of the <code>Type</code>.</p><br>
8    ///   - [`field_name(impl Into<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::field_name) / [`set_field_name(Option<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_field_name):<br>required: **true**<br><p>The name of the field to attach the resolver to.</p><br>
9    ///   - [`data_source_name(impl Into<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::data_source_name) / [`set_data_source_name(Option<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_data_source_name):<br>required: **false**<br><p>The name of the data source for which the resolver is being created.</p><br>
10    ///   - [`request_mapping_template(impl Into<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::request_mapping_template) / [`set_request_mapping_template(Option<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_request_mapping_template):<br>required: **false**<br><p>The mapping template to use for requests.</p> <p>A resolver uses a request mapping template to convert a GraphQL expression into a format that a data source can understand. Mapping templates are written in Apache Velocity Template Language (VTL).</p> <p>VTL request mapping templates are optional when using an Lambda data source. For all other data sources, VTL request and response mapping templates are required.</p><br>
11    ///   - [`response_mapping_template(impl Into<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::response_mapping_template) / [`set_response_mapping_template(Option<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_response_mapping_template):<br>required: **false**<br><p>The mapping template to use for responses from the data source.</p><br>
12    ///   - [`kind(ResolverKind)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::kind) / [`set_kind(Option<ResolverKind>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_kind):<br>required: **false**<br><p>The resolver type.</p> <ul>  <li>   <p><b>UNIT</b>: A UNIT resolver type. A UNIT resolver is the default resolver type. You can use a UNIT resolver to run a GraphQL query against a single data source.</p></li>  <li>   <p><b>PIPELINE</b>: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of <code>Function</code> objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against multiple data sources.</p></li> </ul><br>
13    ///   - [`pipeline_config(PipelineConfig)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::pipeline_config) / [`set_pipeline_config(Option<PipelineConfig>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_pipeline_config):<br>required: **false**<br><p>The <code>PipelineConfig</code>.</p><br>
14    ///   - [`sync_config(SyncConfig)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::sync_config) / [`set_sync_config(Option<SyncConfig>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_sync_config):<br>required: **false**<br><p>The <code>SyncConfig</code> for a resolver attached to a versioned data source.</p><br>
15    ///   - [`caching_config(CachingConfig)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::caching_config) / [`set_caching_config(Option<CachingConfig>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_caching_config):<br>required: **false**<br><p>The caching configuration for the resolver.</p><br>
16    ///   - [`max_batch_size(i32)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::max_batch_size) / [`set_max_batch_size(Option<i32>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_max_batch_size):<br>required: **false**<br><p>The maximum batching size for a resolver.</p><br>
17    ///   - [`runtime(AppSyncRuntime)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::runtime) / [`set_runtime(Option<AppSyncRuntime>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_runtime):<br>required: **false**<br><p>Describes a runtime used by an Amazon Web Services AppSync pipeline resolver or Amazon Web Services AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified.</p><br>
18    ///   - [`code(impl Into<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::code) / [`set_code(Option<String>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_code):<br>required: **false**<br><p>The <code>resolver</code> code that contains the request and response functions. When code is used, the <code>runtime</code> is required. The <code>runtime</code> value must be <code>APPSYNC_JS</code>.</p><br>
19    ///   - [`metrics_config(ResolverLevelMetricsConfig)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::metrics_config) / [`set_metrics_config(Option<ResolverLevelMetricsConfig>)`](crate::operation::create_resolver::builders::CreateResolverFluentBuilder::set_metrics_config):<br>required: **false**<br><p>Enables or disables enhanced resolver metrics for specified resolvers. Note that <code>metricsConfig</code> won't be used unless the <code>resolverLevelMetricsBehavior</code> value is set to <code>PER_RESOLVER_METRICS</code>. If the <code>resolverLevelMetricsBehavior</code> is set to <code>FULL_REQUEST_RESOLVER_METRICS</code> instead, <code>metricsConfig</code> will be ignored. However, you can still set its value.</p> <p><code>metricsConfig</code> can be <code>ENABLED</code> or <code>DISABLED</code>.</p><br>
20    /// - On success, responds with [`CreateResolverOutput`](crate::operation::create_resolver::CreateResolverOutput) with field(s):
21    ///   - [`resolver(Option<Resolver>)`](crate::operation::create_resolver::CreateResolverOutput::resolver): <p>The <code>Resolver</code> object.</p>
22    /// - On failure, responds with [`SdkError<CreateResolverError>`](crate::operation::create_resolver::CreateResolverError)
23    pub fn create_resolver(&self) -> crate::operation::create_resolver::builders::CreateResolverFluentBuilder {
24        crate::operation::create_resolver::builders::CreateResolverFluentBuilder::new(self.handle.clone())
25    }
26}