Documentation ¶
Index ¶
- Variables
- type DnsTable
- func (*DnsTable) Descriptor() ([]byte, []int)
- func (m *DnsTable) GetExternalRetryCount() uint32
- func (m *DnsTable) GetKnownSuffixes() []*matcher.StringMatcher
- func (m *DnsTable) GetVirtualDomains() []*DnsTable_DnsVirtualDomain
- func (m *DnsTable) Marshal() (dAtA []byte, err error)
- func (m *DnsTable) MarshalTo(dAtA []byte) (int, error)
- func (m *DnsTable) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*DnsTable) ProtoMessage()
- func (m *DnsTable) Reset()
- func (m *DnsTable) Size() (n int)
- func (m *DnsTable) String() string
- func (m *DnsTable) Unmarshal(dAtA []byte) error
- func (m *DnsTable) Validate() error
- func (m *DnsTable) XXX_DiscardUnknown()
- func (m *DnsTable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *DnsTable) XXX_Merge(src proto.Message)
- func (m *DnsTable) XXX_Size() int
- func (m *DnsTable) XXX_Unmarshal(b []byte) error
- type DnsTableValidationError
- type DnsTable_AddressList
- func (*DnsTable_AddressList) Descriptor() ([]byte, []int)
- func (m *DnsTable_AddressList) GetAddress() []string
- func (m *DnsTable_AddressList) Marshal() (dAtA []byte, err error)
- func (m *DnsTable_AddressList) MarshalTo(dAtA []byte) (int, error)
- func (m *DnsTable_AddressList) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*DnsTable_AddressList) ProtoMessage()
- func (m *DnsTable_AddressList) Reset()
- func (m *DnsTable_AddressList) Size() (n int)
- func (m *DnsTable_AddressList) String() string
- func (m *DnsTable_AddressList) Unmarshal(dAtA []byte) error
- func (m *DnsTable_AddressList) Validate() error
- func (m *DnsTable_AddressList) XXX_DiscardUnknown()
- func (m *DnsTable_AddressList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *DnsTable_AddressList) XXX_Merge(src proto.Message)
- func (m *DnsTable_AddressList) XXX_Size() int
- func (m *DnsTable_AddressList) XXX_Unmarshal(b []byte) error
- type DnsTable_AddressListValidationError
- func (e DnsTable_AddressListValidationError) Cause() error
- func (e DnsTable_AddressListValidationError) Error() string
- func (e DnsTable_AddressListValidationError) ErrorName() string
- func (e DnsTable_AddressListValidationError) Field() string
- func (e DnsTable_AddressListValidationError) Key() bool
- func (e DnsTable_AddressListValidationError) Reason() string
- type DnsTable_DnsEndpoint
- func (*DnsTable_DnsEndpoint) Descriptor() ([]byte, []int)
- func (m *DnsTable_DnsEndpoint) GetAddressList() *DnsTable_AddressList
- func (m *DnsTable_DnsEndpoint) GetEndpointConfig() isDnsTable_DnsEndpoint_EndpointConfig
- func (m *DnsTable_DnsEndpoint) Marshal() (dAtA []byte, err error)
- func (m *DnsTable_DnsEndpoint) MarshalTo(dAtA []byte) (int, error)
- func (m *DnsTable_DnsEndpoint) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*DnsTable_DnsEndpoint) ProtoMessage()
- func (m *DnsTable_DnsEndpoint) Reset()
- func (m *DnsTable_DnsEndpoint) Size() (n int)
- func (m *DnsTable_DnsEndpoint) String() string
- func (m *DnsTable_DnsEndpoint) Unmarshal(dAtA []byte) error
- func (m *DnsTable_DnsEndpoint) Validate() error
- func (m *DnsTable_DnsEndpoint) XXX_DiscardUnknown()
- func (m *DnsTable_DnsEndpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *DnsTable_DnsEndpoint) XXX_Merge(src proto.Message)
- func (*DnsTable_DnsEndpoint) XXX_OneofWrappers() []interface{}
- func (m *DnsTable_DnsEndpoint) XXX_Size() int
- func (m *DnsTable_DnsEndpoint) XXX_Unmarshal(b []byte) error
- type DnsTable_DnsEndpointValidationError
- func (e DnsTable_DnsEndpointValidationError) Cause() error
- func (e DnsTable_DnsEndpointValidationError) Error() string
- func (e DnsTable_DnsEndpointValidationError) ErrorName() string
- func (e DnsTable_DnsEndpointValidationError) Field() string
- func (e DnsTable_DnsEndpointValidationError) Key() bool
- func (e DnsTable_DnsEndpointValidationError) Reason() string
- type DnsTable_DnsEndpoint_AddressList
- type DnsTable_DnsVirtualDomain
- func (*DnsTable_DnsVirtualDomain) Descriptor() ([]byte, []int)
- func (m *DnsTable_DnsVirtualDomain) GetAnswerTtl() *types.Duration
- func (m *DnsTable_DnsVirtualDomain) GetEndpoint() *DnsTable_DnsEndpoint
- func (m *DnsTable_DnsVirtualDomain) GetName() string
- func (m *DnsTable_DnsVirtualDomain) Marshal() (dAtA []byte, err error)
- func (m *DnsTable_DnsVirtualDomain) MarshalTo(dAtA []byte) (int, error)
- func (m *DnsTable_DnsVirtualDomain) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*DnsTable_DnsVirtualDomain) ProtoMessage()
- func (m *DnsTable_DnsVirtualDomain) Reset()
- func (m *DnsTable_DnsVirtualDomain) Size() (n int)
- func (m *DnsTable_DnsVirtualDomain) String() string
- func (m *DnsTable_DnsVirtualDomain) Unmarshal(dAtA []byte) error
- func (m *DnsTable_DnsVirtualDomain) Validate() error
- func (m *DnsTable_DnsVirtualDomain) XXX_DiscardUnknown()
- func (m *DnsTable_DnsVirtualDomain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *DnsTable_DnsVirtualDomain) XXX_Merge(src proto.Message)
- func (m *DnsTable_DnsVirtualDomain) XXX_Size() int
- func (m *DnsTable_DnsVirtualDomain) XXX_Unmarshal(b []byte) error
- type DnsTable_DnsVirtualDomainValidationError
- func (e DnsTable_DnsVirtualDomainValidationError) Cause() error
- func (e DnsTable_DnsVirtualDomainValidationError) Error() string
- func (e DnsTable_DnsVirtualDomainValidationError) ErrorName() string
- func (e DnsTable_DnsVirtualDomainValidationError) Field() string
- func (e DnsTable_DnsVirtualDomainValidationError) Key() bool
- func (e DnsTable_DnsVirtualDomainValidationError) Reason() string
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type DnsTable ¶
type DnsTable struct { // Control how many times envoy makes an attempt to forward a query to // an external server ExternalRetryCount uint32 `protobuf:"varint,1,opt,name=external_retry_count,json=externalRetryCount,proto3" json:"external_retry_count,omitempty"` // Fully qualified domain names for which Envoy will respond to queries VirtualDomains []*DnsTable_DnsVirtualDomain `protobuf:"bytes,2,rep,name=virtual_domains,json=virtualDomains,proto3" json:"virtual_domains,omitempty"` // This field serves to help Envoy determine whether it can authoritatively // answer a query for a name matching a suffix in this list. If the query // name does not match a suffix in this list, Envoy will forward // the query to an upstream DNS server KnownSuffixes []*matcher.StringMatcher `protobuf:"bytes,3,rep,name=known_suffixes,json=knownSuffixes,proto3" json:"known_suffixes,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
This message contains the configuration for the DNS Filter if populated from the control plane
func (*DnsTable) Descriptor ¶
func (*DnsTable) GetExternalRetryCount ¶
func (*DnsTable) GetKnownSuffixes ¶
func (m *DnsTable) GetKnownSuffixes() []*matcher.StringMatcher
func (*DnsTable) GetVirtualDomains ¶
func (m *DnsTable) GetVirtualDomains() []*DnsTable_DnsVirtualDomain
func (*DnsTable) MarshalToSizedBuffer ¶
func (*DnsTable) ProtoMessage ¶
func (*DnsTable) ProtoMessage()
func (*DnsTable) Validate ¶
Validate checks the field values on DnsTable with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.
func (*DnsTable) XXX_DiscardUnknown ¶
func (m *DnsTable) XXX_DiscardUnknown()
func (*DnsTable) XXX_Marshal ¶
func (*DnsTable) XXX_Unmarshal ¶
type DnsTableValidationError ¶
type DnsTableValidationError struct {
// contains filtered or unexported fields
}
DnsTableValidationError is the validation error returned by DnsTable.Validate if the designated constraints aren't met.
func (DnsTableValidationError) Cause ¶
func (e DnsTableValidationError) Cause() error
Cause function returns cause value.
func (DnsTableValidationError) Error ¶
func (e DnsTableValidationError) Error() string
Error satisfies the builtin error interface
func (DnsTableValidationError) ErrorName ¶
func (e DnsTableValidationError) ErrorName() string
ErrorName returns error name.
func (DnsTableValidationError) Field ¶
func (e DnsTableValidationError) Field() string
Field function returns field value.
func (DnsTableValidationError) Key ¶
func (e DnsTableValidationError) Key() bool
Key function returns key value.
func (DnsTableValidationError) Reason ¶
func (e DnsTableValidationError) Reason() string
Reason function returns reason value.
type DnsTable_AddressList ¶
type DnsTable_AddressList struct { // This field contains a well formed IP address that is returned // in the answer for a name query. The address field can be an // IPv4 or IPv6 address. Address family detection is done automatically // when Envoy parses the string. Since this field is repeated, // Envoy will return one randomly chosen entry from this list in the // DNS response. The random index will vary per query so that we prevent // clients pinning on a single address for a configured domain Address []string `protobuf:"bytes,1,rep,name=address,proto3" json:"address,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
This message contains a list of IP addresses returned for a query for a known name
func (*DnsTable_AddressList) Descriptor ¶
func (*DnsTable_AddressList) Descriptor() ([]byte, []int)
func (*DnsTable_AddressList) GetAddress ¶
func (m *DnsTable_AddressList) GetAddress() []string
func (*DnsTable_AddressList) Marshal ¶
func (m *DnsTable_AddressList) Marshal() (dAtA []byte, err error)
func (*DnsTable_AddressList) MarshalTo ¶
func (m *DnsTable_AddressList) MarshalTo(dAtA []byte) (int, error)
func (*DnsTable_AddressList) MarshalToSizedBuffer ¶
func (m *DnsTable_AddressList) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*DnsTable_AddressList) ProtoMessage ¶
func (*DnsTable_AddressList) ProtoMessage()
func (*DnsTable_AddressList) Reset ¶
func (m *DnsTable_AddressList) Reset()
func (*DnsTable_AddressList) Size ¶
func (m *DnsTable_AddressList) Size() (n int)
func (*DnsTable_AddressList) String ¶
func (m *DnsTable_AddressList) String() string
func (*DnsTable_AddressList) Unmarshal ¶
func (m *DnsTable_AddressList) Unmarshal(dAtA []byte) error
func (*DnsTable_AddressList) Validate ¶
func (m *DnsTable_AddressList) Validate() error
Validate checks the field values on DnsTable_AddressList with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.
func (*DnsTable_AddressList) XXX_DiscardUnknown ¶
func (m *DnsTable_AddressList) XXX_DiscardUnknown()
func (*DnsTable_AddressList) XXX_Marshal ¶
func (m *DnsTable_AddressList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*DnsTable_AddressList) XXX_Merge ¶
func (m *DnsTable_AddressList) XXX_Merge(src proto.Message)
func (*DnsTable_AddressList) XXX_Size ¶
func (m *DnsTable_AddressList) XXX_Size() int
func (*DnsTable_AddressList) XXX_Unmarshal ¶
func (m *DnsTable_AddressList) XXX_Unmarshal(b []byte) error
type DnsTable_AddressListValidationError ¶
type DnsTable_AddressListValidationError struct {
// contains filtered or unexported fields
}
DnsTable_AddressListValidationError is the validation error returned by DnsTable_AddressList.Validate if the designated constraints aren't met.
func (DnsTable_AddressListValidationError) Cause ¶
func (e DnsTable_AddressListValidationError) Cause() error
Cause function returns cause value.
func (DnsTable_AddressListValidationError) Error ¶
func (e DnsTable_AddressListValidationError) Error() string
Error satisfies the builtin error interface
func (DnsTable_AddressListValidationError) ErrorName ¶
func (e DnsTable_AddressListValidationError) ErrorName() string
ErrorName returns error name.
func (DnsTable_AddressListValidationError) Field ¶
func (e DnsTable_AddressListValidationError) Field() string
Field function returns field value.
func (DnsTable_AddressListValidationError) Key ¶
func (e DnsTable_AddressListValidationError) Key() bool
Key function returns key value.
func (DnsTable_AddressListValidationError) Reason ¶
func (e DnsTable_AddressListValidationError) Reason() string
Reason function returns reason value.
type DnsTable_DnsEndpoint ¶
type DnsTable_DnsEndpoint struct { // Types that are valid to be assigned to EndpointConfig: // *DnsTable_DnsEndpoint_AddressList EndpointConfig isDnsTable_DnsEndpoint_EndpointConfig `protobuf_oneof:"endpoint_config"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
This message type is extensible and can contain a list of addresses or dictate some other method for resolving the addresses for an endpoint
func (*DnsTable_DnsEndpoint) Descriptor ¶
func (*DnsTable_DnsEndpoint) Descriptor() ([]byte, []int)
func (*DnsTable_DnsEndpoint) GetAddressList ¶
func (m *DnsTable_DnsEndpoint) GetAddressList() *DnsTable_AddressList
func (*DnsTable_DnsEndpoint) GetEndpointConfig ¶
func (m *DnsTable_DnsEndpoint) GetEndpointConfig() isDnsTable_DnsEndpoint_EndpointConfig
func (*DnsTable_DnsEndpoint) Marshal ¶
func (m *DnsTable_DnsEndpoint) Marshal() (dAtA []byte, err error)
func (*DnsTable_DnsEndpoint) MarshalTo ¶
func (m *DnsTable_DnsEndpoint) MarshalTo(dAtA []byte) (int, error)
func (*DnsTable_DnsEndpoint) MarshalToSizedBuffer ¶
func (m *DnsTable_DnsEndpoint) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*DnsTable_DnsEndpoint) ProtoMessage ¶
func (*DnsTable_DnsEndpoint) ProtoMessage()
func (*DnsTable_DnsEndpoint) Reset ¶
func (m *DnsTable_DnsEndpoint) Reset()
func (*DnsTable_DnsEndpoint) Size ¶
func (m *DnsTable_DnsEndpoint) Size() (n int)
func (*DnsTable_DnsEndpoint) String ¶
func (m *DnsTable_DnsEndpoint) String() string
func (*DnsTable_DnsEndpoint) Unmarshal ¶
func (m *DnsTable_DnsEndpoint) Unmarshal(dAtA []byte) error
func (*DnsTable_DnsEndpoint) Validate ¶
func (m *DnsTable_DnsEndpoint) Validate() error
Validate checks the field values on DnsTable_DnsEndpoint with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.
func (*DnsTable_DnsEndpoint) XXX_DiscardUnknown ¶
func (m *DnsTable_DnsEndpoint) XXX_DiscardUnknown()
func (*DnsTable_DnsEndpoint) XXX_Marshal ¶
func (m *DnsTable_DnsEndpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*DnsTable_DnsEndpoint) XXX_Merge ¶
func (m *DnsTable_DnsEndpoint) XXX_Merge(src proto.Message)
func (*DnsTable_DnsEndpoint) XXX_OneofWrappers ¶
func (*DnsTable_DnsEndpoint) XXX_OneofWrappers() []interface{}
XXX_OneofWrappers is for the internal use of the proto package.
func (*DnsTable_DnsEndpoint) XXX_Size ¶
func (m *DnsTable_DnsEndpoint) XXX_Size() int
func (*DnsTable_DnsEndpoint) XXX_Unmarshal ¶
func (m *DnsTable_DnsEndpoint) XXX_Unmarshal(b []byte) error
type DnsTable_DnsEndpointValidationError ¶
type DnsTable_DnsEndpointValidationError struct {
// contains filtered or unexported fields
}
DnsTable_DnsEndpointValidationError is the validation error returned by DnsTable_DnsEndpoint.Validate if the designated constraints aren't met.
func (DnsTable_DnsEndpointValidationError) Cause ¶
func (e DnsTable_DnsEndpointValidationError) Cause() error
Cause function returns cause value.
func (DnsTable_DnsEndpointValidationError) Error ¶
func (e DnsTable_DnsEndpointValidationError) Error() string
Error satisfies the builtin error interface
func (DnsTable_DnsEndpointValidationError) ErrorName ¶
func (e DnsTable_DnsEndpointValidationError) ErrorName() string
ErrorName returns error name.
func (DnsTable_DnsEndpointValidationError) Field ¶
func (e DnsTable_DnsEndpointValidationError) Field() string
Field function returns field value.
func (DnsTable_DnsEndpointValidationError) Key ¶
func (e DnsTable_DnsEndpointValidationError) Key() bool
Key function returns key value.
func (DnsTable_DnsEndpointValidationError) Reason ¶
func (e DnsTable_DnsEndpointValidationError) Reason() string
Reason function returns reason value.
type DnsTable_DnsEndpoint_AddressList ¶
type DnsTable_DnsEndpoint_AddressList struct {
AddressList *DnsTable_AddressList `protobuf:"bytes,1,opt,name=address_list,json=addressList,proto3,oneof" json:"address_list,omitempty"`
}
func (*DnsTable_DnsEndpoint_AddressList) MarshalTo ¶
func (m *DnsTable_DnsEndpoint_AddressList) MarshalTo(dAtA []byte) (int, error)
func (*DnsTable_DnsEndpoint_AddressList) MarshalToSizedBuffer ¶
func (m *DnsTable_DnsEndpoint_AddressList) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*DnsTable_DnsEndpoint_AddressList) Size ¶
func (m *DnsTable_DnsEndpoint_AddressList) Size() (n int)
type DnsTable_DnsVirtualDomain ¶
type DnsTable_DnsVirtualDomain struct { // The domain name for which Envoy will respond to query requests Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The configuration containing the method to determine the address // of this endpoint Endpoint *DnsTable_DnsEndpoint `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // Sets the TTL in dns answers from Envoy returned to the client AnswerTtl *types.Duration `protobuf:"bytes,3,opt,name=answer_ttl,json=answerTtl,proto3" json:"answer_ttl,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*DnsTable_DnsVirtualDomain) Descriptor ¶
func (*DnsTable_DnsVirtualDomain) Descriptor() ([]byte, []int)
func (*DnsTable_DnsVirtualDomain) GetAnswerTtl ¶
func (m *DnsTable_DnsVirtualDomain) GetAnswerTtl() *types.Duration
func (*DnsTable_DnsVirtualDomain) GetEndpoint ¶
func (m *DnsTable_DnsVirtualDomain) GetEndpoint() *DnsTable_DnsEndpoint
func (*DnsTable_DnsVirtualDomain) GetName ¶
func (m *DnsTable_DnsVirtualDomain) GetName() string
func (*DnsTable_DnsVirtualDomain) Marshal ¶
func (m *DnsTable_DnsVirtualDomain) Marshal() (dAtA []byte, err error)
func (*DnsTable_DnsVirtualDomain) MarshalTo ¶
func (m *DnsTable_DnsVirtualDomain) MarshalTo(dAtA []byte) (int, error)
func (*DnsTable_DnsVirtualDomain) MarshalToSizedBuffer ¶
func (m *DnsTable_DnsVirtualDomain) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*DnsTable_DnsVirtualDomain) ProtoMessage ¶
func (*DnsTable_DnsVirtualDomain) ProtoMessage()
func (*DnsTable_DnsVirtualDomain) Reset ¶
func (m *DnsTable_DnsVirtualDomain) Reset()
func (*DnsTable_DnsVirtualDomain) Size ¶
func (m *DnsTable_DnsVirtualDomain) Size() (n int)
func (*DnsTable_DnsVirtualDomain) String ¶
func (m *DnsTable_DnsVirtualDomain) String() string
func (*DnsTable_DnsVirtualDomain) Unmarshal ¶
func (m *DnsTable_DnsVirtualDomain) Unmarshal(dAtA []byte) error
func (*DnsTable_DnsVirtualDomain) Validate ¶
func (m *DnsTable_DnsVirtualDomain) Validate() error
Validate checks the field values on DnsTable_DnsVirtualDomain with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.
func (*DnsTable_DnsVirtualDomain) XXX_DiscardUnknown ¶
func (m *DnsTable_DnsVirtualDomain) XXX_DiscardUnknown()
func (*DnsTable_DnsVirtualDomain) XXX_Marshal ¶
func (m *DnsTable_DnsVirtualDomain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*DnsTable_DnsVirtualDomain) XXX_Merge ¶
func (m *DnsTable_DnsVirtualDomain) XXX_Merge(src proto.Message)
func (*DnsTable_DnsVirtualDomain) XXX_Size ¶
func (m *DnsTable_DnsVirtualDomain) XXX_Size() int
func (*DnsTable_DnsVirtualDomain) XXX_Unmarshal ¶
func (m *DnsTable_DnsVirtualDomain) XXX_Unmarshal(b []byte) error
type DnsTable_DnsVirtualDomainValidationError ¶
type DnsTable_DnsVirtualDomainValidationError struct {
// contains filtered or unexported fields
}
DnsTable_DnsVirtualDomainValidationError is the validation error returned by DnsTable_DnsVirtualDomain.Validate if the designated constraints aren't met.
func (DnsTable_DnsVirtualDomainValidationError) Cause ¶
func (e DnsTable_DnsVirtualDomainValidationError) Cause() error
Cause function returns cause value.
func (DnsTable_DnsVirtualDomainValidationError) Error ¶
func (e DnsTable_DnsVirtualDomainValidationError) Error() string
Error satisfies the builtin error interface
func (DnsTable_DnsVirtualDomainValidationError) ErrorName ¶
func (e DnsTable_DnsVirtualDomainValidationError) ErrorName() string
ErrorName returns error name.
func (DnsTable_DnsVirtualDomainValidationError) Field ¶
func (e DnsTable_DnsVirtualDomainValidationError) Field() string
Field function returns field value.
func (DnsTable_DnsVirtualDomainValidationError) Key ¶
func (e DnsTable_DnsVirtualDomainValidationError) Key() bool
Key function returns key value.
func (DnsTable_DnsVirtualDomainValidationError) Reason ¶
func (e DnsTable_DnsVirtualDomainValidationError) Reason() string
Reason function returns reason value.