@pierskarsenbarg/sdm
Version:
A Pulumi package for creating and managing StrongDM cloud resources.
363 lines • 20.6 kB
JavaScript
;
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Resource = void 0;
const pulumi = __importStar(require("@pulumi/pulumi"));
const utilities = __importStar(require("./utilities"));
/**
* A Resource is a database, server, cluster, website, or cloud that strongDM
* delegates access to.
* ## Example Usage
*
* <!--Start PulumiCodeChooser -->
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as sdm from "@pierskarsenbarg/sdm";
*
* const redis_test = new sdm.Resource("redis-test", {redis: {
* name: "redis-test",
* hostname: "example.com",
* portOverride: 4020,
* tags: {
* region: "us-west",
* env: "dev",
* },
* }});
* const postgres_test = new sdm.Resource("postgres-test", {postgres: {
* name: "postgres-test",
* hostname: "example.com",
* database: "my-db",
* username: "admin",
* password: "hunter2",
* port: 5432,
* tags: {
* region: "us-west",
* env: "dev",
* },
* }});
* const aurora_mysql_test = new sdm.Resource("aurora-mysql-test", {auroraMysql: {
* name: "aurora-mysql-test",
* hostname: "example.com",
* database: "my-db",
* port: 3306,
* secretStoreId: "se-109564346",
* username: "path/to/credential?key=optionalKeyName",
* password: "path/to/credential?key=optionalKeyName",
* }});
* ```
* <!--End PulumiCodeChooser -->
* This resource can be imported using the import command.
* ## Providing Credentials
*
* Credentials can be provided to resources in two forms:
* - As raw text, which will not be returned to the terraform client on import or on loading state from StrongDM, but may be stored in the terraform state itself.
* - As a path to a credential in a Secret Store, which will be returned on import. e.g. /path/to/secret?key=password&encoding=base64
*
* All credentials must be either raw or Secret Store paths, depending on whether the resource has a Secret Store ID provided. In both cases, some credentials may be optional depending on the resource subtype.
*
* ## Import
*
* A Resource can be imported using the id, e.g.,
*
* ```sh
* $ pulumi import sdm:index/resource:Resource example rs-12345678
* ```
*/
class Resource extends pulumi.CustomResource {
/**
* Get an existing Resource 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 Resource(name, state, { ...opts, id: id });
}
/** @internal */
static __pulumiType = 'sdm:index/resource:Resource';
/**
* Returns true if the given object is an instance of Resource. 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'] === Resource.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["aerospike"] = state?.aerospike;
resourceInputs["aks"] = state?.aks;
resourceInputs["aksBasicAuth"] = state?.aksBasicAuth;
resourceInputs["aksServiceAccount"] = state?.aksServiceAccount;
resourceInputs["aksServiceAccountUserImpersonation"] = state?.aksServiceAccountUserImpersonation;
resourceInputs["aksUserImpersonation"] = state?.aksUserImpersonation;
resourceInputs["amazonEks"] = state?.amazonEks;
resourceInputs["amazonEksInstanceProfile"] = state?.amazonEksInstanceProfile;
resourceInputs["amazonEksInstanceProfileUserImpersonation"] = state?.amazonEksInstanceProfileUserImpersonation;
resourceInputs["amazonEksUserImpersonation"] = state?.amazonEksUserImpersonation;
resourceInputs["amazonEs"] = state?.amazonEs;
resourceInputs["amazonEsiam"] = state?.amazonEsiam;
resourceInputs["amazonmqAmqp"] = state?.amazonmqAmqp;
resourceInputs["amazonmqAmqp091"] = state?.amazonmqAmqp091;
resourceInputs["athena"] = state?.athena;
resourceInputs["athenaIam"] = state?.athenaIam;
resourceInputs["auroraMysql"] = state?.auroraMysql;
resourceInputs["auroraMysqlIam"] = state?.auroraMysqlIam;
resourceInputs["auroraPostgres"] = state?.auroraPostgres;
resourceInputs["auroraPostgresIam"] = state?.auroraPostgresIam;
resourceInputs["aws"] = state?.aws;
resourceInputs["awsConsole"] = state?.awsConsole;
resourceInputs["awsConsoleStaticKeyPair"] = state?.awsConsoleStaticKeyPair;
resourceInputs["awsInstanceProfile"] = state?.awsInstanceProfile;
resourceInputs["azure"] = state?.azure;
resourceInputs["azureCertificate"] = state?.azureCertificate;
resourceInputs["azureMysql"] = state?.azureMysql;
resourceInputs["azureMysqlManagedIdentity"] = state?.azureMysqlManagedIdentity;
resourceInputs["azurePostgres"] = state?.azurePostgres;
resourceInputs["azurePostgresManagedIdentity"] = state?.azurePostgresManagedIdentity;
resourceInputs["bigQuery"] = state?.bigQuery;
resourceInputs["cassandra"] = state?.cassandra;
resourceInputs["citus"] = state?.citus;
resourceInputs["clickHouseHttp"] = state?.clickHouseHttp;
resourceInputs["clickHouseMySql"] = state?.clickHouseMySql;
resourceInputs["clickHouseTcp"] = state?.clickHouseTcp;
resourceInputs["clustrix"] = state?.clustrix;
resourceInputs["cockroach"] = state?.cockroach;
resourceInputs["couchbaseDatabase"] = state?.couchbaseDatabase;
resourceInputs["couchbaseWebUi"] = state?.couchbaseWebUi;
resourceInputs["databricks"] = state?.databricks;
resourceInputs["db2I"] = state?.db2I;
resourceInputs["db2Luw"] = state?.db2Luw;
resourceInputs["documentDbHost"] = state?.documentDbHost;
resourceInputs["documentDbHostIam"] = state?.documentDbHostIam;
resourceInputs["documentDbReplicaSet"] = state?.documentDbReplicaSet;
resourceInputs["documentDbReplicaSetIam"] = state?.documentDbReplicaSetIam;
resourceInputs["druid"] = state?.druid;
resourceInputs["dynamoDb"] = state?.dynamoDb;
resourceInputs["dynamoDbiam"] = state?.dynamoDbiam;
resourceInputs["elastic"] = state?.elastic;
resourceInputs["elasticacheRedis"] = state?.elasticacheRedis;
resourceInputs["elasticacheRedisIam"] = state?.elasticacheRedisIam;
resourceInputs["entraId"] = state?.entraId;
resourceInputs["gcp"] = state?.gcp;
resourceInputs["gcpConsole"] = state?.gcpConsole;
resourceInputs["gcpwif"] = state?.gcpwif;
resourceInputs["googleGke"] = state?.googleGke;
resourceInputs["googleGkeUserImpersonation"] = state?.googleGkeUserImpersonation;
resourceInputs["googleSpanner"] = state?.googleSpanner;
resourceInputs["greenplum"] = state?.greenplum;
resourceInputs["httpAuth"] = state?.httpAuth;
resourceInputs["httpBasicAuth"] = state?.httpBasicAuth;
resourceInputs["httpNoAuth"] = state?.httpNoAuth;
resourceInputs["kubernetes"] = state?.kubernetes;
resourceInputs["kubernetesBasicAuth"] = state?.kubernetesBasicAuth;
resourceInputs["kubernetesPodIdentity"] = state?.kubernetesPodIdentity;
resourceInputs["kubernetesServiceAccount"] = state?.kubernetesServiceAccount;
resourceInputs["kubernetesServiceAccountUserImpersonation"] = state?.kubernetesServiceAccountUserImpersonation;
resourceInputs["kubernetesUserImpersonation"] = state?.kubernetesUserImpersonation;
resourceInputs["maria"] = state?.maria;
resourceInputs["mcpGatewayNoAuth"] = state?.mcpGatewayNoAuth;
resourceInputs["mcpGatewayOAuth"] = state?.mcpGatewayOAuth;
resourceInputs["mcpGatewayOAuthDcr"] = state?.mcpGatewayOAuthDcr;
resourceInputs["mcpGatewayPat"] = state?.mcpGatewayPat;
resourceInputs["memcached"] = state?.memcached;
resourceInputs["memsql"] = state?.memsql;
resourceInputs["mongoHost"] = state?.mongoHost;
resourceInputs["mongoLegacyHost"] = state?.mongoLegacyHost;
resourceInputs["mongoLegacyReplicaset"] = state?.mongoLegacyReplicaset;
resourceInputs["mongoReplicaSet"] = state?.mongoReplicaSet;
resourceInputs["mongoShardedCluster"] = state?.mongoShardedCluster;
resourceInputs["mtlsMysql"] = state?.mtlsMysql;
resourceInputs["mtlsPostgres"] = state?.mtlsPostgres;
resourceInputs["mysql"] = state?.mysql;
resourceInputs["neptune"] = state?.neptune;
resourceInputs["neptuneIam"] = state?.neptuneIam;
resourceInputs["oktaGroups"] = state?.oktaGroups;
resourceInputs["oracle"] = state?.oracle;
resourceInputs["oracleNne"] = state?.oracleNne;
resourceInputs["postgres"] = state?.postgres;
resourceInputs["presto"] = state?.presto;
resourceInputs["rabbitmqAmqp091"] = state?.rabbitmqAmqp091;
resourceInputs["rawTcp"] = state?.rawTcp;
resourceInputs["rdp"] = state?.rdp;
resourceInputs["rdpCert"] = state?.rdpCert;
resourceInputs["rdsPostgresIam"] = state?.rdsPostgresIam;
resourceInputs["redis"] = state?.redis;
resourceInputs["redisCluster"] = state?.redisCluster;
resourceInputs["redshift"] = state?.redshift;
resourceInputs["redshiftIam"] = state?.redshiftIam;
resourceInputs["redshiftServerlessIam"] = state?.redshiftServerlessIam;
resourceInputs["singleStore"] = state?.singleStore;
resourceInputs["snowflake"] = state?.snowflake;
resourceInputs["snowsight"] = state?.snowsight;
resourceInputs["sqlServer"] = state?.sqlServer;
resourceInputs["sqlServerAzureAd"] = state?.sqlServerAzureAd;
resourceInputs["sqlServerKerberosAd"] = state?.sqlServerKerberosAd;
resourceInputs["ssh"] = state?.ssh;
resourceInputs["sshCert"] = state?.sshCert;
resourceInputs["sshCustomerKey"] = state?.sshCustomerKey;
resourceInputs["sshPassword"] = state?.sshPassword;
resourceInputs["sybase"] = state?.sybase;
resourceInputs["sybaseIq"] = state?.sybaseIq;
resourceInputs["teradata"] = state?.teradata;
resourceInputs["trino"] = state?.trino;
resourceInputs["vertica"] = state?.vertica;
}
else {
const args = argsOrState;
resourceInputs["aerospike"] = args?.aerospike;
resourceInputs["aks"] = args?.aks;
resourceInputs["aksBasicAuth"] = args?.aksBasicAuth;
resourceInputs["aksServiceAccount"] = args?.aksServiceAccount;
resourceInputs["aksServiceAccountUserImpersonation"] = args?.aksServiceAccountUserImpersonation;
resourceInputs["aksUserImpersonation"] = args?.aksUserImpersonation;
resourceInputs["amazonEks"] = args?.amazonEks;
resourceInputs["amazonEksInstanceProfile"] = args?.amazonEksInstanceProfile;
resourceInputs["amazonEksInstanceProfileUserImpersonation"] = args?.amazonEksInstanceProfileUserImpersonation;
resourceInputs["amazonEksUserImpersonation"] = args?.amazonEksUserImpersonation;
resourceInputs["amazonEs"] = args?.amazonEs;
resourceInputs["amazonEsiam"] = args?.amazonEsiam;
resourceInputs["amazonmqAmqp"] = args?.amazonmqAmqp;
resourceInputs["amazonmqAmqp091"] = args?.amazonmqAmqp091;
resourceInputs["athena"] = args?.athena;
resourceInputs["athenaIam"] = args?.athenaIam;
resourceInputs["auroraMysql"] = args?.auroraMysql;
resourceInputs["auroraMysqlIam"] = args?.auroraMysqlIam;
resourceInputs["auroraPostgres"] = args?.auroraPostgres;
resourceInputs["auroraPostgresIam"] = args?.auroraPostgresIam;
resourceInputs["aws"] = args?.aws;
resourceInputs["awsConsole"] = args?.awsConsole;
resourceInputs["awsConsoleStaticKeyPair"] = args?.awsConsoleStaticKeyPair;
resourceInputs["awsInstanceProfile"] = args?.awsInstanceProfile;
resourceInputs["azure"] = args?.azure;
resourceInputs["azureCertificate"] = args?.azureCertificate;
resourceInputs["azureMysql"] = args?.azureMysql;
resourceInputs["azureMysqlManagedIdentity"] = args?.azureMysqlManagedIdentity;
resourceInputs["azurePostgres"] = args?.azurePostgres;
resourceInputs["azurePostgresManagedIdentity"] = args?.azurePostgresManagedIdentity;
resourceInputs["bigQuery"] = args?.bigQuery;
resourceInputs["cassandra"] = args?.cassandra;
resourceInputs["citus"] = args?.citus;
resourceInputs["clickHouseHttp"] = args?.clickHouseHttp;
resourceInputs["clickHouseMySql"] = args?.clickHouseMySql;
resourceInputs["clickHouseTcp"] = args?.clickHouseTcp;
resourceInputs["clustrix"] = args?.clustrix;
resourceInputs["cockroach"] = args?.cockroach;
resourceInputs["couchbaseDatabase"] = args?.couchbaseDatabase;
resourceInputs["couchbaseWebUi"] = args?.couchbaseWebUi;
resourceInputs["databricks"] = args?.databricks;
resourceInputs["db2I"] = args?.db2I;
resourceInputs["db2Luw"] = args?.db2Luw;
resourceInputs["documentDbHost"] = args?.documentDbHost;
resourceInputs["documentDbHostIam"] = args?.documentDbHostIam;
resourceInputs["documentDbReplicaSet"] = args?.documentDbReplicaSet;
resourceInputs["documentDbReplicaSetIam"] = args?.documentDbReplicaSetIam;
resourceInputs["druid"] = args?.druid;
resourceInputs["dynamoDb"] = args?.dynamoDb;
resourceInputs["dynamoDbiam"] = args?.dynamoDbiam;
resourceInputs["elastic"] = args?.elastic;
resourceInputs["elasticacheRedis"] = args?.elasticacheRedis;
resourceInputs["elasticacheRedisIam"] = args?.elasticacheRedisIam;
resourceInputs["entraId"] = args?.entraId;
resourceInputs["gcp"] = args?.gcp;
resourceInputs["gcpConsole"] = args?.gcpConsole;
resourceInputs["gcpwif"] = args?.gcpwif;
resourceInputs["googleGke"] = args?.googleGke;
resourceInputs["googleGkeUserImpersonation"] = args?.googleGkeUserImpersonation;
resourceInputs["googleSpanner"] = args?.googleSpanner;
resourceInputs["greenplum"] = args?.greenplum;
resourceInputs["httpAuth"] = args?.httpAuth;
resourceInputs["httpBasicAuth"] = args?.httpBasicAuth;
resourceInputs["httpNoAuth"] = args?.httpNoAuth;
resourceInputs["kubernetes"] = args?.kubernetes;
resourceInputs["kubernetesBasicAuth"] = args?.kubernetesBasicAuth;
resourceInputs["kubernetesPodIdentity"] = args?.kubernetesPodIdentity;
resourceInputs["kubernetesServiceAccount"] = args?.kubernetesServiceAccount;
resourceInputs["kubernetesServiceAccountUserImpersonation"] = args?.kubernetesServiceAccountUserImpersonation;
resourceInputs["kubernetesUserImpersonation"] = args?.kubernetesUserImpersonation;
resourceInputs["maria"] = args?.maria;
resourceInputs["mcpGatewayNoAuth"] = args?.mcpGatewayNoAuth;
resourceInputs["mcpGatewayOAuth"] = args?.mcpGatewayOAuth;
resourceInputs["mcpGatewayOAuthDcr"] = args?.mcpGatewayOAuthDcr;
resourceInputs["mcpGatewayPat"] = args?.mcpGatewayPat;
resourceInputs["memcached"] = args?.memcached;
resourceInputs["memsql"] = args?.memsql;
resourceInputs["mongoHost"] = args?.mongoHost;
resourceInputs["mongoLegacyHost"] = args?.mongoLegacyHost;
resourceInputs["mongoLegacyReplicaset"] = args?.mongoLegacyReplicaset;
resourceInputs["mongoReplicaSet"] = args?.mongoReplicaSet;
resourceInputs["mongoShardedCluster"] = args?.mongoShardedCluster;
resourceInputs["mtlsMysql"] = args?.mtlsMysql;
resourceInputs["mtlsPostgres"] = args?.mtlsPostgres;
resourceInputs["mysql"] = args?.mysql;
resourceInputs["neptune"] = args?.neptune;
resourceInputs["neptuneIam"] = args?.neptuneIam;
resourceInputs["oktaGroups"] = args?.oktaGroups;
resourceInputs["oracle"] = args?.oracle;
resourceInputs["oracleNne"] = args?.oracleNne;
resourceInputs["postgres"] = args?.postgres;
resourceInputs["presto"] = args?.presto;
resourceInputs["rabbitmqAmqp091"] = args?.rabbitmqAmqp091;
resourceInputs["rawTcp"] = args?.rawTcp;
resourceInputs["rdp"] = args?.rdp;
resourceInputs["rdpCert"] = args?.rdpCert;
resourceInputs["rdsPostgresIam"] = args?.rdsPostgresIam;
resourceInputs["redis"] = args?.redis;
resourceInputs["redisCluster"] = args?.redisCluster;
resourceInputs["redshift"] = args?.redshift;
resourceInputs["redshiftIam"] = args?.redshiftIam;
resourceInputs["redshiftServerlessIam"] = args?.redshiftServerlessIam;
resourceInputs["singleStore"] = args?.singleStore;
resourceInputs["snowflake"] = args?.snowflake;
resourceInputs["snowsight"] = args?.snowsight;
resourceInputs["sqlServer"] = args?.sqlServer;
resourceInputs["sqlServerAzureAd"] = args?.sqlServerAzureAd;
resourceInputs["sqlServerKerberosAd"] = args?.sqlServerKerberosAd;
resourceInputs["ssh"] = args?.ssh;
resourceInputs["sshCert"] = args?.sshCert;
resourceInputs["sshCustomerKey"] = args?.sshCustomerKey;
resourceInputs["sshPassword"] = args?.sshPassword;
resourceInputs["sybase"] = args?.sybase;
resourceInputs["sybaseIq"] = args?.sybaseIq;
resourceInputs["teradata"] = args?.teradata;
resourceInputs["trino"] = args?.trino;
resourceInputs["vertica"] = args?.vertica;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(Resource.__pulumiType, name, resourceInputs, opts);
}
}
exports.Resource = Resource;
//# sourceMappingURL=resource.js.map