/
provider.ts
119 lines (112 loc) · 5.14 KB
/
provider.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
// *** 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! ***
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
import * as utilities from "./utilities";
/**
* The provider type for the postgresql package. By default, resources use package-wide configuration
* settings, however an explicit `Provider` instance may be created and passed during resource
* construction to achieve fine-grained programmatic control over provider settings. See the
* [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
*
* > This content is derived from https://github.com/terraform-providers/terraform-provider-postgresql/blob/master/website/docs/index.html.markdown.
*/
export class Provider extends pulumi.ProviderResource {
/** @internal */
public static readonly __pulumiType = 'postgresql';
/**
* Returns true if the given object is an instance of Provider. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is Provider {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === Provider.__pulumiType;
}
/**
* Create a Provider resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions) {
let inputs: pulumi.Inputs = {};
{
inputs["connectTimeout"] = pulumi.output((args ? args.connectTimeout : undefined) || utilities.getEnvNumber("PGCONNECT_TIMEOUT")).apply(JSON.stringify);
inputs["database"] = (args ? args.database : undefined) || utilities.getEnv("PGDATABASE");
inputs["databaseUsername"] = args ? args.databaseUsername : undefined;
inputs["expectedVersion"] = args ? args.expectedVersion : undefined;
inputs["host"] = (args ? args.host : undefined) || utilities.getEnv("PGHOST");
inputs["maxConnections"] = pulumi.output(args ? args.maxConnections : undefined).apply(JSON.stringify);
inputs["password"] = (args ? args.password : undefined) || utilities.getEnv("PGPASSWORD");
inputs["port"] = pulumi.output((args ? args.port : undefined) || (utilities.getEnvNumber("PGPORT") || 5432)).apply(JSON.stringify);
inputs["sslMode"] = args ? args.sslMode : undefined;
inputs["sslmode"] = (args ? args.sslmode : undefined) || utilities.getEnv("PGSSLMODE");
inputs["superuser"] = pulumi.output(args ? args.superuser : undefined).apply(JSON.stringify);
inputs["username"] = (args ? args.username : undefined) || utilities.getEnv("PGUSER");
}
if (!opts) {
opts = {}
}
if (!opts.version) {
opts.version = utilities.getVersion();
}
super(Provider.__pulumiType, name, inputs, opts);
}
}
/**
* The set of arguments for constructing a Provider resource.
*/
export interface ProviderArgs {
/**
* Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely.
*/
readonly connectTimeout?: pulumi.Input<number>;
/**
* The name of the database to connect to in order to conenct to (defaults to `postgres`).
*/
readonly database?: pulumi.Input<string>;
/**
* Database username associated to the connected user (for user name maps)
*/
readonly databaseUsername?: pulumi.Input<string>;
/**
* Specify the expected version of PostgreSQL.
*/
readonly expectedVersion?: pulumi.Input<string>;
/**
* Name of PostgreSQL server address to connect to
*/
readonly host?: pulumi.Input<string>;
/**
* Maximum number of connections to establish to the database. Zero means unlimited.
*/
readonly maxConnections?: pulumi.Input<number>;
/**
* Password to be used if the PostgreSQL server demands password authentication
*/
readonly password?: pulumi.Input<string>;
/**
* The PostgreSQL port number to connect to at the server host, or socket file name extension for Unix-domain
* connections
*/
readonly port?: pulumi.Input<number>;
readonly sslMode?: pulumi.Input<string>;
/**
* This option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the
* PostgreSQL server
*/
readonly sslmode?: pulumi.Input<string>;
/**
* Specify if the user to connect as is a Postgres superuser or not.If not, some feature might be disabled (e.g.:
* Refreshing state password from Postgres)
*/
readonly superuser?: pulumi.Input<boolean>;
/**
* PostgreSQL user name to connect as
*/
readonly username?: pulumi.Input<string>;
}