dl_create_gateway
Create a Direct Link gateway to establish dedicated or connect type connectivity with bandwidth, BGP ASN, and location.
Instructions
Create a Direct Link gateway
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| type | Yes | ||
| speed_mbps | Yes | Speed in Mbps | |
| bgp_asn | Yes | BGP ASN | |
| location_name | No | ||
| cross_connect_router | No |
Implementation Reference
- src/tools/networking/index.ts:85-94 (handler)Handler that creates a Direct Link gateway via POST to IBM Cloud Direct Link API. Validates input with Zod schema, checks write permission via w(), and sends name, type, speed_mbps, bgp_asn, optional location_name and cross_connect_router.
server.tool("dl_create_gateway", "Create a Direct Link gateway", { name: z.string(), type: z.enum(["dedicated","connect"]), speed_mbps: z.number().describe("Speed in Mbps"), bgp_asn: z.number().describe("BGP ASN"), location_name: z.string().optional(), cross_connect_router: z.string().optional(), }, async (p) => safeTool(async () => { w(); return client.post(`${dl}/gateways`, { name:p.name, type:p.type, speed_mbps:p.speed_mbps, bgp_asn:p.bgp_asn, location_name:p.location_name, cross_connect_router:p.cross_connect_router, }, {version:"2024-03-01"}); })); - src/tools/networking/index.ts:86-89 (schema)Zod schema defining the input parameters for dl_create_gateway: name (string), type (enum: dedicated|connect), speed_mbps (number), bgp_asn (number), location_name (optional string), cross_connect_router (optional string).
name: z.string(), type: z.enum(["dedicated","connect"]), speed_mbps: z.number().describe("Speed in Mbps"), bgp_asn: z.number().describe("BGP ASN"), location_name: z.string().optional(), cross_connect_router: z.string().optional(), }, async (p) => safeTool(async () => { w(); - src/tools/networking/index.ts:85-94 (registration)Registration of the dl_create_gateway tool via server.tool(), inside the registerNetworkingTools function which is called from src/server.ts.
server.tool("dl_create_gateway", "Create a Direct Link gateway", { name: z.string(), type: z.enum(["dedicated","connect"]), speed_mbps: z.number().describe("Speed in Mbps"), bgp_asn: z.number().describe("BGP ASN"), location_name: z.string().optional(), cross_connect_router: z.string().optional(), }, async (p) => safeTool(async () => { w(); return client.post(`${dl}/gateways`, { name:p.name, type:p.type, speed_mbps:p.speed_mbps, bgp_asn:p.bgp_asn, location_name:p.location_name, cross_connect_router:p.cross_connect_router, }, {version:"2024-03-01"}); }));