github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/route53domains/registeredDomain.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package route53domains
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Provides a resource to manage a domain that has been [registered](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html) and associated with the current AWS account.
    16  //
    17  // **This is an advanced resource** and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.
    18  //
    19  // The `route53domains.RegisteredDomain` resource behaves differently from normal resources in that if a domain has been registered, the provider does not _register_ this domain, but instead "adopts" it into management. A destroy does not delete the domain but does remove the resource from state.
    20  //
    21  // ## Example Usage
    22  //
    23  // <!--Start PulumiCodeChooser -->
    24  // ```go
    25  // package main
    26  //
    27  // import (
    28  //
    29  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/route53domains"
    30  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    31  //
    32  // )
    33  //
    34  //	func main() {
    35  //		pulumi.Run(func(ctx *pulumi.Context) error {
    36  //			_, err := route53domains.NewRegisteredDomain(ctx, "example", &route53domains.RegisteredDomainArgs{
    37  //				DomainName: pulumi.String("example.com"),
    38  //				NameServers: route53domains.RegisteredDomainNameServerArray{
    39  //					&route53domains.RegisteredDomainNameServerArgs{
    40  //						Name: pulumi.String("ns-195.awsdns-24.com"),
    41  //					},
    42  //					&route53domains.RegisteredDomainNameServerArgs{
    43  //						Name: pulumi.String("ns-874.awsdns-45.net"),
    44  //					},
    45  //				},
    46  //				Tags: pulumi.StringMap{
    47  //					"Environment": pulumi.String("test"),
    48  //				},
    49  //			})
    50  //			if err != nil {
    51  //				return err
    52  //			}
    53  //			return nil
    54  //		})
    55  //	}
    56  //
    57  // ```
    58  // <!--End PulumiCodeChooser -->
    59  //
    60  // ## Import
    61  //
    62  // Using `pulumi import`, import domains using the domain name. For example:
    63  //
    64  // ```sh
    65  // $ pulumi import aws:route53domains/registeredDomain:RegisteredDomain example example.com
    66  // ```
    67  type RegisteredDomain struct {
    68  	pulumi.CustomResourceState
    69  
    70  	// Email address to contact to report incorrect contact information for a domain, to report that the domain is being used to send spam, to report that someone is cybersquatting on a domain name, or report some other type of abuse.
    71  	AbuseContactEmail pulumi.StringOutput `pulumi:"abuseContactEmail"`
    72  	// Phone number for reporting abuse.
    73  	AbuseContactPhone pulumi.StringOutput `pulumi:"abuseContactPhone"`
    74  	// Details about the domain administrative contact. See Contact Blocks for more details.
    75  	AdminContact RegisteredDomainAdminContactOutput `pulumi:"adminContact"`
    76  	// Whether domain administrative contact information is concealed from WHOIS queries. Default: `true`.
    77  	AdminPrivacy pulumi.BoolPtrOutput `pulumi:"adminPrivacy"`
    78  	// Whether the domain registration is set to renew automatically. Default: `true`.
    79  	AutoRenew pulumi.BoolPtrOutput `pulumi:"autoRenew"`
    80  	// Details about the domain billing contact. See Contact Blocks for more details.
    81  	BillingContact RegisteredDomainBillingContactOutput `pulumi:"billingContact"`
    82  	// Whether domain billing contact information is concealed from WHOIS queries. Default: `true`.
    83  	BillingPrivacy pulumi.BoolPtrOutput `pulumi:"billingPrivacy"`
    84  	// The date when the domain was created as found in the response to a WHOIS query.
    85  	CreationDate pulumi.StringOutput `pulumi:"creationDate"`
    86  	// The name of the registered domain.
    87  	DomainName pulumi.StringOutput `pulumi:"domainName"`
    88  	// The date when the registration for the domain is set to expire.
    89  	ExpirationDate pulumi.StringOutput `pulumi:"expirationDate"`
    90  	// The list of nameservers for the domain. See `nameServer` Blocks for more details.
    91  	NameServers RegisteredDomainNameServerArrayOutput `pulumi:"nameServers"`
    92  	// Details about the domain registrant. See Contact Blocks for more details.
    93  	RegistrantContact RegisteredDomainRegistrantContactOutput `pulumi:"registrantContact"`
    94  	// Whether domain registrant contact information is concealed from WHOIS queries. Default: `true`.
    95  	RegistrantPrivacy pulumi.BoolPtrOutput `pulumi:"registrantPrivacy"`
    96  	// Name of the registrar of the domain as identified in the registry.
    97  	RegistrarName pulumi.StringOutput `pulumi:"registrarName"`
    98  	// Web address of the registrar.
    99  	RegistrarUrl pulumi.StringOutput `pulumi:"registrarUrl"`
   100  	// Reseller of the domain.
   101  	Reseller pulumi.StringOutput `pulumi:"reseller"`
   102  	// List of [domain name status codes](https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en).
   103  	StatusLists pulumi.StringArrayOutput `pulumi:"statusLists"`
   104  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   105  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   106  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   107  	//
   108  	// Deprecated: Please use `tags` instead.
   109  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   110  	// Details about the domain technical contact. See Contact Blocks for more details.
   111  	TechContact RegisteredDomainTechContactOutput `pulumi:"techContact"`
   112  	// Whether domain technical contact information is concealed from WHOIS queries. Default: `true`.
   113  	TechPrivacy pulumi.BoolPtrOutput `pulumi:"techPrivacy"`
   114  	// Whether the domain is locked for transfer. Default: `true`.
   115  	TransferLock pulumi.BoolPtrOutput `pulumi:"transferLock"`
   116  	// The last updated date of the domain as found in the response to a WHOIS query.
   117  	UpdatedDate pulumi.StringOutput `pulumi:"updatedDate"`
   118  	// The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain.
   119  	WhoisServer pulumi.StringOutput `pulumi:"whoisServer"`
   120  }
   121  
   122  // NewRegisteredDomain registers a new resource with the given unique name, arguments, and options.
   123  func NewRegisteredDomain(ctx *pulumi.Context,
   124  	name string, args *RegisteredDomainArgs, opts ...pulumi.ResourceOption) (*RegisteredDomain, error) {
   125  	if args == nil {
   126  		return nil, errors.New("missing one or more required arguments")
   127  	}
   128  
   129  	if args.DomainName == nil {
   130  		return nil, errors.New("invalid value for required argument 'DomainName'")
   131  	}
   132  	opts = internal.PkgResourceDefaultOpts(opts)
   133  	var resource RegisteredDomain
   134  	err := ctx.RegisterResource("aws:route53domains/registeredDomain:RegisteredDomain", name, args, &resource, opts...)
   135  	if err != nil {
   136  		return nil, err
   137  	}
   138  	return &resource, nil
   139  }
   140  
   141  // GetRegisteredDomain gets an existing RegisteredDomain resource's state with the given name, ID, and optional
   142  // state properties that are used to uniquely qualify the lookup (nil if not required).
   143  func GetRegisteredDomain(ctx *pulumi.Context,
   144  	name string, id pulumi.IDInput, state *RegisteredDomainState, opts ...pulumi.ResourceOption) (*RegisteredDomain, error) {
   145  	var resource RegisteredDomain
   146  	err := ctx.ReadResource("aws:route53domains/registeredDomain:RegisteredDomain", name, id, state, &resource, opts...)
   147  	if err != nil {
   148  		return nil, err
   149  	}
   150  	return &resource, nil
   151  }
   152  
   153  // Input properties used for looking up and filtering RegisteredDomain resources.
   154  type registeredDomainState struct {
   155  	// Email address to contact to report incorrect contact information for a domain, to report that the domain is being used to send spam, to report that someone is cybersquatting on a domain name, or report some other type of abuse.
   156  	AbuseContactEmail *string `pulumi:"abuseContactEmail"`
   157  	// Phone number for reporting abuse.
   158  	AbuseContactPhone *string `pulumi:"abuseContactPhone"`
   159  	// Details about the domain administrative contact. See Contact Blocks for more details.
   160  	AdminContact *RegisteredDomainAdminContact `pulumi:"adminContact"`
   161  	// Whether domain administrative contact information is concealed from WHOIS queries. Default: `true`.
   162  	AdminPrivacy *bool `pulumi:"adminPrivacy"`
   163  	// Whether the domain registration is set to renew automatically. Default: `true`.
   164  	AutoRenew *bool `pulumi:"autoRenew"`
   165  	// Details about the domain billing contact. See Contact Blocks for more details.
   166  	BillingContact *RegisteredDomainBillingContact `pulumi:"billingContact"`
   167  	// Whether domain billing contact information is concealed from WHOIS queries. Default: `true`.
   168  	BillingPrivacy *bool `pulumi:"billingPrivacy"`
   169  	// The date when the domain was created as found in the response to a WHOIS query.
   170  	CreationDate *string `pulumi:"creationDate"`
   171  	// The name of the registered domain.
   172  	DomainName *string `pulumi:"domainName"`
   173  	// The date when the registration for the domain is set to expire.
   174  	ExpirationDate *string `pulumi:"expirationDate"`
   175  	// The list of nameservers for the domain. See `nameServer` Blocks for more details.
   176  	NameServers []RegisteredDomainNameServer `pulumi:"nameServers"`
   177  	// Details about the domain registrant. See Contact Blocks for more details.
   178  	RegistrantContact *RegisteredDomainRegistrantContact `pulumi:"registrantContact"`
   179  	// Whether domain registrant contact information is concealed from WHOIS queries. Default: `true`.
   180  	RegistrantPrivacy *bool `pulumi:"registrantPrivacy"`
   181  	// Name of the registrar of the domain as identified in the registry.
   182  	RegistrarName *string `pulumi:"registrarName"`
   183  	// Web address of the registrar.
   184  	RegistrarUrl *string `pulumi:"registrarUrl"`
   185  	// Reseller of the domain.
   186  	Reseller *string `pulumi:"reseller"`
   187  	// List of [domain name status codes](https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en).
   188  	StatusLists []string `pulumi:"statusLists"`
   189  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   190  	Tags map[string]string `pulumi:"tags"`
   191  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   192  	//
   193  	// Deprecated: Please use `tags` instead.
   194  	TagsAll map[string]string `pulumi:"tagsAll"`
   195  	// Details about the domain technical contact. See Contact Blocks for more details.
   196  	TechContact *RegisteredDomainTechContact `pulumi:"techContact"`
   197  	// Whether domain technical contact information is concealed from WHOIS queries. Default: `true`.
   198  	TechPrivacy *bool `pulumi:"techPrivacy"`
   199  	// Whether the domain is locked for transfer. Default: `true`.
   200  	TransferLock *bool `pulumi:"transferLock"`
   201  	// The last updated date of the domain as found in the response to a WHOIS query.
   202  	UpdatedDate *string `pulumi:"updatedDate"`
   203  	// The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain.
   204  	WhoisServer *string `pulumi:"whoisServer"`
   205  }
   206  
   207  type RegisteredDomainState struct {
   208  	// Email address to contact to report incorrect contact information for a domain, to report that the domain is being used to send spam, to report that someone is cybersquatting on a domain name, or report some other type of abuse.
   209  	AbuseContactEmail pulumi.StringPtrInput
   210  	// Phone number for reporting abuse.
   211  	AbuseContactPhone pulumi.StringPtrInput
   212  	// Details about the domain administrative contact. See Contact Blocks for more details.
   213  	AdminContact RegisteredDomainAdminContactPtrInput
   214  	// Whether domain administrative contact information is concealed from WHOIS queries. Default: `true`.
   215  	AdminPrivacy pulumi.BoolPtrInput
   216  	// Whether the domain registration is set to renew automatically. Default: `true`.
   217  	AutoRenew pulumi.BoolPtrInput
   218  	// Details about the domain billing contact. See Contact Blocks for more details.
   219  	BillingContact RegisteredDomainBillingContactPtrInput
   220  	// Whether domain billing contact information is concealed from WHOIS queries. Default: `true`.
   221  	BillingPrivacy pulumi.BoolPtrInput
   222  	// The date when the domain was created as found in the response to a WHOIS query.
   223  	CreationDate pulumi.StringPtrInput
   224  	// The name of the registered domain.
   225  	DomainName pulumi.StringPtrInput
   226  	// The date when the registration for the domain is set to expire.
   227  	ExpirationDate pulumi.StringPtrInput
   228  	// The list of nameservers for the domain. See `nameServer` Blocks for more details.
   229  	NameServers RegisteredDomainNameServerArrayInput
   230  	// Details about the domain registrant. See Contact Blocks for more details.
   231  	RegistrantContact RegisteredDomainRegistrantContactPtrInput
   232  	// Whether domain registrant contact information is concealed from WHOIS queries. Default: `true`.
   233  	RegistrantPrivacy pulumi.BoolPtrInput
   234  	// Name of the registrar of the domain as identified in the registry.
   235  	RegistrarName pulumi.StringPtrInput
   236  	// Web address of the registrar.
   237  	RegistrarUrl pulumi.StringPtrInput
   238  	// Reseller of the domain.
   239  	Reseller pulumi.StringPtrInput
   240  	// List of [domain name status codes](https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en).
   241  	StatusLists pulumi.StringArrayInput
   242  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   243  	Tags pulumi.StringMapInput
   244  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   245  	//
   246  	// Deprecated: Please use `tags` instead.
   247  	TagsAll pulumi.StringMapInput
   248  	// Details about the domain technical contact. See Contact Blocks for more details.
   249  	TechContact RegisteredDomainTechContactPtrInput
   250  	// Whether domain technical contact information is concealed from WHOIS queries. Default: `true`.
   251  	TechPrivacy pulumi.BoolPtrInput
   252  	// Whether the domain is locked for transfer. Default: `true`.
   253  	TransferLock pulumi.BoolPtrInput
   254  	// The last updated date of the domain as found in the response to a WHOIS query.
   255  	UpdatedDate pulumi.StringPtrInput
   256  	// The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain.
   257  	WhoisServer pulumi.StringPtrInput
   258  }
   259  
   260  func (RegisteredDomainState) ElementType() reflect.Type {
   261  	return reflect.TypeOf((*registeredDomainState)(nil)).Elem()
   262  }
   263  
   264  type registeredDomainArgs struct {
   265  	// Details about the domain administrative contact. See Contact Blocks for more details.
   266  	AdminContact *RegisteredDomainAdminContact `pulumi:"adminContact"`
   267  	// Whether domain administrative contact information is concealed from WHOIS queries. Default: `true`.
   268  	AdminPrivacy *bool `pulumi:"adminPrivacy"`
   269  	// Whether the domain registration is set to renew automatically. Default: `true`.
   270  	AutoRenew *bool `pulumi:"autoRenew"`
   271  	// Details about the domain billing contact. See Contact Blocks for more details.
   272  	BillingContact *RegisteredDomainBillingContact `pulumi:"billingContact"`
   273  	// Whether domain billing contact information is concealed from WHOIS queries. Default: `true`.
   274  	BillingPrivacy *bool `pulumi:"billingPrivacy"`
   275  	// The name of the registered domain.
   276  	DomainName string `pulumi:"domainName"`
   277  	// The list of nameservers for the domain. See `nameServer` Blocks for more details.
   278  	NameServers []RegisteredDomainNameServer `pulumi:"nameServers"`
   279  	// Details about the domain registrant. See Contact Blocks for more details.
   280  	RegistrantContact *RegisteredDomainRegistrantContact `pulumi:"registrantContact"`
   281  	// Whether domain registrant contact information is concealed from WHOIS queries. Default: `true`.
   282  	RegistrantPrivacy *bool `pulumi:"registrantPrivacy"`
   283  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   284  	Tags map[string]string `pulumi:"tags"`
   285  	// Details about the domain technical contact. See Contact Blocks for more details.
   286  	TechContact *RegisteredDomainTechContact `pulumi:"techContact"`
   287  	// Whether domain technical contact information is concealed from WHOIS queries. Default: `true`.
   288  	TechPrivacy *bool `pulumi:"techPrivacy"`
   289  	// Whether the domain is locked for transfer. Default: `true`.
   290  	TransferLock *bool `pulumi:"transferLock"`
   291  }
   292  
   293  // The set of arguments for constructing a RegisteredDomain resource.
   294  type RegisteredDomainArgs struct {
   295  	// Details about the domain administrative contact. See Contact Blocks for more details.
   296  	AdminContact RegisteredDomainAdminContactPtrInput
   297  	// Whether domain administrative contact information is concealed from WHOIS queries. Default: `true`.
   298  	AdminPrivacy pulumi.BoolPtrInput
   299  	// Whether the domain registration is set to renew automatically. Default: `true`.
   300  	AutoRenew pulumi.BoolPtrInput
   301  	// Details about the domain billing contact. See Contact Blocks for more details.
   302  	BillingContact RegisteredDomainBillingContactPtrInput
   303  	// Whether domain billing contact information is concealed from WHOIS queries. Default: `true`.
   304  	BillingPrivacy pulumi.BoolPtrInput
   305  	// The name of the registered domain.
   306  	DomainName pulumi.StringInput
   307  	// The list of nameservers for the domain. See `nameServer` Blocks for more details.
   308  	NameServers RegisteredDomainNameServerArrayInput
   309  	// Details about the domain registrant. See Contact Blocks for more details.
   310  	RegistrantContact RegisteredDomainRegistrantContactPtrInput
   311  	// Whether domain registrant contact information is concealed from WHOIS queries. Default: `true`.
   312  	RegistrantPrivacy pulumi.BoolPtrInput
   313  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   314  	Tags pulumi.StringMapInput
   315  	// Details about the domain technical contact. See Contact Blocks for more details.
   316  	TechContact RegisteredDomainTechContactPtrInput
   317  	// Whether domain technical contact information is concealed from WHOIS queries. Default: `true`.
   318  	TechPrivacy pulumi.BoolPtrInput
   319  	// Whether the domain is locked for transfer. Default: `true`.
   320  	TransferLock pulumi.BoolPtrInput
   321  }
   322  
   323  func (RegisteredDomainArgs) ElementType() reflect.Type {
   324  	return reflect.TypeOf((*registeredDomainArgs)(nil)).Elem()
   325  }
   326  
   327  type RegisteredDomainInput interface {
   328  	pulumi.Input
   329  
   330  	ToRegisteredDomainOutput() RegisteredDomainOutput
   331  	ToRegisteredDomainOutputWithContext(ctx context.Context) RegisteredDomainOutput
   332  }
   333  
   334  func (*RegisteredDomain) ElementType() reflect.Type {
   335  	return reflect.TypeOf((**RegisteredDomain)(nil)).Elem()
   336  }
   337  
   338  func (i *RegisteredDomain) ToRegisteredDomainOutput() RegisteredDomainOutput {
   339  	return i.ToRegisteredDomainOutputWithContext(context.Background())
   340  }
   341  
   342  func (i *RegisteredDomain) ToRegisteredDomainOutputWithContext(ctx context.Context) RegisteredDomainOutput {
   343  	return pulumi.ToOutputWithContext(ctx, i).(RegisteredDomainOutput)
   344  }
   345  
   346  // RegisteredDomainArrayInput is an input type that accepts RegisteredDomainArray and RegisteredDomainArrayOutput values.
   347  // You can construct a concrete instance of `RegisteredDomainArrayInput` via:
   348  //
   349  //	RegisteredDomainArray{ RegisteredDomainArgs{...} }
   350  type RegisteredDomainArrayInput interface {
   351  	pulumi.Input
   352  
   353  	ToRegisteredDomainArrayOutput() RegisteredDomainArrayOutput
   354  	ToRegisteredDomainArrayOutputWithContext(context.Context) RegisteredDomainArrayOutput
   355  }
   356  
   357  type RegisteredDomainArray []RegisteredDomainInput
   358  
   359  func (RegisteredDomainArray) ElementType() reflect.Type {
   360  	return reflect.TypeOf((*[]*RegisteredDomain)(nil)).Elem()
   361  }
   362  
   363  func (i RegisteredDomainArray) ToRegisteredDomainArrayOutput() RegisteredDomainArrayOutput {
   364  	return i.ToRegisteredDomainArrayOutputWithContext(context.Background())
   365  }
   366  
   367  func (i RegisteredDomainArray) ToRegisteredDomainArrayOutputWithContext(ctx context.Context) RegisteredDomainArrayOutput {
   368  	return pulumi.ToOutputWithContext(ctx, i).(RegisteredDomainArrayOutput)
   369  }
   370  
   371  // RegisteredDomainMapInput is an input type that accepts RegisteredDomainMap and RegisteredDomainMapOutput values.
   372  // You can construct a concrete instance of `RegisteredDomainMapInput` via:
   373  //
   374  //	RegisteredDomainMap{ "key": RegisteredDomainArgs{...} }
   375  type RegisteredDomainMapInput interface {
   376  	pulumi.Input
   377  
   378  	ToRegisteredDomainMapOutput() RegisteredDomainMapOutput
   379  	ToRegisteredDomainMapOutputWithContext(context.Context) RegisteredDomainMapOutput
   380  }
   381  
   382  type RegisteredDomainMap map[string]RegisteredDomainInput
   383  
   384  func (RegisteredDomainMap) ElementType() reflect.Type {
   385  	return reflect.TypeOf((*map[string]*RegisteredDomain)(nil)).Elem()
   386  }
   387  
   388  func (i RegisteredDomainMap) ToRegisteredDomainMapOutput() RegisteredDomainMapOutput {
   389  	return i.ToRegisteredDomainMapOutputWithContext(context.Background())
   390  }
   391  
   392  func (i RegisteredDomainMap) ToRegisteredDomainMapOutputWithContext(ctx context.Context) RegisteredDomainMapOutput {
   393  	return pulumi.ToOutputWithContext(ctx, i).(RegisteredDomainMapOutput)
   394  }
   395  
   396  type RegisteredDomainOutput struct{ *pulumi.OutputState }
   397  
   398  func (RegisteredDomainOutput) ElementType() reflect.Type {
   399  	return reflect.TypeOf((**RegisteredDomain)(nil)).Elem()
   400  }
   401  
   402  func (o RegisteredDomainOutput) ToRegisteredDomainOutput() RegisteredDomainOutput {
   403  	return o
   404  }
   405  
   406  func (o RegisteredDomainOutput) ToRegisteredDomainOutputWithContext(ctx context.Context) RegisteredDomainOutput {
   407  	return o
   408  }
   409  
   410  // Email address to contact to report incorrect contact information for a domain, to report that the domain is being used to send spam, to report that someone is cybersquatting on a domain name, or report some other type of abuse.
   411  func (o RegisteredDomainOutput) AbuseContactEmail() pulumi.StringOutput {
   412  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringOutput { return v.AbuseContactEmail }).(pulumi.StringOutput)
   413  }
   414  
   415  // Phone number for reporting abuse.
   416  func (o RegisteredDomainOutput) AbuseContactPhone() pulumi.StringOutput {
   417  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringOutput { return v.AbuseContactPhone }).(pulumi.StringOutput)
   418  }
   419  
   420  // Details about the domain administrative contact. See Contact Blocks for more details.
   421  func (o RegisteredDomainOutput) AdminContact() RegisteredDomainAdminContactOutput {
   422  	return o.ApplyT(func(v *RegisteredDomain) RegisteredDomainAdminContactOutput { return v.AdminContact }).(RegisteredDomainAdminContactOutput)
   423  }
   424  
   425  // Whether domain administrative contact information is concealed from WHOIS queries. Default: `true`.
   426  func (o RegisteredDomainOutput) AdminPrivacy() pulumi.BoolPtrOutput {
   427  	return o.ApplyT(func(v *RegisteredDomain) pulumi.BoolPtrOutput { return v.AdminPrivacy }).(pulumi.BoolPtrOutput)
   428  }
   429  
   430  // Whether the domain registration is set to renew automatically. Default: `true`.
   431  func (o RegisteredDomainOutput) AutoRenew() pulumi.BoolPtrOutput {
   432  	return o.ApplyT(func(v *RegisteredDomain) pulumi.BoolPtrOutput { return v.AutoRenew }).(pulumi.BoolPtrOutput)
   433  }
   434  
   435  // Details about the domain billing contact. See Contact Blocks for more details.
   436  func (o RegisteredDomainOutput) BillingContact() RegisteredDomainBillingContactOutput {
   437  	return o.ApplyT(func(v *RegisteredDomain) RegisteredDomainBillingContactOutput { return v.BillingContact }).(RegisteredDomainBillingContactOutput)
   438  }
   439  
   440  // Whether domain billing contact information is concealed from WHOIS queries. Default: `true`.
   441  func (o RegisteredDomainOutput) BillingPrivacy() pulumi.BoolPtrOutput {
   442  	return o.ApplyT(func(v *RegisteredDomain) pulumi.BoolPtrOutput { return v.BillingPrivacy }).(pulumi.BoolPtrOutput)
   443  }
   444  
   445  // The date when the domain was created as found in the response to a WHOIS query.
   446  func (o RegisteredDomainOutput) CreationDate() pulumi.StringOutput {
   447  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput)
   448  }
   449  
   450  // The name of the registered domain.
   451  func (o RegisteredDomainOutput) DomainName() pulumi.StringOutput {
   452  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput)
   453  }
   454  
   455  // The date when the registration for the domain is set to expire.
   456  func (o RegisteredDomainOutput) ExpirationDate() pulumi.StringOutput {
   457  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringOutput { return v.ExpirationDate }).(pulumi.StringOutput)
   458  }
   459  
   460  // The list of nameservers for the domain. See `nameServer` Blocks for more details.
   461  func (o RegisteredDomainOutput) NameServers() RegisteredDomainNameServerArrayOutput {
   462  	return o.ApplyT(func(v *RegisteredDomain) RegisteredDomainNameServerArrayOutput { return v.NameServers }).(RegisteredDomainNameServerArrayOutput)
   463  }
   464  
   465  // Details about the domain registrant. See Contact Blocks for more details.
   466  func (o RegisteredDomainOutput) RegistrantContact() RegisteredDomainRegistrantContactOutput {
   467  	return o.ApplyT(func(v *RegisteredDomain) RegisteredDomainRegistrantContactOutput { return v.RegistrantContact }).(RegisteredDomainRegistrantContactOutput)
   468  }
   469  
   470  // Whether domain registrant contact information is concealed from WHOIS queries. Default: `true`.
   471  func (o RegisteredDomainOutput) RegistrantPrivacy() pulumi.BoolPtrOutput {
   472  	return o.ApplyT(func(v *RegisteredDomain) pulumi.BoolPtrOutput { return v.RegistrantPrivacy }).(pulumi.BoolPtrOutput)
   473  }
   474  
   475  // Name of the registrar of the domain as identified in the registry.
   476  func (o RegisteredDomainOutput) RegistrarName() pulumi.StringOutput {
   477  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringOutput { return v.RegistrarName }).(pulumi.StringOutput)
   478  }
   479  
   480  // Web address of the registrar.
   481  func (o RegisteredDomainOutput) RegistrarUrl() pulumi.StringOutput {
   482  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringOutput { return v.RegistrarUrl }).(pulumi.StringOutput)
   483  }
   484  
   485  // Reseller of the domain.
   486  func (o RegisteredDomainOutput) Reseller() pulumi.StringOutput {
   487  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringOutput { return v.Reseller }).(pulumi.StringOutput)
   488  }
   489  
   490  // List of [domain name status codes](https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en).
   491  func (o RegisteredDomainOutput) StatusLists() pulumi.StringArrayOutput {
   492  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringArrayOutput { return v.StatusLists }).(pulumi.StringArrayOutput)
   493  }
   494  
   495  // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   496  func (o RegisteredDomainOutput) Tags() pulumi.StringMapOutput {
   497  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   498  }
   499  
   500  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   501  //
   502  // Deprecated: Please use `tags` instead.
   503  func (o RegisteredDomainOutput) TagsAll() pulumi.StringMapOutput {
   504  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   505  }
   506  
   507  // Details about the domain technical contact. See Contact Blocks for more details.
   508  func (o RegisteredDomainOutput) TechContact() RegisteredDomainTechContactOutput {
   509  	return o.ApplyT(func(v *RegisteredDomain) RegisteredDomainTechContactOutput { return v.TechContact }).(RegisteredDomainTechContactOutput)
   510  }
   511  
   512  // Whether domain technical contact information is concealed from WHOIS queries. Default: `true`.
   513  func (o RegisteredDomainOutput) TechPrivacy() pulumi.BoolPtrOutput {
   514  	return o.ApplyT(func(v *RegisteredDomain) pulumi.BoolPtrOutput { return v.TechPrivacy }).(pulumi.BoolPtrOutput)
   515  }
   516  
   517  // Whether the domain is locked for transfer. Default: `true`.
   518  func (o RegisteredDomainOutput) TransferLock() pulumi.BoolPtrOutput {
   519  	return o.ApplyT(func(v *RegisteredDomain) pulumi.BoolPtrOutput { return v.TransferLock }).(pulumi.BoolPtrOutput)
   520  }
   521  
   522  // The last updated date of the domain as found in the response to a WHOIS query.
   523  func (o RegisteredDomainOutput) UpdatedDate() pulumi.StringOutput {
   524  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringOutput { return v.UpdatedDate }).(pulumi.StringOutput)
   525  }
   526  
   527  // The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain.
   528  func (o RegisteredDomainOutput) WhoisServer() pulumi.StringOutput {
   529  	return o.ApplyT(func(v *RegisteredDomain) pulumi.StringOutput { return v.WhoisServer }).(pulumi.StringOutput)
   530  }
   531  
   532  type RegisteredDomainArrayOutput struct{ *pulumi.OutputState }
   533  
   534  func (RegisteredDomainArrayOutput) ElementType() reflect.Type {
   535  	return reflect.TypeOf((*[]*RegisteredDomain)(nil)).Elem()
   536  }
   537  
   538  func (o RegisteredDomainArrayOutput) ToRegisteredDomainArrayOutput() RegisteredDomainArrayOutput {
   539  	return o
   540  }
   541  
   542  func (o RegisteredDomainArrayOutput) ToRegisteredDomainArrayOutputWithContext(ctx context.Context) RegisteredDomainArrayOutput {
   543  	return o
   544  }
   545  
   546  func (o RegisteredDomainArrayOutput) Index(i pulumi.IntInput) RegisteredDomainOutput {
   547  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RegisteredDomain {
   548  		return vs[0].([]*RegisteredDomain)[vs[1].(int)]
   549  	}).(RegisteredDomainOutput)
   550  }
   551  
   552  type RegisteredDomainMapOutput struct{ *pulumi.OutputState }
   553  
   554  func (RegisteredDomainMapOutput) ElementType() reflect.Type {
   555  	return reflect.TypeOf((*map[string]*RegisteredDomain)(nil)).Elem()
   556  }
   557  
   558  func (o RegisteredDomainMapOutput) ToRegisteredDomainMapOutput() RegisteredDomainMapOutput {
   559  	return o
   560  }
   561  
   562  func (o RegisteredDomainMapOutput) ToRegisteredDomainMapOutputWithContext(ctx context.Context) RegisteredDomainMapOutput {
   563  	return o
   564  }
   565  
   566  func (o RegisteredDomainMapOutput) MapIndex(k pulumi.StringInput) RegisteredDomainOutput {
   567  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RegisteredDomain {
   568  		return vs[0].(map[string]*RegisteredDomain)[vs[1].(string)]
   569  	}).(RegisteredDomainOutput)
   570  }
   571  
   572  func init() {
   573  	pulumi.RegisterInputType(reflect.TypeOf((*RegisteredDomainInput)(nil)).Elem(), &RegisteredDomain{})
   574  	pulumi.RegisterInputType(reflect.TypeOf((*RegisteredDomainArrayInput)(nil)).Elem(), RegisteredDomainArray{})
   575  	pulumi.RegisterInputType(reflect.TypeOf((*RegisteredDomainMapInput)(nil)).Elem(), RegisteredDomainMap{})
   576  	pulumi.RegisterOutputType(RegisteredDomainOutput{})
   577  	pulumi.RegisterOutputType(RegisteredDomainArrayOutput{})
   578  	pulumi.RegisterOutputType(RegisteredDomainMapOutput{})
   579  }