Skip to main content

services

Creates, updates, deletes, gets or lists a services resource.

Overview

Nameservices
TypeResource
Idgoogle.servicedirectory.services

Fields

NameDatatypeDescription
namestringImmutable. The resource name for the service in the format projects/*/locations/*/namespaces/*/services/*.
annotationsobjectOptional. Annotations for the service. This data can be consumed by service clients. Restrictions: The entire annotations dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are 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 are rejected 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.
endpointsarrayOutput only. Endpoints associated with this service. Returned on LookupService.ResolveService. Control plane clients should use RegistrationService.ListEndpoints.
uidstringOutput only. The globally unique identifier of the service in the UUID4 format.

Methods

NameAccessible byRequired ParamsDescription
getSELECTlocationsId, namespacesId, projectsId, servicesIdGets a service.
listSELECTlocationsId, namespacesId, projectsIdLists all services belonging to a namespace.
createINSERTlocationsId, namespacesId, projectsIdCreates a service, and returns the new service.
deleteDELETElocationsId, namespacesId, projectsId, servicesIdDeletes a service. This also deletes all endpoints associated with the service.
patchUPDATElocationsId, namespacesId, projectsId, servicesIdUpdates a service.
resolveEXEClocationsId, namespacesId, projectsId, servicesIdReturns a service and its associated endpoints. Resolving a service is not considered an active developer method.

SELECT examples

Lists all services belonging to a namespace.

SELECT
name,
annotations,
endpoints,
uid
FROM google.servicedirectory.services
WHERE locationsId = '{{ locationsId }}'
AND namespacesId = '{{ namespacesId }}'
AND projectsId = '{{ projectsId }}';

INSERT example

Use the following StackQL query and manifest file to create a new services resource.

/*+ create */
INSERT INTO google.servicedirectory.services (
locationsId,
namespacesId,
projectsId,
name,
annotations
)
SELECT
'{{ locationsId }}',
'{{ namespacesId }}',
'{{ projectsId }}',
'{{ name }}',
'{{ annotations }}'
;

UPDATE example

Updates a services resource.

/*+ update */
UPDATE google.servicedirectory.services
SET
name = '{{ name }}',
annotations = '{{ annotations }}'
WHERE
locationsId = '{{ locationsId }}'
AND namespacesId = '{{ namespacesId }}'
AND projectsId = '{{ projectsId }}'
AND servicesId = '{{ servicesId }}';

DELETE example

Deletes the specified services resource.

/*+ delete */
DELETE FROM google.servicedirectory.services
WHERE locationsId = '{{ locationsId }}'
AND namespacesId = '{{ namespacesId }}'
AND projectsId = '{{ projectsId }}'
AND servicesId = '{{ servicesId }}';