diff --git a/output/openapi/elasticsearch-openapi.json b/output/openapi/elasticsearch-openapi.json index d8f61bca5a..3dc9458221 100644 --- a/output/openapi/elasticsearch-openapi.json +++ b/output/openapi/elasticsearch-openapi.json @@ -31404,7 +31404,11 @@ "tags": [ "snapshot" ], - "summary": "Triggers the review of a snapshot repository’s contents and deletes any stale data not referenced by existing snapshots", + "summary": "Clean up the snapshot repository", + "description": "Trigger the review of the contents of a snapshot repository and delete any stale data not referenced by existing snapshots.", + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html#snapshots-repository-cleanup" + }, "operationId": "snapshot-cleanup-repository", "parameters": [ { @@ -31467,7 +31471,8 @@ "tags": [ "snapshot" ], - "summary": "Clones indices from one snapshot into another snapshot in the same repository", + "summary": "Clone a snapshot", + "description": "Clone part of all of a snapshot into another snapshot in the same repository.", "operationId": "snapshot-clone", "parameters": [ { @@ -31561,7 +31566,7 @@ "tags": [ "snapshot" ], - "summary": "Returns information about a snapshot", + "summary": "Get snapshot information", "operationId": "snapshot-get", "parameters": [ { @@ -31761,7 +31766,11 @@ "tags": [ "snapshot" ], - "summary": "Creates a snapshot in a repository", + "summary": "Create a snapshot", + "description": "Take a snapshot of a cluster or of data streams and indices.", + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-take-snapshot.html" + }, "operationId": "snapshot-create", "parameters": [ { @@ -31791,7 +31800,11 @@ "tags": [ "snapshot" ], - "summary": "Creates a snapshot in a repository", + "summary": "Create a snapshot", + "description": "Take a snapshot of a cluster or of data streams and indices.", + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-take-snapshot.html" + }, "operationId": "snapshot-create-1", "parameters": [ { @@ -31821,7 +31834,7 @@ "tags": [ "snapshot" ], - "summary": "Deletes one or more snapshots", + "summary": "Delete snapshots", "operationId": "snapshot-delete", "parameters": [ { @@ -31876,7 +31889,7 @@ "tags": [ "snapshot" ], - "summary": "Returns information about a repository", + "summary": "Get snapshot repository information", "operationId": "snapshot-get-repository-1", "parameters": [ { @@ -31900,7 +31913,11 @@ "tags": [ "snapshot" ], - "summary": "Creates a repository", + "summary": "Create or update a snapshot repository", + "description": "IMPORTANT: If you are migrating searchable snapshots, the repository name must be identical in the source and destination clusters.\nTo register a snapshot repository, the cluster's global metadata must be writeable.\nEnsure there are no cluster blocks (for example, `cluster.blocks.read_only` and `clsuter.blocks.read_only_allow_delete` settings) that prevent write access.", + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html" + }, "operationId": "snapshot-create-repository", "parameters": [ { @@ -31930,7 +31947,11 @@ "tags": [ "snapshot" ], - "summary": "Creates a repository", + "summary": "Create or update a snapshot repository", + "description": "IMPORTANT: If you are migrating searchable snapshots, the repository name must be identical in the source and destination clusters.\nTo register a snapshot repository, the cluster's global metadata must be writeable.\nEnsure there are no cluster blocks (for example, `cluster.blocks.read_only` and `clsuter.blocks.read_only_allow_delete` settings) that prevent write access.", + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html" + }, "operationId": "snapshot-create-repository-1", "parameters": [ { @@ -31960,7 +31981,8 @@ "tags": [ "snapshot" ], - "summary": "Deletes a repository", + "summary": "Delete snapshot repositories", + "description": "When a repository is unregistered, Elasticsearch removes only the reference to the location where the repository is storing the snapshots.\nThe snapshots themselves are left untouched and in place.", "operationId": "snapshot-delete-repository", "parameters": [ { @@ -32015,7 +32037,7 @@ "tags": [ "snapshot" ], - "summary": "Returns information about a repository", + "summary": "Get snapshot repository information", "operationId": "snapshot-get-repository", "parameters": [ { @@ -32038,7 +32060,8 @@ "tags": [ "snapshot" ], - "summary": "Verifies the integrity of the contents of a snapshot repository", + "summary": "Verify the repository integrity", + "description": "Verify the integrity of the contents of a snapshot repository.\n\nThis API enables you to perform a comprehensive check of the contents of a repository, looking for any anomalies in its data or metadata which might prevent you from restoring snapshots from the repository or which might cause future snapshot create or delete operations to fail.\n\nIf you suspect the integrity of the contents of one of your snapshot repositories, cease all write activity to this repository immediately, set its `read_only` option to `true`, and use this API to verify its integrity.\nUntil you do so:\n\n* It may not be possible to restore some snapshots from this repository.\n* Searchable snapshots may report errors when searched or may have unassigned shards.\n* Taking snapshots into this repository may fail or may appear to succeed but have created a snapshot which cannot be restored.\n* Deleting snapshots from this repository may fail or may appear to succeed but leave the underlying data on disk.\n* Continuing to write to the repository while it is in an invalid state may causing additional damage to its contents.\n\nIf the API finds any problems with the integrity of the contents of your repository, Elasticsearch will not be able to repair the damage.\nThe only way to bring the repository back into a fully working state after its contents have been damaged is by restoring its contents from a repository backup which was taken before the damage occurred.\nYou must also identify what caused the damage and take action to prevent it from happening again.\n\nIf you cannot restore a repository backup, register a new repository and use this for all future snapshot operations.\nIn some cases it may be possible to recover some of the contents of a damaged repository, either by restoring as many of its snapshots as needed and taking new snapshots of the restored data, or by using the reindex API to copy data from any searchable snapshots mounted from the damaged repository.\n\nAvoid all operations which write to the repository while the verify repository integrity API is running.\nIf something changes the repository contents while an integrity verification is running then Elasticsearch may incorrectly report having detected some anomalies in its contents due to the concurrent writes.\nIt may also incorrectly fail to report some anomalies that the concurrent writes prevented it from detecting.\n\nNOTE: This API is intended for exploratory use by humans. You should expect the request parameters and the response format to vary in future versions.\n\nNOTE: This API may not work correctly in a mixed-version cluster.", "operationId": "snapshot-repository-verify-integrity", "parameters": [ { @@ -32153,7 +32176,11 @@ "tags": [ "snapshot" ], - "summary": "Restores a snapshot", + "summary": "Restore a snapshot", + "description": "Restore a snapshot of a cluster or data streams and indices.\n\nYou can restore a snapshot only to a running cluster with an elected master node.\nThe snapshot repository must be registered and available to the cluster.\nThe snapshot and cluster versions must be compatible.\n\nTo restore a snapshot, the cluster's global metadata must be writable. Ensure there are't any cluster blocks that prevent writes. The restore operation ignores index blocks.\n\nBefore you restore a data stream, ensure the cluster contains a matching index template with data streams enabled. To check, use the index management feature in Kibana or the get index template API:\n\n```\nGET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream\n```\n\nIf no such template exists, you can create one or restore a cluster state that contains one. Without a matching index template, a data stream can't roll over or create backing indices.\n\nIf your snapshot contains data from App Search or Workplace Search, you must restore the Enterprise Search encryption key before you restore the snapshot.", + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-restore-snapshot.html" + }, "operationId": "snapshot-restore", "parameters": [ { @@ -32274,7 +32301,8 @@ "tags": [ "snapshot" ], - "summary": "Returns information about the status of a snapshot", + "summary": "Get the snapshot status", + "description": "Get a detailed description of the current state for each shard participating in the snapshot.\nNote that this API should be used only to obtain detailed shard-level information for ongoing snapshots.\nIf this detail is not needed or you want to obtain information about one or more existing snapshots, use the get snapshot API.\n\nWARNING: Using the API to return the status of any snapshots other than currently running snapshots can be expensive.\nThe API requires a read from the repository for each shard in each snapshot.\nFor example, if you have 100 snapshots with 1,000 shards each, an API request that includes all snapshots will require 100,000 reads (100 snapshots x 1,000 shards).\n\nDepending on the latency of your storage, such requests can take an extremely long time to return results.\nThese requests can also tax machine resources and, when using cloud storage, incur high processing costs.", "operationId": "snapshot-status", "parameters": [ { @@ -32297,7 +32325,8 @@ "tags": [ "snapshot" ], - "summary": "Returns information about the status of a snapshot", + "summary": "Get the snapshot status", + "description": "Get a detailed description of the current state for each shard participating in the snapshot.\nNote that this API should be used only to obtain detailed shard-level information for ongoing snapshots.\nIf this detail is not needed or you want to obtain information about one or more existing snapshots, use the get snapshot API.\n\nWARNING: Using the API to return the status of any snapshots other than currently running snapshots can be expensive.\nThe API requires a read from the repository for each shard in each snapshot.\nFor example, if you have 100 snapshots with 1,000 shards each, an API request that includes all snapshots will require 100,000 reads (100 snapshots x 1,000 shards).\n\nDepending on the latency of your storage, such requests can take an extremely long time to return results.\nThese requests can also tax machine resources and, when using cloud storage, incur high processing costs.", "operationId": "snapshot-status-1", "parameters": [ { @@ -32323,7 +32352,8 @@ "tags": [ "snapshot" ], - "summary": "Returns information about the status of a snapshot", + "summary": "Get the snapshot status", + "description": "Get a detailed description of the current state for each shard participating in the snapshot.\nNote that this API should be used only to obtain detailed shard-level information for ongoing snapshots.\nIf this detail is not needed or you want to obtain information about one or more existing snapshots, use the get snapshot API.\n\nWARNING: Using the API to return the status of any snapshots other than currently running snapshots can be expensive.\nThe API requires a read from the repository for each shard in each snapshot.\nFor example, if you have 100 snapshots with 1,000 shards each, an API request that includes all snapshots will require 100,000 reads (100 snapshots x 1,000 shards).\n\nDepending on the latency of your storage, such requests can take an extremely long time to return results.\nThese requests can also tax machine resources and, when using cloud storage, incur high processing costs.", "operationId": "snapshot-status-2", "parameters": [ { @@ -32352,7 +32382,11 @@ "tags": [ "snapshot" ], - "summary": "Verifies a repository", + "summary": "Verify a snapshot repository", + "description": "Check for common misconfigurations in a snapshot repository.", + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html#snapshots-repository-verification" + }, "operationId": "snapshot-verify-repository", "parameters": [ { diff --git a/output/schema/schema.json b/output/schema/schema.json index 3b46acd516..c6f1da945e 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -18249,9 +18249,16 @@ "stability": "stable" } }, - "description": "Triggers the review of a snapshot repository’s contents and deletes any stale data not referenced by existing snapshots.", + "description": "Clean up the snapshot repository.\nTrigger the review of the contents of a snapshot repository and delete any stale data not referenced by existing snapshots.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/clean-up-snapshot-repo-api.html", + "extDocId": "clean-up-snapshot-repo", + "extDocUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/snapshots-register-repository.html#snapshots-repository-cleanup", "name": "snapshot.cleanup_repository", + "privileges": { + "cluster": [ + "manage" + ] + }, "request": { "name": "Request", "namespace": "snapshot.cleanup_repository" @@ -18284,9 +18291,14 @@ "stability": "stable" } }, - "description": "Clones indices from one snapshot into another snapshot in the same repository.", + "description": "Clone a snapshot.\nClone part of all of a snapshot into another snapshot in the same repository.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", "name": "snapshot.clone", + "privileges": { + "cluster": [ + "manage" + ] + }, "request": { "name": "Request", "namespace": "snapshot.clone" @@ -18322,9 +18334,16 @@ "stability": "stable" } }, - "description": "Creates a snapshot in a repository.", + "description": "Create a snapshot.\nTake a snapshot of a cluster or of data streams and indices.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", + "extDocId": "snapshot-create", + "extDocUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/snapshots-take-snapshot.html", "name": "snapshot.create", + "privileges": { + "cluster": [ + "create_snapshot" + ] + }, "request": { "name": "Request", "namespace": "snapshot.create" @@ -18361,9 +18380,16 @@ "stability": "stable" } }, - "description": "Creates a repository.", + "description": "Create or update a snapshot repository.\nIMPORTANT: If you are migrating searchable snapshots, the repository name must be identical in the source and destination clusters.\nTo register a snapshot repository, the cluster's global metadata must be writeable.\nEnsure there are no cluster blocks (for example, `cluster.blocks.read_only` and `clsuter.blocks.read_only_allow_delete` settings) that prevent write access.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", + "extDocId": "register-repository", + "extDocUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/snapshots-register-repository.html", "name": "snapshot.create_repository", + "privileges": { + "cluster": [ + "manage" + ] + }, "request": { "name": "Request", "namespace": "snapshot.create_repository" @@ -18399,9 +18425,14 @@ "stability": "stable" } }, - "description": "Deletes one or more snapshots.", + "description": "Delete snapshots.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", "name": "snapshot.delete", + "privileges": { + "cluster": [ + "manage" + ] + }, "request": { "name": "Request", "namespace": "snapshot.delete" @@ -18434,9 +18465,14 @@ "stability": "stable" } }, - "description": "Deletes a repository.", + "description": "Delete snapshot repositories.\nWhen a repository is unregistered, Elasticsearch removes only the reference to the location where the repository is storing the snapshots.\nThe snapshots themselves are left untouched and in place.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", "name": "snapshot.delete_repository", + "privileges": { + "cluster": [ + "manage" + ] + }, "request": { "name": "Request", "namespace": "snapshot.delete_repository" @@ -18469,9 +18505,14 @@ "stability": "stable" } }, - "description": "Returns information about a snapshot.", + "description": "Get snapshot information.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", "name": "snapshot.get", + "privileges": { + "cluster": [ + "monitor_snapshot" + ] + }, "request": { "name": "Request", "namespace": "snapshot.get" @@ -18504,9 +18545,14 @@ "stability": "stable" } }, - "description": "Returns information about a repository.", + "description": "Get snapshot repository information.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", "name": "snapshot.get_repository", + "privileges": { + "cluster": [ + "monitor_snapshot" + ] + }, "request": { "name": "Request", "namespace": "snapshot.get_repository" @@ -18567,9 +18613,14 @@ "visibility": "private" } }, - "description": "Verifies the integrity of the contents of a snapshot repository", + "description": "Verify the repository integrity.\nVerify the integrity of the contents of a snapshot repository.\n\nThis API enables you to perform a comprehensive check of the contents of a repository, looking for any anomalies in its data or metadata which might prevent you from restoring snapshots from the repository or which might cause future snapshot create or delete operations to fail.\n\nIf you suspect the integrity of the contents of one of your snapshot repositories, cease all write activity to this repository immediately, set its `read_only` option to `true`, and use this API to verify its integrity.\nUntil you do so:\n\n* It may not be possible to restore some snapshots from this repository.\n* Searchable snapshots may report errors when searched or may have unassigned shards.\n* Taking snapshots into this repository may fail or may appear to succeed but have created a snapshot which cannot be restored.\n* Deleting snapshots from this repository may fail or may appear to succeed but leave the underlying data on disk.\n* Continuing to write to the repository while it is in an invalid state may causing additional damage to its contents.\n\nIf the API finds any problems with the integrity of the contents of your repository, Elasticsearch will not be able to repair the damage.\nThe only way to bring the repository back into a fully working state after its contents have been damaged is by restoring its contents from a repository backup which was taken before the damage occurred.\nYou must also identify what caused the damage and take action to prevent it from happening again.\n\nIf you cannot restore a repository backup, register a new repository and use this for all future snapshot operations.\nIn some cases it may be possible to recover some of the contents of a damaged repository, either by restoring as many of its snapshots as needed and taking new snapshots of the restored data, or by using the reindex API to copy data from any searchable snapshots mounted from the damaged repository.\n\nAvoid all operations which write to the repository while the verify repository integrity API is running.\nIf something changes the repository contents while an integrity verification is running then Elasticsearch may incorrectly report having detected some anomalies in its contents due to the concurrent writes.\nIt may also incorrectly fail to report some anomalies that the concurrent writes prevented it from detecting.\n\nNOTE: This API is intended for exploratory use by humans. You should expect the request parameters and the response format to vary in future versions.\n\nNOTE: This API may not work correctly in a mixed-version cluster.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", "name": "snapshot.repository_verify_integrity", + "privileges": { + "cluster": [ + "manage" + ] + }, "request": { "name": "Request", "namespace": "snapshot.repository_verify_integrity" @@ -18602,9 +18653,16 @@ "stability": "stable" } }, - "description": "Restores a snapshot.", + "description": "Restore a snapshot.\nRestore a snapshot of a cluster or data streams and indices.\n\nYou can restore a snapshot only to a running cluster with an elected master node.\nThe snapshot repository must be registered and available to the cluster.\nThe snapshot and cluster versions must be compatible.\n\nTo restore a snapshot, the cluster's global metadata must be writable. Ensure there are't any cluster blocks that prevent writes. The restore operation ignores index blocks.\n\nBefore you restore a data stream, ensure the cluster contains a matching index template with data streams enabled. To check, use the index management feature in Kibana or the get index template API:\n\n```\nGET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream\n```\n\nIf no such template exists, you can create one or restore a cluster state that contains one. Without a matching index template, a data stream can't roll over or create backing indices.\n\nIf your snapshot contains data from App Search or Workplace Search, you must restore the Enterprise Search encryption key before you restore the snapshot.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", + "extDocId": "restore-snapshot", + "extDocUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/snapshots-restore-snapshot.html", "name": "snapshot.restore", + "privileges": { + "cluster": [ + "manage" + ] + }, "request": { "name": "Request", "namespace": "snapshot.restore" @@ -18640,9 +18698,14 @@ "stability": "stable" } }, - "description": "Returns information about the status of a snapshot.", + "description": "Get the snapshot status.\nGet a detailed description of the current state for each shard participating in the snapshot.\nNote that this API should be used only to obtain detailed shard-level information for ongoing snapshots.\nIf this detail is not needed or you want to obtain information about one or more existing snapshots, use the get snapshot API.\n\nWARNING: Using the API to return the status of any snapshots other than currently running snapshots can be expensive.\nThe API requires a read from the repository for each shard in each snapshot.\nFor example, if you have 100 snapshots with 1,000 shards each, an API request that includes all snapshots will require 100,000 reads (100 snapshots x 1,000 shards).\n\nDepending on the latency of your storage, such requests can take an extremely long time to return results.\nThese requests can also tax machine resources and, when using cloud storage, incur high processing costs.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", "name": "snapshot.status", + "privileges": { + "cluster": [ + "monitor_snapshot" + ] + }, "request": { "name": "Request", "namespace": "snapshot.status" @@ -18687,9 +18750,16 @@ "stability": "stable" } }, - "description": "Verifies a repository.", + "description": "Verify a snapshot repository.\nCheck for common misconfigurations in a snapshot repository.", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", + "extDocId": "verify-repository", + "extDocUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/snapshots-register-repository.html#snapshots-repository-verification", "name": "snapshot.verify_repository", + "privileges": { + "cluster": [ + "manage" + ] + }, "request": { "name": "Request", "namespace": "snapshot.verify_repository" @@ -203371,7 +203441,7 @@ "body": { "kind": "no_body" }, - "description": "Triggers the review of a snapshot repository’s contents and deletes any stale data not referenced by existing snapshots.", + "description": "Clean up the snapshot repository.\nTrigger the review of the contents of a snapshot repository and delete any stale data not referenced by existing snapshots.", "inherits": { "type": { "name": "RequestBase", @@ -203425,7 +203495,7 @@ } } ], - "specLocation": "snapshot/cleanup_repository/SnapshotCleanupRepositoryRequest.ts#L24-L49" + "specLocation": "snapshot/cleanup_repository/SnapshotCleanupRepositoryRequest.ts#L24-L52" }, { "kind": "response", @@ -203473,7 +203543,7 @@ } ] }, - "description": "Clones indices from one snapshot into another snapshot in the same repository.", + "description": "Clone a snapshot.\nClone part of all of a snapshot into another snapshot in the same repository.", "inherits": { "type": { "name": "RequestBase", @@ -203547,7 +203617,7 @@ } } ], - "specLocation": "snapshot/clone/SnapshotCloneRequest.ts#L24-L42" + "specLocation": "snapshot/clone/SnapshotCloneRequest.ts#L24-L45" }, { "kind": "response", @@ -203655,7 +203725,7 @@ } ] }, - "description": "Creates a snapshot in a repository.", + "description": "Create a snapshot.\nTake a snapshot of a cluster or of data streams and indices.", "inherits": { "type": { "name": "RequestBase", @@ -203720,7 +203790,7 @@ } } ], - "specLocation": "snapshot/create/SnapshotCreateRequest.ts#L24-L81" + "specLocation": "snapshot/create/SnapshotCreateRequest.ts#L24-L85" }, { "kind": "response", @@ -203781,7 +203851,7 @@ } } }, - "description": "Creates a repository.", + "description": "Create or update a snapshot repository.\nIMPORTANT: If you are migrating searchable snapshots, the repository name must be identical in the source and destination clusters.\nTo register a snapshot repository, the cluster's global metadata must be writeable.\nEnsure there are no cluster blocks (for example, `cluster.blocks.read_only` and `clsuter.blocks.read_only_allow_delete` settings) that prevent write access.", "inherits": { "type": { "name": "RequestBase", @@ -203845,7 +203915,7 @@ } } ], - "specLocation": "snapshot/create_repository/SnapshotCreateRepositoryRequest.ts#L25-L42" + "specLocation": "snapshot/create_repository/SnapshotCreateRepositoryRequest.ts#L25-L48" }, { "kind": "response", @@ -203873,7 +203943,7 @@ "body": { "kind": "no_body" }, - "description": "Deletes one or more snapshots.", + "description": "Delete snapshots.", "inherits": { "type": { "name": "RequestBase", @@ -203924,7 +203994,7 @@ } } ], - "specLocation": "snapshot/delete/SnapshotDeleteRequest.ts#L24-L37" + "specLocation": "snapshot/delete/SnapshotDeleteRequest.ts#L24-L39" }, { "kind": "response", @@ -203952,7 +204022,7 @@ "body": { "kind": "no_body" }, - "description": "Deletes a repository.", + "description": "Delete snapshot repositories.\nWhen a repository is unregistered, Elasticsearch removes only the reference to the location where the repository is storing the snapshots.\nThe snapshots themselves are left untouched and in place.", "inherits": { "type": { "name": "RequestBase", @@ -204004,7 +204074,7 @@ } } ], - "specLocation": "snapshot/delete_repository/SnapshotDeleteRepositoryRequest.ts#L24-L38" + "specLocation": "snapshot/delete_repository/SnapshotDeleteRepositoryRequest.ts#L24-L42" }, { "kind": "response", @@ -204032,7 +204102,7 @@ "body": { "kind": "no_body" }, - "description": "Returns information about a snapshot.", + "description": "Get snapshot information.", "inherits": { "type": { "name": "RequestBase", @@ -204291,7 +204361,7 @@ } } ], - "specLocation": "snapshot/get/SnapshotGetRequest.ts#L27-L127" + "specLocation": "snapshot/get/SnapshotGetRequest.ts#L27-L129" }, { "kind": "response", @@ -204424,7 +204494,7 @@ "body": { "kind": "no_body" }, - "description": "Returns information about a repository.", + "description": "Get snapshot repository information.", "inherits": { "type": { "name": "RequestBase", @@ -204476,7 +204546,7 @@ } } ], - "specLocation": "snapshot/get_repository/SnapshotGetRepositoryRequest.ts#L24-L38" + "specLocation": "snapshot/get_repository/SnapshotGetRepositoryRequest.ts#L24-L40" }, { "kind": "response", @@ -204515,7 +204585,7 @@ "body": { "kind": "no_body" }, - "description": "Verifies the integrity of the contents of a snapshot repository", + "description": "Verify the repository integrity.\nVerify the integrity of the contents of a snapshot repository.\n\nThis API enables you to perform a comprehensive check of the contents of a repository, looking for any anomalies in its data or metadata which might prevent you from restoring snapshots from the repository or which might cause future snapshot create or delete operations to fail.\n\nIf you suspect the integrity of the contents of one of your snapshot repositories, cease all write activity to this repository immediately, set its `read_only` option to `true`, and use this API to verify its integrity.\nUntil you do so:\n\n* It may not be possible to restore some snapshots from this repository.\n* Searchable snapshots may report errors when searched or may have unassigned shards.\n* Taking snapshots into this repository may fail or may appear to succeed but have created a snapshot which cannot be restored.\n* Deleting snapshots from this repository may fail or may appear to succeed but leave the underlying data on disk.\n* Continuing to write to the repository while it is in an invalid state may causing additional damage to its contents.\n\nIf the API finds any problems with the integrity of the contents of your repository, Elasticsearch will not be able to repair the damage.\nThe only way to bring the repository back into a fully working state after its contents have been damaged is by restoring its contents from a repository backup which was taken before the damage occurred.\nYou must also identify what caused the damage and take action to prevent it from happening again.\n\nIf you cannot restore a repository backup, register a new repository and use this for all future snapshot operations.\nIn some cases it may be possible to recover some of the contents of a damaged repository, either by restoring as many of its snapshots as needed and taking new snapshots of the restored data, or by using the reindex API to copy data from any searchable snapshots mounted from the damaged repository.\n\nAvoid all operations which write to the repository while the verify repository integrity API is running.\nIf something changes the repository contents while an integrity verification is running then Elasticsearch may incorrectly report having detected some anomalies in its contents due to the concurrent writes.\nIt may also incorrectly fail to report some anomalies that the concurrent writes prevented it from detecting.\n\nNOTE: This API is intended for exploratory use by humans. You should expect the request parameters and the response format to vary in future versions.\n\nNOTE: This API may not work correctly in a mixed-version cluster.", "inherits": { "type": { "name": "RequestBase", @@ -204639,7 +204709,7 @@ } } ], - "specLocation": "snapshot/repository_verify_integrity/SnapshotRepositoryVerifyIntegrityRequest.ts#L24-L43" + "specLocation": "snapshot/repository_verify_integrity/SnapshotRepositoryVerifyIntegrityRequest.ts#L24-L72" }, { "kind": "response", @@ -204781,7 +204851,7 @@ } ] }, - "description": "Restores a snapshot.", + "description": "Restore a snapshot.\nRestore a snapshot of a cluster or data streams and indices.\n\nYou can restore a snapshot only to a running cluster with an elected master node.\nThe snapshot repository must be registered and available to the cluster.\nThe snapshot and cluster versions must be compatible.\n\nTo restore a snapshot, the cluster's global metadata must be writable. Ensure there are't any cluster blocks that prevent writes. The restore operation ignores index blocks.\n\nBefore you restore a data stream, ensure the cluster contains a matching index template with data streams enabled. To check, use the index management feature in Kibana or the get index template API:\n\n```\nGET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream\n```\n\nIf no such template exists, you can create one or restore a cluster state that contains one. Without a matching index template, a data stream can't roll over or create backing indices.\n\nIf your snapshot contains data from App Search or Workplace Search, you must restore the Enterprise Search encryption key before you restore the snapshot.", "inherits": { "type": { "name": "RequestBase", @@ -204844,7 +204914,7 @@ } } ], - "specLocation": "snapshot/restore/SnapshotRestoreRequest.ts#L25-L51" + "specLocation": "snapshot/restore/SnapshotRestoreRequest.ts#L25-L71" }, { "kind": "response", @@ -204935,7 +205005,7 @@ "body": { "kind": "no_body" }, - "description": "Returns information about the status of a snapshot.", + "description": "Get the snapshot status.\nGet a detailed description of the current state for each shard participating in the snapshot.\nNote that this API should be used only to obtain detailed shard-level information for ongoing snapshots.\nIf this detail is not needed or you want to obtain information about one or more existing snapshots, use the get snapshot API.\n\nWARNING: Using the API to return the status of any snapshots other than currently running snapshots can be expensive.\nThe API requires a read from the repository for each shard in each snapshot.\nFor example, if you have 100 snapshots with 1,000 shards each, an API request that includes all snapshots will require 100,000 reads (100 snapshots x 1,000 shards).\n\nDepending on the latency of your storage, such requests can take an extremely long time to return results.\nThese requests can also tax machine resources and, when using cloud storage, incur high processing costs.", "inherits": { "type": { "name": "RequestBase", @@ -204998,7 +205068,7 @@ } } ], - "specLocation": "snapshot/status/SnapshotStatusRequest.ts#L24-L38" + "specLocation": "snapshot/status/SnapshotStatusRequest.ts#L24-L50" }, { "kind": "response", @@ -205056,7 +205126,7 @@ "body": { "kind": "no_body" }, - "description": "Verifies a repository.", + "description": "Verify a snapshot repository.\nCheck for common misconfigurations in a snapshot repository.", "inherits": { "type": { "name": "RequestBase", @@ -205108,7 +205178,7 @@ } } ], - "specLocation": "snapshot/verify_repository/SnapshotVerifyRepositoryRequest.ts#L24-L38" + "specLocation": "snapshot/verify_repository/SnapshotVerifyRepositoryRequest.ts#L24-L42" }, { "kind": "response", diff --git a/specification/_doc_ids/table.csv b/specification/_doc_ids/table.csv index 1e7fac6559..16601f3352 100644 --- a/specification/_doc_ids/table.csv +++ b/specification/_doc_ids/table.csv @@ -61,6 +61,7 @@ ccr-put-auto-follow-pattern,https://www.elastic.co/guide/en/elasticsearch/refere ccr-put-follow,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/ccr-put-follow.html ccr-resume-auto-follow-pattern,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/ccr-resume-auto-follow-pattern.html ccs-network-delays,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/modules-cross-cluster-search.html#ccs-network-delays +clean-up-snapshot-repo,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/snapshots-register-repository.html#snapshots-repository-cleanup clean-up-snapshot-repo-api,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/clean-up-snapshot-repo-api.html clear-repositories-metering-archive-api,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/clear-repositories-metering-archive-api.html clear-scroll-api,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/clear-scroll-api.html @@ -428,6 +429,7 @@ query-rule,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/sear realtime,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/docs-get.html#realtime redact-processor,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/redact-processor.html regexp-syntax,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/regexp-syntax.html +register-repository,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/snapshots-register-repository.html registered-domain-processor,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/registered-domain-processor.html remove-processor,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/remove-processor.html remote-clusters-api-key,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/remote-clusters-api-key.html @@ -435,6 +437,7 @@ rename-processor,https://www.elastic.co/guide/en/elasticsearch/reference/{branch reroute-processor,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/reroute-processor.html render-search-template-api,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/render-search-template-api.html reset-transform,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/reset-transform.html +restore-snapshot,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/snapshots-restore-snapshot.html rollup-delete-job,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/rollup-delete-job.html rollup-get-job,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/rollup-get-job.html rollup-get-rollup-caps,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/rollup-get-rollup-caps.html @@ -640,6 +643,7 @@ urldecode-processor,https://www.elastic.co/guide/en/elasticsearch/reference/{bra usage-api,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/usage-api.html user-agent-processor,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/user-agent-processor.html user-profile,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/user-profile.html +verify-repository,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/snapshots-register-repository.html#snapshots-repository-verification voting-config-exclusions,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/voting-config-exclusions.html watcher-api-ack-watch,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/watcher-api-ack-watch.html watcher-api-activate-watch,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/watcher-api-activate-watch.html diff --git a/specification/snapshot/cleanup_repository/SnapshotCleanupRepositoryRequest.ts b/specification/snapshot/cleanup_repository/SnapshotCleanupRepositoryRequest.ts index 7b69025470..4ad18c81e0 100644 --- a/specification/snapshot/cleanup_repository/SnapshotCleanupRepositoryRequest.ts +++ b/specification/snapshot/cleanup_repository/SnapshotCleanupRepositoryRequest.ts @@ -22,10 +22,13 @@ import { Name } from '@_types/common' import { Duration } from '@_types/Time' /** - * Triggers the review of a snapshot repository’s contents and deletes any stale data not referenced by existing snapshots. + * Clean up the snapshot repository. + * Trigger the review of the contents of a snapshot repository and delete any stale data not referenced by existing snapshots. * @rest_spec_name snapshot.cleanup_repository * @availability stack since=7.4.0 stability=stable * @availability serverless stability=stable visibility=private + * @cluster_privileges manage + * @ext_doc_id clean-up-snapshot-repo */ export interface Request extends RequestBase { path_parts: { diff --git a/specification/snapshot/clone/SnapshotCloneRequest.ts b/specification/snapshot/clone/SnapshotCloneRequest.ts index 8cf780a4e0..4141fb04b6 100644 --- a/specification/snapshot/clone/SnapshotCloneRequest.ts +++ b/specification/snapshot/clone/SnapshotCloneRequest.ts @@ -22,9 +22,12 @@ import { Name } from '@_types/common' import { Duration } from '@_types/Time' /** + * Clone a snapshot. + * Clone part of all of a snapshot into another snapshot in the same repository. * @rest_spec_name snapshot.clone * @availability stack since=7.10.0 stability=stable * @availability serverless stability=stable visibility=private + * @cluster_privileges manage */ export interface Request extends RequestBase { path_parts: { diff --git a/specification/snapshot/create/SnapshotCreateRequest.ts b/specification/snapshot/create/SnapshotCreateRequest.ts index 7fff18df5d..86ae28ecc7 100644 --- a/specification/snapshot/create/SnapshotCreateRequest.ts +++ b/specification/snapshot/create/SnapshotCreateRequest.ts @@ -22,9 +22,13 @@ import { Indices, Metadata, Name } from '@_types/common' import { Duration } from '@_types/Time' /** + * Create a snapshot. + * Take a snapshot of a cluster or of data streams and indices. * @rest_spec_name snapshot.create * @availability stack since=0.0.0 stability=stable * @availability serverless stability=stable visibility=private + * @cluster_privileges create_snapshot + * @ext_doc_id snapshot-create */ export interface Request extends RequestBase { path_parts: { diff --git a/specification/snapshot/create_repository/SnapshotCreateRepositoryRequest.ts b/specification/snapshot/create_repository/SnapshotCreateRepositoryRequest.ts index 93e836180e..b5eb7782bd 100644 --- a/specification/snapshot/create_repository/SnapshotCreateRepositoryRequest.ts +++ b/specification/snapshot/create_repository/SnapshotCreateRepositoryRequest.ts @@ -23,9 +23,15 @@ import { Name } from '@_types/common' import { Duration } from '@_types/Time' /** + * Create or update a snapshot repository. + * IMPORTANT: If you are migrating searchable snapshots, the repository name must be identical in the source and destination clusters. + * To register a snapshot repository, the cluster's global metadata must be writeable. + * Ensure there are no cluster blocks (for example, `cluster.blocks.read_only` and `clsuter.blocks.read_only_allow_delete` settings) that prevent write access. * @rest_spec_name snapshot.create_repository * @availability stack since=0.0.0 stability=stable * @availability serverless stability=stable visibility=private + * @cluster_privileges manage + * @ext_doc_id register-repository */ export interface Request extends RequestBase { path_parts: { diff --git a/specification/snapshot/delete/SnapshotDeleteRequest.ts b/specification/snapshot/delete/SnapshotDeleteRequest.ts index e9194337f4..4ba1ed9fc9 100644 --- a/specification/snapshot/delete/SnapshotDeleteRequest.ts +++ b/specification/snapshot/delete/SnapshotDeleteRequest.ts @@ -22,9 +22,11 @@ import { Name } from '@_types/common' import { Duration } from '@_types/Time' /** + * Delete snapshots. * @rest_spec_name snapshot.delete * @availability stack stability=stable * @availability serverless stability=stable visibility=private + * @cluster_privileges manage */ export interface Request extends RequestBase { path_parts: { diff --git a/specification/snapshot/delete_repository/SnapshotDeleteRepositoryRequest.ts b/specification/snapshot/delete_repository/SnapshotDeleteRepositoryRequest.ts index 84ff3aea05..b5e274a232 100644 --- a/specification/snapshot/delete_repository/SnapshotDeleteRepositoryRequest.ts +++ b/specification/snapshot/delete_repository/SnapshotDeleteRepositoryRequest.ts @@ -22,9 +22,13 @@ import { Names } from '@_types/common' import { Duration } from '@_types/Time' /** + * Delete snapshot repositories. + * When a repository is unregistered, Elasticsearch removes only the reference to the location where the repository is storing the snapshots. + * The snapshots themselves are left untouched and in place. * @rest_spec_name snapshot.delete_repository * @availability stack since=0.0.0 stability=stable * @availability serverless stability=stable visibility=private + * @cluster_privileges manage */ export interface Request extends RequestBase { path_parts: { diff --git a/specification/snapshot/get/SnapshotGetRequest.ts b/specification/snapshot/get/SnapshotGetRequest.ts index 0ecdcd1281..fd096bb030 100644 --- a/specification/snapshot/get/SnapshotGetRequest.ts +++ b/specification/snapshot/get/SnapshotGetRequest.ts @@ -25,9 +25,11 @@ import { SortOrder } from '@_types/sort' import { Duration } from '@_types/Time' /** + * Get snapshot information. * @rest_spec_name snapshot.get * @availability stack since=0.0.0 stability=stable * @availability serverless stability=stable visibility=private + * @cluster_privileges monitor_snapshot */ export interface Request extends RequestBase { path_parts: { diff --git a/specification/snapshot/get_repository/SnapshotGetRepositoryRequest.ts b/specification/snapshot/get_repository/SnapshotGetRepositoryRequest.ts index b620870113..4d42c890c8 100644 --- a/specification/snapshot/get_repository/SnapshotGetRepositoryRequest.ts +++ b/specification/snapshot/get_repository/SnapshotGetRepositoryRequest.ts @@ -22,9 +22,11 @@ import { Names } from '@_types/common' import { Duration } from '@_types/Time' /** + * Get snapshot repository information. * @rest_spec_name snapshot.get_repository * @availability stack since=0.0.0 stability=stable * @availability serverless stability=stable visibility=private + * @cluster_privileges monitor_snapshot */ export interface Request extends RequestBase { path_parts: { diff --git a/specification/snapshot/repository_verify_integrity/SnapshotRepositoryVerifyIntegrityRequest.ts b/specification/snapshot/repository_verify_integrity/SnapshotRepositoryVerifyIntegrityRequest.ts index 2c77b1476a..5e493327d4 100644 --- a/specification/snapshot/repository_verify_integrity/SnapshotRepositoryVerifyIntegrityRequest.ts +++ b/specification/snapshot/repository_verify_integrity/SnapshotRepositoryVerifyIntegrityRequest.ts @@ -22,8 +22,37 @@ import { Names } from '@_types/common' import { integer } from '@_types/Numeric' /** + * Verify the repository integrity. + * Verify the integrity of the contents of a snapshot repository. + * + * This API enables you to perform a comprehensive check of the contents of a repository, looking for any anomalies in its data or metadata which might prevent you from restoring snapshots from the repository or which might cause future snapshot create or delete operations to fail. + * + * If you suspect the integrity of the contents of one of your snapshot repositories, cease all write activity to this repository immediately, set its `read_only` option to `true`, and use this API to verify its integrity. + * Until you do so: + * + * * It may not be possible to restore some snapshots from this repository. + * * Searchable snapshots may report errors when searched or may have unassigned shards. + * * Taking snapshots into this repository may fail or may appear to succeed but have created a snapshot which cannot be restored. + * * Deleting snapshots from this repository may fail or may appear to succeed but leave the underlying data on disk. + * * Continuing to write to the repository while it is in an invalid state may causing additional damage to its contents. + * + * If the API finds any problems with the integrity of the contents of your repository, Elasticsearch will not be able to repair the damage. + * The only way to bring the repository back into a fully working state after its contents have been damaged is by restoring its contents from a repository backup which was taken before the damage occurred. + * You must also identify what caused the damage and take action to prevent it from happening again. + * + * If you cannot restore a repository backup, register a new repository and use this for all future snapshot operations. + * In some cases it may be possible to recover some of the contents of a damaged repository, either by restoring as many of its snapshots as needed and taking new snapshots of the restored data, or by using the reindex API to copy data from any searchable snapshots mounted from the damaged repository. + * + * Avoid all operations which write to the repository while the verify repository integrity API is running. + * If something changes the repository contents while an integrity verification is running then Elasticsearch may incorrectly report having detected some anomalies in its contents due to the concurrent writes. + * It may also incorrectly fail to report some anomalies that the concurrent writes prevented it from detecting. + * + * NOTE: This API is intended for exploratory use by humans. You should expect the request parameters and the response format to vary in future versions. + * + * NOTE: This API may not work correctly in a mixed-version cluster. * @rest_spec_name snapshot.repository_verify_integrity * @availability stack since=8.16.0 stability=experimental visibility=private + * @cluster_privileges manage */ export interface Request extends RequestBase { path_parts: { diff --git a/specification/snapshot/restore/SnapshotRestoreRequest.ts b/specification/snapshot/restore/SnapshotRestoreRequest.ts index bedf603476..a982b26fe6 100644 --- a/specification/snapshot/restore/SnapshotRestoreRequest.ts +++ b/specification/snapshot/restore/SnapshotRestoreRequest.ts @@ -23,9 +23,29 @@ import { Indices, Name } from '@_types/common' import { Duration } from '@_types/Time' /** + * Restore a snapshot. + * Restore a snapshot of a cluster or data streams and indices. + * + * You can restore a snapshot only to a running cluster with an elected master node. + * The snapshot repository must be registered and available to the cluster. + * The snapshot and cluster versions must be compatible. + * + * To restore a snapshot, the cluster's global metadata must be writable. Ensure there are't any cluster blocks that prevent writes. The restore operation ignores index blocks. + * + * Before you restore a data stream, ensure the cluster contains a matching index template with data streams enabled. To check, use the index management feature in Kibana or the get index template API: + * + * ``` + * GET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream + * ``` + * + * If no such template exists, you can create one or restore a cluster state that contains one. Without a matching index template, a data stream can't roll over or create backing indices. + * + * If your snapshot contains data from App Search or Workplace Search, you must restore the Enterprise Search encryption key before you restore the snapshot. * @rest_spec_name snapshot.restore * @availability stack since=0.0.0 stability=stable * @availability serverless stability=stable visibility=private + * @cluster_privileges manage + * @ext_doc_id restore-snapshot */ export interface Request extends RequestBase { path_parts: { diff --git a/specification/snapshot/status/SnapshotStatusRequest.ts b/specification/snapshot/status/SnapshotStatusRequest.ts index 747f5bd2cb..44a7f74489 100644 --- a/specification/snapshot/status/SnapshotStatusRequest.ts +++ b/specification/snapshot/status/SnapshotStatusRequest.ts @@ -22,9 +22,21 @@ import { Name, Names } from '@_types/common' import { Duration } from '@_types/Time' /** + * Get the snapshot status. + * Get a detailed description of the current state for each shard participating in the snapshot. + * Note that this API should be used only to obtain detailed shard-level information for ongoing snapshots. + * If this detail is not needed or you want to obtain information about one or more existing snapshots, use the get snapshot API. + * + * WARNING: Using the API to return the status of any snapshots other than currently running snapshots can be expensive. + * The API requires a read from the repository for each shard in each snapshot. + * For example, if you have 100 snapshots with 1,000 shards each, an API request that includes all snapshots will require 100,000 reads (100 snapshots x 1,000 shards). + * + * Depending on the latency of your storage, such requests can take an extremely long time to return results. + * These requests can also tax machine resources and, when using cloud storage, incur high processing costs. * @rest_spec_name snapshot.status * @availability stack since=7.8.0 stability=stable * @availability serverless stability=stable visibility=private + * @cluster_privileges monitor_snapshot */ export interface Request extends RequestBase { path_parts: { diff --git a/specification/snapshot/verify_repository/SnapshotVerifyRepositoryRequest.ts b/specification/snapshot/verify_repository/SnapshotVerifyRepositoryRequest.ts index ec97297dc9..951a55bb5a 100644 --- a/specification/snapshot/verify_repository/SnapshotVerifyRepositoryRequest.ts +++ b/specification/snapshot/verify_repository/SnapshotVerifyRepositoryRequest.ts @@ -22,9 +22,13 @@ import { Name } from '@_types/common' import { Duration } from '@_types/Time' /** + * Verify a snapshot repository. + * Check for common misconfigurations in a snapshot repository. * @rest_spec_name snapshot.verify_repository * @availability stack since=0.0.0 stability=stable * @availability serverless stability=stable visibility=private + * @cluster_privileges manage + * @ext_doc_id verify-repository */ export interface Request extends RequestBase { path_parts: {