/* * 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.apigatewayv2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *
* Creates a new Api resource to represent an API. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateApiRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** ** An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions. *
*/ private String apiKeySelectionExpression; /** ** A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for * more information. *
*/ private Cors corsConfiguration; /** ** This property is part of quick create. It specifies the credentials required for the integration, if any. For a * Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's * Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify * arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this * property is not used for HTTP integrations. Supported only for HTTP APIs. *
*/ private String credentialsArn; /** ** The description of the API. *
*/ private String description; /** ** Avoid validating models when creating a deployment. Supported only for WebSocket APIs. *
*/ private Boolean disableSchemaValidation; /** ** Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can * invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that * clients use a custom domain name to invoke your API, disable the default endpoint. *
*/ private Boolean disableExecuteApiEndpoint; /** ** The name of the API. *
*/ private String name; /** ** The API protocol. *
*/ private String protocolType; /** ** This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. * The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default * route key can't be modified. You can add routes after creating the API, and you can update the route keys of * additional routes. Supported only for HTTP APIs. *
*/ private String routeKey; /** ** The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} * ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket * APIs. *
*/ private String routeSelectionExpression; /** ** The collection of tags. Each tag element is associated with a given resource. *
*/ private java.util.Map* This property is part of quick create. Quick create produces an API with an integration, a default catch-all * route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a * fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be * HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs. *
*/ private String target; /** ** A version identifier for the API. *
*/ private String version; /** ** An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions. *
* * @param apiKeySelectionExpression * An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions. */ public void setApiKeySelectionExpression(String apiKeySelectionExpression) { this.apiKeySelectionExpression = apiKeySelectionExpression; } /** ** An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions. *
* * @return An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions. */ public String getApiKeySelectionExpression() { return this.apiKeySelectionExpression; } /** ** An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions. *
* * @param apiKeySelectionExpression * An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withApiKeySelectionExpression(String apiKeySelectionExpression) { setApiKeySelectionExpression(apiKeySelectionExpression); return this; } /** ** A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for * more information. *
* * @param corsConfiguration * A CORS configuration. Supported only for HTTP APIs. See Configuring * CORS for more information. */ public void setCorsConfiguration(Cors corsConfiguration) { this.corsConfiguration = corsConfiguration; } /** ** A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for * more information. *
* * @return A CORS configuration. Supported only for HTTP APIs. See Configuring * CORS for more information. */ public Cors getCorsConfiguration() { return this.corsConfiguration; } /** ** A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for * more information. *
* * @param corsConfiguration * A CORS configuration. Supported only for HTTP APIs. See Configuring * CORS for more information. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withCorsConfiguration(Cors corsConfiguration) { setCorsConfiguration(corsConfiguration); return this; } /** ** This property is part of quick create. It specifies the credentials required for the integration, if any. For a * Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's * Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify * arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this * property is not used for HTTP integrations. Supported only for HTTP APIs. *
* * @param credentialsArn * This property is part of quick create. It specifies the credentials required for the integration, if any. * For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, * use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from * the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, * specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs. */ public void setCredentialsArn(String credentialsArn) { this.credentialsArn = credentialsArn; } /** ** This property is part of quick create. It specifies the credentials required for the integration, if any. For a * Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's * Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify * arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this * property is not used for HTTP integrations. Supported only for HTTP APIs. *
* * @return This property is part of quick create. It specifies the credentials required for the integration, if any. * For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, * use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from * the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, * specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs. */ public String getCredentialsArn() { return this.credentialsArn; } /** ** This property is part of quick create. It specifies the credentials required for the integration, if any. For a * Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's * Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify * arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this * property is not used for HTTP integrations. Supported only for HTTP APIs. *
* * @param credentialsArn * This property is part of quick create. It specifies the credentials required for the integration, if any. * For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, * use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from * the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, * specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withCredentialsArn(String credentialsArn) { setCredentialsArn(credentialsArn); return this; } /** ** The description of the API. *
* * @param description * The description of the API. */ public void setDescription(String description) { this.description = description; } /** ** The description of the API. *
* * @return The description of the API. */ public String getDescription() { return this.description; } /** ** The description of the API. *
* * @param description * The description of the API. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withDescription(String description) { setDescription(description); return this; } /** ** Avoid validating models when creating a deployment. Supported only for WebSocket APIs. *
* * @param disableSchemaValidation * Avoid validating models when creating a deployment. Supported only for WebSocket APIs. */ public void setDisableSchemaValidation(Boolean disableSchemaValidation) { this.disableSchemaValidation = disableSchemaValidation; } /** ** Avoid validating models when creating a deployment. Supported only for WebSocket APIs. *
* * @return Avoid validating models when creating a deployment. Supported only for WebSocket APIs. */ public Boolean getDisableSchemaValidation() { return this.disableSchemaValidation; } /** ** Avoid validating models when creating a deployment. Supported only for WebSocket APIs. *
* * @param disableSchemaValidation * Avoid validating models when creating a deployment. Supported only for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withDisableSchemaValidation(Boolean disableSchemaValidation) { setDisableSchemaValidation(disableSchemaValidation); return this; } /** ** Avoid validating models when creating a deployment. Supported only for WebSocket APIs. *
* * @return Avoid validating models when creating a deployment. Supported only for WebSocket APIs. */ public Boolean isDisableSchemaValidation() { return this.disableSchemaValidation; } /** ** Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can * invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that * clients use a custom domain name to invoke your API, disable the default endpoint. *
* * @param disableExecuteApiEndpoint * Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, * clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. * To require that clients use a custom domain name to invoke your API, disable the default endpoint. */ public void setDisableExecuteApiEndpoint(Boolean disableExecuteApiEndpoint) { this.disableExecuteApiEndpoint = disableExecuteApiEndpoint; } /** ** Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can * invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that * clients use a custom domain name to invoke your API, disable the default endpoint. *
* * @return Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, * clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com * endpoint. To require that clients use a custom domain name to invoke your API, disable the default * endpoint. */ public Boolean getDisableExecuteApiEndpoint() { return this.disableExecuteApiEndpoint; } /** ** Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can * invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that * clients use a custom domain name to invoke your API, disable the default endpoint. *
* * @param disableExecuteApiEndpoint * Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, * clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. * To require that clients use a custom domain name to invoke your API, disable the default endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withDisableExecuteApiEndpoint(Boolean disableExecuteApiEndpoint) { setDisableExecuteApiEndpoint(disableExecuteApiEndpoint); return this; } /** ** Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can * invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that * clients use a custom domain name to invoke your API, disable the default endpoint. *
* * @return Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, * clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com * endpoint. To require that clients use a custom domain name to invoke your API, disable the default * endpoint. */ public Boolean isDisableExecuteApiEndpoint() { return this.disableExecuteApiEndpoint; } /** ** The name of the API. *
* * @param name * The name of the API. */ public void setName(String name) { this.name = name; } /** ** The name of the API. *
* * @return The name of the API. */ public String getName() { return this.name; } /** ** The name of the API. *
* * @param name * The name of the API. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withName(String name) { setName(name); return this; } /** ** The API protocol. *
* * @param protocolType * The API protocol. * @see ProtocolType */ public void setProtocolType(String protocolType) { this.protocolType = protocolType; } /** ** The API protocol. *
* * @return The API protocol. * @see ProtocolType */ public String getProtocolType() { return this.protocolType; } /** ** The API protocol. *
* * @param protocolType * The API protocol. * @return Returns a reference to this object so that method calls can be chained together. * @see ProtocolType */ public CreateApiRequest withProtocolType(String protocolType) { setProtocolType(protocolType); return this; } /** ** The API protocol. *
* * @param protocolType * The API protocol. * @return Returns a reference to this object so that method calls can be chained together. * @see ProtocolType */ public CreateApiRequest withProtocolType(ProtocolType protocolType) { this.protocolType = protocolType.toString(); return this; } /** ** This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. * The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default * route key can't be modified. You can add routes after creating the API, and you can update the route keys of * additional routes. Supported only for HTTP APIs. *
* * @param routeKey * This property is part of quick create. If you don't specify a routeKey, a default route of $default is * created. The $default route acts as a catch-all for any request made to your API, for a particular stage. * The $default route key can't be modified. You can add routes after creating the API, and you can update * the route keys of additional routes. Supported only for HTTP APIs. */ public void setRouteKey(String routeKey) { this.routeKey = routeKey; } /** ** This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. * The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default * route key can't be modified. You can add routes after creating the API, and you can update the route keys of * additional routes. Supported only for HTTP APIs. *
* * @return This property is part of quick create. If you don't specify a routeKey, a default route of $default is * created. The $default route acts as a catch-all for any request made to your API, for a particular stage. * The $default route key can't be modified. You can add routes after creating the API, and you can update * the route keys of additional routes. Supported only for HTTP APIs. */ public String getRouteKey() { return this.routeKey; } /** ** This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. * The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default * route key can't be modified. You can add routes after creating the API, and you can update the route keys of * additional routes. Supported only for HTTP APIs. *
* * @param routeKey * This property is part of quick create. If you don't specify a routeKey, a default route of $default is * created. The $default route acts as a catch-all for any request made to your API, for a particular stage. * The $default route key can't be modified. You can add routes after creating the API, and you can update * the route keys of additional routes. Supported only for HTTP APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withRouteKey(String routeKey) { setRouteKey(routeKey); return this; } /** ** The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} * ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket * APIs. *
* * @param routeSelectionExpression * The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be * ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property * is required for WebSocket APIs. */ public void setRouteSelectionExpression(String routeSelectionExpression) { this.routeSelectionExpression = routeSelectionExpression; } /** ** The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} * ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket * APIs. *
* * @return The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be * ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property * is required for WebSocket APIs. */ public String getRouteSelectionExpression() { return this.routeSelectionExpression; } /** ** The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} * ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket * APIs. *
* * @param routeSelectionExpression * The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be * ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property * is required for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withRouteSelectionExpression(String routeSelectionExpression) { setRouteSelectionExpression(routeSelectionExpression); return this; } /** ** The collection of tags. Each tag element is associated with a given resource. *
* * @return The collection of tags. Each tag element is associated with a given resource. */ public java.util.Map* The collection of tags. Each tag element is associated with a given resource. *
* * @param tags * The collection of tags. Each tag element is associated with a given resource. */ public void setTags(java.util.Map* The collection of tags. Each tag element is associated with a given resource. *
* * @param tags * The collection of tags. Each tag element is associated with a given resource. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withTags(java.util.Map* This property is part of quick create. Quick create produces an API with an integration, a default catch-all * route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a * fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be * HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs. *
* * @param target * This property is part of quick create. Quick create produces an API with an integration, a default * catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP * integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of * the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs. */ public void setTarget(String target) { this.target = target; } /** ** This property is part of quick create. Quick create produces an API with an integration, a default catch-all * route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a * fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be * HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs. *
* * @return This property is part of quick create. Quick create produces an API with an integration, a default * catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP * integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of * the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs. */ public String getTarget() { return this.target; } /** ** This property is part of quick create. Quick create produces an API with an integration, a default catch-all * route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a * fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be * HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs. *
* * @param target * This property is part of quick create. Quick create produces an API with an integration, a default * catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP * integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of * the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withTarget(String target) { setTarget(target); return this; } /** ** A version identifier for the API. *
* * @param version * A version identifier for the API. */ public void setVersion(String version) { this.version = version; } /** ** A version identifier for the API. *
* * @return A version identifier for the API. */ public String getVersion() { return this.version; } /** ** A version identifier for the API. *
* * @param version * A version identifier for the API. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateApiRequest withVersion(String version) { setVersion(version); 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 (getApiKeySelectionExpression() != null) sb.append("ApiKeySelectionExpression: ").append(getApiKeySelectionExpression()).append(","); if (getCorsConfiguration() != null) sb.append("CorsConfiguration: ").append(getCorsConfiguration()).append(","); if (getCredentialsArn() != null) sb.append("CredentialsArn: ").append(getCredentialsArn()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getDisableSchemaValidation() != null) sb.append("DisableSchemaValidation: ").append(getDisableSchemaValidation()).append(","); if (getDisableExecuteApiEndpoint() != null) sb.append("DisableExecuteApiEndpoint: ").append(getDisableExecuteApiEndpoint()).append(","); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getProtocolType() != null) sb.append("ProtocolType: ").append(getProtocolType()).append(","); if (getRouteKey() != null) sb.append("RouteKey: ").append(getRouteKey()).append(","); if (getRouteSelectionExpression() != null) sb.append("RouteSelectionExpression: ").append(getRouteSelectionExpression()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getTarget() != null) sb.append("Target: ").append(getTarget()).append(","); if (getVersion() != null) sb.append("Version: ").append(getVersion()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateApiRequest == false) return false; CreateApiRequest other = (CreateApiRequest) obj; if (other.getApiKeySelectionExpression() == null ^ this.getApiKeySelectionExpression() == null) return false; if (other.getApiKeySelectionExpression() != null && other.getApiKeySelectionExpression().equals(this.getApiKeySelectionExpression()) == false) return false; if (other.getCorsConfiguration() == null ^ this.getCorsConfiguration() == null) return false; if (other.getCorsConfiguration() != null && other.getCorsConfiguration().equals(this.getCorsConfiguration()) == false) return false; if (other.getCredentialsArn() == null ^ this.getCredentialsArn() == null) return false; if (other.getCredentialsArn() != null && other.getCredentialsArn().equals(this.getCredentialsArn()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getDisableSchemaValidation() == null ^ this.getDisableSchemaValidation() == null) return false; if (other.getDisableSchemaValidation() != null && other.getDisableSchemaValidation().equals(this.getDisableSchemaValidation()) == false) return false; if (other.getDisableExecuteApiEndpoint() == null ^ this.getDisableExecuteApiEndpoint() == null) return false; if (other.getDisableExecuteApiEndpoint() != null && other.getDisableExecuteApiEndpoint().equals(this.getDisableExecuteApiEndpoint()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getProtocolType() == null ^ this.getProtocolType() == null) return false; if (other.getProtocolType() != null && other.getProtocolType().equals(this.getProtocolType()) == false) return false; if (other.getRouteKey() == null ^ this.getRouteKey() == null) return false; if (other.getRouteKey() != null && other.getRouteKey().equals(this.getRouteKey()) == false) return false; if (other.getRouteSelectionExpression() == null ^ this.getRouteSelectionExpression() == null) return false; if (other.getRouteSelectionExpression() != null && other.getRouteSelectionExpression().equals(this.getRouteSelectionExpression()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getTarget() == null ^ this.getTarget() == null) return false; if (other.getTarget() != null && other.getTarget().equals(this.getTarget()) == false) return false; if (other.getVersion() == null ^ this.getVersion() == null) return false; if (other.getVersion() != null && other.getVersion().equals(this.getVersion()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getApiKeySelectionExpression() == null) ? 0 : getApiKeySelectionExpression().hashCode()); hashCode = prime * hashCode + ((getCorsConfiguration() == null) ? 0 : getCorsConfiguration().hashCode()); hashCode = prime * hashCode + ((getCredentialsArn() == null) ? 0 : getCredentialsArn().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getDisableSchemaValidation() == null) ? 0 : getDisableSchemaValidation().hashCode()); hashCode = prime * hashCode + ((getDisableExecuteApiEndpoint() == null) ? 0 : getDisableExecuteApiEndpoint().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getProtocolType() == null) ? 0 : getProtocolType().hashCode()); hashCode = prime * hashCode + ((getRouteKey() == null) ? 0 : getRouteKey().hashCode()); hashCode = prime * hashCode + ((getRouteSelectionExpression() == null) ? 0 : getRouteSelectionExpression().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getTarget() == null) ? 0 : getTarget().hashCode()); hashCode = prime * hashCode + ((getVersion() == null) ? 0 : getVersion().hashCode()); return hashCode; } @Override public CreateApiRequest clone() { return (CreateApiRequest) super.clone(); } }