UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

370 lines • 15.3 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Registers a new domain name and creates a corresponding Registration resource. * * To get more information about Registration, see: * * * [API documentation](https://cloud.google.com/domains/docs/reference/rest/v1/projects.locations.registrations) * * How-to Guides * * [Register a domain with Cloud Domains](https://cloud.google.com/domains/docs/buy-register-domain) * * > **Warning:** The Terraform implementation of this resource will not actually delete a Registration during * `terraform destroy`. Instead it will "abandon" the resource and remove it from state. * For information on deleting a registered domain, see https://cloud.google.com/domains/docs/delete-domain * * ## Example Usage * * ### Clouddomains Registration Full * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const myRegistration = new gcp.clouddomains.Registration("my_registration", { * domainName: "example-domain.com", * location: "global", * labels: { * labelkey: "labelvalue", * }, * yearlyPrice: { * currencyCode: "USD", * units: "12", * }, * dnsSettings: { * customDns: { * nameServers: [ * "ns-cloud-a1.googledomains.com.", * "ns-cloud-a2.googledomains.com.", * "ns-cloud-a3.googledomains.com.", * "ns-cloud-a4.googledomains.com.", * ], * }, * }, * contactSettings: { * privacy: "REDACTED_CONTACT_DATA", * registrantContact: { * phoneNumber: "+12345000000", * email: "user@example.com", * postalAddress: { * regionCode: "US", * postalCode: "95050", * administrativeArea: "CA", * locality: "Example City", * addressLines: ["1234 Example street"], * recipients: ["example recipient"], * }, * }, * adminContact: { * phoneNumber: "+12345000000", * email: "user@example.com", * postalAddress: { * regionCode: "US", * postalCode: "95050", * administrativeArea: "CA", * locality: "Example City", * addressLines: ["1234 Example street"], * recipients: ["example recipient"], * }, * }, * technicalContact: { * phoneNumber: "+12345000000", * email: "user@example.com", * postalAddress: { * regionCode: "US", * postalCode: "95050", * administrativeArea: "CA", * locality: "Example City", * addressLines: ["1234 Example street"], * recipients: ["example recipient"], * }, * }, * }, * }); * ``` * * ## Import * * Registration can be imported using any of these accepted formats: * * * `projects/{{project}}/locations/{{location}}/registrations/{{domain_name}}` * * `{{project}}/{{location}}/{{domain_name}}` * * `{{location}}/{{domain_name}}` * * When using the `pulumi import` command, Registration can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:clouddomains/registration:Registration default projects/{{project}}/locations/{{location}}/registrations/{{domain_name}} * $ pulumi import gcp:clouddomains/registration:Registration default {{project}}/{{location}}/{{domain_name}} * $ pulumi import gcp:clouddomains/registration:Registration default {{location}}/{{domain_name}} * ``` */ export declare class Registration extends pulumi.CustomResource { /** * Get an existing Registration 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: string, id: pulumi.Input<pulumi.ID>, state?: RegistrationState, opts?: pulumi.CustomResourceOptions): Registration; /** * Returns true if the given object is an instance of Registration. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Registration; /** * The list of contact notices that the caller acknowledges. Possible value is PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT */ readonly contactNotices: pulumi.Output<string[] | undefined>; /** * Required. Settings for contact information linked to the Registration. * Structure is documented below. */ readonly contactSettings: pulumi.Output<outputs.clouddomains.RegistrationContactSettings>; /** * Output only. Time at which the automation was created. */ readonly createTime: pulumi.Output<string>; /** * Settings controlling the DNS configuration of the Registration. * Structure is documented below. */ readonly dnsSettings: pulumi.Output<outputs.clouddomains.RegistrationDnsSettings | undefined>; /** * Required. The domain name. Unicode domain names must be expressed in Punycode format. */ readonly domainName: pulumi.Output<string>; /** * The list of domain notices that you acknowledge. Possible value is HSTS_PRELOADED */ readonly domainNotices: pulumi.Output<string[] | undefined>; /** * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services. */ readonly effectiveLabels: pulumi.Output<{ [key: string]: string; }>; /** * Output only. Time at which the automation was updated. */ readonly expireTime: pulumi.Output<string>; /** * Output only. The set of issues with the Registration that require attention. */ readonly issues: pulumi.Output<string[]>; /** * Set of labels associated with the Registration. * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field `effectiveLabels` for all of the labels present on the resource. */ readonly labels: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The location for the resource */ readonly location: pulumi.Output<string>; /** * Settings for management of the Registration, including renewal, billing, and transfer * Structure is documented below. */ readonly managementSettings: pulumi.Output<outputs.clouddomains.RegistrationManagementSettings>; /** * Output only. Name of the Registration resource, in the format projects/*&#47;locations/*&#47;registrations/<domain_name>. */ readonly name: pulumi.Output<string>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ readonly project: pulumi.Output<string>; /** * The combination of labels configured directly on the resource * and default labels configured on the provider. */ readonly pulumiLabels: pulumi.Output<{ [key: string]: string; }>; /** * Output only. The reason the domain registration failed. Only set for domains in REGISTRATION_FAILED state. */ readonly registerFailureReason: pulumi.Output<string>; /** * Output only. The current state of the Registration. */ readonly state: pulumi.Output<string>; /** * Output only. Set of options for the contactSettings.privacy field that this Registration supports. */ readonly supportedPrivacies: pulumi.Output<string[]>; /** * Required. Yearly price to register or renew the domain. The value that should be put here can be obtained from * registrations.retrieveRegisterParameters or registrations.searchDomains calls. * Structure is documented below. */ readonly yearlyPrice: pulumi.Output<outputs.clouddomains.RegistrationYearlyPrice>; /** * Create a Registration 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: RegistrationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Registration resources. */ export interface RegistrationState { /** * The list of contact notices that the caller acknowledges. Possible value is PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT */ contactNotices?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Required. Settings for contact information linked to the Registration. * Structure is documented below. */ contactSettings?: pulumi.Input<inputs.clouddomains.RegistrationContactSettings | undefined>; /** * Output only. Time at which the automation was created. */ createTime?: pulumi.Input<string | undefined>; /** * Settings controlling the DNS configuration of the Registration. * Structure is documented below. */ dnsSettings?: pulumi.Input<inputs.clouddomains.RegistrationDnsSettings | undefined>; /** * Required. The domain name. Unicode domain names must be expressed in Punycode format. */ domainName?: pulumi.Input<string | undefined>; /** * The list of domain notices that you acknowledge. Possible value is HSTS_PRELOADED */ domainNotices?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services. */ effectiveLabels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; } | undefined>; /** * Output only. Time at which the automation was updated. */ expireTime?: pulumi.Input<string | undefined>; /** * Output only. The set of issues with the Registration that require attention. */ issues?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Set of labels associated with the Registration. * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field `effectiveLabels` for all of the labels present on the resource. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; } | undefined>; /** * The location for the resource */ location?: pulumi.Input<string | undefined>; /** * Settings for management of the Registration, including renewal, billing, and transfer * Structure is documented below. */ managementSettings?: pulumi.Input<inputs.clouddomains.RegistrationManagementSettings | undefined>; /** * Output only. Name of the Registration resource, in the format projects/*&#47;locations/*&#47;registrations/<domain_name>. */ name?: pulumi.Input<string | undefined>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string | undefined>; /** * The combination of labels configured directly on the resource * and default labels configured on the provider. */ pulumiLabels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; } | undefined>; /** * Output only. The reason the domain registration failed. Only set for domains in REGISTRATION_FAILED state. */ registerFailureReason?: pulumi.Input<string | undefined>; /** * Output only. The current state of the Registration. */ state?: pulumi.Input<string | undefined>; /** * Output only. Set of options for the contactSettings.privacy field that this Registration supports. */ supportedPrivacies?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Required. Yearly price to register or renew the domain. The value that should be put here can be obtained from * registrations.retrieveRegisterParameters or registrations.searchDomains calls. * Structure is documented below. */ yearlyPrice?: pulumi.Input<inputs.clouddomains.RegistrationYearlyPrice | undefined>; } /** * The set of arguments for constructing a Registration resource. */ export interface RegistrationArgs { /** * The list of contact notices that the caller acknowledges. Possible value is PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT */ contactNotices?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Required. Settings for contact information linked to the Registration. * Structure is documented below. */ contactSettings: pulumi.Input<inputs.clouddomains.RegistrationContactSettings>; /** * Settings controlling the DNS configuration of the Registration. * Structure is documented below. */ dnsSettings?: pulumi.Input<inputs.clouddomains.RegistrationDnsSettings | undefined>; /** * Required. The domain name. Unicode domain names must be expressed in Punycode format. */ domainName: pulumi.Input<string>; /** * The list of domain notices that you acknowledge. Possible value is HSTS_PRELOADED */ domainNotices?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Set of labels associated with the Registration. * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field `effectiveLabels` for all of the labels present on the resource. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; } | undefined>; /** * The location for the resource */ location: pulumi.Input<string>; /** * Settings for management of the Registration, including renewal, billing, and transfer * Structure is documented below. */ managementSettings?: pulumi.Input<inputs.clouddomains.RegistrationManagementSettings | undefined>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string | undefined>; /** * Required. Yearly price to register or renew the domain. The value that should be put here can be obtained from * registrations.retrieveRegisterParameters or registrations.searchDomains calls. * Structure is documented below. */ yearlyPrice: pulumi.Input<inputs.clouddomains.RegistrationYearlyPrice>; } //# sourceMappingURL=registration.d.ts.map