import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * The details of a daemon task definition. A daemon task definition is a template that describes the containers that form a daemon. Daemons deploy cross-cutting software agents independently across your Amazon ECS infrastructure.
 */
export declare class DaemonTaskDefinition extends pulumi.CustomResource {
    /**
     * Get an existing DaemonTaskDefinition resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): DaemonTaskDefinition;
    /**
     * Returns true if the given object is an instance of DaemonTaskDefinition.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is DaemonTaskDefinition;
    /**
     * A list of container definitions in JSON format that describe the containers that make up the daemon task.
     */
    readonly containerDefinitions: pulumi.Output<outputs.ecs.DaemonTaskDefinitionDaemonContainerDefinition[] | undefined>;
    /**
     * The number of CPU units used by the daemon task.
     */
    readonly cpu: pulumi.Output<string | undefined>;
    readonly daemonTaskDefinitionArn: pulumi.Output<string>;
    /**
     * The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent permission to make Amazon Web Services API calls on your behalf.
     */
    readonly executionRoleArn: pulumi.Output<string | undefined>;
    /**
     * The name of a family that this daemon task definition is registered to.
     */
    readonly family: pulumi.Output<string | undefined>;
    /**
     * The IPC namespace mode for the daemon. The valid values are ``none`` and ``shared``. The default is ``none``.
     *  If ``none`` is specified or no value is provided, the daemon runs with its own IPC namespace, isolated from other tasks. If ``shared`` is specified, the daemon joins the host IPC namespace, making it accessible to non-daemon tasks that use ``ipcMode: "host"`` or other daemons that use ``ipcMode: "shared"``.
     */
    readonly ipcMode: pulumi.Output<string | undefined>;
    /**
     * The amount of memory (in MiB) used by the daemon task.
     */
    readonly memory: pulumi.Output<string | undefined>;
    /**
     * The PID namespace mode for the daemon. The valid values are ``none`` and ``shared``. The default is ``none``.
     *  If ``none`` is specified or no value is provided, the daemon runs with its own PID namespace, isolated from other tasks. If ``shared`` is specified, the daemon joins the host PID namespace, making it accessible to non-daemon tasks that use ``pidMode: "host"`` or other daemons that use ``pidMode: "shared"``.
     */
    readonly pidMode: pulumi.Output<string | undefined>;
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * The short name or full Amazon Resource Name (ARN) of the IAM role that grants containers in the daemon task permission to call Amazon Web Services APIs on your behalf.
     */
    readonly taskRoleArn: pulumi.Output<string | undefined>;
    /**
     * The list of data volume definitions for the daemon task.
     */
    readonly volumes: pulumi.Output<outputs.ecs.DaemonTaskDefinitionVolume[] | undefined>;
    /**
     * Create a DaemonTaskDefinition resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args?: DaemonTaskDefinitionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a DaemonTaskDefinition resource.
 */
export interface DaemonTaskDefinitionArgs {
    /**
     * A list of container definitions in JSON format that describe the containers that make up the daemon task.
     */
    containerDefinitions?: pulumi.Input<pulumi.Input<inputs.ecs.DaemonTaskDefinitionDaemonContainerDefinitionArgs>[]>;
    /**
     * The number of CPU units used by the daemon task.
     */
    cpu?: pulumi.Input<string>;
    /**
     * The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent permission to make Amazon Web Services API calls on your behalf.
     */
    executionRoleArn?: pulumi.Input<string>;
    /**
     * The name of a family that this daemon task definition is registered to.
     */
    family?: pulumi.Input<string>;
    /**
     * The IPC namespace mode for the daemon. The valid values are ``none`` and ``shared``. The default is ``none``.
     *  If ``none`` is specified or no value is provided, the daemon runs with its own IPC namespace, isolated from other tasks. If ``shared`` is specified, the daemon joins the host IPC namespace, making it accessible to non-daemon tasks that use ``ipcMode: "host"`` or other daemons that use ``ipcMode: "shared"``.
     */
    ipcMode?: pulumi.Input<string>;
    /**
     * The amount of memory (in MiB) used by the daemon task.
     */
    memory?: pulumi.Input<string>;
    /**
     * The PID namespace mode for the daemon. The valid values are ``none`` and ``shared``. The default is ``none``.
     *  If ``none`` is specified or no value is provided, the daemon runs with its own PID namespace, isolated from other tasks. If ``shared`` is specified, the daemon joins the host PID namespace, making it accessible to non-daemon tasks that use ``pidMode: "host"`` or other daemons that use ``pidMode: "shared"``.
     */
    pidMode?: pulumi.Input<string>;
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
    /**
     * The short name or full Amazon Resource Name (ARN) of the IAM role that grants containers in the daemon task permission to call Amazon Web Services APIs on your behalf.
     */
    taskRoleArn?: pulumi.Input<string>;
    /**
     * The list of data volume definitions for the daemon task.
     */
    volumes?: pulumi.Input<pulumi.Input<inputs.ecs.DaemonTaskDefinitionVolumeArgs>[]>;
}
