UNPKG

@pulumi/dnsimple

Version:

A Pulumi package for creating and managing dnsimple cloud resources.

256 lines 8.14 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.Contact = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("./utilities"); /** * Provides a DNSimple contact resource. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as dnsimple from "@pulumi/dnsimple"; * * // Create a contact * const me = new dnsimple.Contact("me", { * label: "Apple Appleseed", * firstName: "Apple", * lastName: "Appleseed", * organizationName: "Contoso", * jobTitle: "Manager", * address1: "Level 1, 2 Main St", * address2: "Marsfield", * city: "San Francisco", * stateProvince: "California", * postalCode: "90210", * country: "US", * phone: "+1401239523", * fax: "+1849491024", * email: "apple@contoso.com", * }); * ``` * * ## Import * * DNSimple contacts can be imported using their numeric ID. * * bash * * ```sh * $ pulumi import dnsimple:index/contact:Contact resource_name 5678 * ``` * * 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. * * bash * * curl -u 'EMAIL:PASSWORD' https://api.dnsimple.com/v2/1234/contacts?label_like=example.com | jq * * { * * "data": [ * * { * * "id": 1, * * "account_id": 1010, * * "label": "Default", * * "first_name": "First", * * "last_name": "User", * * "job_title": "CEO", * * "organization_name": "Awesome Company", * * "email": "first@example.com", * * "phone": "+18001234567", * * "fax": "+18011234567", * * "address1": "Italian Street, 10", * * "address2": "", * * "city": "Roma", * * "state_province": "RM", * * "postal_code": "00100", * * "country": "IT", * * "created_at": "2013-11-08T17:23:15Z", * * "updated_at": "2015-01-08T21:30:50Z" * * }, * * { * * "id": 2, * * "account_id": 1010, * * "label": "", * * "first_name": "Second", * * "last_name": "User", * * "job_title": "", * * "organization_name": "", * * "email": "second@example.com", * * "phone": "+18881234567", * * "fax": "", * * "address1": "French Street", * * "address2": "c/o Someone", * * "city": "Paris", * * "state_province": "XY", * * "postal_code": "00200", * * "country": "FR", * * "created_at": "2014-12-06T15:46:18Z", * * "updated_at": "2014-12-06T15:46:18Z" * * } * * ], * * "pagination": { * * "current_page": 1, * * "per_page": 30, * * "total_entries": 2, * * "total_pages": 1 * * } * * } */ class Contact extends pulumi.CustomResource { /** * Get an existing Contact 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 Contact(name, state, { ...opts, id: id }); } /** * Returns true if the given object is an instance of Contact. 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'] === Contact.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["accountId"] = state?.accountId; resourceInputs["address1"] = state?.address1; resourceInputs["address2"] = state?.address2; resourceInputs["city"] = state?.city; resourceInputs["country"] = state?.country; resourceInputs["createdAt"] = state?.createdAt; resourceInputs["email"] = state?.email; resourceInputs["fax"] = state?.fax; resourceInputs["faxNormalized"] = state?.faxNormalized; resourceInputs["firstName"] = state?.firstName; resourceInputs["jobTitle"] = state?.jobTitle; resourceInputs["label"] = state?.label; resourceInputs["lastName"] = state?.lastName; resourceInputs["organizationName"] = state?.organizationName; resourceInputs["phone"] = state?.phone; resourceInputs["phoneNormalized"] = state?.phoneNormalized; resourceInputs["postalCode"] = state?.postalCode; resourceInputs["stateProvince"] = state?.stateProvince; resourceInputs["updatedAt"] = state?.updatedAt; } else { const args = argsOrState; if (args?.address1 === undefined && !opts.urn) { throw new Error("Missing required property 'address1'"); } if (args?.city === undefined && !opts.urn) { throw new Error("Missing required property 'city'"); } if (args?.country === undefined && !opts.urn) { throw new Error("Missing required property 'country'"); } if (args?.email === undefined && !opts.urn) { throw new Error("Missing required property 'email'"); } if (args?.firstName === undefined && !opts.urn) { throw new Error("Missing required property 'firstName'"); } if (args?.lastName === undefined && !opts.urn) { throw new Error("Missing required property 'lastName'"); } if (args?.phone === undefined && !opts.urn) { throw new Error("Missing required property 'phone'"); } if (args?.postalCode === undefined && !opts.urn) { throw new Error("Missing required property 'postalCode'"); } if (args?.stateProvince === undefined && !opts.urn) { throw new Error("Missing required property 'stateProvince'"); } resourceInputs["address1"] = args?.address1; resourceInputs["address2"] = args?.address2; resourceInputs["city"] = args?.city; resourceInputs["country"] = args?.country; resourceInputs["email"] = args?.email; resourceInputs["fax"] = args?.fax; resourceInputs["firstName"] = args?.firstName; resourceInputs["jobTitle"] = args?.jobTitle; resourceInputs["label"] = args?.label; resourceInputs["lastName"] = args?.lastName; resourceInputs["organizationName"] = args?.organizationName; resourceInputs["phone"] = args?.phone; resourceInputs["postalCode"] = args?.postalCode; resourceInputs["stateProvince"] = args?.stateProvince; resourceInputs["accountId"] = undefined /*out*/; resourceInputs["createdAt"] = undefined /*out*/; resourceInputs["faxNormalized"] = undefined /*out*/; resourceInputs["phoneNormalized"] = undefined /*out*/; resourceInputs["updatedAt"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Contact.__pulumiType, name, resourceInputs, opts); } } exports.Contact = Contact; /** @internal */ Contact.__pulumiType = 'dnsimple:index/contact:Contact'; //# sourceMappingURL=contact.js.map