/* * 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.apigateway.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Represents a client-facing interface by which the client calls the API to access back-end resources. A Method * resource is integrated with an Integration resource. Both consist of a request and one or more responses. The method * request takes the client input that is passed to the back end through the integration request. A method response * returns the output from the back end to the client through an integration response. A method request is embodied in a * Method resource, whereas an integration request is embodied in an Integration resource. On the other hand, a method * response is represented by a MethodResponse resource, whereas an integration response is represented by an * IntegrationResponse resource. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Method implements Serializable, Cloneable, StructuredPojo { /** *

* The method's HTTP verb. *

*/ private String httpMethod; /** *

* The method's authorization type. Valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS * for using a Cognito user pool. *

*/ private String authorizationType; /** *

* The identifier of an Authorizer to use on this method. The authorizationType must be * CUSTOM. *

*/ private String authorizerId; /** *

* A boolean flag specifying whether a valid ApiKey is required to invoke this method. *

*/ private Boolean apiKeyRequired; /** *

* The identifier of a RequestValidator for request validation. *

*/ private String requestValidatorId; /** *

* A human-friendly operation identifier for the method. For example, you can assign the operationName * of ListPets for the GET /pets method in the PetStore example. *

*/ private String operationName; /** *

* A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A * key is a method request parameter name matching the pattern of method.request.{location}.{name}, * where location is querystring, path, or header and * name is a valid and unique parameter name. The value associated with the key is a Boolean flag * indicating whether the parameter is required (true) or optional (false). The method * request parameter names defined here are available in Integration to be mapped to integration request parameters * or templates. *

*/ private java.util.Map requestParameters; /** *

* A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request * payloads of given content types (as the mapping key). *

*/ private java.util.Map requestModels; /** *

* Gets a method response associated with a given HTTP status code. *

*/ private java.util.Map methodResponses; /** *

* Gets the method's integration responsible for passing the client-submitted request to the back end and performing * necessary transformations to make the request compliant with the back end. *

*/ private Integration methodIntegration; /** *

* A list of authorization scopes configured on the method. The scopes are used with a * COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by * matching the method scopes against the scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the * invocation is not authorized. When the method scope is configured, the client must provide an access token * instead of an identity token for authorization purposes. *

*/ private java.util.List authorizationScopes; /** *

* The method's HTTP verb. *

* * @param httpMethod * The method's HTTP verb. */ public void setHttpMethod(String httpMethod) { this.httpMethod = httpMethod; } /** *

* The method's HTTP verb. *

* * @return The method's HTTP verb. */ public String getHttpMethod() { return this.httpMethod; } /** *

* The method's HTTP verb. *

* * @param httpMethod * The method's HTTP verb. * @return Returns a reference to this object so that method calls can be chained together. */ public Method withHttpMethod(String httpMethod) { setHttpMethod(httpMethod); return this; } /** *

* The method's authorization type. Valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS * for using a Cognito user pool. *

* * @param authorizationType * The method's authorization type. Valid values are NONE for open access, AWS_IAM * for using AWS IAM permissions, CUSTOM for using a custom authorizer, or * COGNITO_USER_POOLS for using a Cognito user pool. */ public void setAuthorizationType(String authorizationType) { this.authorizationType = authorizationType; } /** *

* The method's authorization type. Valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS * for using a Cognito user pool. *

* * @return The method's authorization type. Valid values are NONE for open access, AWS_IAM * for using AWS IAM permissions, CUSTOM for using a custom authorizer, or * COGNITO_USER_POOLS for using a Cognito user pool. */ public String getAuthorizationType() { return this.authorizationType; } /** *

* The method's authorization type. Valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS * for using a Cognito user pool. *

* * @param authorizationType * The method's authorization type. Valid values are NONE for open access, AWS_IAM * for using AWS IAM permissions, CUSTOM for using a custom authorizer, or * COGNITO_USER_POOLS for using a Cognito user pool. * @return Returns a reference to this object so that method calls can be chained together. */ public Method withAuthorizationType(String authorizationType) { setAuthorizationType(authorizationType); return this; } /** *

* The identifier of an Authorizer to use on this method. The authorizationType must be * CUSTOM. *

* * @param authorizerId * The identifier of an Authorizer to use on this method. The authorizationType must be * CUSTOM. */ public void setAuthorizerId(String authorizerId) { this.authorizerId = authorizerId; } /** *

* The identifier of an Authorizer to use on this method. The authorizationType must be * CUSTOM. *

* * @return The identifier of an Authorizer to use on this method. The authorizationType must be * CUSTOM. */ public String getAuthorizerId() { return this.authorizerId; } /** *

* The identifier of an Authorizer to use on this method. The authorizationType must be * CUSTOM. *

* * @param authorizerId * The identifier of an Authorizer to use on this method. The authorizationType must be * CUSTOM. * @return Returns a reference to this object so that method calls can be chained together. */ public Method withAuthorizerId(String authorizerId) { setAuthorizerId(authorizerId); return this; } /** *

* A boolean flag specifying whether a valid ApiKey is required to invoke this method. *

* * @param apiKeyRequired * A boolean flag specifying whether a valid ApiKey is required to invoke this method. */ public void setApiKeyRequired(Boolean apiKeyRequired) { this.apiKeyRequired = apiKeyRequired; } /** *

* A boolean flag specifying whether a valid ApiKey is required to invoke this method. *

* * @return A boolean flag specifying whether a valid ApiKey is required to invoke this method. */ public Boolean getApiKeyRequired() { return this.apiKeyRequired; } /** *

* A boolean flag specifying whether a valid ApiKey is required to invoke this method. *

* * @param apiKeyRequired * A boolean flag specifying whether a valid ApiKey is required to invoke this method. * @return Returns a reference to this object so that method calls can be chained together. */ public Method withApiKeyRequired(Boolean apiKeyRequired) { setApiKeyRequired(apiKeyRequired); return this; } /** *

* A boolean flag specifying whether a valid ApiKey is required to invoke this method. *

* * @return A boolean flag specifying whether a valid ApiKey is required to invoke this method. */ public Boolean isApiKeyRequired() { return this.apiKeyRequired; } /** *

* The identifier of a RequestValidator for request validation. *

* * @param requestValidatorId * The identifier of a RequestValidator for request validation. */ public void setRequestValidatorId(String requestValidatorId) { this.requestValidatorId = requestValidatorId; } /** *

* The identifier of a RequestValidator for request validation. *

* * @return The identifier of a RequestValidator for request validation. */ public String getRequestValidatorId() { return this.requestValidatorId; } /** *

* The identifier of a RequestValidator for request validation. *

* * @param requestValidatorId * The identifier of a RequestValidator for request validation. * @return Returns a reference to this object so that method calls can be chained together. */ public Method withRequestValidatorId(String requestValidatorId) { setRequestValidatorId(requestValidatorId); return this; } /** *

* A human-friendly operation identifier for the method. For example, you can assign the operationName * of ListPets for the GET /pets method in the PetStore example. *

* * @param operationName * A human-friendly operation identifier for the method. For example, you can assign the * operationName of ListPets for the GET /pets method in the * PetStore example. */ public void setOperationName(String operationName) { this.operationName = operationName; } /** *

* A human-friendly operation identifier for the method. For example, you can assign the operationName * of ListPets for the GET /pets method in the PetStore example. *

* * @return A human-friendly operation identifier for the method. For example, you can assign the * operationName of ListPets for the GET /pets method in the * PetStore example. */ public String getOperationName() { return this.operationName; } /** *

* A human-friendly operation identifier for the method. For example, you can assign the operationName * of ListPets for the GET /pets method in the PetStore example. *

* * @param operationName * A human-friendly operation identifier for the method. For example, you can assign the * operationName of ListPets for the GET /pets method in the * PetStore example. * @return Returns a reference to this object so that method calls can be chained together. */ public Method withOperationName(String operationName) { setOperationName(operationName); return this; } /** *

* A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A * key is a method request parameter name matching the pattern of method.request.{location}.{name}, * where location is querystring, path, or header and * name is a valid and unique parameter name. The value associated with the key is a Boolean flag * indicating whether the parameter is required (true) or optional (false). The method * request parameter names defined here are available in Integration to be mapped to integration request parameters * or templates. *

* * @return A key-value map defining required or optional method request parameters that can be accepted by API * Gateway. A key is a method request parameter name matching the pattern of * method.request.{location}.{name}, where location is querystring, * path, or header and name is a valid and unique parameter name. The * value associated with the key is a Boolean flag indicating whether the parameter is required ( * true) or optional (false). The method request parameter names defined here are * available in Integration to be mapped to integration request parameters or templates. */ public java.util.Map getRequestParameters() { return requestParameters; } /** *

* A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A * key is a method request parameter name matching the pattern of method.request.{location}.{name}, * where location is querystring, path, or header and * name is a valid and unique parameter name. The value associated with the key is a Boolean flag * indicating whether the parameter is required (true) or optional (false). The method * request parameter names defined here are available in Integration to be mapped to integration request parameters * or templates. *

* * @param requestParameters * A key-value map defining required or optional method request parameters that can be accepted by API * Gateway. A key is a method request parameter name matching the pattern of * method.request.{location}.{name}, where location is querystring, * path, or header and name is a valid and unique parameter name. The * value associated with the key is a Boolean flag indicating whether the parameter is required ( * true) or optional (false). The method request parameter names defined here are * available in Integration to be mapped to integration request parameters or templates. */ public void setRequestParameters(java.util.Map requestParameters) { this.requestParameters = requestParameters; } /** *

* A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A * key is a method request parameter name matching the pattern of method.request.{location}.{name}, * where location is querystring, path, or header and * name is a valid and unique parameter name. The value associated with the key is a Boolean flag * indicating whether the parameter is required (true) or optional (false). The method * request parameter names defined here are available in Integration to be mapped to integration request parameters * or templates. *

* * @param requestParameters * A key-value map defining required or optional method request parameters that can be accepted by API * Gateway. A key is a method request parameter name matching the pattern of * method.request.{location}.{name}, where location is querystring, * path, or header and name is a valid and unique parameter name. The * value associated with the key is a Boolean flag indicating whether the parameter is required ( * true) or optional (false). The method request parameter names defined here are * available in Integration to be mapped to integration request parameters or templates. * @return Returns a reference to this object so that method calls can be chained together. */ public Method withRequestParameters(java.util.Map requestParameters) { setRequestParameters(requestParameters); return this; } /** * Add a single RequestParameters entry * * @see Method#withRequestParameters * @returns a reference to this object so that method calls can be chained together. */ public Method addRequestParametersEntry(String key, Boolean value) { if (null == this.requestParameters) { this.requestParameters = new java.util.HashMap(); } if (this.requestParameters.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.requestParameters.put(key, value); return this; } /** * Removes all the entries added into RequestParameters. * * @return Returns a reference to this object so that method calls can be chained together. */ public Method clearRequestParametersEntries() { this.requestParameters = null; return this; } /** *

* A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request * payloads of given content types (as the mapping key). *

* * @return A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the * request payloads of given content types (as the mapping key). */ public java.util.Map getRequestModels() { return requestModels; } /** *

* A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request * payloads of given content types (as the mapping key). *

* * @param requestModels * A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the * request payloads of given content types (as the mapping key). */ public void setRequestModels(java.util.Map requestModels) { this.requestModels = requestModels; } /** *

* A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request * payloads of given content types (as the mapping key). *

* * @param requestModels * A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the * request payloads of given content types (as the mapping key). * @return Returns a reference to this object so that method calls can be chained together. */ public Method withRequestModels(java.util.Map requestModels) { setRequestModels(requestModels); return this; } /** * Add a single RequestModels entry * * @see Method#withRequestModels * @returns a reference to this object so that method calls can be chained together. */ public Method addRequestModelsEntry(String key, String value) { if (null == this.requestModels) { this.requestModels = new java.util.HashMap(); } if (this.requestModels.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.requestModels.put(key, value); return this; } /** * Removes all the entries added into RequestModels. * * @return Returns a reference to this object so that method calls can be chained together. */ public Method clearRequestModelsEntries() { this.requestModels = null; return this; } /** *

* Gets a method response associated with a given HTTP status code. *

* * @return Gets a method response associated with a given HTTP status code. */ public java.util.Map getMethodResponses() { return methodResponses; } /** *

* Gets a method response associated with a given HTTP status code. *

* * @param methodResponses * Gets a method response associated with a given HTTP status code. */ public void setMethodResponses(java.util.Map methodResponses) { this.methodResponses = methodResponses; } /** *

* Gets a method response associated with a given HTTP status code. *

* * @param methodResponses * Gets a method response associated with a given HTTP status code. * @return Returns a reference to this object so that method calls can be chained together. */ public Method withMethodResponses(java.util.Map methodResponses) { setMethodResponses(methodResponses); return this; } /** * Add a single MethodResponses entry * * @see Method#withMethodResponses * @returns a reference to this object so that method calls can be chained together. */ public Method addMethodResponsesEntry(String key, MethodResponse value) { if (null == this.methodResponses) { this.methodResponses = new java.util.HashMap(); } if (this.methodResponses.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.methodResponses.put(key, value); return this; } /** * Removes all the entries added into MethodResponses. * * @return Returns a reference to this object so that method calls can be chained together. */ public Method clearMethodResponsesEntries() { this.methodResponses = null; return this; } /** *

* Gets the method's integration responsible for passing the client-submitted request to the back end and performing * necessary transformations to make the request compliant with the back end. *

* * @param methodIntegration * Gets the method's integration responsible for passing the client-submitted request to the back end and * performing necessary transformations to make the request compliant with the back end. */ public void setMethodIntegration(Integration methodIntegration) { this.methodIntegration = methodIntegration; } /** *

* Gets the method's integration responsible for passing the client-submitted request to the back end and performing * necessary transformations to make the request compliant with the back end. *

* * @return Gets the method's integration responsible for passing the client-submitted request to the back end and * performing necessary transformations to make the request compliant with the back end. */ public Integration getMethodIntegration() { return this.methodIntegration; } /** *

* Gets the method's integration responsible for passing the client-submitted request to the back end and performing * necessary transformations to make the request compliant with the back end. *

* * @param methodIntegration * Gets the method's integration responsible for passing the client-submitted request to the back end and * performing necessary transformations to make the request compliant with the back end. * @return Returns a reference to this object so that method calls can be chained together. */ public Method withMethodIntegration(Integration methodIntegration) { setMethodIntegration(methodIntegration); return this; } /** *

* A list of authorization scopes configured on the method. The scopes are used with a * COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by * matching the method scopes against the scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the * invocation is not authorized. When the method scope is configured, the client must provide an access token * instead of an identity token for authorization purposes. *

* * @return A list of authorization scopes configured on the method. The scopes are used with a * COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by * matching the method scopes against the scopes parsed from the access token in the incoming request. The * method invocation is authorized if any method scopes matches a claimed scope in the access token. * Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide * an access token instead of an identity token for authorization purposes. */ public java.util.List getAuthorizationScopes() { return authorizationScopes; } /** *

* A list of authorization scopes configured on the method. The scopes are used with a * COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by * matching the method scopes against the scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the * invocation is not authorized. When the method scope is configured, the client must provide an access token * instead of an identity token for authorization purposes. *

* * @param authorizationScopes * A list of authorization scopes configured on the method. The scopes are used with a * COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by * matching the method scopes against the scopes parsed from the access token in the incoming request. The * method invocation is authorized if any method scopes matches a claimed scope in the access token. * Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide * an access token instead of an identity token for authorization purposes. */ public void setAuthorizationScopes(java.util.Collection authorizationScopes) { if (authorizationScopes == null) { this.authorizationScopes = null; return; } this.authorizationScopes = new java.util.ArrayList(authorizationScopes); } /** *

* A list of authorization scopes configured on the method. The scopes are used with a * COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by * matching the method scopes against the scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the * invocation is not authorized. When the method scope is configured, the client must provide an access token * instead of an identity token for authorization purposes. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAuthorizationScopes(java.util.Collection)} or {@link #withAuthorizationScopes(java.util.Collection)} * if you want to override the existing values. *

* * @param authorizationScopes * A list of authorization scopes configured on the method. The scopes are used with a * COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by * matching the method scopes against the scopes parsed from the access token in the incoming request. The * method invocation is authorized if any method scopes matches a claimed scope in the access token. * Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide * an access token instead of an identity token for authorization purposes. * @return Returns a reference to this object so that method calls can be chained together. */ public Method withAuthorizationScopes(String... authorizationScopes) { if (this.authorizationScopes == null) { setAuthorizationScopes(new java.util.ArrayList(authorizationScopes.length)); } for (String ele : authorizationScopes) { this.authorizationScopes.add(ele); } return this; } /** *

* A list of authorization scopes configured on the method. The scopes are used with a * COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by * matching the method scopes against the scopes parsed from the access token in the incoming request. The method * invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the * invocation is not authorized. When the method scope is configured, the client must provide an access token * instead of an identity token for authorization purposes. *

* * @param authorizationScopes * A list of authorization scopes configured on the method. The scopes are used with a * COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by * matching the method scopes against the scopes parsed from the access token in the incoming request. The * method invocation is authorized if any method scopes matches a claimed scope in the access token. * Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide * an access token instead of an identity token for authorization purposes. * @return Returns a reference to this object so that method calls can be chained together. */ public Method withAuthorizationScopes(java.util.Collection authorizationScopes) { setAuthorizationScopes(authorizationScopes); 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 (getHttpMethod() != null) sb.append("HttpMethod: ").append(getHttpMethod()).append(","); if (getAuthorizationType() != null) sb.append("AuthorizationType: ").append(getAuthorizationType()).append(","); if (getAuthorizerId() != null) sb.append("AuthorizerId: ").append(getAuthorizerId()).append(","); if (getApiKeyRequired() != null) sb.append("ApiKeyRequired: ").append(getApiKeyRequired()).append(","); if (getRequestValidatorId() != null) sb.append("RequestValidatorId: ").append(getRequestValidatorId()).append(","); if (getOperationName() != null) sb.append("OperationName: ").append(getOperationName()).append(","); if (getRequestParameters() != null) sb.append("RequestParameters: ").append(getRequestParameters()).append(","); if (getRequestModels() != null) sb.append("RequestModels: ").append(getRequestModels()).append(","); if (getMethodResponses() != null) sb.append("MethodResponses: ").append(getMethodResponses()).append(","); if (getMethodIntegration() != null) sb.append("MethodIntegration: ").append(getMethodIntegration()).append(","); if (getAuthorizationScopes() != null) sb.append("AuthorizationScopes: ").append(getAuthorizationScopes()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Method == false) return false; Method other = (Method) obj; if (other.getHttpMethod() == null ^ this.getHttpMethod() == null) return false; if (other.getHttpMethod() != null && other.getHttpMethod().equals(this.getHttpMethod()) == false) return false; if (other.getAuthorizationType() == null ^ this.getAuthorizationType() == null) return false; if (other.getAuthorizationType() != null && other.getAuthorizationType().equals(this.getAuthorizationType()) == false) return false; if (other.getAuthorizerId() == null ^ this.getAuthorizerId() == null) return false; if (other.getAuthorizerId() != null && other.getAuthorizerId().equals(this.getAuthorizerId()) == false) return false; if (other.getApiKeyRequired() == null ^ this.getApiKeyRequired() == null) return false; if (other.getApiKeyRequired() != null && other.getApiKeyRequired().equals(this.getApiKeyRequired()) == false) return false; if (other.getRequestValidatorId() == null ^ this.getRequestValidatorId() == null) return false; if (other.getRequestValidatorId() != null && other.getRequestValidatorId().equals(this.getRequestValidatorId()) == false) return false; if (other.getOperationName() == null ^ this.getOperationName() == null) return false; if (other.getOperationName() != null && other.getOperationName().equals(this.getOperationName()) == false) return false; if (other.getRequestParameters() == null ^ this.getRequestParameters() == null) return false; if (other.getRequestParameters() != null && other.getRequestParameters().equals(this.getRequestParameters()) == false) return false; if (other.getRequestModels() == null ^ this.getRequestModels() == null) return false; if (other.getRequestModels() != null && other.getRequestModels().equals(this.getRequestModels()) == false) return false; if (other.getMethodResponses() == null ^ this.getMethodResponses() == null) return false; if (other.getMethodResponses() != null && other.getMethodResponses().equals(this.getMethodResponses()) == false) return false; if (other.getMethodIntegration() == null ^ this.getMethodIntegration() == null) return false; if (other.getMethodIntegration() != null && other.getMethodIntegration().equals(this.getMethodIntegration()) == false) return false; if (other.getAuthorizationScopes() == null ^ this.getAuthorizationScopes() == null) return false; if (other.getAuthorizationScopes() != null && other.getAuthorizationScopes().equals(this.getAuthorizationScopes()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getHttpMethod() == null) ? 0 : getHttpMethod().hashCode()); hashCode = prime * hashCode + ((getAuthorizationType() == null) ? 0 : getAuthorizationType().hashCode()); hashCode = prime * hashCode + ((getAuthorizerId() == null) ? 0 : getAuthorizerId().hashCode()); hashCode = prime * hashCode + ((getApiKeyRequired() == null) ? 0 : getApiKeyRequired().hashCode()); hashCode = prime * hashCode + ((getRequestValidatorId() == null) ? 0 : getRequestValidatorId().hashCode()); hashCode = prime * hashCode + ((getOperationName() == null) ? 0 : getOperationName().hashCode()); hashCode = prime * hashCode + ((getRequestParameters() == null) ? 0 : getRequestParameters().hashCode()); hashCode = prime * hashCode + ((getRequestModels() == null) ? 0 : getRequestModels().hashCode()); hashCode = prime * hashCode + ((getMethodResponses() == null) ? 0 : getMethodResponses().hashCode()); hashCode = prime * hashCode + ((getMethodIntegration() == null) ? 0 : getMethodIntegration().hashCode()); hashCode = prime * hashCode + ((getAuthorizationScopes() == null) ? 0 : getAuthorizationScopes().hashCode()); return hashCode; } @Override public Method clone() { try { return (Method) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.apigateway.model.transform.MethodMarshaller.getInstance().marshall(this, protocolMarshaller); } }