@pulumi/dnsimple 3.5.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![NPM version](https://badge.fury.io/js/%40pulumi%2Fdnsimple.svg)](https://www.npmjs.com/package/@pulumi/dnsimple)
4
4
  [![Python version](https://badge.fury.io/py/pulumi-dnsimple.svg)](https://pypi.org/project/pulumi-dnsimple)
5
5
  [![NuGet version](https://badge.fury.io/nu/pulumi.dnsimple.svg)](https://badge.fury.io/nu/pulumi.dnsimple)
6
- [![PkgGoDev](https://pkg.go.dev/badge/github.com/pulumi/pulumi-dnsimple/sdk/v3/go)](https://pkg.go.dev/github.com/pulumi/pulumi-dnsimple/sdk/v3/go)
6
+ [![PkgGoDev](https://pkg.go.dev/badge/github.com/pulumi/pulumi-dnsimple/sdk/v4/go)](https://pkg.go.dev/github.com/pulumi/pulumi-dnsimple/sdk/v4/go)
7
7
  [![License](https://img.shields.io/npm/l/%40pulumi%2Fpulumi.svg)](https://github.com/pulumi/pulumi-dnsimple/blob/master/LICENSE)
8
8
 
9
9
  # dnsimple Resource Provider
@@ -35,7 +35,7 @@ To use from Python, install using `pip`:
35
35
 
36
36
  To use from Go, use `go get` to grab the latest version of the library
37
37
 
38
- $ go get github.com/pulumi/pulumi-dnsimple/sdk/v3
38
+ $ go get github.com/pulumi/pulumi-dnsimple/sdk/v4
39
39
 
40
40
  ### .NET
41
41
 
package/contact.d.ts ADDED
@@ -0,0 +1,394 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Provides a DNSimple contact resource.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as dnsimple from "@pulumi/dnsimple";
10
+ *
11
+ * // Create a contact
12
+ * const me = new dnsimple.Contact("me", {
13
+ * label: "Apple Appleseed",
14
+ * firstName: "Apple",
15
+ * lastName: "Appleseed",
16
+ * organizationName: "Contoso",
17
+ * jobTitle: "Manager",
18
+ * address1: "Level 1, 2 Main St",
19
+ * address2: "Marsfield",
20
+ * city: "San Francisco",
21
+ * stateProvince: "California",
22
+ * postalCode: "90210",
23
+ * country: "US",
24
+ * phone: "+1401239523",
25
+ * fax: "+1849491024",
26
+ * email: "apple@contoso.com",
27
+ * });
28
+ * ```
29
+ *
30
+ * ## Import
31
+ *
32
+ * DNSimple contacts can be imported using their numeric ID.
33
+ *
34
+ * bash
35
+ *
36
+ * ```sh
37
+ * $ pulumi import dnsimple:index/contact:Contact resource_name 5678
38
+ * ```
39
+ *
40
+ * The ID can be found within [DNSimple Contacts API](https://developer.dnsimple.com/v2/contacts/#listContacts). Check out [Authentication](https://developer.dnsimple.com/v2/#authentication) in API Overview for available options.
41
+ *
42
+ * bash
43
+ *
44
+ * curl -u 'EMAIL:PASSWORD' https://api.dnsimple.com/v2/1234/contacts?label_like=example.com | jq
45
+ *
46
+ * {
47
+ *
48
+ * "data": [
49
+ *
50
+ * {
51
+ *
52
+ * "id": 1,
53
+ *
54
+ * "account_id": 1010,
55
+ *
56
+ * "label": "Default",
57
+ *
58
+ * "first_name": "First",
59
+ *
60
+ * "last_name": "User",
61
+ *
62
+ * "job_title": "CEO",
63
+ *
64
+ * "organization_name": "Awesome Company",
65
+ *
66
+ * "email": "first@example.com",
67
+ *
68
+ * "phone": "+18001234567",
69
+ *
70
+ * "fax": "+18011234567",
71
+ *
72
+ * "address1": "Italian Street, 10",
73
+ *
74
+ * "address2": "",
75
+ *
76
+ * "city": "Roma",
77
+ *
78
+ * "state_province": "RM",
79
+ *
80
+ * "postal_code": "00100",
81
+ *
82
+ * "country": "IT",
83
+ *
84
+ * "created_at": "2013-11-08T17:23:15Z",
85
+ *
86
+ * "updated_at": "2015-01-08T21:30:50Z"
87
+ *
88
+ * },
89
+ *
90
+ * {
91
+ *
92
+ * "id": 2,
93
+ *
94
+ * "account_id": 1010,
95
+ *
96
+ * "label": "",
97
+ *
98
+ * "first_name": "Second",
99
+ *
100
+ * "last_name": "User",
101
+ *
102
+ * "job_title": "",
103
+ *
104
+ * "organization_name": "",
105
+ *
106
+ * "email": "second@example.com",
107
+ *
108
+ * "phone": "+18881234567",
109
+ *
110
+ * "fax": "",
111
+ *
112
+ * "address1": "French Street",
113
+ *
114
+ * "address2": "c/o Someone",
115
+ *
116
+ * "city": "Paris",
117
+ *
118
+ * "state_province": "XY",
119
+ *
120
+ * "postal_code": "00200",
121
+ *
122
+ * "country": "FR",
123
+ *
124
+ * "created_at": "2014-12-06T15:46:18Z",
125
+ *
126
+ * "updated_at": "2014-12-06T15:46:18Z"
127
+ *
128
+ * }
129
+ *
130
+ * ],
131
+ *
132
+ * "pagination": {
133
+ *
134
+ * "current_page": 1,
135
+ *
136
+ * "per_page": 30,
137
+ *
138
+ * "total_entries": 2,
139
+ *
140
+ * "total_pages": 1
141
+ *
142
+ * }
143
+ *
144
+ * }
145
+ */
146
+ export declare class Contact extends pulumi.CustomResource {
147
+ /**
148
+ * Get an existing Contact resource's state with the given name, ID, and optional extra
149
+ * properties used to qualify the lookup.
150
+ *
151
+ * @param name The _unique_ name of the resulting resource.
152
+ * @param id The _unique_ provider ID of the resource to lookup.
153
+ * @param state Any extra arguments used during the lookup.
154
+ * @param opts Optional settings to control the behavior of the CustomResource.
155
+ */
156
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ContactState, opts?: pulumi.CustomResourceOptions): Contact;
157
+ /**
158
+ * Returns true if the given object is an instance of Contact. This is designed to work even
159
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
160
+ */
161
+ static isInstance(obj: any): obj is Contact;
162
+ /**
163
+ * The account ID for the contact.
164
+ */
165
+ readonly accountId: pulumi.Output<number>;
166
+ /**
167
+ * Address line 1
168
+ */
169
+ readonly address1: pulumi.Output<string>;
170
+ /**
171
+ * Address line 2
172
+ */
173
+ readonly address2: pulumi.Output<string>;
174
+ /**
175
+ * City
176
+ */
177
+ readonly city: pulumi.Output<string>;
178
+ /**
179
+ * Country
180
+ */
181
+ readonly country: pulumi.Output<string>;
182
+ /**
183
+ * Timestamp representing when this contact was created.
184
+ */
185
+ readonly createdAt: pulumi.Output<string>;
186
+ /**
187
+ * Email
188
+ *
189
+ * # Attributes Reference
190
+ */
191
+ readonly email: pulumi.Output<string>;
192
+ /**
193
+ * Fax
194
+ */
195
+ readonly fax: pulumi.Output<string>;
196
+ /**
197
+ * The fax number, normalized.
198
+ */
199
+ readonly faxNormalized: pulumi.Output<string>;
200
+ /**
201
+ * First name
202
+ */
203
+ readonly firstName: pulumi.Output<string>;
204
+ /**
205
+ * Job title
206
+ */
207
+ readonly jobTitle: pulumi.Output<string>;
208
+ /**
209
+ * Label
210
+ */
211
+ readonly label: pulumi.Output<string>;
212
+ /**
213
+ * Last name
214
+ */
215
+ readonly lastName: pulumi.Output<string>;
216
+ /**
217
+ * Organization name
218
+ */
219
+ readonly organizationName: pulumi.Output<string>;
220
+ /**
221
+ * Phone
222
+ */
223
+ readonly phone: pulumi.Output<string>;
224
+ /**
225
+ * The phone number, normalized.
226
+ */
227
+ readonly phoneNormalized: pulumi.Output<string>;
228
+ /**
229
+ * Postal code
230
+ */
231
+ readonly postalCode: pulumi.Output<string>;
232
+ /**
233
+ * State province
234
+ */
235
+ readonly stateProvince: pulumi.Output<string>;
236
+ /**
237
+ * Timestamp representing when this contact was updated.
238
+ */
239
+ readonly updatedAt: pulumi.Output<string>;
240
+ /**
241
+ * Create a Contact resource with the given unique name, arguments, and options.
242
+ *
243
+ * @param name The _unique_ name of the resource.
244
+ * @param args The arguments to use to populate this resource's properties.
245
+ * @param opts A bag of options that control this resource's behavior.
246
+ */
247
+ constructor(name: string, args: ContactArgs, opts?: pulumi.CustomResourceOptions);
248
+ }
249
+ /**
250
+ * Input properties used for looking up and filtering Contact resources.
251
+ */
252
+ export interface ContactState {
253
+ /**
254
+ * The account ID for the contact.
255
+ */
256
+ accountId?: pulumi.Input<number>;
257
+ /**
258
+ * Address line 1
259
+ */
260
+ address1?: pulumi.Input<string>;
261
+ /**
262
+ * Address line 2
263
+ */
264
+ address2?: pulumi.Input<string>;
265
+ /**
266
+ * City
267
+ */
268
+ city?: pulumi.Input<string>;
269
+ /**
270
+ * Country
271
+ */
272
+ country?: pulumi.Input<string>;
273
+ /**
274
+ * Timestamp representing when this contact was created.
275
+ */
276
+ createdAt?: pulumi.Input<string>;
277
+ /**
278
+ * Email
279
+ *
280
+ * # Attributes Reference
281
+ */
282
+ email?: pulumi.Input<string>;
283
+ /**
284
+ * Fax
285
+ */
286
+ fax?: pulumi.Input<string>;
287
+ /**
288
+ * The fax number, normalized.
289
+ */
290
+ faxNormalized?: pulumi.Input<string>;
291
+ /**
292
+ * First name
293
+ */
294
+ firstName?: pulumi.Input<string>;
295
+ /**
296
+ * Job title
297
+ */
298
+ jobTitle?: pulumi.Input<string>;
299
+ /**
300
+ * Label
301
+ */
302
+ label?: pulumi.Input<string>;
303
+ /**
304
+ * Last name
305
+ */
306
+ lastName?: pulumi.Input<string>;
307
+ /**
308
+ * Organization name
309
+ */
310
+ organizationName?: pulumi.Input<string>;
311
+ /**
312
+ * Phone
313
+ */
314
+ phone?: pulumi.Input<string>;
315
+ /**
316
+ * The phone number, normalized.
317
+ */
318
+ phoneNormalized?: pulumi.Input<string>;
319
+ /**
320
+ * Postal code
321
+ */
322
+ postalCode?: pulumi.Input<string>;
323
+ /**
324
+ * State province
325
+ */
326
+ stateProvince?: pulumi.Input<string>;
327
+ /**
328
+ * Timestamp representing when this contact was updated.
329
+ */
330
+ updatedAt?: pulumi.Input<string>;
331
+ }
332
+ /**
333
+ * The set of arguments for constructing a Contact resource.
334
+ */
335
+ export interface ContactArgs {
336
+ /**
337
+ * Address line 1
338
+ */
339
+ address1: pulumi.Input<string>;
340
+ /**
341
+ * Address line 2
342
+ */
343
+ address2?: pulumi.Input<string>;
344
+ /**
345
+ * City
346
+ */
347
+ city: pulumi.Input<string>;
348
+ /**
349
+ * Country
350
+ */
351
+ country: pulumi.Input<string>;
352
+ /**
353
+ * Email
354
+ *
355
+ * # Attributes Reference
356
+ */
357
+ email: pulumi.Input<string>;
358
+ /**
359
+ * Fax
360
+ */
361
+ fax?: pulumi.Input<string>;
362
+ /**
363
+ * First name
364
+ */
365
+ firstName: pulumi.Input<string>;
366
+ /**
367
+ * Job title
368
+ */
369
+ jobTitle?: pulumi.Input<string>;
370
+ /**
371
+ * Label
372
+ */
373
+ label?: pulumi.Input<string>;
374
+ /**
375
+ * Last name
376
+ */
377
+ lastName: pulumi.Input<string>;
378
+ /**
379
+ * Organization name
380
+ */
381
+ organizationName?: pulumi.Input<string>;
382
+ /**
383
+ * Phone
384
+ */
385
+ phone: pulumi.Input<string>;
386
+ /**
387
+ * Postal code
388
+ */
389
+ postalCode: pulumi.Input<string>;
390
+ /**
391
+ * State province
392
+ */
393
+ stateProvince: pulumi.Input<string>;
394
+ }
package/contact.js ADDED
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Contact = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * Provides a DNSimple contact resource.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as dnsimple from "@pulumi/dnsimple";
16
+ *
17
+ * // Create a contact
18
+ * const me = new dnsimple.Contact("me", {
19
+ * label: "Apple Appleseed",
20
+ * firstName: "Apple",
21
+ * lastName: "Appleseed",
22
+ * organizationName: "Contoso",
23
+ * jobTitle: "Manager",
24
+ * address1: "Level 1, 2 Main St",
25
+ * address2: "Marsfield",
26
+ * city: "San Francisco",
27
+ * stateProvince: "California",
28
+ * postalCode: "90210",
29
+ * country: "US",
30
+ * phone: "+1401239523",
31
+ * fax: "+1849491024",
32
+ * email: "apple@contoso.com",
33
+ * });
34
+ * ```
35
+ *
36
+ * ## Import
37
+ *
38
+ * DNSimple contacts can be imported using their numeric ID.
39
+ *
40
+ * bash
41
+ *
42
+ * ```sh
43
+ * $ pulumi import dnsimple:index/contact:Contact resource_name 5678
44
+ * ```
45
+ *
46
+ * The ID can be found within [DNSimple Contacts API](https://developer.dnsimple.com/v2/contacts/#listContacts). Check out [Authentication](https://developer.dnsimple.com/v2/#authentication) in API Overview for available options.
47
+ *
48
+ * bash
49
+ *
50
+ * curl -u 'EMAIL:PASSWORD' https://api.dnsimple.com/v2/1234/contacts?label_like=example.com | jq
51
+ *
52
+ * {
53
+ *
54
+ * "data": [
55
+ *
56
+ * {
57
+ *
58
+ * "id": 1,
59
+ *
60
+ * "account_id": 1010,
61
+ *
62
+ * "label": "Default",
63
+ *
64
+ * "first_name": "First",
65
+ *
66
+ * "last_name": "User",
67
+ *
68
+ * "job_title": "CEO",
69
+ *
70
+ * "organization_name": "Awesome Company",
71
+ *
72
+ * "email": "first@example.com",
73
+ *
74
+ * "phone": "+18001234567",
75
+ *
76
+ * "fax": "+18011234567",
77
+ *
78
+ * "address1": "Italian Street, 10",
79
+ *
80
+ * "address2": "",
81
+ *
82
+ * "city": "Roma",
83
+ *
84
+ * "state_province": "RM",
85
+ *
86
+ * "postal_code": "00100",
87
+ *
88
+ * "country": "IT",
89
+ *
90
+ * "created_at": "2013-11-08T17:23:15Z",
91
+ *
92
+ * "updated_at": "2015-01-08T21:30:50Z"
93
+ *
94
+ * },
95
+ *
96
+ * {
97
+ *
98
+ * "id": 2,
99
+ *
100
+ * "account_id": 1010,
101
+ *
102
+ * "label": "",
103
+ *
104
+ * "first_name": "Second",
105
+ *
106
+ * "last_name": "User",
107
+ *
108
+ * "job_title": "",
109
+ *
110
+ * "organization_name": "",
111
+ *
112
+ * "email": "second@example.com",
113
+ *
114
+ * "phone": "+18881234567",
115
+ *
116
+ * "fax": "",
117
+ *
118
+ * "address1": "French Street",
119
+ *
120
+ * "address2": "c/o Someone",
121
+ *
122
+ * "city": "Paris",
123
+ *
124
+ * "state_province": "XY",
125
+ *
126
+ * "postal_code": "00200",
127
+ *
128
+ * "country": "FR",
129
+ *
130
+ * "created_at": "2014-12-06T15:46:18Z",
131
+ *
132
+ * "updated_at": "2014-12-06T15:46:18Z"
133
+ *
134
+ * }
135
+ *
136
+ * ],
137
+ *
138
+ * "pagination": {
139
+ *
140
+ * "current_page": 1,
141
+ *
142
+ * "per_page": 30,
143
+ *
144
+ * "total_entries": 2,
145
+ *
146
+ * "total_pages": 1
147
+ *
148
+ * }
149
+ *
150
+ * }
151
+ */
152
+ class Contact extends pulumi.CustomResource {
153
+ /**
154
+ * Get an existing Contact resource's state with the given name, ID, and optional extra
155
+ * properties used to qualify the lookup.
156
+ *
157
+ * @param name The _unique_ name of the resulting resource.
158
+ * @param id The _unique_ provider ID of the resource to lookup.
159
+ * @param state Any extra arguments used during the lookup.
160
+ * @param opts Optional settings to control the behavior of the CustomResource.
161
+ */
162
+ static get(name, id, state, opts) {
163
+ return new Contact(name, state, Object.assign(Object.assign({}, opts), { id: id }));
164
+ }
165
+ /**
166
+ * Returns true if the given object is an instance of Contact. This is designed to work even
167
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
168
+ */
169
+ static isInstance(obj) {
170
+ if (obj === undefined || obj === null) {
171
+ return false;
172
+ }
173
+ return obj['__pulumiType'] === Contact.__pulumiType;
174
+ }
175
+ constructor(name, argsOrState, opts) {
176
+ let resourceInputs = {};
177
+ opts = opts || {};
178
+ if (opts.id) {
179
+ const state = argsOrState;
180
+ resourceInputs["accountId"] = state ? state.accountId : undefined;
181
+ resourceInputs["address1"] = state ? state.address1 : undefined;
182
+ resourceInputs["address2"] = state ? state.address2 : undefined;
183
+ resourceInputs["city"] = state ? state.city : undefined;
184
+ resourceInputs["country"] = state ? state.country : undefined;
185
+ resourceInputs["createdAt"] = state ? state.createdAt : undefined;
186
+ resourceInputs["email"] = state ? state.email : undefined;
187
+ resourceInputs["fax"] = state ? state.fax : undefined;
188
+ resourceInputs["faxNormalized"] = state ? state.faxNormalized : undefined;
189
+ resourceInputs["firstName"] = state ? state.firstName : undefined;
190
+ resourceInputs["jobTitle"] = state ? state.jobTitle : undefined;
191
+ resourceInputs["label"] = state ? state.label : undefined;
192
+ resourceInputs["lastName"] = state ? state.lastName : undefined;
193
+ resourceInputs["organizationName"] = state ? state.organizationName : undefined;
194
+ resourceInputs["phone"] = state ? state.phone : undefined;
195
+ resourceInputs["phoneNormalized"] = state ? state.phoneNormalized : undefined;
196
+ resourceInputs["postalCode"] = state ? state.postalCode : undefined;
197
+ resourceInputs["stateProvince"] = state ? state.stateProvince : undefined;
198
+ resourceInputs["updatedAt"] = state ? state.updatedAt : undefined;
199
+ }
200
+ else {
201
+ const args = argsOrState;
202
+ if ((!args || args.address1 === undefined) && !opts.urn) {
203
+ throw new Error("Missing required property 'address1'");
204
+ }
205
+ if ((!args || args.city === undefined) && !opts.urn) {
206
+ throw new Error("Missing required property 'city'");
207
+ }
208
+ if ((!args || args.country === undefined) && !opts.urn) {
209
+ throw new Error("Missing required property 'country'");
210
+ }
211
+ if ((!args || args.email === undefined) && !opts.urn) {
212
+ throw new Error("Missing required property 'email'");
213
+ }
214
+ if ((!args || args.firstName === undefined) && !opts.urn) {
215
+ throw new Error("Missing required property 'firstName'");
216
+ }
217
+ if ((!args || args.lastName === undefined) && !opts.urn) {
218
+ throw new Error("Missing required property 'lastName'");
219
+ }
220
+ if ((!args || args.phone === undefined) && !opts.urn) {
221
+ throw new Error("Missing required property 'phone'");
222
+ }
223
+ if ((!args || args.postalCode === undefined) && !opts.urn) {
224
+ throw new Error("Missing required property 'postalCode'");
225
+ }
226
+ if ((!args || args.stateProvince === undefined) && !opts.urn) {
227
+ throw new Error("Missing required property 'stateProvince'");
228
+ }
229
+ resourceInputs["address1"] = args ? args.address1 : undefined;
230
+ resourceInputs["address2"] = args ? args.address2 : undefined;
231
+ resourceInputs["city"] = args ? args.city : undefined;
232
+ resourceInputs["country"] = args ? args.country : undefined;
233
+ resourceInputs["email"] = args ? args.email : undefined;
234
+ resourceInputs["fax"] = args ? args.fax : undefined;
235
+ resourceInputs["firstName"] = args ? args.firstName : undefined;
236
+ resourceInputs["jobTitle"] = args ? args.jobTitle : undefined;
237
+ resourceInputs["label"] = args ? args.label : undefined;
238
+ resourceInputs["lastName"] = args ? args.lastName : undefined;
239
+ resourceInputs["organizationName"] = args ? args.organizationName : undefined;
240
+ resourceInputs["phone"] = args ? args.phone : undefined;
241
+ resourceInputs["postalCode"] = args ? args.postalCode : undefined;
242
+ resourceInputs["stateProvince"] = args ? args.stateProvince : undefined;
243
+ resourceInputs["accountId"] = undefined /*out*/;
244
+ resourceInputs["createdAt"] = undefined /*out*/;
245
+ resourceInputs["faxNormalized"] = undefined /*out*/;
246
+ resourceInputs["phoneNormalized"] = undefined /*out*/;
247
+ resourceInputs["updatedAt"] = undefined /*out*/;
248
+ }
249
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
250
+ super(Contact.__pulumiType, name, resourceInputs, opts);
251
+ }
252
+ }
253
+ exports.Contact = Contact;
254
+ /** @internal */
255
+ Contact.__pulumiType = 'dnsimple:index/contact:Contact';
256
+ //# sourceMappingURL=contact.js.map
package/contact.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contact.js","sourceRoot":"","sources":["../contact.ts"],"names":[],"mappings":"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"}