@pulumi/dnsimple
Version:
A Pulumi package for creating and managing dnsimple cloud resources.
256 lines • 8.14 kB
JavaScript
;
// *** 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