/* * 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.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Represents a route. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Route implements Serializable, Cloneable, StructuredPojo { /** ** Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route * is managed by API Gateway. You can't modify the $default route key. *
*/ private Boolean apiGatewayManaged; /** ** Specifies whether an API key is required for this route. Supported only for WebSocket APIs. *
*/ private Boolean apiKeyRequired; /** ** A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the * method invocation. The authorization works by matching the route scopes against the scopes parsed from the access * token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in * the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client * must provide an access token instead of an identity token for authorization purposes. *
*/ private java.util.List* The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open * access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda * authorizer. *
*/ private String authorizationType; /** ** The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. *
*/ private String authorizerId; /** ** The model selection expression for the route. Supported only for WebSocket APIs. *
*/ private String modelSelectionExpression; /** ** The operation name for the route. *
*/ private String operationName; /** ** The request models for the route. Supported only for WebSocket APIs. *
*/ private java.util.Map* The request parameters for the route. Supported only for WebSocket APIs. *
*/ private java.util.Map* The route ID. *
*/ private String routeId; /** ** The route key for the route. *
*/ private String routeKey; /** ** The route response selection expression for the route. Supported only for WebSocket APIs. *
*/ private String routeResponseSelectionExpression; /** ** The target for the route. *
*/ private String target; /** ** Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route * is managed by API Gateway. You can't modify the $default route key. *
* * @param apiGatewayManaged * Specifies whether a route is managed by API Gateway. If you created an API using quick create, the * $default route is managed by API Gateway. You can't modify the $default route key. */ public void setApiGatewayManaged(Boolean apiGatewayManaged) { this.apiGatewayManaged = apiGatewayManaged; } /** ** Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route * is managed by API Gateway. You can't modify the $default route key. *
* * @return Specifies whether a route is managed by API Gateway. If you created an API using quick create, the * $default route is managed by API Gateway. You can't modify the $default route key. */ public Boolean getApiGatewayManaged() { return this.apiGatewayManaged; } /** ** Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route * is managed by API Gateway. You can't modify the $default route key. *
* * @param apiGatewayManaged * Specifies whether a route is managed by API Gateway. If you created an API using quick create, the * $default route is managed by API Gateway. You can't modify the $default route key. * @return Returns a reference to this object so that method calls can be chained together. */ public Route withApiGatewayManaged(Boolean apiGatewayManaged) { setApiGatewayManaged(apiGatewayManaged); return this; } /** ** Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route * is managed by API Gateway. You can't modify the $default route key. *
* * @return Specifies whether a route is managed by API Gateway. If you created an API using quick create, the * $default route is managed by API Gateway. You can't modify the $default route key. */ public Boolean isApiGatewayManaged() { return this.apiGatewayManaged; } /** ** Specifies whether an API key is required for this route. Supported only for WebSocket APIs. *
* * @param apiKeyRequired * Specifies whether an API key is required for this route. Supported only for WebSocket APIs. */ public void setApiKeyRequired(Boolean apiKeyRequired) { this.apiKeyRequired = apiKeyRequired; } /** ** Specifies whether an API key is required for this route. Supported only for WebSocket APIs. *
* * @return Specifies whether an API key is required for this route. Supported only for WebSocket APIs. */ public Boolean getApiKeyRequired() { return this.apiKeyRequired; } /** ** Specifies whether an API key is required for this route. Supported only for WebSocket APIs. *
* * @param apiKeyRequired * Specifies whether an API key is required for this route. Supported only for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public Route withApiKeyRequired(Boolean apiKeyRequired) { setApiKeyRequired(apiKeyRequired); return this; } /** ** Specifies whether an API key is required for this route. Supported only for WebSocket APIs. *
* * @return Specifies whether an API key is required for this route. Supported only for WebSocket APIs. */ public Boolean isApiKeyRequired() { return this.apiKeyRequired; } /** ** A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the * method invocation. The authorization works by matching the route scopes against the scopes parsed from the access * token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in * the access token. Otherwise, the invocation is not authorized. When the route 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 a route. The scopes are used with a JWT authorizer to * authorize the method invocation. The authorization works by matching the route scopes against the scopes * parsed from the access token in the incoming request. The method invocation is authorized if any route * scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the * route scope is configured, the client must provide an access token instead of an identity token for * authorization purposes. */ public java.util.List* A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the * method invocation. The authorization works by matching the route scopes against the scopes parsed from the access * token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in * the access token. Otherwise, the invocation is not authorized. When the route 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 a route. The scopes are used with a JWT authorizer to * authorize the method invocation. The authorization works by matching the route scopes against the scopes * parsed from the access token in the incoming request. The method invocation is authorized if any route * scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the * route scope is configured, the client must provide an access token instead of an identity token for * authorization purposes. */ public void setAuthorizationScopes(java.util.Collection* A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the * method invocation. The authorization works by matching the route scopes against the scopes parsed from the access * token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in * the access token. Otherwise, the invocation is not authorized. When the route 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 a route. The scopes are used with a JWT authorizer to * authorize the method invocation. The authorization works by matching the route scopes against the scopes * parsed from the access token in the incoming request. The method invocation is authorized if any route * scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the * route 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 Route withAuthorizationScopes(String... authorizationScopes) { if (this.authorizationScopes == null) { setAuthorizationScopes(new java.util.ArrayList* A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the * method invocation. The authorization works by matching the route scopes against the scopes parsed from the access * token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in * the access token. Otherwise, the invocation is not authorized. When the route 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 a route. The scopes are used with a JWT authorizer to * authorize the method invocation. The authorization works by matching the route scopes against the scopes * parsed from the access token in the incoming request. The method invocation is authorized if any route * scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the * route 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 Route withAuthorizationScopes(java.util.Collection* The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open * access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda * authorizer. *
* * @param authorizationType * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM * for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are * NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for * using a Lambda authorizer. * @see AuthorizationType */ public void setAuthorizationType(String authorizationType) { this.authorizationType = authorizationType; } /** ** The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open * access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda * authorizer. *
* * @return The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM * for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are * NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM * for using a Lambda authorizer. * @see AuthorizationType */ public String getAuthorizationType() { return this.authorizationType; } /** ** The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open * access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda * authorizer. *
* * @param authorizationType * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM * for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are * NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for * using a Lambda authorizer. * @return Returns a reference to this object so that method calls can be chained together. * @see AuthorizationType */ public Route withAuthorizationType(String authorizationType) { setAuthorizationType(authorizationType); return this; } /** ** The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for * using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open * access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda * authorizer. *
* * @param authorizationType * The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM * for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are * NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for * using a Lambda authorizer. * @return Returns a reference to this object so that method calls can be chained together. * @see AuthorizationType */ public Route withAuthorizationType(AuthorizationType authorizationType) { this.authorizationType = authorizationType.toString(); return this; } /** ** The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. *
* * @param authorizerId * The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. */ public void setAuthorizerId(String authorizerId) { this.authorizerId = authorizerId; } /** ** The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. *
* * @return The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. */ public String getAuthorizerId() { return this.authorizerId; } /** ** The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. *
* * @param authorizerId * The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is * generated by API Gateway when you created the authorizer. * @return Returns a reference to this object so that method calls can be chained together. */ public Route withAuthorizerId(String authorizerId) { setAuthorizerId(authorizerId); return this; } /** ** The model selection expression for the route. Supported only for WebSocket APIs. *
* * @param modelSelectionExpression * The model selection expression for the route. Supported only for WebSocket APIs. */ public void setModelSelectionExpression(String modelSelectionExpression) { this.modelSelectionExpression = modelSelectionExpression; } /** ** The model selection expression for the route. Supported only for WebSocket APIs. *
* * @return The model selection expression for the route. Supported only for WebSocket APIs. */ public String getModelSelectionExpression() { return this.modelSelectionExpression; } /** ** The model selection expression for the route. Supported only for WebSocket APIs. *
* * @param modelSelectionExpression * The model selection expression for the route. Supported only for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public Route withModelSelectionExpression(String modelSelectionExpression) { setModelSelectionExpression(modelSelectionExpression); return this; } /** ** The operation name for the route. *
* * @param operationName * The operation name for the route. */ public void setOperationName(String operationName) { this.operationName = operationName; } /** ** The operation name for the route. *
* * @return The operation name for the route. */ public String getOperationName() { return this.operationName; } /** ** The operation name for the route. *
* * @param operationName * The operation name for the route. * @return Returns a reference to this object so that method calls can be chained together. */ public Route withOperationName(String operationName) { setOperationName(operationName); return this; } /** ** The request models for the route. Supported only for WebSocket APIs. *
* * @return The request models for the route. Supported only for WebSocket APIs. */ public java.util.Map* The request models for the route. Supported only for WebSocket APIs. *
* * @param requestModels * The request models for the route. Supported only for WebSocket APIs. */ public void setRequestModels(java.util.Map* The request models for the route. Supported only for WebSocket APIs. *
* * @param requestModels * The request models for the route. Supported only for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public Route withRequestModels(java.util.Map* The request parameters for the route. Supported only for WebSocket APIs. *
* * @return The request parameters for the route. Supported only for WebSocket APIs. */ public java.util.Map* The request parameters for the route. Supported only for WebSocket APIs. *
* * @param requestParameters * The request parameters for the route. Supported only for WebSocket APIs. */ public void setRequestParameters(java.util.Map* The request parameters for the route. Supported only for WebSocket APIs. *
* * @param requestParameters * The request parameters for the route. Supported only for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public Route withRequestParameters(java.util.Map* The route ID. *
* * @param routeId * The route ID. */ public void setRouteId(String routeId) { this.routeId = routeId; } /** ** The route ID. *
* * @return The route ID. */ public String getRouteId() { return this.routeId; } /** ** The route ID. *
* * @param routeId * The route ID. * @return Returns a reference to this object so that method calls can be chained together. */ public Route withRouteId(String routeId) { setRouteId(routeId); return this; } /** ** The route key for the route. *
* * @param routeKey * The route key for the route. */ public void setRouteKey(String routeKey) { this.routeKey = routeKey; } /** ** The route key for the route. *
* * @return The route key for the route. */ public String getRouteKey() { return this.routeKey; } /** ** The route key for the route. *
* * @param routeKey * The route key for the route. * @return Returns a reference to this object so that method calls can be chained together. */ public Route withRouteKey(String routeKey) { setRouteKey(routeKey); return this; } /** ** The route response selection expression for the route. Supported only for WebSocket APIs. *
* * @param routeResponseSelectionExpression * The route response selection expression for the route. Supported only for WebSocket APIs. */ public void setRouteResponseSelectionExpression(String routeResponseSelectionExpression) { this.routeResponseSelectionExpression = routeResponseSelectionExpression; } /** ** The route response selection expression for the route. Supported only for WebSocket APIs. *
* * @return The route response selection expression for the route. Supported only for WebSocket APIs. */ public String getRouteResponseSelectionExpression() { return this.routeResponseSelectionExpression; } /** ** The route response selection expression for the route. Supported only for WebSocket APIs. *
* * @param routeResponseSelectionExpression * The route response selection expression for the route. Supported only for WebSocket APIs. * @return Returns a reference to this object so that method calls can be chained together. */ public Route withRouteResponseSelectionExpression(String routeResponseSelectionExpression) { setRouteResponseSelectionExpression(routeResponseSelectionExpression); return this; } /** ** The target for the route. *
* * @param target * The target for the route. */ public void setTarget(String target) { this.target = target; } /** ** The target for the route. *
* * @return The target for the route. */ public String getTarget() { return this.target; } /** ** The target for the route. *
* * @param target * The target for the route. * @return Returns a reference to this object so that method calls can be chained together. */ public Route withTarget(String target) { setTarget(target); 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 (getApiGatewayManaged() != null) sb.append("ApiGatewayManaged: ").append(getApiGatewayManaged()).append(","); if (getApiKeyRequired() != null) sb.append("ApiKeyRequired: ").append(getApiKeyRequired()).append(","); if (getAuthorizationScopes() != null) sb.append("AuthorizationScopes: ").append(getAuthorizationScopes()).append(","); if (getAuthorizationType() != null) sb.append("AuthorizationType: ").append(getAuthorizationType()).append(","); if (getAuthorizerId() != null) sb.append("AuthorizerId: ").append(getAuthorizerId()).append(","); if (getModelSelectionExpression() != null) sb.append("ModelSelectionExpression: ").append(getModelSelectionExpression()).append(","); if (getOperationName() != null) sb.append("OperationName: ").append(getOperationName()).append(","); if (getRequestModels() != null) sb.append("RequestModels: ").append(getRequestModels()).append(","); if (getRequestParameters() != null) sb.append("RequestParameters: ").append(getRequestParameters()).append(","); if (getRouteId() != null) sb.append("RouteId: ").append(getRouteId()).append(","); if (getRouteKey() != null) sb.append("RouteKey: ").append(getRouteKey()).append(","); if (getRouteResponseSelectionExpression() != null) sb.append("RouteResponseSelectionExpression: ").append(getRouteResponseSelectionExpression()).append(","); if (getTarget() != null) sb.append("Target: ").append(getTarget()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Route == false) return false; Route other = (Route) obj; if (other.getApiGatewayManaged() == null ^ this.getApiGatewayManaged() == null) return false; if (other.getApiGatewayManaged() != null && other.getApiGatewayManaged().equals(this.getApiGatewayManaged()) == 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.getAuthorizationScopes() == null ^ this.getAuthorizationScopes() == null) return false; if (other.getAuthorizationScopes() != null && other.getAuthorizationScopes().equals(this.getAuthorizationScopes()) == 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.getModelSelectionExpression() == null ^ this.getModelSelectionExpression() == null) return false; if (other.getModelSelectionExpression() != null && other.getModelSelectionExpression().equals(this.getModelSelectionExpression()) == 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.getRequestModels() == null ^ this.getRequestModels() == null) return false; if (other.getRequestModels() != null && other.getRequestModels().equals(this.getRequestModels()) == 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.getRouteId() == null ^ this.getRouteId() == null) return false; if (other.getRouteId() != null && other.getRouteId().equals(this.getRouteId()) == 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.getRouteResponseSelectionExpression() == null ^ this.getRouteResponseSelectionExpression() == null) return false; if (other.getRouteResponseSelectionExpression() != null && other.getRouteResponseSelectionExpression().equals(this.getRouteResponseSelectionExpression()) == false) return false; if (other.getTarget() == null ^ this.getTarget() == null) return false; if (other.getTarget() != null && other.getTarget().equals(this.getTarget()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getApiGatewayManaged() == null) ? 0 : getApiGatewayManaged().hashCode()); hashCode = prime * hashCode + ((getApiKeyRequired() == null) ? 0 : getApiKeyRequired().hashCode()); hashCode = prime * hashCode + ((getAuthorizationScopes() == null) ? 0 : getAuthorizationScopes().hashCode()); hashCode = prime * hashCode + ((getAuthorizationType() == null) ? 0 : getAuthorizationType().hashCode()); hashCode = prime * hashCode + ((getAuthorizerId() == null) ? 0 : getAuthorizerId().hashCode()); hashCode = prime * hashCode + ((getModelSelectionExpression() == null) ? 0 : getModelSelectionExpression().hashCode()); hashCode = prime * hashCode + ((getOperationName() == null) ? 0 : getOperationName().hashCode()); hashCode = prime * hashCode + ((getRequestModels() == null) ? 0 : getRequestModels().hashCode()); hashCode = prime * hashCode + ((getRequestParameters() == null) ? 0 : getRequestParameters().hashCode()); hashCode = prime * hashCode + ((getRouteId() == null) ? 0 : getRouteId().hashCode()); hashCode = prime * hashCode + ((getRouteKey() == null) ? 0 : getRouteKey().hashCode()); hashCode = prime * hashCode + ((getRouteResponseSelectionExpression() == null) ? 0 : getRouteResponseSelectionExpression().hashCode()); hashCode = prime * hashCode + ((getTarget() == null) ? 0 : getTarget().hashCode()); return hashCode; } @Override public Route clone() { try { return (Route) 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.apigatewayv2.model.transform.RouteMarshaller.getInstance().marshall(this, protocolMarshaller); } }