UNPKG

@pulumi/harness

Version:

A Pulumi package for creating and managing Harness resources.

302 lines 12.7 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** 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 "@pulumi/harness"; * * const awsAuth = new harness.platform.VaultConnector("aws_auth", { * identifier: "identifier", * name: "name", * description: "test", * tags: ["foo:bar"], * awsRegion: "aws_region", * basePath: "base_path", * accessType: "AWS_IAM", * "default": false, * xvaultAwsIamServerId: `account.${test.id}`, * readOnly: true, * renewalIntervalMinutes: 60, * secretEngineManuallyConfigured: true, * secretEngineName: "secret_engine_name", * secretEngineVersion: 2, * vaultAwsIamRole: "vault_aws_iam_role", * useAwsIam: true, * useK8sAuth: false, * useVaultAgent: false, * delegateSelectors: ["harness-delegate"], * vaultUrl: "https://vault_url.com", * useJwtAuth: false, * }); * const appRole = new harness.platform.VaultConnector("app_role", { * identifier: "identifier", * name: "name", * description: "test", * tags: ["foo:bar"], * appRoleId: "app_role_id", * basePath: "base_path", * accessType: "APP_ROLE", * "default": false, * secretId: `account.${test.id}`, * readOnly: true, * renewalIntervalMinutes: 60, * secretEngineManuallyConfigured: true, * secretEngineName: "secret_engine_name", * secretEngineVersion: 2, * useAwsIam: false, * useK8sAuth: false, * useVaultAgent: false, * renewAppRoleToken: true, * delegateSelectors: ["harness-delegate"], * vaultUrl: "https://vault_url.com", * useJwtAuth: false, * }); * const k8sAuth = new harness.platform.VaultConnector("k8s_auth", { * identifier: "identifier", * name: "name", * description: "test", * tags: ["foo:bar"], * authToken: `account.${test.id}`, * basePath: "base_path", * accessType: "K8s_AUTH", * "default": false, * k8sAuthEndpoint: "k8s_auth_endpoint", * namespace: "namespace", * readOnly: true, * renewalIntervalMinutes: 10, * secretEngineManuallyConfigured: true, * secretEngineName: "secret_engine_name", * secretEngineVersion: 2, * serviceAccountTokenPath: "service_account_token_path", * useAwsIam: false, * useK8sAuth: true, * useVaultAgent: false, * vaultK8sAuthRole: "vault_k8s_auth_role", * vaultAwsIamRole: "vault_aws_iam_role", * delegateSelectors: ["harness-delegate"], * vaultUrl: "https://vault_url.com", * useJwtAuth: false, * }); * const vaultAgent = new harness.platform.VaultConnector("vault_agent", { * identifier: "identifier", * name: "name", * description: "test", * tags: ["foo:bar"], * authToken: `account.${test.id}`, * basePath: "base_path", * accessType: "VAULT_AGENT", * "default": false, * namespace: "namespace", * readOnly: true, * renewalIntervalMinutes: 10, * secretEngineManuallyConfigured: true, * secretEngineName: "secret_engine_name", * secretEngineVersion: 2, * useAwsIam: false, * useK8sAuth: false, * useVaultAgent: true, * sinkPath: "sink_path", * delegateSelectors: ["harness-delegate"], * vaultUrl: "https://vault_url.com", * useJwtAuth: false, * }); * const token = new harness.platform.VaultConnector("token", { * identifier: "identifier", * name: "name", * description: "test", * tags: ["foo:bar"], * authToken: `account.${test.id}`, * basePath: "base_path", * accessType: "TOKEN", * "default": false, * namespace: "namespace", * readOnly: true, * renewalIntervalMinutes: 10, * secretEngineManuallyConfigured: true, * secretEngineName: "secret_engine_name", * secretEngineVersion: 2, * useAwsIam: false, * useK8sAuth: false, * vaultUrl: "https://vault_url.com", * useJwtAuth: false, * }); * const jwt = new harness.platform.VaultConnector("jwt", { * identifier: "identifier", * name: "name", * description: "test", * tags: ["foo:bar"], * basePath: "base_path", * accessType: "JWT", * "default": false, * readOnly: true, * renewalIntervalMinutes: 60, * secretEngineManuallyConfigured: true, * secretEngineName: "secret_engine_name", * secretEngineVersion: 2, * useAwsIam: false, * useK8sAuth: false, * useVaultAgent: false, * renewAppRoleToken: false, * delegateSelectors: ["harness-delegate"], * vaultUrl: "https://vault_url.com", * useJwtAuth: true, * vaultJwtAuthRole: "vault_jwt_auth_role", * vaultJwtAuthPath: "vault_jwt_auth_path", * executeOnDelegate: true, * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * 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, { ...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?.accessType; resourceInputs["appRoleId"] = state?.appRoleId; resourceInputs["authToken"] = state?.authToken; resourceInputs["awsRegion"] = state?.awsRegion; resourceInputs["basePath"] = state?.basePath; resourceInputs["default"] = state?.default; resourceInputs["delegateSelectors"] = state?.delegateSelectors; resourceInputs["description"] = state?.description; resourceInputs["executeOnDelegate"] = state?.executeOnDelegate; resourceInputs["identifier"] = state?.identifier; resourceInputs["isDefault"] = state?.isDefault; resourceInputs["isReadOnly"] = state?.isReadOnly; resourceInputs["k8sAuthEndpoint"] = state?.k8sAuthEndpoint; resourceInputs["name"] = state?.name; resourceInputs["namespace"] = state?.namespace; resourceInputs["orgId"] = state?.orgId; resourceInputs["projectId"] = state?.projectId; resourceInputs["readOnly"] = state?.readOnly; resourceInputs["renewAppRoleToken"] = state?.renewAppRoleToken; resourceInputs["renewalIntervalMinutes"] = state?.renewalIntervalMinutes; resourceInputs["secretEngineManuallyConfigured"] = state?.secretEngineManuallyConfigured; resourceInputs["secretEngineName"] = state?.secretEngineName; resourceInputs["secretEngineVersion"] = state?.secretEngineVersion; resourceInputs["secretId"] = state?.secretId; resourceInputs["serviceAccountTokenPath"] = state?.serviceAccountTokenPath; resourceInputs["sinkPath"] = state?.sinkPath; resourceInputs["tags"] = state?.tags; resourceInputs["useAwsIam"] = state?.useAwsIam; resourceInputs["useJwtAuth"] = state?.useJwtAuth; resourceInputs["useK8sAuth"] = state?.useK8sAuth; resourceInputs["useVaultAgent"] = state?.useVaultAgent; resourceInputs["vaultAwsIamRole"] = state?.vaultAwsIamRole; resourceInputs["vaultJwtAuthPath"] = state?.vaultJwtAuthPath; resourceInputs["vaultJwtAuthRole"] = state?.vaultJwtAuthRole; resourceInputs["vaultK8sAuthRole"] = state?.vaultK8sAuthRole; resourceInputs["vaultUrl"] = state?.vaultUrl; resourceInputs["xvaultAwsIamServerId"] = state?.xvaultAwsIamServerId; } else { const args = argsOrState; if (args?.identifier === undefined && !opts.urn) { throw new Error("Missing required property 'identifier'"); } if (args?.renewalIntervalMinutes === undefined && !opts.urn) { throw new Error("Missing required property 'renewalIntervalMinutes'"); } if (args?.vaultUrl === undefined && !opts.urn) { throw new Error("Missing required property 'vaultUrl'"); } resourceInputs["accessType"] = args?.accessType; resourceInputs["appRoleId"] = args?.appRoleId; resourceInputs["authToken"] = args?.authToken; resourceInputs["awsRegion"] = args?.awsRegion; resourceInputs["basePath"] = args?.basePath; resourceInputs["default"] = args?.default; resourceInputs["delegateSelectors"] = args?.delegateSelectors; resourceInputs["description"] = args?.description; resourceInputs["executeOnDelegate"] = args?.executeOnDelegate; resourceInputs["identifier"] = args?.identifier; resourceInputs["isDefault"] = args?.isDefault; resourceInputs["isReadOnly"] = args?.isReadOnly; resourceInputs["k8sAuthEndpoint"] = args?.k8sAuthEndpoint; resourceInputs["name"] = args?.name; resourceInputs["namespace"] = args?.namespace; resourceInputs["orgId"] = args?.orgId; resourceInputs["projectId"] = args?.projectId; resourceInputs["readOnly"] = args?.readOnly; resourceInputs["renewAppRoleToken"] = args?.renewAppRoleToken; resourceInputs["renewalIntervalMinutes"] = args?.renewalIntervalMinutes; resourceInputs["secretEngineManuallyConfigured"] = args?.secretEngineManuallyConfigured; resourceInputs["secretEngineName"] = args?.secretEngineName; resourceInputs["secretEngineVersion"] = args?.secretEngineVersion; resourceInputs["secretId"] = args?.secretId; resourceInputs["serviceAccountTokenPath"] = args?.serviceAccountTokenPath; resourceInputs["sinkPath"] = args?.sinkPath; resourceInputs["tags"] = args?.tags; resourceInputs["useAwsIam"] = args?.useAwsIam; resourceInputs["useJwtAuth"] = args?.useJwtAuth; resourceInputs["useK8sAuth"] = args?.useK8sAuth; resourceInputs["useVaultAgent"] = args?.useVaultAgent; resourceInputs["vaultAwsIamRole"] = args?.vaultAwsIamRole; resourceInputs["vaultJwtAuthPath"] = args?.vaultJwtAuthPath; resourceInputs["vaultJwtAuthRole"] = args?.vaultJwtAuthRole; resourceInputs["vaultK8sAuthRole"] = args?.vaultK8sAuthRole; resourceInputs["vaultUrl"] = args?.vaultUrl; resourceInputs["xvaultAwsIamServerId"] = args?.xvaultAwsIamServerId; } 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