@defang-io/pulumi-defang
Version:

442 lines (441 loc) • 17.5 kB
TypeScript
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 {
}
}