import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Secret resource in Oracle Cloud Infrastructure Vault service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/secretmgmt/latest/Secret * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/ * * Creates a new secret according to the details of the request. * * ## Import * * Secrets can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:Vault/secret:Secret test_secret "id" * ``` */ export declare class Secret extends pulumi.CustomResource { /** * Get an existing Secret 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 state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: SecretState, opts?: pulumi.CustomResourceOptions): Secret; /** * Returns true if the given object is an instance of Secret. 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 Secret; /** * (Updatable) The OCID of the compartment where you want to create the secret. */ readonly compartmentId: pulumi.Output; /** * The version number of the secret version that's currently in use. */ readonly currentVersionNumber: pulumi.Output; /** * (Updatable) 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: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) A brief description of the secret. Avoid entering confidential information. */ readonly description: pulumi.Output; /** * (Updatable) The value of this flag determines whether or not secret content will be generated automatically. If not set, it defaults to false. */ readonly enableAutoGeneration: pulumi.Output; /** * (Updatable) 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: pulumi.Output<{ [key: string]: string; }>; /** * The value of this flag determines whether or not secret content will be generated automatically. */ readonly isAutoGenerationEnabled: pulumi.Output; /** * A Boolean value that indicates whether the secret is a source or replica secret. */ readonly isReplica: pulumi.Output; /** * 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: pulumi.Output; /** * 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: pulumi.Output; /** * Additional information about the current lifecycle state of the secret. */ readonly lifecycleDetails: pulumi.Output; /** * (Updatable) Additional metadata that you can use to provide context about how to use the secret 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: pulumi.Output<{ [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: pulumi.Output; /** * (Updatable) Defines the configuration that enables cross-region secret replication. */ readonly replicationConfig: pulumi.Output; /** * (Updatable) Defines the frequency of the rotation and the information about the target system */ readonly rotationConfig: pulumi.Output; /** * Additional information about the status of the secret rotation */ readonly rotationStatus: pulumi.Output; /** * (Updatable) The content of the secret and metadata to help identify it. */ readonly secretContent: pulumi.Output; /** * (Updatable) Captures a configurable set of secret generation rules such as length, base characters, additional characters, and so on. */ readonly secretGenerationContext: pulumi.Output; /** * A user-friendly name for the secret. Secret names should be unique within a vault. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods. */ readonly secretName: pulumi.Output; /** * (Updatable) A list of rules to control how the secret is used and managed. */ readonly secretRules: pulumi.Output; /** * Details for the source that the source secret has. */ readonly sourceRegionInformations: pulumi.Output; /** * The current lifecycle state of the secret. */ readonly state: pulumi.Output; /** * 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: pulumi.Output; /** * 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: pulumi.Output; /** * 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: pulumi.Output; /** * The OCID of the vault where you want to create the secret. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ readonly vaultId: pulumi.Output; /** * Create a Secret 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: SecretArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Secret resources. */ export interface SecretState { /** * (Updatable) The OCID of the compartment where you want to create the secret. */ compartmentId?: pulumi.Input; /** * The version number of the secret version that's currently in use. */ currentVersionNumber?: pulumi.Input; /** * (Updatable) 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"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A brief description of the secret. Avoid entering confidential information. */ description?: pulumi.Input; /** * (Updatable) The value of this flag determines whether or not secret content will be generated automatically. If not set, it defaults to false. */ enableAutoGeneration?: pulumi.Input; /** * (Updatable) 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"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The value of this flag determines whether or not secret content will be generated automatically. */ isAutoGenerationEnabled?: pulumi.Input; /** * A Boolean value that indicates whether the secret is a source or replica secret. */ isReplica?: pulumi.Input; /** * 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. */ keyId?: pulumi.Input; /** * 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` */ lastRotationTime?: pulumi.Input; /** * Additional information about the current lifecycle state of the secret. */ lifecycleDetails?: pulumi.Input; /** * (Updatable) Additional metadata that you can use to provide context about how to use the secret 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. */ metadata?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * 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` */ nextRotationTime?: pulumi.Input; /** * (Updatable) Defines the configuration that enables cross-region secret replication. */ replicationConfig?: pulumi.Input; /** * (Updatable) Defines the frequency of the rotation and the information about the target system */ rotationConfig?: pulumi.Input; /** * Additional information about the status of the secret rotation */ rotationStatus?: pulumi.Input; /** * (Updatable) The content of the secret and metadata to help identify it. */ secretContent?: pulumi.Input; /** * (Updatable) Captures a configurable set of secret generation rules such as length, base characters, additional characters, and so on. */ secretGenerationContext?: pulumi.Input; /** * A user-friendly name for the secret. Secret names should be unique within a vault. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods. */ secretName?: pulumi.Input; /** * (Updatable) A list of rules to control how the secret is used and managed. */ secretRules?: pulumi.Input[] | undefined>; /** * Details for the source that the source secret has. */ sourceRegionInformations?: pulumi.Input[] | undefined>; /** * The current lifecycle state of the secret. */ state?: pulumi.Input; /** * 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` */ timeCreated?: pulumi.Input; /** * 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` */ timeOfCurrentVersionExpiry?: pulumi.Input; /** * 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` */ timeOfDeletion?: pulumi.Input; /** * The OCID of the vault where you want to create the secret. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ vaultId?: pulumi.Input; } /** * The set of arguments for constructing a Secret resource. */ export interface SecretArgs { /** * (Updatable) The OCID of the compartment where you want to create the secret. */ compartmentId: pulumi.Input; /** * (Updatable) 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"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A brief description of the secret. Avoid entering confidential information. */ description?: pulumi.Input; /** * (Updatable) The value of this flag determines whether or not secret content will be generated automatically. If not set, it defaults to false. */ enableAutoGeneration?: pulumi.Input; /** * (Updatable) 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"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * 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. */ keyId: pulumi.Input; /** * (Updatable) Additional metadata that you can use to provide context about how to use the secret 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. */ metadata?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) Defines the configuration that enables cross-region secret replication. */ replicationConfig?: pulumi.Input; /** * (Updatable) Defines the frequency of the rotation and the information about the target system */ rotationConfig?: pulumi.Input; /** * (Updatable) The content of the secret and metadata to help identify it. */ secretContent?: pulumi.Input; /** * (Updatable) Captures a configurable set of secret generation rules such as length, base characters, additional characters, and so on. */ secretGenerationContext?: pulumi.Input; /** * A user-friendly name for the secret. Secret names should be unique within a vault. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods. */ secretName: pulumi.Input; /** * (Updatable) A list of rules to control how the secret is used and managed. */ secretRules?: pulumi.Input[] | undefined>; /** * The OCID of the vault where you want to create the secret. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ vaultId: pulumi.Input; } //# sourceMappingURL=secret.d.ts.map