1 // Copyright (c) 2016, 2018, 2025, Oracle and/or its affiliates. All rights reserved.
2 // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
3 // Code generated. DO NOT EDIT.
4 5 // DNS API
6 //
7 // API for the DNS service. Use this API to manage DNS zones, records, and other DNS resources.
8 // For more information, see Overview of the DNS Service (https://docs.oracle.com/iaas/Content/DNS/Concepts/dnszonemanagement.htm).
9 //
10 11 package dns
12 13 import (
14 "fmt"
15 "strings"
16 17 "github.com/nrdcg/oci-go-sdk/common/v1065"
18 )
19 20 // ExternalDownstream External downstream nameserver for the zone.
21 // This field is currently not supported when `zoneType` is `SECONDARY` or `scope` is `PRIVATE`.
22 type ExternalDownstream struct {
23 24 // The server's IP address (IPv4 or IPv6).
25 Address *string `mandatory:"true" json:"address"`
26 27 // The server's port. Port value must be a value of 53, otherwise omit
28 // the port value.
29 Port *int `mandatory:"false" json:"port"`
30 31 // The OCID of the TSIG key.
32 // A TSIG key is used to secure DNS messages (in this case, zone transfers) between two systems that both have the (shared) secret.
33 TsigKeyId *string `mandatory:"false" json:"tsigKeyId"`
34 }
35 36 func (m ExternalDownstream) String() string {
37 return common.PointerString(m)
38 }
39 40 // ValidateEnumValue returns an error when providing an unsupported enum value
41 // This function is being called during constructing API request process
42 // Not recommended for calling this function directly
43 func (m ExternalDownstream) ValidateEnumValue() (bool, error) {
44 errMessage := []string{}
45 46 if len(errMessage) > 0 {
47 return true, fmt.Errorf("%s", strings.Join(errMessage, "\n"))
48 }
49 return false, nil
50 }
51