import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Resource for creating an encrypted text secret * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as harness from "@pulumi/harness"; * import * as tls from "@pulumi/tls"; * * const harnessDeployKey = new tls.index.PrivateKey("harness_deploy_key", { * algorithm: "RSA", * rsaBits: 4096, * }); * const secretManager = harness.getSecretManager({ * "default": true, * }); * const mySecret = new harness.EncryptedText("my_secret", { * name: "my_secret", * value: harnessDeployKey.privateKeyPem, * secretManagerId: secretManager.then(secretManager => secretManager.id), * }); * const sshCreds = new harness.SshCredential("ssh_creds", { * name: "ssh-test", * sshAuthentication: { * port: 22, * username: "git", * inlineSsh: { * sshKeyFileId: mySecret.id, * }, * }, * }, { * ignoreChanges: ["sshAuthentication"], * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * Import using the Harness ssh credential id * * ```sh * $ pulumi import harness:index/sshCredential:SshCredential example * ``` */ export declare class SshCredential extends pulumi.CustomResource { /** * Get an existing SshCredential 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?: SshCredentialState, opts?: pulumi.CustomResourceOptions): SshCredential; /** * Returns true if the given object is an instance of SshCredential. 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 SshCredential; /** * Kerberos authentication for SSH. Cannot be used if ssh*authentication is specified */ readonly kerberosAuthentication: pulumi.Output; /** * Name of the encrypted text secret */ readonly name: pulumi.Output; /** * Authentication method for SSH. Cannot be used if kerberos*authentication is specified. Only one of `inlineSsh`, `serverPassword`, or `sshKeyFile` should be set */ readonly sshAuthentication: pulumi.Output; /** * This block is used for scoping the resource to a specific set of applications or environments. */ readonly usageScopes: pulumi.Output; /** * Create a SshCredential 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?: SshCredentialArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SshCredential resources. */ export interface SshCredentialState { /** * Kerberos authentication for SSH. Cannot be used if ssh*authentication is specified */ kerberosAuthentication?: pulumi.Input; /** * Name of the encrypted text secret */ name?: pulumi.Input; /** * Authentication method for SSH. Cannot be used if kerberos*authentication is specified. Only one of `inlineSsh`, `serverPassword`, or `sshKeyFile` should be set */ sshAuthentication?: pulumi.Input; /** * This block is used for scoping the resource to a specific set of applications or environments. */ usageScopes?: pulumi.Input[] | undefined>; } /** * The set of arguments for constructing a SshCredential resource. */ export interface SshCredentialArgs { /** * Kerberos authentication for SSH. Cannot be used if ssh*authentication is specified */ kerberosAuthentication?: pulumi.Input; /** * Name of the encrypted text secret */ name?: pulumi.Input; /** * Authentication method for SSH. Cannot be used if kerberos*authentication is specified. Only one of `inlineSsh`, `serverPassword`, or `sshKeyFile` should be set */ sshAuthentication?: pulumi.Input; /** * This block is used for scoping the resource to a specific set of applications or environments. */ usageScopes?: pulumi.Input[] | undefined>; } //# sourceMappingURL=sshCredential.d.ts.map