@pierskarsenbarg/sdm
Version:
A Pulumi package for creating and managing StrongDM cloud resources.
144 lines (143 loc) • 4.9 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 two types of nodes:
* 1. **Relay:** creates connectivity to your datasources, while maintaining the egress-only nature of your firewall
* 2. **Gateways:** a relay that also listens for connections from strongDM clients
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as sdm from "@pierskarsenbarg/sdm";
*
* const gatewayQuery = sdm.getNode({
* tags: {
* env: "dev",
* region: "us-west",
* },
* type: "gateway",
* });
* ```
*/
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://www.strongdm.com/docs/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 two types of nodes:
* 1. **Relay:** creates connectivity to your datasources, while maintaining the egress-only nature of your firewall
* 2. **Gateways:** a relay that also listens for connections from strongDM clients
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as sdm from "@pierskarsenbarg/sdm";
*
* const gatewayQuery = sdm.getNode({
* tags: {
* env: "dev",
* region: "us-west",
* },
* type: "gateway",
* });
* ```
*/
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>;
/**
* Unique identifier of the Relay.
*/
id?: pulumi.Input<string>;
/**
* The public hostname/port tuple at which the gateway will be accessible to clients.
*/
listenAddress?: pulumi.Input<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?: pulumi.Input<string>;
/**
* Tags is a map of key, value pairs.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* a filter to select all items of a certain subtype. See the [filter documentation](https://www.strongdm.com/docs/cli/filters/) for more information.
*/
type?: pulumi.Input<string>;
}