UNPKG

@itentialopensource/adapter-rubrik

Version:

This adapter integrates with system described as: rubrikRestApi.

1,212 lines 67.2 kB
{ "openapi": "3.0.0", "info": { "title": "Rubrik REST API", "description": "\nCopyright © 2017-2021 Rubrik Inc. [Legal](#section/Legal)\n\n# Introduction\n\nWelcome to the Rubrik™ REST API documentation.\n\nThe Rubrik REST API provides a RESTful interface for working with Rubrik clusters and Rubrik Edge virtual appliances. The Rubrik REST API can be used to query, configure, and control nearly all of the operations of the Rubrik software.\n\nThrough authenticated and encrypted interaction with the Rubrik REST API server, perform any of the operations that are available through the Rubrik web UI and many bulk-type operations that might otherwise be difficult or impossible to perform.\n\nThis documentation provides reference information and examples of typical workflows for the Rubrik REST API. For more detailed information about working with Rubrik clusters and Rubrik Edge virtual appliances refer to the *Rubrik User Guide*.\n\nA quick way to become familiar with the Rubrik REST API, is to use the Rubrik REST API Explorer. [OpenAPI](#section/OpenAPI) describes this tool.\n\nRefer to the [changelog](#section/Changelog) to see information about changes within this version of the Rubrik REST API.\n\n# Changelog\n\nRevisions are listed with the most recent revision first.\n\n## Changes to V3 API in Rubrik Version 8.0.0\n### Feature additions/improvements\n * Added new field `frequencies` to `ArchivalSpec` to specify the snapshots to\n be archived based on the frequencies at which the snapshots are taken.\n * Added new field `cloudStorageTiers` to `BaseSnapshotSummary`, this field will\n have only those archival location entries where `cloudStorageTier` is\n applicable.\n\n## Changes to V3 API in Rubrik Version 7.0.0\n### Feature additions/improvements\n* Added `OracleDatabase` and `Mssql` as two new keys in\n `LogConfigMap` for storing Oracle and MSSQL log SLA\n configuration in the SLA definition.\n\n## Changes to V3 API in Rubrik Version 6.0.0\n### New features and improvements\n* Added new field `primaryClusterSlaVersion` and an optional field\n `replicationTargetSlaVersion` in `SlaDomainSummaryV2` to return sla version\n of primary cluster and replication target in\n get, list, create and edit sla rest api responses.\n* Added new optional parameter `should_apply_to_non_policy_snapshots`\n in `PATCH /sla_domain/{id}`.\n\n## Changes to V3 API in Rubrik Version 5.2.0\n### Deprecation\n### New features and improvements\n \n\n# OpenAPI\nThe Rubrik REST API specification conforms to the OpenAPI 2.0 Specification. Tools that work with the OpenAPI 2.0 Specification can be used with the Rubrik REST API specification.\n\nDevelopment releases (pre-1.0) of the Rubrik REST API specification made reference to 'swagger'. The previous release of the OpenAPI 2.0 Specification was named the Swagger 1.2 Specification.\n\nDownload the Rubrik REST API specification for your tools. [Download](./api-docs)\n\n## Rubrik REST API Explorer\nThe Rubrik REST API Explorer is a browser-based API client hosted by the Rubrik cluster. The Explorer has the Rubrik REST API specification built in. You can use the Explorer to try out Rubrik REST API calls and view the responses.\n\n**IMPORTANT:** The Explorer interacts with the Rubrik cluster through the API calls you make. Use care when making calls that modify or delete configurations and data.\n\nTo access the Rubrik REST API Explorer, click: [Rubrik REST API Explorer](./playground/)\n\n# SLA Domains\n\nRubrik clusters provide automated data management and protection through SLA Domains.\nAn SLA Domain defines the data management and protection policies for their assigned snappables (virtual machines, file systems, and applications).\n\nTo provide policy based management and protection of a snappable, add the snappable to an SLA Domain, or to multiple SLA Domains.\n## Patching SLA Domains\n\nTo patch the attributes of an SLA domain, send a PATCH request to\n[`/sla_domain/{id}`](#operation/patchSlaDomainV3). Include in the request body\nonly the attributes that needs to be patched.\n\n**Example:** Patching the daily backup SLA Domain\n\nPatch the SLA Domain that was created in [Creating SLA Domains](#section/SLA-Domains/Creating-SLA-Domains) to change the archival specifications.\n\n```bash\ncurl -X PATCH \\\n -d '{\n \"archivalSpecs\": [\n {\n \"locationId\": \"some-valid-archived-location-id\",\n \"archivalThreshold\": 14\n }\n ]}' \\\n \"https://$cluster_address/api/v3/sla_domain/$sla_id\"\n```\nThe response confirms the new attribute and also includes the other\nattributes that were not changed.\n\n```bash\n{\n \"patchedSlaDomainSummary\" : [\n {\n id\": \"$sla_id\",\n \"name\": \"Daily SLA\",\n \"primaryClusterSlaVersion\": 2,\n \"frequencies\": [\n \"daily\": {\n \"frequency\": 1,\n \"retention\": 7\n }\n ],\n \"archivalSpecs\": [\n {\n \"locationId\": \"some-valid-archived-location-id\",\n \"archivalThreshold\": 14\n }\n ],\n \"allowedBackupWindows\": [],\n \"firstFullAllowedBackupWindows\": []\n }\n ],\n \"batchAsyncRequestStatus\" : [\n {\n \"responses\": [\n {\n \"id\": \"string\",\n \"status\": \"string\",\n \"progress\": 0,\n \"startTime\": \"2019-10-29T22:11:35.256Z\",\n \"endTime\": \"2019-10-29T22:11:35.256Z\",\n \"nodeId\": \"string\",\n \"error\": {\n \"message\": \"string\"\n },\n \"links\": [\n {\n \"href\": \"string\",\n \"rel\": \"string\"\n }\n ]\n }\n ]\n }\n ]\n}\n```\n\nThe Rubrik REST API server responds with HTTP response code 200 and the\nresponse body containing the details of the async request.\n\n# Legal\n\n## Copyright\n\nRubrik REST API - Copyright © 2017-2021 Rubrik Inc.\nAll rights reserved.\n\nThis documentation may be used free of charge. Selling without prior written consent is prohibited.\nObtain permission before redistributing. In all cases, this copyright notice and disclaimer must remain\nintact.\n\n\n## Disclaimer\n\nTHE CONTENTS OF THIS DOCUMENTATION ARE PROVIDED \"AS IS,\" AND COPYRIGHT HOLDERS MAKE NO\nREPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nWARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR\nTITLE; THAT THE CONTENTS OF THE DOCUMENTATION ARE SUITABLE FOR ANY PURPOSE; THAT THE\nIMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,\nTRADEMARKS OR OTHER RIGHTS.\nCOPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL\nDAMAGES ARISING OUT OF ANY USE OF THE DOCUMENTATION OR THE PERFORMANCE OR IMPLEMENTATION OF\nTHE CONTENTS THEREOF.\n\n## Trademarks\n\nRubrik, the Rubrik logo, Rubrik Envision, and Rubrik Edge are trademarks or registered trademarks of Rubrik, Inc. in the U.S. and/or other countries. All other trademarks are the property of their respective owners.\n", "contact": {}, "version": "3" }, "servers": [ { "url": "https://{defaultHost}", "variables": { "defaultHost": { "default": "www.example.com/api/v3" } } } ], "paths": { "/sla_domain/{id}": { "patch": { "tags": [ "/sla_domain" ], "summary": "patchSlaDomainV3", "description": "Update the properties of an SLA Domain.", "operationId": "patchSlaDomainV3", "parameters": [ { "name": "id", "in": "path", "description": "The ID of the SLA Domain.", "required": true, "style": "simple", "schema": { "type": "string" } }, { "name": "should_apply_to_non_policy_snapshots", "in": "query", "description": "Determines if the new configuration value keeps existing, non-policy snapshots of data sources retained by this SLA Domain. The value is 'false' by default. This configuration value takes effect only if 'should_apply_to_existing_snapshots' is set to true.", "style": "form", "explode": true, "schema": { "type": "boolean", "default": false } }, { "name": "should_apply_to_existing_snapshots", "in": "query", "description": "Determines whether the new configuration retains existing snapshots of data sources that are currently retained by this SLA Domain.", "required": true, "style": "form", "explode": true, "schema": { "type": "boolean" } } ], "requestBody": { "description": "Object containing the fields to edit for SLA Domain. The SLA Domain accepts two backup windows, one for a regular backup or snapshot and one for the first full backup or snapshot. Specify times using the Rubrik cluster timezone. Remote SLA Domains only support edits to the archival specification.", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/SlaDomainPatchDefinitionV2" }, { "description": "Object containing the fields to edit for SLA Domain. The SLA Domain accepts two backup windows, one for a regular backup or snapshot and one for the first full backup or snapshot. Specify times using the Rubrik cluster timezone. Remote SLA Domains only support edits to the archival specification." } ] } } }, "required": true }, "responses": { "202": { "description": "Object containing updated SLA Domain along with queued asynchronous requests for assigning the patched SLA domain to affected objects.", "headers": {}, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SlaDomainUpdateSummary" } } } } }, "deprecated": false } } }, "components": { "schemas": { "NutanixVmSlaObjectCount": { "title": "NutanixVmSlaObjectCount", "type": "object", "properties": { "numNutanixVms": { "type": "integer", "description": "The number of Nutanix virtual machines protected under this SLA domain.", "format": "int32" } } }, "CloudStorageColdTier": { "title": "CloudStorageColdTier", "enum": [ "AzureArchive", "Glacier", "GlacierDeepArchive" ], "type": "string", "description": "The set of storage classes that support Cold tiering during smart or instant tiering." }, "CloudStorageRehydrationSpeed": { "title": "CloudStorageRehydrationSpeed", "enum": [ "AwsBulk", "AwsStandard", "AwsExpedited", "AzureStandard", "AzureHighPriority" ], "type": "string", "description": "Specifies the retrieval speed option when retrieving data from the cold storage tier to the hot storage tier for restore purposes. Rubrik cannot directly restore data from the cold storage tier and the data must be first retrieved into the hot storage tier. This is applicable only for AWS S3 and Azure archival locations. For AWS, three speed options are supported -- AwsExpedited, AwsStandard, and AwsBulk. AwsBulk is the cheapest and slowest. AwsExpedited is the fastest and most expensive. AwsStandard is the recommended default value. For Azure, the options are AzureStandard and AzureHighPriority. AzureHighPriority is more expensive and faster than AzureStandard. The default value is AzureStandard." }, "AwsEc2InstanceSlaObjectCount": { "title": "AwsEc2InstanceSlaObjectCount", "type": "object", "properties": { "numEc2Instances": { "type": "integer", "description": "The number of EC2 instances protected under this SLA Domain.", "format": "int32" } } }, "HypervVmSlaObjectCount": { "title": "HypervVmSlaObjectCount", "type": "object", "properties": { "numHypervVms": { "type": "integer", "description": "The number of Hyper-V virtual machines protected under this SLA domain.", "format": "int32" } } }, "Link": { "title": "Link", "required": [ "href", "rel" ], "type": "object", "properties": { "href": { "type": "string", "description": "The destination of the link." }, "rel": { "type": "string", "description": "The relation of the destination of this link to the current resource." } } }, "ManagedVolumeSlaObjectCount": { "title": "ManagedVolumeSlaObjectCount", "type": "object", "properties": { "numManagedVolumes": { "type": "integer", "description": "The number of Managed volumes protected under this SLA Domain.", "format": "int32" } } }, "MssqlDbSlaObjectCount": { "title": "MssqlDbSlaObjectCount", "type": "object", "properties": { "numDbs": { "type": "integer", "description": "The number of actively protected databases under this SLA domain.", "format": "int32" } } }, "AdvancedUiConfigAttributes": { "title": "AdvancedUiConfigAttributes", "required": [ "timeUnit", "retentionType" ], "type": "object", "properties": { "timeUnit": { "allOf": [ { "$ref": "#/components/schemas/SlaTimeUnit" }, { "description": "Units for frequency and retention. Accepted values are Minute, Hourly, Daily, Weekly, Monthly, Quarterly, and Yearly." } ] }, "retentionType": { "allOf": [ { "$ref": "#/components/schemas/SlaTimeUnit" }, { "description": "Units for frequency and retention. Accepted values are Minute, Hourly, Daily, Weekly, Monthly, Quarterly, and Yearly." } ] } } }, "ArchivalSpecV2": { "title": "ArchivalSpecV2", "required": [ "archivalThreshold" ], "type": "object", "properties": { "locationId": { "type": "string" }, "locationName": { "type": "string" }, "polarisManagedId": { "type": "string", "description": "The Polaris managed ID of an archival location. At least one of the parameters locationId and polarisManagedId must be defined to correctly refer to an archival location." }, "archivalThreshold": { "type": "integer", "description": "Amount of time, in seconds, after which the snapshot must be uploaded.", "format": "int64" }, "frequencies": { "type": "array", "items": { "$ref": "#/components/schemas/SlaTimeUnit" }, "description": "Frequencies for identifying snapshots to be archived. If frequencies are not specified, snapshots taken at all frequencies are archived as per the SLA Domain configuration." }, "archivalTieringSpec": { "$ref": "#/components/schemas/ArchivalTieringSpec" }, "isPassthroughSupported": { "type": "boolean", "description": "Boolean value that indicates if the archival location type supports direct archive backups." } } }, "ArchivalTieringSpec": { "title": "ArchivalTieringSpec", "required": [ "isInstantTieringEnabled" ], "type": "object", "properties": { "isInstantTieringEnabled": { "type": "boolean", "description": "A Boolean value that determines whether to immediately tier uploaded snapshots to cold storage. When this value is 'true,' uploaded snapshots are immediately tiered to cold storage. When this value is 'false,' snapshots are marked as eligible for tiering to cold storage after their time on the archival location exceeds the configured minimum accessible duration." }, "minAccessibleDurationInSeconds": { "type": "integer", "description": "Specifies an interval in seconds. Uploaded snapshots are accessible for instant recovery for the duration of the specified interval. This value is ignored when Instant Tiering is enabled.", "format": "int64" }, "coldStorageClass": { "allOf": [ { "$ref": "#/components/schemas/CloudStorageColdTier" }, { "description": "The set of storage classes that support Cold tiering during smart or instant tiering." } ] }, "shouldTierExistingSnapshots": { "type": "boolean", "description": "Indicates if existing snapshots for all objects protected by the SLA should be tiered. If not specified, this defaults to false. Only the snapshots that exist in the archival location associated with the SLA will be tiered." } } }, "BackupWindow": { "title": "BackupWindow", "required": [ "startTimeAttributes", "durationInHours" ], "type": "object", "properties": { "startTimeAttributes": { "$ref": "#/components/schemas/SlaStartTimeAttributes" }, "durationInHours": { "type": "integer", "format": "int32" } } }, "BulkSlaDomainAssignmentInfo": { "title": "BulkSlaDomainAssignmentInfo", "required": [ "assignmentInfos" ], "type": "object", "properties": { "assignmentInfos": { "type": "array", "items": { "$ref": "#/components/schemas/PerSlaDomainAssignmentInfo" }, "description": "" } } }, "ConfiguredSlaType": { "title": "ConfiguredSlaType", "enum": [ "ProtectionSla", "RetentionSla" ], "type": "string", "description": "Specifies whether the SLA Domain is used for protection or retention." }, "Db2DeltaFrequency": { "title": "Db2DeltaFrequency", "required": [ "frequency", "timeUnit" ], "type": "object", "properties": { "frequency": { "type": "integer", "description": "Frequency value for delta backup of Db2 databases.", "format": "int32" }, "timeUnit": { "allOf": [ { "$ref": "#/components/schemas/Db2DeltaFrequencyType" }, { "description": "Units for delta backup frequency." } ] } } }, "Db2DeltaFrequencyType": { "title": "Db2DeltaFrequencyType", "enum": [ "Minutely", "Hourly", "Daily" ], "type": "string", "description": "Units for delta backup frequency." }, "Db2IncrementalFrequency": { "title": "Db2IncrementalFrequency", "required": [ "frequency", "timeUnit" ], "type": "object", "properties": { "frequency": { "type": "integer", "description": "Frequency value for incremental backup of Db2 databases.", "format": "int32" }, "timeUnit": { "allOf": [ { "$ref": "#/components/schemas/Db2IncrementalFrequencyType" }, { "description": "Units for incremental backup frequency." } ] } } }, "Db2IncrementalFrequencyType": { "title": "Db2IncrementalFrequencyType", "enum": [ "Minutely", "Hourly", "Daily" ], "type": "string", "description": "Units for incremental backup frequency." }, "DeltaFrequencyMap": { "title": "DeltaFrequencyMap", "type": "object", "properties": { "Db2Database": { "$ref": "#/components/schemas/Db2DeltaFrequency" } } }, "DifferentialFrequencyMap": { "title": "DifferentialFrequencyMap", "type": "object", "properties": { "SapHanaDatabase": { "$ref": "#/components/schemas/SapHanaDifferentialFrequency" } } }, "EffectiveSlaHolder": { "title": "EffectiveSlaHolder", "required": [ "effectiveSlaDomainId", "effectiveSlaDomainName" ], "type": "object", "properties": { "effectiveSlaDomainId": { "type": "string", "description": "The ID of the SLA Domain that controls the protection of the Rubrik object." }, "effectiveSlaDomainName": { "type": "string", "description": "The name of the SLA Domain that controls the protection of the Rubrik object." }, "isEffectiveSlaDomainRetentionLocked": { "type": "boolean", "description": "Indicates whether the effective SLA Domain is Retention Locked. When this value is 'true', the effective SLA domain is a Retention Lock SLA Domain." }, "effectiveSlaDomainPolarisManagedId": { "type": "string", "description": "Optional. This field contains the managed ID of of the Polaris-managed effective SLA Domain." }, "effectiveSlaSourceObjectId": { "type": "string", "description": "The ID of the parent of the Rubrik object from which the SLA Domain that controls the protection of Rubrik object is inherited." }, "effectiveSlaSourceObjectName": { "type": "string", "description": "The name of the parent of the Rubrik object from which the SLA Domain that controls the protection of Rubrik object is inherited." } } }, "ExistingSnapshotRetention": { "title": "ExistingSnapshotRetention", "enum": [ "RetainSnapshots", "KeepForever", "ExpireImmediately" ], "type": "string", "description": "Specifies the retention policy to apply to existing snapshots when unprotecting an object." }, "FrequencyConfig": { "title": "FrequencyConfig", "required": [ "frequency", "retention" ], "type": "object", "properties": { "frequency": { "type": "integer", "format": "int32" }, "retention": { "type": "integer", "format": "int32" } } }, "IncrementalFrequencyMap": { "title": "IncrementalFrequencyMap", "type": "object", "properties": { "SapHanaDatabase": { "$ref": "#/components/schemas/SapHanaIncrementalFrequency" }, "Db2Database": { "$ref": "#/components/schemas/Db2IncrementalFrequency" } } }, "LogConfigMap": { "title": "LogConfigMap", "type": "object", "properties": { "SapHanaDatabase": { "$ref": "#/components/schemas/SlaLogConfiguration" }, "VmwareVirtualMachine": { "$ref": "#/components/schemas/SlaLogConfiguration" }, "OracleDatabase": { "$ref": "#/components/schemas/OracleSlaLogConfiguration" }, "Mssql": { "$ref": "#/components/schemas/SlaLogConfiguration" }, "Db2Database": { "$ref": "#/components/schemas/SlaLogConfiguration" } } }, "LogFrequencyType": { "title": "LogFrequencyType", "enum": [ "Continuous", "Minute" ], "type": "string", "description": "Defines the frequency of taking log backups." }, "ManagedObjectPendingSlaInfo": { "title": "ManagedObjectPendingSlaInfo", "required": [ "objectId", "pendingSlaDomainId", "pendingSlaDomainName" ], "type": "object", "properties": { "objectId": { "type": "string", "description": "Managed ID of the object." }, "pendingSlaDomainId": { "type": "string" }, "pendingSlaDomainName": { "type": "string" }, "isPendingSlaDomainRetentionLocked": { "type": "boolean" } } }, "MissedSnapshotDayOfTimeUnit": { "title": "MissedSnapshotDayOfTimeUnit", "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "FirstDay", "Fifteenth", "LastDay" ], "type": "string", "description": "Units for missed snapshot dayOfTime." }, "MonthlyConfig": { "title": "MonthlyConfig", "required": [ "frequency", "retention", "dayOfMonth" ], "type": "object", "properties": { "frequency": { "type": "integer", "format": "int32" }, "retention": { "type": "integer", "format": "int32" }, "dayOfMonth": { "allOf": [ { "$ref": "#/components/schemas/SlaDayOfMonth" }, { "description": "The day of the month when snapshot will be taken." } ] } } }, "OracleSlaLogConfiguration": { "title": "OracleSlaLogConfiguration", "type": "object", "properties": { "slaLogFrequencyConfig": { "$ref": "#/components/schemas/SlaLogFrequencyConfig" }, "hostLogRetentionInMinutes": { "type": "integer", "description": "Specifies an interval in minutes, which governs the retention of redo logs. The next log snapshot job deletes archived Oracle redo log files whose 'nextTime' field specifies a time that occurs before the current time minus the specifed number of minutes. To immediately delete archived redo log files regardless of age, specify an interval of -1. To preserve all archived redo log files, specify an interval of -2.", "format": "int32" } } }, "PerSlaDomainAssignmentInfo": { "title": "PerSlaDomainAssignmentInfo", "required": [ "slaDomainId", "assignmentInfo" ], "type": "object", "properties": { "slaDomainId": { "type": "string" }, "assignmentInfo": { "$ref": "#/components/schemas/SlaDomainAssignmentInfo" } } }, "QuarterlyConfig": { "title": "QuarterlyConfig", "required": [ "frequency", "retention", "firstQuarterStartMonth", "dayOfQuarter" ], "type": "object", "properties": { "frequency": { "type": "integer", "format": "int32" }, "retention": { "type": "integer", "format": "int32" }, "firstQuarterStartMonth": { "allOf": [ { "$ref": "#/components/schemas/SlaMonth" }, { "description": "The month of the year when snapshot will be taken." } ] }, "dayOfQuarter": { "allOf": [ { "$ref": "#/components/schemas/SlaDayOfQuarter" }, { "description": "The day of the quarter when snapshot will be taken." } ] } } }, "ReplicationSpecV2": { "title": "ReplicationSpecV2", "required": [ "retentionLimit" ], "type": "object", "properties": { "locationId": { "type": "string" }, "locationName": { "type": "string" }, "polarisManagedId": { "type": "string", "description": "This refers to the Polaris managed ID of an archival location. At least one of the params locationId and polarisManagedId should be defined to correctly refer to an archival location. If locationId is provided, then polarisManagedId will be ignored." }, "retentionLimit": { "type": "integer", "description": "Specifies a time duration in seconds. Snapshots will be retained on the replication target location until the duration has passed.", "format": "int64" }, "logRetentionLimit": { "type": "integer", "description": "Specifies an interval in seconds. Logs are retained at the replication location until the specified interval expires.", "format": "int64" }, "replicationType": { "allOf": [ { "$ref": "#/components/schemas/ReplicationType" }, { "description": "The type of replication for an SLA Domain." } ] } } }, "ReplicationType": { "title": "ReplicationType", "enum": [ "REPLICATION_TO_CLUSTER", "REPLICATION_TO_CLOUD_LOCATION" ], "type": "string", "description": "The type of replication for an SLA Domain." }, "SapHanaDifferentialFrequency": { "title": "SapHanaDifferentialFrequency", "required": [ "frequency", "timeUnit" ], "type": "object", "properties": { "frequency": { "type": "integer", "description": "Frequency value for differential backup of SAP HANA databases.", "format": "int32" }, "timeUnit": { "allOf": [ { "$ref": "#/components/schemas/SapHanaDifferentialFrequencyType" }, { "description": "Units for differential backup frequency." } ] } } }, "SapHanaDifferentialFrequencyType": { "title": "SapHanaDifferentialFrequencyType", "enum": [ "Minutely", "Hourly", "Daily" ], "type": "string", "description": "Units for differential backup frequency." }, "SapHanaIncrementalFrequency": { "title": "SapHanaIncrementalFrequency", "required": [ "frequency", "timeUnit" ], "type": "object", "properties": { "frequency": { "type": "integer", "description": "Frequency value for incremental backup of SAP HANA databases.", "format": "int32" }, "timeUnit": { "allOf": [ { "$ref": "#/components/schemas/SapHanaIncrementalFrequencyType" }, { "description": "Units for incremental backup frequency." } ] } } }, "SapHanaIncrementalFrequencyType": { "title": "SapHanaIncrementalFrequencyType", "enum": [ "Minutely", "Hourly", "Daily" ], "type": "string", "description": "Units for incremental backup frequency." }, "SlaAssignable": { "title": "SlaAssignable", "required": [ "id", "name", "configuredSlaDomainId", "configuredSlaDomainName", "primaryClusterId" ], "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the Rubrik object." }, "name": { "type": "string", "description": "The name of the Rubrik object." }, "configuredSlaDomainId": { "type": "string", "description": "The ID of the SLA Domain configured directly on the Rubrik object." }, "configuredSlaDomainName": { "type": "string", "description": "The name of the SLA Domain configured directly on the Rubrik object." }, "configuredSlaDomainType": { "allOf": [ { "$ref": "#/components/schemas/ConfiguredSlaType" }, { "description": "Specifies whether the SLA Domain is used for protection or retention." } ] }, "primaryClusterId": { "type": "string", "description": "The ID of the cluster that manages the Rubrik object." }, "isConfiguredSlaDomainRetentionLocked": { "type": "boolean", "description": "Indicates whether the configured SLA Domain is Retention Locked. When this value is 'true', the configured SLA Domain is a Retention Lock SLA Domain." }, "slaLastUpdateTime": { "type": "string", "description": "The UTC time when the SLA Domain was last updated.", "format": "date-time" } } }, "SlaDayOfMonth": { "title": "SlaDayOfMonth", "enum": [ "FirstDay", "Fifteenth", "LastDay" ], "type": "string", "description": "The day of the month when snapshot will be taken." }, "SlaDayOfQuarter": { "title": "SlaDayOfQuarter", "enum": [ "FirstDay", "LastDay" ], "type": "string", "description": "The day of the quarter when snapshot will be taken." }, "SlaDayOfWeek": { "title": "SlaDayOfWeek", "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "type": "string", "description": "The day of the week when snapshot will be taken." }, "SlaDayOfYear": { "title": "SlaDayOfYear", "enum": [ "FirstDay", "LastDay" ], "type": "string", "description": "The day of the year when snapshot will be taken." }, "SlaDomainAssignmentInfo": { "title": "SlaDomainAssignmentInfo", "required": [ "managedIds" ], "type": "object", "properties": { "managedIds": { "type": "array", "items": { "type": "string" }, "description": "" }, "existingSnapshotRetention": { "allOf": [ { "$ref": "#/components/schemas/ExistingSnapshotRetention" }, { "description": "Specifies the retention policy to apply to existing snapshots when unprotecting an object." } ] }, "shouldApplyToExistingSnapshots": { "type": "boolean", "description": "A Boolean that specifies whether to retain existing snapshots of assigned objects with the configuration of a specified SLA Domain. The default value is 'true'. If objects are unprotected, the retention of existing snapshots will be determined by the value of parameter 'existingSnapshotRetention'. This field should be kept empty in such cases. When an SLA Domain assignment is cleared from an object, the retention strategy described in this field is used only when the object can inherit a protection SLA Domain from an ancestor object." }, "shouldApplyToNonPolicySnapshots": { "type": "boolean", "description": "A Boolean which if set to true specifies that the retention changes corresponding to the new SLA should be applied to non-policy snapshots in addition to existing policy based snapshots." } } }, "SlaDomainPatchDefinitionV2": { "title": "SlaDomainPatchDefinitionV2", "type": "object", "properties": { "name": { "type": "string" }, "frequencies": { "$ref": "#/components/schemas/SlaFrequencyV2" }, "logConfig": { "allOf": [ { "$ref": "#/components/schemas/SlaLogConfig" }, { "description": "(Deprecated) Log backup configuration for VMware virtual machines only. To track log backup configuration by object type, use **logConfigs** instead." } ] }, "allowedBackupWindows": { "type": "array", "items": { "$ref": "#/components/schemas/BackupWindow" }, "description": "" }, "firstFullAllowedBackupWindows": { "type": "array", "items": { "$ref": "#/components/schemas/BackupWindow" }, "description": "" }, "localRetentionLimit": { "type": "integer", "format": "int64" }, "archivalSpecs": { "type": "array", "items": { "$ref": "#/components/schemas/ArchivalSpecV2" }, "description": "" }, "replicationSpecs": { "type": "array", "items": { "$ref": "#/components/schemas/ReplicationSpecV2" }, "description": "" }, "showAdvancedUi": { "type": "boolean" }, "advancedUiConfig": { "type": "array", "items": { "$ref": "#/components/schemas/AdvancedUiConfigAttributes" }, "description": "" }, "isRetentionLocked": { "type": "boolean", "description": "Boolean value that identifies a Retention Lock SLA Domain. Value is true when an SLA Domain is Retention Locked and false when it is not." }, "incrementalFrequency": { "$ref": "#/components/schemas/IncrementalFrequencyMap" }, "differentialFrequency": { "$ref": "#/components/schemas/DifferentialFrequencyMap" }, "deltaFrequency": { "$ref": "#/components/schemas/DeltaFrequencyMap" }, "logConfigs": { "$ref": "#/components/schemas/LogConfigMap" } } }, "SlaDomainSummaryV2": { "title": "SlaDomainSummaryV2", "required": [ "id", "primaryClusterId", "name", "primaryClusterSlaVersion", "frequencies", "allowedBackupWindows", "firstFullAllowedBackupWindows", "maxLocalRetentionLimit", "isDefault", "showAdvancedUi", "advancedUiConfig" ], "type": "object", "properties": { "numNutanixVms": { "type": "integer", "description": "The number of Nutanix virtual machines protected under this SLA domain.", "format": "int32" }, "numEc2Instances": { "type": "integer", "description": "The number of EC2 instances protected under this SLA Domain.", "format": "int32" }, "numHypervVms": { "type": "integer", "description": "The number of Hyper-V virtual machines protected under this SLA domain.", "format": "int32" }, "numManagedVolumes": { "type": "integer", "description": "The number of Managed volumes protected under this SLA Domain.", "format": "int32" }, "numDbs": { "type": "integer", "description": "The number of actively protected databases under this SLA domain.", "format": "int32" }, "numVcdVapps": { "type": "integer", "description": "The number of vApps protected under this SLA Domain.", "format": "int32" }, "numOracleDbs": { "type": "integer", "description": "The number of actively protected oracle databases under this SLA Domain.", "format": "int32" }, "numFilesets": { "type": "integer", "description": "The number of filesets protected under this SLA Domain.", "format": "int32" }, "numStorageArrayVolumeGroups": { "type": "integer", "description": "The number of storage array volume groups protected under this SLA Domain.", "format": "int32" }, "numWindowsVolumeGroups": { "type": "integer", "description": "The number of Windows volume groups protected under this SLA Domain.", "format": "int32" }, "numLinuxHosts": { "type": "integer", "description": "The number of Linux servers with filesets protected under this SLA Domain.", "format": "int32" }, "numShares": { "type": "integer", "description": "The number of shares protected under this SLA Domain.", "format": "int32" }, "numWindowsHosts": { "type": "integer", "description": "The number of Windows servers with filesets protected under this SLA Domain.", "format": "int32" }, "numVms": { "type": "integer", "format": "int32" }, "numProtectedObjects": { "type": "integer", "description": "The total number of protected ojects under this SLA Domain.", "format": "int32" }, "id": { "type": "string" }, "primaryClusterId": { "type": "string" }, "name": { "type": "string" }, "primaryClusterSlaVersion": { "type": "integer", "description": "Specifies the version of the SLA that is incremented for every user SLA Domain edit. For remote SLA Domains, this specifies the version of SLA Domain used by the source cluster.", "format": "int32" }, "replicationTargetSlaVersion": { "type": "integer", "description": "Specifies the version of the remote SLA Domain that is incremented for every user SLA Domain on the replication target.", "format": "int32" }, "polarisManagedId": { "type": "string", "description": "Optional field containing Polaris managed ids of the Polaris managed SLAs. This field will be set only if the SLA is Polaris managed." }, "frequencies": { "$ref": "#/components/schemas/SlaFrequencyV2" }, "logConfig": { "allOf": [ { "$ref": "#/components/schemas/SlaLogConfig" }, { "description": "(Deprecated) Log backup configuration for VMware virtual machines only. To track log backup configuration by object type, use **logConfigs** instead." } ] }, "allowedBackupWindows": { "type": "array", "items": { "$ref": "#/components/schemas/BackupWindow" }, "description": "" }, "firstFullAllowedBackupWindows": { "type": "array", "items": { "$ref": "#/components/schemas/BackupWindow" }, "description": "" }, "localRetentionLimit": { "type": "integer", "description": "The retention limit for snapshots on the local Rubrik system. When no limit is specified, snapshots are retained up to the limit specified by the SLA.", "format": "int64" }, "maxLocalRetentionLimit": { "type": "integer", "description": "The maximum retention limit for snapshots on the local Rubrik system. For snapshots operating under a local SLA, this limit is the longest period specified in the SlaFrequencyV2 object. For snapshots under a remote SLA, this limit is the value of the retentionLimit variable set at the replication target location.", "format": "int64" }, "archivalSpecs": { "type": "array", "items": { "$ref": "#/components/schemas/ArchivalSpecV2" }, "description": "Specification for archival locations on this SLA." }, "replicationSpecs": { "type": "array", "items": { "$ref": "#/components/schemas/ReplicationSpecV2" }, "description": "Specification for the replication locations on this SLA." }, "isDefault": { "type": "boolean" }, "uiColor": { "type": "string" }, "showAdvancedUi": { "type": "boolean" }, "advancedUiConfig": { "type": "array", "items": { "$ref": "#/components/schemas/AdvancedUiConfigAttributes" }, "description": "" }, "isRetentionLocked": { "type": "boolean", "description": "Boolean value that identifies a Retention Lock SLA Domain. Value is true when an SLA Domain is Retention Locked and false when it is not." }, "isPaused": { "type": "boolean", "description": "A Boolean value that specifies whether protection for all the snappables that are protected by the specified SLA Domain is paused. When the value is 'true' protection is paused." }, "incrementalFrequency": { "$ref": "#/components/schemas/IncrementalFrequencyMap" }, "differentialFrequency": { "$ref": "#/components/schemas/DifferentialFrequencyMap" }, "deltaFrequency": { "$ref": "#/components/schemas/DeltaFrequencyMap" }, "logConfigs": { "$ref": "#/components/schemas/LogConfigMap" } } }, "SlaDomainUpdateSummary": { "title": "SlaDomainUpdateSummary", "required": [ "patchedSlaDomainSummary" ], "type": "object", "properties": { "patchedSlaDomainSummary": { "$ref": "#/components/schemas/SlaDomainSummaryV2" }, "batchAsyncRequestStatus": { "$ref": "#/components/schemas/BatchAsyncRequestStatus" } } }, "SlaFrequencyV