vpc_create_subnet
Create a subnet in an IBM Cloud VPC by providing a name, VPC ID, and zone, with optional CIDR block or IP address count.
Instructions
Create a subnet
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| vpc_id | Yes | ||
| zone | Yes | e.g. us-south-1 | |
| ipv4_cidr_block | No | ||
| total_ipv4_address_count | No | ||
| resource_group_id | No | ||
| region | No |
Implementation Reference
- src/tools/vpc/index.ts:36-42 (registration)Registration of the 'vpc_create_subnet' tool on the MCP server via server.tool(), with Zod schema for inputs (name, vpc_id, zone, ipv4_cidr_block, total_ipv4_address_count, resource_group_id, region) and handler that POSTs to /subnets
server.tool("vpc_create_subnet", "Create a subnet", { name: z.string(), vpc_id: z.string(), zone: z.string().describe("e.g. us-south-1"), ipv4_cidr_block: z.string().optional(), total_ipv4_address_count: z.number().optional(), resource_group_id: z.string().optional(), region: z.string().optional(), }, async (p) => safeTool(async () => { w(); return client.post(vpcUrl(p.region||r, "/subnets"), {name:p.name,vpc:{id:p.vpc_id},zone:{name:p.zone},ipv4_cidr_block:p.ipv4_cidr_block,total_ipv4_address_count:p.total_ipv4_address_count,resource_group:p.resource_group_id?{id:p.resource_group_id}:undefined}); })); - src/tools/vpc/index.ts:40-42 (handler)Handler function for 'vpc_create_subnet': calls assertWriteAllowed via w(), then POSTs to the /subnets endpoint with the provided subnet parameters (name, vpc.id, zone.name, ipv4_cidr_block, total_ipv4_address_count, resource_group)
}, async (p) => safeTool(async () => { w(); return client.post(vpcUrl(p.region||r, "/subnets"), {name:p.name,vpc:{id:p.vpc_id},zone:{name:p.zone},ipv4_cidr_block:p.ipv4_cidr_block,total_ipv4_address_count:p.total_ipv4_address_count,resource_group:p.resource_group_id?{id:p.resource_group_id}:undefined}); })); - src/tools/vpc/index.ts:37-39 (schema)Zod schema for 'vpc_create_subnet' input parameters: name (string), vpc_id (string), zone (string), ipv4_cidr_block (optional string), total_ipv4_address_count (optional number), resource_group_id (optional string), region (optional string)
name: z.string(), vpc_id: z.string(), zone: z.string().describe("e.g. us-south-1"), ipv4_cidr_block: z.string().optional(), total_ipv4_address_count: z.number().optional(), resource_group_id: z.string().optional(), region: z.string().optional(),