Snapshot Structure

A resource snapshot consists in a JSON file listing the resources you decided to include, as well as their configuration.

The resources object contains arrays named after the types of resources you included in the snapshot (e.g., EXTENSION). These arrays contain the configuration data of each resource in the snapshot. Resources are identified with their resource name, which is a unique identifier across organizations. Two resources in different organizations with an identical resource name are considered to be analogous, i.e., two versions of the same resource.

If a resource is dependent on another resource, the parents object contains the resource name of the parent resource. For instance, in the object representing the configuration of a query pipeline rule, the pipelines to which the rule applies are listed in parents.

The following is an example of a snapshot generated by Coveo.

{
  "metadata": {
    "schemaVersion": "v1"
  },
  "resources": {
    "EXTENSION": [
      {
        "resourceName": "ExtensionModel-tjyoak9hay092gd5Fr5abshka_NwH7sdY",
        "parents": {},
        "model": {
          "name": "ExtensionModel-tjyoak9hay092gd5Fr5abshka",
          "language": "PYTHON3",
          "requiredDataStreams": [],
          "content": "value_type = parameters.get('meta_type', 'string')\r\n\r\nif value_type == 'string':\r\n    value_type = str\r\nelif value_type == 'int':\r\n    value_type = int\r\nelif value_type == 'float':\r\n    value_type = float\r\nelse:\r\n    raise ValueError('meta_type contains invalid value')\r\n\r\ndocument_api.v1.add_meta_data({parameters['meta_name']: value_type(parameters['meta_value'])})"
        }
      }
    ],
    "FIELD": [
      {
        "resourceName": "author_F9h2Pm",
        "parents": {},
        "model": {
          "dateFormat": "",
          "includeInQuery": true,
          "hierarchicalFacet": false,
          "mergeWithLexicon": false,
          "description": "The author of the document",
          "useCacheForComputedFacet": false,
          "sort": false,
          "type": "STRING",
          "smartDateFacet": false,
          "multiValueFacet": false,
          "multiValueFacetTokenizers": ";",
          "system": true,
          "useCacheForNestedQuery": false,
          "name": "author",
          "stemming": false,
          "includeInResults": true,
          "ranking": false,
          "useCacheForSort": false,
          "facet": true,
          "useCacheForNumericQuery": false
        }
      },
      {
        "resourceName": "date_Blu7ab",
        "parents": {},
        "model": {
          "dateFormat": "",
          "includeInQuery": true,
          "hierarchicalFacet": false,
          "mergeWithLexicon": false,
          "description": "The date of the document",
          "useCacheForComputedFacet": false,
          "sort": true,
          "type": "DATE",
          "smartDateFacet": false,
          "multiValueFacet": false,
          "multiValueFacetTokenizers": ";",
          "system": true,
          "useCacheForNestedQuery": false,
          "name": "date",
          "stemming": false,
          "includeInResults": true,
          "ranking": false,
          "useCacheForSort": false,
          "facet": true,
          "useCacheForNumericQuery": true
        }
      }
    ],
    "QUERY_PIPELINE": [
      {
        "resourceName": "default-nh78hR0lad5c_FkYa1O",
        "parents": {},
        "model": {
          "splitTestEnabled": false,
          "default": false,
          "name": "default-nh78hR0lad5c",
          "description": "Default query pipeline. This must remain empty. DO NOT EDIT."
        }
      }
    ]
  }
}

What’s Next?

Before you start managing resource snapshots, you must ensure that you have the privileges required to perform the desired actions.

Recommended Articles