& result);
///@{
/**
* The method's HTTP verb.
*/
inline const Aws::String& GetHttpMethod() const{ return m_httpMethod; }
inline void SetHttpMethod(const Aws::String& value) { m_httpMethod = value; }
inline void SetHttpMethod(Aws::String&& value) { m_httpMethod = std::move(value); }
inline void SetHttpMethod(const char* value) { m_httpMethod.assign(value); }
inline GetMethodResult& WithHttpMethod(const Aws::String& value) { SetHttpMethod(value); return *this;}
inline GetMethodResult& WithHttpMethod(Aws::String&& value) { SetHttpMethod(std::move(value)); return *this;}
inline GetMethodResult& WithHttpMethod(const char* value) { SetHttpMethod(value); 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.
*/
inline const Aws::String& GetAuthorizationType() const{ return m_authorizationType; }
inline void SetAuthorizationType(const Aws::String& value) { m_authorizationType = value; }
inline void SetAuthorizationType(Aws::String&& value) { m_authorizationType = std::move(value); }
inline void SetAuthorizationType(const char* value) { m_authorizationType.assign(value); }
inline GetMethodResult& WithAuthorizationType(const Aws::String& value) { SetAuthorizationType(value); return *this;}
inline GetMethodResult& WithAuthorizationType(Aws::String&& value) { SetAuthorizationType(std::move(value)); return *this;}
inline GetMethodResult& WithAuthorizationType(const char* value) { SetAuthorizationType(value); return *this;}
///@}
///@{
/**
* The identifier of an Authorizer to use on this method. The
* authorizationType must be CUSTOM.
*/
inline const Aws::String& GetAuthorizerId() const{ return m_authorizerId; }
inline void SetAuthorizerId(const Aws::String& value) { m_authorizerId = value; }
inline void SetAuthorizerId(Aws::String&& value) { m_authorizerId = std::move(value); }
inline void SetAuthorizerId(const char* value) { m_authorizerId.assign(value); }
inline GetMethodResult& WithAuthorizerId(const Aws::String& value) { SetAuthorizerId(value); return *this;}
inline GetMethodResult& WithAuthorizerId(Aws::String&& value) { SetAuthorizerId(std::move(value)); return *this;}
inline GetMethodResult& WithAuthorizerId(const char* value) { SetAuthorizerId(value); return *this;}
///@}
///@{
/**
* A boolean flag specifying whether a valid ApiKey is required to invoke this
* method.
*/
inline bool GetApiKeyRequired() const{ return m_apiKeyRequired; }
inline void SetApiKeyRequired(bool value) { m_apiKeyRequired = value; }
inline GetMethodResult& WithApiKeyRequired(bool value) { SetApiKeyRequired(value); return *this;}
///@}
///@{
/**
* The identifier of a RequestValidator for request validation.
*/
inline const Aws::String& GetRequestValidatorId() const{ return m_requestValidatorId; }
inline void SetRequestValidatorId(const Aws::String& value) { m_requestValidatorId = value; }
inline void SetRequestValidatorId(Aws::String&& value) { m_requestValidatorId = std::move(value); }
inline void SetRequestValidatorId(const char* value) { m_requestValidatorId.assign(value); }
inline GetMethodResult& WithRequestValidatorId(const Aws::String& value) { SetRequestValidatorId(value); return *this;}
inline GetMethodResult& WithRequestValidatorId(Aws::String&& value) { SetRequestValidatorId(std::move(value)); return *this;}
inline GetMethodResult& WithRequestValidatorId(const char* value) { SetRequestValidatorId(value); 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.
*/
inline const Aws::String& GetOperationName() const{ return m_operationName; }
inline void SetOperationName(const Aws::String& value) { m_operationName = value; }
inline void SetOperationName(Aws::String&& value) { m_operationName = std::move(value); }
inline void SetOperationName(const char* value) { m_operationName.assign(value); }
inline GetMethodResult& WithOperationName(const Aws::String& value) { SetOperationName(value); return *this;}
inline GetMethodResult& WithOperationName(Aws::String&& value) { SetOperationName(std::move(value)); return *this;}
inline GetMethodResult& WithOperationName(const char* value) { SetOperationName(value); 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.
*/
inline const Aws::Map& GetRequestParameters() const{ return m_requestParameters; }
inline void SetRequestParameters(const Aws::Map& value) { m_requestParameters = value; }
inline void SetRequestParameters(Aws::Map&& value) { m_requestParameters = std::move(value); }
inline GetMethodResult& WithRequestParameters(const Aws::Map& value) { SetRequestParameters(value); return *this;}
inline GetMethodResult& WithRequestParameters(Aws::Map&& value) { SetRequestParameters(std::move(value)); return *this;}
inline GetMethodResult& AddRequestParameters(const Aws::String& key, bool value) { m_requestParameters.emplace(key, value); return *this; }
inline GetMethodResult& AddRequestParameters(Aws::String&& key, bool value) { m_requestParameters.emplace(std::move(key), value); return *this; }
inline GetMethodResult& AddRequestParameters(const char* key, bool value) { m_requestParameters.emplace(key, value); 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).
*/
inline const Aws::Map& GetRequestModels() const{ return m_requestModels; }
inline void SetRequestModels(const Aws::Map& value) { m_requestModels = value; }
inline void SetRequestModels(Aws::Map&& value) { m_requestModels = std::move(value); }
inline GetMethodResult& WithRequestModels(const Aws::Map& value) { SetRequestModels(value); return *this;}
inline GetMethodResult& WithRequestModels(Aws::Map&& value) { SetRequestModels(std::move(value)); return *this;}
inline GetMethodResult& AddRequestModels(const Aws::String& key, const Aws::String& value) { m_requestModels.emplace(key, value); return *this; }
inline GetMethodResult& AddRequestModels(Aws::String&& key, const Aws::String& value) { m_requestModels.emplace(std::move(key), value); return *this; }
inline GetMethodResult& AddRequestModels(const Aws::String& key, Aws::String&& value) { m_requestModels.emplace(key, std::move(value)); return *this; }
inline GetMethodResult& AddRequestModels(Aws::String&& key, Aws::String&& value) { m_requestModels.emplace(std::move(key), std::move(value)); return *this; }
inline GetMethodResult& AddRequestModels(const char* key, Aws::String&& value) { m_requestModels.emplace(key, std::move(value)); return *this; }
inline GetMethodResult& AddRequestModels(Aws::String&& key, const char* value) { m_requestModels.emplace(std::move(key), value); return *this; }
inline GetMethodResult& AddRequestModels(const char* key, const char* value) { m_requestModels.emplace(key, value); return *this; }
///@}
///@{
/**
* Gets a method response associated with a given HTTP status code.
*/
inline const Aws::Map& GetMethodResponses() const{ return m_methodResponses; }
inline void SetMethodResponses(const Aws::Map& value) { m_methodResponses = value; }
inline void SetMethodResponses(Aws::Map&& value) { m_methodResponses = std::move(value); }
inline GetMethodResult& WithMethodResponses(const Aws::Map& value) { SetMethodResponses(value); return *this;}
inline GetMethodResult& WithMethodResponses(Aws::Map&& value) { SetMethodResponses(std::move(value)); return *this;}
inline GetMethodResult& AddMethodResponses(const Aws::String& key, const MethodResponse& value) { m_methodResponses.emplace(key, value); return *this; }
inline GetMethodResult& AddMethodResponses(Aws::String&& key, const MethodResponse& value) { m_methodResponses.emplace(std::move(key), value); return *this; }
inline GetMethodResult& AddMethodResponses(const Aws::String& key, MethodResponse&& value) { m_methodResponses.emplace(key, std::move(value)); return *this; }
inline GetMethodResult& AddMethodResponses(Aws::String&& key, MethodResponse&& value) { m_methodResponses.emplace(std::move(key), std::move(value)); return *this; }
inline GetMethodResult& AddMethodResponses(const char* key, MethodResponse&& value) { m_methodResponses.emplace(key, std::move(value)); return *this; }
inline GetMethodResult& AddMethodResponses(const char* key, const MethodResponse& value) { m_methodResponses.emplace(key, value); 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.
*/
inline const Integration& GetMethodIntegration() const{ return m_methodIntegration; }
inline void SetMethodIntegration(const Integration& value) { m_methodIntegration = value; }
inline void SetMethodIntegration(Integration&& value) { m_methodIntegration = std::move(value); }
inline GetMethodResult& WithMethodIntegration(const Integration& value) { SetMethodIntegration(value); return *this;}
inline GetMethodResult& WithMethodIntegration(Integration&& value) { SetMethodIntegration(std::move(value)); 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.
*/
inline const Aws::Vector& GetAuthorizationScopes() const{ return m_authorizationScopes; }
inline void SetAuthorizationScopes(const Aws::Vector& value) { m_authorizationScopes = value; }
inline void SetAuthorizationScopes(Aws::Vector&& value) { m_authorizationScopes = std::move(value); }
inline GetMethodResult& WithAuthorizationScopes(const Aws::Vector& value) { SetAuthorizationScopes(value); return *this;}
inline GetMethodResult& WithAuthorizationScopes(Aws::Vector&& value) { SetAuthorizationScopes(std::move(value)); return *this;}
inline GetMethodResult& AddAuthorizationScopes(const Aws::String& value) { m_authorizationScopes.push_back(value); return *this; }
inline GetMethodResult& AddAuthorizationScopes(Aws::String&& value) { m_authorizationScopes.push_back(std::move(value)); return *this; }
inline GetMethodResult& AddAuthorizationScopes(const char* value) { m_authorizationScopes.push_back(value); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline GetMethodResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GetMethodResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GetMethodResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_httpMethod;
Aws::String m_authorizationType;
Aws::String m_authorizerId;
bool m_apiKeyRequired;
Aws::String m_requestValidatorId;
Aws::String m_operationName;
Aws::Map m_requestParameters;
Aws::Map m_requestModels;
Aws::Map m_methodResponses;
Integration m_methodIntegration;
Aws::Vector m_authorizationScopes;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws