Model
The Model resource lets you manage AWS ApiGatewayV2 Models that define the structure of request and response payloads for your API Gateway.
Minimal Example
Section titled “Minimal Example”Create a basic API Gateway model with essential properties.
import AWS from "alchemy/aws/control";
const basicModel = await AWS.ApiGatewayV2.Model("basicModel", { ApiId: "api-123456", Name: "BasicModel", Schema: { type: "object", properties: { id: { type: "string" }, name: { type: "string" } }, required: ["id"] }, Description: "A model for basic API payloads", ContentType: "application/json"});
Advanced Configuration
Section titled “Advanced Configuration”Define a more complex model with additional properties and schemas.
const advancedModel = await AWS.ApiGatewayV2.Model("advancedModel", { ApiId: "api-123456", Name: "AdvancedModel", Schema: { type: "object", properties: { userId: { type: "string" }, title: { type: "string" }, completed: { type: "boolean" } }, required: ["userId", "title"] }, Description: "An advanced model for user tasks", ContentType: "application/json"});
Adopt an Existing Model
Section titled “Adopt an Existing Model”Use the adopt
property to adopt an existing model instead of failing if it already exists.
const adoptedModel = await AWS.ApiGatewayV2.Model("adoptedModel", { ApiId: "api-654321", Name: "AdoptedModel", Schema: { type: "object", properties: { taskId: { type: "string" }, taskName: { type: "string" } }, required: ["taskId"] }, Description: "Model for adopting existing tasks", adopt: true});
Update Model Properties
Section titled “Update Model Properties”Update the properties of an existing model to reflect changes.
const updatedModel = await AWS.ApiGatewayV2.Model("updatedModel", { ApiId: "api-123456", Name: "UpdatedModel", Schema: { type: "object", properties: { id: { type: "string" }, name: { type: "string" }, age: { type: "integer" } }, required: ["id", "name"] }, Description: "Updated model with age property", ContentType: "application/json"});