methods
Creates, updates, deletes or gets a method
resource or lists methods
in a region
Overview
Name | methods |
Type | Resource |
Description | The AWS::ApiGateway::Method resource creates API Gateway methods that define the parameters and body that clients must send in their requests. |
Id | aws.apigateway.methods |
Fields
Name | Datatype | Description |
---|---|---|
integration | object | Integration is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls. |
operation_name | string | |
request_models | object | |
rest_api_id | string | |
authorization_scopes | array | |
request_validator_id | string | |
request_parameters | object | |
method_responses | array | |
authorizer_id | string | |
resource_id | string | |
api_key_required | boolean | |
authorization_type | string | The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*. If you specify the AuthorizerId property, specify CUSTOM or COGNITO_USER_POOLS for this property. |
http_method | string | |
region | string | AWS region. |
For more information, see AWS::ApiGateway::Method
.
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | RestApiId, ResourceId, HttpMethod, region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all properties from an individual method
.
SELECT
region,
integration,
operation_name,
request_models,
rest_api_id,
authorization_scopes,
request_validator_id,
request_parameters,
method_responses,
authorizer_id,
resource_id,
api_key_required,
authorization_type,
http_method
FROM aws.apigateway.methods
WHERE region = 'us-east-1' AND data__Identifier = '<RestApiId>|<ResourceId>|<HttpMethod>';
INSERT
example
Use the following StackQL query and manifest file to create a new method
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.apigateway.methods (
RestApiId,
ResourceId,
HttpMethod,
region
)
SELECT
'{{ RestApiId }}',
'{{ ResourceId }}',
'{{ HttpMethod }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.apigateway.methods (
Integration,
OperationName,
RequestModels,
RestApiId,
AuthorizationScopes,
RequestValidatorId,
RequestParameters,
MethodResponses,
AuthorizerId,
ResourceId,
ApiKeyRequired,
AuthorizationType,
HttpMethod,
region
)
SELECT
'{{ Integration }}',
'{{ OperationName }}',
'{{ RequestModels }}',
'{{ RestApiId }}',
'{{ AuthorizationScopes }}',
'{{ RequestValidatorId }}',
'{{ RequestParameters }}',
'{{ MethodResponses }}',
'{{ AuthorizerId }}',
'{{ ResourceId }}',
'{{ ApiKeyRequired }}',
'{{ AuthorizationType }}',
'{{ HttpMethod }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: method
props:
- name: Integration
value:
CacheNamespace: '{{ CacheNamespace }}'
ConnectionType: '{{ ConnectionType }}'
IntegrationResponses:
- ResponseTemplates: {}
SelectionPattern: '{{ SelectionPattern }}'
ContentHandling: '{{ ContentHandling }}'
ResponseParameters: {}
StatusCode: '{{ StatusCode }}'
IntegrationHttpMethod: '{{ IntegrationHttpMethod }}'
Uri: '{{ Uri }}'
PassthroughBehavior: '{{ PassthroughBehavior }}'
RequestParameters: {}
ConnectionId: '{{ ConnectionId }}'
Type: '{{ Type }}'
CacheKeyParameters:
- '{{ CacheKeyParameters[0] }}'
ContentHandling: '{{ ContentHandling }}'
RequestTemplates: {}
TimeoutInMillis: '{{ TimeoutInMillis }}'
Credentials: '{{ Credentials }}'
- name: OperationName
value: '{{ OperationName }}'
- name: RequestModels
value: {}
- name: RestApiId
value: '{{ RestApiId }}'
- name: AuthorizationScopes
value:
- '{{ AuthorizationScopes[0] }}'
- name: RequestValidatorId
value: '{{ RequestValidatorId }}'
- name: RequestParameters
value: {}
- name: MethodResponses
value:
- ResponseParameters: {}
StatusCode: '{{ StatusCode }}'
ResponseModels: {}
- name: AuthorizerId
value: '{{ AuthorizerId }}'
- name: ResourceId
value: '{{ ResourceId }}'
- name: ApiKeyRequired
value: '{{ ApiKeyRequired }}'
- name: AuthorizationType
value: '{{ AuthorizationType }}'
- name: HttpMethod
value: '{{ HttpMethod }}'
DELETE
example
/*+ delete */
DELETE FROM aws.apigateway.methods
WHERE data__Identifier = '<RestApiId|ResourceId|HttpMethod>'
AND region = 'us-east-1';
Permissions
To operate on the methods
resource, the following permissions are required:
Read
apigateway:GET
Create
apigateway:PUT,
apigateway:GET,
iam:PassRole
Update
apigateway:GET,
apigateway:DELETE,
apigateway:PUT,
iam:PassRole
Delete
apigateway:DELETE