Endpoint

/v3/snapshots/policies/

GET

Returns information about all snapshot policies.

Parameters

This resource has no parameters.

Response

Codes

Code Description
200 Return value on success

Schema

{
  "description": "api_snapshot_policies",
  "type": "object",
  "properties": {
    "entries": {
      "type": "array",
      "items": {
        "description": "List of snapshot policy information",
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique identifier for the snapshot policy.",
            "type": "number"
          },
          "policy_name": {
            "description": "The snapshot policy name.",
            "type": "string"
          },
          "snapshot_name_template": {
            "description": "The naming template for the snapshots that this policy creates.",
            "type": "string"
          },
          "source_file_id": {
            "description": "The source file ID of the directory to snapshot under this policy.",
            "type": "string"
          },
          "schedule": {
            "description": "The schedule according to which to take snapshots under this policy.",
            "type": "object",
            "properties": {
              "id": {
                "description": "Identifier for the snapshot policy's schedule. Only unique within the scope of a snapshot policy.",
                "type": "number"
              },
              "creation_schedule": {
                "description": "Structure defining when to take snapshots",
                "type": "object",
                "properties": {
                  "timezone": {
                    "description": "The timezone in which the schedule should be interpreted (e.g. America/Los_Angeles or UTC).",
                    "type": "string"
                  },
                  "frequency": {
                    "type": "string",
                    "enum": [
                      "SCHEDULE_MONTHLY",
                      "SCHEDULE_DAILY_OR_WEEKLY",
                      "SCHEDULE_HOURLY_OR_LESS"
                    ],
                    "description": "Coarse frequency (MONTHLY, DAILY_OR_WEEKLY, or HOURLY_OR_LESS) at which to take snapshot:\n * `SCHEDULE_DAILY_OR_WEEKLY` - SCHEDULE_DAILY_OR_WEEKLY,\n * `SCHEDULE_HOURLY_OR_LESS` - SCHEDULE_HOURLY_OR_LESS,\n * `SCHEDULE_MONTHLY` - SCHEDULE_MONTHLY"
                  },
                  "hour": {
                    "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: Hour of day [0, 23] at which to take snapshot",
                    "type": "number"
                  },
                  "minute": {
                    "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: minute of hour [0, 59] at which to take snapshot",
                    "type": "number"
                  },
                  "on_days": {
                    "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.",
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "SUN",
                        "MON",
                        "TUE",
                        "WED",
                        "THU",
                        "FRI",
                        "SAT",
                        "EVERY_DAY"
                      ],
                      "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.:\n * `EVERY_DAY` - EVERY_DAY,\n * `FRI` - FRI,\n * `MON` - MON,\n * `SAT` - SAT,\n * `SUN` - SUN,\n * `THU` - THU,\n * `TUE` - TUE,\n * `WED` - WED"
                    }
                  },
                  "day_of_month": {
                    "description": "For MONTHLY frequency: day of month on which to take snapshot. [1, 27] for specific day, 128 for last day of month.",
                    "type": "number"
                  },
                  "window_start_hour": {
                    "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for start of window during which to take snapshots",
                    "type": "number"
                  },
                  "window_start_minute": {
                    "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for start of window during which to take snapshots",
                    "type": "number"
                  },
                  "window_end_hour": {
                    "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for end of window during which to take snapshots)",
                    "type": "number"
                  },
                  "window_end_minute": {
                    "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for end of window during which to take snapshots",
                    "type": "number"
                  },
                  "fire_every_interval": {
                    "type": "string",
                    "enum": [
                      "FIRE_IN_MINUTES",
                      "FIRE_IN_HOURS"
                    ],
                    "description": "For HOURLY_OR_LESS frequency: units for interval (MINUTES or HOURS) at which to take snapshot during specified window:\n * `FIRE_IN_HOURS` - FIRE_IN_HOURS,\n * `FIRE_IN_MINUTES` - FIRE_IN_MINUTES"
                  },
                  "fire_every": {
                    "description": "For HOURLY_OR_LESS frequency: value for interval [1, 99] at which to take snapshot during specified window",
                    "type": "number"
                  }
                }
              },
              "expiration_time_to_live": {
                "description": "Duration after which to expire snapshots created by this policy, in format <quantity><units>, where <quantity> is a positive integer less than 100 and <units> is one of [months, weeks, days, hours, minutes], e.g. 5days or 1hours. Empty string or never indicates snapshots should never expire.",
                "type": "string"
              }
            }
          },
          "enabled": {
            "description": "Specifies whether taking snapshots is enabled for this policy.",
            "type": "boolean"
          },
          "lock_key_ref": {
            "description": "If non-empty, snapshots taken for this policy will be locked with the given id.",
            "type": "string"
          }
        }
      }
    }
  }
}

POST

Creates a new snapshot policy and returns its information.

Parameters

This resource has no parameters.

Request

Schema

{
  "description": "api_snapshot_policy_create",
  "type": "object",
  "properties": {
    "policy_name": {
      "description": "The snapshot policy name.",
      "type": "string"
    },
    "snapshot_name_template": {
      "description": "The naming template for the snapshots that this policy creates. If set to null, Qumulo Core uses {ID}_{Policy} for root directories and {ID}_{Policy}_{Directory} for all other directory types.",
      "type": "string"
    },
    "source_file_id": {
      "description": "The source file ID of the directory to snapshot under this policy.",
      "type": "string"
    },
    "schedule": {
      "description": "The schedule according to which to take snapshots under this policy.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Identifier for the snapshot policy's schedule. Only unique within the scope of a snapshot policy.",
          "type": "number"
        },
        "creation_schedule": {
          "description": "Structure defining when to take snapshots",
          "type": "object",
          "properties": {
            "timezone": {
              "description": "The timezone in which the schedule should be interpreted (e.g. America/Los_Angeles or UTC).",
              "type": "string"
            },
            "frequency": {
              "type": "string",
              "enum": [
                "SCHEDULE_MONTHLY",
                "SCHEDULE_DAILY_OR_WEEKLY",
                "SCHEDULE_HOURLY_OR_LESS"
              ],
              "description": "Coarse frequency (MONTHLY, DAILY_OR_WEEKLY, or HOURLY_OR_LESS) at which to take snapshot:\n * `SCHEDULE_DAILY_OR_WEEKLY` - SCHEDULE_DAILY_OR_WEEKLY,\n * `SCHEDULE_HOURLY_OR_LESS` - SCHEDULE_HOURLY_OR_LESS,\n * `SCHEDULE_MONTHLY` - SCHEDULE_MONTHLY"
            },
            "hour": {
              "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: Hour of day [0, 23] at which to take snapshot",
              "type": "number"
            },
            "minute": {
              "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: minute of hour [0, 59] at which to take snapshot",
              "type": "number"
            },
            "on_days": {
              "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.",
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "SUN",
                  "MON",
                  "TUE",
                  "WED",
                  "THU",
                  "FRI",
                  "SAT",
                  "EVERY_DAY"
                ],
                "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.:\n * `EVERY_DAY` - EVERY_DAY,\n * `FRI` - FRI,\n * `MON` - MON,\n * `SAT` - SAT,\n * `SUN` - SUN,\n * `THU` - THU,\n * `TUE` - TUE,\n * `WED` - WED"
              }
            },
            "day_of_month": {
              "description": "For MONTHLY frequency: day of month on which to take snapshot. [1, 27] for specific day, 128 for last day of month.",
              "type": "number"
            },
            "window_start_hour": {
              "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for start of window during which to take snapshots",
              "type": "number"
            },
            "window_start_minute": {
              "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for start of window during which to take snapshots",
              "type": "number"
            },
            "window_end_hour": {
              "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for end of window during which to take snapshots)",
              "type": "number"
            },
            "window_end_minute": {
              "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for end of window during which to take snapshots",
              "type": "number"
            },
            "fire_every_interval": {
              "type": "string",
              "enum": [
                "FIRE_IN_MINUTES",
                "FIRE_IN_HOURS"
              ],
              "description": "For HOURLY_OR_LESS frequency: units for interval (MINUTES or HOURS) at which to take snapshot during specified window:\n * `FIRE_IN_HOURS` - FIRE_IN_HOURS,\n * `FIRE_IN_MINUTES` - FIRE_IN_MINUTES"
            },
            "fire_every": {
              "description": "For HOURLY_OR_LESS frequency: value for interval [1, 99] at which to take snapshot during specified window",
              "type": "number"
            }
          }
        },
        "expiration_time_to_live": {
          "description": "Duration after which to expire snapshots created by this policy, in format <quantity><units>, where <quantity> is a positive integer less than 100 and <units> is one of [months, weeks, days, hours, minutes], e.g. 5days or 1hours. Empty string or never indicates snapshots should never expire.",
          "type": "string"
        }
      }
    },
    "enabled": {
      "description": "Specifies whether snapshot taking is enabled for this policy. Taking snapshots is enabled by default.",
      "type": "boolean"
    },
    "lock_key_ref": {
      "description": "If not set to null, the system uses the specified identifier to create locked snapshots under this policy.",
      "type": "string"
    }
  }
}

Response

Codes

Code Description
200 Return value on success

Schema

{
  "description": "api_snapshot_policy_info",
  "type": "object",
  "properties": {
    "id": {
      "description": "The unique identifier for the snapshot policy.",
      "type": "number"
    },
    "policy_name": {
      "description": "The snapshot policy name.",
      "type": "string"
    },
    "snapshot_name_template": {
      "description": "The naming template for the snapshots that this policy creates.",
      "type": "string"
    },
    "source_file_id": {
      "description": "The source file ID of the directory to snapshot under this policy.",
      "type": "string"
    },
    "schedule": {
      "description": "The schedule according to which to take snapshots under this policy.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Identifier for the snapshot policy's schedule. Only unique within the scope of a snapshot policy.",
          "type": "number"
        },
        "creation_schedule": {
          "description": "Structure defining when to take snapshots",
          "type": "object",
          "properties": {
            "timezone": {
              "description": "The timezone in which the schedule should be interpreted (e.g. America/Los_Angeles or UTC).",
              "type": "string"
            },
            "frequency": {
              "type": "string",
              "enum": [
                "SCHEDULE_MONTHLY",
                "SCHEDULE_DAILY_OR_WEEKLY",
                "SCHEDULE_HOURLY_OR_LESS"
              ],
              "description": "Coarse frequency (MONTHLY, DAILY_OR_WEEKLY, or HOURLY_OR_LESS) at which to take snapshot:\n * `SCHEDULE_DAILY_OR_WEEKLY` - SCHEDULE_DAILY_OR_WEEKLY,\n * `SCHEDULE_HOURLY_OR_LESS` - SCHEDULE_HOURLY_OR_LESS,\n * `SCHEDULE_MONTHLY` - SCHEDULE_MONTHLY"
            },
            "hour": {
              "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: Hour of day [0, 23] at which to take snapshot",
              "type": "number"
            },
            "minute": {
              "description": "For MONTHLY or DAILY_OR_WEEKLY frequency: minute of hour [0, 59] at which to take snapshot",
              "type": "number"
            },
            "on_days": {
              "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.",
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "SUN",
                  "MON",
                  "TUE",
                  "WED",
                  "THU",
                  "FRI",
                  "SAT",
                  "EVERY_DAY"
                ],
                "description": "For DAILY_OR_WEEKLY or HOURLY_OR_LESS frequency: list of days of the week on which to take snapshots. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days. For MONTHLY frequency: LAST_DAY_OF_MONTH indicates that the snapshot should be taken only on the last day of the month.:\n * `EVERY_DAY` - EVERY_DAY,\n * `FRI` - FRI,\n * `MON` - MON,\n * `SAT` - SAT,\n * `SUN` - SUN,\n * `THU` - THU,\n * `TUE` - TUE,\n * `WED` - WED"
              }
            },
            "day_of_month": {
              "description": "For MONTHLY frequency: day of month on which to take snapshot. [1, 27] for specific day, 128 for last day of month.",
              "type": "number"
            },
            "window_start_hour": {
              "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for start of window during which to take snapshots",
              "type": "number"
            },
            "window_start_minute": {
              "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for start of window during which to take snapshots",
              "type": "number"
            },
            "window_end_hour": {
              "description": "For HOURLY_OR_LESS frequency: hour of day [0, 23] for end of window during which to take snapshots)",
              "type": "number"
            },
            "window_end_minute": {
              "description": "For HOURLY_OR_LESS frequency: minute of hour [0, 59] for end of window during which to take snapshots",
              "type": "number"
            },
            "fire_every_interval": {
              "type": "string",
              "enum": [
                "FIRE_IN_MINUTES",
                "FIRE_IN_HOURS"
              ],
              "description": "For HOURLY_OR_LESS frequency: units for interval (MINUTES or HOURS) at which to take snapshot during specified window:\n * `FIRE_IN_HOURS` - FIRE_IN_HOURS,\n * `FIRE_IN_MINUTES` - FIRE_IN_MINUTES"
            },
            "fire_every": {
              "description": "For HOURLY_OR_LESS frequency: value for interval [1, 99] at which to take snapshot during specified window",
              "type": "number"
            }
          }
        },
        "expiration_time_to_live": {
          "description": "Duration after which to expire snapshots created by this policy, in format <quantity><units>, where <quantity> is a positive integer less than 100 and <units> is one of [months, weeks, days, hours, minutes], e.g. 5days or 1hours. Empty string or never indicates snapshots should never expire.",
          "type": "string"
        }
      }
    },
    "enabled": {
      "description": "Specifies whether taking snapshots is enabled for this policy.",
      "type": "boolean"
    },
    "lock_key_ref": {
      "description": "If non-empty, snapshots taken for this policy will be locked with the given id.",
      "type": "string"
    }
  }
}