Model
The Model resource lets you manage AWS ApiGateway Models that define the data structure of the API’s request and response bodies.
Minimal Example
Section titled “Minimal Example”Create a basic model with required properties and a description:
import AWS from "alchemy/aws/control";
const basicModel = await AWS.ApiGateway.Model("basicModel", { RestApiId: "abcd1234efgh5678ijkl9012mnop3456", // Replace with your actual RestApiId Name: "UserModel", Description: "Model representing a user in the system", ContentType: "application/json", Schema: { type: "object", properties: { id: { type: "string" }, name: { type: "string" }, email: { type: "string" } }, required: ["id", "name", "email"] }});
Advanced Configuration
Section titled “Advanced Configuration”Configure a model with additional properties, including an updated schema definition:
const advancedModel = await AWS.ApiGateway.Model("advancedModel", { RestApiId: "abcd1234efgh5678ijkl9012mnop3456", // Replace with your actual RestApiId Name: "ProductModel", Description: "Model representing a product in the inventory", ContentType: "application/json", Schema: { type: "object", properties: { productId: { type: "string" }, productName: { type: "string" }, price: { type: "number" }, inStock: { type: "boolean" } }, required: ["productId", "productName", "price"] }});
Updating an Existing Model
Section titled “Updating an Existing Model”This example demonstrates how to update an existing model’s description and schema:
const updatedModel = await AWS.ApiGateway.Model("updatedModel", { RestApiId: "abcd1234efgh5678ijkl9012mnop3456", // Replace with your actual RestApiId Name: "UserModel", Description: "Updated model representing a user with additional fields", Schema: { type: "object", properties: { id: { type: "string" }, name: { type: "string" }, email: { type: "string" }, createdAt: { type: "string", format: "date-time" } }, required: ["id", "name", "email", "createdAt"] }});
Conditional Resource Adoption
Section titled “Conditional Resource Adoption”This example shows how to adopt an existing model if it already exists:
const adoptedModel = await AWS.ApiGateway.Model("adoptedModel", { RestApiId: "abcd1234efgh5678ijkl9012mnop3456", // Replace with your actual RestApiId Name: "UserModel", adopt: true // Adopt existing resource instead of failing});