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 "@pulumi/scaleway";
 * 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 {
    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;
    /**
     * Boolean indicating whether the container is on a production environment.
     */
    readonly deploy: boolean;
    /**
     * The description of the container.
     */
    readonly description: string;
    /**
     * The container domain name.
     */
    readonly domainName: string;
    /**
     * The [environment](https://www.scaleway.com/en/docs/serverless-containers/concepts/#environment-variables) variables of the container.
     */
    readonly environmentVariables: {
        [key: string]: string;
    };
    /**
     * The error message of the container.
     */
    readonly errorMessage: string;
    /**
     * Health check configuration block of the container.
     */
    readonly healthChecks: outputs.GetContainerHealthCheck[];
    readonly httpOption: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly localStorageLimit: number;
    /**
     * The maximum number of simultaneous requests your container can handle at the same time.
     */
    readonly maxConcurrency: number;
    /**
     * The maximum number of instances the container can scale to.
     */
    readonly maxScale: number;
    /**
     * The memory resources in MB to allocate to each container.
     */
    readonly memoryLimit: 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 define the way to authenticate to your container. Refer to the [dedicated documentation](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-update-an-existing-container) for more information.
     */
    readonly privacy: 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;
    /**
     * (Defaults to provider `region`) The region in which the container was created.
     */
    readonly region?: string;
    /**
     * The registry image address (e.g. `rg.fr-par.scw.cloud/$NAMESPACE/$IMAGE`).
     */
    readonly registryImage: string;
    /**
     * The sha256 of your source registry image, changing it will re-apply the deployment. Can be any string.
     */
    readonly registrySha256: string;
    /**
     * (Optional) 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[];
    readonly secretEnvironmentVariables: {
        [key: string]: string;
    };
    /**
     * The container status.
     */
    readonly status: string;
    /**
     * The maximum amount of time your container can spend processing a request before being stopped.
     */
    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 "@pulumi/scaleway";
 * 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>;
    name?: pulumi.Input<string>;
    namespaceId: pulumi.Input<string>;
    projectId?: pulumi.Input<string>;
    /**
     * (Defaults to provider `region`) The region in which the container was created.
     */
    region?: pulumi.Input<string>;
}
