io.github.cdklabs.awscdk.appsync.utils.ResolvableField Maven / Gradle / Ivy
Show all versions of awscdk-appsync-utils Show documentation
package io.github.cdklabs.awscdk.appsync.utils;
/**
* Resolvable Fields build upon Graphql Types and provide fields that can resolve into operations on a data source.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-28T00:18:00.311Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = io.github.cdklabs.awscdk.appsync.utils.$Module.class, fqn = "awscdk-appsync-utils.ResolvableField")
public class ResolvableField extends io.github.cdklabs.awscdk.appsync.utils.Field implements io.github.cdklabs.awscdk.appsync.utils.IField {
protected ResolvableField(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected ResolvableField(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param options This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public ResolvableField(final @org.jetbrains.annotations.NotNull io.github.cdklabs.awscdk.appsync.utils.ResolvableFieldOptions options) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(options, "options is required") });
}
/**
* The options to make this field resolvable.
*
* Default: - not a resolvable field
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.Nullable io.github.cdklabs.awscdk.appsync.utils.ResolvableFieldOptions getFieldOptions() {
return software.amazon.jsii.Kernel.get(this, "fieldOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.awscdk.appsync.utils.ResolvableFieldOptions.class));
}
/**
* A fluent builder for {@link io.github.cdklabs.awscdk.appsync.utils.ResolvableField}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static Builder create() {
return new Builder();
}
private final io.github.cdklabs.awscdk.appsync.utils.ResolvableFieldOptions.Builder options;
private Builder() {
this.options = new io.github.cdklabs.awscdk.appsync.utils.ResolvableFieldOptions.Builder();
}
/**
* The return type for this field.
*
* @return {@code this}
* @param returnType The return type for this field. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder returnType(final io.github.cdklabs.awscdk.appsync.utils.GraphqlType returnType) {
this.options.returnType(returnType);
return this;
}
/**
* The arguments for this field.
*
* i.e. type Example (first: String second: String) {}
*
*
* - where 'first' and 'second' are key values for args
* and 'String' is the GraphqlType
*
*
* Default: - no arguments
*
* @return {@code this}
* @param args The arguments for this field. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder args(final java.util.Map args) {
this.options.args(args);
return this;
}
/**
* the directives for this field.
*
* Default: - no directives
*
* @return {@code this}
* @param directives the directives for this field. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder directives(final java.util.List extends io.github.cdklabs.awscdk.appsync.utils.Directive> directives) {
this.options.directives(directives);
return this;
}
/**
* The caching configuration for this resolver.
*
* Default: - No caching configuration
*
* @return {@code this}
* @param cachingConfig The caching configuration for this resolver. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder cachingConfig(final software.amazon.awscdk.services.appsync.CachingConfig cachingConfig) {
this.options.cachingConfig(cachingConfig);
return this;
}
/**
* The function code.
*
* Default: - no code is used
*
* @return {@code this}
* @param code The function code. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder code(final software.amazon.awscdk.services.appsync.Code code) {
this.options.code(code);
return this;
}
/**
* The data source creating linked to this resolvable field.
*
* Default: - no data source
*
* @return {@code this}
* @param dataSource The data source creating linked to this resolvable field. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder dataSource(final software.amazon.awscdk.services.appsync.BaseDataSource dataSource) {
this.options.dataSource(dataSource);
return this;
}
/**
* The maximum number of elements per batch, when using batch invoke.
*
* Default: - No max batch size
*
* @return {@code this}
* @param maxBatchSize The maximum number of elements per batch, when using batch invoke. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder maxBatchSize(final java.lang.Number maxBatchSize) {
this.options.maxBatchSize(maxBatchSize);
return this;
}
/**
* configuration of the pipeline resolver.
*
* Default: - no pipeline resolver configuration
* An empty array | undefined sets resolver to be of kind, unit
*
* @return {@code this}
* @param pipelineConfig configuration of the pipeline resolver. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder pipelineConfig(final java.util.List extends software.amazon.awscdk.services.appsync.IAppsyncFunction> pipelineConfig) {
this.options.pipelineConfig(pipelineConfig);
return this;
}
/**
* The request mapping template for this resolver.
*
* Default: - No mapping template
*
* @return {@code this}
* @param requestMappingTemplate The request mapping template for this resolver. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder requestMappingTemplate(final software.amazon.awscdk.services.appsync.MappingTemplate requestMappingTemplate) {
this.options.requestMappingTemplate(requestMappingTemplate);
return this;
}
/**
* The response mapping template for this resolver.
*
* Default: - No mapping template
*
* @return {@code this}
* @param responseMappingTemplate The response mapping template for this resolver. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder responseMappingTemplate(final software.amazon.awscdk.services.appsync.MappingTemplate responseMappingTemplate) {
this.options.responseMappingTemplate(responseMappingTemplate);
return this;
}
/**
* The functions runtime.
*
* Default: - no function runtime, VTL mapping templates used
*
* @return {@code this}
* @param runtime The functions runtime. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder runtime(final software.amazon.awscdk.services.appsync.FunctionRuntime runtime) {
this.options.runtime(runtime);
return this;
}
/**
* @return a newly built instance of {@link io.github.cdklabs.awscdk.appsync.utils.ResolvableField}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public io.github.cdklabs.awscdk.appsync.utils.ResolvableField build() {
return new io.github.cdklabs.awscdk.appsync.utils.ResolvableField(
this.options.build()
);
}
}
}