@pierskarsenbarg/sdm
Version:
A Pulumi package for creating and managing StrongDM cloud resources.
150 lines • 5.36 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
* Nodes make up the StrongDM network, and allow your users to connect securely to your resources.
* There are three types of nodes:
* 1. **Relay:** creates connectivity to your datasources, while maintaining the egress-only nature of your firewall
* 2. **Gateway:** a relay that also listens for connections from StrongDM clients
* 3. **Proxy Cluster:** a cluster of workers that together mediate access from clients to resources
* ## Example Usage
*
* <!--Start PulumiCodeChooser -->
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as sdm from "@pierskarsenbarg/sdm";
*
* const gatewayQuery = sdm.getNode({
* type: "gateway",
* tags: {
* region: "us-west",
* env: "dev",
* },
* });
* ```
* <!--End PulumiCodeChooser -->
*/
export declare function getNode(args?: GetNodeArgs, opts?: pulumi.InvokeOptions): Promise<GetNodeResult>;
/**
* A collection of arguments for invoking getNode.
*/
export interface GetNodeArgs {
/**
* The hostname/port tuple which the gateway daemon will bind to. If not provided on create, set to "0.0.0.0:listen_address_port".
*/
bindAddress?: string;
/**
* Unique identifier of the Relay.
*/
id?: string;
/**
* The public hostname/port tuple at which the gateway will be accessible to clients.
*/
listenAddress?: string;
/**
* Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
*/
name?: string;
/**
* Tags is a map of key, value pairs.
*/
tags?: {
[key: string]: string;
};
/**
* a filter to select all items of a certain subtype. See the [filter documentation](https://docs.strongdm.com/references/cli/filters/) for more information.
*/
type?: string;
}
/**
* A collection of values returned by getNode.
*/
export interface GetNodeResult {
/**
* The hostname/port tuple which the gateway daemon will bind to. If not provided on create, set to "0.0.0.0:listen_address_port".
*/
readonly bindAddress?: string;
/**
* Unique identifier of the Relay.
*/
readonly id?: string;
/**
* a list of strings of ids of data sources that match the given arguments.
*/
readonly ids: string[];
/**
* The public hostname/port tuple at which the gateway will be accessible to clients.
*/
readonly listenAddress?: string;
/**
* Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
*/
readonly name?: string;
/**
* A single element list containing a map, where each key lists one of the following objects:
* * gateway:
*/
readonly nodes: outputs.GetNodeNode[];
/**
* Tags is a map of key, value pairs.
*/
readonly tags?: {
[key: string]: string;
};
readonly type?: string;
}
/**
* Nodes make up the StrongDM network, and allow your users to connect securely to your resources.
* There are three types of nodes:
* 1. **Relay:** creates connectivity to your datasources, while maintaining the egress-only nature of your firewall
* 2. **Gateway:** a relay that also listens for connections from StrongDM clients
* 3. **Proxy Cluster:** a cluster of workers that together mediate access from clients to resources
* ## Example Usage
*
* <!--Start PulumiCodeChooser -->
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as sdm from "@pierskarsenbarg/sdm";
*
* const gatewayQuery = sdm.getNode({
* type: "gateway",
* tags: {
* region: "us-west",
* env: "dev",
* },
* });
* ```
* <!--End PulumiCodeChooser -->
*/
export declare function getNodeOutput(args?: GetNodeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetNodeResult>;
/**
* A collection of arguments for invoking getNode.
*/
export interface GetNodeOutputArgs {
/**
* The hostname/port tuple which the gateway daemon will bind to. If not provided on create, set to "0.0.0.0:listen_address_port".
*/
bindAddress?: pulumi.Input<string | undefined>;
/**
* Unique identifier of the Relay.
*/
id?: pulumi.Input<string | undefined>;
/**
* The public hostname/port tuple at which the gateway will be accessible to clients.
*/
listenAddress?: pulumi.Input<string | undefined>;
/**
* Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
*/
name?: pulumi.Input<string | undefined>;
/**
* Tags is a map of key, value pairs.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
} | undefined>;
/**
* a filter to select all items of a certain subtype. See the [filter documentation](https://docs.strongdm.com/references/cli/filters/) for more information.
*/
type?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getNode.d.ts.map