cloudprober: github.com/google/cloudprober/probes/proto Index | Files

package proto

import "github.com/google/cloudprober/probes/proto"

Index

Package Files

config.pb.go

Constants

const (
    Default_ProbeDef_IntervalMsec = int32(2000)
    Default_ProbeDef_TimeoutMsec  = int32(1000)
    Default_ProbeDef_LatencyUnit  = string("us")
)

Default values for ProbeDef fields.

Variables

var (
    ProbeDef_Type_name = map[int32]string{
        0:  "PING",
        1:  "HTTP",
        2:  "DNS",
        3:  "EXTERNAL",
        4:  "UDP",
        5:  "UDP_LISTENER",
        6:  "GRPC",
        98: "EXTENSION",
        99: "USER_DEFINED",
    }
    ProbeDef_Type_value = map[string]int32{
        "PING":         0,
        "HTTP":         1,
        "DNS":          2,
        "EXTERNAL":     3,
        "UDP":          4,
        "UDP_LISTENER": 5,
        "GRPC":         6,
        "EXTENSION":    98,
        "USER_DEFINED": 99,
    }
)

Enum value maps for ProbeDef_Type.

var (
    ProbeDef_IPVersion_name = map[int32]string{
        0:  "IP_VERSION_UNSPECIFIED",
        1:  "IPV4",
        2:  "IPV6",
    }
    ProbeDef_IPVersion_value = map[string]int32{
        "IP_VERSION_UNSPECIFIED": 0,
        "IPV4":                   1,
        "IPV6":                   2,
    }
)

Enum value maps for ProbeDef_IPVersion.

var File_github_com_google_cloudprober_probes_proto_config_proto protoreflect.FileDescriptor

type AdditionalLabel Uses

type AdditionalLabel struct {
    Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
    // Value can either be a static value or can be derived from target's labels.
    // To get value from target's labels, use target.labels.<target's label key>
    // as value.
    Value *string `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
    // contains filtered or unexported fields
}

func (*AdditionalLabel) Descriptor Uses

func (*AdditionalLabel) Descriptor() ([]byte, []int)

Deprecated: Use AdditionalLabel.ProtoReflect.Descriptor instead.

func (*AdditionalLabel) GetKey Uses

func (x *AdditionalLabel) GetKey() string

func (*AdditionalLabel) GetValue Uses

func (x *AdditionalLabel) GetValue() string

func (*AdditionalLabel) ProtoMessage Uses

func (*AdditionalLabel) ProtoMessage()

func (*AdditionalLabel) ProtoReflect Uses

func (x *AdditionalLabel) ProtoReflect() protoreflect.Message

func (*AdditionalLabel) Reset Uses

func (x *AdditionalLabel) Reset()

func (*AdditionalLabel) String Uses

func (x *AdditionalLabel) String() string

type DebugOptions Uses

type DebugOptions struct {

    // Whether to log metrics or not.
    LogMetrics *bool `protobuf:"varint,1,opt,name=log_metrics,json=logMetrics" json:"log_metrics,omitempty"`
    // contains filtered or unexported fields
}

func (*DebugOptions) Descriptor Uses

func (*DebugOptions) Descriptor() ([]byte, []int)

Deprecated: Use DebugOptions.ProtoReflect.Descriptor instead.

func (*DebugOptions) GetLogMetrics Uses

func (x *DebugOptions) GetLogMetrics() bool

func (*DebugOptions) ProtoMessage Uses

func (*DebugOptions) ProtoMessage()

func (*DebugOptions) ProtoReflect Uses

func (x *DebugOptions) ProtoReflect() protoreflect.Message

func (*DebugOptions) Reset Uses

func (x *DebugOptions) Reset()

func (*DebugOptions) String Uses

func (x *DebugOptions) String() string

type ProbeDef Uses

type ProbeDef struct {
    Name *string        `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
    Type *ProbeDef_Type `protobuf:"varint,2,req,name=type,enum=cloudprober.probes.ProbeDef_Type" json:"type,omitempty"`
    // Which machines this probe should run on. If defined, cloudprober will run
    // this probe only if machine's hostname matches this value.
    RunOn *string `protobuf:"bytes,3,opt,name=run_on,json=runOn" json:"run_on,omitempty"`
    // Interval between two probes
    IntervalMsec *int32 `protobuf:"varint,4,opt,name=interval_msec,json=intervalMsec,def=2000" json:"interval_msec,omitempty"`
    // Timeout for each probe
    TimeoutMsec *int32 `protobuf:"varint,5,opt,name=timeout_msec,json=timeoutMsec,def=1000" json:"timeout_msec,omitempty"`
    // Targets for the probe
    Targets *proto1.TargetsDef `protobuf:"bytes,6,req,name=targets" json:"targets,omitempty"`
    // Latency distribution. If specified, latency is stored as a distribution.
    LatencyDistribution *proto2.Dist `protobuf:"bytes,7,opt,name=latency_distribution,json=latencyDistribution" json:"latency_distribution,omitempty"`
    // Latency unit. Any string that's parseable by time.ParseDuration.
    // Valid values: "ns", "us" (or "µs"), "ms", "s", "m", "h".
    LatencyUnit *string `protobuf:"bytes,8,opt,name=latency_unit,json=latencyUnit,def=us" json:"latency_unit,omitempty"`
    // Validators are in experimental phase right now and can change at any time.
    // NOTE: Only PING, HTTP and DNS probes support validators.
    Validator []*proto3.Validator `protobuf:"bytes,9,rep,name=validator" json:"validator,omitempty"`
    // Set the source IP to send packets from, either by providing an IP address
    // directly, or a network interface.
    //
    // Types that are assignable to SourceIpConfig:
    //	*ProbeDef_SourceIp
    //	*ProbeDef_SourceInterface
    SourceIpConfig isProbeDef_SourceIpConfig `protobuf_oneof:"source_ip_config"`
    IpVersion      *ProbeDef_IPVersion       `protobuf:"varint,12,opt,name=ip_version,json=ipVersion,enum=cloudprober.probes.ProbeDef_IPVersion" json:"ip_version,omitempty"`
    // How often to export stats. Probes usually run at a higher frequency (e.g.
    // every second); stats from individual probes are aggregated within
    // cloudprober until exported. In most cases, users don't need to change the
    // default.
    //
    // By default this field is set in the following way:
    // For all probes except UDP:
    //   stats_export_interval=max(interval, 10s)
    // For UDP:
    //   stats_export_interval=max(2*max(interval, timeout), 10s)
    StatsExportIntervalMsec *int32 `protobuf:"varint,13,opt,name=stats_export_interval_msec,json=statsExportIntervalMsec" json:"stats_export_interval_msec,omitempty"`
    // Additional labels to add to the probe results. Label's value can either be
    // static or can be derived from target's labels.
    //
    // Example:
    //   additional_label {
    //     key: "src_zone"
    //     value: "{{.zone}}"
    //   }
    //   additional_label {
    //     key: "app"
    //     value: "@target.label.app@"
    //   }
    AdditionalLabel []*AdditionalLabel `protobuf:"bytes,14,rep,name=additional_label,json=additionalLabel" json:"additional_label,omitempty"`
    // Types that are assignable to Probe:
    //	*ProbeDef_PingProbe
    //	*ProbeDef_HttpProbe
    //	*ProbeDef_DnsProbe
    //	*ProbeDef_ExternalProbe
    //	*ProbeDef_UdpProbe
    //	*ProbeDef_UdpListenerProbe
    //	*ProbeDef_GrpcProbe
    //	*ProbeDef_UserDefinedProbe
    Probe        isProbeDef_Probe `protobuf_oneof:"probe"`
    DebugOptions *DebugOptions    `protobuf:"bytes,100,opt,name=debug_options,json=debugOptions" json:"debug_options,omitempty"`
    // contains filtered or unexported fields
}

func (*ProbeDef) Descriptor Uses

func (*ProbeDef) Descriptor() ([]byte, []int)

Deprecated: Use ProbeDef.ProtoReflect.Descriptor instead.

func (*ProbeDef) ExtensionRangeArray Uses

func (*ProbeDef) ExtensionRangeArray() []protoiface.ExtensionRangeV1

Deprecated: Use ProbeDef.ProtoReflect.Descriptor.ExtensionRanges instead.

func (*ProbeDef) GetAdditionalLabel Uses

func (x *ProbeDef) GetAdditionalLabel() []*AdditionalLabel

func (*ProbeDef) GetDebugOptions Uses

func (x *ProbeDef) GetDebugOptions() *DebugOptions

func (*ProbeDef) GetDnsProbe Uses

func (x *ProbeDef) GetDnsProbe() *proto6.ProbeConf

func (*ProbeDef) GetExternalProbe Uses

func (x *ProbeDef) GetExternalProbe() *proto7.ProbeConf

func (*ProbeDef) GetGrpcProbe Uses

func (x *ProbeDef) GetGrpcProbe() *proto10.ProbeConf

func (*ProbeDef) GetHttpProbe Uses

func (x *ProbeDef) GetHttpProbe() *proto5.ProbeConf

func (*ProbeDef) GetIntervalMsec Uses

func (x *ProbeDef) GetIntervalMsec() int32

func (*ProbeDef) GetIpVersion Uses

func (x *ProbeDef) GetIpVersion() ProbeDef_IPVersion

func (*ProbeDef) GetLatencyDistribution Uses

func (x *ProbeDef) GetLatencyDistribution() *proto2.Dist

func (*ProbeDef) GetLatencyUnit Uses

func (x *ProbeDef) GetLatencyUnit() string

func (*ProbeDef) GetName Uses

func (x *ProbeDef) GetName() string

func (*ProbeDef) GetPingProbe Uses

func (x *ProbeDef) GetPingProbe() *proto4.ProbeConf

func (*ProbeDef) GetProbe Uses

func (m *ProbeDef) GetProbe() isProbeDef_Probe

func (*ProbeDef) GetRunOn Uses

func (x *ProbeDef) GetRunOn() string

func (*ProbeDef) GetSourceInterface Uses

func (x *ProbeDef) GetSourceInterface() string

func (*ProbeDef) GetSourceIp Uses

func (x *ProbeDef) GetSourceIp() string

func (*ProbeDef) GetSourceIpConfig Uses

func (m *ProbeDef) GetSourceIpConfig() isProbeDef_SourceIpConfig

func (*ProbeDef) GetStatsExportIntervalMsec Uses

func (x *ProbeDef) GetStatsExportIntervalMsec() int32

func (*ProbeDef) GetTargets Uses

func (x *ProbeDef) GetTargets() *proto1.TargetsDef

func (*ProbeDef) GetTimeoutMsec Uses

func (x *ProbeDef) GetTimeoutMsec() int32

func (*ProbeDef) GetType Uses

func (x *ProbeDef) GetType() ProbeDef_Type

func (*ProbeDef) GetUdpListenerProbe Uses

func (x *ProbeDef) GetUdpListenerProbe() *proto9.ProbeConf

func (*ProbeDef) GetUdpProbe Uses

func (x *ProbeDef) GetUdpProbe() *proto8.ProbeConf

func (*ProbeDef) GetUserDefinedProbe Uses

func (x *ProbeDef) GetUserDefinedProbe() string

func (*ProbeDef) GetValidator Uses

func (x *ProbeDef) GetValidator() []*proto3.Validator

func (*ProbeDef) ProtoMessage Uses

func (*ProbeDef) ProtoMessage()

func (*ProbeDef) ProtoReflect Uses

func (x *ProbeDef) ProtoReflect() protoreflect.Message

func (*ProbeDef) Reset Uses

func (x *ProbeDef) Reset()

func (*ProbeDef) String Uses

func (x *ProbeDef) String() string

type ProbeDef_DnsProbe Uses

type ProbeDef_DnsProbe struct {
    DnsProbe *proto6.ProbeConf `protobuf:"bytes,22,opt,name=dns_probe,json=dnsProbe,oneof"`
}

type ProbeDef_ExternalProbe Uses

type ProbeDef_ExternalProbe struct {
    ExternalProbe *proto7.ProbeConf `protobuf:"bytes,23,opt,name=external_probe,json=externalProbe,oneof"`
}

type ProbeDef_GrpcProbe Uses

type ProbeDef_GrpcProbe struct {
    GrpcProbe *proto10.ProbeConf `protobuf:"bytes,26,opt,name=grpc_probe,json=grpcProbe,oneof"`
}

type ProbeDef_HttpProbe Uses

type ProbeDef_HttpProbe struct {
    HttpProbe *proto5.ProbeConf `protobuf:"bytes,21,opt,name=http_probe,json=httpProbe,oneof"`
}

type ProbeDef_IPVersion Uses

type ProbeDef_IPVersion int32

IP version to use for networking probes. If specified, this is used at the time of resolving a target, picking the correct IP for the source IP if source_interface option is provided, and to craft the packet correctly for PING probes.

If ip_version is not configured but source_ip is provided, we get ip_version from it. If both are confgiured, an error is returned if there is a conflict between the two.

If left unspecified and both addresses are available in resolve call or on source interface, IPv4 is preferred. Future work: provide an option to prefer IPv4 and IPv6 explicitly.

const (
    ProbeDef_IP_VERSION_UNSPECIFIED ProbeDef_IPVersion = 0
    ProbeDef_IPV4                   ProbeDef_IPVersion = 1
    ProbeDef_IPV6                   ProbeDef_IPVersion = 2
)

func (ProbeDef_IPVersion) Descriptor Uses

func (ProbeDef_IPVersion) Descriptor() protoreflect.EnumDescriptor

func (ProbeDef_IPVersion) Enum Uses

func (x ProbeDef_IPVersion) Enum() *ProbeDef_IPVersion

func (ProbeDef_IPVersion) EnumDescriptor Uses

func (ProbeDef_IPVersion) EnumDescriptor() ([]byte, []int)

Deprecated: Use ProbeDef_IPVersion.Descriptor instead.

func (ProbeDef_IPVersion) Number Uses

func (x ProbeDef_IPVersion) Number() protoreflect.EnumNumber

func (ProbeDef_IPVersion) String Uses

func (x ProbeDef_IPVersion) String() string

func (ProbeDef_IPVersion) Type Uses

func (ProbeDef_IPVersion) Type() protoreflect.EnumType

func (*ProbeDef_IPVersion) UnmarshalJSON Uses

func (x *ProbeDef_IPVersion) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type ProbeDef_PingProbe Uses

type ProbeDef_PingProbe struct {
    PingProbe *proto4.ProbeConf `protobuf:"bytes,20,opt,name=ping_probe,json=pingProbe,oneof"`
}

type ProbeDef_SourceInterface Uses

type ProbeDef_SourceInterface struct {
    SourceInterface string `protobuf:"bytes,11,opt,name=source_interface,json=sourceInterface,oneof"`
}

type ProbeDef_SourceIp Uses

type ProbeDef_SourceIp struct {
    SourceIp string `protobuf:"bytes,10,opt,name=source_ip,json=sourceIp,oneof"`
}

type ProbeDef_Type Uses

type ProbeDef_Type int32
const (
    ProbeDef_PING         ProbeDef_Type = 0
    ProbeDef_HTTP         ProbeDef_Type = 1
    ProbeDef_DNS          ProbeDef_Type = 2
    ProbeDef_EXTERNAL     ProbeDef_Type = 3
    ProbeDef_UDP          ProbeDef_Type = 4
    ProbeDef_UDP_LISTENER ProbeDef_Type = 5
    ProbeDef_GRPC         ProbeDef_Type = 6
    // One of the extension probe types. See "extensions" below for more
    // details.
    ProbeDef_EXTENSION ProbeDef_Type = 98
    // USER_DEFINED probe type is for a one off probe that you want to compile
    // into cloudprober, but you don't expect it to be reused. If you expect
    // it to be reused, you should consider adding it using the extensions
    // mechanism.
    ProbeDef_USER_DEFINED ProbeDef_Type = 99
)

func (ProbeDef_Type) Descriptor Uses

func (ProbeDef_Type) Descriptor() protoreflect.EnumDescriptor

func (ProbeDef_Type) Enum Uses

func (x ProbeDef_Type) Enum() *ProbeDef_Type

func (ProbeDef_Type) EnumDescriptor Uses

func (ProbeDef_Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use ProbeDef_Type.Descriptor instead.

func (ProbeDef_Type) Number Uses

func (x ProbeDef_Type) Number() protoreflect.EnumNumber

func (ProbeDef_Type) String Uses

func (x ProbeDef_Type) String() string

func (ProbeDef_Type) Type Uses

func (ProbeDef_Type) Type() protoreflect.EnumType

func (*ProbeDef_Type) UnmarshalJSON Uses

func (x *ProbeDef_Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type ProbeDef_UdpListenerProbe Uses

type ProbeDef_UdpListenerProbe struct {
    UdpListenerProbe *proto9.ProbeConf `protobuf:"bytes,25,opt,name=udp_listener_probe,json=udpListenerProbe,oneof"`
}

type ProbeDef_UdpProbe Uses

type ProbeDef_UdpProbe struct {
    UdpProbe *proto8.ProbeConf `protobuf:"bytes,24,opt,name=udp_probe,json=udpProbe,oneof"`
}

type ProbeDef_UserDefinedProbe Uses

type ProbeDef_UserDefinedProbe struct {
    // This field's contents are passed on to the user defined probe, registered
    // for this probe's name through probes.RegisterUserDefined().
    UserDefinedProbe string `protobuf:"bytes,99,opt,name=user_defined_probe,json=userDefinedProbe,oneof"`
}

Package proto imports 16 packages (graph) and is imported by 8 packages. Updated 2020-12-24. Refresh now. Tools for package owners.