/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 05995502c1cd */ import * as z from "zod/v4"; import { remap as remap$ } from "../lib/primitives.js"; import { ClosedEnum } from "../types/enums.js"; /** * Failure-domain policy selected for a compute pool. */ export type StackSettingsFailureDomains2 = { /** * Concrete provider domains selected during setup. * * @remarks * Empty delegates deterministic selection to the provider setup implementation. */ selectedFailureDomains?: Array | undefined; /** * Number of distinct failure domains across which new stateful replicas may be spread. */ spread: number; }; export type StackSettingsFailureDomainsUnion2 = | StackSettingsFailureDomains2 | any; export type StackSettingsPoolsAutoscale = { failureDomains?: StackSettingsFailureDomains2 | any | null | undefined; /** * Provider machine type selected for this deployment. */ machine?: string | null | undefined; /** * Maximum machine count. */ max: number; /** * Minimum machine count. */ min: number; mode: "autoscale"; }; /** * Failure-domain policy selected for a compute pool. */ export type StackSettingsFailureDomains1 = { /** * Concrete provider domains selected during setup. * * @remarks * Empty delegates deterministic selection to the provider setup implementation. */ selectedFailureDomains?: Array | undefined; /** * Number of distinct failure domains across which new stateful replicas may be spread. */ spread: number; }; export type StackSettingsFailureDomainsUnion1 = | StackSettingsFailureDomains1 | any; export type StackSettingsPoolsFixed = { failureDomains?: StackSettingsFailureDomains1 | any | null | undefined; /** * Provider machine type selected for this deployment. */ machine?: string | null | undefined; /** * Number of machines to run. */ machines: number; mode: "fixed"; }; /** * User-selected deployment settings for one compute pool. */ export type StackSettingsPoolsUnion = | StackSettingsPoolsFixed | StackSettingsPoolsAutoscale; /** * Deployment-time compute choices for Alien-managed compute pools. * * @remarks * * Application source declares portable pool requirements. This settings * object stores the concrete choices made for one deployment, such as the * provider machine type and selected machine counts. */ export type StackSettingsCompute = { /** * Selected compute choices keyed by pool ID. */ pools?: | { [k: string]: StackSettingsPoolsFixed | StackSettingsPoolsAutoscale } | undefined; }; export type StackSettingsComputeUnion = StackSettingsCompute | any; /** * Deployment model: how updates are delivered to the remote environment. */ export const StackSettingsDeploymentModel = { Push: "push", Pull: "pull", } as const; /** * Deployment model: how updates are delivered to the remote environment. */ export type StackSettingsDeploymentModel = ClosedEnum< typeof StackSettingsDeploymentModel >; export type StackSettingsAws = { certificateArn: string; }; export type StackSettingsAwsUnion = StackSettingsAws | any; export type StackSettingsAzure = { keyVaultCertificateId: string; keyVaultResourceId?: string | null | undefined; }; export type StackSettingsAzureUnion = StackSettingsAzure | any; export type StackSettingsGcp = { certificateName: string; }; export type StackSettingsGcpUnion = StackSettingsGcp | any; /** * Namespace-scoped Kubernetes TLS Secret reference. */ export type StackSettingsTlsSecretRef = { /** * Secret namespace. Defaults to the release namespace when omitted. */ namespace?: string | null | undefined; /** * Secret name. */ secretName: string; }; export type StackSettingsDomainsKubernetes = { /** * Namespace-scoped Kubernetes TLS Secret reference. */ tlsSecretRef: StackSettingsTlsSecretRef; }; export type StackSettingsDomainsKubernetesUnion = | StackSettingsDomainsKubernetes | any; /** * Platform-specific certificate references for custom domains. */ export type StackSettingsDomainsCertificate = { aws?: StackSettingsAws | any | null | undefined; azure?: StackSettingsAzure | any | null | undefined; gcp?: StackSettingsGcp | any | null | undefined; kubernetes?: StackSettingsDomainsKubernetes | any | null | undefined; }; /** * Custom domain configuration for a single resource. */ export type StackSettingsCustomDomains = { /** * Platform-specific certificate references for custom domains. */ certificate: StackSettingsDomainsCertificate; /** * Fully qualified domain name to use. */ domain: string; }; export const StackSettingsModeLoadBalancer = { LoadBalancer: "loadBalancer", } as const; export type StackSettingsModeLoadBalancer = ClosedEnum< typeof StackSettingsModeLoadBalancer >; export type StackSettingsPublicEndpointTargetLoadBalancer = { /** * DNS name or URL for the external load balancer. */ cnameTarget: string; mode: StackSettingsModeLoadBalancer; }; export const StackSettingsModeMachineAddresses = { MachineAddresses: "machineAddresses", } as const; export type StackSettingsModeMachineAddresses = ClosedEnum< typeof StackSettingsModeMachineAddresses >; export type StackSettingsPublicEndpointTargetMachineAddresses = { mode: StackSettingsModeMachineAddresses; }; export type StackSettingsPublicEndpointTargetUnion = | StackSettingsPublicEndpointTargetLoadBalancer | StackSettingsPublicEndpointTargetMachineAddresses | any; /** * Domain configuration for the stack. * * @remarks * * When `custom_domains` is set, the specified resources use customer-provided * domains and certificates. Otherwise, Alien auto-generates domains. */ export type StackSettingsDomains = { /** * Custom domain configuration per resource ID. */ customDomains?: | { [k: string]: StackSettingsCustomDomains } | null | undefined; publicEndpointTarget?: | StackSettingsPublicEndpointTargetLoadBalancer | StackSettingsPublicEndpointTargetMachineAddresses | any | null | undefined; }; export type StackSettingsDomainsUnion = StackSettingsDomains | any; /** * External bindings for pre-existing infrastructure. * * @remarks * Allows using existing resources (MinIO, Redis, shared Container Apps * Environment, etc.) instead of having Alien provision them. * Required for Kubernetes platform, optional for cloud platforms. */ export type StackSettingsExternalBindings = {}; /** * How heartbeat health checks are handled. */ export const StackSettingsHeartbeats = { Off: "off", On: "on", } as const; /** * How heartbeat health checks are handled. */ export type StackSettingsHeartbeats = ClosedEnum< typeof StackSettingsHeartbeats >; /** * Optional provider-specific identity for a cloud-backed Kubernetes cluster. */ export type StackSettingsCloud = { accountId?: string | null | undefined; clusterId?: string | null | undefined; clusterName?: string | null | undefined; projectId?: string | null | undefined; region?: string | null | undefined; resourceGroup?: string | null | undefined; subscriptionId?: string | null | undefined; }; export type StackSettingsCloudUnion = StackSettingsCloud | any; /** * Ownership model for the Kubernetes cluster. */ export const StackSettingsOwnership = { Managed: "managed", Existing: "existing", External: "external", } as const; /** * Ownership model for the Kubernetes cluster. */ export type StackSettingsOwnership = ClosedEnum; /** * Kubernetes cluster setup settings. */ export type StackSettingsCluster = { cloud?: StackSettingsCloud | any | null | undefined; /** * Namespace where the Alien chart and application resources run. */ namespace?: string | null | undefined; /** * Ownership model for the Kubernetes cluster. */ ownership: StackSettingsOwnership; }; export type StackSettingsClusterUnion = StackSettingsCluster | any; export type StackSettingsCertificateNone2 = { mode: "none"; }; export type StackSettingsCertificateManagedTLSSecret2 = { mode: "managedTlsSecret"; /** * Secret name template. Runtime may substitute resource/deployment tokens. */ secretNameTemplate: string; }; export type StackSettingsCertificateAwsAcmArn2 = { /** * Existing ACM certificate ARN. */ certificateArn: string; mode: "awsAcmArn"; }; export type StackSettingsCertificateManagedAcmImport2 = { mode: "managedAcmImport"; /** * ACM region. Defaults to the deployment region when omitted. */ region?: string | null | undefined; /** * Tags applied to runtime-imported ACM certificates. */ tags?: { [k: string]: string } | undefined; }; /** * Namespace-scoped Kubernetes TLS Secret reference. */ export type StackSettingsCertificateTLSSecretRef2 = { /** * Secret namespace. Defaults to the release namespace when omitted. */ namespace?: string | null | undefined; /** * Secret name. */ secretName: string; mode: "tlsSecretRef"; }; /** * Certificate publication or reference mode for Kubernetes public endpoints. */ export type StackSettingsCertificateUnion2 = | StackSettingsCertificateTLSSecretRef2 | StackSettingsCertificateManagedAcmImport2 | StackSettingsCertificateAwsAcmArn2 | StackSettingsCertificateManagedTLSSecret2 | StackSettingsCertificateNone2; export const StackSettingsModeCustom = { Custom: "custom", } as const; export type StackSettingsModeCustom = ClosedEnum< typeof StackSettingsModeCustom >; export const StackSettingsProviderAzureApplicationGatewayForContainersEnum4 = { AzureApplicationGatewayForContainers: "azureApplicationGatewayForContainers", } as const; export type StackSettingsProviderAzureApplicationGatewayForContainersEnum4 = ClosedEnum< typeof StackSettingsProviderAzureApplicationGatewayForContainersEnum4 >; export type StackSettingsProviderAzureApplicationGatewayForContainers4 = { /** * Optional ALB name when using BYO Application Gateway resources. */ albName?: string | null | undefined; /** * Optional ALB namespace when using BYO Application Gateway resources. */ albNamespace?: string | null | undefined; /** * Public or internal frontend exposure. */ frontend: string; provider: StackSettingsProviderAzureApplicationGatewayForContainersEnum4; }; export const StackSettingsProviderGkeGatewayEnum4 = { GkeGateway: "gkeGateway", } as const; export type StackSettingsProviderGkeGatewayEnum4 = ClosedEnum< typeof StackSettingsProviderGkeGatewayEnum4 >; export type StackSettingsProviderGkeGateway4 = { provider: StackSettingsProviderGkeGatewayEnum4; /** * Optional static address name for the Gateway frontend. */ staticAddressName?: string | null | undefined; }; export const StackSettingsProviderAwsAlbEnum4 = { AwsAlb: "awsAlb", } as const; export type StackSettingsProviderAwsAlbEnum4 = ClosedEnum< typeof StackSettingsProviderAwsAlbEnum4 >; export type StackSettingsProviderAwsAlb4 = { /** * Optional ALB IP address type, such as `dualstack`. */ ipAddressType?: string | null | undefined; provider: StackSettingsProviderAwsAlbEnum4; /** * Internet-facing or internal ALB scheme. */ scheme: string; /** * Explicit subnet IDs when the profile cannot rely on controller discovery. */ subnetIds?: Array | undefined; /** * ALB target type, usually `ip`. */ targetType: string; }; export type StackSettingsProviderUnion4 = | StackSettingsProviderAwsAlb4 | StackSettingsProviderAzureApplicationGatewayForContainers4 | StackSettingsProviderGkeGateway4 | any; /** * Shared Gateway API route profile values. */ export type StackSettingsRouteGateway2 = { /** * Annotations applied to route objects. */ annotations?: { [k: string]: string } | undefined; /** * Route controller identifier, for example a cloud Gateway controller. */ controller?: string | null | undefined; /** * GatewayClass selected for generated Gateways. */ gatewayClassName: string; /** * Labels applied to route objects. */ labels?: { [k: string]: string } | undefined; /** * Listener port, usually 443. */ listenerPort: number; provider?: | StackSettingsProviderAwsAlb4 | StackSettingsProviderAzureApplicationGatewayForContainers4 | StackSettingsProviderGkeGateway4 | any | null | undefined; routeApi: "gateway"; }; export const StackSettingsProviderAzureApplicationGatewayForContainersEnum3 = { AzureApplicationGatewayForContainers: "azureApplicationGatewayForContainers", } as const; export type StackSettingsProviderAzureApplicationGatewayForContainersEnum3 = ClosedEnum< typeof StackSettingsProviderAzureApplicationGatewayForContainersEnum3 >; export type StackSettingsProviderAzureApplicationGatewayForContainers3 = { /** * Optional ALB name when using BYO Application Gateway resources. */ albName?: string | null | undefined; /** * Optional ALB namespace when using BYO Application Gateway resources. */ albNamespace?: string | null | undefined; /** * Public or internal frontend exposure. */ frontend: string; provider: StackSettingsProviderAzureApplicationGatewayForContainersEnum3; }; export const StackSettingsProviderGkeGatewayEnum3 = { GkeGateway: "gkeGateway", } as const; export type StackSettingsProviderGkeGatewayEnum3 = ClosedEnum< typeof StackSettingsProviderGkeGatewayEnum3 >; export type StackSettingsProviderGkeGateway3 = { provider: StackSettingsProviderGkeGatewayEnum3; /** * Optional static address name for the Gateway frontend. */ staticAddressName?: string | null | undefined; }; export const StackSettingsProviderAwsAlbEnum3 = { AwsAlb: "awsAlb", } as const; export type StackSettingsProviderAwsAlbEnum3 = ClosedEnum< typeof StackSettingsProviderAwsAlbEnum3 >; export type StackSettingsProviderAwsAlb3 = { /** * Optional ALB IP address type, such as `dualstack`. */ ipAddressType?: string | null | undefined; provider: StackSettingsProviderAwsAlbEnum3; /** * Internet-facing or internal ALB scheme. */ scheme: string; /** * Explicit subnet IDs when the profile cannot rely on controller discovery. */ subnetIds?: Array | undefined; /** * ALB target type, usually `ip`. */ targetType: string; }; export type StackSettingsProviderUnion3 = | StackSettingsProviderAwsAlb3 | StackSettingsProviderAzureApplicationGatewayForContainers3 | StackSettingsProviderGkeGateway3 | any; /** * Shared Ingress route profile values. */ export type StackSettingsRouteIngress2 = { /** * Annotations applied to route objects. */ annotations?: { [k: string]: string } | undefined; /** * Route controller identifier, for example `eks.amazonaws.com/alb`. */ controller?: string | null | undefined; /** * `spec.ingressClassName` for generated Ingresses. */ ingressClassName: string; /** * Labels applied to route objects. */ labels?: { [k: string]: string } | undefined; provider?: | StackSettingsProviderAwsAlb3 | StackSettingsProviderAzureApplicationGatewayForContainers3 | StackSettingsProviderGkeGateway3 | any | null | undefined; routeApi: "ingress"; }; /** * Kubernetes route API selected for public endpoints. */ export type StackSettingsRouteUnion2 = | StackSettingsRouteIngress2 | StackSettingsRouteGateway2; export type StackSettingsExposureCustom = { /** * Certificate publication or reference mode for Kubernetes public endpoints. */ certificate: | StackSettingsCertificateTLSSecretRef2 | StackSettingsCertificateManagedAcmImport2 | StackSettingsCertificateAwsAcmArn2 | StackSettingsCertificateManagedTLSSecret2 | StackSettingsCertificateNone2; /** * Hostname routed by the Kubernetes public endpoint. */ domain: string; mode: StackSettingsModeCustom; /** * Kubernetes route API selected for public endpoints. */ route: StackSettingsRouteIngress2 | StackSettingsRouteGateway2; }; export type StackSettingsCertificateNone1 = { mode: "none"; }; export type StackSettingsCertificateManagedTLSSecret1 = { mode: "managedTlsSecret"; /** * Secret name template. Runtime may substitute resource/deployment tokens. */ secretNameTemplate: string; }; export type StackSettingsCertificateAwsAcmArn1 = { /** * Existing ACM certificate ARN. */ certificateArn: string; mode: "awsAcmArn"; }; export type StackSettingsCertificateManagedAcmImport1 = { mode: "managedAcmImport"; /** * ACM region. Defaults to the deployment region when omitted. */ region?: string | null | undefined; /** * Tags applied to runtime-imported ACM certificates. */ tags?: { [k: string]: string } | undefined; }; /** * Namespace-scoped Kubernetes TLS Secret reference. */ export type StackSettingsCertificateTLSSecretRef1 = { /** * Secret namespace. Defaults to the release namespace when omitted. */ namespace?: string | null | undefined; /** * Secret name. */ secretName: string; mode: "tlsSecretRef"; }; /** * Certificate publication or reference mode for Kubernetes public endpoints. */ export type StackSettingsCertificateUnion1 = | StackSettingsCertificateTLSSecretRef1 | StackSettingsCertificateManagedAcmImport1 | StackSettingsCertificateAwsAcmArn1 | StackSettingsCertificateManagedTLSSecret1 | StackSettingsCertificateNone1; export const StackSettingsModeGenerated = { Generated: "generated", } as const; export type StackSettingsModeGenerated = ClosedEnum< typeof StackSettingsModeGenerated >; export const StackSettingsProviderAzureApplicationGatewayForContainersEnum2 = { AzureApplicationGatewayForContainers: "azureApplicationGatewayForContainers", } as const; export type StackSettingsProviderAzureApplicationGatewayForContainersEnum2 = ClosedEnum< typeof StackSettingsProviderAzureApplicationGatewayForContainersEnum2 >; export type StackSettingsProviderAzureApplicationGatewayForContainers2 = { /** * Optional ALB name when using BYO Application Gateway resources. */ albName?: string | null | undefined; /** * Optional ALB namespace when using BYO Application Gateway resources. */ albNamespace?: string | null | undefined; /** * Public or internal frontend exposure. */ frontend: string; provider: StackSettingsProviderAzureApplicationGatewayForContainersEnum2; }; export const StackSettingsProviderGkeGatewayEnum2 = { GkeGateway: "gkeGateway", } as const; export type StackSettingsProviderGkeGatewayEnum2 = ClosedEnum< typeof StackSettingsProviderGkeGatewayEnum2 >; export type StackSettingsProviderGkeGateway2 = { provider: StackSettingsProviderGkeGatewayEnum2; /** * Optional static address name for the Gateway frontend. */ staticAddressName?: string | null | undefined; }; export const StackSettingsProviderAwsAlbEnum2 = { AwsAlb: "awsAlb", } as const; export type StackSettingsProviderAwsAlbEnum2 = ClosedEnum< typeof StackSettingsProviderAwsAlbEnum2 >; export type StackSettingsProviderAwsAlb2 = { /** * Optional ALB IP address type, such as `dualstack`. */ ipAddressType?: string | null | undefined; provider: StackSettingsProviderAwsAlbEnum2; /** * Internet-facing or internal ALB scheme. */ scheme: string; /** * Explicit subnet IDs when the profile cannot rely on controller discovery. */ subnetIds?: Array | undefined; /** * ALB target type, usually `ip`. */ targetType: string; }; export type StackSettingsProviderUnion2 = | StackSettingsProviderAwsAlb2 | StackSettingsProviderAzureApplicationGatewayForContainers2 | StackSettingsProviderGkeGateway2 | any; /** * Shared Gateway API route profile values. */ export type StackSettingsRouteGateway1 = { /** * Annotations applied to route objects. */ annotations?: { [k: string]: string } | undefined; /** * Route controller identifier, for example a cloud Gateway controller. */ controller?: string | null | undefined; /** * GatewayClass selected for generated Gateways. */ gatewayClassName: string; /** * Labels applied to route objects. */ labels?: { [k: string]: string } | undefined; /** * Listener port, usually 443. */ listenerPort: number; provider?: | StackSettingsProviderAwsAlb2 | StackSettingsProviderAzureApplicationGatewayForContainers2 | StackSettingsProviderGkeGateway2 | any | null | undefined; routeApi: "gateway"; }; export const StackSettingsProviderAzureApplicationGatewayForContainersEnum1 = { AzureApplicationGatewayForContainers: "azureApplicationGatewayForContainers", } as const; export type StackSettingsProviderAzureApplicationGatewayForContainersEnum1 = ClosedEnum< typeof StackSettingsProviderAzureApplicationGatewayForContainersEnum1 >; export type StackSettingsProviderAzureApplicationGatewayForContainers1 = { /** * Optional ALB name when using BYO Application Gateway resources. */ albName?: string | null | undefined; /** * Optional ALB namespace when using BYO Application Gateway resources. */ albNamespace?: string | null | undefined; /** * Public or internal frontend exposure. */ frontend: string; provider: StackSettingsProviderAzureApplicationGatewayForContainersEnum1; }; export const StackSettingsProviderGkeGatewayEnum1 = { GkeGateway: "gkeGateway", } as const; export type StackSettingsProviderGkeGatewayEnum1 = ClosedEnum< typeof StackSettingsProviderGkeGatewayEnum1 >; export type StackSettingsProviderGkeGateway1 = { provider: StackSettingsProviderGkeGatewayEnum1; /** * Optional static address name for the Gateway frontend. */ staticAddressName?: string | null | undefined; }; export const StackSettingsProviderAwsAlbEnum1 = { AwsAlb: "awsAlb", } as const; export type StackSettingsProviderAwsAlbEnum1 = ClosedEnum< typeof StackSettingsProviderAwsAlbEnum1 >; export type StackSettingsProviderAwsAlb1 = { /** * Optional ALB IP address type, such as `dualstack`. */ ipAddressType?: string | null | undefined; provider: StackSettingsProviderAwsAlbEnum1; /** * Internet-facing or internal ALB scheme. */ scheme: string; /** * Explicit subnet IDs when the profile cannot rely on controller discovery. */ subnetIds?: Array | undefined; /** * ALB target type, usually `ip`. */ targetType: string; }; export type StackSettingsProviderUnion1 = | StackSettingsProviderAwsAlb1 | StackSettingsProviderAzureApplicationGatewayForContainers1 | StackSettingsProviderGkeGateway1 | any; /** * Shared Ingress route profile values. */ export type StackSettingsRouteIngress1 = { /** * Annotations applied to route objects. */ annotations?: { [k: string]: string } | undefined; /** * Route controller identifier, for example `eks.amazonaws.com/alb`. */ controller?: string | null | undefined; /** * `spec.ingressClassName` for generated Ingresses. */ ingressClassName: string; /** * Labels applied to route objects. */ labels?: { [k: string]: string } | undefined; provider?: | StackSettingsProviderAwsAlb1 | StackSettingsProviderAzureApplicationGatewayForContainers1 | StackSettingsProviderGkeGateway1 | any | null | undefined; routeApi: "ingress"; }; /** * Kubernetes route API selected for public endpoints. */ export type StackSettingsRouteUnion1 = | StackSettingsRouteIngress1 | StackSettingsRouteGateway1; export type StackSettingsExposureGenerated = { /** * Certificate publication or reference mode for Kubernetes public endpoints. */ certificate: | StackSettingsCertificateTLSSecretRef1 | StackSettingsCertificateManagedAcmImport1 | StackSettingsCertificateAwsAcmArn1 | StackSettingsCertificateManagedTLSSecret1 | StackSettingsCertificateNone1; mode: StackSettingsModeGenerated; /** * Kubernetes route API selected for public endpoints. */ route: StackSettingsRouteIngress1 | StackSettingsRouteGateway1; }; export const StackSettingsModeDisabled = { Disabled: "disabled", } as const; export type StackSettingsModeDisabled = ClosedEnum< typeof StackSettingsModeDisabled >; export type StackSettingsExposureDisabled = { mode: StackSettingsModeDisabled; }; export type StackSettingsExposureUnion = | StackSettingsExposureCustom | StackSettingsExposureGenerated | StackSettingsExposureDisabled | any; /** * Kubernetes runtime substrate configuration. * * @remarks * * This controls how setup chooses the cluster backing `Platform::Kubernetes` * deployments. When omitted, cloud-backed Kubernetes deployments default to a * managed cluster and generic/on-prem Kubernetes defaults to an external * cluster. */ export type StackSettingsKubernetes = { cluster?: StackSettingsCluster | any | null | undefined; exposure?: | StackSettingsExposureCustom | StackSettingsExposureGenerated | StackSettingsExposureDisabled | any | null | undefined; }; export type StackSettingsKubernetesUnion = StackSettingsKubernetes | any; export const StackSettingsTypeByoVnetAzure = { ByoVnetAzure: "byo-vnet-azure", } as const; export type StackSettingsTypeByoVnetAzure = ClosedEnum< typeof StackSettingsTypeByoVnetAzure >; export type StackSettingsNetworkByoVnetAzure = { /** * Name of the dedicated classic Application Gateway subnet within the VNet. */ applicationGatewaySubnetName?: string | null | undefined; /** * Name of the dedicated subnet that hosts Private Endpoints (e.g. for a * * @remarks * Postgres Flexible Server). A Private Endpoint must not share the private * subnet, which is already claimed by the Container Apps environment's * `infrastructure_subnet_id`. Required only when the stack contains a * Postgres resource; otherwise unused. */ privateEndpointSubnetName?: string | null | undefined; /** * Name of the private subnet within the VNet */ privateSubnetName: string; /** * Name of the public subnet within the VNet */ publicSubnetName: string; type: StackSettingsTypeByoVnetAzure; /** * The full resource ID of the existing VNet */ vnetResourceId: string; }; export const StackSettingsTypeByoVpcGcp = { ByoVpcGcp: "byo-vpc-gcp", } as const; export type StackSettingsTypeByoVpcGcp = ClosedEnum< typeof StackSettingsTypeByoVpcGcp >; export type StackSettingsNetworkByoVpcGcp = { /** * The name of the existing VPC network */ networkName: string; /** * The region of the subnet */ region: string; /** * The name of the subnet to use */ subnetName: string; type: StackSettingsTypeByoVpcGcp; }; export const StackSettingsTypeByoVpcAws = { ByoVpcAws: "byo-vpc-aws", } as const; export type StackSettingsTypeByoVpcAws = ClosedEnum< typeof StackSettingsTypeByoVpcAws >; export type StackSettingsNetworkByoVpcAws = { /** * IDs of private subnets */ privateSubnetIds: Array; /** * IDs of public subnets (required for public ingress) */ publicSubnetIds: Array; /** * Optional security group IDs to use */ securityGroupIds?: Array | undefined; type: StackSettingsTypeByoVpcAws; /** * The ID of the existing VPC */ vpcId: string; }; export const StackSettingsTypeCreate = { Create: "create", } as const; export type StackSettingsTypeCreate = ClosedEnum< typeof StackSettingsTypeCreate >; export type StackSettingsNetworkCreate = { /** * Number of availability zones (default: 2). */ availabilityZones?: number | undefined; /** * VPC/VNet CIDR block. If not specified, auto-generated from stack ID * * @remarks * to reduce conflicts (e.g., "10.{hash}.0.0/16"). */ cidr?: string | null | undefined; type: StackSettingsTypeCreate; }; export const StackSettingsTypeUseDefault = { UseDefault: "use-default", } as const; export type StackSettingsTypeUseDefault = ClosedEnum< typeof StackSettingsTypeUseDefault >; export type StackSettingsNetworkUseDefault = { type: StackSettingsTypeUseDefault; }; export type StackSettingsNetworkUnion = | StackSettingsNetworkByoVpcAws | StackSettingsNetworkByoVpcGcp | StackSettingsNetworkByoVnetAzure | StackSettingsNetworkUseDefault | StackSettingsNetworkCreate | any; /** * How telemetry (logs, metrics, traces) is handled. */ export const StackSettingsTelemetry = { Off: "off", Auto: "auto", ApprovalRequired: "approval-required", } as const; /** * How telemetry (logs, metrics, traces) is handled. */ export type StackSettingsTelemetry = ClosedEnum; /** * How updates are delivered to the deployment. */ export const StackSettingsUpdates = { Auto: "auto", ApprovalRequired: "approval-required", } as const; /** * How updates are delivered to the deployment. */ export type StackSettingsUpdates = ClosedEnum; /** * User-customizable deployment settings specified at deploy time. * * @remarks * * These settings are provided by the customer via CloudFormation parameters, * Terraform attributes, CLI flags, or Helm values. They customize how the * deployment runs and what capabilities are enabled. * * **Key distinction**: StackSettings is user-customizable, while ManagementConfig * is platform-derived (from the Manager's ServiceAccount). */ export type StackSettings = { compute?: StackSettingsCompute | any | null | undefined; /** * Deployment model: how updates are delivered to the remote environment. */ deploymentModel?: StackSettingsDeploymentModel | undefined; domains?: StackSettingsDomains | any | null | undefined; /** * External bindings for pre-existing infrastructure. * * @remarks * Allows using existing resources (MinIO, Redis, shared Container Apps * Environment, etc.) instead of having Alien provision them. * Required for Kubernetes platform, optional for cloud platforms. */ externalBindings?: StackSettingsExternalBindings | null | undefined; /** * How heartbeat health checks are handled. */ heartbeats?: StackSettingsHeartbeats | undefined; kubernetes?: StackSettingsKubernetes | any | null | undefined; network?: | StackSettingsNetworkByoVpcAws | StackSettingsNetworkByoVpcGcp | StackSettingsNetworkByoVnetAzure | StackSettingsNetworkUseDefault | StackSettingsNetworkCreate | any | null | undefined; /** * Exact externally managed endpoint URLs, keyed by resource ID and endpoint name. * * @remarks * * This is intended for adopted Machines deployments whose DNS and certificates remain * customer-owned. The platform passes these URLs to the runtime without creating or * replacing DNS records or certificates. */ publicEndpoints?: { [k: string]: { [k: string]: string } } | null | undefined; /** * How telemetry (logs, metrics, traces) is handled. */ telemetry?: StackSettingsTelemetry | undefined; /** * How updates are delivered to the deployment. */ updates?: StackSettingsUpdates | undefined; }; /** @internal */ export type StackSettingsFailureDomains2$Outbound = { selectedFailureDomains?: Array | undefined; spread: number; }; /** @internal */ export const StackSettingsFailureDomains2$outboundSchema: z.ZodType< StackSettingsFailureDomains2$Outbound, StackSettingsFailureDomains2 > = z.object({ selectedFailureDomains: z.array(z.string()).optional(), spread: z.int(), }); export function stackSettingsFailureDomains2ToJSON( stackSettingsFailureDomains2: StackSettingsFailureDomains2, ): string { return JSON.stringify( StackSettingsFailureDomains2$outboundSchema.parse( stackSettingsFailureDomains2, ), ); } /** @internal */ export type StackSettingsFailureDomainsUnion2$Outbound = | StackSettingsFailureDomains2$Outbound | any; /** @internal */ export const StackSettingsFailureDomainsUnion2$outboundSchema: z.ZodType< StackSettingsFailureDomainsUnion2$Outbound, StackSettingsFailureDomainsUnion2 > = z.union([ z.lazy(() => StackSettingsFailureDomains2$outboundSchema), z.any(), ]); export function stackSettingsFailureDomainsUnion2ToJSON( stackSettingsFailureDomainsUnion2: StackSettingsFailureDomainsUnion2, ): string { return JSON.stringify( StackSettingsFailureDomainsUnion2$outboundSchema.parse( stackSettingsFailureDomainsUnion2, ), ); } /** @internal */ export type StackSettingsPoolsAutoscale$Outbound = { failure_domains?: | StackSettingsFailureDomains2$Outbound | any | null | undefined; machine?: string | null | undefined; max: number; min: number; mode: "autoscale"; }; /** @internal */ export const StackSettingsPoolsAutoscale$outboundSchema: z.ZodType< StackSettingsPoolsAutoscale$Outbound, StackSettingsPoolsAutoscale > = z.object({ failureDomains: z.nullable( z.union([ z.lazy(() => StackSettingsFailureDomains2$outboundSchema), z.any(), ]), ).optional(), machine: z.nullable(z.string()).optional(), max: z.int(), min: z.int(), mode: z.literal("autoscale"), }).transform((v) => { return remap$(v, { failureDomains: "failure_domains", }); }); export function stackSettingsPoolsAutoscaleToJSON( stackSettingsPoolsAutoscale: StackSettingsPoolsAutoscale, ): string { return JSON.stringify( StackSettingsPoolsAutoscale$outboundSchema.parse( stackSettingsPoolsAutoscale, ), ); } /** @internal */ export type StackSettingsFailureDomains1$Outbound = { selectedFailureDomains?: Array | undefined; spread: number; }; /** @internal */ export const StackSettingsFailureDomains1$outboundSchema: z.ZodType< StackSettingsFailureDomains1$Outbound, StackSettingsFailureDomains1 > = z.object({ selectedFailureDomains: z.array(z.string()).optional(), spread: z.int(), }); export function stackSettingsFailureDomains1ToJSON( stackSettingsFailureDomains1: StackSettingsFailureDomains1, ): string { return JSON.stringify( StackSettingsFailureDomains1$outboundSchema.parse( stackSettingsFailureDomains1, ), ); } /** @internal */ export type StackSettingsFailureDomainsUnion1$Outbound = | StackSettingsFailureDomains1$Outbound | any; /** @internal */ export const StackSettingsFailureDomainsUnion1$outboundSchema: z.ZodType< StackSettingsFailureDomainsUnion1$Outbound, StackSettingsFailureDomainsUnion1 > = z.union([ z.lazy(() => StackSettingsFailureDomains1$outboundSchema), z.any(), ]); export function stackSettingsFailureDomainsUnion1ToJSON( stackSettingsFailureDomainsUnion1: StackSettingsFailureDomainsUnion1, ): string { return JSON.stringify( StackSettingsFailureDomainsUnion1$outboundSchema.parse( stackSettingsFailureDomainsUnion1, ), ); } /** @internal */ export type StackSettingsPoolsFixed$Outbound = { failure_domains?: | StackSettingsFailureDomains1$Outbound | any | null | undefined; machine?: string | null | undefined; machines: number; mode: "fixed"; }; /** @internal */ export const StackSettingsPoolsFixed$outboundSchema: z.ZodType< StackSettingsPoolsFixed$Outbound, StackSettingsPoolsFixed > = z.object({ failureDomains: z.nullable( z.union([ z.lazy(() => StackSettingsFailureDomains1$outboundSchema), z.any(), ]), ).optional(), machine: z.nullable(z.string()).optional(), machines: z.int(), mode: z.literal("fixed"), }).transform((v) => { return remap$(v, { failureDomains: "failure_domains", }); }); export function stackSettingsPoolsFixedToJSON( stackSettingsPoolsFixed: StackSettingsPoolsFixed, ): string { return JSON.stringify( StackSettingsPoolsFixed$outboundSchema.parse(stackSettingsPoolsFixed), ); } /** @internal */ export type StackSettingsPoolsUnion$Outbound = | StackSettingsPoolsFixed$Outbound | StackSettingsPoolsAutoscale$Outbound; /** @internal */ export const StackSettingsPoolsUnion$outboundSchema: z.ZodType< StackSettingsPoolsUnion$Outbound, StackSettingsPoolsUnion > = z.union([ z.lazy(() => StackSettingsPoolsFixed$outboundSchema), z.lazy(() => StackSettingsPoolsAutoscale$outboundSchema), ]); export function stackSettingsPoolsUnionToJSON( stackSettingsPoolsUnion: StackSettingsPoolsUnion, ): string { return JSON.stringify( StackSettingsPoolsUnion$outboundSchema.parse(stackSettingsPoolsUnion), ); } /** @internal */ export type StackSettingsCompute$Outbound = { pools?: { [k: string]: | StackSettingsPoolsFixed$Outbound | StackSettingsPoolsAutoscale$Outbound; } | undefined; }; /** @internal */ export const StackSettingsCompute$outboundSchema: z.ZodType< StackSettingsCompute$Outbound, StackSettingsCompute > = z.object({ pools: z.record( z.string(), z.union([ z.lazy(() => StackSettingsPoolsFixed$outboundSchema), z.lazy(() => StackSettingsPoolsAutoscale$outboundSchema), ]), ).optional(), }); export function stackSettingsComputeToJSON( stackSettingsCompute: StackSettingsCompute, ): string { return JSON.stringify( StackSettingsCompute$outboundSchema.parse(stackSettingsCompute), ); } /** @internal */ export type StackSettingsComputeUnion$Outbound = | StackSettingsCompute$Outbound | any; /** @internal */ export const StackSettingsComputeUnion$outboundSchema: z.ZodType< StackSettingsComputeUnion$Outbound, StackSettingsComputeUnion > = z.union([z.lazy(() => StackSettingsCompute$outboundSchema), z.any()]); export function stackSettingsComputeUnionToJSON( stackSettingsComputeUnion: StackSettingsComputeUnion, ): string { return JSON.stringify( StackSettingsComputeUnion$outboundSchema.parse(stackSettingsComputeUnion), ); } /** @internal */ export const StackSettingsDeploymentModel$outboundSchema: z.ZodEnum< typeof StackSettingsDeploymentModel > = z.enum(StackSettingsDeploymentModel); /** @internal */ export type StackSettingsAws$Outbound = { certificateArn: string; }; /** @internal */ export const StackSettingsAws$outboundSchema: z.ZodType< StackSettingsAws$Outbound, StackSettingsAws > = z.object({ certificateArn: z.string(), }); export function stackSettingsAwsToJSON( stackSettingsAws: StackSettingsAws, ): string { return JSON.stringify( StackSettingsAws$outboundSchema.parse(stackSettingsAws), ); } /** @internal */ export type StackSettingsAwsUnion$Outbound = StackSettingsAws$Outbound | any; /** @internal */ export const StackSettingsAwsUnion$outboundSchema: z.ZodType< StackSettingsAwsUnion$Outbound, StackSettingsAwsUnion > = z.union([z.lazy(() => StackSettingsAws$outboundSchema), z.any()]); export function stackSettingsAwsUnionToJSON( stackSettingsAwsUnion: StackSettingsAwsUnion, ): string { return JSON.stringify( StackSettingsAwsUnion$outboundSchema.parse(stackSettingsAwsUnion), ); } /** @internal */ export type StackSettingsAzure$Outbound = { keyVaultCertificateId: string; keyVaultResourceId?: string | null | undefined; }; /** @internal */ export const StackSettingsAzure$outboundSchema: z.ZodType< StackSettingsAzure$Outbound, StackSettingsAzure > = z.object({ keyVaultCertificateId: z.string(), keyVaultResourceId: z.nullable(z.string()).optional(), }); export function stackSettingsAzureToJSON( stackSettingsAzure: StackSettingsAzure, ): string { return JSON.stringify( StackSettingsAzure$outboundSchema.parse(stackSettingsAzure), ); } /** @internal */ export type StackSettingsAzureUnion$Outbound = | StackSettingsAzure$Outbound | any; /** @internal */ export const StackSettingsAzureUnion$outboundSchema: z.ZodType< StackSettingsAzureUnion$Outbound, StackSettingsAzureUnion > = z.union([z.lazy(() => StackSettingsAzure$outboundSchema), z.any()]); export function stackSettingsAzureUnionToJSON( stackSettingsAzureUnion: StackSettingsAzureUnion, ): string { return JSON.stringify( StackSettingsAzureUnion$outboundSchema.parse(stackSettingsAzureUnion), ); } /** @internal */ export type StackSettingsGcp$Outbound = { certificateName: string; }; /** @internal */ export const StackSettingsGcp$outboundSchema: z.ZodType< StackSettingsGcp$Outbound, StackSettingsGcp > = z.object({ certificateName: z.string(), }); export function stackSettingsGcpToJSON( stackSettingsGcp: StackSettingsGcp, ): string { return JSON.stringify( StackSettingsGcp$outboundSchema.parse(stackSettingsGcp), ); } /** @internal */ export type StackSettingsGcpUnion$Outbound = StackSettingsGcp$Outbound | any; /** @internal */ export const StackSettingsGcpUnion$outboundSchema: z.ZodType< StackSettingsGcpUnion$Outbound, StackSettingsGcpUnion > = z.union([z.lazy(() => StackSettingsGcp$outboundSchema), z.any()]); export function stackSettingsGcpUnionToJSON( stackSettingsGcpUnion: StackSettingsGcpUnion, ): string { return JSON.stringify( StackSettingsGcpUnion$outboundSchema.parse(stackSettingsGcpUnion), ); } /** @internal */ export type StackSettingsTlsSecretRef$Outbound = { namespace?: string | null | undefined; secretName: string; }; /** @internal */ export const StackSettingsTlsSecretRef$outboundSchema: z.ZodType< StackSettingsTlsSecretRef$Outbound, StackSettingsTlsSecretRef > = z.object({ namespace: z.nullable(z.string()).optional(), secretName: z.string(), }); export function stackSettingsTlsSecretRefToJSON( stackSettingsTlsSecretRef: StackSettingsTlsSecretRef, ): string { return JSON.stringify( StackSettingsTlsSecretRef$outboundSchema.parse(stackSettingsTlsSecretRef), ); } /** @internal */ export type StackSettingsDomainsKubernetes$Outbound = { tlsSecretRef: StackSettingsTlsSecretRef$Outbound; }; /** @internal */ export const StackSettingsDomainsKubernetes$outboundSchema: z.ZodType< StackSettingsDomainsKubernetes$Outbound, StackSettingsDomainsKubernetes > = z.object({ tlsSecretRef: z.lazy(() => StackSettingsTlsSecretRef$outboundSchema), }); export function stackSettingsDomainsKubernetesToJSON( stackSettingsDomainsKubernetes: StackSettingsDomainsKubernetes, ): string { return JSON.stringify( StackSettingsDomainsKubernetes$outboundSchema.parse( stackSettingsDomainsKubernetes, ), ); } /** @internal */ export type StackSettingsDomainsKubernetesUnion$Outbound = | StackSettingsDomainsKubernetes$Outbound | any; /** @internal */ export const StackSettingsDomainsKubernetesUnion$outboundSchema: z.ZodType< StackSettingsDomainsKubernetesUnion$Outbound, StackSettingsDomainsKubernetesUnion > = z.union([ z.lazy(() => StackSettingsDomainsKubernetes$outboundSchema), z.any(), ]); export function stackSettingsDomainsKubernetesUnionToJSON( stackSettingsDomainsKubernetesUnion: StackSettingsDomainsKubernetesUnion, ): string { return JSON.stringify( StackSettingsDomainsKubernetesUnion$outboundSchema.parse( stackSettingsDomainsKubernetesUnion, ), ); } /** @internal */ export type StackSettingsDomainsCertificate$Outbound = { aws?: StackSettingsAws$Outbound | any | null | undefined; azure?: StackSettingsAzure$Outbound | any | null | undefined; gcp?: StackSettingsGcp$Outbound | any | null | undefined; kubernetes?: StackSettingsDomainsKubernetes$Outbound | any | null | undefined; }; /** @internal */ export const StackSettingsDomainsCertificate$outboundSchema: z.ZodType< StackSettingsDomainsCertificate$Outbound, StackSettingsDomainsCertificate > = z.object({ aws: z.nullable( z.union([z.lazy(() => StackSettingsAws$outboundSchema), z.any()]), ).optional(), azure: z.nullable( z.union([z.lazy(() => StackSettingsAzure$outboundSchema), z.any()]), ).optional(), gcp: z.nullable( z.union([z.lazy(() => StackSettingsGcp$outboundSchema), z.any()]), ).optional(), kubernetes: z.nullable( z.union([ z.lazy(() => StackSettingsDomainsKubernetes$outboundSchema), z.any(), ]), ).optional(), }); export function stackSettingsDomainsCertificateToJSON( stackSettingsDomainsCertificate: StackSettingsDomainsCertificate, ): string { return JSON.stringify( StackSettingsDomainsCertificate$outboundSchema.parse( stackSettingsDomainsCertificate, ), ); } /** @internal */ export type StackSettingsCustomDomains$Outbound = { certificate: StackSettingsDomainsCertificate$Outbound; domain: string; }; /** @internal */ export const StackSettingsCustomDomains$outboundSchema: z.ZodType< StackSettingsCustomDomains$Outbound, StackSettingsCustomDomains > = z.object({ certificate: z.lazy(() => StackSettingsDomainsCertificate$outboundSchema), domain: z.string(), }); export function stackSettingsCustomDomainsToJSON( stackSettingsCustomDomains: StackSettingsCustomDomains, ): string { return JSON.stringify( StackSettingsCustomDomains$outboundSchema.parse(stackSettingsCustomDomains), ); } /** @internal */ export const StackSettingsModeLoadBalancer$outboundSchema: z.ZodEnum< typeof StackSettingsModeLoadBalancer > = z.enum(StackSettingsModeLoadBalancer); /** @internal */ export type StackSettingsPublicEndpointTargetLoadBalancer$Outbound = { cnameTarget: string; mode: string; }; /** @internal */ export const StackSettingsPublicEndpointTargetLoadBalancer$outboundSchema: z.ZodType< StackSettingsPublicEndpointTargetLoadBalancer$Outbound, StackSettingsPublicEndpointTargetLoadBalancer > = z.object({ cnameTarget: z.string(), mode: StackSettingsModeLoadBalancer$outboundSchema, }); export function stackSettingsPublicEndpointTargetLoadBalancerToJSON( stackSettingsPublicEndpointTargetLoadBalancer: StackSettingsPublicEndpointTargetLoadBalancer, ): string { return JSON.stringify( StackSettingsPublicEndpointTargetLoadBalancer$outboundSchema.parse( stackSettingsPublicEndpointTargetLoadBalancer, ), ); } /** @internal */ export const StackSettingsModeMachineAddresses$outboundSchema: z.ZodEnum< typeof StackSettingsModeMachineAddresses > = z.enum(StackSettingsModeMachineAddresses); /** @internal */ export type StackSettingsPublicEndpointTargetMachineAddresses$Outbound = { mode: string; }; /** @internal */ export const StackSettingsPublicEndpointTargetMachineAddresses$outboundSchema: z.ZodType< StackSettingsPublicEndpointTargetMachineAddresses$Outbound, StackSettingsPublicEndpointTargetMachineAddresses > = z.object({ mode: StackSettingsModeMachineAddresses$outboundSchema, }); export function stackSettingsPublicEndpointTargetMachineAddressesToJSON( stackSettingsPublicEndpointTargetMachineAddresses: StackSettingsPublicEndpointTargetMachineAddresses, ): string { return JSON.stringify( StackSettingsPublicEndpointTargetMachineAddresses$outboundSchema.parse( stackSettingsPublicEndpointTargetMachineAddresses, ), ); } /** @internal */ export type StackSettingsPublicEndpointTargetUnion$Outbound = | StackSettingsPublicEndpointTargetLoadBalancer$Outbound | StackSettingsPublicEndpointTargetMachineAddresses$Outbound | any; /** @internal */ export const StackSettingsPublicEndpointTargetUnion$outboundSchema: z.ZodType< StackSettingsPublicEndpointTargetUnion$Outbound, StackSettingsPublicEndpointTargetUnion > = z.union([ z.lazy(() => StackSettingsPublicEndpointTargetLoadBalancer$outboundSchema), z.lazy(() => StackSettingsPublicEndpointTargetMachineAddresses$outboundSchema ), z.any(), ]); export function stackSettingsPublicEndpointTargetUnionToJSON( stackSettingsPublicEndpointTargetUnion: StackSettingsPublicEndpointTargetUnion, ): string { return JSON.stringify( StackSettingsPublicEndpointTargetUnion$outboundSchema.parse( stackSettingsPublicEndpointTargetUnion, ), ); } /** @internal */ export type StackSettingsDomains$Outbound = { customDomains?: | { [k: string]: StackSettingsCustomDomains$Outbound } | null | undefined; publicEndpointTarget?: | StackSettingsPublicEndpointTargetLoadBalancer$Outbound | StackSettingsPublicEndpointTargetMachineAddresses$Outbound | any | null | undefined; }; /** @internal */ export const StackSettingsDomains$outboundSchema: z.ZodType< StackSettingsDomains$Outbound, StackSettingsDomains > = z.object({ customDomains: z.nullable( z.record( z.string(), z.lazy(() => StackSettingsCustomDomains$outboundSchema), ), ).optional(), publicEndpointTarget: z.nullable( z.union([ z.lazy(() => StackSettingsPublicEndpointTargetLoadBalancer$outboundSchema ), z.lazy(() => StackSettingsPublicEndpointTargetMachineAddresses$outboundSchema ), z.any(), ]), ).optional(), }); export function stackSettingsDomainsToJSON( stackSettingsDomains: StackSettingsDomains, ): string { return JSON.stringify( StackSettingsDomains$outboundSchema.parse(stackSettingsDomains), ); } /** @internal */ export type StackSettingsDomainsUnion$Outbound = | StackSettingsDomains$Outbound | any; /** @internal */ export const StackSettingsDomainsUnion$outboundSchema: z.ZodType< StackSettingsDomainsUnion$Outbound, StackSettingsDomainsUnion > = z.union([z.lazy(() => StackSettingsDomains$outboundSchema), z.any()]); export function stackSettingsDomainsUnionToJSON( stackSettingsDomainsUnion: StackSettingsDomainsUnion, ): string { return JSON.stringify( StackSettingsDomainsUnion$outboundSchema.parse(stackSettingsDomainsUnion), ); } /** @internal */ export type StackSettingsExternalBindings$Outbound = {}; /** @internal */ export const StackSettingsExternalBindings$outboundSchema: z.ZodType< StackSettingsExternalBindings$Outbound, StackSettingsExternalBindings > = z.object({}); export function stackSettingsExternalBindingsToJSON( stackSettingsExternalBindings: StackSettingsExternalBindings, ): string { return JSON.stringify( StackSettingsExternalBindings$outboundSchema.parse( stackSettingsExternalBindings, ), ); } /** @internal */ export const StackSettingsHeartbeats$outboundSchema: z.ZodEnum< typeof StackSettingsHeartbeats > = z.enum(StackSettingsHeartbeats); /** @internal */ export type StackSettingsCloud$Outbound = { accountId?: string | null | undefined; clusterId?: string | null | undefined; clusterName?: string | null | undefined; projectId?: string | null | undefined; region?: string | null | undefined; resourceGroup?: string | null | undefined; subscriptionId?: string | null | undefined; }; /** @internal */ export const StackSettingsCloud$outboundSchema: z.ZodType< StackSettingsCloud$Outbound, StackSettingsCloud > = z.object({ accountId: z.nullable(z.string()).optional(), clusterId: z.nullable(z.string()).optional(), clusterName: z.nullable(z.string()).optional(), projectId: z.nullable(z.string()).optional(), region: z.nullable(z.string()).optional(), resourceGroup: z.nullable(z.string()).optional(), subscriptionId: z.nullable(z.string()).optional(), }); export function stackSettingsCloudToJSON( stackSettingsCloud: StackSettingsCloud, ): string { return JSON.stringify( StackSettingsCloud$outboundSchema.parse(stackSettingsCloud), ); } /** @internal */ export type StackSettingsCloudUnion$Outbound = | StackSettingsCloud$Outbound | any; /** @internal */ export const StackSettingsCloudUnion$outboundSchema: z.ZodType< StackSettingsCloudUnion$Outbound, StackSettingsCloudUnion > = z.union([z.lazy(() => StackSettingsCloud$outboundSchema), z.any()]); export function stackSettingsCloudUnionToJSON( stackSettingsCloudUnion: StackSettingsCloudUnion, ): string { return JSON.stringify( StackSettingsCloudUnion$outboundSchema.parse(stackSettingsCloudUnion), ); } /** @internal */ export const StackSettingsOwnership$outboundSchema: z.ZodEnum< typeof StackSettingsOwnership > = z.enum(StackSettingsOwnership); /** @internal */ export type StackSettingsCluster$Outbound = { cloud?: StackSettingsCloud$Outbound | any | null | undefined; namespace?: string | null | undefined; ownership: string; }; /** @internal */ export const StackSettingsCluster$outboundSchema: z.ZodType< StackSettingsCluster$Outbound, StackSettingsCluster > = z.object({ cloud: z.nullable( z.union([z.lazy(() => StackSettingsCloud$outboundSchema), z.any()]), ).optional(), namespace: z.nullable(z.string()).optional(), ownership: StackSettingsOwnership$outboundSchema, }); export function stackSettingsClusterToJSON( stackSettingsCluster: StackSettingsCluster, ): string { return JSON.stringify( StackSettingsCluster$outboundSchema.parse(stackSettingsCluster), ); } /** @internal */ export type StackSettingsClusterUnion$Outbound = | StackSettingsCluster$Outbound | any; /** @internal */ export const StackSettingsClusterUnion$outboundSchema: z.ZodType< StackSettingsClusterUnion$Outbound, StackSettingsClusterUnion > = z.union([z.lazy(() => StackSettingsCluster$outboundSchema), z.any()]); export function stackSettingsClusterUnionToJSON( stackSettingsClusterUnion: StackSettingsClusterUnion, ): string { return JSON.stringify( StackSettingsClusterUnion$outboundSchema.parse(stackSettingsClusterUnion), ); } /** @internal */ export type StackSettingsCertificateNone2$Outbound = { mode: "none"; }; /** @internal */ export const StackSettingsCertificateNone2$outboundSchema: z.ZodType< StackSettingsCertificateNone2$Outbound, StackSettingsCertificateNone2 > = z.object({ mode: z.literal("none"), }); export function stackSettingsCertificateNone2ToJSON( stackSettingsCertificateNone2: StackSettingsCertificateNone2, ): string { return JSON.stringify( StackSettingsCertificateNone2$outboundSchema.parse( stackSettingsCertificateNone2, ), ); } /** @internal */ export type StackSettingsCertificateManagedTLSSecret2$Outbound = { mode: "managedTlsSecret"; secretNameTemplate: string; }; /** @internal */ export const StackSettingsCertificateManagedTLSSecret2$outboundSchema: z.ZodType< StackSettingsCertificateManagedTLSSecret2$Outbound, StackSettingsCertificateManagedTLSSecret2 > = z.object({ mode: z.literal("managedTlsSecret"), secretNameTemplate: z.string(), }); export function stackSettingsCertificateManagedTLSSecret2ToJSON( stackSettingsCertificateManagedTLSSecret2: StackSettingsCertificateManagedTLSSecret2, ): string { return JSON.stringify( StackSettingsCertificateManagedTLSSecret2$outboundSchema.parse( stackSettingsCertificateManagedTLSSecret2, ), ); } /** @internal */ export type StackSettingsCertificateAwsAcmArn2$Outbound = { certificateArn: string; mode: "awsAcmArn"; }; /** @internal */ export const StackSettingsCertificateAwsAcmArn2$outboundSchema: z.ZodType< StackSettingsCertificateAwsAcmArn2$Outbound, StackSettingsCertificateAwsAcmArn2 > = z.object({ certificateArn: z.string(), mode: z.literal("awsAcmArn"), }); export function stackSettingsCertificateAwsAcmArn2ToJSON( stackSettingsCertificateAwsAcmArn2: StackSettingsCertificateAwsAcmArn2, ): string { return JSON.stringify( StackSettingsCertificateAwsAcmArn2$outboundSchema.parse( stackSettingsCertificateAwsAcmArn2, ), ); } /** @internal */ export type StackSettingsCertificateManagedAcmImport2$Outbound = { mode: "managedAcmImport"; region?: string | null | undefined; tags?: { [k: string]: string } | undefined; }; /** @internal */ export const StackSettingsCertificateManagedAcmImport2$outboundSchema: z.ZodType< StackSettingsCertificateManagedAcmImport2$Outbound, StackSettingsCertificateManagedAcmImport2 > = z.object({ mode: z.literal("managedAcmImport"), region: z.nullable(z.string()).optional(), tags: z.record(z.string(), z.string()).optional(), }); export function stackSettingsCertificateManagedAcmImport2ToJSON( stackSettingsCertificateManagedAcmImport2: StackSettingsCertificateManagedAcmImport2, ): string { return JSON.stringify( StackSettingsCertificateManagedAcmImport2$outboundSchema.parse( stackSettingsCertificateManagedAcmImport2, ), ); } /** @internal */ export type StackSettingsCertificateTLSSecretRef2$Outbound = { namespace?: string | null | undefined; secretName: string; mode: "tlsSecretRef"; }; /** @internal */ export const StackSettingsCertificateTLSSecretRef2$outboundSchema: z.ZodType< StackSettingsCertificateTLSSecretRef2$Outbound, StackSettingsCertificateTLSSecretRef2 > = z.object({ namespace: z.nullable(z.string()).optional(), secretName: z.string(), mode: z.literal("tlsSecretRef"), }); export function stackSettingsCertificateTLSSecretRef2ToJSON( stackSettingsCertificateTLSSecretRef2: StackSettingsCertificateTLSSecretRef2, ): string { return JSON.stringify( StackSettingsCertificateTLSSecretRef2$outboundSchema.parse( stackSettingsCertificateTLSSecretRef2, ), ); } /** @internal */ export type StackSettingsCertificateUnion2$Outbound = | StackSettingsCertificateTLSSecretRef2$Outbound | StackSettingsCertificateManagedAcmImport2$Outbound | StackSettingsCertificateAwsAcmArn2$Outbound | StackSettingsCertificateManagedTLSSecret2$Outbound | StackSettingsCertificateNone2$Outbound; /** @internal */ export const StackSettingsCertificateUnion2$outboundSchema: z.ZodType< StackSettingsCertificateUnion2$Outbound, StackSettingsCertificateUnion2 > = z.union([ z.lazy(() => StackSettingsCertificateTLSSecretRef2$outboundSchema), z.lazy(() => StackSettingsCertificateManagedAcmImport2$outboundSchema), z.lazy(() => StackSettingsCertificateAwsAcmArn2$outboundSchema), z.lazy(() => StackSettingsCertificateManagedTLSSecret2$outboundSchema), z.lazy(() => StackSettingsCertificateNone2$outboundSchema), ]); export function stackSettingsCertificateUnion2ToJSON( stackSettingsCertificateUnion2: StackSettingsCertificateUnion2, ): string { return JSON.stringify( StackSettingsCertificateUnion2$outboundSchema.parse( stackSettingsCertificateUnion2, ), ); } /** @internal */ export const StackSettingsModeCustom$outboundSchema: z.ZodEnum< typeof StackSettingsModeCustom > = z.enum(StackSettingsModeCustom); /** @internal */ export const StackSettingsProviderAzureApplicationGatewayForContainersEnum4$outboundSchema: z.ZodEnum< typeof StackSettingsProviderAzureApplicationGatewayForContainersEnum4 > = z.enum(StackSettingsProviderAzureApplicationGatewayForContainersEnum4); /** @internal */ export type StackSettingsProviderAzureApplicationGatewayForContainers4$Outbound = { albName?: string | null | undefined; albNamespace?: string | null | undefined; frontend: string; provider: string; }; /** @internal */ export const StackSettingsProviderAzureApplicationGatewayForContainers4$outboundSchema: z.ZodType< StackSettingsProviderAzureApplicationGatewayForContainers4$Outbound, StackSettingsProviderAzureApplicationGatewayForContainers4 > = z.object({ albName: z.nullable(z.string()).optional(), albNamespace: z.nullable(z.string()).optional(), frontend: z.string(), provider: StackSettingsProviderAzureApplicationGatewayForContainersEnum4$outboundSchema, }); export function stackSettingsProviderAzureApplicationGatewayForContainers4ToJSON( stackSettingsProviderAzureApplicationGatewayForContainers4: StackSettingsProviderAzureApplicationGatewayForContainers4, ): string { return JSON.stringify( StackSettingsProviderAzureApplicationGatewayForContainers4$outboundSchema .parse(stackSettingsProviderAzureApplicationGatewayForContainers4), ); } /** @internal */ export const StackSettingsProviderGkeGatewayEnum4$outboundSchema: z.ZodEnum< typeof StackSettingsProviderGkeGatewayEnum4 > = z.enum(StackSettingsProviderGkeGatewayEnum4); /** @internal */ export type StackSettingsProviderGkeGateway4$Outbound = { provider: string; staticAddressName?: string | null | undefined; }; /** @internal */ export const StackSettingsProviderGkeGateway4$outboundSchema: z.ZodType< StackSettingsProviderGkeGateway4$Outbound, StackSettingsProviderGkeGateway4 > = z.object({ provider: StackSettingsProviderGkeGatewayEnum4$outboundSchema, staticAddressName: z.nullable(z.string()).optional(), }); export function stackSettingsProviderGkeGateway4ToJSON( stackSettingsProviderGkeGateway4: StackSettingsProviderGkeGateway4, ): string { return JSON.stringify( StackSettingsProviderGkeGateway4$outboundSchema.parse( stackSettingsProviderGkeGateway4, ), ); } /** @internal */ export const StackSettingsProviderAwsAlbEnum4$outboundSchema: z.ZodEnum< typeof StackSettingsProviderAwsAlbEnum4 > = z.enum(StackSettingsProviderAwsAlbEnum4); /** @internal */ export type StackSettingsProviderAwsAlb4$Outbound = { ipAddressType?: string | null | undefined; provider: string; scheme: string; subnetIds?: Array | undefined; targetType: string; }; /** @internal */ export const StackSettingsProviderAwsAlb4$outboundSchema: z.ZodType< StackSettingsProviderAwsAlb4$Outbound, StackSettingsProviderAwsAlb4 > = z.object({ ipAddressType: z.nullable(z.string()).optional(), provider: StackSettingsProviderAwsAlbEnum4$outboundSchema, scheme: z.string(), subnetIds: z.array(z.string()).optional(), targetType: z.string(), }); export function stackSettingsProviderAwsAlb4ToJSON( stackSettingsProviderAwsAlb4: StackSettingsProviderAwsAlb4, ): string { return JSON.stringify( StackSettingsProviderAwsAlb4$outboundSchema.parse( stackSettingsProviderAwsAlb4, ), ); } /** @internal */ export type StackSettingsProviderUnion4$Outbound = | StackSettingsProviderAwsAlb4$Outbound | StackSettingsProviderAzureApplicationGatewayForContainers4$Outbound | StackSettingsProviderGkeGateway4$Outbound | any; /** @internal */ export const StackSettingsProviderUnion4$outboundSchema: z.ZodType< StackSettingsProviderUnion4$Outbound, StackSettingsProviderUnion4 > = z.union([ z.lazy(() => StackSettingsProviderAwsAlb4$outboundSchema), z.lazy(() => StackSettingsProviderAzureApplicationGatewayForContainers4$outboundSchema ), z.lazy(() => StackSettingsProviderGkeGateway4$outboundSchema), z.any(), ]); export function stackSettingsProviderUnion4ToJSON( stackSettingsProviderUnion4: StackSettingsProviderUnion4, ): string { return JSON.stringify( StackSettingsProviderUnion4$outboundSchema.parse( stackSettingsProviderUnion4, ), ); } /** @internal */ export type StackSettingsRouteGateway2$Outbound = { annotations?: { [k: string]: string } | undefined; controller?: string | null | undefined; gatewayClassName: string; labels?: { [k: string]: string } | undefined; listenerPort: number; provider?: | StackSettingsProviderAwsAlb4$Outbound | StackSettingsProviderAzureApplicationGatewayForContainers4$Outbound | StackSettingsProviderGkeGateway4$Outbound | any | null | undefined; routeApi: "gateway"; }; /** @internal */ export const StackSettingsRouteGateway2$outboundSchema: z.ZodType< StackSettingsRouteGateway2$Outbound, StackSettingsRouteGateway2 > = z.object({ annotations: z.record(z.string(), z.string()).optional(), controller: z.nullable(z.string()).optional(), gatewayClassName: z.string(), labels: z.record(z.string(), z.string()).optional(), listenerPort: z.int(), provider: z.nullable( z.union([ z.lazy(() => StackSettingsProviderAwsAlb4$outboundSchema), z.lazy(() => StackSettingsProviderAzureApplicationGatewayForContainers4$outboundSchema ), z.lazy(() => StackSettingsProviderGkeGateway4$outboundSchema), z.any(), ]), ).optional(), routeApi: z.literal("gateway"), }); export function stackSettingsRouteGateway2ToJSON( stackSettingsRouteGateway2: StackSettingsRouteGateway2, ): string { return JSON.stringify( StackSettingsRouteGateway2$outboundSchema.parse(stackSettingsRouteGateway2), ); } /** @internal */ export const StackSettingsProviderAzureApplicationGatewayForContainersEnum3$outboundSchema: z.ZodEnum< typeof StackSettingsProviderAzureApplicationGatewayForContainersEnum3 > = z.enum(StackSettingsProviderAzureApplicationGatewayForContainersEnum3); /** @internal */ export type StackSettingsProviderAzureApplicationGatewayForContainers3$Outbound = { albName?: string | null | undefined; albNamespace?: string | null | undefined; frontend: string; provider: string; }; /** @internal */ export const StackSettingsProviderAzureApplicationGatewayForContainers3$outboundSchema: z.ZodType< StackSettingsProviderAzureApplicationGatewayForContainers3$Outbound, StackSettingsProviderAzureApplicationGatewayForContainers3 > = z.object({ albName: z.nullable(z.string()).optional(), albNamespace: z.nullable(z.string()).optional(), frontend: z.string(), provider: StackSettingsProviderAzureApplicationGatewayForContainersEnum3$outboundSchema, }); export function stackSettingsProviderAzureApplicationGatewayForContainers3ToJSON( stackSettingsProviderAzureApplicationGatewayForContainers3: StackSettingsProviderAzureApplicationGatewayForContainers3, ): string { return JSON.stringify( StackSettingsProviderAzureApplicationGatewayForContainers3$outboundSchema .parse(stackSettingsProviderAzureApplicationGatewayForContainers3), ); } /** @internal */ export const StackSettingsProviderGkeGatewayEnum3$outboundSchema: z.ZodEnum< typeof StackSettingsProviderGkeGatewayEnum3 > = z.enum(StackSettingsProviderGkeGatewayEnum3); /** @internal */ export type StackSettingsProviderGkeGateway3$Outbound = { provider: string; staticAddressName?: string | null | undefined; }; /** @internal */ export const StackSettingsProviderGkeGateway3$outboundSchema: z.ZodType< StackSettingsProviderGkeGateway3$Outbound, StackSettingsProviderGkeGateway3 > = z.object({ provider: StackSettingsProviderGkeGatewayEnum3$outboundSchema, staticAddressName: z.nullable(z.string()).optional(), }); export function stackSettingsProviderGkeGateway3ToJSON( stackSettingsProviderGkeGateway3: StackSettingsProviderGkeGateway3, ): string { return JSON.stringify( StackSettingsProviderGkeGateway3$outboundSchema.parse( stackSettingsProviderGkeGateway3, ), ); } /** @internal */ export const StackSettingsProviderAwsAlbEnum3$outboundSchema: z.ZodEnum< typeof StackSettingsProviderAwsAlbEnum3 > = z.enum(StackSettingsProviderAwsAlbEnum3); /** @internal */ export type StackSettingsProviderAwsAlb3$Outbound = { ipAddressType?: string | null | undefined; provider: string; scheme: string; subnetIds?: Array | undefined; targetType: string; }; /** @internal */ export const StackSettingsProviderAwsAlb3$outboundSchema: z.ZodType< StackSettingsProviderAwsAlb3$Outbound, StackSettingsProviderAwsAlb3 > = z.object({ ipAddressType: z.nullable(z.string()).optional(), provider: StackSettingsProviderAwsAlbEnum3$outboundSchema, scheme: z.string(), subnetIds: z.array(z.string()).optional(), targetType: z.string(), }); export function stackSettingsProviderAwsAlb3ToJSON( stackSettingsProviderAwsAlb3: StackSettingsProviderAwsAlb3, ): string { return JSON.stringify( StackSettingsProviderAwsAlb3$outboundSchema.parse( stackSettingsProviderAwsAlb3, ), ); } /** @internal */ export type StackSettingsProviderUnion3$Outbound = | StackSettingsProviderAwsAlb3$Outbound | StackSettingsProviderAzureApplicationGatewayForContainers3$Outbound | StackSettingsProviderGkeGateway3$Outbound | any; /** @internal */ export const StackSettingsProviderUnion3$outboundSchema: z.ZodType< StackSettingsProviderUnion3$Outbound, StackSettingsProviderUnion3 > = z.union([ z.lazy(() => StackSettingsProviderAwsAlb3$outboundSchema), z.lazy(() => StackSettingsProviderAzureApplicationGatewayForContainers3$outboundSchema ), z.lazy(() => StackSettingsProviderGkeGateway3$outboundSchema), z.any(), ]); export function stackSettingsProviderUnion3ToJSON( stackSettingsProviderUnion3: StackSettingsProviderUnion3, ): string { return JSON.stringify( StackSettingsProviderUnion3$outboundSchema.parse( stackSettingsProviderUnion3, ), ); } /** @internal */ export type StackSettingsRouteIngress2$Outbound = { annotations?: { [k: string]: string } | undefined; controller?: string | null | undefined; ingressClassName: string; labels?: { [k: string]: string } | undefined; provider?: | StackSettingsProviderAwsAlb3$Outbound | StackSettingsProviderAzureApplicationGatewayForContainers3$Outbound | StackSettingsProviderGkeGateway3$Outbound | any | null | undefined; routeApi: "ingress"; }; /** @internal */ export const StackSettingsRouteIngress2$outboundSchema: z.ZodType< StackSettingsRouteIngress2$Outbound, StackSettingsRouteIngress2 > = z.object({ annotations: z.record(z.string(), z.string()).optional(), controller: z.nullable(z.string()).optional(), ingressClassName: z.string(), labels: z.record(z.string(), z.string()).optional(), provider: z.nullable( z.union([ z.lazy(() => StackSettingsProviderAwsAlb3$outboundSchema), z.lazy(() => StackSettingsProviderAzureApplicationGatewayForContainers3$outboundSchema ), z.lazy(() => StackSettingsProviderGkeGateway3$outboundSchema), z.any(), ]), ).optional(), routeApi: z.literal("ingress"), }); export function stackSettingsRouteIngress2ToJSON( stackSettingsRouteIngress2: StackSettingsRouteIngress2, ): string { return JSON.stringify( StackSettingsRouteIngress2$outboundSchema.parse(stackSettingsRouteIngress2), ); } /** @internal */ export type StackSettingsRouteUnion2$Outbound = | StackSettingsRouteIngress2$Outbound | StackSettingsRouteGateway2$Outbound; /** @internal */ export const StackSettingsRouteUnion2$outboundSchema: z.ZodType< StackSettingsRouteUnion2$Outbound, StackSettingsRouteUnion2 > = z.union([ z.lazy(() => StackSettingsRouteIngress2$outboundSchema), z.lazy(() => StackSettingsRouteGateway2$outboundSchema), ]); export function stackSettingsRouteUnion2ToJSON( stackSettingsRouteUnion2: StackSettingsRouteUnion2, ): string { return JSON.stringify( StackSettingsRouteUnion2$outboundSchema.parse(stackSettingsRouteUnion2), ); } /** @internal */ export type StackSettingsExposureCustom$Outbound = { certificate: | StackSettingsCertificateTLSSecretRef2$Outbound | StackSettingsCertificateManagedAcmImport2$Outbound | StackSettingsCertificateAwsAcmArn2$Outbound | StackSettingsCertificateManagedTLSSecret2$Outbound | StackSettingsCertificateNone2$Outbound; domain: string; mode: string; route: | StackSettingsRouteIngress2$Outbound | StackSettingsRouteGateway2$Outbound; }; /** @internal */ export const StackSettingsExposureCustom$outboundSchema: z.ZodType< StackSettingsExposureCustom$Outbound, StackSettingsExposureCustom > = z.object({ certificate: z.union([ z.lazy(() => StackSettingsCertificateTLSSecretRef2$outboundSchema), z.lazy(() => StackSettingsCertificateManagedAcmImport2$outboundSchema), z.lazy(() => StackSettingsCertificateAwsAcmArn2$outboundSchema), z.lazy(() => StackSettingsCertificateManagedTLSSecret2$outboundSchema), z.lazy(() => StackSettingsCertificateNone2$outboundSchema), ]), domain: z.string(), mode: StackSettingsModeCustom$outboundSchema, route: z.union([ z.lazy(() => StackSettingsRouteIngress2$outboundSchema), z.lazy(() => StackSettingsRouteGateway2$outboundSchema), ]), }); export function stackSettingsExposureCustomToJSON( stackSettingsExposureCustom: StackSettingsExposureCustom, ): string { return JSON.stringify( StackSettingsExposureCustom$outboundSchema.parse( stackSettingsExposureCustom, ), ); } /** @internal */ export type StackSettingsCertificateNone1$Outbound = { mode: "none"; }; /** @internal */ export const StackSettingsCertificateNone1$outboundSchema: z.ZodType< StackSettingsCertificateNone1$Outbound, StackSettingsCertificateNone1 > = z.object({ mode: z.literal("none"), }); export function stackSettingsCertificateNone1ToJSON( stackSettingsCertificateNone1: StackSettingsCertificateNone1, ): string { return JSON.stringify( StackSettingsCertificateNone1$outboundSchema.parse( stackSettingsCertificateNone1, ), ); } /** @internal */ export type StackSettingsCertificateManagedTLSSecret1$Outbound = { mode: "managedTlsSecret"; secretNameTemplate: string; }; /** @internal */ export const StackSettingsCertificateManagedTLSSecret1$outboundSchema: z.ZodType< StackSettingsCertificateManagedTLSSecret1$Outbound, StackSettingsCertificateManagedTLSSecret1 > = z.object({ mode: z.literal("managedTlsSecret"), secretNameTemplate: z.string(), }); export function stackSettingsCertificateManagedTLSSecret1ToJSON( stackSettingsCertificateManagedTLSSecret1: StackSettingsCertificateManagedTLSSecret1, ): string { return JSON.stringify( StackSettingsCertificateManagedTLSSecret1$outboundSchema.parse( stackSettingsCertificateManagedTLSSecret1, ), ); } /** @internal */ export type StackSettingsCertificateAwsAcmArn1$Outbound = { certificateArn: string; mode: "awsAcmArn"; }; /** @internal */ export const StackSettingsCertificateAwsAcmArn1$outboundSchema: z.ZodType< StackSettingsCertificateAwsAcmArn1$Outbound, StackSettingsCertificateAwsAcmArn1 > = z.object({ certificateArn: z.string(), mode: z.literal("awsAcmArn"), }); export function stackSettingsCertificateAwsAcmArn1ToJSON( stackSettingsCertificateAwsAcmArn1: StackSettingsCertificateAwsAcmArn1, ): string { return JSON.stringify( StackSettingsCertificateAwsAcmArn1$outboundSchema.parse( stackSettingsCertificateAwsAcmArn1, ), ); } /** @internal */ export type StackSettingsCertificateManagedAcmImport1$Outbound = { mode: "managedAcmImport"; region?: string | null | undefined; tags?: { [k: string]: string } | undefined; }; /** @internal */ export const StackSettingsCertificateManagedAcmImport1$outboundSchema: z.ZodType< StackSettingsCertificateManagedAcmImport1$Outbound, StackSettingsCertificateManagedAcmImport1 > = z.object({ mode: z.literal("managedAcmImport"), region: z.nullable(z.string()).optional(), tags: z.record(z.string(), z.string()).optional(), }); export function stackSettingsCertificateManagedAcmImport1ToJSON( stackSettingsCertificateManagedAcmImport1: StackSettingsCertificateManagedAcmImport1, ): string { return JSON.stringify( StackSettingsCertificateManagedAcmImport1$outboundSchema.parse( stackSettingsCertificateManagedAcmImport1, ), ); } /** @internal */ export type StackSettingsCertificateTLSSecretRef1$Outbound = { namespace?: string | null | undefined; secretName: string; mode: "tlsSecretRef"; }; /** @internal */ export const StackSettingsCertificateTLSSecretRef1$outboundSchema: z.ZodType< StackSettingsCertificateTLSSecretRef1$Outbound, StackSettingsCertificateTLSSecretRef1 > = z.object({ namespace: z.nullable(z.string()).optional(), secretName: z.string(), mode: z.literal("tlsSecretRef"), }); export function stackSettingsCertificateTLSSecretRef1ToJSON( stackSettingsCertificateTLSSecretRef1: StackSettingsCertificateTLSSecretRef1, ): string { return JSON.stringify( StackSettingsCertificateTLSSecretRef1$outboundSchema.parse( stackSettingsCertificateTLSSecretRef1, ), ); } /** @internal */ export type StackSettingsCertificateUnion1$Outbound = | StackSettingsCertificateTLSSecretRef1$Outbound | StackSettingsCertificateManagedAcmImport1$Outbound | StackSettingsCertificateAwsAcmArn1$Outbound | StackSettingsCertificateManagedTLSSecret1$Outbound | StackSettingsCertificateNone1$Outbound; /** @internal */ export const StackSettingsCertificateUnion1$outboundSchema: z.ZodType< StackSettingsCertificateUnion1$Outbound, StackSettingsCertificateUnion1 > = z.union([ z.lazy(() => StackSettingsCertificateTLSSecretRef1$outboundSchema), z.lazy(() => StackSettingsCertificateManagedAcmImport1$outboundSchema), z.lazy(() => StackSettingsCertificateAwsAcmArn1$outboundSchema), z.lazy(() => StackSettingsCertificateManagedTLSSecret1$outboundSchema), z.lazy(() => StackSettingsCertificateNone1$outboundSchema), ]); export function stackSettingsCertificateUnion1ToJSON( stackSettingsCertificateUnion1: StackSettingsCertificateUnion1, ): string { return JSON.stringify( StackSettingsCertificateUnion1$outboundSchema.parse( stackSettingsCertificateUnion1, ), ); } /** @internal */ export const StackSettingsModeGenerated$outboundSchema: z.ZodEnum< typeof StackSettingsModeGenerated > = z.enum(StackSettingsModeGenerated); /** @internal */ export const StackSettingsProviderAzureApplicationGatewayForContainersEnum2$outboundSchema: z.ZodEnum< typeof StackSettingsProviderAzureApplicationGatewayForContainersEnum2 > = z.enum(StackSettingsProviderAzureApplicationGatewayForContainersEnum2); /** @internal */ export type StackSettingsProviderAzureApplicationGatewayForContainers2$Outbound = { albName?: string | null | undefined; albNamespace?: string | null | undefined; frontend: string; provider: string; }; /** @internal */ export const StackSettingsProviderAzureApplicationGatewayForContainers2$outboundSchema: z.ZodType< StackSettingsProviderAzureApplicationGatewayForContainers2$Outbound, StackSettingsProviderAzureApplicationGatewayForContainers2 > = z.object({ albName: z.nullable(z.string()).optional(), albNamespace: z.nullable(z.string()).optional(), frontend: z.string(), provider: StackSettingsProviderAzureApplicationGatewayForContainersEnum2$outboundSchema, }); export function stackSettingsProviderAzureApplicationGatewayForContainers2ToJSON( stackSettingsProviderAzureApplicationGatewayForContainers2: StackSettingsProviderAzureApplicationGatewayForContainers2, ): string { return JSON.stringify( StackSettingsProviderAzureApplicationGatewayForContainers2$outboundSchema .parse(stackSettingsProviderAzureApplicationGatewayForContainers2), ); } /** @internal */ export const StackSettingsProviderGkeGatewayEnum2$outboundSchema: z.ZodEnum< typeof StackSettingsProviderGkeGatewayEnum2 > = z.enum(StackSettingsProviderGkeGatewayEnum2); /** @internal */ export type StackSettingsProviderGkeGateway2$Outbound = { provider: string; staticAddressName?: string | null | undefined; }; /** @internal */ export const StackSettingsProviderGkeGateway2$outboundSchema: z.ZodType< StackSettingsProviderGkeGateway2$Outbound, StackSettingsProviderGkeGateway2 > = z.object({ provider: StackSettingsProviderGkeGatewayEnum2$outboundSchema, staticAddressName: z.nullable(z.string()).optional(), }); export function stackSettingsProviderGkeGateway2ToJSON( stackSettingsProviderGkeGateway2: StackSettingsProviderGkeGateway2, ): string { return JSON.stringify( StackSettingsProviderGkeGateway2$outboundSchema.parse( stackSettingsProviderGkeGateway2, ), ); } /** @internal */ export const StackSettingsProviderAwsAlbEnum2$outboundSchema: z.ZodEnum< typeof StackSettingsProviderAwsAlbEnum2 > = z.enum(StackSettingsProviderAwsAlbEnum2); /** @internal */ export type StackSettingsProviderAwsAlb2$Outbound = { ipAddressType?: string | null | undefined; provider: string; scheme: string; subnetIds?: Array | undefined; targetType: string; }; /** @internal */ export const StackSettingsProviderAwsAlb2$outboundSchema: z.ZodType< StackSettingsProviderAwsAlb2$Outbound, StackSettingsProviderAwsAlb2 > = z.object({ ipAddressType: z.nullable(z.string()).optional(), provider: StackSettingsProviderAwsAlbEnum2$outboundSchema, scheme: z.string(), subnetIds: z.array(z.string()).optional(), targetType: z.string(), }); export function stackSettingsProviderAwsAlb2ToJSON( stackSettingsProviderAwsAlb2: StackSettingsProviderAwsAlb2, ): string { return JSON.stringify( StackSettingsProviderAwsAlb2$outboundSchema.parse( stackSettingsProviderAwsAlb2, ), ); } /** @internal */ export type StackSettingsProviderUnion2$Outbound = | StackSettingsProviderAwsAlb2$Outbound | StackSettingsProviderAzureApplicationGatewayForContainers2$Outbound | StackSettingsProviderGkeGateway2$Outbound | any; /** @internal */ export const StackSettingsProviderUnion2$outboundSchema: z.ZodType< StackSettingsProviderUnion2$Outbound, StackSettingsProviderUnion2 > = z.union([ z.lazy(() => StackSettingsProviderAwsAlb2$outboundSchema), z.lazy(() => StackSettingsProviderAzureApplicationGatewayForContainers2$outboundSchema ), z.lazy(() => StackSettingsProviderGkeGateway2$outboundSchema), z.any(), ]); export function stackSettingsProviderUnion2ToJSON( stackSettingsProviderUnion2: StackSettingsProviderUnion2, ): string { return JSON.stringify( StackSettingsProviderUnion2$outboundSchema.parse( stackSettingsProviderUnion2, ), ); } /** @internal */ export type StackSettingsRouteGateway1$Outbound = { annotations?: { [k: string]: string } | undefined; controller?: string | null | undefined; gatewayClassName: string; labels?: { [k: string]: string } | undefined; listenerPort: number; provider?: | StackSettingsProviderAwsAlb2$Outbound | StackSettingsProviderAzureApplicationGatewayForContainers2$Outbound | StackSettingsProviderGkeGateway2$Outbound | any | null | undefined; routeApi: "gateway"; }; /** @internal */ export const StackSettingsRouteGateway1$outboundSchema: z.ZodType< StackSettingsRouteGateway1$Outbound, StackSettingsRouteGateway1 > = z.object({ annotations: z.record(z.string(), z.string()).optional(), controller: z.nullable(z.string()).optional(), gatewayClassName: z.string(), labels: z.record(z.string(), z.string()).optional(), listenerPort: z.int(), provider: z.nullable( z.union([ z.lazy(() => StackSettingsProviderAwsAlb2$outboundSchema), z.lazy(() => StackSettingsProviderAzureApplicationGatewayForContainers2$outboundSchema ), z.lazy(() => StackSettingsProviderGkeGateway2$outboundSchema), z.any(), ]), ).optional(), routeApi: z.literal("gateway"), }); export function stackSettingsRouteGateway1ToJSON( stackSettingsRouteGateway1: StackSettingsRouteGateway1, ): string { return JSON.stringify( StackSettingsRouteGateway1$outboundSchema.parse(stackSettingsRouteGateway1), ); } /** @internal */ export const StackSettingsProviderAzureApplicationGatewayForContainersEnum1$outboundSchema: z.ZodEnum< typeof StackSettingsProviderAzureApplicationGatewayForContainersEnum1 > = z.enum(StackSettingsProviderAzureApplicationGatewayForContainersEnum1); /** @internal */ export type StackSettingsProviderAzureApplicationGatewayForContainers1$Outbound = { albName?: string | null | undefined; albNamespace?: string | null | undefined; frontend: string; provider: string; }; /** @internal */ export const StackSettingsProviderAzureApplicationGatewayForContainers1$outboundSchema: z.ZodType< StackSettingsProviderAzureApplicationGatewayForContainers1$Outbound, StackSettingsProviderAzureApplicationGatewayForContainers1 > = z.object({ albName: z.nullable(z.string()).optional(), albNamespace: z.nullable(z.string()).optional(), frontend: z.string(), provider: StackSettingsProviderAzureApplicationGatewayForContainersEnum1$outboundSchema, }); export function stackSettingsProviderAzureApplicationGatewayForContainers1ToJSON( stackSettingsProviderAzureApplicationGatewayForContainers1: StackSettingsProviderAzureApplicationGatewayForContainers1, ): string { return JSON.stringify( StackSettingsProviderAzureApplicationGatewayForContainers1$outboundSchema .parse(stackSettingsProviderAzureApplicationGatewayForContainers1), ); } /** @internal */ export const StackSettingsProviderGkeGatewayEnum1$outboundSchema: z.ZodEnum< typeof StackSettingsProviderGkeGatewayEnum1 > = z.enum(StackSettingsProviderGkeGatewayEnum1); /** @internal */ export type StackSettingsProviderGkeGateway1$Outbound = { provider: string; staticAddressName?: string | null | undefined; }; /** @internal */ export const StackSettingsProviderGkeGateway1$outboundSchema: z.ZodType< StackSettingsProviderGkeGateway1$Outbound, StackSettingsProviderGkeGateway1 > = z.object({ provider: StackSettingsProviderGkeGatewayEnum1$outboundSchema, staticAddressName: z.nullable(z.string()).optional(), }); export function stackSettingsProviderGkeGateway1ToJSON( stackSettingsProviderGkeGateway1: StackSettingsProviderGkeGateway1, ): string { return JSON.stringify( StackSettingsProviderGkeGateway1$outboundSchema.parse( stackSettingsProviderGkeGateway1, ), ); } /** @internal */ export const StackSettingsProviderAwsAlbEnum1$outboundSchema: z.ZodEnum< typeof StackSettingsProviderAwsAlbEnum1 > = z.enum(StackSettingsProviderAwsAlbEnum1); /** @internal */ export type StackSettingsProviderAwsAlb1$Outbound = { ipAddressType?: string | null | undefined; provider: string; scheme: string; subnetIds?: Array | undefined; targetType: string; }; /** @internal */ export const StackSettingsProviderAwsAlb1$outboundSchema: z.ZodType< StackSettingsProviderAwsAlb1$Outbound, StackSettingsProviderAwsAlb1 > = z.object({ ipAddressType: z.nullable(z.string()).optional(), provider: StackSettingsProviderAwsAlbEnum1$outboundSchema, scheme: z.string(), subnetIds: z.array(z.string()).optional(), targetType: z.string(), }); export function stackSettingsProviderAwsAlb1ToJSON( stackSettingsProviderAwsAlb1: StackSettingsProviderAwsAlb1, ): string { return JSON.stringify( StackSettingsProviderAwsAlb1$outboundSchema.parse( stackSettingsProviderAwsAlb1, ), ); } /** @internal */ export type StackSettingsProviderUnion1$Outbound = | StackSettingsProviderAwsAlb1$Outbound | StackSettingsProviderAzureApplicationGatewayForContainers1$Outbound | StackSettingsProviderGkeGateway1$Outbound | any; /** @internal */ export const StackSettingsProviderUnion1$outboundSchema: z.ZodType< StackSettingsProviderUnion1$Outbound, StackSettingsProviderUnion1 > = z.union([ z.lazy(() => StackSettingsProviderAwsAlb1$outboundSchema), z.lazy(() => StackSettingsProviderAzureApplicationGatewayForContainers1$outboundSchema ), z.lazy(() => StackSettingsProviderGkeGateway1$outboundSchema), z.any(), ]); export function stackSettingsProviderUnion1ToJSON( stackSettingsProviderUnion1: StackSettingsProviderUnion1, ): string { return JSON.stringify( StackSettingsProviderUnion1$outboundSchema.parse( stackSettingsProviderUnion1, ), ); } /** @internal */ export type StackSettingsRouteIngress1$Outbound = { annotations?: { [k: string]: string } | undefined; controller?: string | null | undefined; ingressClassName: string; labels?: { [k: string]: string } | undefined; provider?: | StackSettingsProviderAwsAlb1$Outbound | StackSettingsProviderAzureApplicationGatewayForContainers1$Outbound | StackSettingsProviderGkeGateway1$Outbound | any | null | undefined; routeApi: "ingress"; }; /** @internal */ export const StackSettingsRouteIngress1$outboundSchema: z.ZodType< StackSettingsRouteIngress1$Outbound, StackSettingsRouteIngress1 > = z.object({ annotations: z.record(z.string(), z.string()).optional(), controller: z.nullable(z.string()).optional(), ingressClassName: z.string(), labels: z.record(z.string(), z.string()).optional(), provider: z.nullable( z.union([ z.lazy(() => StackSettingsProviderAwsAlb1$outboundSchema), z.lazy(() => StackSettingsProviderAzureApplicationGatewayForContainers1$outboundSchema ), z.lazy(() => StackSettingsProviderGkeGateway1$outboundSchema), z.any(), ]), ).optional(), routeApi: z.literal("ingress"), }); export function stackSettingsRouteIngress1ToJSON( stackSettingsRouteIngress1: StackSettingsRouteIngress1, ): string { return JSON.stringify( StackSettingsRouteIngress1$outboundSchema.parse(stackSettingsRouteIngress1), ); } /** @internal */ export type StackSettingsRouteUnion1$Outbound = | StackSettingsRouteIngress1$Outbound | StackSettingsRouteGateway1$Outbound; /** @internal */ export const StackSettingsRouteUnion1$outboundSchema: z.ZodType< StackSettingsRouteUnion1$Outbound, StackSettingsRouteUnion1 > = z.union([ z.lazy(() => StackSettingsRouteIngress1$outboundSchema), z.lazy(() => StackSettingsRouteGateway1$outboundSchema), ]); export function stackSettingsRouteUnion1ToJSON( stackSettingsRouteUnion1: StackSettingsRouteUnion1, ): string { return JSON.stringify( StackSettingsRouteUnion1$outboundSchema.parse(stackSettingsRouteUnion1), ); } /** @internal */ export type StackSettingsExposureGenerated$Outbound = { certificate: | StackSettingsCertificateTLSSecretRef1$Outbound | StackSettingsCertificateManagedAcmImport1$Outbound | StackSettingsCertificateAwsAcmArn1$Outbound | StackSettingsCertificateManagedTLSSecret1$Outbound | StackSettingsCertificateNone1$Outbound; mode: string; route: | StackSettingsRouteIngress1$Outbound | StackSettingsRouteGateway1$Outbound; }; /** @internal */ export const StackSettingsExposureGenerated$outboundSchema: z.ZodType< StackSettingsExposureGenerated$Outbound, StackSettingsExposureGenerated > = z.object({ certificate: z.union([ z.lazy(() => StackSettingsCertificateTLSSecretRef1$outboundSchema), z.lazy(() => StackSettingsCertificateManagedAcmImport1$outboundSchema), z.lazy(() => StackSettingsCertificateAwsAcmArn1$outboundSchema), z.lazy(() => StackSettingsCertificateManagedTLSSecret1$outboundSchema), z.lazy(() => StackSettingsCertificateNone1$outboundSchema), ]), mode: StackSettingsModeGenerated$outboundSchema, route: z.union([ z.lazy(() => StackSettingsRouteIngress1$outboundSchema), z.lazy(() => StackSettingsRouteGateway1$outboundSchema), ]), }); export function stackSettingsExposureGeneratedToJSON( stackSettingsExposureGenerated: StackSettingsExposureGenerated, ): string { return JSON.stringify( StackSettingsExposureGenerated$outboundSchema.parse( stackSettingsExposureGenerated, ), ); } /** @internal */ export const StackSettingsModeDisabled$outboundSchema: z.ZodEnum< typeof StackSettingsModeDisabled > = z.enum(StackSettingsModeDisabled); /** @internal */ export type StackSettingsExposureDisabled$Outbound = { mode: string; }; /** @internal */ export const StackSettingsExposureDisabled$outboundSchema: z.ZodType< StackSettingsExposureDisabled$Outbound, StackSettingsExposureDisabled > = z.object({ mode: StackSettingsModeDisabled$outboundSchema, }); export function stackSettingsExposureDisabledToJSON( stackSettingsExposureDisabled: StackSettingsExposureDisabled, ): string { return JSON.stringify( StackSettingsExposureDisabled$outboundSchema.parse( stackSettingsExposureDisabled, ), ); } /** @internal */ export type StackSettingsExposureUnion$Outbound = | StackSettingsExposureCustom$Outbound | StackSettingsExposureGenerated$Outbound | StackSettingsExposureDisabled$Outbound | any; /** @internal */ export const StackSettingsExposureUnion$outboundSchema: z.ZodType< StackSettingsExposureUnion$Outbound, StackSettingsExposureUnion > = z.union([ z.lazy(() => StackSettingsExposureCustom$outboundSchema), z.lazy(() => StackSettingsExposureGenerated$outboundSchema), z.lazy(() => StackSettingsExposureDisabled$outboundSchema), z.any(), ]); export function stackSettingsExposureUnionToJSON( stackSettingsExposureUnion: StackSettingsExposureUnion, ): string { return JSON.stringify( StackSettingsExposureUnion$outboundSchema.parse(stackSettingsExposureUnion), ); } /** @internal */ export type StackSettingsKubernetes$Outbound = { cluster?: StackSettingsCluster$Outbound | any | null | undefined; exposure?: | StackSettingsExposureCustom$Outbound | StackSettingsExposureGenerated$Outbound | StackSettingsExposureDisabled$Outbound | any | null | undefined; }; /** @internal */ export const StackSettingsKubernetes$outboundSchema: z.ZodType< StackSettingsKubernetes$Outbound, StackSettingsKubernetes > = z.object({ cluster: z.nullable( z.union([z.lazy(() => StackSettingsCluster$outboundSchema), z.any()]), ).optional(), exposure: z.nullable( z.union([ z.lazy(() => StackSettingsExposureCustom$outboundSchema), z.lazy(() => StackSettingsExposureGenerated$outboundSchema), z.lazy(() => StackSettingsExposureDisabled$outboundSchema), z.any(), ]), ).optional(), }); export function stackSettingsKubernetesToJSON( stackSettingsKubernetes: StackSettingsKubernetes, ): string { return JSON.stringify( StackSettingsKubernetes$outboundSchema.parse(stackSettingsKubernetes), ); } /** @internal */ export type StackSettingsKubernetesUnion$Outbound = | StackSettingsKubernetes$Outbound | any; /** @internal */ export const StackSettingsKubernetesUnion$outboundSchema: z.ZodType< StackSettingsKubernetesUnion$Outbound, StackSettingsKubernetesUnion > = z.union([z.lazy(() => StackSettingsKubernetes$outboundSchema), z.any()]); export function stackSettingsKubernetesUnionToJSON( stackSettingsKubernetesUnion: StackSettingsKubernetesUnion, ): string { return JSON.stringify( StackSettingsKubernetesUnion$outboundSchema.parse( stackSettingsKubernetesUnion, ), ); } /** @internal */ export const StackSettingsTypeByoVnetAzure$outboundSchema: z.ZodEnum< typeof StackSettingsTypeByoVnetAzure > = z.enum(StackSettingsTypeByoVnetAzure); /** @internal */ export type StackSettingsNetworkByoVnetAzure$Outbound = { application_gateway_subnet_name?: string | null | undefined; private_endpoint_subnet_name?: string | null | undefined; private_subnet_name: string; public_subnet_name: string; type: string; vnet_resource_id: string; }; /** @internal */ export const StackSettingsNetworkByoVnetAzure$outboundSchema: z.ZodType< StackSettingsNetworkByoVnetAzure$Outbound, StackSettingsNetworkByoVnetAzure > = z.object({ applicationGatewaySubnetName: z.nullable(z.string()).optional(), privateEndpointSubnetName: z.nullable(z.string()).optional(), privateSubnetName: z.string(), publicSubnetName: z.string(), type: StackSettingsTypeByoVnetAzure$outboundSchema, vnetResourceId: z.string(), }).transform((v) => { return remap$(v, { applicationGatewaySubnetName: "application_gateway_subnet_name", privateEndpointSubnetName: "private_endpoint_subnet_name", privateSubnetName: "private_subnet_name", publicSubnetName: "public_subnet_name", vnetResourceId: "vnet_resource_id", }); }); export function stackSettingsNetworkByoVnetAzureToJSON( stackSettingsNetworkByoVnetAzure: StackSettingsNetworkByoVnetAzure, ): string { return JSON.stringify( StackSettingsNetworkByoVnetAzure$outboundSchema.parse( stackSettingsNetworkByoVnetAzure, ), ); } /** @internal */ export const StackSettingsTypeByoVpcGcp$outboundSchema: z.ZodEnum< typeof StackSettingsTypeByoVpcGcp > = z.enum(StackSettingsTypeByoVpcGcp); /** @internal */ export type StackSettingsNetworkByoVpcGcp$Outbound = { network_name: string; region: string; subnet_name: string; type: string; }; /** @internal */ export const StackSettingsNetworkByoVpcGcp$outboundSchema: z.ZodType< StackSettingsNetworkByoVpcGcp$Outbound, StackSettingsNetworkByoVpcGcp > = z.object({ networkName: z.string(), region: z.string(), subnetName: z.string(), type: StackSettingsTypeByoVpcGcp$outboundSchema, }).transform((v) => { return remap$(v, { networkName: "network_name", subnetName: "subnet_name", }); }); export function stackSettingsNetworkByoVpcGcpToJSON( stackSettingsNetworkByoVpcGcp: StackSettingsNetworkByoVpcGcp, ): string { return JSON.stringify( StackSettingsNetworkByoVpcGcp$outboundSchema.parse( stackSettingsNetworkByoVpcGcp, ), ); } /** @internal */ export const StackSettingsTypeByoVpcAws$outboundSchema: z.ZodEnum< typeof StackSettingsTypeByoVpcAws > = z.enum(StackSettingsTypeByoVpcAws); /** @internal */ export type StackSettingsNetworkByoVpcAws$Outbound = { private_subnet_ids: Array; public_subnet_ids: Array; security_group_ids?: Array | undefined; type: string; vpc_id: string; }; /** @internal */ export const StackSettingsNetworkByoVpcAws$outboundSchema: z.ZodType< StackSettingsNetworkByoVpcAws$Outbound, StackSettingsNetworkByoVpcAws > = z.object({ privateSubnetIds: z.array(z.string()), publicSubnetIds: z.array(z.string()), securityGroupIds: z.array(z.string()).optional(), type: StackSettingsTypeByoVpcAws$outboundSchema, vpcId: z.string(), }).transform((v) => { return remap$(v, { privateSubnetIds: "private_subnet_ids", publicSubnetIds: "public_subnet_ids", securityGroupIds: "security_group_ids", vpcId: "vpc_id", }); }); export function stackSettingsNetworkByoVpcAwsToJSON( stackSettingsNetworkByoVpcAws: StackSettingsNetworkByoVpcAws, ): string { return JSON.stringify( StackSettingsNetworkByoVpcAws$outboundSchema.parse( stackSettingsNetworkByoVpcAws, ), ); } /** @internal */ export const StackSettingsTypeCreate$outboundSchema: z.ZodEnum< typeof StackSettingsTypeCreate > = z.enum(StackSettingsTypeCreate); /** @internal */ export type StackSettingsNetworkCreate$Outbound = { availability_zones?: number | undefined; cidr?: string | null | undefined; type: string; }; /** @internal */ export const StackSettingsNetworkCreate$outboundSchema: z.ZodType< StackSettingsNetworkCreate$Outbound, StackSettingsNetworkCreate > = z.object({ availabilityZones: z.int().optional(), cidr: z.nullable(z.string()).optional(), type: StackSettingsTypeCreate$outboundSchema, }).transform((v) => { return remap$(v, { availabilityZones: "availability_zones", }); }); export function stackSettingsNetworkCreateToJSON( stackSettingsNetworkCreate: StackSettingsNetworkCreate, ): string { return JSON.stringify( StackSettingsNetworkCreate$outboundSchema.parse(stackSettingsNetworkCreate), ); } /** @internal */ export const StackSettingsTypeUseDefault$outboundSchema: z.ZodEnum< typeof StackSettingsTypeUseDefault > = z.enum(StackSettingsTypeUseDefault); /** @internal */ export type StackSettingsNetworkUseDefault$Outbound = { type: string; }; /** @internal */ export const StackSettingsNetworkUseDefault$outboundSchema: z.ZodType< StackSettingsNetworkUseDefault$Outbound, StackSettingsNetworkUseDefault > = z.object({ type: StackSettingsTypeUseDefault$outboundSchema, }); export function stackSettingsNetworkUseDefaultToJSON( stackSettingsNetworkUseDefault: StackSettingsNetworkUseDefault, ): string { return JSON.stringify( StackSettingsNetworkUseDefault$outboundSchema.parse( stackSettingsNetworkUseDefault, ), ); } /** @internal */ export type StackSettingsNetworkUnion$Outbound = | StackSettingsNetworkByoVpcAws$Outbound | StackSettingsNetworkByoVpcGcp$Outbound | StackSettingsNetworkByoVnetAzure$Outbound | StackSettingsNetworkUseDefault$Outbound | StackSettingsNetworkCreate$Outbound | any; /** @internal */ export const StackSettingsNetworkUnion$outboundSchema: z.ZodType< StackSettingsNetworkUnion$Outbound, StackSettingsNetworkUnion > = z.union([ z.lazy(() => StackSettingsNetworkByoVpcAws$outboundSchema), z.lazy(() => StackSettingsNetworkByoVpcGcp$outboundSchema), z.lazy(() => StackSettingsNetworkByoVnetAzure$outboundSchema), z.lazy(() => StackSettingsNetworkUseDefault$outboundSchema), z.lazy(() => StackSettingsNetworkCreate$outboundSchema), z.any(), ]); export function stackSettingsNetworkUnionToJSON( stackSettingsNetworkUnion: StackSettingsNetworkUnion, ): string { return JSON.stringify( StackSettingsNetworkUnion$outboundSchema.parse(stackSettingsNetworkUnion), ); } /** @internal */ export const StackSettingsTelemetry$outboundSchema: z.ZodEnum< typeof StackSettingsTelemetry > = z.enum(StackSettingsTelemetry); /** @internal */ export const StackSettingsUpdates$outboundSchema: z.ZodEnum< typeof StackSettingsUpdates > = z.enum(StackSettingsUpdates); /** @internal */ export type StackSettings$Outbound = { compute?: StackSettingsCompute$Outbound | any | null | undefined; deploymentModel?: string | undefined; domains?: StackSettingsDomains$Outbound | any | null | undefined; externalBindings?: StackSettingsExternalBindings$Outbound | null | undefined; heartbeats?: string | undefined; kubernetes?: StackSettingsKubernetes$Outbound | any | null | undefined; network?: | StackSettingsNetworkByoVpcAws$Outbound | StackSettingsNetworkByoVpcGcp$Outbound | StackSettingsNetworkByoVnetAzure$Outbound | StackSettingsNetworkUseDefault$Outbound | StackSettingsNetworkCreate$Outbound | any | null | undefined; publicEndpoints?: { [k: string]: { [k: string]: string } } | null | undefined; telemetry?: string | undefined; updates?: string | undefined; }; /** @internal */ export const StackSettings$outboundSchema: z.ZodType< StackSettings$Outbound, StackSettings > = z.object({ compute: z.nullable( z.union([z.lazy(() => StackSettingsCompute$outboundSchema), z.any()]), ).optional(), deploymentModel: StackSettingsDeploymentModel$outboundSchema.optional(), domains: z.nullable( z.union([z.lazy(() => StackSettingsDomains$outboundSchema), z.any()]), ).optional(), externalBindings: z.nullable( z.lazy(() => StackSettingsExternalBindings$outboundSchema), ).optional(), heartbeats: StackSettingsHeartbeats$outboundSchema.optional(), kubernetes: z.nullable( z.union([z.lazy(() => StackSettingsKubernetes$outboundSchema), z.any()]), ).optional(), network: z.nullable( z.union([ z.lazy(() => StackSettingsNetworkByoVpcAws$outboundSchema), z.lazy(() => StackSettingsNetworkByoVpcGcp$outboundSchema), z.lazy(() => StackSettingsNetworkByoVnetAzure$outboundSchema), z.lazy(() => StackSettingsNetworkUseDefault$outboundSchema), z.lazy(() => StackSettingsNetworkCreate$outboundSchema), z.any(), ]), ).optional(), publicEndpoints: z.nullable( z.record(z.string(), z.record(z.string(), z.string())), ).optional(), telemetry: StackSettingsTelemetry$outboundSchema.optional(), updates: StackSettingsUpdates$outboundSchema.optional(), }); export function stackSettingsToJSON(stackSettings: StackSettings): string { return JSON.stringify(StackSettings$outboundSchema.parse(stackSettings)); }