import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource for creating a secret of type secret file in Harness. * * > [!NOTE] * > 1. Selecting a Customer managed Key (CMK) for encryption is supported in Harness Delegate version 25.11.87300 or later and is behind the feature flag `PL_ENABLE_NON_DEFAULT_ENCRYPTION_KEY`. Contact Harness Support to enable the feature. * > 2. This option would be unavailable if the AWS Secret Manager connector has the option Use "put-secret-value" action to update secret value enabled. * * Refer to the [documentation](https://developer.harness.io/docs/platform/secrets/secrets-management/add-an-aws-secret-manager/#create-a-text-or-file-secret) for details. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as harness from "@pulumi/harness"; * * const example = new harness.platform.SecretFile("example", { * identifier: "identifier", * name: "name", * description: "test", * tags: ["foo:bar"], * filePath: "file_path", * secretManagerIdentifier: "harnessSecretManager", * }); * // With AWS Secret Manager KMS Key * const awsSecretManager = new harness.platform.SecretFile("aws_secret_manager", { * identifier: "identifier", * name: "name", * description: "example", * tags: ["foo:bar"], * filePath: "file_path", * secretManagerIdentifier: "awsSecretManager", * additionalMetadatas: [{ * values: [{ * kmsKeyId: "kmsKeyId", * }], * }], * }); * // With GCP Secret Manager project ID and region * const gcpSecretManager = new harness.platform.SecretFile("gcp_secret_manager", { * identifier: "identifier", * name: "name", * description: "example", * tags: ["foo:bar"], * filePath: "file_path", * secretManagerIdentifier: "gcpSecretManager", * additionalMetadatas: [{ * values: [{ * regions: "us-east1", * gcpProjectId: "my-gcp-project-id", * }], * }], * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * Import account level secret file * * ```sh * $ pulumi import harness:platform/secretFile:SecretFile example * ``` * * Import org level secret file * * ```sh * $ pulumi import harness:platform/secretFile:SecretFile example / * ``` * * Import project level secret file * * ```sh * $ pulumi import harness:platform/secretFile:SecretFile example // * ``` */ export declare class SecretFile extends pulumi.CustomResource { /** * Get an existing SecretFile 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?: SecretFileState, opts?: pulumi.CustomResourceOptions): SecretFile; /** * Returns true if the given object is an instance of SecretFile. 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 SecretFile; /** * Additional Metadata for the Secret */ readonly additionalMetadatas: pulumi.Output; /** * Description of the resource. */ readonly description: pulumi.Output; /** * Path of the file containing secret value */ readonly filePath: pulumi.Output; /** * Unique identifier of the resource. */ readonly identifier: pulumi.Output; /** * Name of the resource. */ readonly name: pulumi.Output; /** * Unique identifier of the organization. */ readonly orgId: pulumi.Output; /** * Unique identifier of the project. */ readonly projectId: pulumi.Output; /** * Identifier of the Secret Manager used to manage the secret. */ readonly secretManagerIdentifier: pulumi.Output; /** * Tags to associate with the resource. */ readonly tags: pulumi.Output; /** * Create a SecretFile 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: SecretFileArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SecretFile resources. */ export interface SecretFileState { /** * Additional Metadata for the Secret */ additionalMetadatas?: pulumi.Input[] | undefined>; /** * Description of the resource. */ description?: pulumi.Input; /** * Path of the file containing secret value */ filePath?: pulumi.Input; /** * Unique identifier of the resource. */ identifier?: pulumi.Input; /** * Name of the resource. */ name?: pulumi.Input; /** * Unique identifier of the organization. */ orgId?: pulumi.Input; /** * Unique identifier of the project. */ projectId?: pulumi.Input; /** * Identifier of the Secret Manager used to manage the secret. */ secretManagerIdentifier?: pulumi.Input; /** * Tags to associate with the resource. */ tags?: pulumi.Input[] | undefined>; } /** * The set of arguments for constructing a SecretFile resource. */ export interface SecretFileArgs { /** * Additional Metadata for the Secret */ additionalMetadatas?: pulumi.Input[] | undefined>; /** * Description of the resource. */ description?: pulumi.Input; /** * Path of the file containing secret value */ filePath: pulumi.Input; /** * Unique identifier of the resource. */ identifier: pulumi.Input; /** * Name of the resource. */ name?: pulumi.Input; /** * Unique identifier of the organization. */ orgId?: pulumi.Input; /** * Unique identifier of the project. */ projectId?: pulumi.Input; /** * Identifier of the Secret Manager used to manage the secret. */ secretManagerIdentifier: pulumi.Input; /** * Tags to associate with the resource. */ tags?: pulumi.Input[] | undefined>; } //# sourceMappingURL=secretFile.d.ts.map