/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: a0090362b8d0 */ import * as z from "zod/v4"; import { remap as remap$ } from "../../lib/primitives.js"; import { ClosedEnum } from "../../types/enums.js"; import * as models from "../index.js"; export type PrepareDeploymentStackGlobals = { /** * Workspace name. Platform API keys already select a workspace; other authentication methods can configure it once on the SDK client. */ workspace?: string | undefined; }; export const PrepareDeploymentStackSetupItem = { Deployment: "deployment", Models: "models", Keys: "keys", Bucket: "bucket", Registry: "registry", Sandbox: "sandbox", } as const; export type PrepareDeploymentStackSetupItem = ClosedEnum< typeof PrepareDeploymentStackSetupItem >; export const PrepareDeploymentStackPlatform = { Aws: "aws", Gcp: "gcp", Azure: "azure", } as const; export type PrepareDeploymentStackPlatform = ClosedEnum< typeof PrepareDeploymentStackPlatform >; /** * Failure-domain policy selected for a compute pool. */ export type PrepareDeploymentStackFailureDomains2 = { /** * 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 PrepareDeploymentStackFailureDomainsUnion2 = | PrepareDeploymentStackFailureDomains2 | any; export type PrepareDeploymentStackPoolsAutoscale = { failureDomains?: | PrepareDeploymentStackFailureDomains2 | 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 PrepareDeploymentStackFailureDomains1 = { /** * 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 PrepareDeploymentStackFailureDomainsUnion1 = | PrepareDeploymentStackFailureDomains1 | any; export type PrepareDeploymentStackPoolsFixed = { failureDomains?: | PrepareDeploymentStackFailureDomains1 | 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 PrepareDeploymentStackPoolsUnion = | PrepareDeploymentStackPoolsFixed | PrepareDeploymentStackPoolsAutoscale; /** * 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 PrepareDeploymentStackCompute = { /** * Selected compute choices keyed by pool ID. */ pools?: { [k: string]: | PrepareDeploymentStackPoolsFixed | PrepareDeploymentStackPoolsAutoscale; } | undefined; }; export type PrepareDeploymentStackComputeUnion = | PrepareDeploymentStackCompute | any; /** * Deployment model: how updates are delivered to the remote environment. */ export const PrepareDeploymentStackDeploymentModel = { Push: "push", Pull: "pull", } as const; /** * Deployment model: how updates are delivered to the remote environment. */ export type PrepareDeploymentStackDeploymentModel = ClosedEnum< typeof PrepareDeploymentStackDeploymentModel >; export type PrepareDeploymentStackAws = { certificateArn: string; }; export type PrepareDeploymentStackAwsUnion = PrepareDeploymentStackAws | any; export type PrepareDeploymentStackAzure = { keyVaultCertificateId: string; keyVaultResourceId?: string | null | undefined; }; export type PrepareDeploymentStackAzureUnion = | PrepareDeploymentStackAzure | any; export type PrepareDeploymentStackGcp = { certificateName: string; }; export type PrepareDeploymentStackGcpUnion = PrepareDeploymentStackGcp | any; /** * Namespace-scoped Kubernetes TLS Secret reference. */ export type PrepareDeploymentStackTlsSecretRef = { /** * Secret namespace. Defaults to the release namespace when omitted. */ namespace?: string | null | undefined; /** * Secret name. */ secretName: string; }; export type PrepareDeploymentStackDomainsKubernetes = { /** * Namespace-scoped Kubernetes TLS Secret reference. */ tlsSecretRef: PrepareDeploymentStackTlsSecretRef; }; export type PrepareDeploymentStackDomainsKubernetesUnion = | PrepareDeploymentStackDomainsKubernetes | any; /** * Platform-specific certificate references for custom domains. */ export type PrepareDeploymentStackDomainsCertificate = { aws?: PrepareDeploymentStackAws | any | null | undefined; azure?: PrepareDeploymentStackAzure | any | null | undefined; gcp?: PrepareDeploymentStackGcp | any | null | undefined; kubernetes?: PrepareDeploymentStackDomainsKubernetes | any | null | undefined; }; /** * Custom domain configuration for a single resource. */ export type PrepareDeploymentStackCustomDomains = { /** * Platform-specific certificate references for custom domains. */ certificate: PrepareDeploymentStackDomainsCertificate; /** * Fully qualified domain name to use. */ domain: string; }; export const PrepareDeploymentStackModeLoadBalancer = { LoadBalancer: "loadBalancer", } as const; export type PrepareDeploymentStackModeLoadBalancer = ClosedEnum< typeof PrepareDeploymentStackModeLoadBalancer >; export type PrepareDeploymentStackPublicEndpointTargetLoadBalancer = { /** * DNS name or URL for the external load balancer. */ cnameTarget: string; mode: PrepareDeploymentStackModeLoadBalancer; }; export const PrepareDeploymentStackModeMachineAddresses = { MachineAddresses: "machineAddresses", } as const; export type PrepareDeploymentStackModeMachineAddresses = ClosedEnum< typeof PrepareDeploymentStackModeMachineAddresses >; export type PrepareDeploymentStackPublicEndpointTargetMachineAddresses = { mode: PrepareDeploymentStackModeMachineAddresses; }; export type PrepareDeploymentStackPublicEndpointTargetUnion = | PrepareDeploymentStackPublicEndpointTargetLoadBalancer | PrepareDeploymentStackPublicEndpointTargetMachineAddresses | 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 PrepareDeploymentStackDomains = { /** * Custom domain configuration per resource ID. */ customDomains?: | { [k: string]: PrepareDeploymentStackCustomDomains } | null | undefined; publicEndpointTarget?: | PrepareDeploymentStackPublicEndpointTargetLoadBalancer | PrepareDeploymentStackPublicEndpointTargetMachineAddresses | any | null | undefined; }; export type PrepareDeploymentStackDomainsUnion = | PrepareDeploymentStackDomains | 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 PrepareDeploymentStackExternalBindings = {}; /** * How heartbeat health checks are handled. */ export const PrepareDeploymentStackHeartbeats = { Off: "off", On: "on", } as const; /** * How heartbeat health checks are handled. */ export type PrepareDeploymentStackHeartbeats = ClosedEnum< typeof PrepareDeploymentStackHeartbeats >; /** * Optional provider-specific identity for a cloud-backed Kubernetes cluster. */ export type PrepareDeploymentStackCloud = { 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 PrepareDeploymentStackCloudUnion = | PrepareDeploymentStackCloud | any; /** * Ownership model for the Kubernetes cluster. */ export const PrepareDeploymentStackOwnership = { Managed: "managed", Existing: "existing", External: "external", } as const; /** * Ownership model for the Kubernetes cluster. */ export type PrepareDeploymentStackOwnership = ClosedEnum< typeof PrepareDeploymentStackOwnership >; /** * Kubernetes cluster setup settings. */ export type PrepareDeploymentStackCluster = { cloud?: PrepareDeploymentStackCloud | any | null | undefined; /** * Namespace where the Alien chart and application resources run. */ namespace?: string | null | undefined; /** * Ownership model for the Kubernetes cluster. */ ownership: PrepareDeploymentStackOwnership; }; export type PrepareDeploymentStackClusterUnion = | PrepareDeploymentStackCluster | any; export type PrepareDeploymentStackCertificateNone2 = { mode: "none"; }; export type PrepareDeploymentStackCertificateManagedTLSSecret2 = { mode: "managedTlsSecret"; /** * Secret name template. Runtime may substitute resource/deployment tokens. */ secretNameTemplate: string; }; export type PrepareDeploymentStackCertificateAwsAcmArn2 = { /** * Existing ACM certificate ARN. */ certificateArn: string; mode: "awsAcmArn"; }; export type PrepareDeploymentStackCertificateManagedAcmImport2 = { 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 PrepareDeploymentStackCertificateTLSSecretRef2 = { /** * 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 PrepareDeploymentStackCertificateUnion2 = | PrepareDeploymentStackCertificateTLSSecretRef2 | PrepareDeploymentStackCertificateManagedAcmImport2 | PrepareDeploymentStackCertificateAwsAcmArn2 | PrepareDeploymentStackCertificateManagedTLSSecret2 | PrepareDeploymentStackCertificateNone2; export const PrepareDeploymentStackModeCustom = { Custom: "custom", } as const; export type PrepareDeploymentStackModeCustom = ClosedEnum< typeof PrepareDeploymentStackModeCustom >; export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum4 = { AzureApplicationGatewayForContainers: "azureApplicationGatewayForContainers", } as const; export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum4 = ClosedEnum< typeof PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum4 >; export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4 = { /** * 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: PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum4; }; export const PrepareDeploymentStackProviderGkeGatewayEnum4 = { GkeGateway: "gkeGateway", } as const; export type PrepareDeploymentStackProviderGkeGatewayEnum4 = ClosedEnum< typeof PrepareDeploymentStackProviderGkeGatewayEnum4 >; export type PrepareDeploymentStackProviderGkeGateway4 = { provider: PrepareDeploymentStackProviderGkeGatewayEnum4; /** * Optional static address name for the Gateway frontend. */ staticAddressName?: string | null | undefined; }; export const PrepareDeploymentStackProviderAwsAlbEnum4 = { AwsAlb: "awsAlb", } as const; export type PrepareDeploymentStackProviderAwsAlbEnum4 = ClosedEnum< typeof PrepareDeploymentStackProviderAwsAlbEnum4 >; export type PrepareDeploymentStackProviderAwsAlb4 = { /** * Optional ALB IP address type, such as `dualstack`. */ ipAddressType?: string | null | undefined; provider: PrepareDeploymentStackProviderAwsAlbEnum4; /** * 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 PrepareDeploymentStackProviderUnion4 = | PrepareDeploymentStackProviderAwsAlb4 | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4 | PrepareDeploymentStackProviderGkeGateway4 | any; /** * Shared Gateway API route profile values. */ export type PrepareDeploymentStackRouteGateway2 = { /** * 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?: | PrepareDeploymentStackProviderAwsAlb4 | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4 | PrepareDeploymentStackProviderGkeGateway4 | any | null | undefined; routeApi: "gateway"; }; export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum3 = { AzureApplicationGatewayForContainers: "azureApplicationGatewayForContainers", } as const; export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum3 = ClosedEnum< typeof PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum3 >; export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3 = { /** * 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: PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum3; }; export const PrepareDeploymentStackProviderGkeGatewayEnum3 = { GkeGateway: "gkeGateway", } as const; export type PrepareDeploymentStackProviderGkeGatewayEnum3 = ClosedEnum< typeof PrepareDeploymentStackProviderGkeGatewayEnum3 >; export type PrepareDeploymentStackProviderGkeGateway3 = { provider: PrepareDeploymentStackProviderGkeGatewayEnum3; /** * Optional static address name for the Gateway frontend. */ staticAddressName?: string | null | undefined; }; export const PrepareDeploymentStackProviderAwsAlbEnum3 = { AwsAlb: "awsAlb", } as const; export type PrepareDeploymentStackProviderAwsAlbEnum3 = ClosedEnum< typeof PrepareDeploymentStackProviderAwsAlbEnum3 >; export type PrepareDeploymentStackProviderAwsAlb3 = { /** * Optional ALB IP address type, such as `dualstack`. */ ipAddressType?: string | null | undefined; provider: PrepareDeploymentStackProviderAwsAlbEnum3; /** * 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 PrepareDeploymentStackProviderUnion3 = | PrepareDeploymentStackProviderAwsAlb3 | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3 | PrepareDeploymentStackProviderGkeGateway3 | any; /** * Shared Ingress route profile values. */ export type PrepareDeploymentStackRouteIngress2 = { /** * 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?: | PrepareDeploymentStackProviderAwsAlb3 | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3 | PrepareDeploymentStackProviderGkeGateway3 | any | null | undefined; routeApi: "ingress"; }; /** * Kubernetes route API selected for public endpoints. */ export type PrepareDeploymentStackRouteUnion2 = | PrepareDeploymentStackRouteIngress2 | PrepareDeploymentStackRouteGateway2; export type PrepareDeploymentStackExposureCustom = { /** * Certificate publication or reference mode for Kubernetes public endpoints. */ certificate: | PrepareDeploymentStackCertificateTLSSecretRef2 | PrepareDeploymentStackCertificateManagedAcmImport2 | PrepareDeploymentStackCertificateAwsAcmArn2 | PrepareDeploymentStackCertificateManagedTLSSecret2 | PrepareDeploymentStackCertificateNone2; /** * Hostname routed by the Kubernetes public endpoint. */ domain: string; mode: PrepareDeploymentStackModeCustom; /** * Kubernetes route API selected for public endpoints. */ route: | PrepareDeploymentStackRouteIngress2 | PrepareDeploymentStackRouteGateway2; }; export type PrepareDeploymentStackCertificateNone1 = { mode: "none"; }; export type PrepareDeploymentStackCertificateManagedTLSSecret1 = { mode: "managedTlsSecret"; /** * Secret name template. Runtime may substitute resource/deployment tokens. */ secretNameTemplate: string; }; export type PrepareDeploymentStackCertificateAwsAcmArn1 = { /** * Existing ACM certificate ARN. */ certificateArn: string; mode: "awsAcmArn"; }; export type PrepareDeploymentStackCertificateManagedAcmImport1 = { 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 PrepareDeploymentStackCertificateTLSSecretRef1 = { /** * 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 PrepareDeploymentStackCertificateUnion1 = | PrepareDeploymentStackCertificateTLSSecretRef1 | PrepareDeploymentStackCertificateManagedAcmImport1 | PrepareDeploymentStackCertificateAwsAcmArn1 | PrepareDeploymentStackCertificateManagedTLSSecret1 | PrepareDeploymentStackCertificateNone1; export const PrepareDeploymentStackModeGenerated = { Generated: "generated", } as const; export type PrepareDeploymentStackModeGenerated = ClosedEnum< typeof PrepareDeploymentStackModeGenerated >; export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum2 = { AzureApplicationGatewayForContainers: "azureApplicationGatewayForContainers", } as const; export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum2 = ClosedEnum< typeof PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum2 >; export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2 = { /** * 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: PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum2; }; export const PrepareDeploymentStackProviderGkeGatewayEnum2 = { GkeGateway: "gkeGateway", } as const; export type PrepareDeploymentStackProviderGkeGatewayEnum2 = ClosedEnum< typeof PrepareDeploymentStackProviderGkeGatewayEnum2 >; export type PrepareDeploymentStackProviderGkeGateway2 = { provider: PrepareDeploymentStackProviderGkeGatewayEnum2; /** * Optional static address name for the Gateway frontend. */ staticAddressName?: string | null | undefined; }; export const PrepareDeploymentStackProviderAwsAlbEnum2 = { AwsAlb: "awsAlb", } as const; export type PrepareDeploymentStackProviderAwsAlbEnum2 = ClosedEnum< typeof PrepareDeploymentStackProviderAwsAlbEnum2 >; export type PrepareDeploymentStackProviderAwsAlb2 = { /** * Optional ALB IP address type, such as `dualstack`. */ ipAddressType?: string | null | undefined; provider: PrepareDeploymentStackProviderAwsAlbEnum2; /** * 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 PrepareDeploymentStackProviderUnion2 = | PrepareDeploymentStackProviderAwsAlb2 | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2 | PrepareDeploymentStackProviderGkeGateway2 | any; /** * Shared Gateway API route profile values. */ export type PrepareDeploymentStackRouteGateway1 = { /** * 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?: | PrepareDeploymentStackProviderAwsAlb2 | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2 | PrepareDeploymentStackProviderGkeGateway2 | any | null | undefined; routeApi: "gateway"; }; export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum1 = { AzureApplicationGatewayForContainers: "azureApplicationGatewayForContainers", } as const; export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum1 = ClosedEnum< typeof PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum1 >; export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1 = { /** * 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: PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum1; }; export const PrepareDeploymentStackProviderGkeGatewayEnum1 = { GkeGateway: "gkeGateway", } as const; export type PrepareDeploymentStackProviderGkeGatewayEnum1 = ClosedEnum< typeof PrepareDeploymentStackProviderGkeGatewayEnum1 >; export type PrepareDeploymentStackProviderGkeGateway1 = { provider: PrepareDeploymentStackProviderGkeGatewayEnum1; /** * Optional static address name for the Gateway frontend. */ staticAddressName?: string | null | undefined; }; export const PrepareDeploymentStackProviderAwsAlbEnum1 = { AwsAlb: "awsAlb", } as const; export type PrepareDeploymentStackProviderAwsAlbEnum1 = ClosedEnum< typeof PrepareDeploymentStackProviderAwsAlbEnum1 >; export type PrepareDeploymentStackProviderAwsAlb1 = { /** * Optional ALB IP address type, such as `dualstack`. */ ipAddressType?: string | null | undefined; provider: PrepareDeploymentStackProviderAwsAlbEnum1; /** * 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 PrepareDeploymentStackProviderUnion1 = | PrepareDeploymentStackProviderAwsAlb1 | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1 | PrepareDeploymentStackProviderGkeGateway1 | any; /** * Shared Ingress route profile values. */ export type PrepareDeploymentStackRouteIngress1 = { /** * 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?: | PrepareDeploymentStackProviderAwsAlb1 | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1 | PrepareDeploymentStackProviderGkeGateway1 | any | null | undefined; routeApi: "ingress"; }; /** * Kubernetes route API selected for public endpoints. */ export type PrepareDeploymentStackRouteUnion1 = | PrepareDeploymentStackRouteIngress1 | PrepareDeploymentStackRouteGateway1; export type PrepareDeploymentStackExposureGenerated = { /** * Certificate publication or reference mode for Kubernetes public endpoints. */ certificate: | PrepareDeploymentStackCertificateTLSSecretRef1 | PrepareDeploymentStackCertificateManagedAcmImport1 | PrepareDeploymentStackCertificateAwsAcmArn1 | PrepareDeploymentStackCertificateManagedTLSSecret1 | PrepareDeploymentStackCertificateNone1; mode: PrepareDeploymentStackModeGenerated; /** * Kubernetes route API selected for public endpoints. */ route: | PrepareDeploymentStackRouteIngress1 | PrepareDeploymentStackRouteGateway1; }; export const PrepareDeploymentStackModeDisabled = { Disabled: "disabled", } as const; export type PrepareDeploymentStackModeDisabled = ClosedEnum< typeof PrepareDeploymentStackModeDisabled >; export type PrepareDeploymentStackExposureDisabled = { mode: PrepareDeploymentStackModeDisabled; }; export type PrepareDeploymentStackExposureUnion = | PrepareDeploymentStackExposureCustom | PrepareDeploymentStackExposureGenerated | PrepareDeploymentStackExposureDisabled | 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 PrepareDeploymentStackKubernetes = { cluster?: PrepareDeploymentStackCluster | any | null | undefined; exposure?: | PrepareDeploymentStackExposureCustom | PrepareDeploymentStackExposureGenerated | PrepareDeploymentStackExposureDisabled | any | null | undefined; }; export type PrepareDeploymentStackKubernetesUnion = | PrepareDeploymentStackKubernetes | any; export const PrepareDeploymentStackTypeByoVnetAzure = { ByoVnetAzure: "byo-vnet-azure", } as const; export type PrepareDeploymentStackTypeByoVnetAzure = ClosedEnum< typeof PrepareDeploymentStackTypeByoVnetAzure >; export type PrepareDeploymentStackNetworkByoVnetAzure = { /** * 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: PrepareDeploymentStackTypeByoVnetAzure; /** * The full resource ID of the existing VNet */ vnetResourceId: string; }; export const PrepareDeploymentStackTypeByoVpcGcp = { ByoVpcGcp: "byo-vpc-gcp", } as const; export type PrepareDeploymentStackTypeByoVpcGcp = ClosedEnum< typeof PrepareDeploymentStackTypeByoVpcGcp >; export type PrepareDeploymentStackNetworkByoVpcGcp = { /** * 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: PrepareDeploymentStackTypeByoVpcGcp; }; export const PrepareDeploymentStackTypeByoVpcAws = { ByoVpcAws: "byo-vpc-aws", } as const; export type PrepareDeploymentStackTypeByoVpcAws = ClosedEnum< typeof PrepareDeploymentStackTypeByoVpcAws >; export type PrepareDeploymentStackNetworkByoVpcAws = { /** * 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: PrepareDeploymentStackTypeByoVpcAws; /** * The ID of the existing VPC */ vpcId: string; }; export const PrepareDeploymentStackTypeCreate = { Create: "create", } as const; export type PrepareDeploymentStackTypeCreate = ClosedEnum< typeof PrepareDeploymentStackTypeCreate >; export type PrepareDeploymentStackNetworkCreate = { /** * 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: PrepareDeploymentStackTypeCreate; }; export const PrepareDeploymentStackTypeUseDefault = { UseDefault: "use-default", } as const; export type PrepareDeploymentStackTypeUseDefault = ClosedEnum< typeof PrepareDeploymentStackTypeUseDefault >; export type PrepareDeploymentStackNetworkUseDefault = { type: PrepareDeploymentStackTypeUseDefault; }; export type PrepareDeploymentStackNetworkUnion = | PrepareDeploymentStackNetworkByoVpcAws | PrepareDeploymentStackNetworkByoVpcGcp | PrepareDeploymentStackNetworkByoVnetAzure | PrepareDeploymentStackNetworkUseDefault | PrepareDeploymentStackNetworkCreate | any; /** * How telemetry (logs, metrics, traces) is handled. */ export const PrepareDeploymentStackTelemetry = { Off: "off", Auto: "auto", ApprovalRequired: "approval-required", } as const; /** * How telemetry (logs, metrics, traces) is handled. */ export type PrepareDeploymentStackTelemetry = ClosedEnum< typeof PrepareDeploymentStackTelemetry >; /** * How updates are delivered to the deployment. */ export const PrepareDeploymentStackUpdates = { Auto: "auto", ApprovalRequired: "approval-required", } as const; /** * How updates are delivered to the deployment. */ export type PrepareDeploymentStackUpdates = ClosedEnum< typeof PrepareDeploymentStackUpdates >; /** * 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 PrepareDeploymentStackStackSettings = { compute?: PrepareDeploymentStackCompute | any | null | undefined; /** * Deployment model: how updates are delivered to the remote environment. */ deploymentModel?: PrepareDeploymentStackDeploymentModel | undefined; domains?: PrepareDeploymentStackDomains | 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?: PrepareDeploymentStackExternalBindings | null | undefined; /** * How heartbeat health checks are handled. */ heartbeats?: PrepareDeploymentStackHeartbeats | undefined; kubernetes?: PrepareDeploymentStackKubernetes | any | null | undefined; network?: | PrepareDeploymentStackNetworkByoVpcAws | PrepareDeploymentStackNetworkByoVpcGcp | PrepareDeploymentStackNetworkByoVnetAzure | PrepareDeploymentStackNetworkUseDefault | PrepareDeploymentStackNetworkCreate | 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?: PrepareDeploymentStackTelemetry | undefined; /** * How updates are delivered to the deployment. */ updates?: PrepareDeploymentStackUpdates | undefined; }; export type PrepareDeploymentStackRequest = { /** * Persist validated choices for the exact blocked update; does not apply cloud changes. */ saveForSetup?: boolean | undefined; setupItem?: PrepareDeploymentStackSetupItem | undefined; deploymentId?: string | undefined; updateOperationId?: string | undefined; platform: PrepareDeploymentStackPlatform; setupMethod: models.DeploymentSetupMethod; region?: string | undefined; /** * 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). */ stackSettings: PrepareDeploymentStackStackSettings; }; /** @internal */ export const PrepareDeploymentStackSetupItem$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackSetupItem > = z.enum(PrepareDeploymentStackSetupItem); /** @internal */ export const PrepareDeploymentStackPlatform$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackPlatform > = z.enum(PrepareDeploymentStackPlatform); /** @internal */ export type PrepareDeploymentStackFailureDomains2$Outbound = { selectedFailureDomains?: Array | undefined; spread: number; }; /** @internal */ export const PrepareDeploymentStackFailureDomains2$outboundSchema: z.ZodType< PrepareDeploymentStackFailureDomains2$Outbound, PrepareDeploymentStackFailureDomains2 > = z.object({ selectedFailureDomains: z.array(z.string()).optional(), spread: z.int(), }); export function prepareDeploymentStackFailureDomains2ToJSON( prepareDeploymentStackFailureDomains2: PrepareDeploymentStackFailureDomains2, ): string { return JSON.stringify( PrepareDeploymentStackFailureDomains2$outboundSchema.parse( prepareDeploymentStackFailureDomains2, ), ); } /** @internal */ export type PrepareDeploymentStackFailureDomainsUnion2$Outbound = | PrepareDeploymentStackFailureDomains2$Outbound | any; /** @internal */ export const PrepareDeploymentStackFailureDomainsUnion2$outboundSchema: z.ZodType< PrepareDeploymentStackFailureDomainsUnion2$Outbound, PrepareDeploymentStackFailureDomainsUnion2 > = z.union([ z.lazy(() => PrepareDeploymentStackFailureDomains2$outboundSchema), z.any(), ]); export function prepareDeploymentStackFailureDomainsUnion2ToJSON( prepareDeploymentStackFailureDomainsUnion2: PrepareDeploymentStackFailureDomainsUnion2, ): string { return JSON.stringify( PrepareDeploymentStackFailureDomainsUnion2$outboundSchema.parse( prepareDeploymentStackFailureDomainsUnion2, ), ); } /** @internal */ export type PrepareDeploymentStackPoolsAutoscale$Outbound = { failure_domains?: | PrepareDeploymentStackFailureDomains2$Outbound | any | null | undefined; machine?: string | null | undefined; max: number; min: number; mode: "autoscale"; }; /** @internal */ export const PrepareDeploymentStackPoolsAutoscale$outboundSchema: z.ZodType< PrepareDeploymentStackPoolsAutoscale$Outbound, PrepareDeploymentStackPoolsAutoscale > = z.object({ failureDomains: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackFailureDomains2$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 prepareDeploymentStackPoolsAutoscaleToJSON( prepareDeploymentStackPoolsAutoscale: PrepareDeploymentStackPoolsAutoscale, ): string { return JSON.stringify( PrepareDeploymentStackPoolsAutoscale$outboundSchema.parse( prepareDeploymentStackPoolsAutoscale, ), ); } /** @internal */ export type PrepareDeploymentStackFailureDomains1$Outbound = { selectedFailureDomains?: Array | undefined; spread: number; }; /** @internal */ export const PrepareDeploymentStackFailureDomains1$outboundSchema: z.ZodType< PrepareDeploymentStackFailureDomains1$Outbound, PrepareDeploymentStackFailureDomains1 > = z.object({ selectedFailureDomains: z.array(z.string()).optional(), spread: z.int(), }); export function prepareDeploymentStackFailureDomains1ToJSON( prepareDeploymentStackFailureDomains1: PrepareDeploymentStackFailureDomains1, ): string { return JSON.stringify( PrepareDeploymentStackFailureDomains1$outboundSchema.parse( prepareDeploymentStackFailureDomains1, ), ); } /** @internal */ export type PrepareDeploymentStackFailureDomainsUnion1$Outbound = | PrepareDeploymentStackFailureDomains1$Outbound | any; /** @internal */ export const PrepareDeploymentStackFailureDomainsUnion1$outboundSchema: z.ZodType< PrepareDeploymentStackFailureDomainsUnion1$Outbound, PrepareDeploymentStackFailureDomainsUnion1 > = z.union([ z.lazy(() => PrepareDeploymentStackFailureDomains1$outboundSchema), z.any(), ]); export function prepareDeploymentStackFailureDomainsUnion1ToJSON( prepareDeploymentStackFailureDomainsUnion1: PrepareDeploymentStackFailureDomainsUnion1, ): string { return JSON.stringify( PrepareDeploymentStackFailureDomainsUnion1$outboundSchema.parse( prepareDeploymentStackFailureDomainsUnion1, ), ); } /** @internal */ export type PrepareDeploymentStackPoolsFixed$Outbound = { failure_domains?: | PrepareDeploymentStackFailureDomains1$Outbound | any | null | undefined; machine?: string | null | undefined; machines: number; mode: "fixed"; }; /** @internal */ export const PrepareDeploymentStackPoolsFixed$outboundSchema: z.ZodType< PrepareDeploymentStackPoolsFixed$Outbound, PrepareDeploymentStackPoolsFixed > = z.object({ failureDomains: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackFailureDomains1$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 prepareDeploymentStackPoolsFixedToJSON( prepareDeploymentStackPoolsFixed: PrepareDeploymentStackPoolsFixed, ): string { return JSON.stringify( PrepareDeploymentStackPoolsFixed$outboundSchema.parse( prepareDeploymentStackPoolsFixed, ), ); } /** @internal */ export type PrepareDeploymentStackPoolsUnion$Outbound = | PrepareDeploymentStackPoolsFixed$Outbound | PrepareDeploymentStackPoolsAutoscale$Outbound; /** @internal */ export const PrepareDeploymentStackPoolsUnion$outboundSchema: z.ZodType< PrepareDeploymentStackPoolsUnion$Outbound, PrepareDeploymentStackPoolsUnion > = z.union([ z.lazy(() => PrepareDeploymentStackPoolsFixed$outboundSchema), z.lazy(() => PrepareDeploymentStackPoolsAutoscale$outboundSchema), ]); export function prepareDeploymentStackPoolsUnionToJSON( prepareDeploymentStackPoolsUnion: PrepareDeploymentStackPoolsUnion, ): string { return JSON.stringify( PrepareDeploymentStackPoolsUnion$outboundSchema.parse( prepareDeploymentStackPoolsUnion, ), ); } /** @internal */ export type PrepareDeploymentStackCompute$Outbound = { pools?: { [k: string]: | PrepareDeploymentStackPoolsFixed$Outbound | PrepareDeploymentStackPoolsAutoscale$Outbound; } | undefined; }; /** @internal */ export const PrepareDeploymentStackCompute$outboundSchema: z.ZodType< PrepareDeploymentStackCompute$Outbound, PrepareDeploymentStackCompute > = z.object({ pools: z.record( z.string(), z.union([ z.lazy(() => PrepareDeploymentStackPoolsFixed$outboundSchema), z.lazy(() => PrepareDeploymentStackPoolsAutoscale$outboundSchema), ]), ).optional(), }); export function prepareDeploymentStackComputeToJSON( prepareDeploymentStackCompute: PrepareDeploymentStackCompute, ): string { return JSON.stringify( PrepareDeploymentStackCompute$outboundSchema.parse( prepareDeploymentStackCompute, ), ); } /** @internal */ export type PrepareDeploymentStackComputeUnion$Outbound = | PrepareDeploymentStackCompute$Outbound | any; /** @internal */ export const PrepareDeploymentStackComputeUnion$outboundSchema: z.ZodType< PrepareDeploymentStackComputeUnion$Outbound, PrepareDeploymentStackComputeUnion > = z.union([ z.lazy(() => PrepareDeploymentStackCompute$outboundSchema), z.any(), ]); export function prepareDeploymentStackComputeUnionToJSON( prepareDeploymentStackComputeUnion: PrepareDeploymentStackComputeUnion, ): string { return JSON.stringify( PrepareDeploymentStackComputeUnion$outboundSchema.parse( prepareDeploymentStackComputeUnion, ), ); } /** @internal */ export const PrepareDeploymentStackDeploymentModel$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackDeploymentModel > = z.enum(PrepareDeploymentStackDeploymentModel); /** @internal */ export type PrepareDeploymentStackAws$Outbound = { certificateArn: string; }; /** @internal */ export const PrepareDeploymentStackAws$outboundSchema: z.ZodType< PrepareDeploymentStackAws$Outbound, PrepareDeploymentStackAws > = z.object({ certificateArn: z.string(), }); export function prepareDeploymentStackAwsToJSON( prepareDeploymentStackAws: PrepareDeploymentStackAws, ): string { return JSON.stringify( PrepareDeploymentStackAws$outboundSchema.parse(prepareDeploymentStackAws), ); } /** @internal */ export type PrepareDeploymentStackAwsUnion$Outbound = | PrepareDeploymentStackAws$Outbound | any; /** @internal */ export const PrepareDeploymentStackAwsUnion$outboundSchema: z.ZodType< PrepareDeploymentStackAwsUnion$Outbound, PrepareDeploymentStackAwsUnion > = z.union([z.lazy(() => PrepareDeploymentStackAws$outboundSchema), z.any()]); export function prepareDeploymentStackAwsUnionToJSON( prepareDeploymentStackAwsUnion: PrepareDeploymentStackAwsUnion, ): string { return JSON.stringify( PrepareDeploymentStackAwsUnion$outboundSchema.parse( prepareDeploymentStackAwsUnion, ), ); } /** @internal */ export type PrepareDeploymentStackAzure$Outbound = { keyVaultCertificateId: string; keyVaultResourceId?: string | null | undefined; }; /** @internal */ export const PrepareDeploymentStackAzure$outboundSchema: z.ZodType< PrepareDeploymentStackAzure$Outbound, PrepareDeploymentStackAzure > = z.object({ keyVaultCertificateId: z.string(), keyVaultResourceId: z.nullable(z.string()).optional(), }); export function prepareDeploymentStackAzureToJSON( prepareDeploymentStackAzure: PrepareDeploymentStackAzure, ): string { return JSON.stringify( PrepareDeploymentStackAzure$outboundSchema.parse( prepareDeploymentStackAzure, ), ); } /** @internal */ export type PrepareDeploymentStackAzureUnion$Outbound = | PrepareDeploymentStackAzure$Outbound | any; /** @internal */ export const PrepareDeploymentStackAzureUnion$outboundSchema: z.ZodType< PrepareDeploymentStackAzureUnion$Outbound, PrepareDeploymentStackAzureUnion > = z.union([ z.lazy(() => PrepareDeploymentStackAzure$outboundSchema), z.any(), ]); export function prepareDeploymentStackAzureUnionToJSON( prepareDeploymentStackAzureUnion: PrepareDeploymentStackAzureUnion, ): string { return JSON.stringify( PrepareDeploymentStackAzureUnion$outboundSchema.parse( prepareDeploymentStackAzureUnion, ), ); } /** @internal */ export type PrepareDeploymentStackGcp$Outbound = { certificateName: string; }; /** @internal */ export const PrepareDeploymentStackGcp$outboundSchema: z.ZodType< PrepareDeploymentStackGcp$Outbound, PrepareDeploymentStackGcp > = z.object({ certificateName: z.string(), }); export function prepareDeploymentStackGcpToJSON( prepareDeploymentStackGcp: PrepareDeploymentStackGcp, ): string { return JSON.stringify( PrepareDeploymentStackGcp$outboundSchema.parse(prepareDeploymentStackGcp), ); } /** @internal */ export type PrepareDeploymentStackGcpUnion$Outbound = | PrepareDeploymentStackGcp$Outbound | any; /** @internal */ export const PrepareDeploymentStackGcpUnion$outboundSchema: z.ZodType< PrepareDeploymentStackGcpUnion$Outbound, PrepareDeploymentStackGcpUnion > = z.union([z.lazy(() => PrepareDeploymentStackGcp$outboundSchema), z.any()]); export function prepareDeploymentStackGcpUnionToJSON( prepareDeploymentStackGcpUnion: PrepareDeploymentStackGcpUnion, ): string { return JSON.stringify( PrepareDeploymentStackGcpUnion$outboundSchema.parse( prepareDeploymentStackGcpUnion, ), ); } /** @internal */ export type PrepareDeploymentStackTlsSecretRef$Outbound = { namespace?: string | null | undefined; secretName: string; }; /** @internal */ export const PrepareDeploymentStackTlsSecretRef$outboundSchema: z.ZodType< PrepareDeploymentStackTlsSecretRef$Outbound, PrepareDeploymentStackTlsSecretRef > = z.object({ namespace: z.nullable(z.string()).optional(), secretName: z.string(), }); export function prepareDeploymentStackTlsSecretRefToJSON( prepareDeploymentStackTlsSecretRef: PrepareDeploymentStackTlsSecretRef, ): string { return JSON.stringify( PrepareDeploymentStackTlsSecretRef$outboundSchema.parse( prepareDeploymentStackTlsSecretRef, ), ); } /** @internal */ export type PrepareDeploymentStackDomainsKubernetes$Outbound = { tlsSecretRef: PrepareDeploymentStackTlsSecretRef$Outbound; }; /** @internal */ export const PrepareDeploymentStackDomainsKubernetes$outboundSchema: z.ZodType< PrepareDeploymentStackDomainsKubernetes$Outbound, PrepareDeploymentStackDomainsKubernetes > = z.object({ tlsSecretRef: z.lazy(() => PrepareDeploymentStackTlsSecretRef$outboundSchema), }); export function prepareDeploymentStackDomainsKubernetesToJSON( prepareDeploymentStackDomainsKubernetes: PrepareDeploymentStackDomainsKubernetes, ): string { return JSON.stringify( PrepareDeploymentStackDomainsKubernetes$outboundSchema.parse( prepareDeploymentStackDomainsKubernetes, ), ); } /** @internal */ export type PrepareDeploymentStackDomainsKubernetesUnion$Outbound = | PrepareDeploymentStackDomainsKubernetes$Outbound | any; /** @internal */ export const PrepareDeploymentStackDomainsKubernetesUnion$outboundSchema: z.ZodType< PrepareDeploymentStackDomainsKubernetesUnion$Outbound, PrepareDeploymentStackDomainsKubernetesUnion > = z.union([ z.lazy(() => PrepareDeploymentStackDomainsKubernetes$outboundSchema), z.any(), ]); export function prepareDeploymentStackDomainsKubernetesUnionToJSON( prepareDeploymentStackDomainsKubernetesUnion: PrepareDeploymentStackDomainsKubernetesUnion, ): string { return JSON.stringify( PrepareDeploymentStackDomainsKubernetesUnion$outboundSchema.parse( prepareDeploymentStackDomainsKubernetesUnion, ), ); } /** @internal */ export type PrepareDeploymentStackDomainsCertificate$Outbound = { aws?: PrepareDeploymentStackAws$Outbound | any | null | undefined; azure?: PrepareDeploymentStackAzure$Outbound | any | null | undefined; gcp?: PrepareDeploymentStackGcp$Outbound | any | null | undefined; kubernetes?: | PrepareDeploymentStackDomainsKubernetes$Outbound | any | null | undefined; }; /** @internal */ export const PrepareDeploymentStackDomainsCertificate$outboundSchema: z.ZodType< PrepareDeploymentStackDomainsCertificate$Outbound, PrepareDeploymentStackDomainsCertificate > = z.object({ aws: z.nullable( z.union([z.lazy(() => PrepareDeploymentStackAws$outboundSchema), z.any()]), ).optional(), azure: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackAzure$outboundSchema), z.any(), ]), ).optional(), gcp: z.nullable( z.union([z.lazy(() => PrepareDeploymentStackGcp$outboundSchema), z.any()]), ).optional(), kubernetes: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackDomainsKubernetes$outboundSchema), z.any(), ]), ).optional(), }); export function prepareDeploymentStackDomainsCertificateToJSON( prepareDeploymentStackDomainsCertificate: PrepareDeploymentStackDomainsCertificate, ): string { return JSON.stringify( PrepareDeploymentStackDomainsCertificate$outboundSchema.parse( prepareDeploymentStackDomainsCertificate, ), ); } /** @internal */ export type PrepareDeploymentStackCustomDomains$Outbound = { certificate: PrepareDeploymentStackDomainsCertificate$Outbound; domain: string; }; /** @internal */ export const PrepareDeploymentStackCustomDomains$outboundSchema: z.ZodType< PrepareDeploymentStackCustomDomains$Outbound, PrepareDeploymentStackCustomDomains > = z.object({ certificate: z.lazy(() => PrepareDeploymentStackDomainsCertificate$outboundSchema ), domain: z.string(), }); export function prepareDeploymentStackCustomDomainsToJSON( prepareDeploymentStackCustomDomains: PrepareDeploymentStackCustomDomains, ): string { return JSON.stringify( PrepareDeploymentStackCustomDomains$outboundSchema.parse( prepareDeploymentStackCustomDomains, ), ); } /** @internal */ export const PrepareDeploymentStackModeLoadBalancer$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackModeLoadBalancer > = z.enum(PrepareDeploymentStackModeLoadBalancer); /** @internal */ export type PrepareDeploymentStackPublicEndpointTargetLoadBalancer$Outbound = { cnameTarget: string; mode: string; }; /** @internal */ export const PrepareDeploymentStackPublicEndpointTargetLoadBalancer$outboundSchema: z.ZodType< PrepareDeploymentStackPublicEndpointTargetLoadBalancer$Outbound, PrepareDeploymentStackPublicEndpointTargetLoadBalancer > = z.object({ cnameTarget: z.string(), mode: PrepareDeploymentStackModeLoadBalancer$outboundSchema, }); export function prepareDeploymentStackPublicEndpointTargetLoadBalancerToJSON( prepareDeploymentStackPublicEndpointTargetLoadBalancer: PrepareDeploymentStackPublicEndpointTargetLoadBalancer, ): string { return JSON.stringify( PrepareDeploymentStackPublicEndpointTargetLoadBalancer$outboundSchema.parse( prepareDeploymentStackPublicEndpointTargetLoadBalancer, ), ); } /** @internal */ export const PrepareDeploymentStackModeMachineAddresses$outboundSchema: z.ZodEnum = z.enum( PrepareDeploymentStackModeMachineAddresses, ); /** @internal */ export type PrepareDeploymentStackPublicEndpointTargetMachineAddresses$Outbound = { mode: string; }; /** @internal */ export const PrepareDeploymentStackPublicEndpointTargetMachineAddresses$outboundSchema: z.ZodType< PrepareDeploymentStackPublicEndpointTargetMachineAddresses$Outbound, PrepareDeploymentStackPublicEndpointTargetMachineAddresses > = z.object({ mode: PrepareDeploymentStackModeMachineAddresses$outboundSchema, }); export function prepareDeploymentStackPublicEndpointTargetMachineAddressesToJSON( prepareDeploymentStackPublicEndpointTargetMachineAddresses: PrepareDeploymentStackPublicEndpointTargetMachineAddresses, ): string { return JSON.stringify( PrepareDeploymentStackPublicEndpointTargetMachineAddresses$outboundSchema .parse(prepareDeploymentStackPublicEndpointTargetMachineAddresses), ); } /** @internal */ export type PrepareDeploymentStackPublicEndpointTargetUnion$Outbound = | PrepareDeploymentStackPublicEndpointTargetLoadBalancer$Outbound | PrepareDeploymentStackPublicEndpointTargetMachineAddresses$Outbound | any; /** @internal */ export const PrepareDeploymentStackPublicEndpointTargetUnion$outboundSchema: z.ZodType< PrepareDeploymentStackPublicEndpointTargetUnion$Outbound, PrepareDeploymentStackPublicEndpointTargetUnion > = z.union([ z.lazy(() => PrepareDeploymentStackPublicEndpointTargetLoadBalancer$outboundSchema ), z.lazy(() => PrepareDeploymentStackPublicEndpointTargetMachineAddresses$outboundSchema ), z.any(), ]); export function prepareDeploymentStackPublicEndpointTargetUnionToJSON( prepareDeploymentStackPublicEndpointTargetUnion: PrepareDeploymentStackPublicEndpointTargetUnion, ): string { return JSON.stringify( PrepareDeploymentStackPublicEndpointTargetUnion$outboundSchema.parse( prepareDeploymentStackPublicEndpointTargetUnion, ), ); } /** @internal */ export type PrepareDeploymentStackDomains$Outbound = { customDomains?: | { [k: string]: PrepareDeploymentStackCustomDomains$Outbound } | null | undefined; publicEndpointTarget?: | PrepareDeploymentStackPublicEndpointTargetLoadBalancer$Outbound | PrepareDeploymentStackPublicEndpointTargetMachineAddresses$Outbound | any | null | undefined; }; /** @internal */ export const PrepareDeploymentStackDomains$outboundSchema: z.ZodType< PrepareDeploymentStackDomains$Outbound, PrepareDeploymentStackDomains > = z.object({ customDomains: z.nullable( z.record( z.string(), z.lazy(() => PrepareDeploymentStackCustomDomains$outboundSchema), ), ).optional(), publicEndpointTarget: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackPublicEndpointTargetLoadBalancer$outboundSchema ), z.lazy(() => PrepareDeploymentStackPublicEndpointTargetMachineAddresses$outboundSchema ), z.any(), ]), ).optional(), }); export function prepareDeploymentStackDomainsToJSON( prepareDeploymentStackDomains: PrepareDeploymentStackDomains, ): string { return JSON.stringify( PrepareDeploymentStackDomains$outboundSchema.parse( prepareDeploymentStackDomains, ), ); } /** @internal */ export type PrepareDeploymentStackDomainsUnion$Outbound = | PrepareDeploymentStackDomains$Outbound | any; /** @internal */ export const PrepareDeploymentStackDomainsUnion$outboundSchema: z.ZodType< PrepareDeploymentStackDomainsUnion$Outbound, PrepareDeploymentStackDomainsUnion > = z.union([ z.lazy(() => PrepareDeploymentStackDomains$outboundSchema), z.any(), ]); export function prepareDeploymentStackDomainsUnionToJSON( prepareDeploymentStackDomainsUnion: PrepareDeploymentStackDomainsUnion, ): string { return JSON.stringify( PrepareDeploymentStackDomainsUnion$outboundSchema.parse( prepareDeploymentStackDomainsUnion, ), ); } /** @internal */ export type PrepareDeploymentStackExternalBindings$Outbound = {}; /** @internal */ export const PrepareDeploymentStackExternalBindings$outboundSchema: z.ZodType< PrepareDeploymentStackExternalBindings$Outbound, PrepareDeploymentStackExternalBindings > = z.object({}); export function prepareDeploymentStackExternalBindingsToJSON( prepareDeploymentStackExternalBindings: PrepareDeploymentStackExternalBindings, ): string { return JSON.stringify( PrepareDeploymentStackExternalBindings$outboundSchema.parse( prepareDeploymentStackExternalBindings, ), ); } /** @internal */ export const PrepareDeploymentStackHeartbeats$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackHeartbeats > = z.enum(PrepareDeploymentStackHeartbeats); /** @internal */ export type PrepareDeploymentStackCloud$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 PrepareDeploymentStackCloud$outboundSchema: z.ZodType< PrepareDeploymentStackCloud$Outbound, PrepareDeploymentStackCloud > = 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 prepareDeploymentStackCloudToJSON( prepareDeploymentStackCloud: PrepareDeploymentStackCloud, ): string { return JSON.stringify( PrepareDeploymentStackCloud$outboundSchema.parse( prepareDeploymentStackCloud, ), ); } /** @internal */ export type PrepareDeploymentStackCloudUnion$Outbound = | PrepareDeploymentStackCloud$Outbound | any; /** @internal */ export const PrepareDeploymentStackCloudUnion$outboundSchema: z.ZodType< PrepareDeploymentStackCloudUnion$Outbound, PrepareDeploymentStackCloudUnion > = z.union([ z.lazy(() => PrepareDeploymentStackCloud$outboundSchema), z.any(), ]); export function prepareDeploymentStackCloudUnionToJSON( prepareDeploymentStackCloudUnion: PrepareDeploymentStackCloudUnion, ): string { return JSON.stringify( PrepareDeploymentStackCloudUnion$outboundSchema.parse( prepareDeploymentStackCloudUnion, ), ); } /** @internal */ export const PrepareDeploymentStackOwnership$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackOwnership > = z.enum(PrepareDeploymentStackOwnership); /** @internal */ export type PrepareDeploymentStackCluster$Outbound = { cloud?: PrepareDeploymentStackCloud$Outbound | any | null | undefined; namespace?: string | null | undefined; ownership: string; }; /** @internal */ export const PrepareDeploymentStackCluster$outboundSchema: z.ZodType< PrepareDeploymentStackCluster$Outbound, PrepareDeploymentStackCluster > = z.object({ cloud: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackCloud$outboundSchema), z.any(), ]), ).optional(), namespace: z.nullable(z.string()).optional(), ownership: PrepareDeploymentStackOwnership$outboundSchema, }); export function prepareDeploymentStackClusterToJSON( prepareDeploymentStackCluster: PrepareDeploymentStackCluster, ): string { return JSON.stringify( PrepareDeploymentStackCluster$outboundSchema.parse( prepareDeploymentStackCluster, ), ); } /** @internal */ export type PrepareDeploymentStackClusterUnion$Outbound = | PrepareDeploymentStackCluster$Outbound | any; /** @internal */ export const PrepareDeploymentStackClusterUnion$outboundSchema: z.ZodType< PrepareDeploymentStackClusterUnion$Outbound, PrepareDeploymentStackClusterUnion > = z.union([ z.lazy(() => PrepareDeploymentStackCluster$outboundSchema), z.any(), ]); export function prepareDeploymentStackClusterUnionToJSON( prepareDeploymentStackClusterUnion: PrepareDeploymentStackClusterUnion, ): string { return JSON.stringify( PrepareDeploymentStackClusterUnion$outboundSchema.parse( prepareDeploymentStackClusterUnion, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateNone2$Outbound = { mode: "none"; }; /** @internal */ export const PrepareDeploymentStackCertificateNone2$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateNone2$Outbound, PrepareDeploymentStackCertificateNone2 > = z.object({ mode: z.literal("none"), }); export function prepareDeploymentStackCertificateNone2ToJSON( prepareDeploymentStackCertificateNone2: PrepareDeploymentStackCertificateNone2, ): string { return JSON.stringify( PrepareDeploymentStackCertificateNone2$outboundSchema.parse( prepareDeploymentStackCertificateNone2, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateManagedTLSSecret2$Outbound = { mode: "managedTlsSecret"; secretNameTemplate: string; }; /** @internal */ export const PrepareDeploymentStackCertificateManagedTLSSecret2$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateManagedTLSSecret2$Outbound, PrepareDeploymentStackCertificateManagedTLSSecret2 > = z.object({ mode: z.literal("managedTlsSecret"), secretNameTemplate: z.string(), }); export function prepareDeploymentStackCertificateManagedTLSSecret2ToJSON( prepareDeploymentStackCertificateManagedTLSSecret2: PrepareDeploymentStackCertificateManagedTLSSecret2, ): string { return JSON.stringify( PrepareDeploymentStackCertificateManagedTLSSecret2$outboundSchema.parse( prepareDeploymentStackCertificateManagedTLSSecret2, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateAwsAcmArn2$Outbound = { certificateArn: string; mode: "awsAcmArn"; }; /** @internal */ export const PrepareDeploymentStackCertificateAwsAcmArn2$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateAwsAcmArn2$Outbound, PrepareDeploymentStackCertificateAwsAcmArn2 > = z.object({ certificateArn: z.string(), mode: z.literal("awsAcmArn"), }); export function prepareDeploymentStackCertificateAwsAcmArn2ToJSON( prepareDeploymentStackCertificateAwsAcmArn2: PrepareDeploymentStackCertificateAwsAcmArn2, ): string { return JSON.stringify( PrepareDeploymentStackCertificateAwsAcmArn2$outboundSchema.parse( prepareDeploymentStackCertificateAwsAcmArn2, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateManagedAcmImport2$Outbound = { mode: "managedAcmImport"; region?: string | null | undefined; tags?: { [k: string]: string } | undefined; }; /** @internal */ export const PrepareDeploymentStackCertificateManagedAcmImport2$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateManagedAcmImport2$Outbound, PrepareDeploymentStackCertificateManagedAcmImport2 > = z.object({ mode: z.literal("managedAcmImport"), region: z.nullable(z.string()).optional(), tags: z.record(z.string(), z.string()).optional(), }); export function prepareDeploymentStackCertificateManagedAcmImport2ToJSON( prepareDeploymentStackCertificateManagedAcmImport2: PrepareDeploymentStackCertificateManagedAcmImport2, ): string { return JSON.stringify( PrepareDeploymentStackCertificateManagedAcmImport2$outboundSchema.parse( prepareDeploymentStackCertificateManagedAcmImport2, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateTLSSecretRef2$Outbound = { namespace?: string | null | undefined; secretName: string; mode: "tlsSecretRef"; }; /** @internal */ export const PrepareDeploymentStackCertificateTLSSecretRef2$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateTLSSecretRef2$Outbound, PrepareDeploymentStackCertificateTLSSecretRef2 > = z.object({ namespace: z.nullable(z.string()).optional(), secretName: z.string(), mode: z.literal("tlsSecretRef"), }); export function prepareDeploymentStackCertificateTLSSecretRef2ToJSON( prepareDeploymentStackCertificateTLSSecretRef2: PrepareDeploymentStackCertificateTLSSecretRef2, ): string { return JSON.stringify( PrepareDeploymentStackCertificateTLSSecretRef2$outboundSchema.parse( prepareDeploymentStackCertificateTLSSecretRef2, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateUnion2$Outbound = | PrepareDeploymentStackCertificateTLSSecretRef2$Outbound | PrepareDeploymentStackCertificateManagedAcmImport2$Outbound | PrepareDeploymentStackCertificateAwsAcmArn2$Outbound | PrepareDeploymentStackCertificateManagedTLSSecret2$Outbound | PrepareDeploymentStackCertificateNone2$Outbound; /** @internal */ export const PrepareDeploymentStackCertificateUnion2$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateUnion2$Outbound, PrepareDeploymentStackCertificateUnion2 > = z.union([ z.lazy(() => PrepareDeploymentStackCertificateTLSSecretRef2$outboundSchema), z.lazy(() => PrepareDeploymentStackCertificateManagedAcmImport2$outboundSchema ), z.lazy(() => PrepareDeploymentStackCertificateAwsAcmArn2$outboundSchema), z.lazy(() => PrepareDeploymentStackCertificateManagedTLSSecret2$outboundSchema ), z.lazy(() => PrepareDeploymentStackCertificateNone2$outboundSchema), ]); export function prepareDeploymentStackCertificateUnion2ToJSON( prepareDeploymentStackCertificateUnion2: PrepareDeploymentStackCertificateUnion2, ): string { return JSON.stringify( PrepareDeploymentStackCertificateUnion2$outboundSchema.parse( prepareDeploymentStackCertificateUnion2, ), ); } /** @internal */ export const PrepareDeploymentStackModeCustom$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackModeCustom > = z.enum(PrepareDeploymentStackModeCustom); /** @internal */ export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum4$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum4 > = z.enum( PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum4, ); /** @internal */ export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4$Outbound = { albName?: string | null | undefined; albNamespace?: string | null | undefined; frontend: string; provider: string; }; /** @internal */ export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4$outboundSchema: z.ZodType< PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4$Outbound, PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4 > = z.object({ albName: z.nullable(z.string()).optional(), albNamespace: z.nullable(z.string()).optional(), frontend: z.string(), provider: PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum4$outboundSchema, }); export function prepareDeploymentStackProviderAzureApplicationGatewayForContainers4ToJSON( prepareDeploymentStackProviderAzureApplicationGatewayForContainers4: PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4, ): string { return JSON.stringify( PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4$outboundSchema .parse( prepareDeploymentStackProviderAzureApplicationGatewayForContainers4, ), ); } /** @internal */ export const PrepareDeploymentStackProviderGkeGatewayEnum4$outboundSchema: z.ZodEnum = z.enum( PrepareDeploymentStackProviderGkeGatewayEnum4, ); /** @internal */ export type PrepareDeploymentStackProviderGkeGateway4$Outbound = { provider: string; staticAddressName?: string | null | undefined; }; /** @internal */ export const PrepareDeploymentStackProviderGkeGateway4$outboundSchema: z.ZodType< PrepareDeploymentStackProviderGkeGateway4$Outbound, PrepareDeploymentStackProviderGkeGateway4 > = z.object({ provider: PrepareDeploymentStackProviderGkeGatewayEnum4$outboundSchema, staticAddressName: z.nullable(z.string()).optional(), }); export function prepareDeploymentStackProviderGkeGateway4ToJSON( prepareDeploymentStackProviderGkeGateway4: PrepareDeploymentStackProviderGkeGateway4, ): string { return JSON.stringify( PrepareDeploymentStackProviderGkeGateway4$outboundSchema.parse( prepareDeploymentStackProviderGkeGateway4, ), ); } /** @internal */ export const PrepareDeploymentStackProviderAwsAlbEnum4$outboundSchema: z.ZodEnum = z.enum( PrepareDeploymentStackProviderAwsAlbEnum4, ); /** @internal */ export type PrepareDeploymentStackProviderAwsAlb4$Outbound = { ipAddressType?: string | null | undefined; provider: string; scheme: string; subnetIds?: Array | undefined; targetType: string; }; /** @internal */ export const PrepareDeploymentStackProviderAwsAlb4$outboundSchema: z.ZodType< PrepareDeploymentStackProviderAwsAlb4$Outbound, PrepareDeploymentStackProviderAwsAlb4 > = z.object({ ipAddressType: z.nullable(z.string()).optional(), provider: PrepareDeploymentStackProviderAwsAlbEnum4$outboundSchema, scheme: z.string(), subnetIds: z.array(z.string()).optional(), targetType: z.string(), }); export function prepareDeploymentStackProviderAwsAlb4ToJSON( prepareDeploymentStackProviderAwsAlb4: PrepareDeploymentStackProviderAwsAlb4, ): string { return JSON.stringify( PrepareDeploymentStackProviderAwsAlb4$outboundSchema.parse( prepareDeploymentStackProviderAwsAlb4, ), ); } /** @internal */ export type PrepareDeploymentStackProviderUnion4$Outbound = | PrepareDeploymentStackProviderAwsAlb4$Outbound | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4$Outbound | PrepareDeploymentStackProviderGkeGateway4$Outbound | any; /** @internal */ export const PrepareDeploymentStackProviderUnion4$outboundSchema: z.ZodType< PrepareDeploymentStackProviderUnion4$Outbound, PrepareDeploymentStackProviderUnion4 > = z.union([ z.lazy(() => PrepareDeploymentStackProviderAwsAlb4$outboundSchema), z.lazy(() => PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4$outboundSchema ), z.lazy(() => PrepareDeploymentStackProviderGkeGateway4$outboundSchema), z.any(), ]); export function prepareDeploymentStackProviderUnion4ToJSON( prepareDeploymentStackProviderUnion4: PrepareDeploymentStackProviderUnion4, ): string { return JSON.stringify( PrepareDeploymentStackProviderUnion4$outboundSchema.parse( prepareDeploymentStackProviderUnion4, ), ); } /** @internal */ export type PrepareDeploymentStackRouteGateway2$Outbound = { annotations?: { [k: string]: string } | undefined; controller?: string | null | undefined; gatewayClassName: string; labels?: { [k: string]: string } | undefined; listenerPort: number; provider?: | PrepareDeploymentStackProviderAwsAlb4$Outbound | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4$Outbound | PrepareDeploymentStackProviderGkeGateway4$Outbound | any | null | undefined; routeApi: "gateway"; }; /** @internal */ export const PrepareDeploymentStackRouteGateway2$outboundSchema: z.ZodType< PrepareDeploymentStackRouteGateway2$Outbound, PrepareDeploymentStackRouteGateway2 > = 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(() => PrepareDeploymentStackProviderAwsAlb4$outboundSchema), z.lazy(() => PrepareDeploymentStackProviderAzureApplicationGatewayForContainers4$outboundSchema ), z.lazy(() => PrepareDeploymentStackProviderGkeGateway4$outboundSchema), z.any(), ]), ).optional(), routeApi: z.literal("gateway"), }); export function prepareDeploymentStackRouteGateway2ToJSON( prepareDeploymentStackRouteGateway2: PrepareDeploymentStackRouteGateway2, ): string { return JSON.stringify( PrepareDeploymentStackRouteGateway2$outboundSchema.parse( prepareDeploymentStackRouteGateway2, ), ); } /** @internal */ export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum3$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum3 > = z.enum( PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum3, ); /** @internal */ export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3$Outbound = { albName?: string | null | undefined; albNamespace?: string | null | undefined; frontend: string; provider: string; }; /** @internal */ export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3$outboundSchema: z.ZodType< PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3$Outbound, PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3 > = z.object({ albName: z.nullable(z.string()).optional(), albNamespace: z.nullable(z.string()).optional(), frontend: z.string(), provider: PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum3$outboundSchema, }); export function prepareDeploymentStackProviderAzureApplicationGatewayForContainers3ToJSON( prepareDeploymentStackProviderAzureApplicationGatewayForContainers3: PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3, ): string { return JSON.stringify( PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3$outboundSchema .parse( prepareDeploymentStackProviderAzureApplicationGatewayForContainers3, ), ); } /** @internal */ export const PrepareDeploymentStackProviderGkeGatewayEnum3$outboundSchema: z.ZodEnum = z.enum( PrepareDeploymentStackProviderGkeGatewayEnum3, ); /** @internal */ export type PrepareDeploymentStackProviderGkeGateway3$Outbound = { provider: string; staticAddressName?: string | null | undefined; }; /** @internal */ export const PrepareDeploymentStackProviderGkeGateway3$outboundSchema: z.ZodType< PrepareDeploymentStackProviderGkeGateway3$Outbound, PrepareDeploymentStackProviderGkeGateway3 > = z.object({ provider: PrepareDeploymentStackProviderGkeGatewayEnum3$outboundSchema, staticAddressName: z.nullable(z.string()).optional(), }); export function prepareDeploymentStackProviderGkeGateway3ToJSON( prepareDeploymentStackProviderGkeGateway3: PrepareDeploymentStackProviderGkeGateway3, ): string { return JSON.stringify( PrepareDeploymentStackProviderGkeGateway3$outboundSchema.parse( prepareDeploymentStackProviderGkeGateway3, ), ); } /** @internal */ export const PrepareDeploymentStackProviderAwsAlbEnum3$outboundSchema: z.ZodEnum = z.enum( PrepareDeploymentStackProviderAwsAlbEnum3, ); /** @internal */ export type PrepareDeploymentStackProviderAwsAlb3$Outbound = { ipAddressType?: string | null | undefined; provider: string; scheme: string; subnetIds?: Array | undefined; targetType: string; }; /** @internal */ export const PrepareDeploymentStackProviderAwsAlb3$outboundSchema: z.ZodType< PrepareDeploymentStackProviderAwsAlb3$Outbound, PrepareDeploymentStackProviderAwsAlb3 > = z.object({ ipAddressType: z.nullable(z.string()).optional(), provider: PrepareDeploymentStackProviderAwsAlbEnum3$outboundSchema, scheme: z.string(), subnetIds: z.array(z.string()).optional(), targetType: z.string(), }); export function prepareDeploymentStackProviderAwsAlb3ToJSON( prepareDeploymentStackProviderAwsAlb3: PrepareDeploymentStackProviderAwsAlb3, ): string { return JSON.stringify( PrepareDeploymentStackProviderAwsAlb3$outboundSchema.parse( prepareDeploymentStackProviderAwsAlb3, ), ); } /** @internal */ export type PrepareDeploymentStackProviderUnion3$Outbound = | PrepareDeploymentStackProviderAwsAlb3$Outbound | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3$Outbound | PrepareDeploymentStackProviderGkeGateway3$Outbound | any; /** @internal */ export const PrepareDeploymentStackProviderUnion3$outboundSchema: z.ZodType< PrepareDeploymentStackProviderUnion3$Outbound, PrepareDeploymentStackProviderUnion3 > = z.union([ z.lazy(() => PrepareDeploymentStackProviderAwsAlb3$outboundSchema), z.lazy(() => PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3$outboundSchema ), z.lazy(() => PrepareDeploymentStackProviderGkeGateway3$outboundSchema), z.any(), ]); export function prepareDeploymentStackProviderUnion3ToJSON( prepareDeploymentStackProviderUnion3: PrepareDeploymentStackProviderUnion3, ): string { return JSON.stringify( PrepareDeploymentStackProviderUnion3$outboundSchema.parse( prepareDeploymentStackProviderUnion3, ), ); } /** @internal */ export type PrepareDeploymentStackRouteIngress2$Outbound = { annotations?: { [k: string]: string } | undefined; controller?: string | null | undefined; ingressClassName: string; labels?: { [k: string]: string } | undefined; provider?: | PrepareDeploymentStackProviderAwsAlb3$Outbound | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3$Outbound | PrepareDeploymentStackProviderGkeGateway3$Outbound | any | null | undefined; routeApi: "ingress"; }; /** @internal */ export const PrepareDeploymentStackRouteIngress2$outboundSchema: z.ZodType< PrepareDeploymentStackRouteIngress2$Outbound, PrepareDeploymentStackRouteIngress2 > = 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(() => PrepareDeploymentStackProviderAwsAlb3$outboundSchema), z.lazy(() => PrepareDeploymentStackProviderAzureApplicationGatewayForContainers3$outboundSchema ), z.lazy(() => PrepareDeploymentStackProviderGkeGateway3$outboundSchema), z.any(), ]), ).optional(), routeApi: z.literal("ingress"), }); export function prepareDeploymentStackRouteIngress2ToJSON( prepareDeploymentStackRouteIngress2: PrepareDeploymentStackRouteIngress2, ): string { return JSON.stringify( PrepareDeploymentStackRouteIngress2$outboundSchema.parse( prepareDeploymentStackRouteIngress2, ), ); } /** @internal */ export type PrepareDeploymentStackRouteUnion2$Outbound = | PrepareDeploymentStackRouteIngress2$Outbound | PrepareDeploymentStackRouteGateway2$Outbound; /** @internal */ export const PrepareDeploymentStackRouteUnion2$outboundSchema: z.ZodType< PrepareDeploymentStackRouteUnion2$Outbound, PrepareDeploymentStackRouteUnion2 > = z.union([ z.lazy(() => PrepareDeploymentStackRouteIngress2$outboundSchema), z.lazy(() => PrepareDeploymentStackRouteGateway2$outboundSchema), ]); export function prepareDeploymentStackRouteUnion2ToJSON( prepareDeploymentStackRouteUnion2: PrepareDeploymentStackRouteUnion2, ): string { return JSON.stringify( PrepareDeploymentStackRouteUnion2$outboundSchema.parse( prepareDeploymentStackRouteUnion2, ), ); } /** @internal */ export type PrepareDeploymentStackExposureCustom$Outbound = { certificate: | PrepareDeploymentStackCertificateTLSSecretRef2$Outbound | PrepareDeploymentStackCertificateManagedAcmImport2$Outbound | PrepareDeploymentStackCertificateAwsAcmArn2$Outbound | PrepareDeploymentStackCertificateManagedTLSSecret2$Outbound | PrepareDeploymentStackCertificateNone2$Outbound; domain: string; mode: string; route: | PrepareDeploymentStackRouteIngress2$Outbound | PrepareDeploymentStackRouteGateway2$Outbound; }; /** @internal */ export const PrepareDeploymentStackExposureCustom$outboundSchema: z.ZodType< PrepareDeploymentStackExposureCustom$Outbound, PrepareDeploymentStackExposureCustom > = z.object({ certificate: z.union([ z.lazy(() => PrepareDeploymentStackCertificateTLSSecretRef2$outboundSchema), z.lazy(() => PrepareDeploymentStackCertificateManagedAcmImport2$outboundSchema ), z.lazy(() => PrepareDeploymentStackCertificateAwsAcmArn2$outboundSchema), z.lazy(() => PrepareDeploymentStackCertificateManagedTLSSecret2$outboundSchema ), z.lazy(() => PrepareDeploymentStackCertificateNone2$outboundSchema), ]), domain: z.string(), mode: PrepareDeploymentStackModeCustom$outboundSchema, route: z.union([ z.lazy(() => PrepareDeploymentStackRouteIngress2$outboundSchema), z.lazy(() => PrepareDeploymentStackRouteGateway2$outboundSchema), ]), }); export function prepareDeploymentStackExposureCustomToJSON( prepareDeploymentStackExposureCustom: PrepareDeploymentStackExposureCustom, ): string { return JSON.stringify( PrepareDeploymentStackExposureCustom$outboundSchema.parse( prepareDeploymentStackExposureCustom, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateNone1$Outbound = { mode: "none"; }; /** @internal */ export const PrepareDeploymentStackCertificateNone1$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateNone1$Outbound, PrepareDeploymentStackCertificateNone1 > = z.object({ mode: z.literal("none"), }); export function prepareDeploymentStackCertificateNone1ToJSON( prepareDeploymentStackCertificateNone1: PrepareDeploymentStackCertificateNone1, ): string { return JSON.stringify( PrepareDeploymentStackCertificateNone1$outboundSchema.parse( prepareDeploymentStackCertificateNone1, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateManagedTLSSecret1$Outbound = { mode: "managedTlsSecret"; secretNameTemplate: string; }; /** @internal */ export const PrepareDeploymentStackCertificateManagedTLSSecret1$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateManagedTLSSecret1$Outbound, PrepareDeploymentStackCertificateManagedTLSSecret1 > = z.object({ mode: z.literal("managedTlsSecret"), secretNameTemplate: z.string(), }); export function prepareDeploymentStackCertificateManagedTLSSecret1ToJSON( prepareDeploymentStackCertificateManagedTLSSecret1: PrepareDeploymentStackCertificateManagedTLSSecret1, ): string { return JSON.stringify( PrepareDeploymentStackCertificateManagedTLSSecret1$outboundSchema.parse( prepareDeploymentStackCertificateManagedTLSSecret1, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateAwsAcmArn1$Outbound = { certificateArn: string; mode: "awsAcmArn"; }; /** @internal */ export const PrepareDeploymentStackCertificateAwsAcmArn1$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateAwsAcmArn1$Outbound, PrepareDeploymentStackCertificateAwsAcmArn1 > = z.object({ certificateArn: z.string(), mode: z.literal("awsAcmArn"), }); export function prepareDeploymentStackCertificateAwsAcmArn1ToJSON( prepareDeploymentStackCertificateAwsAcmArn1: PrepareDeploymentStackCertificateAwsAcmArn1, ): string { return JSON.stringify( PrepareDeploymentStackCertificateAwsAcmArn1$outboundSchema.parse( prepareDeploymentStackCertificateAwsAcmArn1, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateManagedAcmImport1$Outbound = { mode: "managedAcmImport"; region?: string | null | undefined; tags?: { [k: string]: string } | undefined; }; /** @internal */ export const PrepareDeploymentStackCertificateManagedAcmImport1$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateManagedAcmImport1$Outbound, PrepareDeploymentStackCertificateManagedAcmImport1 > = z.object({ mode: z.literal("managedAcmImport"), region: z.nullable(z.string()).optional(), tags: z.record(z.string(), z.string()).optional(), }); export function prepareDeploymentStackCertificateManagedAcmImport1ToJSON( prepareDeploymentStackCertificateManagedAcmImport1: PrepareDeploymentStackCertificateManagedAcmImport1, ): string { return JSON.stringify( PrepareDeploymentStackCertificateManagedAcmImport1$outboundSchema.parse( prepareDeploymentStackCertificateManagedAcmImport1, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateTLSSecretRef1$Outbound = { namespace?: string | null | undefined; secretName: string; mode: "tlsSecretRef"; }; /** @internal */ export const PrepareDeploymentStackCertificateTLSSecretRef1$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateTLSSecretRef1$Outbound, PrepareDeploymentStackCertificateTLSSecretRef1 > = z.object({ namespace: z.nullable(z.string()).optional(), secretName: z.string(), mode: z.literal("tlsSecretRef"), }); export function prepareDeploymentStackCertificateTLSSecretRef1ToJSON( prepareDeploymentStackCertificateTLSSecretRef1: PrepareDeploymentStackCertificateTLSSecretRef1, ): string { return JSON.stringify( PrepareDeploymentStackCertificateTLSSecretRef1$outboundSchema.parse( prepareDeploymentStackCertificateTLSSecretRef1, ), ); } /** @internal */ export type PrepareDeploymentStackCertificateUnion1$Outbound = | PrepareDeploymentStackCertificateTLSSecretRef1$Outbound | PrepareDeploymentStackCertificateManagedAcmImport1$Outbound | PrepareDeploymentStackCertificateAwsAcmArn1$Outbound | PrepareDeploymentStackCertificateManagedTLSSecret1$Outbound | PrepareDeploymentStackCertificateNone1$Outbound; /** @internal */ export const PrepareDeploymentStackCertificateUnion1$outboundSchema: z.ZodType< PrepareDeploymentStackCertificateUnion1$Outbound, PrepareDeploymentStackCertificateUnion1 > = z.union([ z.lazy(() => PrepareDeploymentStackCertificateTLSSecretRef1$outboundSchema), z.lazy(() => PrepareDeploymentStackCertificateManagedAcmImport1$outboundSchema ), z.lazy(() => PrepareDeploymentStackCertificateAwsAcmArn1$outboundSchema), z.lazy(() => PrepareDeploymentStackCertificateManagedTLSSecret1$outboundSchema ), z.lazy(() => PrepareDeploymentStackCertificateNone1$outboundSchema), ]); export function prepareDeploymentStackCertificateUnion1ToJSON( prepareDeploymentStackCertificateUnion1: PrepareDeploymentStackCertificateUnion1, ): string { return JSON.stringify( PrepareDeploymentStackCertificateUnion1$outboundSchema.parse( prepareDeploymentStackCertificateUnion1, ), ); } /** @internal */ export const PrepareDeploymentStackModeGenerated$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackModeGenerated > = z.enum(PrepareDeploymentStackModeGenerated); /** @internal */ export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum2$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum2 > = z.enum( PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum2, ); /** @internal */ export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2$Outbound = { albName?: string | null | undefined; albNamespace?: string | null | undefined; frontend: string; provider: string; }; /** @internal */ export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2$outboundSchema: z.ZodType< PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2$Outbound, PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2 > = z.object({ albName: z.nullable(z.string()).optional(), albNamespace: z.nullable(z.string()).optional(), frontend: z.string(), provider: PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum2$outboundSchema, }); export function prepareDeploymentStackProviderAzureApplicationGatewayForContainers2ToJSON( prepareDeploymentStackProviderAzureApplicationGatewayForContainers2: PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2, ): string { return JSON.stringify( PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2$outboundSchema .parse( prepareDeploymentStackProviderAzureApplicationGatewayForContainers2, ), ); } /** @internal */ export const PrepareDeploymentStackProviderGkeGatewayEnum2$outboundSchema: z.ZodEnum = z.enum( PrepareDeploymentStackProviderGkeGatewayEnum2, ); /** @internal */ export type PrepareDeploymentStackProviderGkeGateway2$Outbound = { provider: string; staticAddressName?: string | null | undefined; }; /** @internal */ export const PrepareDeploymentStackProviderGkeGateway2$outboundSchema: z.ZodType< PrepareDeploymentStackProviderGkeGateway2$Outbound, PrepareDeploymentStackProviderGkeGateway2 > = z.object({ provider: PrepareDeploymentStackProviderGkeGatewayEnum2$outboundSchema, staticAddressName: z.nullable(z.string()).optional(), }); export function prepareDeploymentStackProviderGkeGateway2ToJSON( prepareDeploymentStackProviderGkeGateway2: PrepareDeploymentStackProviderGkeGateway2, ): string { return JSON.stringify( PrepareDeploymentStackProviderGkeGateway2$outboundSchema.parse( prepareDeploymentStackProviderGkeGateway2, ), ); } /** @internal */ export const PrepareDeploymentStackProviderAwsAlbEnum2$outboundSchema: z.ZodEnum = z.enum( PrepareDeploymentStackProviderAwsAlbEnum2, ); /** @internal */ export type PrepareDeploymentStackProviderAwsAlb2$Outbound = { ipAddressType?: string | null | undefined; provider: string; scheme: string; subnetIds?: Array | undefined; targetType: string; }; /** @internal */ export const PrepareDeploymentStackProviderAwsAlb2$outboundSchema: z.ZodType< PrepareDeploymentStackProviderAwsAlb2$Outbound, PrepareDeploymentStackProviderAwsAlb2 > = z.object({ ipAddressType: z.nullable(z.string()).optional(), provider: PrepareDeploymentStackProviderAwsAlbEnum2$outboundSchema, scheme: z.string(), subnetIds: z.array(z.string()).optional(), targetType: z.string(), }); export function prepareDeploymentStackProviderAwsAlb2ToJSON( prepareDeploymentStackProviderAwsAlb2: PrepareDeploymentStackProviderAwsAlb2, ): string { return JSON.stringify( PrepareDeploymentStackProviderAwsAlb2$outboundSchema.parse( prepareDeploymentStackProviderAwsAlb2, ), ); } /** @internal */ export type PrepareDeploymentStackProviderUnion2$Outbound = | PrepareDeploymentStackProviderAwsAlb2$Outbound | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2$Outbound | PrepareDeploymentStackProviderGkeGateway2$Outbound | any; /** @internal */ export const PrepareDeploymentStackProviderUnion2$outboundSchema: z.ZodType< PrepareDeploymentStackProviderUnion2$Outbound, PrepareDeploymentStackProviderUnion2 > = z.union([ z.lazy(() => PrepareDeploymentStackProviderAwsAlb2$outboundSchema), z.lazy(() => PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2$outboundSchema ), z.lazy(() => PrepareDeploymentStackProviderGkeGateway2$outboundSchema), z.any(), ]); export function prepareDeploymentStackProviderUnion2ToJSON( prepareDeploymentStackProviderUnion2: PrepareDeploymentStackProviderUnion2, ): string { return JSON.stringify( PrepareDeploymentStackProviderUnion2$outboundSchema.parse( prepareDeploymentStackProviderUnion2, ), ); } /** @internal */ export type PrepareDeploymentStackRouteGateway1$Outbound = { annotations?: { [k: string]: string } | undefined; controller?: string | null | undefined; gatewayClassName: string; labels?: { [k: string]: string } | undefined; listenerPort: number; provider?: | PrepareDeploymentStackProviderAwsAlb2$Outbound | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2$Outbound | PrepareDeploymentStackProviderGkeGateway2$Outbound | any | null | undefined; routeApi: "gateway"; }; /** @internal */ export const PrepareDeploymentStackRouteGateway1$outboundSchema: z.ZodType< PrepareDeploymentStackRouteGateway1$Outbound, PrepareDeploymentStackRouteGateway1 > = 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(() => PrepareDeploymentStackProviderAwsAlb2$outboundSchema), z.lazy(() => PrepareDeploymentStackProviderAzureApplicationGatewayForContainers2$outboundSchema ), z.lazy(() => PrepareDeploymentStackProviderGkeGateway2$outboundSchema), z.any(), ]), ).optional(), routeApi: z.literal("gateway"), }); export function prepareDeploymentStackRouteGateway1ToJSON( prepareDeploymentStackRouteGateway1: PrepareDeploymentStackRouteGateway1, ): string { return JSON.stringify( PrepareDeploymentStackRouteGateway1$outboundSchema.parse( prepareDeploymentStackRouteGateway1, ), ); } /** @internal */ export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum1$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum1 > = z.enum( PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum1, ); /** @internal */ export type PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1$Outbound = { albName?: string | null | undefined; albNamespace?: string | null | undefined; frontend: string; provider: string; }; /** @internal */ export const PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1$outboundSchema: z.ZodType< PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1$Outbound, PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1 > = z.object({ albName: z.nullable(z.string()).optional(), albNamespace: z.nullable(z.string()).optional(), frontend: z.string(), provider: PrepareDeploymentStackProviderAzureApplicationGatewayForContainersEnum1$outboundSchema, }); export function prepareDeploymentStackProviderAzureApplicationGatewayForContainers1ToJSON( prepareDeploymentStackProviderAzureApplicationGatewayForContainers1: PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1, ): string { return JSON.stringify( PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1$outboundSchema .parse( prepareDeploymentStackProviderAzureApplicationGatewayForContainers1, ), ); } /** @internal */ export const PrepareDeploymentStackProviderGkeGatewayEnum1$outboundSchema: z.ZodEnum = z.enum( PrepareDeploymentStackProviderGkeGatewayEnum1, ); /** @internal */ export type PrepareDeploymentStackProviderGkeGateway1$Outbound = { provider: string; staticAddressName?: string | null | undefined; }; /** @internal */ export const PrepareDeploymentStackProviderGkeGateway1$outboundSchema: z.ZodType< PrepareDeploymentStackProviderGkeGateway1$Outbound, PrepareDeploymentStackProviderGkeGateway1 > = z.object({ provider: PrepareDeploymentStackProviderGkeGatewayEnum1$outboundSchema, staticAddressName: z.nullable(z.string()).optional(), }); export function prepareDeploymentStackProviderGkeGateway1ToJSON( prepareDeploymentStackProviderGkeGateway1: PrepareDeploymentStackProviderGkeGateway1, ): string { return JSON.stringify( PrepareDeploymentStackProviderGkeGateway1$outboundSchema.parse( prepareDeploymentStackProviderGkeGateway1, ), ); } /** @internal */ export const PrepareDeploymentStackProviderAwsAlbEnum1$outboundSchema: z.ZodEnum = z.enum( PrepareDeploymentStackProviderAwsAlbEnum1, ); /** @internal */ export type PrepareDeploymentStackProviderAwsAlb1$Outbound = { ipAddressType?: string | null | undefined; provider: string; scheme: string; subnetIds?: Array | undefined; targetType: string; }; /** @internal */ export const PrepareDeploymentStackProviderAwsAlb1$outboundSchema: z.ZodType< PrepareDeploymentStackProviderAwsAlb1$Outbound, PrepareDeploymentStackProviderAwsAlb1 > = z.object({ ipAddressType: z.nullable(z.string()).optional(), provider: PrepareDeploymentStackProviderAwsAlbEnum1$outboundSchema, scheme: z.string(), subnetIds: z.array(z.string()).optional(), targetType: z.string(), }); export function prepareDeploymentStackProviderAwsAlb1ToJSON( prepareDeploymentStackProviderAwsAlb1: PrepareDeploymentStackProviderAwsAlb1, ): string { return JSON.stringify( PrepareDeploymentStackProviderAwsAlb1$outboundSchema.parse( prepareDeploymentStackProviderAwsAlb1, ), ); } /** @internal */ export type PrepareDeploymentStackProviderUnion1$Outbound = | PrepareDeploymentStackProviderAwsAlb1$Outbound | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1$Outbound | PrepareDeploymentStackProviderGkeGateway1$Outbound | any; /** @internal */ export const PrepareDeploymentStackProviderUnion1$outboundSchema: z.ZodType< PrepareDeploymentStackProviderUnion1$Outbound, PrepareDeploymentStackProviderUnion1 > = z.union([ z.lazy(() => PrepareDeploymentStackProviderAwsAlb1$outboundSchema), z.lazy(() => PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1$outboundSchema ), z.lazy(() => PrepareDeploymentStackProviderGkeGateway1$outboundSchema), z.any(), ]); export function prepareDeploymentStackProviderUnion1ToJSON( prepareDeploymentStackProviderUnion1: PrepareDeploymentStackProviderUnion1, ): string { return JSON.stringify( PrepareDeploymentStackProviderUnion1$outboundSchema.parse( prepareDeploymentStackProviderUnion1, ), ); } /** @internal */ export type PrepareDeploymentStackRouteIngress1$Outbound = { annotations?: { [k: string]: string } | undefined; controller?: string | null | undefined; ingressClassName: string; labels?: { [k: string]: string } | undefined; provider?: | PrepareDeploymentStackProviderAwsAlb1$Outbound | PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1$Outbound | PrepareDeploymentStackProviderGkeGateway1$Outbound | any | null | undefined; routeApi: "ingress"; }; /** @internal */ export const PrepareDeploymentStackRouteIngress1$outboundSchema: z.ZodType< PrepareDeploymentStackRouteIngress1$Outbound, PrepareDeploymentStackRouteIngress1 > = 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(() => PrepareDeploymentStackProviderAwsAlb1$outboundSchema), z.lazy(() => PrepareDeploymentStackProviderAzureApplicationGatewayForContainers1$outboundSchema ), z.lazy(() => PrepareDeploymentStackProviderGkeGateway1$outboundSchema), z.any(), ]), ).optional(), routeApi: z.literal("ingress"), }); export function prepareDeploymentStackRouteIngress1ToJSON( prepareDeploymentStackRouteIngress1: PrepareDeploymentStackRouteIngress1, ): string { return JSON.stringify( PrepareDeploymentStackRouteIngress1$outboundSchema.parse( prepareDeploymentStackRouteIngress1, ), ); } /** @internal */ export type PrepareDeploymentStackRouteUnion1$Outbound = | PrepareDeploymentStackRouteIngress1$Outbound | PrepareDeploymentStackRouteGateway1$Outbound; /** @internal */ export const PrepareDeploymentStackRouteUnion1$outboundSchema: z.ZodType< PrepareDeploymentStackRouteUnion1$Outbound, PrepareDeploymentStackRouteUnion1 > = z.union([ z.lazy(() => PrepareDeploymentStackRouteIngress1$outboundSchema), z.lazy(() => PrepareDeploymentStackRouteGateway1$outboundSchema), ]); export function prepareDeploymentStackRouteUnion1ToJSON( prepareDeploymentStackRouteUnion1: PrepareDeploymentStackRouteUnion1, ): string { return JSON.stringify( PrepareDeploymentStackRouteUnion1$outboundSchema.parse( prepareDeploymentStackRouteUnion1, ), ); } /** @internal */ export type PrepareDeploymentStackExposureGenerated$Outbound = { certificate: | PrepareDeploymentStackCertificateTLSSecretRef1$Outbound | PrepareDeploymentStackCertificateManagedAcmImport1$Outbound | PrepareDeploymentStackCertificateAwsAcmArn1$Outbound | PrepareDeploymentStackCertificateManagedTLSSecret1$Outbound | PrepareDeploymentStackCertificateNone1$Outbound; mode: string; route: | PrepareDeploymentStackRouteIngress1$Outbound | PrepareDeploymentStackRouteGateway1$Outbound; }; /** @internal */ export const PrepareDeploymentStackExposureGenerated$outboundSchema: z.ZodType< PrepareDeploymentStackExposureGenerated$Outbound, PrepareDeploymentStackExposureGenerated > = z.object({ certificate: z.union([ z.lazy(() => PrepareDeploymentStackCertificateTLSSecretRef1$outboundSchema), z.lazy(() => PrepareDeploymentStackCertificateManagedAcmImport1$outboundSchema ), z.lazy(() => PrepareDeploymentStackCertificateAwsAcmArn1$outboundSchema), z.lazy(() => PrepareDeploymentStackCertificateManagedTLSSecret1$outboundSchema ), z.lazy(() => PrepareDeploymentStackCertificateNone1$outboundSchema), ]), mode: PrepareDeploymentStackModeGenerated$outboundSchema, route: z.union([ z.lazy(() => PrepareDeploymentStackRouteIngress1$outboundSchema), z.lazy(() => PrepareDeploymentStackRouteGateway1$outboundSchema), ]), }); export function prepareDeploymentStackExposureGeneratedToJSON( prepareDeploymentStackExposureGenerated: PrepareDeploymentStackExposureGenerated, ): string { return JSON.stringify( PrepareDeploymentStackExposureGenerated$outboundSchema.parse( prepareDeploymentStackExposureGenerated, ), ); } /** @internal */ export const PrepareDeploymentStackModeDisabled$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackModeDisabled > = z.enum(PrepareDeploymentStackModeDisabled); /** @internal */ export type PrepareDeploymentStackExposureDisabled$Outbound = { mode: string; }; /** @internal */ export const PrepareDeploymentStackExposureDisabled$outboundSchema: z.ZodType< PrepareDeploymentStackExposureDisabled$Outbound, PrepareDeploymentStackExposureDisabled > = z.object({ mode: PrepareDeploymentStackModeDisabled$outboundSchema, }); export function prepareDeploymentStackExposureDisabledToJSON( prepareDeploymentStackExposureDisabled: PrepareDeploymentStackExposureDisabled, ): string { return JSON.stringify( PrepareDeploymentStackExposureDisabled$outboundSchema.parse( prepareDeploymentStackExposureDisabled, ), ); } /** @internal */ export type PrepareDeploymentStackExposureUnion$Outbound = | PrepareDeploymentStackExposureCustom$Outbound | PrepareDeploymentStackExposureGenerated$Outbound | PrepareDeploymentStackExposureDisabled$Outbound | any; /** @internal */ export const PrepareDeploymentStackExposureUnion$outboundSchema: z.ZodType< PrepareDeploymentStackExposureUnion$Outbound, PrepareDeploymentStackExposureUnion > = z.union([ z.lazy(() => PrepareDeploymentStackExposureCustom$outboundSchema), z.lazy(() => PrepareDeploymentStackExposureGenerated$outboundSchema), z.lazy(() => PrepareDeploymentStackExposureDisabled$outboundSchema), z.any(), ]); export function prepareDeploymentStackExposureUnionToJSON( prepareDeploymentStackExposureUnion: PrepareDeploymentStackExposureUnion, ): string { return JSON.stringify( PrepareDeploymentStackExposureUnion$outboundSchema.parse( prepareDeploymentStackExposureUnion, ), ); } /** @internal */ export type PrepareDeploymentStackKubernetes$Outbound = { cluster?: PrepareDeploymentStackCluster$Outbound | any | null | undefined; exposure?: | PrepareDeploymentStackExposureCustom$Outbound | PrepareDeploymentStackExposureGenerated$Outbound | PrepareDeploymentStackExposureDisabled$Outbound | any | null | undefined; }; /** @internal */ export const PrepareDeploymentStackKubernetes$outboundSchema: z.ZodType< PrepareDeploymentStackKubernetes$Outbound, PrepareDeploymentStackKubernetes > = z.object({ cluster: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackCluster$outboundSchema), z.any(), ]), ).optional(), exposure: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackExposureCustom$outboundSchema), z.lazy(() => PrepareDeploymentStackExposureGenerated$outboundSchema), z.lazy(() => PrepareDeploymentStackExposureDisabled$outboundSchema), z.any(), ]), ).optional(), }); export function prepareDeploymentStackKubernetesToJSON( prepareDeploymentStackKubernetes: PrepareDeploymentStackKubernetes, ): string { return JSON.stringify( PrepareDeploymentStackKubernetes$outboundSchema.parse( prepareDeploymentStackKubernetes, ), ); } /** @internal */ export type PrepareDeploymentStackKubernetesUnion$Outbound = | PrepareDeploymentStackKubernetes$Outbound | any; /** @internal */ export const PrepareDeploymentStackKubernetesUnion$outboundSchema: z.ZodType< PrepareDeploymentStackKubernetesUnion$Outbound, PrepareDeploymentStackKubernetesUnion > = z.union([ z.lazy(() => PrepareDeploymentStackKubernetes$outboundSchema), z.any(), ]); export function prepareDeploymentStackKubernetesUnionToJSON( prepareDeploymentStackKubernetesUnion: PrepareDeploymentStackKubernetesUnion, ): string { return JSON.stringify( PrepareDeploymentStackKubernetesUnion$outboundSchema.parse( prepareDeploymentStackKubernetesUnion, ), ); } /** @internal */ export const PrepareDeploymentStackTypeByoVnetAzure$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackTypeByoVnetAzure > = z.enum(PrepareDeploymentStackTypeByoVnetAzure); /** @internal */ export type PrepareDeploymentStackNetworkByoVnetAzure$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 PrepareDeploymentStackNetworkByoVnetAzure$outboundSchema: z.ZodType< PrepareDeploymentStackNetworkByoVnetAzure$Outbound, PrepareDeploymentStackNetworkByoVnetAzure > = z.object({ applicationGatewaySubnetName: z.nullable(z.string()).optional(), privateEndpointSubnetName: z.nullable(z.string()).optional(), privateSubnetName: z.string(), publicSubnetName: z.string(), type: PrepareDeploymentStackTypeByoVnetAzure$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 prepareDeploymentStackNetworkByoVnetAzureToJSON( prepareDeploymentStackNetworkByoVnetAzure: PrepareDeploymentStackNetworkByoVnetAzure, ): string { return JSON.stringify( PrepareDeploymentStackNetworkByoVnetAzure$outboundSchema.parse( prepareDeploymentStackNetworkByoVnetAzure, ), ); } /** @internal */ export const PrepareDeploymentStackTypeByoVpcGcp$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackTypeByoVpcGcp > = z.enum(PrepareDeploymentStackTypeByoVpcGcp); /** @internal */ export type PrepareDeploymentStackNetworkByoVpcGcp$Outbound = { network_name: string; region: string; subnet_name: string; type: string; }; /** @internal */ export const PrepareDeploymentStackNetworkByoVpcGcp$outboundSchema: z.ZodType< PrepareDeploymentStackNetworkByoVpcGcp$Outbound, PrepareDeploymentStackNetworkByoVpcGcp > = z.object({ networkName: z.string(), region: z.string(), subnetName: z.string(), type: PrepareDeploymentStackTypeByoVpcGcp$outboundSchema, }).transform((v) => { return remap$(v, { networkName: "network_name", subnetName: "subnet_name", }); }); export function prepareDeploymentStackNetworkByoVpcGcpToJSON( prepareDeploymentStackNetworkByoVpcGcp: PrepareDeploymentStackNetworkByoVpcGcp, ): string { return JSON.stringify( PrepareDeploymentStackNetworkByoVpcGcp$outboundSchema.parse( prepareDeploymentStackNetworkByoVpcGcp, ), ); } /** @internal */ export const PrepareDeploymentStackTypeByoVpcAws$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackTypeByoVpcAws > = z.enum(PrepareDeploymentStackTypeByoVpcAws); /** @internal */ export type PrepareDeploymentStackNetworkByoVpcAws$Outbound = { private_subnet_ids: Array; public_subnet_ids: Array; security_group_ids?: Array | undefined; type: string; vpc_id: string; }; /** @internal */ export const PrepareDeploymentStackNetworkByoVpcAws$outboundSchema: z.ZodType< PrepareDeploymentStackNetworkByoVpcAws$Outbound, PrepareDeploymentStackNetworkByoVpcAws > = z.object({ privateSubnetIds: z.array(z.string()), publicSubnetIds: z.array(z.string()), securityGroupIds: z.array(z.string()).optional(), type: PrepareDeploymentStackTypeByoVpcAws$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 prepareDeploymentStackNetworkByoVpcAwsToJSON( prepareDeploymentStackNetworkByoVpcAws: PrepareDeploymentStackNetworkByoVpcAws, ): string { return JSON.stringify( PrepareDeploymentStackNetworkByoVpcAws$outboundSchema.parse( prepareDeploymentStackNetworkByoVpcAws, ), ); } /** @internal */ export const PrepareDeploymentStackTypeCreate$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackTypeCreate > = z.enum(PrepareDeploymentStackTypeCreate); /** @internal */ export type PrepareDeploymentStackNetworkCreate$Outbound = { availability_zones?: number | undefined; cidr?: string | null | undefined; type: string; }; /** @internal */ export const PrepareDeploymentStackNetworkCreate$outboundSchema: z.ZodType< PrepareDeploymentStackNetworkCreate$Outbound, PrepareDeploymentStackNetworkCreate > = z.object({ availabilityZones: z.int().optional(), cidr: z.nullable(z.string()).optional(), type: PrepareDeploymentStackTypeCreate$outboundSchema, }).transform((v) => { return remap$(v, { availabilityZones: "availability_zones", }); }); export function prepareDeploymentStackNetworkCreateToJSON( prepareDeploymentStackNetworkCreate: PrepareDeploymentStackNetworkCreate, ): string { return JSON.stringify( PrepareDeploymentStackNetworkCreate$outboundSchema.parse( prepareDeploymentStackNetworkCreate, ), ); } /** @internal */ export const PrepareDeploymentStackTypeUseDefault$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackTypeUseDefault > = z.enum(PrepareDeploymentStackTypeUseDefault); /** @internal */ export type PrepareDeploymentStackNetworkUseDefault$Outbound = { type: string; }; /** @internal */ export const PrepareDeploymentStackNetworkUseDefault$outboundSchema: z.ZodType< PrepareDeploymentStackNetworkUseDefault$Outbound, PrepareDeploymentStackNetworkUseDefault > = z.object({ type: PrepareDeploymentStackTypeUseDefault$outboundSchema, }); export function prepareDeploymentStackNetworkUseDefaultToJSON( prepareDeploymentStackNetworkUseDefault: PrepareDeploymentStackNetworkUseDefault, ): string { return JSON.stringify( PrepareDeploymentStackNetworkUseDefault$outboundSchema.parse( prepareDeploymentStackNetworkUseDefault, ), ); } /** @internal */ export type PrepareDeploymentStackNetworkUnion$Outbound = | PrepareDeploymentStackNetworkByoVpcAws$Outbound | PrepareDeploymentStackNetworkByoVpcGcp$Outbound | PrepareDeploymentStackNetworkByoVnetAzure$Outbound | PrepareDeploymentStackNetworkUseDefault$Outbound | PrepareDeploymentStackNetworkCreate$Outbound | any; /** @internal */ export const PrepareDeploymentStackNetworkUnion$outboundSchema: z.ZodType< PrepareDeploymentStackNetworkUnion$Outbound, PrepareDeploymentStackNetworkUnion > = z.union([ z.lazy(() => PrepareDeploymentStackNetworkByoVpcAws$outboundSchema), z.lazy(() => PrepareDeploymentStackNetworkByoVpcGcp$outboundSchema), z.lazy(() => PrepareDeploymentStackNetworkByoVnetAzure$outboundSchema), z.lazy(() => PrepareDeploymentStackNetworkUseDefault$outboundSchema), z.lazy(() => PrepareDeploymentStackNetworkCreate$outboundSchema), z.any(), ]); export function prepareDeploymentStackNetworkUnionToJSON( prepareDeploymentStackNetworkUnion: PrepareDeploymentStackNetworkUnion, ): string { return JSON.stringify( PrepareDeploymentStackNetworkUnion$outboundSchema.parse( prepareDeploymentStackNetworkUnion, ), ); } /** @internal */ export const PrepareDeploymentStackTelemetry$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackTelemetry > = z.enum(PrepareDeploymentStackTelemetry); /** @internal */ export const PrepareDeploymentStackUpdates$outboundSchema: z.ZodEnum< typeof PrepareDeploymentStackUpdates > = z.enum(PrepareDeploymentStackUpdates); /** @internal */ export type PrepareDeploymentStackStackSettings$Outbound = { compute?: PrepareDeploymentStackCompute$Outbound | any | null | undefined; deploymentModel?: string | undefined; domains?: PrepareDeploymentStackDomains$Outbound | any | null | undefined; externalBindings?: | PrepareDeploymentStackExternalBindings$Outbound | null | undefined; heartbeats?: string | undefined; kubernetes?: | PrepareDeploymentStackKubernetes$Outbound | any | null | undefined; network?: | PrepareDeploymentStackNetworkByoVpcAws$Outbound | PrepareDeploymentStackNetworkByoVpcGcp$Outbound | PrepareDeploymentStackNetworkByoVnetAzure$Outbound | PrepareDeploymentStackNetworkUseDefault$Outbound | PrepareDeploymentStackNetworkCreate$Outbound | any | null | undefined; publicEndpoints?: { [k: string]: { [k: string]: string } } | null | undefined; telemetry?: string | undefined; updates?: string | undefined; }; /** @internal */ export const PrepareDeploymentStackStackSettings$outboundSchema: z.ZodType< PrepareDeploymentStackStackSettings$Outbound, PrepareDeploymentStackStackSettings > = z.object({ compute: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackCompute$outboundSchema), z.any(), ]), ).optional(), deploymentModel: PrepareDeploymentStackDeploymentModel$outboundSchema .optional(), domains: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackDomains$outboundSchema), z.any(), ]), ).optional(), externalBindings: z.nullable( z.lazy(() => PrepareDeploymentStackExternalBindings$outboundSchema), ).optional(), heartbeats: PrepareDeploymentStackHeartbeats$outboundSchema.optional(), kubernetes: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackKubernetes$outboundSchema), z.any(), ]), ).optional(), network: z.nullable( z.union([ z.lazy(() => PrepareDeploymentStackNetworkByoVpcAws$outboundSchema), z.lazy(() => PrepareDeploymentStackNetworkByoVpcGcp$outboundSchema), z.lazy(() => PrepareDeploymentStackNetworkByoVnetAzure$outboundSchema), z.lazy(() => PrepareDeploymentStackNetworkUseDefault$outboundSchema), z.lazy(() => PrepareDeploymentStackNetworkCreate$outboundSchema), z.any(), ]), ).optional(), publicEndpoints: z.nullable( z.record(z.string(), z.record(z.string(), z.string())), ).optional(), telemetry: PrepareDeploymentStackTelemetry$outboundSchema.optional(), updates: PrepareDeploymentStackUpdates$outboundSchema.optional(), }); export function prepareDeploymentStackStackSettingsToJSON( prepareDeploymentStackStackSettings: PrepareDeploymentStackStackSettings, ): string { return JSON.stringify( PrepareDeploymentStackStackSettings$outboundSchema.parse( prepareDeploymentStackStackSettings, ), ); } /** @internal */ export type PrepareDeploymentStackRequest$Outbound = { saveForSetup?: boolean | undefined; setupItem?: string | undefined; deploymentId?: string | undefined; updateOperationId?: string | undefined; platform: string; setupMethod: string; region?: string | undefined; stackSettings: PrepareDeploymentStackStackSettings$Outbound; }; /** @internal */ export const PrepareDeploymentStackRequest$outboundSchema: z.ZodType< PrepareDeploymentStackRequest$Outbound, PrepareDeploymentStackRequest > = z.object({ saveForSetup: z.boolean().optional(), setupItem: PrepareDeploymentStackSetupItem$outboundSchema.optional(), deploymentId: z.string().optional(), updateOperationId: z.string().optional(), platform: PrepareDeploymentStackPlatform$outboundSchema, setupMethod: models.DeploymentSetupMethod$outboundSchema, region: z.string().optional(), stackSettings: z.lazy(() => PrepareDeploymentStackStackSettings$outboundSchema ), }); export function prepareDeploymentStackRequestToJSON( prepareDeploymentStackRequest: PrepareDeploymentStackRequest, ): string { return JSON.stringify( PrepareDeploymentStackRequest$outboundSchema.parse( prepareDeploymentStackRequest, ), ); }