@itentialopensource/adapter-rubrik
Version:
This adapter integrates with system described as: rubrikRestApi.
1,175 lines • 50 kB
YAML
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:
$ref: '#/components/schemas/SlaTimeUnit'
retentionType:
$ref: '#/components/schemas/SlaTimeUnit'
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:
$ref: '#/components/schemas/CloudStorageColdTier'
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:
$ref: '#/components/schemas/Db2DeltaFrequencyType'
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:
$ref: '#/components/schemas/Db2IncrementalFrequencyType'
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:
$ref: '#/components/schemas/SlaDayOfMonth'
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:
$ref: '#/components/schemas/SlaMonth'
dayOfQuarter:
$ref: '#/components/schemas/SlaDayOfQuarter'
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:
$ref: '#/components/schemas/ReplicationType'
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:
$ref: '#/components/schemas/SapHanaDifferentialFrequencyType'
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:
$ref: '#/components/schemas/Db2IncrementalFrequencyType'
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:
$ref: '#/components/schemas/ConfiguredSlaType'
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:
$ref: '#/components/schemas/ExistingSnapshotRetention'
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:
$ref: '#/components/schemas/SlaLogConfiguration'
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:
$ref: '#/components/schemas/SlaLogConfiguration'
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'
SlaFrequencyV2:
title: SlaFrequencyV2
type: object
properties:
minute:
$ref: '#/components/schemas/FrequencyConfig'
hourly:
$ref: '#/components/schemas/FrequencyConfig'
daily:
$ref: '#/components/schemas/FrequencyConfig'
weekly:
$ref: '#/components/schemas/WeeklyConfig'
monthly:
$ref: '#/components/schemas/MonthlyConfig'
quarterly:
$ref: '#/components/schemas/QuarterlyConfig'
yearly:
$ref: '#/components/schemas/YearlyConfig'
SlaLogConfig:
title: SlaLogConfig
type: object
properties:
slaLogFrequencyConfig:
$ref: '#/components/schemas/SlaLogFrequencyConfig'
description: (Deprecated) Log backup configuration for VMware virtual machines only. To track log backup configuration by object type, use **logConfigs** instead.
SlaLogConfiguration:
title: SlaLogConfiguration
type: object
properties:
slaLogFrequencyConfig:
$ref: '#/components/schemas/SlaLogFrequencyConfig'
SlaLogFrequencyConfig:
title: SlaLogFrequencyConfig
required:
- retention
- logFrequencyType
type: object
properties:
retention:
type: integer
format: int32
logFrequencyType:
$ref: '#/components/schemas/LogFrequencyType'
frequency:
type: integer
format: int32
SlaMonth:
title: SlaMonth
enum:
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
type: string
description: The month of the year when snapshot will be taken.
SlaObjectCounts:
title: SlaObjectCounts
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
SlaStartTimeAttributes:
title: SlaStartTimeAttributes
required:
- minutes
- hour
type: object
properties:
minutes:
type: integer
format: int32
hour:
type: integer
format: int32
dayOfWeek:
type: integer
format: int32
SlaTimeUnit:
title: SlaTimeUnit
enum:
- Minute
- Hourly
- Daily
- Weekly
- Monthly
- Quarterly
- Yearly
type: string
description: Units for frequency and retention. Accepted values are Minute, Hourly, Daily, Weekly, Monthly, Quarterly, and Yearly.
Snappable:
title: Snappable
required:
- id
- name
- configuredSlaDomainId
- configuredSlaDomainName
- primaryClusterId
- effectiveSlaDomainId
- effectiveSlaDomainName
- slaAssignment
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:
$ref: '#/components/schemas/ConfiguredSlaType'
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
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.
slaAssignment:
$ref: '#/components/schemas/SlaAssignment'
retentionSlaDomainId:
type: string
description: The ID of the SLA Domain whose retention policy is in use.
WeeklyConfig:
title: WeeklyConfig
required:
- frequency
- retention
- dayOfWeek
type: object
properties:
frequency:
type: integer
format: int32
retention:
type: integer
format: int32
dayOfWeek:
$ref: '#/components/schemas/SlaDayOfWeek'
YearlyConfig:
title: YearlyConfig
required:
- frequency
- retention
- yearStartMonth
- dayOfYear
type: object
properties:
frequency:
type: integer
format: int32
retention:
type: integer
format: int32
yearStartMonth:
$ref: '#/components/schemas/SlaMonth'
dayOfYear:
$ref: '#/components/schemas/SlaDayOfYear'
AsyncRequestStatus:
title: AsyncRequestStatus
required:
- id
- status
- links
type: object
properties:
id:
type: string
description: The ID of the request object used to poll the status.
status:
type: string
description: Status of the ID.
progress:
type: number
description: The current percentage progress of the asynchronous request.
startTime:
type: string
description: The start time of the request.
format: date-time
endTime:
type: string
description: The end time of the request.
format: date-time
nodeId:
type: string
description: The ID of the node where the job ran.
error:
$ref: '#/components/schemas/RequestErrorInfo'
links:
type: array
items:
$ref: '#/components/schemas/Link'
description: References to any related objects.
BatchAsyncRequest:
title: BatchAsyncRequest
required:
- ids
type: object
properties:
ids:
type: array
items:
type: string
description: Batch of the request object IDs used to poll the status.
BatchAsyncRequestStatus:
title: BatchAsyncRequestStatus
required:
- responses
type: object
properties:
responses:
type: array
items:
$ref: '#/components/schemas/AsyncRequestStatus'
description: The asynchronous request status of a batch request.
RequestErrorInfo:
title: RequestErrorInfo
required:
- message
type: object
properties:
message:
type: string
description: The error message for failed IDs.
RequestFailedException:
title: RequestFailedException
required:
- errorType
- message
type: object
properties:
errorType:
type: string
message:
type: string
code:
type: string
param:
type: string
StringResponse:
title: StringResponse
required:
- response
type: object
properties:
response:
type: string
VcdVappSlaObjectCount:
title: VcdVappSlaObjectCount
type: object
properties:
numVcdVapps:
type: integer
description: The number of vApps protected under this SLA Domain.
format: int32
SlaAssignment:
title: SlaAssignment
enum:
- Derived
- Direct
- Unassigned
type: string
description: The SLA assignment type. Direct SLA assignment means that a SLA Domain was configured directly on the Rubrik object by the user. Derived SLA assignment means that the Rubrik object inherits an SLA Domain from its parent Rubrik object.
securitySchemes:
BasicAuth:
type: http
scheme: basic
Bearer:
type: apiKey
name: Authorization
in: header
security:
- BasicAuth: []
- Bearer: []
tags:
- name: Endpoint reference
- name: /sla_domain
descr