Skip to main content

models

Creates, updates, deletes or gets a model resource or lists models in a region

Overview

Namemodels
TypeResource
DescriptionThe AWS::ApiGateway::Model resource defines the structure of a request or response payload for an API method.
Idaws.apigateway.models

Fields

NameDatatypeDescription
content_typestringThe content-type for the model.
descriptionstringThe description of the model.
namestringA name for the model. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).
If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
rest_api_idstringThe string identifier of the associated RestApi.
schemaobjectThe schema for the model. For application/json models, this should be JSON schema draft 4 model. Do not include "\*/" characters in the description of any properties because such "\*/" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.
regionstringAWS region.

Methods

NameAccessible byRequired Params
create_resourceINSERTRestApiId, region
delete_resourceDELETEdata__Identifier, region
update_resourceUPDATEdata__Identifier, data__PatchDocument, region
list_resourcesSELECTregion
get_resourceSELECTdata__Identifier, region

SELECT examples

Gets all models in a region.

SELECT
region,
content_type,
description,
name,
rest_api_id,
schema
FROM aws.apigateway.models
WHERE region = 'us-east-1';

Gets all properties from an individual model.

SELECT
region,
content_type,
description,
name,
rest_api_id,
schema
FROM aws.apigateway.models
WHERE region = 'us-east-1' AND data__Identifier = '<RestApiId>|<Name>';

INSERT example

Use the following StackQL query and manifest file to create a new model resource, using stack-deploy.

/*+ create */
INSERT INTO aws.apigateway.models (
RestApiId,
region
)
SELECT
'{{ RestApiId }}',
'{{ region }}';

DELETE example

/*+ delete */
DELETE FROM aws.apigateway.models
WHERE data__Identifier = '<RestApiId|Name>'
AND region = 'us-east-1';

Permissions

To operate on the models resource, the following permissions are required:

Create

apigateway:POST,
apigateway:GET

Read

apigateway:GET

Update

apigateway:PATCH,
apigateway:GET

Delete

apigateway:GET,
apigateway:DELETE

List

apigateway:GET