# Path: google/cloud/servicedirectory_v1beta1/types/endpoint.py
# class Endpoint(proto.Message):


import proto  # type: ignore
from google.cloud.servicedirectory_v1beta1.types import endpoint
from google.protobuf import timestamp_pb2  # type: ignore
               followed by a slash (/). Metadata that fails to meet
               these requirements are rejected
            -  The ``(*.)google.com/`` and ``(*.)googleapis.com/``
               prefixes are reserved for system metadata managed by
               Service Directory. If the user tries to write to these
               keyspaces, those entries are silently ignored by the
               system

            Note: This field is equivalent to the ``annotations`` field
            in the v1 API. They have the same syntax and read/write to
            the same location in Service Directory.
        endpoints (Sequence[google.cloud.servicedirectory_v1beta1.types.Endpoint]):
            Output only. Endpoints associated with this service.
            Returned on
            [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService].
            Control plane clients should use
            [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
        create_time (google.protobuf.timestamp_pb2.Timestamp):
            Output only. The timestamp when the service
            was created.
        update_time (google.protobuf.timestamp_pb2.Timestamp):
            Output only. The timestamp when the service
            was last updated. Note: endpoints being
            created/deleted/updated within the service are
            not considered service updates for the purpose
            of this timestamp.
    """

    name = proto.Field(proto.STRING, number=1,)
    metadata = proto.MapField(proto.STRING, proto.STRING, number=2,)

# Path: google/cloud/servicedirectory_v1beta1/types/endpoint.py
# class Endpoint(proto.Message):


# Path: google/cloud/servicedirectory_v1beta1/types/service.py
import proto  # type: ignore
from google.cloud.servicedirectory_v1beta1.types import endpoint
from google.protobuf import timestamp_pb2  # type: ignore

               followed by a slash (/). Metadata that fails to meet
               these requirements are rejected
            -  The ``(*.)google.com/`` and ``(*.)googleapis.com/``
               prefixes are reserved for system metadata managed by
               Service Directory. If the user tries to write to these
               keyspaces, those entries are silently ignored by the
               system

            Note: This field is equivalent to the ``annotations`` field
            in the v1 API. They have the same syntax and read/write to
            the same location in Service Directory.
        endpoints (Sequence[google.cloud.servicedirectory_v1beta1.types.Endpoint]):
            Output only. Endpoints associated with this service.
            Returned on
            [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService].
            Control plane clients should use
            [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
        create_time (google.protobuf.timestamp_pb2.Timestamp):
            Output only. The timestamp when the service
            was created.
        update_time (google.protobuf.timestamp_pb2.Timestamp):
            Output only. The timestamp when the service
            was last updated. Note: endpoints being
            created/deleted/updated within the service are
            not considered service updates for the purpose
            of this timestamp.
    """

    name = proto.Field(proto.STRING, number=1,)
    metadata = proto.MapField(proto.STRING, proto.STRING, number=2,)

    endpoints = proto.RepeatedField(proto.MESSAGE, number=3, message=endpoint.Endpoint,)