UNPKG

@defang-io/pulumi-defang

Version:

![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/DefangLabs/pulumi-defang?label=Version)

442 lines (441 loc) 17.5 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; export interface ProjectConfigArgs { configs?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.types.ConfigObjConfigArgs>; }>; name?: pulumi.Input<string>; networks?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.types.NetworkConfigArgs>; }>; secrets?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.types.SecretConfigArgs>; }>; services: pulumi.Input<{ [key: string]: pulumi.Input<inputs.types.ServiceConfigArgs>; }>; volumes?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.types.VolumeConfigArgs>; }>; } export declare namespace types { interface BlkioConfigArgs { device_read_bps?: pulumi.Input<pulumi.Input<inputs.types.ThrottleDeviceArgs>[]>; device_read_iops?: pulumi.Input<pulumi.Input<inputs.types.ThrottleDeviceArgs>[]>; device_write_bps?: pulumi.Input<pulumi.Input<inputs.types.ThrottleDeviceArgs>[]>; device_write_iops?: pulumi.Input<pulumi.Input<inputs.types.ThrottleDeviceArgs>[]>; weight?: pulumi.Input<number>; weight_device?: pulumi.Input<pulumi.Input<inputs.types.WeightDeviceArgs>[]>; } interface BuildConfigArgs { additional_contexts?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; args?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; cache_from?: pulumi.Input<pulumi.Input<string>[]>; cache_to?: pulumi.Input<pulumi.Input<string>[]>; context?: pulumi.Input<string>; dockerfile?: pulumi.Input<string>; dockerfile_inline?: pulumi.Input<string>; entitlements?: pulumi.Input<pulumi.Input<string>[]>; extra_hosts?: pulumi.Input<{ [key: string]: pulumi.Input<pulumi.Input<string>[]>; }>; isolation?: pulumi.Input<string>; labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; network?: pulumi.Input<string>; no_cache?: pulumi.Input<boolean>; platforms?: pulumi.Input<pulumi.Input<string>[]>; privileged?: pulumi.Input<boolean>; pull?: pulumi.Input<boolean>; secrets?: pulumi.Input<pulumi.Input<inputs.types.ServiceSecretConfigArgs>[]>; shm_size?: pulumi.Input<number>; ssh?: pulumi.Input<pulumi.Input<inputs.types.SSHKeyArgs>[]>; tags?: pulumi.Input<pulumi.Input<string>[]>; target?: pulumi.Input<string>; ulimits?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.types.UlimitsConfigArgs>; }>; } interface ConfigObjConfigArgs { content?: pulumi.Input<string>; driver?: pulumi.Input<string>; driver_opts?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; environment?: pulumi.Input<string>; external?: pulumi.Input<boolean>; file?: pulumi.Input<string>; labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; name?: pulumi.Input<string>; template_driver?: pulumi.Input<string>; } interface CredentialSpecConfigArgs { config?: pulumi.Input<string>; file?: pulumi.Input<string>; registry?: pulumi.Input<string>; } interface DeployConfigArgs { endpoint_mode?: pulumi.Input<string>; labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; mode?: pulumi.Input<string>; placement?: pulumi.Input<inputs.types.PlacementArgs>; replicas?: pulumi.Input<number>; resources: pulumi.Input<inputs.types.ResourcesArgs>; restart_policy?: pulumi.Input<inputs.types.RestartPolicyArgs>; rollback_config?: pulumi.Input<inputs.types.UpdateConfigArgs>; update_config?: pulumi.Input<inputs.types.UpdateConfigArgs>; } interface DevelopConfigArgs { watch?: pulumi.Input<pulumi.Input<inputs.types.TriggerArgs>[]>; } interface DeviceMappingArgs { permissions?: pulumi.Input<string>; source?: pulumi.Input<string>; target?: pulumi.Input<string>; } interface DeviceRequestArgs { capabilities?: pulumi.Input<pulumi.Input<string>[]>; count?: pulumi.Input<number>; device_ids?: pulumi.Input<pulumi.Input<string>[]>; driver?: pulumi.Input<string>; options?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; } interface DiscreteGenericResourceArgs { kind: pulumi.Input<string>; value: pulumi.Input<number>; } interface EnvFileArgs { format?: pulumi.Input<string>; path?: pulumi.Input<string>; required: pulumi.Input<boolean>; } interface ExtendsConfigArgs { file?: pulumi.Input<string>; service?: pulumi.Input<string>; } interface GenericResourceArgs { discrete_resource_spec?: pulumi.Input<inputs.types.DiscreteGenericResourceArgs>; } interface HealthCheckConfigArgs { disable?: pulumi.Input<boolean>; interval?: pulumi.Input<number>; retries?: pulumi.Input<number>; start_interval?: pulumi.Input<number>; start_period?: pulumi.Input<number>; test?: pulumi.Input<pulumi.Input<string>[]>; timeout?: pulumi.Input<number>; } interface IPAMConfigArgs { config?: pulumi.Input<pulumi.Input<inputs.types.IPAMPoolArgs>[]>; driver?: pulumi.Input<string>; } interface IPAMPoolArgs { aux_addresses?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; gateway?: pulumi.Input<string>; ip_range?: pulumi.Input<string>; subnet?: pulumi.Input<string>; } interface LoggingConfigArgs { driver?: pulumi.Input<string>; options?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; } interface NetworkConfigArgs { attachable?: pulumi.Input<boolean>; driver?: pulumi.Input<string>; driver_opts?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; enable_ipv6?: pulumi.Input<boolean>; external?: pulumi.Input<boolean>; internal?: pulumi.Input<boolean>; ipam: pulumi.Input<inputs.types.IPAMConfigArgs>; labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; name?: pulumi.Input<string>; } interface PlacementArgs { constraints?: pulumi.Input<pulumi.Input<string>[]>; max_replicas_per_node?: pulumi.Input<number>; preferences?: pulumi.Input<pulumi.Input<inputs.types.PlacementPreferencesArgs>[]>; } interface PlacementPreferencesArgs { spread?: pulumi.Input<string>; } interface ResourceArgs { cpus?: pulumi.Input<number>; devices?: pulumi.Input<pulumi.Input<inputs.types.DeviceRequestArgs>[]>; generic_resources?: pulumi.Input<pulumi.Input<inputs.types.GenericResourceArgs>[]>; memory?: pulumi.Input<number>; pids?: pulumi.Input<number>; } interface ResourcesArgs { limits?: pulumi.Input<inputs.types.ResourceArgs>; reservations?: pulumi.Input<inputs.types.ResourceArgs>; } interface RestartPolicyArgs { condition?: pulumi.Input<string>; delay?: pulumi.Input<number>; max_attempts?: pulumi.Input<number>; window?: pulumi.Input<number>; } interface SSHKeyArgs { id?: pulumi.Input<string>; path?: pulumi.Input<string>; } interface SecretConfigArgs { content?: pulumi.Input<string>; driver?: pulumi.Input<string>; driver_opts?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; environment?: pulumi.Input<string>; external?: pulumi.Input<boolean>; file?: pulumi.Input<string>; labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; name?: pulumi.Input<string>; template_driver?: pulumi.Input<string>; } interface ServiceConfigArgs { annotations?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; attach?: pulumi.Input<boolean>; blkio_config?: pulumi.Input<inputs.types.BlkioConfigArgs>; build?: pulumi.Input<inputs.types.BuildConfigArgs>; cap_add?: pulumi.Input<pulumi.Input<string>[]>; cap_drop?: pulumi.Input<pulumi.Input<string>[]>; cgroup?: pulumi.Input<string>; cgroup_parent?: pulumi.Input<string>; command?: pulumi.Input<pulumi.Input<string>[]>; configs?: pulumi.Input<pulumi.Input<inputs.types.ServiceConfigObjConfigArgs>[]>; container_name?: pulumi.Input<string>; cpu_count?: pulumi.Input<number>; cpu_percent?: pulumi.Input<number>; cpu_period?: pulumi.Input<number>; cpu_quota?: pulumi.Input<number>; cpu_rt_period?: pulumi.Input<number>; cpu_rt_runtime?: pulumi.Input<number>; cpu_shares?: pulumi.Input<number>; cpus?: pulumi.Input<number>; cpuset?: pulumi.Input<string>; credential_spec?: pulumi.Input<inputs.types.CredentialSpecConfigArgs>; defang_llm?: pulumi.Input<boolean>; defang_postgres?: pulumi.Input<boolean>; defang_redis?: pulumi.Input<boolean>; defang_static_files?: pulumi.Input<boolean>; depends_on?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.types.ServiceDependencyArgs>; }>; deploy?: pulumi.Input<inputs.types.DeployConfigArgs>; develop?: pulumi.Input<inputs.types.DevelopConfigArgs>; device_cgroup_rules?: pulumi.Input<pulumi.Input<string>[]>; devices?: pulumi.Input<pulumi.Input<inputs.types.DeviceMappingArgs>[]>; dns?: pulumi.Input<pulumi.Input<string>[]>; dns_opt?: pulumi.Input<pulumi.Input<string>[]>; dns_search?: pulumi.Input<pulumi.Input<string>[]>; dockerfile?: pulumi.Input<string>; domainname?: pulumi.Input<string>; entrypoint?: pulumi.Input<pulumi.Input<string>[]>; env_file?: pulumi.Input<pulumi.Input<inputs.types.EnvFileArgs>[]>; environment?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; expose?: pulumi.Input<pulumi.Input<string>[]>; extends?: pulumi.Input<inputs.types.ExtendsConfigArgs>; external_links?: pulumi.Input<pulumi.Input<string>[]>; extra_hosts?: pulumi.Input<{ [key: string]: pulumi.Input<pulumi.Input<string>[]>; }>; gpus?: pulumi.Input<pulumi.Input<inputs.types.DeviceRequestArgs>[]>; group_add?: pulumi.Input<pulumi.Input<string>[]>; healthcheck?: pulumi.Input<inputs.types.HealthCheckConfigArgs>; hostname?: pulumi.Input<string>; image?: pulumi.Input<string>; init?: pulumi.Input<boolean>; ipc?: pulumi.Input<string>; isolation?: pulumi.Input<string>; labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; links?: pulumi.Input<pulumi.Input<string>[]>; log_driver?: pulumi.Input<string>; log_opt?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; logging?: pulumi.Input<inputs.types.LoggingConfigArgs>; mac_address?: pulumi.Input<string>; mem_limit?: pulumi.Input<number>; mem_reservation?: pulumi.Input<number>; mem_swappiness?: pulumi.Input<number>; memswap_limit?: pulumi.Input<number>; net?: pulumi.Input<string>; network_mode?: pulumi.Input<string>; networks?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.types.ServiceNetworkConfigArgs>; }>; oom_kill_disable?: pulumi.Input<boolean>; oom_score_adj?: pulumi.Input<number>; pid?: pulumi.Input<string>; pids_limit?: pulumi.Input<number>; platform?: pulumi.Input<string>; ports?: pulumi.Input<pulumi.Input<inputs.types.ServicePortConfigArgs>[]>; post_start?: pulumi.Input<pulumi.Input<inputs.types.ServiceHookArgs>[]>; pre_stop?: pulumi.Input<pulumi.Input<inputs.types.ServiceHookArgs>[]>; privileged?: pulumi.Input<boolean>; profiles?: pulumi.Input<pulumi.Input<string>[]>; pull_policy?: pulumi.Input<string>; read_only?: pulumi.Input<boolean>; restart?: pulumi.Input<string>; runtime?: pulumi.Input<string>; scale?: pulumi.Input<number>; secrets?: pulumi.Input<pulumi.Input<inputs.types.ServiceSecretConfigArgs>[]>; security_opt?: pulumi.Input<pulumi.Input<string>[]>; shm_size?: pulumi.Input<number>; stdin_open?: pulumi.Input<boolean>; stop_grace_period?: pulumi.Input<number>; stop_signal?: pulumi.Input<string>; storage_opt?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; sysctls?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; tmpfs?: pulumi.Input<pulumi.Input<string>[]>; tty?: pulumi.Input<boolean>; ulimits?: pulumi.Input<{ [key: string]: pulumi.Input<inputs.types.UlimitsConfigArgs>; }>; user?: pulumi.Input<string>; userns_mode?: pulumi.Input<string>; uts?: pulumi.Input<string>; volume_driver?: pulumi.Input<string>; volumes?: pulumi.Input<pulumi.Input<inputs.types.ServiceVolumeConfigArgs>[]>; volumes_from?: pulumi.Input<pulumi.Input<string>[]>; working_dir?: pulumi.Input<string>; } interface ServiceConfigObjConfigArgs { gid?: pulumi.Input<string>; mode?: pulumi.Input<number>; source?: pulumi.Input<string>; target?: pulumi.Input<string>; uid?: pulumi.Input<string>; } interface ServiceDependencyArgs { condition?: pulumi.Input<string>; required: pulumi.Input<boolean>; restart?: pulumi.Input<boolean>; } interface ServiceHookArgs { command: pulumi.Input<pulumi.Input<string>[]>; environment?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; privileged?: pulumi.Input<boolean>; user?: pulumi.Input<string>; working_dir?: pulumi.Input<string>; } interface ServiceNetworkConfigArgs { aliases?: pulumi.Input<pulumi.Input<string>[]>; driver_opts?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; ipv4_address?: pulumi.Input<string>; ipv6_address?: pulumi.Input<string>; link_local_ips?: pulumi.Input<pulumi.Input<string>[]>; mac_address?: pulumi.Input<string>; priority?: pulumi.Input<number>; } interface ServicePortConfigArgs { app_protocol?: pulumi.Input<string>; defang_listener?: pulumi.Input<string>; host_ip?: pulumi.Input<string>; mode?: pulumi.Input<string>; name?: pulumi.Input<string>; protocol?: pulumi.Input<string>; published?: pulumi.Input<string>; target?: pulumi.Input<number>; } interface ServiceSecretConfigArgs { gid?: pulumi.Input<string>; mode?: pulumi.Input<number>; source?: pulumi.Input<string>; target?: pulumi.Input<string>; uid?: pulumi.Input<string>; } interface ServiceVolumeBindArgs { create_host_path?: pulumi.Input<boolean>; propagation?: pulumi.Input<string>; recursive?: pulumi.Input<string>; selinux?: pulumi.Input<string>; } interface ServiceVolumeConfigArgs { bind?: pulumi.Input<inputs.types.ServiceVolumeBindArgs>; consistency?: pulumi.Input<string>; read_only?: pulumi.Input<boolean>; source?: pulumi.Input<string>; target?: pulumi.Input<string>; tmpfs?: pulumi.Input<inputs.types.ServiceVolumeTmpfsArgs>; type?: pulumi.Input<string>; volume?: pulumi.Input<inputs.types.ServiceVolumeVolumeArgs>; } interface ServiceVolumeTmpfsArgs { mode?: pulumi.Input<number>; size?: pulumi.Input<number>; } interface ServiceVolumeVolumeArgs { nocopy?: pulumi.Input<boolean>; subpath?: pulumi.Input<string>; } interface ThrottleDeviceArgs { } interface TriggerArgs { action: pulumi.Input<string>; ignore?: pulumi.Input<pulumi.Input<string>[]>; path: pulumi.Input<string>; target?: pulumi.Input<string>; } interface UlimitsConfigArgs { hard?: pulumi.Input<number>; single?: pulumi.Input<number>; soft?: pulumi.Input<number>; } interface UpdateConfigArgs { delay?: pulumi.Input<number>; failure_action?: pulumi.Input<string>; max_failure_ratio?: pulumi.Input<number>; monitor?: pulumi.Input<number>; order?: pulumi.Input<string>; parallelism?: pulumi.Input<number>; } interface VolumeConfigArgs { driver?: pulumi.Input<string>; driver_opts?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; external?: pulumi.Input<boolean>; labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; name?: pulumi.Input<string>; } interface WeightDeviceArgs { } }