/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.appsync.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdateResolverRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The API ID. *
*/ private String apiId; /** ** The new type name. *
*/ private String typeName; /** ** The new field name. *
*/ private String fieldName; /** ** The new data source name. *
*/ private String dataSourceName; /** ** The new request mapping template. *
** 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). *
** 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. *
*/ private String requestMappingTemplate; /** ** The new response mapping template. *
*/ private String responseMappingTemplate; /** ** The resolver type. *
** UNIT: 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. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against
* multiple data sources.
*
* The PipelineConfig
.
*
* The SyncConfig
for a resolver attached to a versioned data source.
*
* The caching configuration for the resolver. *
*/ private CachingConfig cachingConfig; /** ** The maximum batching size for a resolver. *
*/ private Integer maxBatchSize; private AppSyncRuntime runtime; /** *
* The resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*
* The API ID. *
* * @param apiId * The API ID. */ public void setApiId(String apiId) { this.apiId = apiId; } /** ** The API ID. *
* * @return The API ID. */ public String getApiId() { return this.apiId; } /** ** The API ID. *
* * @param apiId * The API ID. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateResolverRequest withApiId(String apiId) { setApiId(apiId); return this; } /** ** The new type name. *
* * @param typeName * The new type name. */ public void setTypeName(String typeName) { this.typeName = typeName; } /** ** The new type name. *
* * @return The new type name. */ public String getTypeName() { return this.typeName; } /** ** The new type name. *
* * @param typeName * The new type name. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateResolverRequest withTypeName(String typeName) { setTypeName(typeName); return this; } /** ** The new field name. *
* * @param fieldName * The new field name. */ public void setFieldName(String fieldName) { this.fieldName = fieldName; } /** ** The new field name. *
* * @return The new field name. */ public String getFieldName() { return this.fieldName; } /** ** The new field name. *
* * @param fieldName * The new field name. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateResolverRequest withFieldName(String fieldName) { setFieldName(fieldName); return this; } /** ** The new data source name. *
* * @param dataSourceName * The new data source name. */ public void setDataSourceName(String dataSourceName) { this.dataSourceName = dataSourceName; } /** ** The new data source name. *
* * @return The new data source name. */ public String getDataSourceName() { return this.dataSourceName; } /** ** The new data source name. *
* * @param dataSourceName * The new data source name. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateResolverRequest withDataSourceName(String dataSourceName) { setDataSourceName(dataSourceName); return this; } /** ** The new request mapping template. *
** 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). *
** 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. *
* * @param requestMappingTemplate * The new request mapping template. ** 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). *
** 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. */ public void setRequestMappingTemplate(String requestMappingTemplate) { this.requestMappingTemplate = requestMappingTemplate; } /** *
* The new request mapping template. *
** 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). *
** 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. *
* * @return The new request mapping template. ** 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). *
** 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. */ public String getRequestMappingTemplate() { return this.requestMappingTemplate; } /** *
* The new request mapping template. *
** 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). *
** 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. *
* * @param requestMappingTemplate * The new request mapping template. ** 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). *
** 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. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateResolverRequest withRequestMappingTemplate(String requestMappingTemplate) { setRequestMappingTemplate(requestMappingTemplate); return this; } /** *
* The new response mapping template. *
* * @param responseMappingTemplate * The new response mapping template. */ public void setResponseMappingTemplate(String responseMappingTemplate) { this.responseMappingTemplate = responseMappingTemplate; } /** ** The new response mapping template. *
* * @return The new response mapping template. */ public String getResponseMappingTemplate() { return this.responseMappingTemplate; } /** ** The new response mapping template. *
* * @param responseMappingTemplate * The new response mapping template. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateResolverRequest withResponseMappingTemplate(String responseMappingTemplate) { setResponseMappingTemplate(responseMappingTemplate); return this; } /** ** The resolver type. *
** UNIT: 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. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against
* multiple data sources.
*
* UNIT: 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. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query
* against multiple data sources.
*
* The resolver type. *
** UNIT: 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. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against
* multiple data sources.
*
* UNIT: 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. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query
* against multiple data sources.
*
* The resolver type. *
** UNIT: 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. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against
* multiple data sources.
*
* UNIT: 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. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query
* against multiple data sources.
*
* The resolver type. *
** UNIT: 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. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query against
* multiple data sources.
*
* UNIT: 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. *
*
* PIPELINE: A PIPELINE resolver type. You can use a PIPELINE resolver to invoke a series of
* Function
objects in a serial manner. You can use a pipeline resolver to run a GraphQL query
* against multiple data sources.
*
* The PipelineConfig
.
*
PipelineConfig
.
*/
public void setPipelineConfig(PipelineConfig pipelineConfig) {
this.pipelineConfig = pipelineConfig;
}
/**
*
* The PipelineConfig
.
*
PipelineConfig
.
*/
public PipelineConfig getPipelineConfig() {
return this.pipelineConfig;
}
/**
*
* The PipelineConfig
.
*
PipelineConfig
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateResolverRequest withPipelineConfig(PipelineConfig pipelineConfig) {
setPipelineConfig(pipelineConfig);
return this;
}
/**
*
* The SyncConfig
for a resolver attached to a versioned data source.
*
SyncConfig
for a resolver attached to a versioned data source.
*/
public void setSyncConfig(SyncConfig syncConfig) {
this.syncConfig = syncConfig;
}
/**
*
* The SyncConfig
for a resolver attached to a versioned data source.
*
SyncConfig
for a resolver attached to a versioned data source.
*/
public SyncConfig getSyncConfig() {
return this.syncConfig;
}
/**
*
* The SyncConfig
for a resolver attached to a versioned data source.
*
SyncConfig
for a resolver attached to a versioned data source.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateResolverRequest withSyncConfig(SyncConfig syncConfig) {
setSyncConfig(syncConfig);
return this;
}
/**
* * The caching configuration for the resolver. *
* * @param cachingConfig * The caching configuration for the resolver. */ public void setCachingConfig(CachingConfig cachingConfig) { this.cachingConfig = cachingConfig; } /** ** The caching configuration for the resolver. *
* * @return The caching configuration for the resolver. */ public CachingConfig getCachingConfig() { return this.cachingConfig; } /** ** The caching configuration for the resolver. *
* * @param cachingConfig * The caching configuration for the resolver. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateResolverRequest withCachingConfig(CachingConfig cachingConfig) { setCachingConfig(cachingConfig); return this; } /** ** The maximum batching size for a resolver. *
* * @param maxBatchSize * The maximum batching size for a resolver. */ public void setMaxBatchSize(Integer maxBatchSize) { this.maxBatchSize = maxBatchSize; } /** ** The maximum batching size for a resolver. *
* * @return The maximum batching size for a resolver. */ public Integer getMaxBatchSize() { return this.maxBatchSize; } /** ** The maximum batching size for a resolver. *
* * @param maxBatchSize * The maximum batching size for a resolver. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateResolverRequest withMaxBatchSize(Integer maxBatchSize) { setMaxBatchSize(maxBatchSize); return this; } /** * @param runtime */ public void setRuntime(AppSyncRuntime runtime) { this.runtime = runtime; } /** * @return */ public AppSyncRuntime getRuntime() { return this.runtime; } /** * @param runtime * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateResolverRequest withRuntime(AppSyncRuntime runtime) { setRuntime(runtime); return this; } /** *
* The resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*
resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*/
public void setCode(String code) {
this.code = code;
}
/**
*
* The resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*
resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*/
public String getCode() {
return this.code;
}
/**
*
* The resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
*
resolver
code that contains the request and response functions. When code is used, the
* runtime
is required. The runtime
value must be APPSYNC_JS
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateResolverRequest withCode(String code) {
setCode(code);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getApiId() != null)
sb.append("ApiId: ").append(getApiId()).append(",");
if (getTypeName() != null)
sb.append("TypeName: ").append(getTypeName()).append(",");
if (getFieldName() != null)
sb.append("FieldName: ").append(getFieldName()).append(",");
if (getDataSourceName() != null)
sb.append("DataSourceName: ").append(getDataSourceName()).append(",");
if (getRequestMappingTemplate() != null)
sb.append("RequestMappingTemplate: ").append(getRequestMappingTemplate()).append(",");
if (getResponseMappingTemplate() != null)
sb.append("ResponseMappingTemplate: ").append(getResponseMappingTemplate()).append(",");
if (getKind() != null)
sb.append("Kind: ").append(getKind()).append(",");
if (getPipelineConfig() != null)
sb.append("PipelineConfig: ").append(getPipelineConfig()).append(",");
if (getSyncConfig() != null)
sb.append("SyncConfig: ").append(getSyncConfig()).append(",");
if (getCachingConfig() != null)
sb.append("CachingConfig: ").append(getCachingConfig()).append(",");
if (getMaxBatchSize() != null)
sb.append("MaxBatchSize: ").append(getMaxBatchSize()).append(",");
if (getRuntime() != null)
sb.append("Runtime: ").append(getRuntime()).append(",");
if (getCode() != null)
sb.append("Code: ").append(getCode());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof UpdateResolverRequest == false)
return false;
UpdateResolverRequest other = (UpdateResolverRequest) obj;
if (other.getApiId() == null ^ this.getApiId() == null)
return false;
if (other.getApiId() != null && other.getApiId().equals(this.getApiId()) == false)
return false;
if (other.getTypeName() == null ^ this.getTypeName() == null)
return false;
if (other.getTypeName() != null && other.getTypeName().equals(this.getTypeName()) == false)
return false;
if (other.getFieldName() == null ^ this.getFieldName() == null)
return false;
if (other.getFieldName() != null && other.getFieldName().equals(this.getFieldName()) == false)
return false;
if (other.getDataSourceName() == null ^ this.getDataSourceName() == null)
return false;
if (other.getDataSourceName() != null && other.getDataSourceName().equals(this.getDataSourceName()) == false)
return false;
if (other.getRequestMappingTemplate() == null ^ this.getRequestMappingTemplate() == null)
return false;
if (other.getRequestMappingTemplate() != null && other.getRequestMappingTemplate().equals(this.getRequestMappingTemplate()) == false)
return false;
if (other.getResponseMappingTemplate() == null ^ this.getResponseMappingTemplate() == null)
return false;
if (other.getResponseMappingTemplate() != null && other.getResponseMappingTemplate().equals(this.getResponseMappingTemplate()) == false)
return false;
if (other.getKind() == null ^ this.getKind() == null)
return false;
if (other.getKind() != null && other.getKind().equals(this.getKind()) == false)
return false;
if (other.getPipelineConfig() == null ^ this.getPipelineConfig() == null)
return false;
if (other.getPipelineConfig() != null && other.getPipelineConfig().equals(this.getPipelineConfig()) == false)
return false;
if (other.getSyncConfig() == null ^ this.getSyncConfig() == null)
return false;
if (other.getSyncConfig() != null && other.getSyncConfig().equals(this.getSyncConfig()) == false)
return false;
if (other.getCachingConfig() == null ^ this.getCachingConfig() == null)
return false;
if (other.getCachingConfig() != null && other.getCachingConfig().equals(this.getCachingConfig()) == false)
return false;
if (other.getMaxBatchSize() == null ^ this.getMaxBatchSize() == null)
return false;
if (other.getMaxBatchSize() != null && other.getMaxBatchSize().equals(this.getMaxBatchSize()) == false)
return false;
if (other.getRuntime() == null ^ this.getRuntime() == null)
return false;
if (other.getRuntime() != null && other.getRuntime().equals(this.getRuntime()) == false)
return false;
if (other.getCode() == null ^ this.getCode() == null)
return false;
if (other.getCode() != null && other.getCode().equals(this.getCode()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getApiId() == null) ? 0 : getApiId().hashCode());
hashCode = prime * hashCode + ((getTypeName() == null) ? 0 : getTypeName().hashCode());
hashCode = prime * hashCode + ((getFieldName() == null) ? 0 : getFieldName().hashCode());
hashCode = prime * hashCode + ((getDataSourceName() == null) ? 0 : getDataSourceName().hashCode());
hashCode = prime * hashCode + ((getRequestMappingTemplate() == null) ? 0 : getRequestMappingTemplate().hashCode());
hashCode = prime * hashCode + ((getResponseMappingTemplate() == null) ? 0 : getResponseMappingTemplate().hashCode());
hashCode = prime * hashCode + ((getKind() == null) ? 0 : getKind().hashCode());
hashCode = prime * hashCode + ((getPipelineConfig() == null) ? 0 : getPipelineConfig().hashCode());
hashCode = prime * hashCode + ((getSyncConfig() == null) ? 0 : getSyncConfig().hashCode());
hashCode = prime * hashCode + ((getCachingConfig() == null) ? 0 : getCachingConfig().hashCode());
hashCode = prime * hashCode + ((getMaxBatchSize() == null) ? 0 : getMaxBatchSize().hashCode());
hashCode = prime * hashCode + ((getRuntime() == null) ? 0 : getRuntime().hashCode());
hashCode = prime * hashCode + ((getCode() == null) ? 0 : getCode().hashCode());
return hashCode;
}
@Override
public UpdateResolverRequest clone() {
return (UpdateResolverRequest) super.clone();
}
}