Skip to main content

specs

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

Overview

Namespecs
TypeResource
Idgoogle.apigeeregistry.specs

Fields

NameDatatypeDescription
namestringResource name.
descriptionstringA detailed description.
annotationsobjectAnnotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.
contentsstringInput only. The contents of the spec. Provided by API callers when specs are created or updated. To access the contents of a spec, use GetApiSpecContents.
createTimestringOutput only. Creation timestamp; when the spec resource was created.
filenamestringA possibly-hierarchical name used to refer to the spec from other specs.
hashstringOutput only. A SHA-256 hash of the spec's contents. If the spec is gzipped, this is the hash of the uncompressed spec.
labelsobjectLabels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with apigeeregistry.googleapis.com/ and cannot be changed.
mimeTypestringA style (format) descriptor for this spec that is specified as a Media Type. Possible values include application/vnd.apigee.proto, application/vnd.apigee.openapi, and application/vnd.apigee.graphql, with possible suffixes representing compression types. These hypothetical names are defined in the vendor tree defined in RFC6838 (https://tools.ietf.org/html/rfc6838) and are not final. Content types can specify compression. Currently only GZip compression is supported (indicated with "+gzip").
revisionCreateTimestringOutput only. Revision creation timestamp; when the represented revision was created.
revisionIdstringOutput only. Immutable. The revision ID of the spec. A new revision is committed whenever the spec contents are changed. The format is an 8-character hexadecimal string.
revisionUpdateTimestringOutput only. Last update timestamp: when the represented revision was last modified.
sizeBytesintegerOutput only. The size of the spec file in bytes. If the spec is gzipped, this is the size of the uncompressed spec.
sourceUristringThe original source URI of the spec (if one exists). This is an external location that can be used for reference purposes but which may not be authoritative since this external resource may change after the spec is retrieved.

Methods

NameAccessible byRequired ParamsDescription
projects_locations_apis_versions_specs_getSELECTapisId, locationsId, projectsId, specsId, versionsIdReturns a specified spec.
projects_locations_apis_versions_specs_listSELECTapisId, locationsId, projectsId, versionsIdReturns matching specs.
projects_locations_apis_versions_specs_createINSERTapisId, locationsId, projectsId, versionsIdCreates a specified spec.
projects_locations_apis_versions_specs_deleteDELETEapisId, locationsId, projectsId, specsId, versionsIdRemoves a specified spec, all revisions, and all child resources (e.g., artifacts).
projects_locations_apis_versions_specs_patchUPDATEapisId, locationsId, projectsId, specsId, versionsIdUsed to modify a specified spec.
projects_locations_apis_versions_specs_rollbackEXECapisId, locationsId, projectsId, specsId, versionsIdSets the current revision to a specified prior revision. Note that this creates a new revision with a new revision ID.
projects_locations_apis_versions_specs_tag_revisionEXECapisId, locationsId, projectsId, specsId, versionsIdAdds a tag to a specified revision of a spec.

SELECT examples

Returns matching specs.

SELECT
name,
description,
annotations,
contents,
createTime,
filename,
hash,
labels,
mimeType,
revisionCreateTime,
revisionId,
revisionUpdateTime,
sizeBytes,
sourceUri
FROM google.apigeeregistry.specs
WHERE apisId = '{{ apisId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}'
AND versionsId = '{{ versionsId }}';

INSERT example

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

/*+ create */
INSERT INTO google.apigeeregistry.specs (
apisId,
locationsId,
projectsId,
versionsId,
name,
filename,
description,
mimeType,
sourceUri,
contents,
labels,
annotations
)
SELECT
'{{ apisId }}',
'{{ locationsId }}',
'{{ projectsId }}',
'{{ versionsId }}',
'{{ name }}',
'{{ filename }}',
'{{ description }}',
'{{ mimeType }}',
'{{ sourceUri }}',
'{{ contents }}',
'{{ labels }}',
'{{ annotations }}'
;

UPDATE example

Updates a specs resource.

/*+ update */
UPDATE google.apigeeregistry.specs
SET
name = '{{ name }}',
filename = '{{ filename }}',
description = '{{ description }}',
mimeType = '{{ mimeType }}',
sourceUri = '{{ sourceUri }}',
contents = '{{ contents }}',
labels = '{{ labels }}',
annotations = '{{ annotations }}'
WHERE
apisId = '{{ apisId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}'
AND specsId = '{{ specsId }}'
AND versionsId = '{{ versionsId }}';

DELETE example

Deletes the specified specs resource.

/*+ delete */
DELETE FROM google.apigeeregistry.specs
WHERE apisId = '{{ apisId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}'
AND specsId = '{{ specsId }}'
AND versionsId = '{{ versionsId }}';