@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
348 lines (347 loc) • 13.6 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* ## 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}}
* ```
*
* ```sh
* $ pulumi import gcp:clouddomains/registration:Registration default {{project}}/{{location}}/{{domain_name}}
* ```
*
* ```sh
* $ 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.
*/
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 'effective_labels' 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
*/
readonly managementSettings: pulumi.Output<outputs.clouddomains.RegistrationManagementSettings>;
/**
* Output only. Name of the Registration resource, in the format projects/*/locations/*/registrations/<domain_name>.
*/
readonly name: pulumi.Output<string>;
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>[]>;
/**
* Required. Settings for contact information linked to the Registration.
* Structure is documented below.
*/
contactSettings?: pulumi.Input<inputs.clouddomains.RegistrationContactSettings>;
/**
* Output only. Time at which the automation was created.
*/
createTime?: pulumi.Input<string>;
/**
* Settings controlling the DNS configuration of the Registration.
*/
dnsSettings?: pulumi.Input<inputs.clouddomains.RegistrationDnsSettings>;
/**
* 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>[]>;
/**
* 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>;
}>;
/**
* Output only. Time at which the automation was updated.
*/
expireTime?: pulumi.Input<string>;
/**
* Output only. The set of issues with the Registration that require attention.
*/
issues?: pulumi.Input<pulumi.Input<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 'effective_labels' for all of the labels present on the
* resource.
*/
labels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The location for the resource
*/
location?: pulumi.Input<string>;
/**
* Settings for management of the Registration, including renewal, billing, and transfer
*/
managementSettings?: pulumi.Input<inputs.clouddomains.RegistrationManagementSettings>;
/**
* Output only. Name of the Registration resource, in the format projects/*/locations/*/registrations/<domain_name>.
*/
name?: pulumi.Input<string>;
project?: pulumi.Input<string>;
/**
* The combination of labels configured directly on the resource
* and default labels configured on the provider.
*/
pulumiLabels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Output only. The reason the domain registration failed. Only set for domains in REGISTRATION_FAILED state.
*/
registerFailureReason?: pulumi.Input<string>;
/**
* Output only. The current state of the Registration.
*/
state?: pulumi.Input<string>;
/**
* Output only. Set of options for the contactSettings.privacy field that this Registration supports.
*/
supportedPrivacies?: pulumi.Input<pulumi.Input<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.
*/
yearlyPrice?: pulumi.Input<inputs.clouddomains.RegistrationYearlyPrice>;
}
/**
* 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>[]>;
/**
* 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.
*/
dnsSettings?: pulumi.Input<inputs.clouddomains.RegistrationDnsSettings>;
/**
* 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>[]>;
/**
* 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 'effective_labels' for all of the labels present on the
* resource.
*/
labels?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The location for the resource
*/
location: pulumi.Input<string>;
/**
* Settings for management of the Registration, including renewal, billing, and transfer
*/
managementSettings?: pulumi.Input<inputs.clouddomains.RegistrationManagementSettings>;
project?: pulumi.Input<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.
*/
yearlyPrice: pulumi.Input<inputs.clouddomains.RegistrationYearlyPrice>;
}