import * as pulumi from "@pulumi/pulumi";
/**
 * The `scaleway.secrets.Version` data source is used to get information about a specific secret version stored in Scaleway Secret Manager.
 *
 * Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information.
 *
 * ## Example Usage
 *
 * ### Use Secret Manager
 *
 * The following commands allow you to:
 *
 * - create a secret named `fooii`
 * - create a new version of `fooii` containing data (`yourSecret`)
 * - retrieve the secret version specified by the secret ID and the desired version
 * - retrieve the secret version specified by the secret name and the desired version
 *
 * The output blocks display the sensitive data contained in your secret version.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumi/scaleway";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Create a secret named fooii
 * const main = new scaleway.secrets.Secret("main", {
 *     name: "fooii",
 *     description: "barr",
 * });
 * // Create a version of fooii containing data
 * const mainVersion = new scaleway.secrets.Version("main", {
 *     description: "your description",
 *     secretId: main.id,
 *     data: "your_secret",
 * });
 * // Retrieve the secret version specified by the secret ID and the desired version
 * const dataBySecretId = scaleway.secrets.getVersionOutput({
 *     secretId: main.id,
 *     revision: "1",
 * });
 * // Retrieve the secret version specified by the secret name and the desired version
 * const dataBySecretName = scaleway.secrets.getVersionOutput({
 *     secretName: main.name,
 *     revision: "1",
 * });
 * export const scalewaySecretAccessPayload = dataBySecretName.apply(dataBySecretName => dataBySecretName.data);
 * export const scalewaySecretAccessPayloadById = dataBySecretId.apply(dataBySecretId => dataBySecretId.data);
 * ```
 *
 * ## Data information
 *
 * Note: This data source provides you with access to the secret payload, which is encoded in base64.
 *
 * Keep in mind that this is a sensitive attribute. For more information,
 * see Sensitive Data in State.
 *
 * > **Important:**  This property is sensitive and will not be displayed in the pulumi preview, for security reasons.
 */
export declare function getVersion(args?: GetVersionArgs, opts?: pulumi.InvokeOptions): Promise<GetVersionResult>;
/**
 * A collection of arguments for invoking getVersion.
 */
export interface GetVersionArgs {
    organizationId?: string;
    /**
     * The ID of the Scaleway Project associated with the secret version.
     */
    projectId?: string;
    region?: string;
    /**
     * The revision for this secret version. Refer to alternative values (ex: `latest`) in the [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/#path-secret-versions-access-a-secrets-version-using-the-secrets-id)
     */
    revision?: string;
    /**
     * The ID of the secret associated with the secret version. Only one of `secretId` and `secretName` should be specified.
     */
    secretId?: string;
    /**
     * The name of the secret associated with the secret version.
     * Only one of `secretId` and `secretName` should be specified.
     */
    secretName?: string;
}
/**
 * A collection of values returned by getVersion.
 */
export interface GetVersionResult {
    /**
     * The date and time of the secret version's creation in RFC 3339 format.
     */
    readonly createdAt: string;
    /**
     * The data payload of the secret version. This is a sensitive attribute containing the secret value. Learn more in the [data section](https://www.terraform.io/#data-information).
     */
    readonly data: string;
    /**
     * (Optional) The description of the secret version (e.g. `my-new-description`).
     */
    readonly description: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly organizationId: string;
    readonly projectId?: string;
    readonly region?: string;
    readonly revision?: string;
    readonly secretId?: string;
    readonly secretName?: string;
    /**
     * The status of the secret version.
     */
    readonly status: string;
    /**
     * The date and time of the secret version's last update in RFC 3339 format.
     */
    readonly updatedAt: string;
}
/**
 * The `scaleway.secrets.Version` data source is used to get information about a specific secret version stored in Scaleway Secret Manager.
 *
 * Refer to the Secret Manager [product documentation](https://www.scaleway.com/en/docs/identity-and-access-management/secret-manager/) and [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/) for more information.
 *
 * ## Example Usage
 *
 * ### Use Secret Manager
 *
 * The following commands allow you to:
 *
 * - create a secret named `fooii`
 * - create a new version of `fooii` containing data (`yourSecret`)
 * - retrieve the secret version specified by the secret ID and the desired version
 * - retrieve the secret version specified by the secret name and the desired version
 *
 * The output blocks display the sensitive data contained in your secret version.
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumi/scaleway";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Create a secret named fooii
 * const main = new scaleway.secrets.Secret("main", {
 *     name: "fooii",
 *     description: "barr",
 * });
 * // Create a version of fooii containing data
 * const mainVersion = new scaleway.secrets.Version("main", {
 *     description: "your description",
 *     secretId: main.id,
 *     data: "your_secret",
 * });
 * // Retrieve the secret version specified by the secret ID and the desired version
 * const dataBySecretId = scaleway.secrets.getVersionOutput({
 *     secretId: main.id,
 *     revision: "1",
 * });
 * // Retrieve the secret version specified by the secret name and the desired version
 * const dataBySecretName = scaleway.secrets.getVersionOutput({
 *     secretName: main.name,
 *     revision: "1",
 * });
 * export const scalewaySecretAccessPayload = dataBySecretName.apply(dataBySecretName => dataBySecretName.data);
 * export const scalewaySecretAccessPayloadById = dataBySecretId.apply(dataBySecretId => dataBySecretId.data);
 * ```
 *
 * ## Data information
 *
 * Note: This data source provides you with access to the secret payload, which is encoded in base64.
 *
 * Keep in mind that this is a sensitive attribute. For more information,
 * see Sensitive Data in State.
 *
 * > **Important:**  This property is sensitive and will not be displayed in the pulumi preview, for security reasons.
 */
export declare function getVersionOutput(args?: GetVersionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVersionResult>;
/**
 * A collection of arguments for invoking getVersion.
 */
export interface GetVersionOutputArgs {
    organizationId?: pulumi.Input<string>;
    /**
     * The ID of the Scaleway Project associated with the secret version.
     */
    projectId?: pulumi.Input<string>;
    region?: pulumi.Input<string>;
    /**
     * The revision for this secret version. Refer to alternative values (ex: `latest`) in the [API documentation](https://www.scaleway.com/en/developers/api/secret-manager/#path-secret-versions-access-a-secrets-version-using-the-secrets-id)
     */
    revision?: pulumi.Input<string>;
    /**
     * The ID of the secret associated with the secret version. Only one of `secretId` and `secretName` should be specified.
     */
    secretId?: pulumi.Input<string>;
    /**
     * The name of the secret associated with the secret version.
     * Only one of `secretId` and `secretName` should be specified.
     */
    secretName?: pulumi.Input<string>;
}
