@defang-io/pulumi-defang
Version:

445 lines (444 loc) • 12 kB
TypeScript
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 {
}
}