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


import proto  # type: ignore
from google.cloud.servicedirectory_v1.types import endpoint
            -  The entire annotations dictionary may contain up to 2000
               characters, spread accoss all key-value pairs.
               Annotations that goes beyond any these limits will be
               rejected.
            -  Valid annotation keys have two segments: an optional
               prefix and name, separated by a slash (/). The name
               segment is required and must be 63 characters or less,
               beginning and ending with an alphanumeric character
               ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.),
               and alphanumerics between. The prefix is optional. If
               specified, the prefix must be a DNS subdomain: a series
               of DNS labels separated by dots (.), not longer than 253
               characters in total, followed by a slash (/). Annotations
               that fails to meet these requirements will be rejected.
            -  The '(*.)google.com/' and '(*.)googleapis.com/' prefixes
               are reserved for system annotations managed by Service
               Directory. If the user tries to write to these keyspaces,
               those entries will be silently ignored by the system.
               Note: This field is equivalent to the 'metadata' field in
               the v1beta1 API. They have the same syntax and read/write
               to the same location in Service Directory.
        endpoints (Sequence[google.cloud.servicedirectory_v1.types.Endpoint]):
            Output only. Endpoints associated with this
            service. Returned on LookupService.Resolve.
            Control plane clients should use
            RegistrationService.ListEndpoints.
    """

    name = proto.Field(proto.STRING, number=1,)
    annotations = proto.MapField(proto.STRING, proto.STRING, number=4,)

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


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

            -  The entire annotations dictionary may contain up to 2000
               characters, spread accoss all key-value pairs.
               Annotations that goes beyond any these limits will be
               rejected.
            -  Valid annotation keys have two segments: an optional
               prefix and name, separated by a slash (/). The name
               segment is required and must be 63 characters or less,
               beginning and ending with an alphanumeric character
               ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.),
               and alphanumerics between. The prefix is optional. If
               specified, the prefix must be a DNS subdomain: a series
               of DNS labels separated by dots (.), not longer than 253
               characters in total, followed by a slash (/). Annotations
               that fails to meet these requirements will be rejected.
            -  The '(*.)google.com/' and '(*.)googleapis.com/' prefixes
               are reserved for system annotations managed by Service
               Directory. If the user tries to write to these keyspaces,
               those entries will be silently ignored by the system.
               Note: This field is equivalent to the 'metadata' field in
               the v1beta1 API. They have the same syntax and read/write
               to the same location in Service Directory.
        endpoints (Sequence[google.cloud.servicedirectory_v1.types.Endpoint]):
            Output only. Endpoints associated with this
            service. Returned on LookupService.Resolve.
            Control plane clients should use
            RegistrationService.ListEndpoints.
    """

    name = proto.Field(proto.STRING, number=1,)
    annotations = proto.MapField(proto.STRING, proto.STRING, number=4,)

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