UNPKG

@pulumi/dnsimple

Version:

A Pulumi package for creating and managing dnsimple cloud resources.

256 lines 8.87 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, Object.assign(Object.assign({}, 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 ? state.accountId : undefined; resourceInputs["address1"] = state ? state.address1 : undefined; resourceInputs["address2"] = state ? state.address2 : undefined; resourceInputs["city"] = state ? state.city : undefined; resourceInputs["country"] = state ? state.country : undefined; resourceInputs["createdAt"] = state ? state.createdAt : undefined; resourceInputs["email"] = state ? state.email : undefined; resourceInputs["fax"] = state ? state.fax : undefined; resourceInputs["faxNormalized"] = state ? state.faxNormalized : undefined; resourceInputs["firstName"] = state ? state.firstName : undefined; resourceInputs["jobTitle"] = state ? state.jobTitle : undefined; resourceInputs["label"] = state ? state.label : undefined; resourceInputs["lastName"] = state ? state.lastName : undefined; resourceInputs["organizationName"] = state ? state.organizationName : undefined; resourceInputs["phone"] = state ? state.phone : undefined; resourceInputs["phoneNormalized"] = state ? state.phoneNormalized : undefined; resourceInputs["postalCode"] = state ? state.postalCode : undefined; resourceInputs["stateProvince"] = state ? state.stateProvince : undefined; resourceInputs["updatedAt"] = state ? state.updatedAt : undefined; } else { const args = argsOrState; if ((!args || args.address1 === undefined) && !opts.urn) { throw new Error("Missing required property 'address1'"); } if ((!args || args.city === undefined) && !opts.urn) { throw new Error("Missing required property 'city'"); } if ((!args || args.country === undefined) && !opts.urn) { throw new Error("Missing required property 'country'"); } if ((!args || args.email === undefined) && !opts.urn) { throw new Error("Missing required property 'email'"); } if ((!args || args.firstName === undefined) && !opts.urn) { throw new Error("Missing required property 'firstName'"); } if ((!args || args.lastName === undefined) && !opts.urn) { throw new Error("Missing required property 'lastName'"); } if ((!args || args.phone === undefined) && !opts.urn) { throw new Error("Missing required property 'phone'"); } if ((!args || args.postalCode === undefined) && !opts.urn) { throw new Error("Missing required property 'postalCode'"); } if ((!args || args.stateProvince === undefined) && !opts.urn) { throw new Error("Missing required property 'stateProvince'"); } resourceInputs["address1"] = args ? args.address1 : undefined; resourceInputs["address2"] = args ? args.address2 : undefined; resourceInputs["city"] = args ? args.city : undefined; resourceInputs["country"] = args ? args.country : undefined; resourceInputs["email"] = args ? args.email : undefined; resourceInputs["fax"] = args ? args.fax : undefined; resourceInputs["firstName"] = args ? args.firstName : undefined; resourceInputs["jobTitle"] = args ? args.jobTitle : undefined; resourceInputs["label"] = args ? args.label : undefined; resourceInputs["lastName"] = args ? args.lastName : undefined; resourceInputs["organizationName"] = args ? args.organizationName : undefined; resourceInputs["phone"] = args ? args.phone : undefined; resourceInputs["postalCode"] = args ? args.postalCode : undefined; resourceInputs["stateProvince"] = args ? args.stateProvince : undefined; 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