${fileHeader} package ${metadata.packageName}.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; <#if shape.requestSignerAware> import com.amazonaws.auth.RequestSigner; import com.amazonaws.opensdk.protect.auth.RequestSignerAware; <#elseif shape.signerAware> import com.amazonaws.auth.SignerTypeAware; <#if shape.documentation?has_content || awsDocsUrl?has_content> /** <#if shape.documentation?has_content> * ${shape.documentation} <#if awsDocsUrl?has_content> * ${awsDocsUrl} */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ${shape.shapeName} extends ${baseClassFqcn} implements Serializable, Cloneable <#if shape.requestSignerAware>, RequestSignerAware<#elseif shape.signerAware>, SignerTypeAware { <@VariableDeclarationMacro.content shape/> <#if shape.additionalConstructors?has_content> <@ConstructorDefinitionMacro.content shape/> <@MethodDefinitionMacro.content customConfig shape shape.shapeName/> <#-- Injection point for adding custom code to request classes --> <#if CustomRequestClassMethodsMacro?has_content> <@CustomRequestClassMethodsMacro.content shape/> <@OverrideMethodsMacro.content shape /> @Override public ${shape.shapeName} clone() { return (${shape.shapeName}) super.clone(); } <#if shape.requestSignerAware> @Override public Class signerType() { return ${shape.requestSignerClassFqcn}.class; } <#if shouldGenerateSdkRequestConfigSetter> /** * Set the configuration for this request. * * @param sdkRequestConfig Request configuration. * @return This object for method chaining. */ public ${shape.shapeName} sdkRequestConfig(com.amazonaws.opensdk.SdkRequestConfig sdkRequestConfig) { super.sdkRequestConfig(sdkRequestConfig); return this; } <#if shape.signerAware> @Override public String getSignerType() { return "${shape.signerType}"; } }