func()

in internal/cloudsql/resolver.go [64:87]


func (r *DNSInstanceConnectionNameResolver) Resolve(ctx context.Context, icn string) (instanceName instance.ConnName, err error) {
	cn, err := instance.ParseConnName(icn)
	if err != nil {
		// The connection name was not in project:region:instance format.
		// Check that connection name is a valid DNS domain name.
		if instance.IsValidDomain(icn) {
			// Attempt to query a TXT record and see if it works instead.
			cn, err = r.queryDNS(ctx, icn)
			if err != nil {
				return instance.ConnName{}, err
			}
		} else {
			// Connection name is not valid instance connection name or domain name
			err := errtype.NewConfigError(
				"invalid connection name, expected PROJECT:REGION:INSTANCE "+
					"format or valid DNS domain name",
				icn,
			)
			return instance.ConnName{}, err
		}
	}

	return cn, nil
}