UNPKG

@defang-io/pulumi-defang

Version:

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

445 lines (444 loc) 12 kB
import * as outputs from "../types/output"; export interface ProjectConfig { configs?: { [key: string]: outputs.types.ConfigObjConfig; }; name?: string; networks?: { [key: string]: outputs.types.NetworkConfig; }; secrets?: { [key: string]: outputs.types.SecretConfig; }; services: { [key: string]: outputs.types.ServiceConfig; }; volumes?: { [key: string]: outputs.types.VolumeConfig; }; } export interface ServiceState { id: string; task_role: string; } export declare namespace types { interface BlkioConfig { device_read_bps?: outputs.types.ThrottleDevice[]; device_read_iops?: outputs.types.ThrottleDevice[]; device_write_bps?: outputs.types.ThrottleDevice[]; device_write_iops?: outputs.types.ThrottleDevice[]; weight?: number; weight_device?: outputs.types.WeightDevice[]; } interface BuildConfig { additional_contexts?: { [key: string]: string; }; args?: { [key: string]: string; }; cache_from?: string[]; cache_to?: string[]; context?: string; dockerfile?: string; dockerfile_inline?: string; entitlements?: string[]; extra_hosts?: { [key: string]: string[]; }; isolation?: string; labels?: { [key: string]: string; }; network?: string; no_cache?: boolean; platforms?: string[]; privileged?: boolean; pull?: boolean; secrets?: outputs.types.ServiceSecretConfig[]; shm_size?: number; ssh?: outputs.types.SSHKey[]; tags?: string[]; target?: string; ulimits?: { [key: string]: outputs.types.UlimitsConfig; }; } interface ConfigObjConfig { content?: string; driver?: string; driver_opts?: { [key: string]: string; }; environment?: string; external?: boolean; file?: string; labels?: { [key: string]: string; }; name?: string; template_driver?: string; } interface CredentialSpecConfig { config?: string; file?: string; registry?: string; } interface DeployConfig { endpoint_mode?: string; labels?: { [key: string]: string; }; mode?: string; placement?: outputs.types.Placement; replicas?: number; resources: outputs.types.Resources; restart_policy?: outputs.types.RestartPolicy; rollback_config?: outputs.types.UpdateConfig; update_config?: outputs.types.UpdateConfig; } interface DevelopConfig { watch?: outputs.types.Trigger[]; } interface DeviceMapping { permissions?: string; source?: string; target?: string; } interface DeviceRequest { capabilities?: string[]; count?: number; device_ids?: string[]; driver?: string; options?: { [key: string]: string; }; } interface DiscreteGenericResource { kind: string; value: number; } interface EnvFile { format?: string; path?: string; required: boolean; } interface ExtendsConfig { file?: string; service?: string; } interface GenericResource { discrete_resource_spec?: outputs.types.DiscreteGenericResource; } interface HealthCheckConfig { disable?: boolean; interval?: number; retries?: number; start_interval?: number; start_period?: number; test?: string[]; timeout?: number; } interface IPAMConfig { config?: outputs.types.IPAMPool[]; driver?: string; } interface IPAMPool { aux_addresses?: { [key: string]: string; }; gateway?: string; ip_range?: string; subnet?: string; } interface LoggingConfig { driver?: string; options?: { [key: string]: string; }; } interface NetworkConfig { attachable?: boolean; driver?: string; driver_opts?: { [key: string]: string; }; enable_ipv6?: boolean; external?: boolean; internal?: boolean; ipam: outputs.types.IPAMConfig; labels?: { [key: string]: string; }; name?: string; } interface Placement { constraints?: string[]; max_replicas_per_node?: number; preferences?: outputs.types.PlacementPreferences[]; } interface PlacementPreferences { spread?: string; } interface Resource { cpus?: number; devices?: outputs.types.DeviceRequest[]; generic_resources?: outputs.types.GenericResource[]; memory?: number; pids?: number; } interface Resources { limits?: outputs.types.Resource; reservations?: outputs.types.Resource; } interface RestartPolicy { condition?: string; delay?: number; max_attempts?: number; window?: number; } interface SSHKey { id?: string; path?: string; } interface SecretConfig { content?: string; driver?: string; driver_opts?: { [key: string]: string; }; environment?: string; external?: boolean; file?: string; labels?: { [key: string]: string; }; name?: string; template_driver?: string; } interface ServiceConfig { annotations?: { [key: string]: string; }; attach?: boolean; blkio_config?: outputs.types.BlkioConfig; build?: outputs.types.BuildConfig; cap_add?: string[]; cap_drop?: string[]; cgroup?: string; cgroup_parent?: string; command?: string[]; configs?: outputs.types.ServiceConfigObjConfig[]; container_name?: string; cpu_count?: number; cpu_percent?: number; cpu_period?: number; cpu_quota?: number; cpu_rt_period?: number; cpu_rt_runtime?: number; cpu_shares?: number; cpus?: number; cpuset?: string; credential_spec?: outputs.types.CredentialSpecConfig; defang_llm?: boolean; defang_postgres?: boolean; defang_redis?: boolean; defang_static_files?: boolean; depends_on?: { [key: string]: outputs.types.ServiceDependency; }; deploy?: outputs.types.DeployConfig; develop?: outputs.types.DevelopConfig; device_cgroup_rules?: string[]; devices?: outputs.types.DeviceMapping[]; dns?: string[]; dns_opt?: string[]; dns_search?: string[]; dockerfile?: string; domainname?: string; entrypoint?: string[]; env_file?: outputs.types.EnvFile[]; environment?: { [key: string]: string; }; expose?: string[]; extends?: outputs.types.ExtendsConfig; external_links?: string[]; extra_hosts?: { [key: string]: string[]; }; gpus?: outputs.types.DeviceRequest[]; group_add?: string[]; healthcheck?: outputs.types.HealthCheckConfig; hostname?: string; image?: string; init?: boolean; ipc?: string; isolation?: string; labels?: { [key: string]: string; }; links?: string[]; log_driver?: string; log_opt?: { [key: string]: string; }; logging?: outputs.types.LoggingConfig; mac_address?: string; mem_limit?: number; mem_reservation?: number; mem_swappiness?: number; memswap_limit?: number; net?: string; network_mode?: string; networks?: { [key: string]: outputs.types.ServiceNetworkConfig; }; oom_kill_disable?: boolean; oom_score_adj?: number; pid?: string; pids_limit?: number; platform?: string; ports?: outputs.types.ServicePortConfig[]; post_start?: outputs.types.ServiceHook[]; pre_stop?: outputs.types.ServiceHook[]; privileged?: boolean; profiles?: string[]; pull_policy?: string; read_only?: boolean; restart?: string; runtime?: string; scale?: number; secrets?: outputs.types.ServiceSecretConfig[]; security_opt?: string[]; shm_size?: number; stdin_open?: boolean; stop_grace_period?: number; stop_signal?: string; storage_opt?: { [key: string]: string; }; sysctls?: { [key: string]: string; }; tmpfs?: string[]; tty?: boolean; ulimits?: { [key: string]: outputs.types.UlimitsConfig; }; user?: string; userns_mode?: string; uts?: string; volume_driver?: string; volumes?: outputs.types.ServiceVolumeConfig[]; volumes_from?: string[]; working_dir?: string; } interface ServiceConfigObjConfig { gid?: string; mode?: number; source?: string; target?: string; uid?: string; } interface ServiceDependency { condition?: string; required: boolean; restart?: boolean; } interface ServiceHook { command: string[]; environment?: { [key: string]: string; }; privileged?: boolean; user?: string; working_dir?: string; } interface ServiceNetworkConfig { aliases?: string[]; driver_opts?: { [key: string]: string; }; ipv4_address?: string; ipv6_address?: string; link_local_ips?: string[]; mac_address?: string; priority?: number; } interface ServicePortConfig { app_protocol?: string; defang_listener?: string; host_ip?: string; mode?: string; name?: string; protocol?: string; published?: string; target?: number; } interface ServiceSecretConfig { gid?: string; mode?: number; source?: string; target?: string; uid?: string; } interface ServiceVolumeBind { create_host_path?: boolean; propagation?: string; recursive?: string; selinux?: string; } interface ServiceVolumeConfig { bind?: outputs.types.ServiceVolumeBind; consistency?: string; read_only?: boolean; source?: string; target?: string; tmpfs?: outputs.types.ServiceVolumeTmpfs; type?: string; volume?: outputs.types.ServiceVolumeVolume; } interface ServiceVolumeTmpfs { mode?: number; size?: number; } interface ServiceVolumeVolume { nocopy?: boolean; subpath?: string; } interface ThrottleDevice { } interface Trigger { action: string; ignore?: string[]; path: string; target?: string; } interface UlimitsConfig { hard?: number; single?: number; soft?: number; } interface UpdateConfig { delay?: number; failure_action?: string; max_failure_ratio?: number; monitor?: number; order?: string; parallelism?: number; } interface VolumeConfig { driver?: string; driver_opts?: { [key: string]: string; }; external?: boolean; labels?: { [key: string]: string; }; name?: string; } interface WeightDevice { } }