import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
 * The `scaleway.containers.Container` data source is used to retrieve information about a Serverless Container.
 *
 * Refer to the Serverless Containers [product documentation](https://www.scaleway.com/en/docs/serverless/containers/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-containers/) for more information.
 *
 * For more information on the limitations of Serverless Containers, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/serverless-containers/reference-content/containers-limitations/).
 *
 * ## Retrieve a Serverless Container
 *
 * The following commands allow you to:
 *
 * - retrieve a container by its name
 * - retrieve a container by its ID
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * const main = new scaleway.containers.Namespace("main", {});
 * const mainContainer = new scaleway.containers.Container("main", {
 *     name: "test-container-data",
 *     namespaceId: main.id,
 * });
 * // Get info by container name
 * const byName = scaleway.containers.getContainerOutput({
 *     namespaceId: main.id,
 *     name: mainContainer.name,
 * });
 * // Get info by container ID
 * const byId = scaleway.containers.getContainerOutput({
 *     namespaceId: main.id,
 *     containerId: mainContainer.id,
 * });
 * ```
 *
 * ## Arguments reference
 *
 * This section lists the arguments that you can provide to the `scaleway.containers.Container` data source to filter and retrieve the desired namespace. Each argument has a specific purpose:
 *
 * - `name` - (Required) The unique name of the container.
 *
 * - `namespaceId` - (Required) The container namespace ID of the container.
 *
 * - `projectId` - (Optional) The unique identifier of the project with which the container is associated.
 *
 * > **Important** Updating the `name` argument will recreate the container.
 */
/** @deprecated scaleway.index/getcontainer.getContainer has been deprecated in favor of scaleway.containers/getcontainer.getContainer */
export declare function getContainer(args: GetContainerArgs, opts?: pulumi.InvokeOptions): Promise<GetContainerResult>;
/**
 * A collection of arguments for invoking getContainer.
 */
export interface GetContainerArgs {
    containerId?: string;
    name?: string;
    namespaceId: string;
    projectId?: string;
    /**
     * (Defaults to provider `region`) The region in which the container was created.
     */
    region?: string;
}
/**
 * A collection of values returned by getContainer.
 */
export interface GetContainerResult {
    /**
     * Arguments passed to the command specified in the "command" field. These override the default arguments from the container image, and behave like command-line parameters.
     */
    readonly args: string[];
    /**
     * Command executed when the container starts. This overrides the default command defined in the container image. This is usually the main executable, or entry point script to run.
     */
    readonly commands: string[];
    readonly containerId?: string;
    /**
     * The amount of vCPU computing resources to allocate to each container.
     */
    readonly cpuLimit: number;
    /**
     * The cron status of the container.
     */
    readonly cronStatus: string;
    readonly deploy: boolean;
    /**
     * The description of the container.
     */
    readonly description: string;
    /**
     * The native domain name of the container
     */
    readonly domainName: string;
    /**
     * The [environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#environment-variables) of the container.
     */
    readonly environmentVariables: {
        [key: string]: string;
    };
    /**
     * The error message of the container.
     */
    readonly errorMessage: string;
    /**
     * (Deprecated) Health check configuration block of the container.
     */
    readonly healthChecks: outputs.GetContainerHealthCheck[];
    /**
     * (Deprecated) Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
     */
    readonly httpOption: string;
    /**
     * Allows both HTTP and HTTPS (`false`) or redirect HTTP to HTTPS (`true`). Defaults to `false`.
     */
    readonly httpsConnectionsOnly: boolean;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The image address (e.g., `rg.fr-par.scw.cloud/$NAMESPACE/$IMAGE`)
     */
    readonly image: string;
    /**
     * Defines how to check if the container is running.
     */
    readonly livenessProbes: outputs.GetContainerLivenessProbe[];
    /**
     * (Deprecated) Local storage limit of the container (in MB)
     */
    readonly localStorageLimit: number;
    /**
     * Local storage limit of the container (in bytes).
     */
    readonly localStorageLimitBytes: number;
    /**
     * The maximum number of instances this container can scale to.
     */
    readonly maxScale: number;
    /**
     * (Deprecated) The memory resources in MB to allocate to each container.
     */
    readonly memoryLimit: number;
    /**
     * The memory resources in bytes to allocate to each container.
     */
    readonly memoryLimitBytes: number;
    /**
     * The minimum number of container instances running continuously.
     */
    readonly minScale: number;
    readonly name?: string;
    readonly namespaceId: string;
    /**
     * The port to expose the container.
     */
    readonly port: number;
    /**
     * The privacy type defines the way to authenticate to your container. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-containers/#protocol-9dd4c8).
     */
    readonly privacy: string;
    /**
     * The ID of the Private Network the container is connected to.
     */
    readonly privateNetworkId: string;
    readonly projectId?: string;
    /**
     * The communication [protocol](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-update-an-existing-container) `http1` or `h2c`. Defaults to `http1`.
     */
    readonly protocol: string;
    /**
     * The native domain name of the container
     */
    readonly publicEndpoint: string;
    /**
     * (Defaults to provider `region`) The region in which the container was created.
     */
    readonly region?: string;
    /**
     * (Deprecated) The registry image address (e.g., `rg.fr-par.scw.cloud/$NAMESPACE/$IMAGE`)
     */
    readonly registryImage: string;
    readonly registrySha256: string;
    /**
     * Execution environment of the container.
     */
    readonly sandbox: string;
    /**
     * Configuration block used to decide when to scale up or down. Possible values:
     */
    readonly scalingOptions: outputs.GetContainerScalingOption[];
    /**
     * The [secret environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#secrets) of the container.
     */
    readonly secretEnvironmentVariables: {
        [key: string]: string;
    };
    /**
     * Defines how to check if the container has started successfully.
     */
    readonly startupProbes: outputs.GetContainerStartupProbe[];
    /**
     * The container status.
     */
    readonly status: string;
    /**
     * The list of tags associated with the container.
     */
    readonly tags: string[];
    /**
     * The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds.
     */
    readonly timeout: number;
}
/**
 * The `scaleway.containers.Container` data source is used to retrieve information about a Serverless Container.
 *
 * Refer to the Serverless Containers [product documentation](https://www.scaleway.com/en/docs/serverless/containers/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-containers/) for more information.
 *
 * For more information on the limitations of Serverless Containers, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/serverless-containers/reference-content/containers-limitations/).
 *
 * ## Retrieve a Serverless Container
 *
 * The following commands allow you to:
 *
 * - retrieve a container by its name
 * - retrieve a container by its ID
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * const main = new scaleway.containers.Namespace("main", {});
 * const mainContainer = new scaleway.containers.Container("main", {
 *     name: "test-container-data",
 *     namespaceId: main.id,
 * });
 * // Get info by container name
 * const byName = scaleway.containers.getContainerOutput({
 *     namespaceId: main.id,
 *     name: mainContainer.name,
 * });
 * // Get info by container ID
 * const byId = scaleway.containers.getContainerOutput({
 *     namespaceId: main.id,
 *     containerId: mainContainer.id,
 * });
 * ```
 *
 * ## Arguments reference
 *
 * This section lists the arguments that you can provide to the `scaleway.containers.Container` data source to filter and retrieve the desired namespace. Each argument has a specific purpose:
 *
 * - `name` - (Required) The unique name of the container.
 *
 * - `namespaceId` - (Required) The container namespace ID of the container.
 *
 * - `projectId` - (Optional) The unique identifier of the project with which the container is associated.
 *
 * > **Important** Updating the `name` argument will recreate the container.
 */
/** @deprecated scaleway.index/getcontainer.getContainer has been deprecated in favor of scaleway.containers/getcontainer.getContainer */
export declare function getContainerOutput(args: GetContainerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetContainerResult>;
/**
 * A collection of arguments for invoking getContainer.
 */
export interface GetContainerOutputArgs {
    containerId?: pulumi.Input<string | undefined>;
    name?: pulumi.Input<string | undefined>;
    namespaceId: pulumi.Input<string>;
    projectId?: pulumi.Input<string | undefined>;
    /**
     * (Defaults to provider `region`) The region in which the container was created.
     */
    region?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getContainer.d.ts.map