All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.apigateway.model.GetMethodResponse Maven / Gradle / Ivy

/*
 * Copyright 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 software.amazon.awssdk.services.apigateway.model;

import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* 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("software.amazon.awssdk:codegen") public final class GetMethodResponse extends ApiGatewayResponse implements ToCopyableBuilder { private static final SdkField HTTP_METHOD_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("httpMethod").getter(getter(GetMethodResponse::httpMethod)).setter(setter(Builder::httpMethod)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("httpMethod").build()).build(); private static final SdkField AUTHORIZATION_TYPE_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("authorizationType").getter(getter(GetMethodResponse::authorizationType)) .setter(setter(Builder::authorizationType)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("authorizationType").build()).build(); private static final SdkField AUTHORIZER_ID_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("authorizerId").getter(getter(GetMethodResponse::authorizerId)).setter(setter(Builder::authorizerId)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("authorizerId").build()).build(); private static final SdkField API_KEY_REQUIRED_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("apiKeyRequired").getter(getter(GetMethodResponse::apiKeyRequired)) .setter(setter(Builder::apiKeyRequired)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("apiKeyRequired").build()).build(); private static final SdkField REQUEST_VALIDATOR_ID_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("requestValidatorId").getter(getter(GetMethodResponse::requestValidatorId)) .setter(setter(Builder::requestValidatorId)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("requestValidatorId").build()) .build(); private static final SdkField OPERATION_NAME_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("operationName").getter(getter(GetMethodResponse::operationName)).setter(setter(Builder::operationName)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("operationName").build()).build(); private static final SdkField> REQUEST_PARAMETERS_FIELD = SdkField .> builder(MarshallingType.MAP) .memberName("requestParameters") .getter(getter(GetMethodResponse::requestParameters)) .setter(setter(Builder::requestParameters)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("requestParameters").build(), MapTrait.builder() .keyLocationName("key") .valueLocationName("value") .valueFieldInfo( SdkField. builder(MarshallingType.BOOLEAN) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("value").build()).build()).build()).build(); private static final SdkField> REQUEST_MODELS_FIELD = SdkField .> builder(MarshallingType.MAP) .memberName("requestModels") .getter(getter(GetMethodResponse::requestModels)) .setter(setter(Builder::requestModels)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("requestModels").build(), MapTrait.builder() .keyLocationName("key") .valueLocationName("value") .valueFieldInfo( SdkField. builder(MarshallingType.STRING) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("value").build()).build()).build()).build(); private static final SdkField> METHOD_RESPONSES_FIELD = SdkField .> builder(MarshallingType.MAP) .memberName("methodResponses") .getter(getter(GetMethodResponse::methodResponses)) .setter(setter(Builder::methodResponses)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("methodResponses").build(), MapTrait.builder() .keyLocationName("key") .valueLocationName("value") .valueFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(MethodResponse::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("value").build()).build()).build()).build(); private static final SdkField METHOD_INTEGRATION_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("methodIntegration") .getter(getter(GetMethodResponse::methodIntegration)).setter(setter(Builder::methodIntegration)) .constructor(Integration::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("methodIntegration").build()).build(); private static final SdkField> AUTHORIZATION_SCOPES_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("authorizationScopes") .getter(getter(GetMethodResponse::authorizationScopes)) .setter(setter(Builder::authorizationScopes)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("authorizationScopes").build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.STRING) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(HTTP_METHOD_FIELD, AUTHORIZATION_TYPE_FIELD, AUTHORIZER_ID_FIELD, API_KEY_REQUIRED_FIELD, REQUEST_VALIDATOR_ID_FIELD, OPERATION_NAME_FIELD, REQUEST_PARAMETERS_FIELD, REQUEST_MODELS_FIELD, METHOD_RESPONSES_FIELD, METHOD_INTEGRATION_FIELD, AUTHORIZATION_SCOPES_FIELD)); private final String httpMethod; private final String authorizationType; private final String authorizerId; private final Boolean apiKeyRequired; private final String requestValidatorId; private final String operationName; private final Map requestParameters; private final Map requestModels; private final Map methodResponses; private final Integration methodIntegration; private final List authorizationScopes; private GetMethodResponse(BuilderImpl builder) { super(builder); this.httpMethod = builder.httpMethod; this.authorizationType = builder.authorizationType; this.authorizerId = builder.authorizerId; this.apiKeyRequired = builder.apiKeyRequired; this.requestValidatorId = builder.requestValidatorId; this.operationName = builder.operationName; this.requestParameters = builder.requestParameters; this.requestModels = builder.requestModels; this.methodResponses = builder.methodResponses; this.methodIntegration = builder.methodIntegration; this.authorizationScopes = builder.authorizationScopes; } /** *

* The method's HTTP verb. *

* * @return The method's HTTP verb. */ public final String httpMethod() { return 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. *

* * @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 final String authorizationType() { return authorizationType; } /** *

* 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 final String authorizerId() { return authorizerId; } /** *

* 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 final Boolean apiKeyRequired() { return apiKeyRequired; } /** *

* The identifier of a RequestValidator for request validation. *

* * @return The identifier of a RequestValidator for request validation. */ public final String requestValidatorId() { return 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. *

* * @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 final String operationName() { return operationName; } /** * For responses, this returns true if the service returned a value for the RequestParameters property. This DOES * NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasRequestParameters() { return requestParameters != null && !(requestParameters instanceof SdkAutoConstructMap); } /** *

* 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. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasRequestParameters} method. *

* * @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 final Map requestParameters() { return requestParameters; } /** * For responses, this returns true if the service returned a value for the RequestModels property. This DOES NOT * check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasRequestModels() { return requestModels != null && !(requestModels instanceof SdkAutoConstructMap); } /** *

* 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). *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasRequestModels} method. *

* * @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 final Map requestModels() { return requestModels; } /** * For responses, this returns true if the service returned a value for the MethodResponses property. This DOES NOT * check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasMethodResponses() { return methodResponses != null && !(methodResponses instanceof SdkAutoConstructMap); } /** *

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

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasMethodResponses} method. *

* * @return Gets a method response associated with a given HTTP status code. */ public final Map methodResponses() { return 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. *

* * @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 final Integration methodIntegration() { return methodIntegration; } /** * For responses, this returns true if the service returned a value for the AuthorizationScopes property. This DOES * NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasAuthorizationScopes() { return authorizationScopes != null && !(authorizationScopes instanceof SdkAutoConstructList); } /** *

* 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. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasAuthorizationScopes} method. *

* * @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 final List authorizationScopes() { return authorizationScopes; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + super.hashCode(); hashCode = 31 * hashCode + Objects.hashCode(httpMethod()); hashCode = 31 * hashCode + Objects.hashCode(authorizationType()); hashCode = 31 * hashCode + Objects.hashCode(authorizerId()); hashCode = 31 * hashCode + Objects.hashCode(apiKeyRequired()); hashCode = 31 * hashCode + Objects.hashCode(requestValidatorId()); hashCode = 31 * hashCode + Objects.hashCode(operationName()); hashCode = 31 * hashCode + Objects.hashCode(hasRequestParameters() ? requestParameters() : null); hashCode = 31 * hashCode + Objects.hashCode(hasRequestModels() ? requestModels() : null); hashCode = 31 * hashCode + Objects.hashCode(hasMethodResponses() ? methodResponses() : null); hashCode = 31 * hashCode + Objects.hashCode(methodIntegration()); hashCode = 31 * hashCode + Objects.hashCode(hasAuthorizationScopes() ? authorizationScopes() : null); return hashCode; } @Override public final boolean equals(Object obj) { return super.equals(obj) && equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof GetMethodResponse)) { return false; } GetMethodResponse other = (GetMethodResponse) obj; return Objects.equals(httpMethod(), other.httpMethod()) && Objects.equals(authorizationType(), other.authorizationType()) && Objects.equals(authorizerId(), other.authorizerId()) && Objects.equals(apiKeyRequired(), other.apiKeyRequired()) && Objects.equals(requestValidatorId(), other.requestValidatorId()) && Objects.equals(operationName(), other.operationName()) && hasRequestParameters() == other.hasRequestParameters() && Objects.equals(requestParameters(), other.requestParameters()) && hasRequestModels() == other.hasRequestModels() && Objects.equals(requestModels(), other.requestModels()) && hasMethodResponses() == other.hasMethodResponses() && Objects.equals(methodResponses(), other.methodResponses()) && Objects.equals(methodIntegration(), other.methodIntegration()) && hasAuthorizationScopes() == other.hasAuthorizationScopes() && Objects.equals(authorizationScopes(), other.authorizationScopes()); } /** * 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. */ @Override public final String toString() { return ToString.builder("GetMethodResponse").add("HttpMethod", httpMethod()) .add("AuthorizationType", authorizationType()).add("AuthorizerId", authorizerId()) .add("ApiKeyRequired", apiKeyRequired()).add("RequestValidatorId", requestValidatorId()) .add("OperationName", operationName()) .add("RequestParameters", hasRequestParameters() ? requestParameters() : null) .add("RequestModels", hasRequestModels() ? requestModels() : null) .add("MethodResponses", hasMethodResponses() ? methodResponses() : null) .add("MethodIntegration", methodIntegration()) .add("AuthorizationScopes", hasAuthorizationScopes() ? authorizationScopes() : null).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "httpMethod": return Optional.ofNullable(clazz.cast(httpMethod())); case "authorizationType": return Optional.ofNullable(clazz.cast(authorizationType())); case "authorizerId": return Optional.ofNullable(clazz.cast(authorizerId())); case "apiKeyRequired": return Optional.ofNullable(clazz.cast(apiKeyRequired())); case "requestValidatorId": return Optional.ofNullable(clazz.cast(requestValidatorId())); case "operationName": return Optional.ofNullable(clazz.cast(operationName())); case "requestParameters": return Optional.ofNullable(clazz.cast(requestParameters())); case "requestModels": return Optional.ofNullable(clazz.cast(requestModels())); case "methodResponses": return Optional.ofNullable(clazz.cast(methodResponses())); case "methodIntegration": return Optional.ofNullable(clazz.cast(methodIntegration())); case "authorizationScopes": return Optional.ofNullable(clazz.cast(authorizationScopes())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((GetMethodResponse) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends ApiGatewayResponse.Builder, SdkPojo, CopyableBuilder { /** *

* 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. */ Builder httpMethod(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. *

* * @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. */ Builder authorizationType(String authorizationType); /** *

* 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. */ Builder authorizerId(String authorizerId); /** *

* 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. */ Builder apiKeyRequired(Boolean apiKeyRequired); /** *

* 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. */ Builder requestValidatorId(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. *

* * @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. */ Builder operationName(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. *

* * @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. */ Builder requestParameters(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). *

* * @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. */ Builder requestModels(Map requestModels); /** *

* 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. */ Builder methodResponses(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. *

* * @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. */ Builder methodIntegration(Integration 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. *

* This is a convenience method that creates an instance of the {@link Integration.Builder} avoiding the need to * create one manually via {@link Integration#builder()}. * *

* When the {@link Consumer} completes, {@link Integration.Builder#build()} is called immediately and its result * is passed to {@link #methodIntegration(Integration)}. * * @param methodIntegration * a consumer that will call methods on {@link Integration.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #methodIntegration(Integration) */ default Builder methodIntegration(Consumer methodIntegration) { return methodIntegration(Integration.builder().applyMutation(methodIntegration).build()); } /** *

* 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. */ Builder authorizationScopes(Collection 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. * @return Returns a reference to this object so that method calls can be chained together. */ Builder authorizationScopes(String... authorizationScopes); } static final class BuilderImpl extends ApiGatewayResponse.BuilderImpl implements Builder { private String httpMethod; private String authorizationType; private String authorizerId; private Boolean apiKeyRequired; private String requestValidatorId; private String operationName; private Map requestParameters = DefaultSdkAutoConstructMap.getInstance(); private Map requestModels = DefaultSdkAutoConstructMap.getInstance(); private Map methodResponses = DefaultSdkAutoConstructMap.getInstance(); private Integration methodIntegration; private List authorizationScopes = DefaultSdkAutoConstructList.getInstance(); private BuilderImpl() { } private BuilderImpl(GetMethodResponse model) { super(model); httpMethod(model.httpMethod); authorizationType(model.authorizationType); authorizerId(model.authorizerId); apiKeyRequired(model.apiKeyRequired); requestValidatorId(model.requestValidatorId); operationName(model.operationName); requestParameters(model.requestParameters); requestModels(model.requestModels); methodResponses(model.methodResponses); methodIntegration(model.methodIntegration); authorizationScopes(model.authorizationScopes); } public final String getHttpMethod() { return httpMethod; } public final void setHttpMethod(String httpMethod) { this.httpMethod = httpMethod; } @Override public final Builder httpMethod(String httpMethod) { this.httpMethod = httpMethod; return this; } public final String getAuthorizationType() { return authorizationType; } public final void setAuthorizationType(String authorizationType) { this.authorizationType = authorizationType; } @Override public final Builder authorizationType(String authorizationType) { this.authorizationType = authorizationType; return this; } public final String getAuthorizerId() { return authorizerId; } public final void setAuthorizerId(String authorizerId) { this.authorizerId = authorizerId; } @Override public final Builder authorizerId(String authorizerId) { this.authorizerId = authorizerId; return this; } public final Boolean getApiKeyRequired() { return apiKeyRequired; } public final void setApiKeyRequired(Boolean apiKeyRequired) { this.apiKeyRequired = apiKeyRequired; } @Override public final Builder apiKeyRequired(Boolean apiKeyRequired) { this.apiKeyRequired = apiKeyRequired; return this; } public final String getRequestValidatorId() { return requestValidatorId; } public final void setRequestValidatorId(String requestValidatorId) { this.requestValidatorId = requestValidatorId; } @Override public final Builder requestValidatorId(String requestValidatorId) { this.requestValidatorId = requestValidatorId; return this; } public final String getOperationName() { return operationName; } public final void setOperationName(String operationName) { this.operationName = operationName; } @Override public final Builder operationName(String operationName) { this.operationName = operationName; return this; } public final Map getRequestParameters() { if (requestParameters instanceof SdkAutoConstructMap) { return null; } return requestParameters; } public final void setRequestParameters(Map requestParameters) { this.requestParameters = MapOfStringToBooleanCopier.copy(requestParameters); } @Override public final Builder requestParameters(Map requestParameters) { this.requestParameters = MapOfStringToBooleanCopier.copy(requestParameters); return this; } public final Map getRequestModels() { if (requestModels instanceof SdkAutoConstructMap) { return null; } return requestModels; } public final void setRequestModels(Map requestModels) { this.requestModels = MapOfStringToStringCopier.copy(requestModels); } @Override public final Builder requestModels(Map requestModels) { this.requestModels = MapOfStringToStringCopier.copy(requestModels); return this; } public final Map getMethodResponses() { Map result = MapOfMethodResponseCopier.copyToBuilder(this.methodResponses); if (result instanceof SdkAutoConstructMap) { return null; } return result; } public final void setMethodResponses(Map methodResponses) { this.methodResponses = MapOfMethodResponseCopier.copyFromBuilder(methodResponses); } @Override public final Builder methodResponses(Map methodResponses) { this.methodResponses = MapOfMethodResponseCopier.copy(methodResponses); return this; } public final Integration.Builder getMethodIntegration() { return methodIntegration != null ? methodIntegration.toBuilder() : null; } public final void setMethodIntegration(Integration.BuilderImpl methodIntegration) { this.methodIntegration = methodIntegration != null ? methodIntegration.build() : null; } @Override public final Builder methodIntegration(Integration methodIntegration) { this.methodIntegration = methodIntegration; return this; } public final Collection getAuthorizationScopes() { if (authorizationScopes instanceof SdkAutoConstructList) { return null; } return authorizationScopes; } public final void setAuthorizationScopes(Collection authorizationScopes) { this.authorizationScopes = ListOfStringCopier.copy(authorizationScopes); } @Override public final Builder authorizationScopes(Collection authorizationScopes) { this.authorizationScopes = ListOfStringCopier.copy(authorizationScopes); return this; } @Override @SafeVarargs public final Builder authorizationScopes(String... authorizationScopes) { authorizationScopes(Arrays.asList(authorizationScopes)); return this; } @Override public GetMethodResponse build() { return new GetMethodResponse(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy