import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Secret resource in Oracle Cloud Infrastructure Vault service.
 *
 * Gets information about the specified secret.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSecret = oci.vault.getSecret({
 *     secretId: testSecretOciVaultSecret.id,
 * });
 * ```
 */
export declare function getSecret(args: GetSecretArgs, opts?: pulumi.InvokeOptions): Promise<GetSecretResult>;
/**
 * A collection of arguments for invoking getSecret.
 */
export interface GetSecretArgs {
    /**
     * The OCID of the secret.
     */
    secretId: string;
}
/**
 * A collection of values returned by getSecret.
 */
export interface GetSecretResult {
    /**
     * The OCID of the compartment where you want to create the secret.
     */
    readonly compartmentId: string;
    /**
     * The version number of the secret version that's currently in use.
     */
    readonly currentVersionNumber: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * A brief description of the secret. Avoid entering confidential information.
     */
    readonly description: string;
    readonly enableAutoGeneration: boolean;
    /**
     * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * The OCID of the secret.
     */
    readonly id: string;
    /**
     * The value of this flag determines whether or not secret content will be generated automatically.
     */
    readonly isAutoGenerationEnabled: boolean;
    /**
     * A Boolean value that indicates whether the secret is a source or replica secret.
     */
    readonly isReplica: boolean;
    /**
     * The OCID of the master encryption key that is used to encrypt the secret. You must specify a symmetric key to encrypt the secret during import to the vault. You cannot encrypt secrets with asymmetric keys. Furthermore, the key must exist in the vault that you specify.
     */
    readonly keyId: string;
    /**
     * A property indicating when the secret was last rotated successfully, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2019-04-03T21:10:29.600Z`
     */
    readonly lastRotationTime: string;
    /**
     * Additional information about the current lifecycle state of the secret.
     */
    readonly lifecycleDetails: string;
    /**
     * Additional metadata that you can use to provide context about how to use the secret or during rotation or other administrative tasks. For example, for a secret that you use to connect to a database, the additional metadata might specify the connection endpoint and the connection string. Provide additional metadata as key-value pairs.
     */
    readonly metadata: {
        [key: string]: string;
    };
    /**
     * A property indicating when the secret is scheduled to be rotated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2019-04-03T21:10:29.600Z`
     */
    readonly nextRotationTime: string;
    /**
     * Defines the configuration that enables cross-region secret replication.
     */
    readonly replicationConfigs: outputs.Vault.GetSecretReplicationConfig[];
    /**
     * Defines the frequency of the rotation and the information about the target system
     */
    readonly rotationConfigs: outputs.Vault.GetSecretRotationConfig[];
    /**
     * Additional information about the status of the secret rotation
     */
    readonly rotationStatus: string;
    readonly secretContents: outputs.Vault.GetSecretSecretContent[];
    /**
     * Captures a configurable set of secret generation rules such as length, base characters, additional characters, and so on.
     */
    readonly secretGenerationContexts: outputs.Vault.GetSecretSecretGenerationContext[];
    readonly secretId: string;
    /**
     * The user-friendly name of the secret. Avoid entering confidential information.
     */
    readonly secretName: string;
    /**
     * A list of rules that control how the secret is used and managed.
     */
    readonly secretRules: outputs.Vault.GetSecretSecretRule[];
    /**
     * Details for the source that the source secret has.
     */
    readonly sourceRegionInformations: outputs.Vault.GetSecretSourceRegionInformation[];
    /**
     * The current lifecycle state of the secret.
     */
    readonly state: string;
    /**
     * A property indicating when the secret was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2019-04-03T21:10:29.600Z`
     */
    readonly timeCreated: string;
    /**
     * An optional property indicating when the current secret version will expire, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2019-04-03T21:10:29.600Z`
     */
    readonly timeOfCurrentVersionExpiry: string;
    /**
     * An optional property indicating when to delete the secret, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2019-04-03T21:10:29.600Z`
     */
    readonly timeOfDeletion: string;
    /**
     * The OCID of the Vault in which the secret exists
     */
    readonly vaultId: string;
}
/**
 * This data source provides details about a specific Secret resource in Oracle Cloud Infrastructure Vault service.
 *
 * Gets information about the specified secret.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSecret = oci.vault.getSecret({
 *     secretId: testSecretOciVaultSecret.id,
 * });
 * ```
 */
export declare function getSecretOutput(args: GetSecretOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSecretResult>;
/**
 * A collection of arguments for invoking getSecret.
 */
export interface GetSecretOutputArgs {
    /**
     * The OCID of the secret.
     */
    secretId: pulumi.Input<string>;
}
//# sourceMappingURL=getSecret.d.ts.map