From 3198d454a0160fe755388802facd0d41ed3aa054 Mon Sep 17 00:00:00 2001 From: Tobias Herber <22559657+herber@users.noreply.github.com> Date: Thu, 4 Jun 2026 15:02:36 +0200 Subject: [PATCH 1/2] Update sdk --- sdk/core/src/index.ts | 2 +- sdk/core/src/sdk.ts | 7 +- .../endpoints/dashboard_instance_enclaves.ts | 98 +++++++ .../dashboard_instance_firewall-bindings.ts | 167 ++++++++++++ .../endpoints/dashboard_instance_firewalls.ts | 201 +++++++++++++++ ...ard_instance_firewalls_network-policies.ts | 106 ++++++++ .../dashboard_instance_network-policies.ts | 203 +++++++++++++++ ...shboard_instance_network-policies_rules.ts | 146 +++++++++++ .../endpoints/dashboard_instance_networks.ts | 134 ++++++++++ ...s => dashboard_instance_provider_tools.ts} | 36 +-- .../endpoints/enclaves.ts | 94 +++++++ .../endpoints/firewall-bindings.ts | 159 ++++++++++++ .../endpoints/firewalls.ts | 191 ++++++++++++++ .../endpoints/firewalls_network-policies.ts | 102 ++++++++ .../mt_2026_01_01_magnetar/endpoints/index.ts | 27 +- .../endpoints/management_instance_enclaves.ts | 98 +++++++ .../management_instance_firewall-bindings.ts | 167 ++++++++++++ .../management_instance_firewalls.ts | 201 +++++++++++++++ ...ent_instance_firewalls_network-policies.ts | 106 ++++++++ .../management_instance_network-policies.ts | 203 +++++++++++++++ ...agement_instance_network-policies_rules.ts | 146 +++++++++++ .../endpoints/management_instance_networks.ts | 134 ++++++++++ ... => management_instance_provider_tools.ts} | 36 +-- .../endpoints/network-policies.ts | 193 ++++++++++++++ .../endpoints/network-policies_rules.ts | 140 ++++++++++ .../endpoints/networks.ts | 128 ++++++++++ .../{providers_tools.ts => provider_tools.ts} | 36 +-- .../dashboard/instance/enclaves/get.ts | 47 ++++ .../{providers/tools => enclaves}/index.ts | 0 .../dashboard/instance/enclaves/list.ts | 163 ++++++++++++ .../instance/firewall-bindings/create.ts | 69 +++++ .../instance/firewall-bindings/delete.ts | 47 ++++ .../instance/firewall-bindings/get.ts | 47 ++++ .../instance/firewall-bindings/index.ts | 4 + .../instance/firewall-bindings/list.ts | 162 ++++++++++++ .../dashboard/instance/firewalls/create.ts | 129 ++++++++++ .../dashboard/instance/firewalls/delete.ts | 90 +++++++ .../dashboard/instance/firewalls/get.ts | 90 +++++++ .../dashboard/instance/firewalls/index.ts | 6 + .../dashboard/instance/firewalls/list.ts | 239 ++++++++++++++++++ .../firewalls/network-policies/attach.ts | 104 ++++++++ .../firewalls/network-policies/detach.ts | 90 +++++++ .../firewalls/network-policies/index.ts | 2 + .../dashboard/instance/firewalls/update.ts | 108 ++++++++ .../resources/dashboard/instance/index.ts | 6 + .../instance/network-policies/create.ts | 114 +++++++++ .../instance/network-policies/delete.ts | 70 +++++ .../instance/network-policies/get.ts | 70 +++++ .../instance/network-policies/index.ts | 6 + .../instance/network-policies/list.ts | 168 ++++++++++++ .../instance/network-policies/rules/create.ts | 67 +++++ .../instance/network-policies/rules/delete.ts | 70 +++++ .../instance/network-policies/rules/index.ts | 3 + .../instance/network-policies/rules/update.ts | 67 +++++ .../instance/network-policies/update.ts | 114 +++++++++ .../dashboard/instance/networks/get.ts | 42 +++ .../dashboard/instance/networks/index.ts | 3 + .../instance/networks/list-network-logs.ts | 97 +++++++ .../dashboard/instance/networks/list.ts | 133 ++++++++++ .../instance/provider-templates/create.ts | 28 +- .../dashboard/instance/provider/index.ts | 1 + .../{providers => provider}/tools/get.ts | 6 +- .../instance/provider}/tools/index.ts | 0 .../instance/provider}/tools/list.ts | 13 +- .../dashboard/instance/providers/index.ts | 1 - .../resources/enclaves/get.ts | 46 ++++ .../{providers/tools => enclaves}/index.ts | 0 .../resources/enclaves/list.ts | 159 ++++++++++++ .../resources/firewall-bindings/create.ts | 67 +++++ .../resources/firewall-bindings/delete.ts | 47 ++++ .../resources/firewall-bindings/get.ts | 47 ++++ .../resources/firewall-bindings/index.ts | 4 + .../resources/firewall-bindings/list.ts | 162 ++++++++++++ .../resources/firewalls/create.ts | 127 ++++++++++ .../resources/firewalls/delete.ts | 89 +++++++ .../resources/firewalls/get.ts | 89 +++++++ .../resources/firewalls/index.ts | 6 + .../resources/firewalls/list.ts | 229 +++++++++++++++++ .../firewalls/network-policies/attach.ts | 104 ++++++++ .../firewalls/network-policies/detach.ts | 90 +++++++ .../firewalls/network-policies/index.ts | 2 + .../resources/firewalls/update.ts | 106 ++++++++ .../mt_2026_01_01_magnetar/resources/index.ts | 6 + .../management/instance/enclaves/get.ts | 47 ++++ .../management/instance/enclaves/index.ts | 2 + .../management/instance/enclaves/list.ts | 163 ++++++++++++ .../instance/firewall-bindings/create.ts | 69 +++++ .../instance/firewall-bindings/delete.ts | 47 ++++ .../instance/firewall-bindings/get.ts | 47 ++++ .../instance/firewall-bindings/index.ts | 4 + .../instance/firewall-bindings/list.ts | 162 ++++++++++++ .../management/instance/firewalls/create.ts | 129 ++++++++++ .../management/instance/firewalls/delete.ts | 90 +++++++ .../management/instance/firewalls/get.ts | 90 +++++++ .../management/instance/firewalls/index.ts | 6 + .../management/instance/firewalls/list.ts | 239 ++++++++++++++++++ .../firewalls/network-policies/attach.ts | 104 ++++++++ .../firewalls/network-policies/detach.ts | 90 +++++++ .../firewalls/network-policies/index.ts | 2 + .../management/instance/firewalls/update.ts | 108 ++++++++ .../resources/management/instance/index.ts | 6 + .../instance/network-policies/create.ts | 114 +++++++++ .../instance/network-policies/delete.ts | 70 +++++ .../instance/network-policies/get.ts | 70 +++++ .../instance/network-policies/index.ts | 6 + .../instance/network-policies/list.ts | 168 ++++++++++++ .../instance/network-policies/rules/create.ts | 67 +++++ .../instance/network-policies/rules/delete.ts | 70 +++++ .../instance/network-policies/rules/index.ts | 3 + .../instance/network-policies/rules/update.ts | 67 +++++ .../instance/network-policies/update.ts | 114 +++++++++ .../management/instance/networks/get.ts | 42 +++ .../management/instance/networks/index.ts | 3 + .../instance/networks/list-network-logs.ts | 97 +++++++ .../management/instance/networks/list.ts | 133 ++++++++++ .../instance/provider-templates/create.ts | 28 +- .../management/instance/provider/index.ts | 1 + .../{providers => provider}/tools/get.ts | 6 +- .../instance/provider/tools/index.ts | 2 + .../instance/provider}/tools/list.ts | 10 +- .../management/instance/providers/index.ts | 1 - .../instance/providers/tools/list.ts | 114 --------- .../resources/network-policies/create.ts | 114 +++++++++ .../resources/network-policies/delete.ts | 70 +++++ .../resources/network-policies/get.ts | 71 ++++++ .../resources/network-policies/index.ts | 6 + .../resources/network-policies/list.ts | 168 ++++++++++++ .../network-policies/rules/create.ts | 67 +++++ .../network-policies/rules/delete.ts | 70 +++++ .../resources/network-policies/rules/index.ts | 3 + .../network-policies/rules/update.ts | 67 +++++ .../resources/network-policies/update.ts | 114 +++++++++ .../resources/networks/get.ts | 41 +++ .../resources/networks/index.ts | 3 + .../resources/networks/list-network-logs.ts | 97 +++++++ .../resources/networks/list.ts | 129 ++++++++++ .../resources/provider-templates/create.ts | 28 +- .../resources/provider/index.ts | 1 + .../{providers => provider}/tools/get.ts | 4 +- .../resources/provider/tools/index.ts | 2 + .../resources/provider/tools/list.ts | 107 ++++++++ .../resources/providers/index.ts | 1 - 142 files changed, 10638 insertions(+), 233 deletions(-) create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_enclaves.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewall-bindings.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewalls.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewalls_network-policies.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_network-policies.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_network-policies_rules.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_networks.ts rename sdk/gen/src/mt_2026_01_01_magnetar/endpoints/{dashboard_instance_providers_tools.ts => dashboard_instance_provider_tools.ts} (68%) create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/enclaves.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewall-bindings.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewalls.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewalls_network-policies.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_enclaves.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewall-bindings.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewalls.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewalls_network-policies.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_network-policies.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_network-policies_rules.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_networks.ts rename sdk/gen/src/mt_2026_01_01_magnetar/endpoints/{management_instance_providers_tools.ts => management_instance_provider_tools.ts} (69%) create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/network-policies.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/network-policies_rules.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/endpoints/networks.ts rename sdk/gen/src/mt_2026_01_01_magnetar/endpoints/{providers_tools.ts => provider_tools.ts} (69%) create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/enclaves/get.ts rename sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/{providers/tools => enclaves}/index.ts (100%) create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/enclaves/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/attach.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/detach.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/update.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/update.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/update.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/list-network-logs.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/index.ts rename sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/{providers => provider}/tools/get.ts (92%) rename sdk/gen/src/mt_2026_01_01_magnetar/resources/{management/instance/providers => dashboard/instance/provider}/tools/index.ts (100%) rename sdk/gen/src/mt_2026_01_01_magnetar/resources/{providers => dashboard/instance/provider}/tools/list.ts (92%) create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/enclaves/get.ts rename sdk/gen/src/mt_2026_01_01_magnetar/resources/{providers/tools => enclaves}/index.ts (100%) create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/enclaves/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/attach.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/detach.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/update.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/attach.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/detach.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/update.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/update.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/update.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/list-network-logs.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/index.ts rename sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/{providers => provider}/tools/get.ts (92%) create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/tools/index.ts rename sdk/gen/src/mt_2026_01_01_magnetar/resources/{dashboard/instance/providers => management/instance/provider}/tools/list.ts (92%) delete mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/tools/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/create.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/delete.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/update.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/update.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/get.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/list-network-logs.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/list.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/index.ts rename sdk/gen/src/mt_2026_01_01_magnetar/resources/{providers => provider}/tools/get.ts (94%) create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/tools/index.ts create mode 100644 sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/tools/list.ts diff --git a/sdk/core/src/index.ts b/sdk/core/src/index.ts index a41a5662..e8e2093b 100644 --- a/sdk/core/src/index.ts +++ b/sdk/core/src/index.ts @@ -13,7 +13,7 @@ export namespace MetorialSDK { export type ProviderVersion = MetorialGenerated.ProvidersVersionsGetOutput; export type ProviderSpecification = MetorialGenerated.ProvidersSpecificationsGetOutput; export type ProviderTrigger = MetorialGenerated.ProvidersTriggersGetOutput; - export type ProviderTool = MetorialGenerated.ProvidersToolsGetOutput; + export type ProviderTool = MetorialGenerated.ProviderToolsGetOutput; export type ProviderAuthMethod = MetorialGenerated.ProvidersAuthMethodsGetOutput; export type Integration = MetorialGenerated.IntegrationsGetOutput; diff --git a/sdk/core/src/sdk.ts b/sdk/core/src/sdk.ts index cdc7fe2a..5989a75e 100644 --- a/sdk/core/src/sdk.ts +++ b/sdk/core/src/sdk.ts @@ -48,7 +48,7 @@ import { MetorialProvidersAuthMethodsEndpoint, MetorialProvidersEndpoint, MetorialProvidersSpecificationsEndpoint, - MetorialProvidersToolsEndpoint, + MetorialProviderToolsEndpoint, MetorialProvidersTriggersEndpoint, MetorialProvidersVersionsEndpoint, MetorialPublishersEndpoint, @@ -101,11 +101,14 @@ export let createMetorialCoreSDK = coreSdkBuilder.build( publishers: new MetorialPublishersEndpoint(manager), + provider: { + tools: new MetorialProviderToolsEndpoint(manager) + }, + providers: Object.assign(new MetorialProvidersEndpoint(manager), { versions: new MetorialProvidersVersionsEndpoint(manager), specifications: new MetorialProvidersSpecificationsEndpoint(manager), triggers: new MetorialProvidersTriggersEndpoint(manager), - tools: new MetorialProvidersToolsEndpoint(manager), authMethods: new MetorialProvidersAuthMethodsEndpoint(manager) }), diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_enclaves.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_enclaves.ts new file mode 100644 index 00000000..a6514c0c --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_enclaves.ts @@ -0,0 +1,98 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceEnclavesGetOutput, + mapDashboardInstanceEnclavesListOutput, + mapDashboardInstanceEnclavesListQuery, + type DashboardInstanceEnclavesGetOutput, + type DashboardInstanceEnclavesListOutput, + type DashboardInstanceEnclavesListQuery +} from '../resources'; + +/** + * @name Enclaves controller + * @description Read enclave records for provider deployments in an instance. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialDashboardInstanceEnclavesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List enclaves + * @description Returns a paginated list of enclaves. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceEnclavesListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceEnclavesListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + instanceId: string, + query?: DashboardInstanceEnclavesListQuery, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/enclaves`; + + let request = { + path, + + query: query + ? mapDashboardInstanceEnclavesListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceEnclavesListOutput); + } + + /** + * @name Get enclave + * @description Retrieves a specific enclave by ID. + * + * @param `instanceId` - string + * @param `enclaveId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceEnclavesGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + instanceId: string, + enclaveId: string, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/enclaves/${enclaveId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceEnclavesGetOutput); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewall-bindings.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewall-bindings.ts new file mode 100644 index 00000000..9fde685a --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewall-bindings.ts @@ -0,0 +1,167 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceFirewallBindingsCreateBody, + mapDashboardInstanceFirewallBindingsCreateOutput, + mapDashboardInstanceFirewallBindingsDeleteOutput, + mapDashboardInstanceFirewallBindingsGetOutput, + mapDashboardInstanceFirewallBindingsListOutput, + mapDashboardInstanceFirewallBindingsListQuery, + type DashboardInstanceFirewallBindingsCreateBody, + type DashboardInstanceFirewallBindingsCreateOutput, + type DashboardInstanceFirewallBindingsDeleteOutput, + type DashboardInstanceFirewallBindingsGetOutput, + type DashboardInstanceFirewallBindingsListOutput, + type DashboardInstanceFirewallBindingsListQuery +} from '../resources'; + +/** + * @name Firewall Bindings controller + * @description Manage bindings that apply firewalls to enclaves, providers, or networks. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialDashboardInstanceFirewallBindingsEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List firewall bindings + * @description Returns a paginated list of firewall bindings. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceFirewallBindingsListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + instanceId: string, + query?: DashboardInstanceFirewallBindingsListQuery, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/firewall-bindings`; + + let request = { + path, + + query: query + ? mapDashboardInstanceFirewallBindingsListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceFirewallBindingsListOutput + ); + } + + /** + * @name Get firewall binding + * @description Retrieves a specific firewall binding by ID. + * + * @param `instanceId` - string + * @param `firewallBindingId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + instanceId: string, + firewallBindingId: string, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/firewall-bindings/${firewallBindingId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceFirewallBindingsGetOutput + ); + } + + /** + * @name Create firewall binding + * @description Creates a binding that applies a firewall to a target. + * + * @param `instanceId` - string + * @param `body` - DashboardInstanceFirewallBindingsCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + instanceId: string, + body: DashboardInstanceFirewallBindingsCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/firewall-bindings`; + + let request = { + path, + body: mapDashboardInstanceFirewallBindingsCreateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceFirewallBindingsCreateOutput + ); + } + + /** + * @name Delete firewall binding + * @description Deletes a firewall binding. + * + * @param `instanceId` - string + * @param `firewallBindingId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + instanceId: string, + firewallBindingId: string, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/firewall-bindings/${firewallBindingId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceFirewallBindingsDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewalls.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewalls.ts new file mode 100644 index 00000000..6fc00f28 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewalls.ts @@ -0,0 +1,201 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceFirewallsCreateBody, + mapDashboardInstanceFirewallsCreateOutput, + mapDashboardInstanceFirewallsDeleteOutput, + mapDashboardInstanceFirewallsGetOutput, + mapDashboardInstanceFirewallsListOutput, + mapDashboardInstanceFirewallsListQuery, + mapDashboardInstanceFirewallsUpdateBody, + mapDashboardInstanceFirewallsUpdateOutput, + type DashboardInstanceFirewallsCreateBody, + type DashboardInstanceFirewallsCreateOutput, + type DashboardInstanceFirewallsDeleteOutput, + type DashboardInstanceFirewallsGetOutput, + type DashboardInstanceFirewallsListOutput, + type DashboardInstanceFirewallsListQuery, + type DashboardInstanceFirewallsUpdateBody, + type DashboardInstanceFirewallsUpdateOutput +} from '../resources'; + +/** + * @name Firewalls controller + * @description Manage firewalls and their attached network policies. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialDashboardInstanceFirewallsEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List firewalls + * @description Returns a paginated list of firewalls. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceFirewallsListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + instanceId: string, + query?: DashboardInstanceFirewallsListQuery, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/firewalls`; + + let request = { + path, + + query: query + ? mapDashboardInstanceFirewallsListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceFirewallsListOutput + ); + } + + /** + * @name Get firewall + * @description Retrieves a specific firewall by ID. + * + * @param `instanceId` - string + * @param `firewallId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + instanceId: string, + firewallId: string, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/firewalls/${firewallId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceFirewallsGetOutput); + } + + /** + * @name Create firewall + * @description Creates a new firewall. + * + * @param `instanceId` - string + * @param `body` - DashboardInstanceFirewallsCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + instanceId: string, + body: DashboardInstanceFirewallsCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/firewalls`; + + let request = { + path, + body: mapDashboardInstanceFirewallsCreateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceFirewallsCreateOutput + ); + } + + /** + * @name Update firewall + * @description Updates a firewall definition. + * + * @param `instanceId` - string + * @param `firewallId` - string + * @param `body` - DashboardInstanceFirewallsUpdateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsUpdateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + update( + instanceId: string, + firewallId: string, + body: DashboardInstanceFirewallsUpdateBody, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/firewalls/${firewallId}`; + + let request = { + path, + body: mapDashboardInstanceFirewallsUpdateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._patch(request).transform( + mapDashboardInstanceFirewallsUpdateOutput + ); + } + + /** + * @name Delete firewall + * @description Archives a firewall. + * + * @param `instanceId` - string + * @param `firewallId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + instanceId: string, + firewallId: string, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/firewalls/${firewallId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceFirewallsDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewalls_network-policies.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewalls_network-policies.ts new file mode 100644 index 00000000..b82b846a --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_firewalls_network-policies.ts @@ -0,0 +1,106 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceFirewallsNetworkPoliciesAttachBody, + mapDashboardInstanceFirewallsNetworkPoliciesAttachOutput, + mapDashboardInstanceFirewallsNetworkPoliciesDetachOutput, + type DashboardInstanceFirewallsNetworkPoliciesAttachBody, + type DashboardInstanceFirewallsNetworkPoliciesAttachOutput, + type DashboardInstanceFirewallsNetworkPoliciesDetachOutput +} from '../resources'; + +/** + * @name Firewalls controller + * @description Manage firewalls and their attached network policies. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialDashboardInstanceFirewallsNetworkPoliciesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name Attach network policy + * @description Attaches a network policy to a firewall. + * + * @param `instanceId` - string + * @param `firewallId` - string + * @param `body` - DashboardInstanceFirewallsNetworkPoliciesAttachBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsNetworkPoliciesAttachOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + attach( + instanceId: string, + firewallId: string, + body: DashboardInstanceFirewallsNetworkPoliciesAttachBody, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/firewalls/${firewallId}/network-policies`; + + let request = { + path, + body: mapDashboardInstanceFirewallsNetworkPoliciesAttachBody.transformTo( + body + ), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceFirewallsNetworkPoliciesAttachOutput + ); + } + + /** + * @name Detach network policy + * @description Detaches a network policy from a firewall. + * + * @param `instanceId` - string + * @param `firewallId` - string + * @param `networkPolicyId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsNetworkPoliciesDetachOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + detach( + instanceId: string, + firewallId: string, + networkPolicyId: string, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/firewalls/${firewallId}/network-policies/${networkPolicyId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceFirewallsNetworkPoliciesDetachOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_network-policies.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_network-policies.ts new file mode 100644 index 00000000..ae66f28e --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_network-policies.ts @@ -0,0 +1,203 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceNetworkPoliciesCreateBody, + mapDashboardInstanceNetworkPoliciesCreateOutput, + mapDashboardInstanceNetworkPoliciesDeleteOutput, + mapDashboardInstanceNetworkPoliciesGetOutput, + mapDashboardInstanceNetworkPoliciesListOutput, + mapDashboardInstanceNetworkPoliciesListQuery, + mapDashboardInstanceNetworkPoliciesUpdateBody, + mapDashboardInstanceNetworkPoliciesUpdateOutput, + type DashboardInstanceNetworkPoliciesCreateBody, + type DashboardInstanceNetworkPoliciesCreateOutput, + type DashboardInstanceNetworkPoliciesDeleteOutput, + type DashboardInstanceNetworkPoliciesGetOutput, + type DashboardInstanceNetworkPoliciesListOutput, + type DashboardInstanceNetworkPoliciesListQuery, + type DashboardInstanceNetworkPoliciesUpdateBody, + type DashboardInstanceNetworkPoliciesUpdateOutput +} from '../resources'; + +/** + * @name Network Policies controller + * @description Manage reusable network policy definitions and their rules. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialDashboardInstanceNetworkPoliciesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List network policies + * @description Returns a paginated list of network policies. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceNetworkPoliciesListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + instanceId: string, + query?: DashboardInstanceNetworkPoliciesListQuery, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/network-policies`; + + let request = { + path, + + query: query + ? mapDashboardInstanceNetworkPoliciesListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceNetworkPoliciesListOutput + ); + } + + /** + * @name Get network policy + * @description Retrieves a specific network policy by ID. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + instanceId: string, + networkPolicyId: string, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/network-policies/${networkPolicyId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceNetworkPoliciesGetOutput + ); + } + + /** + * @name Create network policy + * @description Creates a new network policy. + * + * @param `instanceId` - string + * @param `body` - DashboardInstanceNetworkPoliciesCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + instanceId: string, + body: DashboardInstanceNetworkPoliciesCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/network-policies`; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesCreateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceNetworkPoliciesCreateOutput + ); + } + + /** + * @name Update network policy + * @description Updates a network policy definition. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `body` - DashboardInstanceNetworkPoliciesUpdateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesUpdateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + update( + instanceId: string, + networkPolicyId: string, + body: DashboardInstanceNetworkPoliciesUpdateBody, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/network-policies/${networkPolicyId}`; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesUpdateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._patch(request).transform( + mapDashboardInstanceNetworkPoliciesUpdateOutput + ); + } + + /** + * @name Delete network policy + * @description Archives a network policy. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + instanceId: string, + networkPolicyId: string, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/network-policies/${networkPolicyId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceNetworkPoliciesDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_network-policies_rules.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_network-policies_rules.ts new file mode 100644 index 00000000..bb7f120f --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_network-policies_rules.ts @@ -0,0 +1,146 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceNetworkPoliciesRulesCreateBody, + mapDashboardInstanceNetworkPoliciesRulesCreateOutput, + mapDashboardInstanceNetworkPoliciesRulesDeleteOutput, + mapDashboardInstanceNetworkPoliciesRulesUpdateBody, + mapDashboardInstanceNetworkPoliciesRulesUpdateOutput, + type DashboardInstanceNetworkPoliciesRulesCreateBody, + type DashboardInstanceNetworkPoliciesRulesCreateOutput, + type DashboardInstanceNetworkPoliciesRulesDeleteOutput, + type DashboardInstanceNetworkPoliciesRulesUpdateBody, + type DashboardInstanceNetworkPoliciesRulesUpdateOutput +} from '../resources'; + +/** + * @name Network Policies controller + * @description Manage reusable network policy definitions and their rules. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialDashboardInstanceNetworkPoliciesRulesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name Create network policy rule + * @description Adds a rule to a network policy. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `body` - DashboardInstanceNetworkPoliciesRulesCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesRulesCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + instanceId: string, + networkPolicyId: string, + body: DashboardInstanceNetworkPoliciesRulesCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/network-policies/${networkPolicyId}/rules`; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesRulesCreateBody.transformTo( + body + ), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceNetworkPoliciesRulesCreateOutput + ); + } + + /** + * @name Update network policy rule + * @description Updates a rule on a network policy. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `ruleId` - string + * @param `body` - DashboardInstanceNetworkPoliciesRulesUpdateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesRulesUpdateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + update( + instanceId: string, + networkPolicyId: string, + ruleId: string, + body: DashboardInstanceNetworkPoliciesRulesUpdateBody, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/network-policies/${networkPolicyId}/rules/${ruleId}`; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesRulesUpdateBody.transformTo( + body + ), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._patch(request).transform( + mapDashboardInstanceNetworkPoliciesRulesUpdateOutput + ); + } + + /** + * @name Delete network policy rule + * @description Removes a rule from a network policy. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `ruleId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesRulesDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + instanceId: string, + networkPolicyId: string, + ruleId: string, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/network-policies/${networkPolicyId}/rules/${ruleId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceNetworkPoliciesRulesDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_networks.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_networks.ts new file mode 100644 index 00000000..ba6488e4 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_networks.ts @@ -0,0 +1,134 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceNetworksGetOutput, + mapDashboardInstanceNetworksListNetworkLogsOutput, + mapDashboardInstanceNetworksListNetworkLogsQuery, + mapDashboardInstanceNetworksListOutput, + mapDashboardInstanceNetworksListQuery, + type DashboardInstanceNetworksGetOutput, + type DashboardInstanceNetworksListNetworkLogsOutput, + type DashboardInstanceNetworksListNetworkLogsQuery, + type DashboardInstanceNetworksListOutput, + type DashboardInstanceNetworksListQuery +} from '../resources'; + +/** + * @name Networks controller + * @description Read network records for an instance environment. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialDashboardInstanceNetworksEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List networks + * @description Returns a paginated list of networks. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceNetworksListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworksListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + instanceId: string, + query?: DashboardInstanceNetworksListQuery, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/networks`; + + let request = { + path, + + query: query + ? mapDashboardInstanceNetworksListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceNetworksListOutput); + } + + /** + * @name Get network + * @description Retrieves a specific network by ID. + * + * @param `instanceId` - string + * @param `networkId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworksGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + instanceId: string, + networkId: string, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/networks/${networkId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceNetworksGetOutput); + } + + /** + * @name List network logs + * @description Returns ingress or egress network logs for enclaves in the instance environment. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceNetworksListNetworkLogsQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworksListNetworkLogsOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + listNetworkLogs( + instanceId: string, + query?: DashboardInstanceNetworksListNetworkLogsQuery, + opts?: { headers?: Record } + ): Promise { + let path = `dashboard/instances/${instanceId}/network-logs`; + + let request = { + path, + + query: query + ? mapDashboardInstanceNetworksListNetworkLogsQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceNetworksListNetworkLogsOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_providers_tools.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_tools.ts similarity index 68% rename from sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_providers_tools.ts rename to sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_tools.ts index db26c862..e6b5b6bd 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_providers_tools.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_tools.ts @@ -4,12 +4,12 @@ import { } from '@metorial/util-endpoint'; import { - mapDashboardInstanceProvidersToolsGetOutput, - mapDashboardInstanceProvidersToolsListOutput, - mapDashboardInstanceProvidersToolsListQuery, - type DashboardInstanceProvidersToolsGetOutput, - type DashboardInstanceProvidersToolsListOutput, - type DashboardInstanceProvidersToolsListQuery + mapDashboardInstanceProviderToolsGetOutput, + mapDashboardInstanceProviderToolsListOutput, + mapDashboardInstanceProviderToolsListQuery, + type DashboardInstanceProviderToolsGetOutput, + type DashboardInstanceProviderToolsListOutput, + type DashboardInstanceProviderToolsListQuery } from '../resources'; /** @@ -19,7 +19,7 @@ import { * @see https://metorial.com/api * @see https://metorial.com/docs */ -export class MetorialDashboardInstanceProvidersToolsEndpoint { +export class MetorialDashboardInstanceProviderToolsEndpoint { constructor(private readonly _manager: MetorialEndpointManager) {} // thin proxies so method bodies stay unchanged @@ -44,30 +44,30 @@ export class MetorialDashboardInstanceProvidersToolsEndpoint { * @description Returns a paginated list of provider tools. By default returns tools from the latest version. Use optional filters to get tools for a specific version. * * @param `instanceId` - string - * @param `query` - DashboardInstanceProvidersToolsListQuery + * @param `query` - DashboardInstanceProviderToolsListQuery * @param `opts` - { headers?: Record } - * @returns DashboardInstanceProvidersToolsListOutput + * @returns DashboardInstanceProviderToolsListOutput * @see https://metorial.com/api * @see https://metorial.com/docs */ list( instanceId: string, - query?: DashboardInstanceProvidersToolsListQuery, + query?: DashboardInstanceProviderToolsListQuery, opts?: { headers?: Record } - ): Promise { - let path = `dashboard/instances/${instanceId}/providers-tools`; + ): Promise { + let path = `dashboard/instances/${instanceId}/provider-tools`; let request = { path, query: query - ? mapDashboardInstanceProvidersToolsListQuery.transformTo(query) + ? mapDashboardInstanceProviderToolsListQuery.transformTo(query) : undefined, ...(opts?.headers ? { headers: opts.headers } : {}) } as any; return this._get(request).transform( - mapDashboardInstanceProvidersToolsListOutput + mapDashboardInstanceProviderToolsListOutput ); } @@ -78,7 +78,7 @@ export class MetorialDashboardInstanceProvidersToolsEndpoint { * @param `instanceId` - string * @param `providerToolId` - string * @param `opts` - { headers?: Record } - * @returns DashboardInstanceProvidersToolsGetOutput + * @returns DashboardInstanceProviderToolsGetOutput * @see https://metorial.com/api * @see https://metorial.com/docs */ @@ -86,8 +86,8 @@ export class MetorialDashboardInstanceProvidersToolsEndpoint { instanceId: string, providerToolId: string, opts?: { headers?: Record } - ): Promise { - let path = `dashboard/instances/${instanceId}/providers-tools/${providerToolId}`; + ): Promise { + let path = `dashboard/instances/${instanceId}/provider-tools/${providerToolId}`; let request = { path, @@ -96,7 +96,7 @@ export class MetorialDashboardInstanceProvidersToolsEndpoint { } as any; return this._get(request).transform( - mapDashboardInstanceProvidersToolsGetOutput + mapDashboardInstanceProviderToolsGetOutput ); } } diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/enclaves.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/enclaves.ts new file mode 100644 index 00000000..00c71c3e --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/enclaves.ts @@ -0,0 +1,94 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceEnclavesGetOutput, + mapDashboardInstanceEnclavesListOutput, + mapDashboardInstanceEnclavesListQuery, + type DashboardInstanceEnclavesGetOutput, + type DashboardInstanceEnclavesListOutput, + type DashboardInstanceEnclavesListQuery +} from '../resources'; + +/** + * @name Enclaves controller + * @description Read enclave records for provider deployments in an instance. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialEnclavesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List enclaves + * @description Returns a paginated list of enclaves. + * + * @param `query` - DashboardInstanceEnclavesListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceEnclavesListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + query?: DashboardInstanceEnclavesListQuery, + opts?: { headers?: Record } + ): Promise { + let path = 'enclaves'; + + let request = { + path, + + query: query + ? mapDashboardInstanceEnclavesListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceEnclavesListOutput); + } + + /** + * @name Get enclave + * @description Retrieves a specific enclave by ID. + * + * @param `enclaveId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceEnclavesGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + enclaveId: string, + opts?: { headers?: Record } + ): Promise { + let path = `enclaves/${enclaveId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceEnclavesGetOutput); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewall-bindings.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewall-bindings.ts new file mode 100644 index 00000000..c914bd62 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewall-bindings.ts @@ -0,0 +1,159 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceFirewallBindingsCreateBody, + mapDashboardInstanceFirewallBindingsCreateOutput, + mapDashboardInstanceFirewallBindingsDeleteOutput, + mapDashboardInstanceFirewallBindingsGetOutput, + mapDashboardInstanceFirewallBindingsListOutput, + mapDashboardInstanceFirewallBindingsListQuery, + type DashboardInstanceFirewallBindingsCreateBody, + type DashboardInstanceFirewallBindingsCreateOutput, + type DashboardInstanceFirewallBindingsDeleteOutput, + type DashboardInstanceFirewallBindingsGetOutput, + type DashboardInstanceFirewallBindingsListOutput, + type DashboardInstanceFirewallBindingsListQuery +} from '../resources'; + +/** + * @name Firewall Bindings controller + * @description Manage bindings that apply firewalls to enclaves, providers, or networks. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialFirewallBindingsEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List firewall bindings + * @description Returns a paginated list of firewall bindings. + * + * @param `query` - DashboardInstanceFirewallBindingsListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + query?: DashboardInstanceFirewallBindingsListQuery, + opts?: { headers?: Record } + ): Promise { + let path = 'firewall-bindings'; + + let request = { + path, + + query: query + ? mapDashboardInstanceFirewallBindingsListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceFirewallBindingsListOutput + ); + } + + /** + * @name Get firewall binding + * @description Retrieves a specific firewall binding by ID. + * + * @param `firewallBindingId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + firewallBindingId: string, + opts?: { headers?: Record } + ): Promise { + let path = `firewall-bindings/${firewallBindingId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceFirewallBindingsGetOutput + ); + } + + /** + * @name Create firewall binding + * @description Creates a binding that applies a firewall to a target. + * + * @param `body` - DashboardInstanceFirewallBindingsCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + body: DashboardInstanceFirewallBindingsCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = 'firewall-bindings'; + + let request = { + path, + body: mapDashboardInstanceFirewallBindingsCreateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceFirewallBindingsCreateOutput + ); + } + + /** + * @name Delete firewall binding + * @description Deletes a firewall binding. + * + * @param `firewallBindingId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + firewallBindingId: string, + opts?: { headers?: Record } + ): Promise { + let path = `firewall-bindings/${firewallBindingId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceFirewallBindingsDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewalls.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewalls.ts new file mode 100644 index 00000000..d82db0dc --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewalls.ts @@ -0,0 +1,191 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceFirewallsCreateBody, + mapDashboardInstanceFirewallsCreateOutput, + mapDashboardInstanceFirewallsDeleteOutput, + mapDashboardInstanceFirewallsGetOutput, + mapDashboardInstanceFirewallsListOutput, + mapDashboardInstanceFirewallsListQuery, + mapDashboardInstanceFirewallsUpdateBody, + mapDashboardInstanceFirewallsUpdateOutput, + type DashboardInstanceFirewallsCreateBody, + type DashboardInstanceFirewallsCreateOutput, + type DashboardInstanceFirewallsDeleteOutput, + type DashboardInstanceFirewallsGetOutput, + type DashboardInstanceFirewallsListOutput, + type DashboardInstanceFirewallsListQuery, + type DashboardInstanceFirewallsUpdateBody, + type DashboardInstanceFirewallsUpdateOutput +} from '../resources'; + +/** + * @name Firewalls controller + * @description Manage firewalls and their attached network policies. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialFirewallsEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List firewalls + * @description Returns a paginated list of firewalls. + * + * @param `query` - DashboardInstanceFirewallsListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + query?: DashboardInstanceFirewallsListQuery, + opts?: { headers?: Record } + ): Promise { + let path = 'firewalls'; + + let request = { + path, + + query: query + ? mapDashboardInstanceFirewallsListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceFirewallsListOutput + ); + } + + /** + * @name Get firewall + * @description Retrieves a specific firewall by ID. + * + * @param `firewallId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + firewallId: string, + opts?: { headers?: Record } + ): Promise { + let path = `firewalls/${firewallId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceFirewallsGetOutput); + } + + /** + * @name Create firewall + * @description Creates a new firewall. + * + * @param `body` - DashboardInstanceFirewallsCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + body: DashboardInstanceFirewallsCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = 'firewalls'; + + let request = { + path, + body: mapDashboardInstanceFirewallsCreateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceFirewallsCreateOutput + ); + } + + /** + * @name Update firewall + * @description Updates a firewall definition. + * + * @param `firewallId` - string + * @param `body` - DashboardInstanceFirewallsUpdateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsUpdateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + update( + firewallId: string, + body: DashboardInstanceFirewallsUpdateBody, + opts?: { headers?: Record } + ): Promise { + let path = `firewalls/${firewallId}`; + + let request = { + path, + body: mapDashboardInstanceFirewallsUpdateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._patch(request).transform( + mapDashboardInstanceFirewallsUpdateOutput + ); + } + + /** + * @name Delete firewall + * @description Archives a firewall. + * + * @param `firewallId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + firewallId: string, + opts?: { headers?: Record } + ): Promise { + let path = `firewalls/${firewallId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceFirewallsDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewalls_network-policies.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewalls_network-policies.ts new file mode 100644 index 00000000..1b991a58 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/firewalls_network-policies.ts @@ -0,0 +1,102 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceFirewallsNetworkPoliciesAttachBody, + mapDashboardInstanceFirewallsNetworkPoliciesAttachOutput, + mapDashboardInstanceFirewallsNetworkPoliciesDetachOutput, + type DashboardInstanceFirewallsNetworkPoliciesAttachBody, + type DashboardInstanceFirewallsNetworkPoliciesAttachOutput, + type DashboardInstanceFirewallsNetworkPoliciesDetachOutput +} from '../resources'; + +/** + * @name Firewalls controller + * @description Manage firewalls and their attached network policies. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialFirewallsNetworkPoliciesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name Attach network policy + * @description Attaches a network policy to a firewall. + * + * @param `firewallId` - string + * @param `body` - DashboardInstanceFirewallsNetworkPoliciesAttachBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsNetworkPoliciesAttachOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + attach( + firewallId: string, + body: DashboardInstanceFirewallsNetworkPoliciesAttachBody, + opts?: { headers?: Record } + ): Promise { + let path = `firewalls/${firewallId}/network-policies`; + + let request = { + path, + body: mapDashboardInstanceFirewallsNetworkPoliciesAttachBody.transformTo( + body + ), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceFirewallsNetworkPoliciesAttachOutput + ); + } + + /** + * @name Detach network policy + * @description Detaches a network policy from a firewall. + * + * @param `firewallId` - string + * @param `networkPolicyId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsNetworkPoliciesDetachOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + detach( + firewallId: string, + networkPolicyId: string, + opts?: { headers?: Record } + ): Promise { + let path = `firewalls/${firewallId}/network-policies/${networkPolicyId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceFirewallsNetworkPoliciesDetachOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/index.ts index 70baf9d1..e445557e 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/index.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/index.ts @@ -45,8 +45,12 @@ export * from './dashboard_instance_documents'; export * from './dashboard_instance_documents_participants'; export * from './dashboard_instance_documents_permissions'; export * from './dashboard_instance_documents_versions'; +export * from './dashboard_instance_enclaves'; export * from './dashboard_instance_files'; export * from './dashboard_instance_files_links'; +export * from './dashboard_instance_firewall-bindings'; +export * from './dashboard_instance_firewalls'; +export * from './dashboard_instance_firewalls_network-policies'; export * from './dashboard_instance_identities'; export * from './dashboard_instance_identities_credentials'; export * from './dashboard_instance_identities_delegation-configs'; @@ -67,6 +71,9 @@ export * from './dashboard_instance_magic-mcp-servers'; export * from './dashboard_instance_magic-mcp-servers_providers'; export * from './dashboard_instance_magic-mcp-sessions'; export * from './dashboard_instance_magic-mcp-tokens'; +export * from './dashboard_instance_network-policies'; +export * from './dashboard_instance_network-policies_rules'; +export * from './dashboard_instance_networks'; export * from './dashboard_instance_portals'; export * from './dashboard_instance_portals_access-requests'; export * from './dashboard_instance_portals_access'; @@ -91,10 +98,10 @@ export * from './dashboard_instance_provider-groups'; export * from './dashboard_instance_provider-listings'; export * from './dashboard_instance_provider-runs'; export * from './dashboard_instance_provider-templates'; +export * from './dashboard_instance_provider_tools'; export * from './dashboard_instance_providers'; export * from './dashboard_instance_providers_auth-methods'; export * from './dashboard_instance_providers_specifications'; -export * from './dashboard_instance_providers_tools'; export * from './dashboard_instance_providers_triggers'; export * from './dashboard_instance_providers_versions'; export * from './dashboard_instance_publishers'; @@ -134,8 +141,12 @@ export * from './documents'; export * from './documents_participants'; export * from './documents_permissions'; export * from './documents_versions'; +export * from './enclaves'; export * from './files'; export * from './files_links'; +export * from './firewall-bindings'; +export * from './firewalls'; +export * from './firewalls_network-policies'; export * from './identities'; export * from './identities_credentials'; export * from './identities_delegation-configs'; @@ -179,8 +190,12 @@ export * from './management_instance_documents'; export * from './management_instance_documents_participants'; export * from './management_instance_documents_permissions'; export * from './management_instance_documents_versions'; +export * from './management_instance_enclaves'; export * from './management_instance_files'; export * from './management_instance_files_links'; +export * from './management_instance_firewall-bindings'; +export * from './management_instance_firewalls'; +export * from './management_instance_firewalls_network-policies'; export * from './management_instance_identities'; export * from './management_instance_identities_credentials'; export * from './management_instance_identities_delegation-configs'; @@ -201,6 +216,9 @@ export * from './management_instance_magic-mcp-servers'; export * from './management_instance_magic-mcp-servers_providers'; export * from './management_instance_magic-mcp-sessions'; export * from './management_instance_magic-mcp-tokens'; +export * from './management_instance_network-policies'; +export * from './management_instance_network-policies_rules'; +export * from './management_instance_networks'; export * from './management_instance_portals'; export * from './management_instance_portals_access-requests'; export * from './management_instance_portals_access'; @@ -225,10 +243,10 @@ export * from './management_instance_provider-groups'; export * from './management_instance_provider-listings'; export * from './management_instance_provider-runs'; export * from './management_instance_provider-templates'; +export * from './management_instance_provider_tools'; export * from './management_instance_providers'; export * from './management_instance_providers_auth-methods'; export * from './management_instance_providers_specifications'; -export * from './management_instance_providers_tools'; export * from './management_instance_providers_triggers'; export * from './management_instance_providers_versions'; export * from './management_instance_publishers'; @@ -264,6 +282,9 @@ export * from './management_instance_stores_participants'; export * from './management_instance_stores_permissions'; export * from './management_instance_tool-calls'; export * from './management_organization_api-keys'; +export * from './network-policies'; +export * from './network-policies_rules'; +export * from './networks'; export * from './portals'; export * from './portals_access-requests'; export * from './portals_access'; @@ -288,10 +309,10 @@ export * from './provider-groups'; export * from './provider-listings'; export * from './provider-runs'; export * from './provider-templates'; +export * from './provider_tools'; export * from './providers'; export * from './providers_auth-methods'; export * from './providers_specifications'; -export * from './providers_tools'; export * from './providers_triggers'; export * from './providers_versions'; export * from './publishers'; diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_enclaves.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_enclaves.ts new file mode 100644 index 00000000..efbf5272 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_enclaves.ts @@ -0,0 +1,98 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceEnclavesGetOutput, + mapDashboardInstanceEnclavesListOutput, + mapDashboardInstanceEnclavesListQuery, + type DashboardInstanceEnclavesGetOutput, + type DashboardInstanceEnclavesListOutput, + type DashboardInstanceEnclavesListQuery +} from '../resources'; + +/** + * @name Enclaves controller + * @description Read enclave records for provider deployments in an instance. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialManagementInstanceEnclavesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List enclaves + * @description Returns a paginated list of enclaves. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceEnclavesListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceEnclavesListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + instanceId: string, + query?: DashboardInstanceEnclavesListQuery, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/enclaves`; + + let request = { + path, + + query: query + ? mapDashboardInstanceEnclavesListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceEnclavesListOutput); + } + + /** + * @name Get enclave + * @description Retrieves a specific enclave by ID. + * + * @param `instanceId` - string + * @param `enclaveId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceEnclavesGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + instanceId: string, + enclaveId: string, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/enclaves/${enclaveId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceEnclavesGetOutput); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewall-bindings.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewall-bindings.ts new file mode 100644 index 00000000..b3b12d91 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewall-bindings.ts @@ -0,0 +1,167 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceFirewallBindingsCreateBody, + mapDashboardInstanceFirewallBindingsCreateOutput, + mapDashboardInstanceFirewallBindingsDeleteOutput, + mapDashboardInstanceFirewallBindingsGetOutput, + mapDashboardInstanceFirewallBindingsListOutput, + mapDashboardInstanceFirewallBindingsListQuery, + type DashboardInstanceFirewallBindingsCreateBody, + type DashboardInstanceFirewallBindingsCreateOutput, + type DashboardInstanceFirewallBindingsDeleteOutput, + type DashboardInstanceFirewallBindingsGetOutput, + type DashboardInstanceFirewallBindingsListOutput, + type DashboardInstanceFirewallBindingsListQuery +} from '../resources'; + +/** + * @name Firewall Bindings controller + * @description Manage bindings that apply firewalls to enclaves, providers, or networks. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialManagementInstanceFirewallBindingsEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List firewall bindings + * @description Returns a paginated list of firewall bindings. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceFirewallBindingsListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + instanceId: string, + query?: DashboardInstanceFirewallBindingsListQuery, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/firewall-bindings`; + + let request = { + path, + + query: query + ? mapDashboardInstanceFirewallBindingsListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceFirewallBindingsListOutput + ); + } + + /** + * @name Get firewall binding + * @description Retrieves a specific firewall binding by ID. + * + * @param `instanceId` - string + * @param `firewallBindingId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + instanceId: string, + firewallBindingId: string, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/firewall-bindings/${firewallBindingId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceFirewallBindingsGetOutput + ); + } + + /** + * @name Create firewall binding + * @description Creates a binding that applies a firewall to a target. + * + * @param `instanceId` - string + * @param `body` - DashboardInstanceFirewallBindingsCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + instanceId: string, + body: DashboardInstanceFirewallBindingsCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/firewall-bindings`; + + let request = { + path, + body: mapDashboardInstanceFirewallBindingsCreateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceFirewallBindingsCreateOutput + ); + } + + /** + * @name Delete firewall binding + * @description Deletes a firewall binding. + * + * @param `instanceId` - string + * @param `firewallBindingId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallBindingsDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + instanceId: string, + firewallBindingId: string, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/firewall-bindings/${firewallBindingId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceFirewallBindingsDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewalls.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewalls.ts new file mode 100644 index 00000000..99f70763 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewalls.ts @@ -0,0 +1,201 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceFirewallsCreateBody, + mapDashboardInstanceFirewallsCreateOutput, + mapDashboardInstanceFirewallsDeleteOutput, + mapDashboardInstanceFirewallsGetOutput, + mapDashboardInstanceFirewallsListOutput, + mapDashboardInstanceFirewallsListQuery, + mapDashboardInstanceFirewallsUpdateBody, + mapDashboardInstanceFirewallsUpdateOutput, + type DashboardInstanceFirewallsCreateBody, + type DashboardInstanceFirewallsCreateOutput, + type DashboardInstanceFirewallsDeleteOutput, + type DashboardInstanceFirewallsGetOutput, + type DashboardInstanceFirewallsListOutput, + type DashboardInstanceFirewallsListQuery, + type DashboardInstanceFirewallsUpdateBody, + type DashboardInstanceFirewallsUpdateOutput +} from '../resources'; + +/** + * @name Firewalls controller + * @description Manage firewalls and their attached network policies. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialManagementInstanceFirewallsEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List firewalls + * @description Returns a paginated list of firewalls. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceFirewallsListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + instanceId: string, + query?: DashboardInstanceFirewallsListQuery, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/firewalls`; + + let request = { + path, + + query: query + ? mapDashboardInstanceFirewallsListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceFirewallsListOutput + ); + } + + /** + * @name Get firewall + * @description Retrieves a specific firewall by ID. + * + * @param `instanceId` - string + * @param `firewallId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + instanceId: string, + firewallId: string, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/firewalls/${firewallId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceFirewallsGetOutput); + } + + /** + * @name Create firewall + * @description Creates a new firewall. + * + * @param `instanceId` - string + * @param `body` - DashboardInstanceFirewallsCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + instanceId: string, + body: DashboardInstanceFirewallsCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/firewalls`; + + let request = { + path, + body: mapDashboardInstanceFirewallsCreateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceFirewallsCreateOutput + ); + } + + /** + * @name Update firewall + * @description Updates a firewall definition. + * + * @param `instanceId` - string + * @param `firewallId` - string + * @param `body` - DashboardInstanceFirewallsUpdateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsUpdateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + update( + instanceId: string, + firewallId: string, + body: DashboardInstanceFirewallsUpdateBody, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/firewalls/${firewallId}`; + + let request = { + path, + body: mapDashboardInstanceFirewallsUpdateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._patch(request).transform( + mapDashboardInstanceFirewallsUpdateOutput + ); + } + + /** + * @name Delete firewall + * @description Archives a firewall. + * + * @param `instanceId` - string + * @param `firewallId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + instanceId: string, + firewallId: string, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/firewalls/${firewallId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceFirewallsDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewalls_network-policies.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewalls_network-policies.ts new file mode 100644 index 00000000..0529fdc3 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_firewalls_network-policies.ts @@ -0,0 +1,106 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceFirewallsNetworkPoliciesAttachBody, + mapDashboardInstanceFirewallsNetworkPoliciesAttachOutput, + mapDashboardInstanceFirewallsNetworkPoliciesDetachOutput, + type DashboardInstanceFirewallsNetworkPoliciesAttachBody, + type DashboardInstanceFirewallsNetworkPoliciesAttachOutput, + type DashboardInstanceFirewallsNetworkPoliciesDetachOutput +} from '../resources'; + +/** + * @name Firewalls controller + * @description Manage firewalls and their attached network policies. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialManagementInstanceFirewallsNetworkPoliciesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name Attach network policy + * @description Attaches a network policy to a firewall. + * + * @param `instanceId` - string + * @param `firewallId` - string + * @param `body` - DashboardInstanceFirewallsNetworkPoliciesAttachBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsNetworkPoliciesAttachOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + attach( + instanceId: string, + firewallId: string, + body: DashboardInstanceFirewallsNetworkPoliciesAttachBody, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/firewalls/${firewallId}/network-policies`; + + let request = { + path, + body: mapDashboardInstanceFirewallsNetworkPoliciesAttachBody.transformTo( + body + ), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceFirewallsNetworkPoliciesAttachOutput + ); + } + + /** + * @name Detach network policy + * @description Detaches a network policy from a firewall. + * + * @param `instanceId` - string + * @param `firewallId` - string + * @param `networkPolicyId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceFirewallsNetworkPoliciesDetachOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + detach( + instanceId: string, + firewallId: string, + networkPolicyId: string, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/firewalls/${firewallId}/network-policies/${networkPolicyId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceFirewallsNetworkPoliciesDetachOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_network-policies.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_network-policies.ts new file mode 100644 index 00000000..048856ff --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_network-policies.ts @@ -0,0 +1,203 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceNetworkPoliciesCreateBody, + mapDashboardInstanceNetworkPoliciesCreateOutput, + mapDashboardInstanceNetworkPoliciesDeleteOutput, + mapDashboardInstanceNetworkPoliciesGetOutput, + mapDashboardInstanceNetworkPoliciesListOutput, + mapDashboardInstanceNetworkPoliciesListQuery, + mapDashboardInstanceNetworkPoliciesUpdateBody, + mapDashboardInstanceNetworkPoliciesUpdateOutput, + type DashboardInstanceNetworkPoliciesCreateBody, + type DashboardInstanceNetworkPoliciesCreateOutput, + type DashboardInstanceNetworkPoliciesDeleteOutput, + type DashboardInstanceNetworkPoliciesGetOutput, + type DashboardInstanceNetworkPoliciesListOutput, + type DashboardInstanceNetworkPoliciesListQuery, + type DashboardInstanceNetworkPoliciesUpdateBody, + type DashboardInstanceNetworkPoliciesUpdateOutput +} from '../resources'; + +/** + * @name Network Policies controller + * @description Manage reusable network policy definitions and their rules. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialManagementInstanceNetworkPoliciesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List network policies + * @description Returns a paginated list of network policies. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceNetworkPoliciesListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + instanceId: string, + query?: DashboardInstanceNetworkPoliciesListQuery, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/network-policies`; + + let request = { + path, + + query: query + ? mapDashboardInstanceNetworkPoliciesListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceNetworkPoliciesListOutput + ); + } + + /** + * @name Get network policy + * @description Retrieves a specific network policy by ID. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + instanceId: string, + networkPolicyId: string, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/network-policies/${networkPolicyId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceNetworkPoliciesGetOutput + ); + } + + /** + * @name Create network policy + * @description Creates a new network policy. + * + * @param `instanceId` - string + * @param `body` - DashboardInstanceNetworkPoliciesCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + instanceId: string, + body: DashboardInstanceNetworkPoliciesCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/network-policies`; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesCreateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceNetworkPoliciesCreateOutput + ); + } + + /** + * @name Update network policy + * @description Updates a network policy definition. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `body` - DashboardInstanceNetworkPoliciesUpdateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesUpdateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + update( + instanceId: string, + networkPolicyId: string, + body: DashboardInstanceNetworkPoliciesUpdateBody, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/network-policies/${networkPolicyId}`; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesUpdateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._patch(request).transform( + mapDashboardInstanceNetworkPoliciesUpdateOutput + ); + } + + /** + * @name Delete network policy + * @description Archives a network policy. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + instanceId: string, + networkPolicyId: string, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/network-policies/${networkPolicyId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceNetworkPoliciesDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_network-policies_rules.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_network-policies_rules.ts new file mode 100644 index 00000000..d37653b6 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_network-policies_rules.ts @@ -0,0 +1,146 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceNetworkPoliciesRulesCreateBody, + mapDashboardInstanceNetworkPoliciesRulesCreateOutput, + mapDashboardInstanceNetworkPoliciesRulesDeleteOutput, + mapDashboardInstanceNetworkPoliciesRulesUpdateBody, + mapDashboardInstanceNetworkPoliciesRulesUpdateOutput, + type DashboardInstanceNetworkPoliciesRulesCreateBody, + type DashboardInstanceNetworkPoliciesRulesCreateOutput, + type DashboardInstanceNetworkPoliciesRulesDeleteOutput, + type DashboardInstanceNetworkPoliciesRulesUpdateBody, + type DashboardInstanceNetworkPoliciesRulesUpdateOutput +} from '../resources'; + +/** + * @name Network Policies controller + * @description Manage reusable network policy definitions and their rules. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialManagementInstanceNetworkPoliciesRulesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name Create network policy rule + * @description Adds a rule to a network policy. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `body` - DashboardInstanceNetworkPoliciesRulesCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesRulesCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + instanceId: string, + networkPolicyId: string, + body: DashboardInstanceNetworkPoliciesRulesCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/network-policies/${networkPolicyId}/rules`; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesRulesCreateBody.transformTo( + body + ), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceNetworkPoliciesRulesCreateOutput + ); + } + + /** + * @name Update network policy rule + * @description Updates a rule on a network policy. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `ruleId` - string + * @param `body` - DashboardInstanceNetworkPoliciesRulesUpdateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesRulesUpdateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + update( + instanceId: string, + networkPolicyId: string, + ruleId: string, + body: DashboardInstanceNetworkPoliciesRulesUpdateBody, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/network-policies/${networkPolicyId}/rules/${ruleId}`; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesRulesUpdateBody.transformTo( + body + ), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._patch(request).transform( + mapDashboardInstanceNetworkPoliciesRulesUpdateOutput + ); + } + + /** + * @name Delete network policy rule + * @description Removes a rule from a network policy. + * + * @param `instanceId` - string + * @param `networkPolicyId` - string + * @param `ruleId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesRulesDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + instanceId: string, + networkPolicyId: string, + ruleId: string, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/network-policies/${networkPolicyId}/rules/${ruleId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceNetworkPoliciesRulesDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_networks.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_networks.ts new file mode 100644 index 00000000..50f7e3a6 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_networks.ts @@ -0,0 +1,134 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceNetworksGetOutput, + mapDashboardInstanceNetworksListNetworkLogsOutput, + mapDashboardInstanceNetworksListNetworkLogsQuery, + mapDashboardInstanceNetworksListOutput, + mapDashboardInstanceNetworksListQuery, + type DashboardInstanceNetworksGetOutput, + type DashboardInstanceNetworksListNetworkLogsOutput, + type DashboardInstanceNetworksListNetworkLogsQuery, + type DashboardInstanceNetworksListOutput, + type DashboardInstanceNetworksListQuery +} from '../resources'; + +/** + * @name Networks controller + * @description Read network records for an instance environment. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialManagementInstanceNetworksEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List networks + * @description Returns a paginated list of networks. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceNetworksListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworksListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + instanceId: string, + query?: DashboardInstanceNetworksListQuery, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/networks`; + + let request = { + path, + + query: query + ? mapDashboardInstanceNetworksListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceNetworksListOutput); + } + + /** + * @name Get network + * @description Retrieves a specific network by ID. + * + * @param `instanceId` - string + * @param `networkId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworksGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + instanceId: string, + networkId: string, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/networks/${networkId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceNetworksGetOutput); + } + + /** + * @name List network logs + * @description Returns ingress or egress network logs for enclaves in the instance environment. + * + * @param `instanceId` - string + * @param `query` - DashboardInstanceNetworksListNetworkLogsQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworksListNetworkLogsOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + listNetworkLogs( + instanceId: string, + query?: DashboardInstanceNetworksListNetworkLogsQuery, + opts?: { headers?: Record } + ): Promise { + let path = `instances/${instanceId}/network-logs`; + + let request = { + path, + + query: query + ? mapDashboardInstanceNetworksListNetworkLogsQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceNetworksListNetworkLogsOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_providers_tools.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_tools.ts similarity index 69% rename from sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_providers_tools.ts rename to sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_tools.ts index 504cc72b..533fd82c 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_providers_tools.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_tools.ts @@ -4,12 +4,12 @@ import { } from '@metorial/util-endpoint'; import { - mapDashboardInstanceProvidersToolsGetOutput, - mapDashboardInstanceProvidersToolsListOutput, - mapDashboardInstanceProvidersToolsListQuery, - type DashboardInstanceProvidersToolsGetOutput, - type DashboardInstanceProvidersToolsListOutput, - type DashboardInstanceProvidersToolsListQuery + mapDashboardInstanceProviderToolsGetOutput, + mapDashboardInstanceProviderToolsListOutput, + mapDashboardInstanceProviderToolsListQuery, + type DashboardInstanceProviderToolsGetOutput, + type DashboardInstanceProviderToolsListOutput, + type DashboardInstanceProviderToolsListQuery } from '../resources'; /** @@ -19,7 +19,7 @@ import { * @see https://metorial.com/api * @see https://metorial.com/docs */ -export class MetorialManagementInstanceProvidersToolsEndpoint { +export class MetorialManagementInstanceProviderToolsEndpoint { constructor(private readonly _manager: MetorialEndpointManager) {} // thin proxies so method bodies stay unchanged @@ -44,30 +44,30 @@ export class MetorialManagementInstanceProvidersToolsEndpoint { * @description Returns a paginated list of provider tools. By default returns tools from the latest version. Use optional filters to get tools for a specific version. * * @param `instanceId` - string - * @param `query` - DashboardInstanceProvidersToolsListQuery + * @param `query` - DashboardInstanceProviderToolsListQuery * @param `opts` - { headers?: Record } - * @returns DashboardInstanceProvidersToolsListOutput + * @returns DashboardInstanceProviderToolsListOutput * @see https://metorial.com/api * @see https://metorial.com/docs */ list( instanceId: string, - query?: DashboardInstanceProvidersToolsListQuery, + query?: DashboardInstanceProviderToolsListQuery, opts?: { headers?: Record } - ): Promise { - let path = `instances/${instanceId}/providers-tools`; + ): Promise { + let path = `instances/${instanceId}/provider-tools`; let request = { path, query: query - ? mapDashboardInstanceProvidersToolsListQuery.transformTo(query) + ? mapDashboardInstanceProviderToolsListQuery.transformTo(query) : undefined, ...(opts?.headers ? { headers: opts.headers } : {}) } as any; return this._get(request).transform( - mapDashboardInstanceProvidersToolsListOutput + mapDashboardInstanceProviderToolsListOutput ); } @@ -78,7 +78,7 @@ export class MetorialManagementInstanceProvidersToolsEndpoint { * @param `instanceId` - string * @param `providerToolId` - string * @param `opts` - { headers?: Record } - * @returns DashboardInstanceProvidersToolsGetOutput + * @returns DashboardInstanceProviderToolsGetOutput * @see https://metorial.com/api * @see https://metorial.com/docs */ @@ -86,8 +86,8 @@ export class MetorialManagementInstanceProvidersToolsEndpoint { instanceId: string, providerToolId: string, opts?: { headers?: Record } - ): Promise { - let path = `instances/${instanceId}/providers-tools/${providerToolId}`; + ): Promise { + let path = `instances/${instanceId}/provider-tools/${providerToolId}`; let request = { path, @@ -96,7 +96,7 @@ export class MetorialManagementInstanceProvidersToolsEndpoint { } as any; return this._get(request).transform( - mapDashboardInstanceProvidersToolsGetOutput + mapDashboardInstanceProviderToolsGetOutput ); } } diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/network-policies.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/network-policies.ts new file mode 100644 index 00000000..6ce81ad0 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/network-policies.ts @@ -0,0 +1,193 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceNetworkPoliciesCreateBody, + mapDashboardInstanceNetworkPoliciesCreateOutput, + mapDashboardInstanceNetworkPoliciesDeleteOutput, + mapDashboardInstanceNetworkPoliciesGetOutput, + mapDashboardInstanceNetworkPoliciesListOutput, + mapDashboardInstanceNetworkPoliciesListQuery, + mapDashboardInstanceNetworkPoliciesUpdateBody, + mapDashboardInstanceNetworkPoliciesUpdateOutput, + type DashboardInstanceNetworkPoliciesCreateBody, + type DashboardInstanceNetworkPoliciesCreateOutput, + type DashboardInstanceNetworkPoliciesDeleteOutput, + type DashboardInstanceNetworkPoliciesGetOutput, + type DashboardInstanceNetworkPoliciesListOutput, + type DashboardInstanceNetworkPoliciesListQuery, + type DashboardInstanceNetworkPoliciesUpdateBody, + type DashboardInstanceNetworkPoliciesUpdateOutput +} from '../resources'; + +/** + * @name Network Policies controller + * @description Manage reusable network policy definitions and their rules. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialNetworkPoliciesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List network policies + * @description Returns a paginated list of network policies. + * + * @param `query` - DashboardInstanceNetworkPoliciesListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + query?: DashboardInstanceNetworkPoliciesListQuery, + opts?: { headers?: Record } + ): Promise { + let path = 'network-policies'; + + let request = { + path, + + query: query + ? mapDashboardInstanceNetworkPoliciesListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceNetworkPoliciesListOutput + ); + } + + /** + * @name Get network policy + * @description Retrieves a specific network policy by ID. + * + * @param `networkPolicyId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + networkPolicyId: string, + opts?: { headers?: Record } + ): Promise { + let path = `network-policies/${networkPolicyId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceNetworkPoliciesGetOutput + ); + } + + /** + * @name Create network policy + * @description Creates a new network policy. + * + * @param `body` - DashboardInstanceNetworkPoliciesCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + body: DashboardInstanceNetworkPoliciesCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = 'network-policies'; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesCreateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceNetworkPoliciesCreateOutput + ); + } + + /** + * @name Update network policy + * @description Updates a network policy definition. + * + * @param `networkPolicyId` - string + * @param `body` - DashboardInstanceNetworkPoliciesUpdateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesUpdateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + update( + networkPolicyId: string, + body: DashboardInstanceNetworkPoliciesUpdateBody, + opts?: { headers?: Record } + ): Promise { + let path = `network-policies/${networkPolicyId}`; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesUpdateBody.transformTo(body), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._patch(request).transform( + mapDashboardInstanceNetworkPoliciesUpdateOutput + ); + } + + /** + * @name Delete network policy + * @description Archives a network policy. + * + * @param `networkPolicyId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + networkPolicyId: string, + opts?: { headers?: Record } + ): Promise { + let path = `network-policies/${networkPolicyId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceNetworkPoliciesDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/network-policies_rules.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/network-policies_rules.ts new file mode 100644 index 00000000..bca52e65 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/network-policies_rules.ts @@ -0,0 +1,140 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceNetworkPoliciesRulesCreateBody, + mapDashboardInstanceNetworkPoliciesRulesCreateOutput, + mapDashboardInstanceNetworkPoliciesRulesDeleteOutput, + mapDashboardInstanceNetworkPoliciesRulesUpdateBody, + mapDashboardInstanceNetworkPoliciesRulesUpdateOutput, + type DashboardInstanceNetworkPoliciesRulesCreateBody, + type DashboardInstanceNetworkPoliciesRulesCreateOutput, + type DashboardInstanceNetworkPoliciesRulesDeleteOutput, + type DashboardInstanceNetworkPoliciesRulesUpdateBody, + type DashboardInstanceNetworkPoliciesRulesUpdateOutput +} from '../resources'; + +/** + * @name Network Policies controller + * @description Manage reusable network policy definitions and their rules. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialNetworkPoliciesRulesEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name Create network policy rule + * @description Adds a rule to a network policy. + * + * @param `networkPolicyId` - string + * @param `body` - DashboardInstanceNetworkPoliciesRulesCreateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesRulesCreateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + create( + networkPolicyId: string, + body: DashboardInstanceNetworkPoliciesRulesCreateBody, + opts?: { headers?: Record } + ): Promise { + let path = `network-policies/${networkPolicyId}/rules`; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesRulesCreateBody.transformTo( + body + ), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._post(request).transform( + mapDashboardInstanceNetworkPoliciesRulesCreateOutput + ); + } + + /** + * @name Update network policy rule + * @description Updates a rule on a network policy. + * + * @param `networkPolicyId` - string + * @param `ruleId` - string + * @param `body` - DashboardInstanceNetworkPoliciesRulesUpdateBody + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesRulesUpdateOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + update( + networkPolicyId: string, + ruleId: string, + body: DashboardInstanceNetworkPoliciesRulesUpdateBody, + opts?: { headers?: Record } + ): Promise { + let path = `network-policies/${networkPolicyId}/rules/${ruleId}`; + + let request = { + path, + body: mapDashboardInstanceNetworkPoliciesRulesUpdateBody.transformTo( + body + ), + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._patch(request).transform( + mapDashboardInstanceNetworkPoliciesRulesUpdateOutput + ); + } + + /** + * @name Delete network policy rule + * @description Removes a rule from a network policy. + * + * @param `networkPolicyId` - string + * @param `ruleId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworkPoliciesRulesDeleteOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + delete( + networkPolicyId: string, + ruleId: string, + opts?: { headers?: Record } + ): Promise { + let path = `network-policies/${networkPolicyId}/rules/${ruleId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._delete(request).transform( + mapDashboardInstanceNetworkPoliciesRulesDeleteOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/networks.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/networks.ts new file mode 100644 index 00000000..c1234222 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/networks.ts @@ -0,0 +1,128 @@ +import { + BaseMetorialEndpoint, + MetorialEndpointManager +} from '@metorial/util-endpoint'; + +import { + mapDashboardInstanceNetworksGetOutput, + mapDashboardInstanceNetworksListNetworkLogsOutput, + mapDashboardInstanceNetworksListNetworkLogsQuery, + mapDashboardInstanceNetworksListOutput, + mapDashboardInstanceNetworksListQuery, + type DashboardInstanceNetworksGetOutput, + type DashboardInstanceNetworksListNetworkLogsOutput, + type DashboardInstanceNetworksListNetworkLogsQuery, + type DashboardInstanceNetworksListOutput, + type DashboardInstanceNetworksListQuery +} from '../resources'; + +/** + * @name Networks controller + * @description Read network records for an instance environment. + * + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ +export class MetorialNetworksEndpoint { + constructor(private readonly _manager: MetorialEndpointManager) {} + + // thin proxies so method bodies stay unchanged + private _get(request: any) { + return this._manager._get(request); + } + private _post(request: any) { + return this._manager._post(request); + } + private _put(request: any) { + return this._manager._put(request); + } + private _patch(request: any) { + return this._manager._patch(request); + } + private _delete(request: any) { + return this._manager._delete(request); + } + + /** + * @name List networks + * @description Returns a paginated list of networks. + * + * @param `query` - DashboardInstanceNetworksListQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworksListOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + list( + query?: DashboardInstanceNetworksListQuery, + opts?: { headers?: Record } + ): Promise { + let path = 'networks'; + + let request = { + path, + + query: query + ? mapDashboardInstanceNetworksListQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceNetworksListOutput); + } + + /** + * @name Get network + * @description Retrieves a specific network by ID. + * + * @param `networkId` - string + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworksGetOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + get( + networkId: string, + opts?: { headers?: Record } + ): Promise { + let path = `networks/${networkId}`; + + let request = { + path, + + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform(mapDashboardInstanceNetworksGetOutput); + } + + /** + * @name List network logs + * @description Returns ingress or egress network logs for enclaves in the instance environment. + * + * @param `query` - DashboardInstanceNetworksListNetworkLogsQuery + * @param `opts` - { headers?: Record } + * @returns DashboardInstanceNetworksListNetworkLogsOutput + * @see https://metorial.com/api + * @see https://metorial.com/docs + */ + listNetworkLogs( + query?: DashboardInstanceNetworksListNetworkLogsQuery, + opts?: { headers?: Record } + ): Promise { + let path = 'network-logs'; + + let request = { + path, + + query: query + ? mapDashboardInstanceNetworksListNetworkLogsQuery.transformTo(query) + : undefined, + ...(opts?.headers ? { headers: opts.headers } : {}) + } as any; + + return this._get(request).transform( + mapDashboardInstanceNetworksListNetworkLogsOutput + ); + } +} diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/providers_tools.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/provider_tools.ts similarity index 69% rename from sdk/gen/src/mt_2026_01_01_magnetar/endpoints/providers_tools.ts rename to sdk/gen/src/mt_2026_01_01_magnetar/endpoints/provider_tools.ts index c20326ad..9a691da9 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/providers_tools.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/provider_tools.ts @@ -4,12 +4,12 @@ import { } from '@metorial/util-endpoint'; import { - mapDashboardInstanceProvidersToolsGetOutput, - mapDashboardInstanceProvidersToolsListOutput, - mapDashboardInstanceProvidersToolsListQuery, - type DashboardInstanceProvidersToolsGetOutput, - type DashboardInstanceProvidersToolsListOutput, - type DashboardInstanceProvidersToolsListQuery + mapDashboardInstanceProviderToolsGetOutput, + mapDashboardInstanceProviderToolsListOutput, + mapDashboardInstanceProviderToolsListQuery, + type DashboardInstanceProviderToolsGetOutput, + type DashboardInstanceProviderToolsListOutput, + type DashboardInstanceProviderToolsListQuery } from '../resources'; /** @@ -19,7 +19,7 @@ import { * @see https://metorial.com/api * @see https://metorial.com/docs */ -export class MetorialProvidersToolsEndpoint { +export class MetorialProviderToolsEndpoint { constructor(private readonly _manager: MetorialEndpointManager) {} // thin proxies so method bodies stay unchanged @@ -43,29 +43,29 @@ export class MetorialProvidersToolsEndpoint { * @name List provider tools * @description Returns a paginated list of provider tools. By default returns tools from the latest version. Use optional filters to get tools for a specific version. * - * @param `query` - DashboardInstanceProvidersToolsListQuery + * @param `query` - DashboardInstanceProviderToolsListQuery * @param `opts` - { headers?: Record } - * @returns DashboardInstanceProvidersToolsListOutput + * @returns DashboardInstanceProviderToolsListOutput * @see https://metorial.com/api * @see https://metorial.com/docs */ list( - query?: DashboardInstanceProvidersToolsListQuery, + query?: DashboardInstanceProviderToolsListQuery, opts?: { headers?: Record } - ): Promise { - let path = 'providers-tools'; + ): Promise { + let path = 'provider-tools'; let request = { path, query: query - ? mapDashboardInstanceProvidersToolsListQuery.transformTo(query) + ? mapDashboardInstanceProviderToolsListQuery.transformTo(query) : undefined, ...(opts?.headers ? { headers: opts.headers } : {}) } as any; return this._get(request).transform( - mapDashboardInstanceProvidersToolsListOutput + mapDashboardInstanceProviderToolsListOutput ); } @@ -75,15 +75,15 @@ export class MetorialProvidersToolsEndpoint { * * @param `providerToolId` - string * @param `opts` - { headers?: Record } - * @returns DashboardInstanceProvidersToolsGetOutput + * @returns DashboardInstanceProviderToolsGetOutput * @see https://metorial.com/api * @see https://metorial.com/docs */ get( providerToolId: string, opts?: { headers?: Record } - ): Promise { - let path = `providers-tools/${providerToolId}`; + ): Promise { + let path = `provider-tools/${providerToolId}`; let request = { path, @@ -92,7 +92,7 @@ export class MetorialProvidersToolsEndpoint { } as any; return this._get(request).transform( - mapDashboardInstanceProvidersToolsGetOutput + mapDashboardInstanceProviderToolsGetOutput ); } } diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/enclaves/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/enclaves/get.ts new file mode 100644 index 00000000..b02bc13b --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/enclaves/get.ts @@ -0,0 +1,47 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceEnclavesGetOutput = { + object: 'enclave'; + id: string; + slug: string; + name: string; + description: string | null; + networkId: string; + providerDeploymentId: string; + enclaveEnvironment: { + object: 'enclave.environment#preview'; + id: string; + name: string; + type: 'metorial' | 'outpost'; + createdAt: Date; + }; + createdAt: Date; + lastUsedAt: Date | null; +}; + +export let mapDashboardInstanceEnclavesGetOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + providerDeploymentId: mtMap.objectField( + 'provider_deployment_id', + mtMap.passthrough() + ), + enclaveEnvironment: mtMap.objectField( + 'enclave_environment', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + lastUsedAt: mtMap.objectField('last_used_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/tools/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/enclaves/index.ts similarity index 100% rename from sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/tools/index.ts rename to sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/enclaves/index.ts diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/enclaves/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/enclaves/list.ts new file mode 100644 index 00000000..4e6b93d1 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/enclaves/list.ts @@ -0,0 +1,163 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceEnclavesListOutput = { + items: { + object: 'enclave'; + id: string; + slug: string; + name: string; + description: string | null; + networkId: string; + providerDeploymentId: string; + enclaveEnvironment: { + object: 'enclave.environment#preview'; + id: string; + name: string; + type: 'metorial' | 'outpost'; + createdAt: Date; + }; + createdAt: Date; + lastUsedAt: Date | null; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapDashboardInstanceEnclavesListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + providerDeploymentId: mtMap.objectField( + 'provider_deployment_id', + mtMap.passthrough() + ), + enclaveEnvironment: mtMap.objectField( + 'enclave_environment', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + lastUsedAt: mtMap.objectField('last_used_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type DashboardInstanceEnclavesListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + slug?: string | string[] | undefined; + networkId?: string | string[] | undefined; + providerDeploymentId?: string | string[] | undefined; + providerId?: string | string[] | undefined; + firewallId?: string | string[] | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapDashboardInstanceEnclavesListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + slug: mtMap.objectField( + 'slug', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + networkId: mtMap.objectField( + 'network_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerDeploymentId: mtMap.objectField( + 'provider_deployment_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerId: mtMap.objectField( + 'provider_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/create.ts new file mode 100644 index 00000000..04055fad --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/create.ts @@ -0,0 +1,69 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceFirewallBindingsCreateOutput = { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; +}; + +export let mapDashboardInstanceFirewallBindingsCreateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }); + +export type DashboardInstanceFirewallBindingsCreateBody = { + firewallId: string; +} & { + targetType: 'enclave' | 'provider' | 'network'; + enclaveId?: string | undefined; + providerId?: string | undefined; + networkId?: string | undefined; +}; + +export let mapDashboardInstanceFirewallBindingsCreateBody = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + firewallId: mtMap.objectField('firewall_id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + enclaveId: mtMap.objectField('enclave_id', mtMap.passthrough()), + providerId: mtMap.objectField('provider_id', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/delete.ts new file mode 100644 index 00000000..bf0fc488 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/delete.ts @@ -0,0 +1,47 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceFirewallBindingsDeleteOutput = { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; +}; + +export let mapDashboardInstanceFirewallBindingsDeleteOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/get.ts new file mode 100644 index 00000000..a8b65a14 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/get.ts @@ -0,0 +1,47 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceFirewallBindingsGetOutput = { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; +}; + +export let mapDashboardInstanceFirewallBindingsGetOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/index.ts new file mode 100644 index 00000000..792df4a8 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/index.ts @@ -0,0 +1,4 @@ +export * from './create'; +export * from './delete'; +export * from './get'; +export * from './list'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/list.ts new file mode 100644 index 00000000..698b9fc9 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewall-bindings/list.ts @@ -0,0 +1,162 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceFirewallBindingsListOutput = { + items: { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapDashboardInstanceFirewallBindingsListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type DashboardInstanceFirewallBindingsListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + firewallId?: string | string[] | undefined; + enclaveId?: string | string[] | undefined; + providerId?: string | string[] | undefined; + networkId?: string | string[] | undefined; + targetType?: + | 'enclave' + | 'provider' + | 'network' + | ('enclave' | 'provider' | 'network')[] + | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapDashboardInstanceFirewallBindingsListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerId: mtMap.objectField( + 'provider_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + networkId: mtMap.objectField( + 'network_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + targetType: mtMap.objectField( + 'target_type', + mtMap.union([mtMap.unionOption('array', mtMap.union([]))]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/create.ts new file mode 100644 index 00000000..107cfb8f --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/create.ts @@ -0,0 +1,129 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceFirewallsCreateOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapDashboardInstanceFirewallsCreateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type DashboardInstanceFirewallsCreateBody = { + name: string; + description?: string | undefined; + slug?: string | undefined; + networkId: string; + bindings?: + | { + targetType: 'enclave' | 'provider' | 'network'; + enclaveId?: string | undefined; + providerId?: string | undefined; + networkId?: string | undefined; + }[] + | undefined; + networkPolicyIds?: string[] | undefined; +}; + +export let mapDashboardInstanceFirewallsCreateBody = + mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + bindings: mtMap.objectField( + 'bindings', + mtMap.array( + mtMap.object({ + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + enclaveId: mtMap.objectField('enclave_id', mtMap.passthrough()), + providerId: mtMap.objectField('provider_id', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()) + }) + ) + ), + networkPolicyIds: mtMap.objectField( + 'network_policy_ids', + mtMap.array(mtMap.passthrough()) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/delete.ts new file mode 100644 index 00000000..35c51445 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/delete.ts @@ -0,0 +1,90 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceFirewallsDeleteOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapDashboardInstanceFirewallsDeleteOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/get.ts new file mode 100644 index 00000000..04d774a6 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/get.ts @@ -0,0 +1,90 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceFirewallsGetOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapDashboardInstanceFirewallsGetOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/index.ts new file mode 100644 index 00000000..fc102e8b --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/index.ts @@ -0,0 +1,6 @@ +export * from './create'; +export * from './delete'; +export * from './get'; +export * from './list'; +export * from './network-policies'; +export * from './update'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/list.ts new file mode 100644 index 00000000..74662b7a --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/list.ts @@ -0,0 +1,239 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceFirewallsListOutput = { + items: { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapDashboardInstanceFirewallsListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField( + 'direction', + mtMap.passthrough() + ), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField( + 'enabled', + mtMap.passthrough() + ), + priority: mtMap.objectField( + 'priority', + mtMap.passthrough() + ), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField( + 'object', + mtMap.passthrough() + ), + from: mtMap.objectField( + 'from', + mtMap.passthrough() + ), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type DashboardInstanceFirewallsListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + slug?: string | string[] | undefined; + status?: + | 'active' + | 'archived' + | 'deleted' + | ('active' | 'archived' | 'deleted')[] + | undefined; + networkId?: string | string[] | undefined; + enclaveId?: string | string[] | undefined; + providerId?: string | string[] | undefined; + networkPolicyId?: string | string[] | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; + updatedAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapDashboardInstanceFirewallsListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + slug: mtMap.objectField( + 'slug', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + status: mtMap.objectField( + 'status', + mtMap.union([mtMap.unionOption('array', mtMap.union([]))]) + ), + networkId: mtMap.objectField( + 'network_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerId: mtMap.objectField( + 'provider_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + networkPolicyId: mtMap.objectField( + 'network_policy_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ), + updatedAt: mtMap.objectField( + 'updated_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/attach.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/attach.ts new file mode 100644 index 00000000..02fbec97 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/attach.ts @@ -0,0 +1,104 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceFirewallsNetworkPoliciesAttachOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapDashboardInstanceFirewallsNetworkPoliciesAttachOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type DashboardInstanceFirewallsNetworkPoliciesAttachBody = { + networkPolicyId: string; + position?: number | undefined; +}; + +export let mapDashboardInstanceFirewallsNetworkPoliciesAttachBody = + mtMap.object({ + networkPolicyId: mtMap.objectField( + 'network_policy_id', + mtMap.passthrough() + ), + position: mtMap.objectField('position', mtMap.passthrough()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/detach.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/detach.ts new file mode 100644 index 00000000..21832b6f --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/detach.ts @@ -0,0 +1,90 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceFirewallsNetworkPoliciesDetachOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapDashboardInstanceFirewallsNetworkPoliciesDetachOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/index.ts new file mode 100644 index 00000000..0ef1740c --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/network-policies/index.ts @@ -0,0 +1,2 @@ +export * from './attach'; +export * from './detach'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/update.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/update.ts new file mode 100644 index 00000000..1b0489e0 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/firewalls/update.ts @@ -0,0 +1,108 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceFirewallsUpdateOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapDashboardInstanceFirewallsUpdateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type DashboardInstanceFirewallsUpdateBody = { + name?: string | undefined; + description?: string | undefined; + slug?: string | undefined; + networkPolicyIds?: string[] | undefined; +}; + +export let mapDashboardInstanceFirewallsUpdateBody = + mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + networkPolicyIds: mtMap.objectField( + 'network_policy_ids', + mtMap.array(mtMap.passthrough()) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/index.ts index 355cb575..03882b6e 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/index.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/index.ts @@ -6,7 +6,10 @@ export * from './consumers'; export * from './conversations'; export * from './custom-providers'; export * from './documents'; +export * from './enclaves'; export * from './files'; +export * from './firewall-bindings'; +export * from './firewalls'; export * from './identities'; export * from './identity-actors'; export * from './instance'; @@ -16,7 +19,10 @@ export * from './magic-mcp-groups'; export * from './magic-mcp-servers'; export * from './magic-mcp-sessions'; export * from './magic-mcp-tokens'; +export * from './network-policies'; +export * from './networks'; export * from './portals'; +export * from './provider'; export * from './provider-categories'; export * from './provider-collections'; export * from './provider-deployments'; diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/create.ts new file mode 100644 index 00000000..5549d066 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/create.ts @@ -0,0 +1,114 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceNetworkPoliciesCreateOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapDashboardInstanceNetworkPoliciesCreateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type DashboardInstanceNetworkPoliciesCreateBody = { + name: string; + description?: string | undefined; + rules?: + | { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; + }[] + | undefined; +}; + +export let mapDashboardInstanceNetworkPoliciesCreateBody = + mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/delete.ts new file mode 100644 index 00000000..905e1d48 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/delete.ts @@ -0,0 +1,70 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceNetworkPoliciesDeleteOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapDashboardInstanceNetworkPoliciesDeleteOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/get.ts new file mode 100644 index 00000000..c4200736 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/get.ts @@ -0,0 +1,70 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceNetworkPoliciesGetOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapDashboardInstanceNetworkPoliciesGetOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/index.ts new file mode 100644 index 00000000..a1709ed6 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/index.ts @@ -0,0 +1,6 @@ +export * from './create'; +export * from './delete'; +export * from './get'; +export * from './list'; +export * from './rules'; +export * from './update'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/list.ts new file mode 100644 index 00000000..f6002702 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/list.ts @@ -0,0 +1,168 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceNetworkPoliciesListOutput = { + items: { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapDashboardInstanceNetworkPoliciesListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type DashboardInstanceNetworkPoliciesListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + status?: + | 'active' + | 'archived' + | 'deleted' + | ('active' | 'archived' | 'deleted')[] + | undefined; + firewallId?: string | string[] | undefined; + search?: string | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; + updatedAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapDashboardInstanceNetworkPoliciesListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + status: mtMap.objectField( + 'status', + mtMap.union([mtMap.unionOption('array', mtMap.union([]))]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + search: mtMap.objectField('search', mtMap.passthrough()), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ), + updatedAt: mtMap.objectField( + 'updated_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/create.ts new file mode 100644 index 00000000..4ace3c0d --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/create.ts @@ -0,0 +1,67 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceNetworkPoliciesRulesCreateOutput = { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; +}; + +export let mapDashboardInstanceNetworkPoliciesRulesCreateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + +export type DashboardInstanceNetworkPoliciesRulesCreateBody = { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; +}; + +export let mapDashboardInstanceNetworkPoliciesRulesCreateBody = + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/delete.ts new file mode 100644 index 00000000..0254d613 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/delete.ts @@ -0,0 +1,70 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceNetworkPoliciesRulesDeleteOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapDashboardInstanceNetworkPoliciesRulesDeleteOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/index.ts new file mode 100644 index 00000000..60138fc8 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/index.ts @@ -0,0 +1,3 @@ +export * from './create'; +export * from './delete'; +export * from './update'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/update.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/update.ts new file mode 100644 index 00000000..3d0b68ad --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/rules/update.ts @@ -0,0 +1,67 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceNetworkPoliciesRulesUpdateOutput = { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; +}; + +export let mapDashboardInstanceNetworkPoliciesRulesUpdateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + +export type DashboardInstanceNetworkPoliciesRulesUpdateBody = { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; +}; + +export let mapDashboardInstanceNetworkPoliciesRulesUpdateBody = + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/update.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/update.ts new file mode 100644 index 00000000..81fd10c1 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/network-policies/update.ts @@ -0,0 +1,114 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceNetworkPoliciesUpdateOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapDashboardInstanceNetworkPoliciesUpdateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type DashboardInstanceNetworkPoliciesUpdateBody = { + name?: string | undefined; + description?: string | undefined; + rules?: + | { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; + }[] + | undefined; +}; + +export let mapDashboardInstanceNetworkPoliciesUpdateBody = + mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/get.ts new file mode 100644 index 00000000..5f7a4928 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/get.ts @@ -0,0 +1,42 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceNetworksGetOutput = { + object: 'network'; + id: string; + name: string; + description: string | null; + createdAt: Date; + updatedAt: Date; + publicIps: { + object: 'network.public_ip'; + id: string; + ip: string; + region: string; + createdAt: Date; + updatedAt: Date; + }[]; +}; + +export let mapDashboardInstanceNetworksGetOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + publicIps: mtMap.objectField( + 'public_ips', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + ip: mtMap.objectField('ip', mtMap.passthrough()), + region: mtMap.objectField('region', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/index.ts new file mode 100644 index 00000000..e9b5d470 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/index.ts @@ -0,0 +1,3 @@ +export * from './get'; +export * from './list-network-logs'; +export * from './list'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/list-network-logs.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/list-network-logs.ts new file mode 100644 index 00000000..2f854c55 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/list-network-logs.ts @@ -0,0 +1,97 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceNetworksListNetworkLogsOutput = { + object: 'network.logs'; + direction: 'ingress' | 'egress'; + enclaveIds: string[]; + records: { + object: 'network.log'; + direction: 'ingress' | 'egress'; + enclaveId: string; + bucketStart: string; + hostname: string; + ip: string; + port: number; + count: number; + result?: 'allowed' | 'denied' | undefined; + firstSeenAt: string; + lastSeenAt: string; + }[]; +}; + +export let mapDashboardInstanceNetworksListNetworkLogsOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + enclaveIds: mtMap.objectField( + 'enclave_ids', + mtMap.array(mtMap.passthrough()) + ), + records: mtMap.objectField( + 'records', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + enclaveId: mtMap.objectField('enclave_id', mtMap.passthrough()), + bucketStart: mtMap.objectField('bucket_start', mtMap.passthrough()), + hostname: mtMap.objectField('hostname', mtMap.passthrough()), + ip: mtMap.objectField('ip', mtMap.passthrough()), + port: mtMap.objectField('port', mtMap.passthrough()), + count: mtMap.objectField('count', mtMap.passthrough()), + result: mtMap.objectField('result', mtMap.passthrough()), + firstSeenAt: mtMap.objectField('first_seen_at', mtMap.passthrough()), + lastSeenAt: mtMap.objectField('last_seen_at', mtMap.passthrough()) + }) + ) + ) + }); + +export type DashboardInstanceNetworksListNetworkLogsQuery = { + direction: 'ingress' | 'egress'; + enclaveId?: string | string[] | undefined; + hostname?: string | string[] | undefined; + ip?: string | string[] | undefined; + from?: string | undefined; + to?: string | undefined; + intervalMinutes?: number | undefined; +}; + +export let mapDashboardInstanceNetworksListNetworkLogsQuery = + mtMap.object({ + direction: mtMap.objectField('direction', mtMap.passthrough()), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + hostname: mtMap.objectField( + 'hostname', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + ip: mtMap.objectField( + 'ip', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()), + intervalMinutes: mtMap.objectField('interval_minutes', mtMap.passthrough()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/list.ts new file mode 100644 index 00000000..6b24e569 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/networks/list.ts @@ -0,0 +1,133 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type DashboardInstanceNetworksListOutput = { + items: { + object: 'network'; + id: string; + name: string; + description: string | null; + createdAt: Date; + updatedAt: Date; + publicIps: { + object: 'network.public_ip'; + id: string; + ip: string; + region: string; + createdAt: Date; + updatedAt: Date; + }[]; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapDashboardInstanceNetworksListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + publicIps: mtMap.objectField( + 'public_ips', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + ip: mtMap.objectField('ip', mtMap.passthrough()), + region: mtMap.objectField('region', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()) + }) + ) + ) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type DashboardInstanceNetworksListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + firewallId?: string | string[] | undefined; + enclaveId?: string | string[] | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; + updatedAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapDashboardInstanceNetworksListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ), + updatedAt: mtMap.objectField( + 'updated_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider-templates/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider-templates/create.ts index b1a7c17d..0bd123fc 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider-templates/create.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider-templates/create.ts @@ -29,17 +29,20 @@ export type DashboardInstanceProviderTemplatesCreateBody = { name: string; description?: string | undefined; metadata?: Record | undefined; - providers: { - providerId: string; - providerDeploymentId?: string | null | undefined; - providerAuthMethodId?: string | null | undefined; - providerAuthCredentialsId?: string | null | undefined; - providerConfigId?: string | null | undefined; - name?: string | undefined; - description?: string | null | undefined; - metadata?: Record | null | undefined; - toolFilters?: any | undefined; - }[]; + providers?: + | { + providerId: string; + providerDeploymentId?: string | null | undefined; + providerAuthMethodId?: string | null | undefined; + providerAuthCredentialsId?: string | null | undefined; + providerConfigId?: string | null | undefined; + name?: string | undefined; + description?: string | null | undefined; + metadata?: Record | null | undefined; + toolFilters?: any | undefined; + }[] + | undefined; + integrationId?: string | undefined; }; export let mapDashboardInstanceProviderTemplatesCreateBody = @@ -74,6 +77,7 @@ export let mapDashboardInstanceProviderTemplatesCreateBody = toolFilters: mtMap.objectField('tool_filters', mtMap.passthrough()) }) ) - ) + ), + integrationId: mtMap.objectField('integration_id', mtMap.passthrough()) }); diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/index.ts new file mode 100644 index 00000000..ea6180b3 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/index.ts @@ -0,0 +1 @@ +export * from './tools'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/tools/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/tools/get.ts similarity index 92% rename from sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/tools/get.ts rename to sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/tools/get.ts index 20cab10f..d60e424c 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/tools/get.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/tools/get.ts @@ -1,6 +1,6 @@ import { mtMap } from '@metorial/util-resource-mapper'; -export type DashboardInstanceProvidersToolsGetOutput = { +export type DashboardInstanceProviderToolsGetOutput = { object: 'provider.tool'; id: string; key: string; @@ -18,8 +18,8 @@ export type DashboardInstanceProvidersToolsGetOutput = { updatedAt: Date; }; -export let mapDashboardInstanceProvidersToolsGetOutput = - mtMap.object({ +export let mapDashboardInstanceProviderToolsGetOutput = + mtMap.object({ object: mtMap.objectField('object', mtMap.passthrough()), id: mtMap.objectField('id', mtMap.passthrough()), key: mtMap.objectField('key', mtMap.passthrough()), diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/tools/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/tools/index.ts similarity index 100% rename from sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/tools/index.ts rename to sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/tools/index.ts diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/tools/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/tools/list.ts similarity index 92% rename from sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/tools/list.ts rename to sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/tools/list.ts index 51e1c7bd..ce3f2fbd 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/tools/list.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider/tools/list.ts @@ -1,6 +1,6 @@ import { mtMap } from '@metorial/util-resource-mapper'; -export type ProvidersToolsListOutput = { +export type DashboardInstanceProviderToolsListOutput = { items: { object: 'provider.tool'; id: string; @@ -21,8 +21,8 @@ export type ProvidersToolsListOutput = { pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; }; -export let mapProvidersToolsListOutput = mtMap.object( - { +export let mapDashboardInstanceProviderToolsListOutput = + mtMap.object({ items: mtMap.objectField( 'items', mtMap.array( @@ -85,10 +85,9 @@ export let mapProvidersToolsListOutput = mtMap.object( hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) }) ) - } -); + }); -export type ProvidersToolsListQuery = { +export type DashboardInstanceProviderToolsListQuery = { limit?: number | undefined; after?: string | undefined; before?: string | undefined; @@ -96,7 +95,7 @@ export type ProvidersToolsListQuery = { order?: 'asc' | 'desc' | undefined; } & { providerVersionId: string }; -export let mapProvidersToolsListQuery = mtMap.union([ +export let mapDashboardInstanceProviderToolsListQuery = mtMap.union([ mtMap.unionOption( 'object', mtMap.object({ diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/index.ts index 30304945..5b37c611 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/index.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/index.ts @@ -2,6 +2,5 @@ export * from './auth-methods'; export * from './get'; export * from './list'; export * from './specifications'; -export * from './tools'; export * from './triggers'; export * from './versions'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/enclaves/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/enclaves/get.ts new file mode 100644 index 00000000..57f6e46f --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/enclaves/get.ts @@ -0,0 +1,46 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type EnclavesGetOutput = { + object: 'enclave'; + id: string; + slug: string; + name: string; + description: string | null; + networkId: string; + providerDeploymentId: string; + enclaveEnvironment: { + object: 'enclave.environment#preview'; + id: string; + name: string; + type: 'metorial' | 'outpost'; + createdAt: Date; + }; + createdAt: Date; + lastUsedAt: Date | null; +}; + +export let mapEnclavesGetOutput = mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + providerDeploymentId: mtMap.objectField( + 'provider_deployment_id', + mtMap.passthrough() + ), + enclaveEnvironment: mtMap.objectField( + 'enclave_environment', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + lastUsedAt: mtMap.objectField('last_used_at', mtMap.date()) +}); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/tools/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/enclaves/index.ts similarity index 100% rename from sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/tools/index.ts rename to sdk/gen/src/mt_2026_01_01_magnetar/resources/enclaves/index.ts diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/enclaves/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/enclaves/list.ts new file mode 100644 index 00000000..399994e5 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/enclaves/list.ts @@ -0,0 +1,159 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type EnclavesListOutput = { + items: { + object: 'enclave'; + id: string; + slug: string; + name: string; + description: string | null; + networkId: string; + providerDeploymentId: string; + enclaveEnvironment: { + object: 'enclave.environment#preview'; + id: string; + name: string; + type: 'metorial' | 'outpost'; + createdAt: Date; + }; + createdAt: Date; + lastUsedAt: Date | null; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapEnclavesListOutput = mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + providerDeploymentId: mtMap.objectField( + 'provider_deployment_id', + mtMap.passthrough() + ), + enclaveEnvironment: mtMap.objectField( + 'enclave_environment', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + lastUsedAt: mtMap.objectField('last_used_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField('has_more_before', mtMap.passthrough()), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) +}); + +export type EnclavesListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + slug?: string | string[] | undefined; + networkId?: string | string[] | undefined; + providerDeploymentId?: string | string[] | undefined; + providerId?: string | string[] | undefined; + firewallId?: string | string[] | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapEnclavesListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + slug: mtMap.objectField( + 'slug', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + networkId: mtMap.objectField( + 'network_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerDeploymentId: mtMap.objectField( + 'provider_deployment_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerId: mtMap.objectField( + 'provider_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/create.ts new file mode 100644 index 00000000..373a91f3 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/create.ts @@ -0,0 +1,67 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type FirewallBindingsCreateOutput = { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; +}; + +export let mapFirewallBindingsCreateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }); + +export type FirewallBindingsCreateBody = { firewallId: string } & { + targetType: 'enclave' | 'provider' | 'network'; + enclaveId?: string | undefined; + providerId?: string | undefined; + networkId?: string | undefined; +}; + +export let mapFirewallBindingsCreateBody = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + firewallId: mtMap.objectField('firewall_id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + enclaveId: mtMap.objectField('enclave_id', mtMap.passthrough()), + providerId: mtMap.objectField('provider_id', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/delete.ts new file mode 100644 index 00000000..05ab737a --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/delete.ts @@ -0,0 +1,47 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type FirewallBindingsDeleteOutput = { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; +}; + +export let mapFirewallBindingsDeleteOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/get.ts new file mode 100644 index 00000000..de4b84ca --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/get.ts @@ -0,0 +1,47 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type FirewallBindingsGetOutput = { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; +}; + +export let mapFirewallBindingsGetOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/index.ts new file mode 100644 index 00000000..792df4a8 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/index.ts @@ -0,0 +1,4 @@ +export * from './create'; +export * from './delete'; +export * from './get'; +export * from './list'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/list.ts new file mode 100644 index 00000000..d3d2b162 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewall-bindings/list.ts @@ -0,0 +1,162 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type FirewallBindingsListOutput = { + items: { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapFirewallBindingsListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type FirewallBindingsListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + firewallId?: string | string[] | undefined; + enclaveId?: string | string[] | undefined; + providerId?: string | string[] | undefined; + networkId?: string | string[] | undefined; + targetType?: + | 'enclave' + | 'provider' + | 'network' + | ('enclave' | 'provider' | 'network')[] + | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapFirewallBindingsListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerId: mtMap.objectField( + 'provider_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + networkId: mtMap.objectField( + 'network_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + targetType: mtMap.objectField( + 'target_type', + mtMap.union([mtMap.unionOption('array', mtMap.union([]))]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/create.ts new file mode 100644 index 00000000..0d614208 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/create.ts @@ -0,0 +1,127 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type FirewallsCreateOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapFirewallsCreateOutput = mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) +}); + +export type FirewallsCreateBody = { + name: string; + description?: string | undefined; + slug?: string | undefined; + networkId: string; + bindings?: + | { + targetType: 'enclave' | 'provider' | 'network'; + enclaveId?: string | undefined; + providerId?: string | undefined; + networkId?: string | undefined; + }[] + | undefined; + networkPolicyIds?: string[] | undefined; +}; + +export let mapFirewallsCreateBody = mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + bindings: mtMap.objectField( + 'bindings', + mtMap.array( + mtMap.object({ + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + enclaveId: mtMap.objectField('enclave_id', mtMap.passthrough()), + providerId: mtMap.objectField('provider_id', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()) + }) + ) + ), + networkPolicyIds: mtMap.objectField( + 'network_policy_ids', + mtMap.array(mtMap.passthrough()) + ) +}); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/delete.ts new file mode 100644 index 00000000..b8294c95 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/delete.ts @@ -0,0 +1,89 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type FirewallsDeleteOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapFirewallsDeleteOutput = mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) +}); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/get.ts new file mode 100644 index 00000000..46e90073 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/get.ts @@ -0,0 +1,89 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type FirewallsGetOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapFirewallsGetOutput = mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) +}); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/index.ts new file mode 100644 index 00000000..fc102e8b --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/index.ts @@ -0,0 +1,6 @@ +export * from './create'; +export * from './delete'; +export * from './get'; +export * from './list'; +export * from './network-policies'; +export * from './update'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/list.ts new file mode 100644 index 00000000..2e3e44b5 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/list.ts @@ -0,0 +1,229 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type FirewallsListOutput = { + items: { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapFirewallsListOutput = mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField( + 'direction', + mtMap.passthrough() + ), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField( + 'priority', + mtMap.passthrough() + ), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField( + 'object', + mtMap.passthrough() + ), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField('has_more_before', mtMap.passthrough()), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) +}); + +export type FirewallsListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + slug?: string | string[] | undefined; + status?: + | 'active' + | 'archived' + | 'deleted' + | ('active' | 'archived' | 'deleted')[] + | undefined; + networkId?: string | string[] | undefined; + enclaveId?: string | string[] | undefined; + providerId?: string | string[] | undefined; + networkPolicyId?: string | string[] | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; + updatedAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapFirewallsListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + slug: mtMap.objectField( + 'slug', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + status: mtMap.objectField( + 'status', + mtMap.union([mtMap.unionOption('array', mtMap.union([]))]) + ), + networkId: mtMap.objectField( + 'network_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerId: mtMap.objectField( + 'provider_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + networkPolicyId: mtMap.objectField( + 'network_policy_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ), + updatedAt: mtMap.objectField( + 'updated_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/attach.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/attach.ts new file mode 100644 index 00000000..8f3a4961 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/attach.ts @@ -0,0 +1,104 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type FirewallsNetworkPoliciesAttachOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapFirewallsNetworkPoliciesAttachOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type FirewallsNetworkPoliciesAttachBody = { + networkPolicyId: string; + position?: number | undefined; +}; + +export let mapFirewallsNetworkPoliciesAttachBody = + mtMap.object({ + networkPolicyId: mtMap.objectField( + 'network_policy_id', + mtMap.passthrough() + ), + position: mtMap.objectField('position', mtMap.passthrough()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/detach.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/detach.ts new file mode 100644 index 00000000..0f9b4334 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/detach.ts @@ -0,0 +1,90 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type FirewallsNetworkPoliciesDetachOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapFirewallsNetworkPoliciesDetachOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/index.ts new file mode 100644 index 00000000..0ef1740c --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/network-policies/index.ts @@ -0,0 +1,2 @@ +export * from './attach'; +export * from './detach'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/update.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/update.ts new file mode 100644 index 00000000..6e2d1400 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/firewalls/update.ts @@ -0,0 +1,106 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type FirewallsUpdateOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapFirewallsUpdateOutput = mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) +}); + +export type FirewallsUpdateBody = { + name?: string | undefined; + description?: string | undefined; + slug?: string | undefined; + networkPolicyIds?: string[] | undefined; +}; + +export let mapFirewallsUpdateBody = mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + networkPolicyIds: mtMap.objectField( + 'network_policy_ids', + mtMap.array(mtMap.passthrough()) + ) +}); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/index.ts index b592c47c..237723fb 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/index.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/index.ts @@ -8,7 +8,10 @@ export * from './conversations'; export * from './custom-providers'; export * from './dashboard'; export * from './documents'; +export * from './enclaves'; export * from './files'; +export * from './firewall-bindings'; +export * from './firewalls'; export * from './identities'; export * from './identity-actors'; export * from './instance'; @@ -20,7 +23,10 @@ export * from './magic-mcp-servers'; export * from './magic-mcp-sessions'; export * from './magic-mcp-tokens'; export * from './management'; +export * from './network-policies'; +export * from './networks'; export * from './portals'; +export * from './provider'; export * from './provider-categories'; export * from './provider-collections'; export * from './provider-deployments'; diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/get.ts new file mode 100644 index 00000000..b7506de5 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/get.ts @@ -0,0 +1,47 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceEnclavesGetOutput = { + object: 'enclave'; + id: string; + slug: string; + name: string; + description: string | null; + networkId: string; + providerDeploymentId: string; + enclaveEnvironment: { + object: 'enclave.environment#preview'; + id: string; + name: string; + type: 'metorial' | 'outpost'; + createdAt: Date; + }; + createdAt: Date; + lastUsedAt: Date | null; +}; + +export let mapManagementInstanceEnclavesGetOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + providerDeploymentId: mtMap.objectField( + 'provider_deployment_id', + mtMap.passthrough() + ), + enclaveEnvironment: mtMap.objectField( + 'enclave_environment', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + lastUsedAt: mtMap.objectField('last_used_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/index.ts new file mode 100644 index 00000000..22b17fba --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/index.ts @@ -0,0 +1,2 @@ +export * from './get'; +export * from './list'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/list.ts new file mode 100644 index 00000000..4fc83435 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/enclaves/list.ts @@ -0,0 +1,163 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceEnclavesListOutput = { + items: { + object: 'enclave'; + id: string; + slug: string; + name: string; + description: string | null; + networkId: string; + providerDeploymentId: string; + enclaveEnvironment: { + object: 'enclave.environment#preview'; + id: string; + name: string; + type: 'metorial' | 'outpost'; + createdAt: Date; + }; + createdAt: Date; + lastUsedAt: Date | null; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapManagementInstanceEnclavesListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + providerDeploymentId: mtMap.objectField( + 'provider_deployment_id', + mtMap.passthrough() + ), + enclaveEnvironment: mtMap.objectField( + 'enclave_environment', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + lastUsedAt: mtMap.objectField('last_used_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type ManagementInstanceEnclavesListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + slug?: string | string[] | undefined; + networkId?: string | string[] | undefined; + providerDeploymentId?: string | string[] | undefined; + providerId?: string | string[] | undefined; + firewallId?: string | string[] | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapManagementInstanceEnclavesListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + slug: mtMap.objectField( + 'slug', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + networkId: mtMap.objectField( + 'network_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerDeploymentId: mtMap.objectField( + 'provider_deployment_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerId: mtMap.objectField( + 'provider_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/create.ts new file mode 100644 index 00000000..2e29d4ff --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/create.ts @@ -0,0 +1,69 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceFirewallBindingsCreateOutput = { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; +}; + +export let mapManagementInstanceFirewallBindingsCreateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }); + +export type ManagementInstanceFirewallBindingsCreateBody = { + firewallId: string; +} & { + targetType: 'enclave' | 'provider' | 'network'; + enclaveId?: string | undefined; + providerId?: string | undefined; + networkId?: string | undefined; +}; + +export let mapManagementInstanceFirewallBindingsCreateBody = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + firewallId: mtMap.objectField('firewall_id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + enclaveId: mtMap.objectField('enclave_id', mtMap.passthrough()), + providerId: mtMap.objectField('provider_id', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/delete.ts new file mode 100644 index 00000000..9009fe66 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/delete.ts @@ -0,0 +1,47 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceFirewallBindingsDeleteOutput = { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; +}; + +export let mapManagementInstanceFirewallBindingsDeleteOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/get.ts new file mode 100644 index 00000000..557f1192 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/get.ts @@ -0,0 +1,47 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceFirewallBindingsGetOutput = { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; +}; + +export let mapManagementInstanceFirewallBindingsGetOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/index.ts new file mode 100644 index 00000000..792df4a8 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/index.ts @@ -0,0 +1,4 @@ +export * from './create'; +export * from './delete'; +export * from './get'; +export * from './list'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/list.ts new file mode 100644 index 00000000..fd0253bc --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewall-bindings/list.ts @@ -0,0 +1,162 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceFirewallBindingsListOutput = { + items: { + object: 'network.firewall.binding'; + id: string; + targetType: 'enclave' | 'provider' | 'network'; + firewall: { + object: 'network.firewall#preview'; + id: string; + slug: string; + name: string; + }; + target: { + object: 'network.firewall.binding.target#preview'; + type: 'enclave' | 'provider' | 'network'; + id: string; + name: string; + } | null; + createdAt: Date; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapManagementInstanceFirewallBindingsListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + firewall: mtMap.objectField( + 'firewall', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + target: mtMap.objectField( + 'target', + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + type: mtMap.objectField('type', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()) + }) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type ManagementInstanceFirewallBindingsListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + firewallId?: string | string[] | undefined; + enclaveId?: string | string[] | undefined; + providerId?: string | string[] | undefined; + networkId?: string | string[] | undefined; + targetType?: + | 'enclave' + | 'provider' + | 'network' + | ('enclave' | 'provider' | 'network')[] + | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapManagementInstanceFirewallBindingsListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerId: mtMap.objectField( + 'provider_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + networkId: mtMap.objectField( + 'network_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + targetType: mtMap.objectField( + 'target_type', + mtMap.union([mtMap.unionOption('array', mtMap.union([]))]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/create.ts new file mode 100644 index 00000000..139d066e --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/create.ts @@ -0,0 +1,129 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceFirewallsCreateOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapManagementInstanceFirewallsCreateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type ManagementInstanceFirewallsCreateBody = { + name: string; + description?: string | undefined; + slug?: string | undefined; + networkId: string; + bindings?: + | { + targetType: 'enclave' | 'provider' | 'network'; + enclaveId?: string | undefined; + providerId?: string | undefined; + networkId?: string | undefined; + }[] + | undefined; + networkPolicyIds?: string[] | undefined; +}; + +export let mapManagementInstanceFirewallsCreateBody = + mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + bindings: mtMap.objectField( + 'bindings', + mtMap.array( + mtMap.object({ + targetType: mtMap.objectField('target_type', mtMap.passthrough()), + enclaveId: mtMap.objectField('enclave_id', mtMap.passthrough()), + providerId: mtMap.objectField('provider_id', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()) + }) + ) + ), + networkPolicyIds: mtMap.objectField( + 'network_policy_ids', + mtMap.array(mtMap.passthrough()) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/delete.ts new file mode 100644 index 00000000..f5cf7491 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/delete.ts @@ -0,0 +1,90 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceFirewallsDeleteOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapManagementInstanceFirewallsDeleteOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/get.ts new file mode 100644 index 00000000..fc2a040e --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/get.ts @@ -0,0 +1,90 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceFirewallsGetOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapManagementInstanceFirewallsGetOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/index.ts new file mode 100644 index 00000000..fc102e8b --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/index.ts @@ -0,0 +1,6 @@ +export * from './create'; +export * from './delete'; +export * from './get'; +export * from './list'; +export * from './network-policies'; +export * from './update'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/list.ts new file mode 100644 index 00000000..bc976cf7 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/list.ts @@ -0,0 +1,239 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceFirewallsListOutput = { + items: { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapManagementInstanceFirewallsListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField( + 'direction', + mtMap.passthrough() + ), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField( + 'enabled', + mtMap.passthrough() + ), + priority: mtMap.objectField( + 'priority', + mtMap.passthrough() + ), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField( + 'object', + mtMap.passthrough() + ), + from: mtMap.objectField( + 'from', + mtMap.passthrough() + ), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type ManagementInstanceFirewallsListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + slug?: string | string[] | undefined; + status?: + | 'active' + | 'archived' + | 'deleted' + | ('active' | 'archived' | 'deleted')[] + | undefined; + networkId?: string | string[] | undefined; + enclaveId?: string | string[] | undefined; + providerId?: string | string[] | undefined; + networkPolicyId?: string | string[] | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; + updatedAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapManagementInstanceFirewallsListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + slug: mtMap.objectField( + 'slug', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + status: mtMap.objectField( + 'status', + mtMap.union([mtMap.unionOption('array', mtMap.union([]))]) + ), + networkId: mtMap.objectField( + 'network_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + providerId: mtMap.objectField( + 'provider_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + networkPolicyId: mtMap.objectField( + 'network_policy_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ), + updatedAt: mtMap.objectField( + 'updated_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/attach.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/attach.ts new file mode 100644 index 00000000..fdaf3e71 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/attach.ts @@ -0,0 +1,104 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceFirewallsNetworkPoliciesAttachOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapManagementInstanceFirewallsNetworkPoliciesAttachOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type ManagementInstanceFirewallsNetworkPoliciesAttachBody = { + networkPolicyId: string; + position?: number | undefined; +}; + +export let mapManagementInstanceFirewallsNetworkPoliciesAttachBody = + mtMap.object({ + networkPolicyId: mtMap.objectField( + 'network_policy_id', + mtMap.passthrough() + ), + position: mtMap.objectField('position', mtMap.passthrough()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/detach.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/detach.ts new file mode 100644 index 00000000..59400146 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/detach.ts @@ -0,0 +1,90 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceFirewallsNetworkPoliciesDetachOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapManagementInstanceFirewallsNetworkPoliciesDetachOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/index.ts new file mode 100644 index 00000000..0ef1740c --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/network-policies/index.ts @@ -0,0 +1,2 @@ +export * from './attach'; +export * from './detach'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/update.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/update.ts new file mode 100644 index 00000000..ba538cff --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/firewalls/update.ts @@ -0,0 +1,108 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceFirewallsUpdateOutput = { + object: 'network.firewall'; + id: string; + slug: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + networkId: string; + networkPolicies: { + object: 'network.policy#preview'; + id: string; + name: string; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + }[]; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapManagementInstanceFirewallsUpdateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + networkId: mtMap.objectField('network_id', mtMap.passthrough()), + networkPolicies: mtMap.objectField( + 'network_policies', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }) + ) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type ManagementInstanceFirewallsUpdateBody = { + name?: string | undefined; + description?: string | undefined; + slug?: string | undefined; + networkPolicyIds?: string[] | undefined; +}; + +export let mapManagementInstanceFirewallsUpdateBody = + mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + slug: mtMap.objectField('slug', mtMap.passthrough()), + networkPolicyIds: mtMap.objectField( + 'network_policy_ids', + mtMap.array(mtMap.passthrough()) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/index.ts index 355cb575..03882b6e 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/index.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/index.ts @@ -6,7 +6,10 @@ export * from './consumers'; export * from './conversations'; export * from './custom-providers'; export * from './documents'; +export * from './enclaves'; export * from './files'; +export * from './firewall-bindings'; +export * from './firewalls'; export * from './identities'; export * from './identity-actors'; export * from './instance'; @@ -16,7 +19,10 @@ export * from './magic-mcp-groups'; export * from './magic-mcp-servers'; export * from './magic-mcp-sessions'; export * from './magic-mcp-tokens'; +export * from './network-policies'; +export * from './networks'; export * from './portals'; +export * from './provider'; export * from './provider-categories'; export * from './provider-collections'; export * from './provider-deployments'; diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/create.ts new file mode 100644 index 00000000..05f8b07a --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/create.ts @@ -0,0 +1,114 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceNetworkPoliciesCreateOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapManagementInstanceNetworkPoliciesCreateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type ManagementInstanceNetworkPoliciesCreateBody = { + name: string; + description?: string | undefined; + rules?: + | { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; + }[] + | undefined; +}; + +export let mapManagementInstanceNetworkPoliciesCreateBody = + mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/delete.ts new file mode 100644 index 00000000..ca284006 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/delete.ts @@ -0,0 +1,70 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceNetworkPoliciesDeleteOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapManagementInstanceNetworkPoliciesDeleteOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/get.ts new file mode 100644 index 00000000..08ab63d2 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/get.ts @@ -0,0 +1,70 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceNetworkPoliciesGetOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapManagementInstanceNetworkPoliciesGetOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/index.ts new file mode 100644 index 00000000..a1709ed6 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/index.ts @@ -0,0 +1,6 @@ +export * from './create'; +export * from './delete'; +export * from './get'; +export * from './list'; +export * from './rules'; +export * from './update'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/list.ts new file mode 100644 index 00000000..d1db5c93 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/list.ts @@ -0,0 +1,168 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceNetworkPoliciesListOutput = { + items: { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapManagementInstanceNetworkPoliciesListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type ManagementInstanceNetworkPoliciesListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + status?: + | 'active' + | 'archived' + | 'deleted' + | ('active' | 'archived' | 'deleted')[] + | undefined; + firewallId?: string | string[] | undefined; + search?: string | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; + updatedAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapManagementInstanceNetworkPoliciesListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + status: mtMap.objectField( + 'status', + mtMap.union([mtMap.unionOption('array', mtMap.union([]))]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + search: mtMap.objectField('search', mtMap.passthrough()), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ), + updatedAt: mtMap.objectField( + 'updated_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/create.ts new file mode 100644 index 00000000..95750273 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/create.ts @@ -0,0 +1,67 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceNetworkPoliciesRulesCreateOutput = { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; +}; + +export let mapManagementInstanceNetworkPoliciesRulesCreateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + +export type ManagementInstanceNetworkPoliciesRulesCreateBody = { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; +}; + +export let mapManagementInstanceNetworkPoliciesRulesCreateBody = + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/delete.ts new file mode 100644 index 00000000..addabc73 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/delete.ts @@ -0,0 +1,70 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceNetworkPoliciesRulesDeleteOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapManagementInstanceNetworkPoliciesRulesDeleteOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/index.ts new file mode 100644 index 00000000..60138fc8 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/index.ts @@ -0,0 +1,3 @@ +export * from './create'; +export * from './delete'; +export * from './update'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/update.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/update.ts new file mode 100644 index 00000000..e6dc6e08 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/rules/update.ts @@ -0,0 +1,67 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceNetworkPoliciesRulesUpdateOutput = { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; +}; + +export let mapManagementInstanceNetworkPoliciesRulesUpdateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + +export type ManagementInstanceNetworkPoliciesRulesUpdateBody = { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; +}; + +export let mapManagementInstanceNetworkPoliciesRulesUpdateBody = + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/update.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/update.ts new file mode 100644 index 00000000..f5145bf5 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/network-policies/update.ts @@ -0,0 +1,114 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceNetworkPoliciesUpdateOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapManagementInstanceNetworkPoliciesUpdateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type ManagementInstanceNetworkPoliciesUpdateBody = { + name?: string | undefined; + description?: string | undefined; + rules?: + | { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; + }[] + | undefined; +}; + +export let mapManagementInstanceNetworkPoliciesUpdateBody = + mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/get.ts new file mode 100644 index 00000000..71db790a --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/get.ts @@ -0,0 +1,42 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceNetworksGetOutput = { + object: 'network'; + id: string; + name: string; + description: string | null; + createdAt: Date; + updatedAt: Date; + publicIps: { + object: 'network.public_ip'; + id: string; + ip: string; + region: string; + createdAt: Date; + updatedAt: Date; + }[]; +}; + +export let mapManagementInstanceNetworksGetOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + publicIps: mtMap.objectField( + 'public_ips', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + ip: mtMap.objectField('ip', mtMap.passthrough()), + region: mtMap.objectField('region', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/index.ts new file mode 100644 index 00000000..e9b5d470 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/index.ts @@ -0,0 +1,3 @@ +export * from './get'; +export * from './list-network-logs'; +export * from './list'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/list-network-logs.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/list-network-logs.ts new file mode 100644 index 00000000..941fb64b --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/list-network-logs.ts @@ -0,0 +1,97 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceNetworksListNetworkLogsOutput = { + object: 'network.logs'; + direction: 'ingress' | 'egress'; + enclaveIds: string[]; + records: { + object: 'network.log'; + direction: 'ingress' | 'egress'; + enclaveId: string; + bucketStart: string; + hostname: string; + ip: string; + port: number; + count: number; + result?: 'allowed' | 'denied' | undefined; + firstSeenAt: string; + lastSeenAt: string; + }[]; +}; + +export let mapManagementInstanceNetworksListNetworkLogsOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + enclaveIds: mtMap.objectField( + 'enclave_ids', + mtMap.array(mtMap.passthrough()) + ), + records: mtMap.objectField( + 'records', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + enclaveId: mtMap.objectField('enclave_id', mtMap.passthrough()), + bucketStart: mtMap.objectField('bucket_start', mtMap.passthrough()), + hostname: mtMap.objectField('hostname', mtMap.passthrough()), + ip: mtMap.objectField('ip', mtMap.passthrough()), + port: mtMap.objectField('port', mtMap.passthrough()), + count: mtMap.objectField('count', mtMap.passthrough()), + result: mtMap.objectField('result', mtMap.passthrough()), + firstSeenAt: mtMap.objectField('first_seen_at', mtMap.passthrough()), + lastSeenAt: mtMap.objectField('last_seen_at', mtMap.passthrough()) + }) + ) + ) + }); + +export type ManagementInstanceNetworksListNetworkLogsQuery = { + direction: 'ingress' | 'egress'; + enclaveId?: string | string[] | undefined; + hostname?: string | string[] | undefined; + ip?: string | string[] | undefined; + from?: string | undefined; + to?: string | undefined; + intervalMinutes?: number | undefined; +}; + +export let mapManagementInstanceNetworksListNetworkLogsQuery = + mtMap.object({ + direction: mtMap.objectField('direction', mtMap.passthrough()), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + hostname: mtMap.objectField( + 'hostname', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + ip: mtMap.objectField( + 'ip', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()), + intervalMinutes: mtMap.objectField('interval_minutes', mtMap.passthrough()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/list.ts new file mode 100644 index 00000000..410c34d9 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/networks/list.ts @@ -0,0 +1,133 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ManagementInstanceNetworksListOutput = { + items: { + object: 'network'; + id: string; + name: string; + description: string | null; + createdAt: Date; + updatedAt: Date; + publicIps: { + object: 'network.public_ip'; + id: string; + ip: string; + region: string; + createdAt: Date; + updatedAt: Date; + }[]; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapManagementInstanceNetworksListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + publicIps: mtMap.objectField( + 'public_ips', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + ip: mtMap.objectField('ip', mtMap.passthrough()), + region: mtMap.objectField('region', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()) + }) + ) + ) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type ManagementInstanceNetworksListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + firewallId?: string | string[] | undefined; + enclaveId?: string | string[] | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; + updatedAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapManagementInstanceNetworksListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ), + updatedAt: mtMap.objectField( + 'updated_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider-templates/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider-templates/create.ts index 9cdc6aa8..2ed685b9 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider-templates/create.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider-templates/create.ts @@ -29,17 +29,20 @@ export type ManagementInstanceProviderTemplatesCreateBody = { name: string; description?: string | undefined; metadata?: Record | undefined; - providers: { - providerId: string; - providerDeploymentId?: string | null | undefined; - providerAuthMethodId?: string | null | undefined; - providerAuthCredentialsId?: string | null | undefined; - providerConfigId?: string | null | undefined; - name?: string | undefined; - description?: string | null | undefined; - metadata?: Record | null | undefined; - toolFilters?: any | undefined; - }[]; + providers?: + | { + providerId: string; + providerDeploymentId?: string | null | undefined; + providerAuthMethodId?: string | null | undefined; + providerAuthCredentialsId?: string | null | undefined; + providerConfigId?: string | null | undefined; + name?: string | undefined; + description?: string | null | undefined; + metadata?: Record | null | undefined; + toolFilters?: any | undefined; + }[] + | undefined; + integrationId?: string | undefined; }; export let mapManagementInstanceProviderTemplatesCreateBody = @@ -74,6 +77,7 @@ export let mapManagementInstanceProviderTemplatesCreateBody = toolFilters: mtMap.objectField('tool_filters', mtMap.passthrough()) }) ) - ) + ), + integrationId: mtMap.objectField('integration_id', mtMap.passthrough()) }); diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/index.ts new file mode 100644 index 00000000..ea6180b3 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/index.ts @@ -0,0 +1 @@ +export * from './tools'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/tools/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/tools/get.ts similarity index 92% rename from sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/tools/get.ts rename to sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/tools/get.ts index f0c793cf..6b6056ea 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/tools/get.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/tools/get.ts @@ -1,6 +1,6 @@ import { mtMap } from '@metorial/util-resource-mapper'; -export type ManagementInstanceProvidersToolsGetOutput = { +export type ManagementInstanceProviderToolsGetOutput = { object: 'provider.tool'; id: string; key: string; @@ -18,8 +18,8 @@ export type ManagementInstanceProvidersToolsGetOutput = { updatedAt: Date; }; -export let mapManagementInstanceProvidersToolsGetOutput = - mtMap.object({ +export let mapManagementInstanceProviderToolsGetOutput = + mtMap.object({ object: mtMap.objectField('object', mtMap.passthrough()), id: mtMap.objectField('id', mtMap.passthrough()), key: mtMap.objectField('key', mtMap.passthrough()), diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/tools/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/tools/index.ts new file mode 100644 index 00000000..22b17fba --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/tools/index.ts @@ -0,0 +1,2 @@ +export * from './get'; +export * from './list'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/tools/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/tools/list.ts similarity index 92% rename from sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/tools/list.ts rename to sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/tools/list.ts index 55c4022b..39fc7611 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/dashboard/instance/providers/tools/list.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/provider/tools/list.ts @@ -1,6 +1,6 @@ import { mtMap } from '@metorial/util-resource-mapper'; -export type DashboardInstanceProvidersToolsListOutput = { +export type ManagementInstanceProviderToolsListOutput = { items: { object: 'provider.tool'; id: string; @@ -21,8 +21,8 @@ export type DashboardInstanceProvidersToolsListOutput = { pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; }; -export let mapDashboardInstanceProvidersToolsListOutput = - mtMap.object({ +export let mapManagementInstanceProviderToolsListOutput = + mtMap.object({ items: mtMap.objectField( 'items', mtMap.array( @@ -87,7 +87,7 @@ export let mapDashboardInstanceProvidersToolsListOutput = ) }); -export type DashboardInstanceProvidersToolsListQuery = { +export type ManagementInstanceProviderToolsListQuery = { limit?: number | undefined; after?: string | undefined; before?: string | undefined; @@ -95,7 +95,7 @@ export type DashboardInstanceProvidersToolsListQuery = { order?: 'asc' | 'desc' | undefined; } & { providerVersionId: string }; -export let mapDashboardInstanceProvidersToolsListQuery = mtMap.union([ +export let mapManagementInstanceProviderToolsListQuery = mtMap.union([ mtMap.unionOption( 'object', mtMap.object({ diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/index.ts index 30304945..5b37c611 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/index.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/index.ts @@ -2,6 +2,5 @@ export * from './auth-methods'; export * from './get'; export * from './list'; export * from './specifications'; -export * from './tools'; export * from './triggers'; export * from './versions'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/tools/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/tools/list.ts deleted file mode 100644 index 9a010bf9..00000000 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/management/instance/providers/tools/list.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { mtMap } from '@metorial/util-resource-mapper'; - -export type ManagementInstanceProvidersToolsListOutput = { - items: { - object: 'provider.tool'; - id: string; - key: string; - name: string; - description: string | null; - capabilities: Record; - constraints: string[]; - instructions: string[]; - inputSchema: { type: 'json_schema'; schema: Record } | null; - outputSchema: { type: 'json_schema'; schema: Record } | null; - tags: { destructive: boolean | null; readOnly: boolean | null } | null; - specificationId: string; - providerId: string; - createdAt: Date; - updatedAt: Date; - }[]; - pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; -}; - -export let mapManagementInstanceProvidersToolsListOutput = - mtMap.object({ - items: mtMap.objectField( - 'items', - mtMap.array( - mtMap.object({ - object: mtMap.objectField('object', mtMap.passthrough()), - id: mtMap.objectField('id', mtMap.passthrough()), - key: mtMap.objectField('key', mtMap.passthrough()), - name: mtMap.objectField('name', mtMap.passthrough()), - description: mtMap.objectField('description', mtMap.passthrough()), - capabilities: mtMap.objectField('capabilities', mtMap.passthrough()), - constraints: mtMap.objectField( - 'constraints', - mtMap.array(mtMap.passthrough()) - ), - instructions: mtMap.objectField( - 'instructions', - mtMap.array(mtMap.passthrough()) - ), - inputSchema: mtMap.objectField( - 'input_schema', - mtMap.object({ - type: mtMap.objectField('type', mtMap.passthrough()), - schema: mtMap.objectField('schema', mtMap.passthrough()) - }) - ), - outputSchema: mtMap.objectField( - 'output_schema', - mtMap.object({ - type: mtMap.objectField('type', mtMap.passthrough()), - schema: mtMap.objectField('schema', mtMap.passthrough()) - }) - ), - tags: mtMap.objectField( - 'tags', - mtMap.object({ - destructive: mtMap.objectField( - 'destructive', - mtMap.passthrough() - ), - readOnly: mtMap.objectField('read_only', mtMap.passthrough()) - }) - ), - specificationId: mtMap.objectField( - 'specification_id', - mtMap.passthrough() - ), - providerId: mtMap.objectField('provider_id', mtMap.passthrough()), - createdAt: mtMap.objectField('created_at', mtMap.date()), - updatedAt: mtMap.objectField('updated_at', mtMap.date()) - }) - ) - ), - pagination: mtMap.objectField( - 'pagination', - mtMap.object({ - hasMoreBefore: mtMap.objectField( - 'has_more_before', - mtMap.passthrough() - ), - hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) - }) - ) - }); - -export type ManagementInstanceProvidersToolsListQuery = { - limit?: number | undefined; - after?: string | undefined; - before?: string | undefined; - cursor?: string | undefined; - order?: 'asc' | 'desc' | undefined; -} & { providerVersionId: string }; - -export let mapManagementInstanceProvidersToolsListQuery = mtMap.union([ - mtMap.unionOption( - 'object', - mtMap.object({ - limit: mtMap.objectField('limit', mtMap.passthrough()), - after: mtMap.objectField('after', mtMap.passthrough()), - before: mtMap.objectField('before', mtMap.passthrough()), - cursor: mtMap.objectField('cursor', mtMap.passthrough()), - order: mtMap.objectField('order', mtMap.passthrough()), - providerVersionId: mtMap.objectField( - 'provider_version_id', - mtMap.passthrough() - ) - }) - ) -]); - diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/create.ts new file mode 100644 index 00000000..b38c4a2e --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/create.ts @@ -0,0 +1,114 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type NetworkPoliciesCreateOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapNetworkPoliciesCreateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type NetworkPoliciesCreateBody = { + name: string; + description?: string | undefined; + rules?: + | { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; + }[] + | undefined; +}; + +export let mapNetworkPoliciesCreateBody = + mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/delete.ts new file mode 100644 index 00000000..56493e8b --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/delete.ts @@ -0,0 +1,70 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type NetworkPoliciesDeleteOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapNetworkPoliciesDeleteOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/get.ts new file mode 100644 index 00000000..db6f564d --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/get.ts @@ -0,0 +1,71 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type NetworkPoliciesGetOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapNetworkPoliciesGetOutput = mtMap.object( + { + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + } +); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/index.ts new file mode 100644 index 00000000..a1709ed6 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/index.ts @@ -0,0 +1,6 @@ +export * from './create'; +export * from './delete'; +export * from './get'; +export * from './list'; +export * from './rules'; +export * from './update'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/list.ts new file mode 100644 index 00000000..5f343355 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/list.ts @@ -0,0 +1,168 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type NetworkPoliciesListOutput = { + items: { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapNetworkPoliciesListOutput = + mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField( + 'cidrs', + mtMap.array(mtMap.passthrough()) + ), + description: mtMap.objectField( + 'description', + mtMap.passthrough() + ), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField( + 'has_more_before', + mtMap.passthrough() + ), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) + }); + +export type NetworkPoliciesListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + status?: + | 'active' + | 'archived' + | 'deleted' + | ('active' | 'archived' | 'deleted')[] + | undefined; + firewallId?: string | string[] | undefined; + search?: string | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; + updatedAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapNetworkPoliciesListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + status: mtMap.objectField( + 'status', + mtMap.union([mtMap.unionOption('array', mtMap.union([]))]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + search: mtMap.objectField('search', mtMap.passthrough()), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ), + updatedAt: mtMap.objectField( + 'updated_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/create.ts new file mode 100644 index 00000000..08529b81 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/create.ts @@ -0,0 +1,67 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type NetworkPoliciesRulesCreateOutput = { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; +}; + +export let mapNetworkPoliciesRulesCreateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + +export type NetworkPoliciesRulesCreateBody = { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; +}; + +export let mapNetworkPoliciesRulesCreateBody = + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/delete.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/delete.ts new file mode 100644 index 00000000..31298c59 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/delete.ts @@ -0,0 +1,70 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type NetworkPoliciesRulesDeleteOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapNetworkPoliciesRulesDeleteOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/index.ts new file mode 100644 index 00000000..60138fc8 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/index.ts @@ -0,0 +1,3 @@ +export * from './create'; +export * from './delete'; +export * from './update'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/update.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/update.ts new file mode 100644 index 00000000..04fd0019 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/rules/update.ts @@ -0,0 +1,67 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type NetworkPoliciesRulesUpdateOutput = { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; +}; + +export let mapNetworkPoliciesRulesUpdateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + +export type NetworkPoliciesRulesUpdateBody = { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; +}; + +export let mapNetworkPoliciesRulesUpdateBody = + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/update.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/update.ts new file mode 100644 index 00000000..d6ba7da5 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/network-policies/update.ts @@ -0,0 +1,114 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type NetworkPoliciesUpdateOutput = { + object: 'network.policy'; + id: string; + name: string; + description: string | null; + status: 'active' | 'archived' | 'deleted'; + version: number; + rules: { + object: 'network.policy.rule'; + id: string; + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description: string | null; + enabled: boolean; + priority: number; + ports: + | { object: 'network.policy.port_range'; from: number; to: number }[] + | null; + }[]; + firewallIds: string[] | null; + createdAt: Date; + updatedAt: Date; + archivedAt: Date | null; +}; + +export let mapNetworkPoliciesUpdateOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + status: mtMap.objectField('status', mtMap.passthrough()), + version: mtMap.objectField('version', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ), + firewallIds: mtMap.objectField( + 'firewall_ids', + mtMap.array(mtMap.passthrough()) + ), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + archivedAt: mtMap.objectField('archived_at', mtMap.date()) + }); + +export type NetworkPoliciesUpdateBody = { + name?: string | undefined; + description?: string | undefined; + rules?: + | { + effect: 'allow' | 'deny'; + direction: 'ingress' | 'egress'; + cidrs: string[]; + description?: string | undefined; + enabled: boolean; + priority: number; + ports?: { from: number; to: number }[] | undefined; + }[] + | undefined; +}; + +export let mapNetworkPoliciesUpdateBody = + mtMap.object({ + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + rules: mtMap.objectField( + 'rules', + mtMap.array( + mtMap.object({ + effect: mtMap.objectField('effect', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + cidrs: mtMap.objectField('cidrs', mtMap.array(mtMap.passthrough())), + description: mtMap.objectField('description', mtMap.passthrough()), + enabled: mtMap.objectField('enabled', mtMap.passthrough()), + priority: mtMap.objectField('priority', mtMap.passthrough()), + ports: mtMap.objectField( + 'ports', + mtMap.array( + mtMap.object({ + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()) + }) + ) + ) + }) + ) + ) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/get.ts new file mode 100644 index 00000000..8df1bcb4 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/get.ts @@ -0,0 +1,41 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type NetworksGetOutput = { + object: 'network'; + id: string; + name: string; + description: string | null; + createdAt: Date; + updatedAt: Date; + publicIps: { + object: 'network.public_ip'; + id: string; + ip: string; + region: string; + createdAt: Date; + updatedAt: Date; + }[]; +}; + +export let mapNetworksGetOutput = mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + publicIps: mtMap.objectField( + 'public_ips', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + ip: mtMap.objectField('ip', mtMap.passthrough()), + region: mtMap.objectField('region', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()) + }) + ) + ) +}); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/index.ts new file mode 100644 index 00000000..e9b5d470 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/index.ts @@ -0,0 +1,3 @@ +export * from './get'; +export * from './list-network-logs'; +export * from './list'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/list-network-logs.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/list-network-logs.ts new file mode 100644 index 00000000..b10e60da --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/list-network-logs.ts @@ -0,0 +1,97 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type NetworksListNetworkLogsOutput = { + object: 'network.logs'; + direction: 'ingress' | 'egress'; + enclaveIds: string[]; + records: { + object: 'network.log'; + direction: 'ingress' | 'egress'; + enclaveId: string; + bucketStart: string; + hostname: string; + ip: string; + port: number; + count: number; + result?: 'allowed' | 'denied' | undefined; + firstSeenAt: string; + lastSeenAt: string; + }[]; +}; + +export let mapNetworksListNetworkLogsOutput = + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + enclaveIds: mtMap.objectField( + 'enclave_ids', + mtMap.array(mtMap.passthrough()) + ), + records: mtMap.objectField( + 'records', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + direction: mtMap.objectField('direction', mtMap.passthrough()), + enclaveId: mtMap.objectField('enclave_id', mtMap.passthrough()), + bucketStart: mtMap.objectField('bucket_start', mtMap.passthrough()), + hostname: mtMap.objectField('hostname', mtMap.passthrough()), + ip: mtMap.objectField('ip', mtMap.passthrough()), + port: mtMap.objectField('port', mtMap.passthrough()), + count: mtMap.objectField('count', mtMap.passthrough()), + result: mtMap.objectField('result', mtMap.passthrough()), + firstSeenAt: mtMap.objectField('first_seen_at', mtMap.passthrough()), + lastSeenAt: mtMap.objectField('last_seen_at', mtMap.passthrough()) + }) + ) + ) + }); + +export type NetworksListNetworkLogsQuery = { + direction: 'ingress' | 'egress'; + enclaveId?: string | string[] | undefined; + hostname?: string | string[] | undefined; + ip?: string | string[] | undefined; + from?: string | undefined; + to?: string | undefined; + intervalMinutes?: number | undefined; +}; + +export let mapNetworksListNetworkLogsQuery = + mtMap.object({ + direction: mtMap.objectField('direction', mtMap.passthrough()), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + hostname: mtMap.objectField( + 'hostname', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + ip: mtMap.objectField( + 'ip', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + from: mtMap.objectField('from', mtMap.passthrough()), + to: mtMap.objectField('to', mtMap.passthrough()), + intervalMinutes: mtMap.objectField('interval_minutes', mtMap.passthrough()) + }); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/list.ts new file mode 100644 index 00000000..e11108bb --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/networks/list.ts @@ -0,0 +1,129 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type NetworksListOutput = { + items: { + object: 'network'; + id: string; + name: string; + description: string | null; + createdAt: Date; + updatedAt: Date; + publicIps: { + object: 'network.public_ip'; + id: string; + ip: string; + region: string; + createdAt: Date; + updatedAt: Date; + }[]; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapNetworksListOutput = mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()), + publicIps: mtMap.objectField( + 'public_ips', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + ip: mtMap.objectField('ip', mtMap.passthrough()), + region: mtMap.objectField('region', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()) + }) + ) + ) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField('has_more_before', mtMap.passthrough()), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) +}); + +export type NetworksListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { + id?: string | string[] | undefined; + firewallId?: string | string[] | undefined; + enclaveId?: string | string[] | undefined; + createdAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; + updatedAt?: { gt?: Date | undefined; lt?: Date | undefined } | undefined; +}; + +export let mapNetworksListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + id: mtMap.objectField( + 'id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + firewallId: mtMap.objectField( + 'firewall_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + enclaveId: mtMap.objectField( + 'enclave_id', + mtMap.union([ + mtMap.unionOption('string', mtMap.passthrough()), + mtMap.unionOption( + 'array', + mtMap.union([mtMap.unionOption('string', mtMap.passthrough())]) + ) + ]) + ), + createdAt: mtMap.objectField( + 'created_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ), + updatedAt: mtMap.objectField( + 'updated_at', + mtMap.object({ + gt: mtMap.objectField('gt', mtMap.date()), + lt: mtMap.objectField('lt', mtMap.date()) + }) + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider-templates/create.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider-templates/create.ts index 0770f84a..cfb6157c 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider-templates/create.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider-templates/create.ts @@ -29,17 +29,20 @@ export type ProviderTemplatesCreateBody = { name: string; description?: string | undefined; metadata?: Record | undefined; - providers: { - providerId: string; - providerDeploymentId?: string | null | undefined; - providerAuthMethodId?: string | null | undefined; - providerAuthCredentialsId?: string | null | undefined; - providerConfigId?: string | null | undefined; - name?: string | undefined; - description?: string | null | undefined; - metadata?: Record | null | undefined; - toolFilters?: any | undefined; - }[]; + providers?: + | { + providerId: string; + providerDeploymentId?: string | null | undefined; + providerAuthMethodId?: string | null | undefined; + providerAuthCredentialsId?: string | null | undefined; + providerConfigId?: string | null | undefined; + name?: string | undefined; + description?: string | null | undefined; + metadata?: Record | null | undefined; + toolFilters?: any | undefined; + }[] + | undefined; + integrationId?: string | undefined; }; export let mapProviderTemplatesCreateBody = @@ -74,6 +77,7 @@ export let mapProviderTemplatesCreateBody = toolFilters: mtMap.objectField('tool_filters', mtMap.passthrough()) }) ) - ) + ), + integrationId: mtMap.objectField('integration_id', mtMap.passthrough()) }); diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/index.ts new file mode 100644 index 00000000..ea6180b3 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/index.ts @@ -0,0 +1 @@ +export * from './tools'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/tools/get.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/tools/get.ts similarity index 94% rename from sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/tools/get.ts rename to sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/tools/get.ts index ab36b1cd..c4286157 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/tools/get.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/tools/get.ts @@ -1,6 +1,6 @@ import { mtMap } from '@metorial/util-resource-mapper'; -export type ProvidersToolsGetOutput = { +export type ProviderToolsGetOutput = { object: 'provider.tool'; id: string; key: string; @@ -18,7 +18,7 @@ export type ProvidersToolsGetOutput = { updatedAt: Date; }; -export let mapProvidersToolsGetOutput = mtMap.object({ +export let mapProviderToolsGetOutput = mtMap.object({ object: mtMap.objectField('object', mtMap.passthrough()), id: mtMap.objectField('id', mtMap.passthrough()), key: mtMap.objectField('key', mtMap.passthrough()), diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/tools/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/tools/index.ts new file mode 100644 index 00000000..22b17fba --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/tools/index.ts @@ -0,0 +1,2 @@ +export * from './get'; +export * from './list'; \ No newline at end of file diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/tools/list.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/tools/list.ts new file mode 100644 index 00000000..a0d33876 --- /dev/null +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/provider/tools/list.ts @@ -0,0 +1,107 @@ +import { mtMap } from '@metorial/util-resource-mapper'; + +export type ProviderToolsListOutput = { + items: { + object: 'provider.tool'; + id: string; + key: string; + name: string; + description: string | null; + capabilities: Record; + constraints: string[]; + instructions: string[]; + inputSchema: { type: 'json_schema'; schema: Record } | null; + outputSchema: { type: 'json_schema'; schema: Record } | null; + tags: { destructive: boolean | null; readOnly: boolean | null } | null; + specificationId: string; + providerId: string; + createdAt: Date; + updatedAt: Date; + }[]; + pagination: { hasMoreBefore: boolean; hasMoreAfter: boolean }; +}; + +export let mapProviderToolsListOutput = mtMap.object({ + items: mtMap.objectField( + 'items', + mtMap.array( + mtMap.object({ + object: mtMap.objectField('object', mtMap.passthrough()), + id: mtMap.objectField('id', mtMap.passthrough()), + key: mtMap.objectField('key', mtMap.passthrough()), + name: mtMap.objectField('name', mtMap.passthrough()), + description: mtMap.objectField('description', mtMap.passthrough()), + capabilities: mtMap.objectField('capabilities', mtMap.passthrough()), + constraints: mtMap.objectField( + 'constraints', + mtMap.array(mtMap.passthrough()) + ), + instructions: mtMap.objectField( + 'instructions', + mtMap.array(mtMap.passthrough()) + ), + inputSchema: mtMap.objectField( + 'input_schema', + mtMap.object({ + type: mtMap.objectField('type', mtMap.passthrough()), + schema: mtMap.objectField('schema', mtMap.passthrough()) + }) + ), + outputSchema: mtMap.objectField( + 'output_schema', + mtMap.object({ + type: mtMap.objectField('type', mtMap.passthrough()), + schema: mtMap.objectField('schema', mtMap.passthrough()) + }) + ), + tags: mtMap.objectField( + 'tags', + mtMap.object({ + destructive: mtMap.objectField('destructive', mtMap.passthrough()), + readOnly: mtMap.objectField('read_only', mtMap.passthrough()) + }) + ), + specificationId: mtMap.objectField( + 'specification_id', + mtMap.passthrough() + ), + providerId: mtMap.objectField('provider_id', mtMap.passthrough()), + createdAt: mtMap.objectField('created_at', mtMap.date()), + updatedAt: mtMap.objectField('updated_at', mtMap.date()) + }) + ) + ), + pagination: mtMap.objectField( + 'pagination', + mtMap.object({ + hasMoreBefore: mtMap.objectField('has_more_before', mtMap.passthrough()), + hasMoreAfter: mtMap.objectField('has_more_after', mtMap.passthrough()) + }) + ) +}); + +export type ProviderToolsListQuery = { + limit?: number | undefined; + after?: string | undefined; + before?: string | undefined; + cursor?: string | undefined; + order?: 'asc' | 'desc' | undefined; +} & { providerVersionId: string }; + +export let mapProviderToolsListQuery = mtMap.union([ + mtMap.unionOption( + 'object', + mtMap.object({ + limit: mtMap.objectField('limit', mtMap.passthrough()), + after: mtMap.objectField('after', mtMap.passthrough()), + before: mtMap.objectField('before', mtMap.passthrough()), + cursor: mtMap.objectField('cursor', mtMap.passthrough()), + order: mtMap.objectField('order', mtMap.passthrough()), + providerVersionId: mtMap.objectField( + 'provider_version_id', + mtMap.passthrough() + ) + }) + ) +]); + diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/index.ts b/sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/index.ts index 30304945..5b37c611 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/index.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/resources/providers/index.ts @@ -2,6 +2,5 @@ export * from './auth-methods'; export * from './get'; export * from './list'; export * from './specifications'; -export * from './tools'; export * from './triggers'; export * from './versions'; \ No newline at end of file From 3401375ce4a72ffa9f1a36598f04a73fc3fb6632 Mon Sep 17 00:00:00 2001 From: Tobias Herber <22559657+herber@users.noreply.github.com> Date: Thu, 4 Jun 2026 15:35:31 +0200 Subject: [PATCH 2/2] Fix skill template names --- .../endpoints/dashboard_instance_skills_templates.ts | 10 +++++----- .../dashboard_instance_skills_templates_items.ts | 8 ++++---- .../endpoints/management_instance_skills_templates.ts | 10 +++++----- .../management_instance_skills_templates_items.ts | 8 ++++---- .../endpoints/skills_templates.ts | 10 +++++----- .../endpoints/skills_templates_items.ts | 8 ++++---- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates.ts index a4a73700..2cd166fe 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates.ts @@ -65,7 +65,7 @@ export class MetorialDashboardInstanceSkillsTemplatesEndpoint { query?: DashboardInstanceSkillsTemplatesListQuery, opts?: { headers?: Record } ): Promise { - let path = `dashboard/instances/${instanceId}/skill-template`; + let path = `dashboard/instances/${instanceId}/skill-templates`; let request = { path, @@ -97,7 +97,7 @@ export class MetorialDashboardInstanceSkillsTemplatesEndpoint { skillTemplateId: string, opts?: { headers?: Record } ): Promise { - let path = `dashboard/instances/${instanceId}/skill-template/${skillTemplateId}`; + let path = `dashboard/instances/${instanceId}/skill-templates/${skillTemplateId}`; let request = { path, @@ -126,7 +126,7 @@ export class MetorialDashboardInstanceSkillsTemplatesEndpoint { body: DashboardInstanceSkillsTemplatesCreateBody, opts?: { headers?: Record } ): Promise { - let path = `dashboard/instances/${instanceId}/skill-template`; + let path = `dashboard/instances/${instanceId}/skill-templates`; let request = { path, @@ -158,7 +158,7 @@ export class MetorialDashboardInstanceSkillsTemplatesEndpoint { body: DashboardInstanceSkillsTemplatesUpdateBody, opts?: { headers?: Record } ): Promise { - let path = `dashboard/instances/${instanceId}/skill-template/${skillTemplateId}`; + let path = `dashboard/instances/${instanceId}/skill-templates/${skillTemplateId}`; let request = { path, @@ -188,7 +188,7 @@ export class MetorialDashboardInstanceSkillsTemplatesEndpoint { skillTemplateId: string, opts?: { headers?: Record } ): Promise { - let path = `dashboard/instances/${instanceId}/skill-template/${skillTemplateId}`; + let path = `dashboard/instances/${instanceId}/skill-templates/${skillTemplateId}`; let request = { path, diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates_items.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates_items.ts index 87f6e751..4ff86e4d 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates_items.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_skills_templates_items.ts @@ -63,7 +63,7 @@ export class MetorialDashboardInstanceSkillsTemplatesItemsEndpoint { query?: DashboardInstanceSkillsTemplatesItemsListQuery, opts?: { headers?: Record } ): Promise { - let path = `dashboard/instances/${instanceId}/skill-template/${skillTemplateId}/items`; + let path = `dashboard/instances/${instanceId}/skill-templates/${skillTemplateId}/items`; let request = { path, @@ -97,7 +97,7 @@ export class MetorialDashboardInstanceSkillsTemplatesItemsEndpoint { skillTemplateItemId: string, opts?: { headers?: Record } ): Promise { - let path = `dashboard/instances/${instanceId}/skill-template/${skillTemplateId}/items/${skillTemplateItemId}`; + let path = `dashboard/instances/${instanceId}/skill-templates/${skillTemplateId}/items/${skillTemplateItemId}`; let request = { path, @@ -128,7 +128,7 @@ export class MetorialDashboardInstanceSkillsTemplatesItemsEndpoint { body: DashboardInstanceSkillsTemplatesItemsCreateBody, opts?: { headers?: Record } ): Promise { - let path = `dashboard/instances/${instanceId}/skill-template/${skillTemplateId}/items`; + let path = `dashboard/instances/${instanceId}/skill-templates/${skillTemplateId}/items`; let request = { path, @@ -162,7 +162,7 @@ export class MetorialDashboardInstanceSkillsTemplatesItemsEndpoint { skillTemplateItemId: string, opts?: { headers?: Record } ): Promise { - let path = `dashboard/instances/${instanceId}/skill-template/${skillTemplateId}/items/${skillTemplateItemId}`; + let path = `dashboard/instances/${instanceId}/skill-templates/${skillTemplateId}/items/${skillTemplateItemId}`; let request = { path, diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates.ts index 03c765de..7d71eee8 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates.ts @@ -65,7 +65,7 @@ export class MetorialManagementInstanceSkillsTemplatesEndpoint { query?: DashboardInstanceSkillsTemplatesListQuery, opts?: { headers?: Record } ): Promise { - let path = `instances/${instanceId}/skill-template`; + let path = `instances/${instanceId}/skill-templates`; let request = { path, @@ -97,7 +97,7 @@ export class MetorialManagementInstanceSkillsTemplatesEndpoint { skillTemplateId: string, opts?: { headers?: Record } ): Promise { - let path = `instances/${instanceId}/skill-template/${skillTemplateId}`; + let path = `instances/${instanceId}/skill-templates/${skillTemplateId}`; let request = { path, @@ -126,7 +126,7 @@ export class MetorialManagementInstanceSkillsTemplatesEndpoint { body: DashboardInstanceSkillsTemplatesCreateBody, opts?: { headers?: Record } ): Promise { - let path = `instances/${instanceId}/skill-template`; + let path = `instances/${instanceId}/skill-templates`; let request = { path, @@ -158,7 +158,7 @@ export class MetorialManagementInstanceSkillsTemplatesEndpoint { body: DashboardInstanceSkillsTemplatesUpdateBody, opts?: { headers?: Record } ): Promise { - let path = `instances/${instanceId}/skill-template/${skillTemplateId}`; + let path = `instances/${instanceId}/skill-templates/${skillTemplateId}`; let request = { path, @@ -188,7 +188,7 @@ export class MetorialManagementInstanceSkillsTemplatesEndpoint { skillTemplateId: string, opts?: { headers?: Record } ): Promise { - let path = `instances/${instanceId}/skill-template/${skillTemplateId}`; + let path = `instances/${instanceId}/skill-templates/${skillTemplateId}`; let request = { path, diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates_items.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates_items.ts index e772e438..51cc8cb2 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates_items.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/management_instance_skills_templates_items.ts @@ -63,7 +63,7 @@ export class MetorialManagementInstanceSkillsTemplatesItemsEndpoint { query?: DashboardInstanceSkillsTemplatesItemsListQuery, opts?: { headers?: Record } ): Promise { - let path = `instances/${instanceId}/skill-template/${skillTemplateId}/items`; + let path = `instances/${instanceId}/skill-templates/${skillTemplateId}/items`; let request = { path, @@ -97,7 +97,7 @@ export class MetorialManagementInstanceSkillsTemplatesItemsEndpoint { skillTemplateItemId: string, opts?: { headers?: Record } ): Promise { - let path = `instances/${instanceId}/skill-template/${skillTemplateId}/items/${skillTemplateItemId}`; + let path = `instances/${instanceId}/skill-templates/${skillTemplateId}/items/${skillTemplateItemId}`; let request = { path, @@ -128,7 +128,7 @@ export class MetorialManagementInstanceSkillsTemplatesItemsEndpoint { body: DashboardInstanceSkillsTemplatesItemsCreateBody, opts?: { headers?: Record } ): Promise { - let path = `instances/${instanceId}/skill-template/${skillTemplateId}/items`; + let path = `instances/${instanceId}/skill-templates/${skillTemplateId}/items`; let request = { path, @@ -162,7 +162,7 @@ export class MetorialManagementInstanceSkillsTemplatesItemsEndpoint { skillTemplateItemId: string, opts?: { headers?: Record } ): Promise { - let path = `instances/${instanceId}/skill-template/${skillTemplateId}/items/${skillTemplateItemId}`; + let path = `instances/${instanceId}/skill-templates/${skillTemplateId}/items/${skillTemplateItemId}`; let request = { path, diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/skills_templates.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/skills_templates.ts index 414d709d..bb0762d5 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/skills_templates.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/skills_templates.ts @@ -63,7 +63,7 @@ export class MetorialSkillsTemplatesEndpoint { query?: DashboardInstanceSkillsTemplatesListQuery, opts?: { headers?: Record } ): Promise { - let path = 'skill-template'; + let path = 'skill-templates'; let request = { path, @@ -93,7 +93,7 @@ export class MetorialSkillsTemplatesEndpoint { skillTemplateId: string, opts?: { headers?: Record } ): Promise { - let path = `skill-template/${skillTemplateId}`; + let path = `skill-templates/${skillTemplateId}`; let request = { path, @@ -120,7 +120,7 @@ export class MetorialSkillsTemplatesEndpoint { body: DashboardInstanceSkillsTemplatesCreateBody, opts?: { headers?: Record } ): Promise { - let path = 'skill-template'; + let path = 'skill-templates'; let request = { path, @@ -150,7 +150,7 @@ export class MetorialSkillsTemplatesEndpoint { body: DashboardInstanceSkillsTemplatesUpdateBody, opts?: { headers?: Record } ): Promise { - let path = `skill-template/${skillTemplateId}`; + let path = `skill-templates/${skillTemplateId}`; let request = { path, @@ -178,7 +178,7 @@ export class MetorialSkillsTemplatesEndpoint { skillTemplateId: string, opts?: { headers?: Record } ): Promise { - let path = `skill-template/${skillTemplateId}`; + let path = `skill-templates/${skillTemplateId}`; let request = { path, diff --git a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/skills_templates_items.ts b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/skills_templates_items.ts index cb9a5d4c..a6049be5 100644 --- a/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/skills_templates_items.ts +++ b/sdk/gen/src/mt_2026_01_01_magnetar/endpoints/skills_templates_items.ts @@ -61,7 +61,7 @@ export class MetorialSkillsTemplatesItemsEndpoint { query?: DashboardInstanceSkillsTemplatesItemsListQuery, opts?: { headers?: Record } ): Promise { - let path = `skill-template/${skillTemplateId}/items`; + let path = `skill-templates/${skillTemplateId}/items`; let request = { path, @@ -93,7 +93,7 @@ export class MetorialSkillsTemplatesItemsEndpoint { skillTemplateItemId: string, opts?: { headers?: Record } ): Promise { - let path = `skill-template/${skillTemplateId}/items/${skillTemplateItemId}`; + let path = `skill-templates/${skillTemplateId}/items/${skillTemplateItemId}`; let request = { path, @@ -122,7 +122,7 @@ export class MetorialSkillsTemplatesItemsEndpoint { body: DashboardInstanceSkillsTemplatesItemsCreateBody, opts?: { headers?: Record } ): Promise { - let path = `skill-template/${skillTemplateId}/items`; + let path = `skill-templates/${skillTemplateId}/items`; let request = { path, @@ -154,7 +154,7 @@ export class MetorialSkillsTemplatesItemsEndpoint { skillTemplateItemId: string, opts?: { headers?: Record } ): Promise { - let path = `skill-template/${skillTemplateId}/items/${skillTemplateItemId}`; + let path = `skill-templates/${skillTemplateId}/items/${skillTemplateItemId}`; let request = { path,