@lbrlabs/pulumi-harness
Version:
A Pulumi package for creating and managing Harness resources.
247 lines (246 loc) • 7.24 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Resource for creating an ssh key type secret.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as harness from "@lbrlabs/pulumi-harness";
*
* const keyTabFilePath = new harness.platform.SecretSshkey("keyTabFilePath", {
* identifier: "identifier",
* description: "test",
* tags: ["foo:bar"],
* port: 22,
* kerberos: {
* tgtKeyTabFilePathSpec: {
* keyPath: "key_path",
* },
* principal: "principal",
* realm: "realm",
* tgtGenerationMethod: "KeyTabFilePath",
* },
* });
* const _tgtPassword = new harness.platform.SecretSshkey(" tgtPassword", {
* identifier: "identifier",
* description: "test",
* tags: ["foo:bar"],
* port: 22,
* kerberos: {
* tgtPasswordSpec: {
* password: `account.${secret.id}`,
* },
* principal: "principal",
* realm: "realm",
* tgtGenerationMethod: "Password",
* },
* });
* const sshkeyReference = new harness.platform.SecretSshkey("sshkeyReference", {
* identifier: "identifier",
* description: "test",
* tags: ["foo:bar"],
* port: 22,
* ssh: {
* sshkeyReferenceCredential: {
* userName: "user_name",
* key: `account.${key.id}`,
* encryptedPassphrase: `account.${secret.id}`,
* },
* credentialType: "KeyReference",
* },
* });
* const _sshkeyPath = new harness.platform.SecretSshkey(" sshkeyPath", {
* identifier: "identifier",
* description: "test",
* tags: ["foo:bar"],
* port: 22,
* ssh: {
* sshkeyPathCredential: {
* userName: "user_name",
* keyPath: "key_path",
* encryptedPassphrase: "encrypted_passphrase",
* },
* credentialType: "KeyPath",
* },
* });
* const sshPassword = new harness.platform.SecretSshkey("sshPassword", {
* identifier: "identifier",
* description: "test",
* tags: ["foo:bar"],
* port: 22,
* ssh: {
* sshPasswordCredential: {
* userName: "user_name",
* password: `account.${secret.id}`,
* },
* credentialType: "Password",
* },
* });
* ```
*
* ## Import
*
* Import account level secret sshkey
*
* ```sh
* $ pulumi import harness:platform/secretSshkey:SecretSshkey example <secret_sshkey_id>
* ```
*
* Import org level secret sshkey
*
* ```sh
* $ pulumi import harness:platform/secretSshkey:SecretSshkey example <ord_id>/<secret_sshkey_id>
* ```
*
* Import project level secret sshkey
*
* ```sh
* $ pulumi import harness:platform/secretSshkey:SecretSshkey example <org_id>/<project_id>/<secret_sshkey_id>
* ```
*/
export declare class SecretSshkey extends pulumi.CustomResource {
/**
* Get an existing SecretSshkey 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<pulumi.ID>, state?: SecretSshkeyState, opts?: pulumi.CustomResourceOptions): SecretSshkey;
/**
* Returns true if the given object is an instance of SecretSshkey. 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 SecretSshkey;
/**
* Description of the resource.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* Unique identifier of the resource.
*/
readonly identifier: pulumi.Output<string>;
/**
* Kerberos authentication scheme
*/
readonly kerberos: pulumi.Output<outputs.platform.SecretSshkeyKerberos | undefined>;
/**
* Name of the resource.
*/
readonly name: pulumi.Output<string>;
/**
* Unique identifier of the organization.
*/
readonly orgId: pulumi.Output<string | undefined>;
/**
* SSH port
*/
readonly port: pulumi.Output<number | undefined>;
/**
* Unique identifier of the project.
*/
readonly projectId: pulumi.Output<string | undefined>;
/**
* Kerberos authentication scheme
*/
readonly ssh: pulumi.Output<outputs.platform.SecretSshkeySsh | undefined>;
/**
* Tags to associate with the resource.
*/
readonly tags: pulumi.Output<string[] | undefined>;
/**
* Create a SecretSshkey 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: SecretSshkeyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering SecretSshkey resources.
*/
export interface SecretSshkeyState {
/**
* Description of the resource.
*/
description?: pulumi.Input<string>;
/**
* Unique identifier of the resource.
*/
identifier?: pulumi.Input<string>;
/**
* Kerberos authentication scheme
*/
kerberos?: pulumi.Input<inputs.platform.SecretSshkeyKerberos>;
/**
* Name of the resource.
*/
name?: pulumi.Input<string>;
/**
* Unique identifier of the organization.
*/
orgId?: pulumi.Input<string>;
/**
* SSH port
*/
port?: pulumi.Input<number>;
/**
* Unique identifier of the project.
*/
projectId?: pulumi.Input<string>;
/**
* Kerberos authentication scheme
*/
ssh?: pulumi.Input<inputs.platform.SecretSshkeySsh>;
/**
* Tags to associate with the resource.
*/
tags?: pulumi.Input<pulumi.Input<string>[]>;
}
/**
* The set of arguments for constructing a SecretSshkey resource.
*/
export interface SecretSshkeyArgs {
/**
* Description of the resource.
*/
description?: pulumi.Input<string>;
/**
* Unique identifier of the resource.
*/
identifier: pulumi.Input<string>;
/**
* Kerberos authentication scheme
*/
kerberos?: pulumi.Input<inputs.platform.SecretSshkeyKerberos>;
/**
* Name of the resource.
*/
name?: pulumi.Input<string>;
/**
* Unique identifier of the organization.
*/
orgId?: pulumi.Input<string>;
/**
* SSH port
*/
port?: pulumi.Input<number>;
/**
* Unique identifier of the project.
*/
projectId?: pulumi.Input<string>;
/**
* Kerberos authentication scheme
*/
ssh?: pulumi.Input<inputs.platform.SecretSshkeySsh>;
/**
* Tags to associate with the resource.
*/
tags?: pulumi.Input<pulumi.Input<string>[]>;
}