UNPKG

@lbrlabs/pulumi-harness

Version:

A Pulumi package for creating and managing Harness resources.

258 lines 12.5 kB
"use strict"; // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.VaultConnector = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("../utilities"); /** * Resource for creating a HashiCorp Vault Secret Manager connector. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as harness from "@lbrlabs/pulumi-harness"; * * const awsAuth = new harness.platform.VaultConnector("awsAuth", { * accessType: "AWS_IAM", * awsRegion: "aws_region", * basePath: "base_path", * "default": false, * delegateSelectors: ["harness-delegate"], * description: "test", * identifier: "identifier", * readOnly: true, * renewalIntervalMinutes: 60, * secretEngineManuallyConfigured: true, * secretEngineName: "secret_engine_name", * secretEngineVersion: 2, * tags: ["foo:bar"], * useAwsIam: true, * useK8sAuth: false, * useVaultAgent: false, * vaultAwsIamRole: "vault_aws_iam_role", * vaultUrl: "https://vault_url.com", * xvaultAwsIamServerId: `account.${harness_platform_secret_text.test.id}`, * }); * const appRole = new harness.platform.VaultConnector("appRole", { * accessType: "APP_ROLE", * appRoleId: "app_role_id", * basePath: "base_path", * "default": false, * delegateSelectors: ["harness-delegate"], * description: "test", * identifier: "identifier", * readOnly: true, * renewAppRoleToken: true, * renewalIntervalMinutes: 60, * secretEngineManuallyConfigured: true, * secretEngineName: "secret_engine_name", * secretEngineVersion: 2, * secretId: `account.${harness_platform_secret_text.test.id}`, * tags: ["foo:bar"], * useAwsIam: false, * useK8sAuth: false, * useVaultAgent: false, * vaultUrl: "https://vault_url.com", * }); * const k8sAuth = new harness.platform.VaultConnector("k8sAuth", { * accessType: "K8s_AUTH", * authToken: `account.${harness_platform_secret_text.test.id}`, * basePath: "base_path", * "default": false, * delegateSelectors: ["harness-delegate"], * description: "test", * identifier: "identifier", * k8sAuthEndpoint: "k8s_auth_endpoint", * namespace: "namespace", * readOnly: true, * renewalIntervalMinutes: 10, * secretEngineManuallyConfigured: true, * secretEngineName: "secret_engine_name", * secretEngineVersion: 2, * serviceAccountTokenPath: "service_account_token_path", * tags: ["foo:bar"], * useAwsIam: false, * useK8sAuth: true, * useVaultAgent: false, * vaultAwsIamRole: "vault_aws_iam_role", * vaultK8sAuthRole: "vault_k8s_auth_role", * vaultUrl: "https://vault_url.com", * }); * const vaultAgent = new harness.platform.VaultConnector("vaultAgent", { * accessType: "VAULT_AGENT", * authToken: `account.${harness_platform_secret_text.test.id}`, * basePath: "base_path", * "default": false, * delegateSelectors: ["harness-delegate"], * description: "test", * identifier: "identifier", * namespace: "namespace", * readOnly: true, * renewalIntervalMinutes: 10, * secretEngineManuallyConfigured: true, * secretEngineName: "secret_engine_name", * secretEngineVersion: 2, * sinkPath: "sink_path", * tags: ["foo:bar"], * useAwsIam: false, * useK8sAuth: false, * useVaultAgent: true, * vaultUrl: "https://vault_url.com", * }); * const token = new harness.platform.VaultConnector("token", { * accessType: "TOKEN", * authToken: `account.${harness_platform_secret_text.test.id}`, * basePath: "base_path", * "default": false, * description: "test", * identifier: "identifier", * namespace: "namespace", * readOnly: true, * renewalIntervalMinutes: 10, * secretEngineManuallyConfigured: true, * secretEngineName: "secret_engine_name", * secretEngineVersion: 2, * tags: ["foo:bar"], * useAwsIam: false, * useK8sAuth: false, * vaultUrl: "https://vault_url.com", * }); * ``` * * ## Import * * Import account level vault connector * * ```sh * $ pulumi import harness:platform/vaultConnector:VaultConnector example <connector_id> * ``` * * Import org level vault connector * * ```sh * $ pulumi import harness:platform/vaultConnector:VaultConnector example <ord_id>/<connector_id> * ``` * * Import project level vault connector * * ```sh * $ pulumi import harness:platform/vaultConnector:VaultConnector example <org_id>/<project_id>/<connector_id> * ``` */ class VaultConnector extends pulumi.CustomResource { /** * Get an existing VaultConnector 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, id, state, opts) { return new VaultConnector(name, state, Object.assign(Object.assign({}, opts), { id: id })); } /** * Returns true if the given object is an instance of VaultConnector. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === VaultConnector.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["accessType"] = state ? state.accessType : undefined; resourceInputs["appRoleId"] = state ? state.appRoleId : undefined; resourceInputs["authToken"] = state ? state.authToken : undefined; resourceInputs["awsRegion"] = state ? state.awsRegion : undefined; resourceInputs["basePath"] = state ? state.basePath : undefined; resourceInputs["default"] = state ? state.default : undefined; resourceInputs["delegateSelectors"] = state ? state.delegateSelectors : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["identifier"] = state ? state.identifier : undefined; resourceInputs["isDefault"] = state ? state.isDefault : undefined; resourceInputs["isReadOnly"] = state ? state.isReadOnly : undefined; resourceInputs["k8sAuthEndpoint"] = state ? state.k8sAuthEndpoint : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["namespace"] = state ? state.namespace : undefined; resourceInputs["orgId"] = state ? state.orgId : undefined; resourceInputs["projectId"] = state ? state.projectId : undefined; resourceInputs["readOnly"] = state ? state.readOnly : undefined; resourceInputs["renewAppRoleToken"] = state ? state.renewAppRoleToken : undefined; resourceInputs["renewalIntervalMinutes"] = state ? state.renewalIntervalMinutes : undefined; resourceInputs["secretEngineManuallyConfigured"] = state ? state.secretEngineManuallyConfigured : undefined; resourceInputs["secretEngineName"] = state ? state.secretEngineName : undefined; resourceInputs["secretEngineVersion"] = state ? state.secretEngineVersion : undefined; resourceInputs["secretId"] = state ? state.secretId : undefined; resourceInputs["serviceAccountTokenPath"] = state ? state.serviceAccountTokenPath : undefined; resourceInputs["sinkPath"] = state ? state.sinkPath : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["useAwsIam"] = state ? state.useAwsIam : undefined; resourceInputs["useK8sAuth"] = state ? state.useK8sAuth : undefined; resourceInputs["useVaultAgent"] = state ? state.useVaultAgent : undefined; resourceInputs["vaultAwsIamRole"] = state ? state.vaultAwsIamRole : undefined; resourceInputs["vaultK8sAuthRole"] = state ? state.vaultK8sAuthRole : undefined; resourceInputs["vaultUrl"] = state ? state.vaultUrl : undefined; resourceInputs["xvaultAwsIamServerId"] = state ? state.xvaultAwsIamServerId : undefined; } else { const args = argsOrState; if ((!args || args.identifier === undefined) && !opts.urn) { throw new Error("Missing required property 'identifier'"); } if ((!args || args.renewalIntervalMinutes === undefined) && !opts.urn) { throw new Error("Missing required property 'renewalIntervalMinutes'"); } if ((!args || args.vaultUrl === undefined) && !opts.urn) { throw new Error("Missing required property 'vaultUrl'"); } resourceInputs["accessType"] = args ? args.accessType : undefined; resourceInputs["appRoleId"] = args ? args.appRoleId : undefined; resourceInputs["authToken"] = args ? args.authToken : undefined; resourceInputs["awsRegion"] = args ? args.awsRegion : undefined; resourceInputs["basePath"] = args ? args.basePath : undefined; resourceInputs["default"] = args ? args.default : undefined; resourceInputs["delegateSelectors"] = args ? args.delegateSelectors : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["identifier"] = args ? args.identifier : undefined; resourceInputs["isDefault"] = args ? args.isDefault : undefined; resourceInputs["isReadOnly"] = args ? args.isReadOnly : undefined; resourceInputs["k8sAuthEndpoint"] = args ? args.k8sAuthEndpoint : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["namespace"] = args ? args.namespace : undefined; resourceInputs["orgId"] = args ? args.orgId : undefined; resourceInputs["projectId"] = args ? args.projectId : undefined; resourceInputs["readOnly"] = args ? args.readOnly : undefined; resourceInputs["renewAppRoleToken"] = args ? args.renewAppRoleToken : undefined; resourceInputs["renewalIntervalMinutes"] = args ? args.renewalIntervalMinutes : undefined; resourceInputs["secretEngineManuallyConfigured"] = args ? args.secretEngineManuallyConfigured : undefined; resourceInputs["secretEngineName"] = args ? args.secretEngineName : undefined; resourceInputs["secretEngineVersion"] = args ? args.secretEngineVersion : undefined; resourceInputs["secretId"] = args ? args.secretId : undefined; resourceInputs["serviceAccountTokenPath"] = args ? args.serviceAccountTokenPath : undefined; resourceInputs["sinkPath"] = args ? args.sinkPath : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["useAwsIam"] = args ? args.useAwsIam : undefined; resourceInputs["useK8sAuth"] = args ? args.useK8sAuth : undefined; resourceInputs["useVaultAgent"] = args ? args.useVaultAgent : undefined; resourceInputs["vaultAwsIamRole"] = args ? args.vaultAwsIamRole : undefined; resourceInputs["vaultK8sAuthRole"] = args ? args.vaultK8sAuthRole : undefined; resourceInputs["vaultUrl"] = args ? args.vaultUrl : undefined; resourceInputs["xvaultAwsIamServerId"] = args ? args.xvaultAwsIamServerId : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(VaultConnector.__pulumiType, name, resourceInputs, opts); } } exports.VaultConnector = VaultConnector; /** @internal */ VaultConnector.__pulumiType = 'harness:platform/vaultConnector:VaultConnector'; //# sourceMappingURL=vaultConnector.js.map