import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
export declare namespace flyio {
    interface FlyContainerConfigArgs {
        cmd?: pulumi.Input<pulumi.Input<string>[]>;
        dependsOn?: pulumi.Input<pulumi.Input<inputs.flyio.FlyContainerDependencyArgs>[]>;
        entrypoint?: pulumi.Input<pulumi.Input<string>[]>;
        env?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        envFrom?: pulumi.Input<pulumi.Input<inputs.flyio.FlyEnvFromArgs>[]>;
        exec?: pulumi.Input<pulumi.Input<string>[]>;
        files?: pulumi.Input<pulumi.Input<inputs.flyio.FlyFileArgs>[]>;
        healthchecks?: pulumi.Input<pulumi.Input<inputs.flyio.FlyContainerHealthcheckArgs>[]>;
        image?: pulumi.Input<string>;
        mounts?: pulumi.Input<pulumi.Input<inputs.flyio.FlyContainerMountArgs>[]>;
        name?: pulumi.Input<string>;
        restart?: pulumi.Input<inputs.flyio.FlyMachineRestartArgs>;
        secrets?: pulumi.Input<pulumi.Input<inputs.flyio.FlyMachineSecretArgs>[]>;
        stop?: pulumi.Input<inputs.flyio.FlyStopConfigArgs>;
        user?: pulumi.Input<string>;
    }
    interface FlyContainerDependencyArgs {
        condition?: pulumi.Input<string>;
        name?: pulumi.Input<string>;
    }
    interface FlyContainerHealthcheckArgs {
        exec?: pulumi.Input<inputs.flyio.FlyExecHealthcheckArgs>;
        failureThreshold?: pulumi.Input<number>;
        gracePeriod?: pulumi.Input<number>;
        http?: pulumi.Input<inputs.flyio.FlyHTTPHealthcheckArgs>;
        interval?: pulumi.Input<number>;
        kind?: pulumi.Input<string>;
        name?: pulumi.Input<string>;
        successThreshold?: pulumi.Input<number>;
        tcp?: pulumi.Input<inputs.flyio.FlyTCPHealthcheckArgs>;
        timeout?: pulumi.Input<number>;
        unhealthy?: pulumi.Input<string>;
    }
    interface FlyContainerMountArgs {
        name?: pulumi.Input<string>;
        path?: pulumi.Input<string>;
    }
    interface FlyDNSConfigArgs {
        dnsForwardRules?: pulumi.Input<pulumi.Input<inputs.flyio.FlyDnsForwardRuleArgs>[]>;
        hostname?: pulumi.Input<string>;
        hostnameFqdn?: pulumi.Input<string>;
        nameservers?: pulumi.Input<pulumi.Input<string>[]>;
        options?: pulumi.Input<pulumi.Input<inputs.flyio.FlyDnsOptionArgs>[]>;
        searches?: pulumi.Input<pulumi.Input<string>[]>;
        skipRegistration?: pulumi.Input<boolean>;
    }
    interface FlyDnsForwardRuleArgs {
        addr?: pulumi.Input<string>;
        basename?: pulumi.Input<string>;
    }
    interface FlyDnsOptionArgs {
        name?: pulumi.Input<string>;
        value?: pulumi.Input<string>;
    }
    interface FlyEnvFromArgs {
        envVar?: pulumi.Input<string>;
        fieldRef?: pulumi.Input<string>;
    }
    interface FlyExecHealthcheckArgs {
        command?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface FlyFileArgs {
        guestPath?: pulumi.Input<string>;
        mode?: pulumi.Input<number>;
        rawValue?: pulumi.Input<string>;
        secretName?: pulumi.Input<string>;
    }
    interface FlyHTTPHealthcheckArgs {
        headers?: pulumi.Input<pulumi.Input<inputs.flyio.FlyMachineHTTPHeaderArgs>[]>;
        method?: pulumi.Input<string>;
        path?: pulumi.Input<string>;
        port?: pulumi.Input<number>;
        scheme?: pulumi.Input<string>;
        tlsServerName?: pulumi.Input<string>;
        tlsSkipVerify?: pulumi.Input<boolean>;
    }
    interface FlyHTTPOptionsArgs {
        compress?: pulumi.Input<boolean>;
        h2Backend?: pulumi.Input<boolean>;
        headersReadTimeout?: pulumi.Input<number>;
        idleTimeout?: pulumi.Input<number>;
        response?: pulumi.Input<inputs.flyio.FlyHTTPResponseOptionsArgs>;
    }
    interface FlyHTTPResponseOptionsArgs {
        headers?: pulumi.Input<{
            [key: string]: pulumi.Input<{
                [key: string]: any;
            }>;
        }>;
        pristine?: pulumi.Input<boolean>;
    }
    interface FlyMachineCheckArgs {
        gracePeriod?: pulumi.Input<string>;
        headers?: pulumi.Input<pulumi.Input<inputs.flyio.FlyMachineHTTPHeaderArgs>[]>;
        interval?: pulumi.Input<string>;
        kind?: pulumi.Input<string>;
        method?: pulumi.Input<string>;
        path?: pulumi.Input<string>;
        port?: pulumi.Input<number>;
        protocol?: pulumi.Input<string>;
        timeout?: pulumi.Input<string>;
        tlsServerName?: pulumi.Input<string>;
        tlsSkipVerify?: pulumi.Input<boolean>;
        type?: pulumi.Input<string>;
    }
    interface FlyMachineConfigArgs {
        autoDestroy?: pulumi.Input<boolean>;
        checks?: pulumi.Input<{
            [key: string]: pulumi.Input<inputs.flyio.FlyMachineCheckArgs>;
        }>;
        containers?: pulumi.Input<pulumi.Input<inputs.flyio.FlyContainerConfigArgs>[]>;
        dns?: pulumi.Input<inputs.flyio.FlyDNSConfigArgs>;
        env?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        files?: pulumi.Input<pulumi.Input<inputs.flyio.FlyFileArgs>[]>;
        guest?: pulumi.Input<inputs.flyio.FlyMachineGuestArgs>;
        image: pulumi.Input<string>;
        init?: pulumi.Input<inputs.flyio.FlyMachineInitArgs>;
        metadata?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        metrics?: pulumi.Input<inputs.flyio.FlyMachineMetricsArgs>;
        mounts?: pulumi.Input<pulumi.Input<inputs.flyio.FlyMachineMountArgs>[]>;
        processes?: pulumi.Input<pulumi.Input<inputs.flyio.FlyMachineProcessArgs>[]>;
        restart?: pulumi.Input<inputs.flyio.FlyMachineRestartArgs>;
        schedule?: pulumi.Input<string>;
        services?: pulumi.Input<pulumi.Input<inputs.flyio.FlyMachineServiceArgs>[]>;
        standbys?: pulumi.Input<pulumi.Input<string>[]>;
        statics?: pulumi.Input<pulumi.Input<inputs.flyio.FlyStaticArgs>[]>;
        stopConfig?: pulumi.Input<inputs.flyio.FlyStopConfigArgs>;
        volumes?: pulumi.Input<pulumi.Input<inputs.flyio.FlyVolumeConfigArgs>[]>;
    }
    interface FlyMachineGuestArgs {
        cpuKind: pulumi.Input<string>;
        cpus: pulumi.Input<number>;
        gpuKind?: pulumi.Input<string>;
        gpus?: pulumi.Input<number>;
        hostDedicationId?: pulumi.Input<string>;
        kernelArgs?: pulumi.Input<pulumi.Input<string>[]>;
        memoryMb: pulumi.Input<number>;
    }
    interface FlyMachineHTTPHeaderArgs {
        name?: pulumi.Input<string>;
        values?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface FlyMachineInitArgs {
        cmd?: pulumi.Input<pulumi.Input<string>[]>;
        entrypoint?: pulumi.Input<pulumi.Input<string>[]>;
        exec?: pulumi.Input<pulumi.Input<string>[]>;
        kernelArgs?: pulumi.Input<pulumi.Input<string>[]>;
        swapSizeMb?: pulumi.Input<number>;
        tty?: pulumi.Input<boolean>;
    }
    interface FlyMachineMetricsArgs {
        https?: pulumi.Input<boolean>;
        path?: pulumi.Input<string>;
        port?: pulumi.Input<number>;
    }
    interface FlyMachineMountArgs {
        addSizeGb?: pulumi.Input<number>;
        encrypted?: pulumi.Input<boolean>;
        extendThresholdPercent?: pulumi.Input<number>;
        name?: pulumi.Input<string>;
        path?: pulumi.Input<string>;
        sizeGb?: pulumi.Input<number>;
        sizeGbLimit?: pulumi.Input<number>;
        volume?: pulumi.Input<string>;
    }
    interface FlyMachinePortArgs {
        endPort?: pulumi.Input<number>;
        forceHttps?: pulumi.Input<boolean>;
        handlers?: pulumi.Input<pulumi.Input<string>[]>;
        httpOptions?: pulumi.Input<inputs.flyio.FlyHTTPOptionsArgs>;
        port?: pulumi.Input<number>;
        proxyProtoOptions?: pulumi.Input<inputs.flyio.FlyProxyProtoOptionsArgs>;
        startPort?: pulumi.Input<number>;
        tlsOptions?: pulumi.Input<inputs.flyio.FlyTLSOptionsArgs>;
    }
    interface FlyMachineProcessArgs {
        cmd?: pulumi.Input<pulumi.Input<string>[]>;
        entrypoint?: pulumi.Input<pulumi.Input<string>[]>;
        env?: pulumi.Input<{
            [key: string]: pulumi.Input<string>;
        }>;
        envFrom?: pulumi.Input<pulumi.Input<inputs.flyio.FlyEnvFromArgs>[]>;
        exec?: pulumi.Input<pulumi.Input<string>[]>;
        ignoreAppSecrets?: pulumi.Input<boolean>;
        secrets?: pulumi.Input<pulumi.Input<inputs.flyio.FlyMachineSecretArgs>[]>;
        user?: pulumi.Input<string>;
    }
    interface FlyMachineRestartArgs {
        gpuBidPrice?: pulumi.Input<number>;
        maxRetries?: pulumi.Input<number>;
        policy?: pulumi.Input<string>;
    }
    interface FlyMachineSecretArgs {
        envVar?: pulumi.Input<string>;
        name?: pulumi.Input<string>;
    }
    interface FlyMachineServiceArgs {
        autostart?: pulumi.Input<boolean>;
        autostop?: pulumi.Input<string>;
        checks?: pulumi.Input<pulumi.Input<inputs.flyio.FlyMachineCheckArgs>[]>;
        concurrency?: pulumi.Input<inputs.flyio.FlyMachineServiceConcurrencyArgs>;
        forceInstanceDescription?: pulumi.Input<string>;
        forceInstanceKey?: pulumi.Input<string>;
        internalPort?: pulumi.Input<number>;
        minMachinesRunning?: pulumi.Input<number>;
        ports?: pulumi.Input<pulumi.Input<inputs.flyio.FlyMachinePortArgs>[]>;
        protocol?: pulumi.Input<string>;
    }
    interface FlyMachineServiceConcurrencyArgs {
        hardLimit?: pulumi.Input<number>;
        softLimit?: pulumi.Input<number>;
        type?: pulumi.Input<string>;
    }
    interface FlyProxyProtoOptionsArgs {
        version?: pulumi.Input<string>;
    }
    interface FlyStaticArgs {
        guestPath: pulumi.Input<string>;
        indexDocument?: pulumi.Input<string>;
        tigrisBucket?: pulumi.Input<string>;
        urlPrefix: pulumi.Input<string>;
    }
    interface FlyStopConfigArgs {
        signal?: pulumi.Input<string>;
        timeout?: pulumi.Input<string>;
    }
    interface FlyTCPHealthcheckArgs {
        port?: pulumi.Input<number>;
    }
    interface FlyTLSOptionsArgs {
        alpn?: pulumi.Input<pulumi.Input<string>[]>;
        defaultSelfSigned?: pulumi.Input<boolean>;
        versions?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface FlyTempDirVolumeArgs {
        sizeMb?: pulumi.Input<number>;
        storageType?: pulumi.Input<string>;
    }
    interface FlyVolumeConfigArgs {
        name?: pulumi.Input<string>;
        tempDir?: pulumi.Input<inputs.flyio.FlyTempDirVolumeArgs>;
    }
}
export declare namespace time {
}
