# -*- coding: utf-8 -*-

# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/api/distribution.proto

from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
    name="google/api/distribution.proto",
    package="google.api",
    syntax="proto3",
    serialized_options=b"\n\016com.google.apiB\021DistributionProtoP\001ZCgoogle.golang.org/genproto/googleapis/api/distribution;distribution\242\002\004GAPI",
    serialized_pb=b'\n\x1dgoogle/api/distribution.proto\x12\ngoogle.api\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xd9\x06\n\x0c\x44istribution\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x0c\n\x04mean\x18\x02 \x01(\x01\x12 \n\x18sum_of_squared_deviation\x18\x03 \x01(\x01\x12-\n\x05range\x18\x04 \x01(\x0b\x32\x1e.google.api.Distribution.Range\x12>\n\x0e\x62ucket_options\x18\x06 \x01(\x0b\x32&.google.api.Distribution.BucketOptions\x12\x15\n\rbucket_counts\x18\x07 \x03(\x03\x12\x34\n\texemplars\x18\n \x03(\x0b\x32!.google.api.Distribution.Exemplar\x1a!\n\x05Range\x12\x0b\n\x03min\x18\x01 \x01(\x01\x12\x0b\n\x03max\x18\x02 \x01(\x01\x1a\xb5\x03\n\rBucketOptions\x12G\n\x0elinear_buckets\x18\x01 \x01(\x0b\x32-.google.api.Distribution.BucketOptions.LinearH\x00\x12Q\n\x13\x65xponential_buckets\x18\x02 \x01(\x0b\x32\x32.google.api.Distribution.BucketOptions.ExponentialH\x00\x12K\n\x10\x65xplicit_buckets\x18\x03 \x01(\x0b\x32/.google.api.Distribution.BucketOptions.ExplicitH\x00\x1a\x43\n\x06Linear\x12\x1a\n\x12num_finite_buckets\x18\x01 \x01(\x05\x12\r\n\x05width\x18\x02 \x01(\x01\x12\x0e\n\x06offset\x18\x03 \x01(\x01\x1aO\n\x0b\x45xponential\x12\x1a\n\x12num_finite_buckets\x18\x01 \x01(\x05\x12\x15\n\rgrowth_factor\x18\x02 \x01(\x01\x12\r\n\x05scale\x18\x03 \x01(\x01\x1a\x1a\n\x08\x45xplicit\x12\x0e\n\x06\x62ounds\x18\x01 \x03(\x01\x42\t\n\x07options\x1as\n\x08\x45xemplar\x12\r\n\x05value\x18\x01 \x01(\x01\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12)\n\x0b\x61ttachments\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyBq\n\x0e\x63om.google.apiB\x11\x44istributionProtoP\x01ZCgoogle.golang.org/genproto/googleapis/api/distribution;distribution\xa2\x02\x04GAPIb\x06proto3',
    dependencies=[
        google_dot_protobuf_dot_any__pb2.DESCRIPTOR,
        google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,
    ],
)


_DISTRIBUTION_RANGE = _descriptor.Descriptor(
    name="Range",
    full_name="google.api.Distribution.Range",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="min",
            full_name="google.api.Distribution.Range.min",
            index=0,
            number=1,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="max",
            full_name="google.api.Distribution.Range.max",
            index=1,
            number=2,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=373,
    serialized_end=406,
)

_DISTRIBUTION_BUCKETOPTIONS_LINEAR = _descriptor.Descriptor(
    name="Linear",
    full_name="google.api.Distribution.BucketOptions.Linear",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="num_finite_buckets",
            full_name="google.api.Distribution.BucketOptions.Linear.num_finite_buckets",
            index=0,
            number=1,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="width",
            full_name="google.api.Distribution.BucketOptions.Linear.width",
            index=1,
            number=2,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="offset",
            full_name="google.api.Distribution.BucketOptions.Linear.offset",
            index=2,
            number=3,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=659,
    serialized_end=726,
)

_DISTRIBUTION_BUCKETOPTIONS_EXPONENTIAL = _descriptor.Descriptor(
    name="Exponential",
    full_name="google.api.Distribution.BucketOptions.Exponential",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="num_finite_buckets",
            full_name="google.api.Distribution.BucketOptions.Exponential.num_finite_buckets",
            index=0,
            number=1,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="growth_factor",
            full_name="google.api.Distribution.BucketOptions.Exponential.growth_factor",
            index=1,
            number=2,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="scale",
            full_name="google.api.Distribution.BucketOptions.Exponential.scale",
            index=2,
            number=3,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=728,
    serialized_end=807,
)

_DISTRIBUTION_BUCKETOPTIONS_EXPLICIT = _descriptor.Descriptor(
    name="Explicit",
    full_name="google.api.Distribution.BucketOptions.Explicit",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="bounds",
            full_name="google.api.Distribution.BucketOptions.Explicit.bounds",
            index=0,
            number=1,
            type=1,
            cpp_type=5,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=809,
    serialized_end=835,
)

_DISTRIBUTION_BUCKETOPTIONS = _descriptor.Descriptor(
    name="BucketOptions",
    full_name="google.api.Distribution.BucketOptions",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="linear_buckets",
            full_name="google.api.Distribution.BucketOptions.linear_buckets",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="exponential_buckets",
            full_name="google.api.Distribution.BucketOptions.exponential_buckets",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="explicit_buckets",
            full_name="google.api.Distribution.BucketOptions.explicit_buckets",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[
        _DISTRIBUTION_BUCKETOPTIONS_LINEAR,
        _DISTRIBUTION_BUCKETOPTIONS_EXPONENTIAL,
        _DISTRIBUTION_BUCKETOPTIONS_EXPLICIT,
    ],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="options",
            full_name="google.api.Distribution.BucketOptions.options",
            index=0,
            containing_type=None,
            fields=[],
        )
    ],
    serialized_start=409,
    serialized_end=846,
)

_DISTRIBUTION_EXEMPLAR = _descriptor.Descriptor(
    name="Exemplar",
    full_name="google.api.Distribution.Exemplar",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="value",
            full_name="google.api.Distribution.Exemplar.value",
            index=0,
            number=1,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="timestamp",
            full_name="google.api.Distribution.Exemplar.timestamp",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="attachments",
            full_name="google.api.Distribution.Exemplar.attachments",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=848,
    serialized_end=963,
)

_DISTRIBUTION = _descriptor.Descriptor(
    name="Distribution",
    full_name="google.api.Distribution",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="count",
            full_name="google.api.Distribution.count",
            index=0,
            number=1,
            type=3,
            cpp_type=2,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="mean",
            full_name="google.api.Distribution.mean",
            index=1,
            number=2,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="sum_of_squared_deviation",
            full_name="google.api.Distribution.sum_of_squared_deviation",
            index=2,
            number=3,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="range",
            full_name="google.api.Distribution.range",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="bucket_options",
            full_name="google.api.Distribution.bucket_options",
            index=4,
            number=6,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="bucket_counts",
            full_name="google.api.Distribution.bucket_counts",
            index=5,
            number=7,
            type=3,
            cpp_type=2,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="exemplars",
            full_name="google.api.Distribution.exemplars",
            index=6,
            number=10,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[
        _DISTRIBUTION_RANGE,
        _DISTRIBUTION_BUCKETOPTIONS,
        _DISTRIBUTION_EXEMPLAR,
    ],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=106,
    serialized_end=963,
)

_DISTRIBUTION_RANGE.containing_type = _DISTRIBUTION
_DISTRIBUTION_BUCKETOPTIONS_LINEAR.containing_type = _DISTRIBUTION_BUCKETOPTIONS
_DISTRIBUTION_BUCKETOPTIONS_EXPONENTIAL.containing_type = _DISTRIBUTION_BUCKETOPTIONS
_DISTRIBUTION_BUCKETOPTIONS_EXPLICIT.containing_type = _DISTRIBUTION_BUCKETOPTIONS
_DISTRIBUTION_BUCKETOPTIONS.fields_by_name[
    "linear_buckets"
].message_type = _DISTRIBUTION_BUCKETOPTIONS_LINEAR
_DISTRIBUTION_BUCKETOPTIONS.fields_by_name[
    "exponential_buckets"
].message_type = _DISTRIBUTION_BUCKETOPTIONS_EXPONENTIAL
_DISTRIBUTION_BUCKETOPTIONS.fields_by_name[
    "explicit_buckets"
].message_type = _DISTRIBUTION_BUCKETOPTIONS_EXPLICIT
_DISTRIBUTION_BUCKETOPTIONS.containing_type = _DISTRIBUTION
_DISTRIBUTION_BUCKETOPTIONS.oneofs_by_name["options"].fields.append(
    _DISTRIBUTION_BUCKETOPTIONS.fields_by_name["linear_buckets"]
)
_DISTRIBUTION_BUCKETOPTIONS.fields_by_name[
    "linear_buckets"
].containing_oneof = _DISTRIBUTION_BUCKETOPTIONS.oneofs_by_name["options"]
_DISTRIBUTION_BUCKETOPTIONS.oneofs_by_name["options"].fields.append(
    _DISTRIBUTION_BUCKETOPTIONS.fields_by_name["exponential_buckets"]
)
_DISTRIBUTION_BUCKETOPTIONS.fields_by_name[
    "exponential_buckets"
].containing_oneof = _DISTRIBUTION_BUCKETOPTIONS.oneofs_by_name["options"]
_DISTRIBUTION_BUCKETOPTIONS.oneofs_by_name["options"].fields.append(
    _DISTRIBUTION_BUCKETOPTIONS.fields_by_name["explicit_buckets"]
)
_DISTRIBUTION_BUCKETOPTIONS.fields_by_name[
    "explicit_buckets"
].containing_oneof = _DISTRIBUTION_BUCKETOPTIONS.oneofs_by_name["options"]
_DISTRIBUTION_EXEMPLAR.fields_by_name[
    "timestamp"
].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_DISTRIBUTION_EXEMPLAR.fields_by_name[
    "attachments"
].message_type = google_dot_protobuf_dot_any__pb2._ANY
_DISTRIBUTION_EXEMPLAR.containing_type = _DISTRIBUTION
_DISTRIBUTION.fields_by_name["range"].message_type = _DISTRIBUTION_RANGE
_DISTRIBUTION.fields_by_name[
    "bucket_options"
].message_type = _DISTRIBUTION_BUCKETOPTIONS
_DISTRIBUTION.fields_by_name["exemplars"].message_type = _DISTRIBUTION_EXEMPLAR
DESCRIPTOR.message_types_by_name["Distribution"] = _DISTRIBUTION
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Distribution = _reflection.GeneratedProtocolMessageType(
    "Distribution",
    (_message.Message,),
    {
        "Range": _reflection.GeneratedProtocolMessageType(
            "Range",
            (_message.Message,),
            {
                "DESCRIPTOR": _DISTRIBUTION_RANGE,
                "__module__": "google.api.distribution_pb2"
                # @@protoc_insertion_point(class_scope:google.api.Distribution.Range)
            },
        ),
        "BucketOptions": _reflection.GeneratedProtocolMessageType(
            "BucketOptions",
            (_message.Message,),
            {
                "Linear": _reflection.GeneratedProtocolMessageType(
                    "Linear",
                    (_message.Message,),
                    {
                        "DESCRIPTOR": _DISTRIBUTION_BUCKETOPTIONS_LINEAR,
                        "__module__": "google.api.distribution_pb2"
                        # @@protoc_insertion_point(class_scope:google.api.Distribution.BucketOptions.Linear)
                    },
                ),
                "Exponential": _reflection.GeneratedProtocolMessageType(
                    "Exponential",
                    (_message.Message,),
                    {
                        "DESCRIPTOR": _DISTRIBUTION_BUCKETOPTIONS_EXPONENTIAL,
                        "__module__": "google.api.distribution_pb2"
                        # @@protoc_insertion_point(class_scope:google.api.Distribution.BucketOptions.Exponential)
                    },
                ),
                "Explicit": _reflection.GeneratedProtocolMessageType(
                    "Explicit",
                    (_message.Message,),
                    {
                        "DESCRIPTOR": _DISTRIBUTION_BUCKETOPTIONS_EXPLICIT,
                        "__module__": "google.api.distribution_pb2"
                        # @@protoc_insertion_point(class_scope:google.api.Distribution.BucketOptions.Explicit)
                    },
                ),
                "DESCRIPTOR": _DISTRIBUTION_BUCKETOPTIONS,
                "__module__": "google.api.distribution_pb2"
                # @@protoc_insertion_point(class_scope:google.api.Distribution.BucketOptions)
            },
        ),
        "Exemplar": _reflection.GeneratedProtocolMessageType(
            "Exemplar",
            (_message.Message,),
            {
                "DESCRIPTOR": _DISTRIBUTION_EXEMPLAR,
                "__module__": "google.api.distribution_pb2"
                # @@protoc_insertion_point(class_scope:google.api.Distribution.Exemplar)
            },
        ),
        "DESCRIPTOR": _DISTRIBUTION,
        "__module__": "google.api.distribution_pb2"
        # @@protoc_insertion_point(class_scope:google.api.Distribution)
    },
)
_sym_db.RegisterMessage(Distribution)
_sym_db.RegisterMessage(Distribution.Range)
_sym_db.RegisterMessage(Distribution.BucketOptions)
_sym_db.RegisterMessage(Distribution.BucketOptions.Linear)
_sym_db.RegisterMessage(Distribution.BucketOptions.Exponential)
_sym_db.RegisterMessage(Distribution.BucketOptions.Explicit)
_sym_db.RegisterMessage(Distribution.Exemplar)


DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
