func()

in gcloud/clouddomains.go [236:277]


func (c Client) DomainRegister(project string, domaininfo *domainspb.RegisterParameters, contact ContactData) error {
	parent := fmt.Sprintf("projects/%s/locations/global", project)

	svc, err := c.getDomainsClient(project)
	if err != nil {
		return err
	}

	dnscontact, err := contact.DomainContact()
	if err != nil {
		return err
	}

	req := &domainspb.RegisterDomainRequest{
		DomainNotices: domaininfo.DomainNotices,
		Registration: &domainspb.Registration{
			Name:       fmt.Sprintf("%s/registrations/%s", parent, domaininfo.DomainName),
			DomainName: domaininfo.DomainName,
			DnsSettings: &domainspb.DnsSettings{
				DnsProvider: &domainspb.DnsSettings_CustomDns_{
					CustomDns: &domainspb.DnsSettings_CustomDns{
						NameServers: []string{
							"ns-cloud-e1.googledomains.com",
							"ns-cloud-e2.googledomains.com",
							"ns-cloud-e3.googledomains.com",
							"ns-cloud-e4.googledomains.com",
						},
					},
				},
			},
			ContactSettings: &dnscontact,
		},
		Parent:      parent,
		YearlyPrice: domaininfo.YearlyPrice,
	}

	if _, err := svc.RegisterDomain(c.ctx, req); err != nil {
		return err
	}

	return nil
}