Docs Menu

Docs HomeMongoDB Ops Manager

Change the Expiry of One Snapshot

On this page

  • Resource
  • Request Parameters
  • Request Path Parameters
  • Request Query Parameters
  • Request Body Parameters
  • Response
  • links Array
  • Example Request
  • Example Response

All requests to this endpoint must originate from an IP address on the Ops Manager user's API access list. For complete documentation on configuring API access lists, see Require an API Access List for Your Organization.

Base URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0

PATCH /groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/snapshots/{SNAPSHOT-ID}
Name
Type
Description
PROJECT-ID
string
Unique identifier of the project that owns the snapshot.
CLUSTER-ID
string
Unique identifier of the cluster that the snapshot represents.
SNAPSHOT-ID
string
Unique identifier of the snapshot.

The following query parameters are optional:

Name
Type
Necessity
Description
Default
pretty
boolean
Optional
false
envelope
boolean
Optional

Flag that indicates whether or not to wrap the response in an envelope.

Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query.

For endpoints that return one result, the response body includes:

Name
Description
status
HTTP response code
envelope
Expected response body
false
Name
Type
Description
doNotDelete
boolean

Indicator that the snapshot cannot be deleted.

Important

You cannot set doNotDelete to true and set a timestamp for expires in the same request. If you do, Ops Manager returns an error: Cannot modify snapshot because of invalid fields.

expires
timestamp

The date in ISO 8601 date and time format at UTC after which this snapshot can be deleted.

If doNotDelete is set to true, any existing value in expires is removed.

If expires is set to a timestamp at or before the current date and time, Ops Manager deletes the snapshot at its next opportunity. There is no guarantee that the snapshot would be deleted immediately.

If the current expires timestamp has already passed, it cannot be edited.

Name
Type
Description
clusterId
string
Unique identifier of the cluster the snapshot represents.
complete
boolean
Flag that indicates the snapshot has been created. This is false if the snapshot creation job is still in progress.
created
document
Components of a timestamp.
created
.date
timestamp
iso8601-time when the snapshot was taken.
created
.increment
integer
Operation order in which this snapshot took place at this exact point in time. To learn how timestamps work in MongoDB, see Timestamps.
doNotDelete
boolean
Flag that indicates the snapshot cannot be deleted.
expires
timestamp

Timestamp in ISO 8601 date and time format in UTC at UTC after which this snapshot can be deleted.

If doNotDelete is set to true, any value in expires is removed.

If the expires value is earlier than the current date and time, it cannot be edited.

groupId
string
Unique identifier of the project that owns the snapshot.
id
string
Unique identifier of the snapshot.
isPossibly
Inconsistent
boolean

Flag that indicates the consistency of this snapshot.

Note

This appears for sharded cluster snapshots only.

To take a snapshot of a sharded cluster in a consistent state, the Backup temporarily turns off the balancer before creating the snapshot. In some cases, it cannot turn off the balancer in a timely manner. The snapshot is then created with the balancer still running.

If this happens, the snapshot may be in an inconsistent state (e.g., chunk migrations may be in progress).

lastOplog
AppliedTimestamp
document
Components of the timestamp of the last oplog entry was applied.
lastOplog
AppliedTimestamp
.date
timestamp
Timestamp in ISO 8601 date and time format in UTC at UTC when the last oplog was applied.
lastOplog
AppliedTimestamp
.increment
integer
Operation order in which last oplog was applied at this exact point in time. To learn how timestamps work in MongoDB, see Timestamps.
links
object array

One or more links to sub-resources and/or related resources. All links arrays in responses include at least one link called self. The relationships between URLs are explained in the Web Linking Specification.

namespaceFilterList
object
namespaces that are included or excluded from this snapshot.
namespaceFilterList
.filterList
string array

Comma-separated list of any combination of databases or namespaces that are exclusively included or explicitly excluded from the snapshot.

The default value is an empty array ([]).

namespaceFilterList
.filterType
string

Label that determines how namespaces are filtered for this snapshot.

  • If this value is set to blacklist, namespaces in namespaceFilterList.filterList are excluded from the snapshot.

  • If this value is set to whitelist, only namespaces in namespaceFilterList.filterList are included in the snapshot.

The default value is blacklist.

missingShards
array of objects

List of shards that the snapshot is missing.

Note

This appears for sharded cluster snapshots only.

In steady state, this array is empty. If the Backup cannot connect to a shard when a snapshot is created, the shard is omitted from the snapshot. Each document in the array is a cluster document containing a self link.

missingShards
.id
string
Unique identifier of the missing shard.
missingShards
.groupId
string
Unique identifier of the project that owns the missing shard.
missingShards
.typeName
string

Type of server that the missing shard represents:

  • CONFIG_SERVER_REPLICA_SET

  • REPLICA_SET

missingShards
.clusterName
string
Name of the cluster for the missing shard.
missingShards
.shardName
string
Name of the missing shard.
missingShards
.replicaSetName
string
Name of the replica set in the missing shard.
missingShards
.lastHeartbeat
timestamp
Timestamp in ISO 8601 date and time format in UTC at UTC when the last heartbeat was received from the missing shard.
parts
array of objects

Individual parts that comprise the complete snapshot.

parts
.clusterId
string
Unique identifier of the replica set.
parts
.compressionSetting
string
Method of compression for the snapshot.
parts
.dataSizeBytes
number
Total size of the data in the snapshot in bytes.
parts
.encryptionEnabled
boolean
Indicator of the state of encryption of the snapshot data.
parts
.fileSizeBytes
number
Total size of the data files in bytes.
parts
.masterKeyUUID
string

KMIP master key ID used to encrypt the snapshot data.

Note

This appears only if this snapshot has parts.encryptionEnabled : true.

parts
.mongodVersion
string
Version of mongod that the replica set primary was running when the snapshot was created.
parts
.replicaSetName
string
Name of the replica set.
parts
.storageSizeBytes
number
Total size of space allocated for document storage.
parts
.typeName
string

Type of server that the part represents:

  • REPLICA_SET

  • CONFIG_SERVER_REPLICA_SET

The links array includes one or more links to sub-resources and/or related resources. The relations between URLs are explained in the Web Linking Specification

Relation
Description
self
The URL endpoint for this resource.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
--request PATCH "https://{opsManagerHost}:{port}/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/snapshots/{SNAPSHOT-ID}?pretty=true" \
--data '
{
"doNotDelete": true
}'
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}
X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
{
"id" : "{SNAPSHOT-ID}",
"CLUSTER-ID" : "{CLUSTER-ID}",
"complete" : true,
"created" : {
"date" : "2014-07-09T15:24:37Z",
"increment" : 1
},
"doNotDelete" : true,
"GROUP-ID" : "{PROJECT-ID}",
"lastOplogAppliedTimestamp" : {
"date" : "2017-08-21T09:14:51Z",
"increment" : 1
},
"links" : [ {
"href" : "https://{opsManagerHost}:{port}/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/snapshots/{SNAPSHOT-ID}",
"rel" : "self"
} ],
"namespaceFilterList" : {
"filterList" : [ ],
"filterType" : "blacklist"
},
"parts" : [ {
"CLUSTER-ID" : "{CLUSTER-ID}",
"dataSizeBytes" : 17344,
"fileSizeBytes" : 67108864,
"mongodVersion" : "2.6.3",
"replicaSetName" : "rs0",
"storageSizeBytes" : 10502144,
"typeName" : "REPLICA_SET"
} ],
}
←  Get One Snapshot for One ClusterRemove One Snapshot from a Cluster →