New Features:
- Added pipe support for SLA Cmdlets From PR 57
Fixes:
- Updated help texts From PR 53
- Fixed build and tests for PowerShell 5.1
Fixes:
- Fixed an issue in which certain GraphQL calls responded with
Unable to cast object of type 'Newtonsoft.Json.Linq.JValue' to type 'Newtonsoft.Json.Linq.JObject'.
- Updated help text in New-RscMssqlExport
New Features:
Breaking Changes:
Fixes:
- Limited the number of valid fields displayed in errors from
AddField
to 10 to prevent the terminal from being flooded.
New Features:
- New MsSql API Operation:
DeleteLogShipping
- New Cmdlets for working with SLAs:
Set-RscSla
,Remove-RscSla
,Resume-RscSla
,Suspend-RscSla
,New-RscSlaArchivalSpecs
,New-RscSlaBackupWindow
,New-RscSlaDuration
,New-RscSlaObjectSpecificConfig
,New-RscSlaReplicationSpecs
Breaking Changes:
Get-RscSlaDomain
andNew-RscSlaDomain
Cmdlets have been renamed. The new names areGet-RscSla
andNew-RscSla
respectively.New-RscSnapshotSchedule
Cmdlet has been renamed toNew-RscSlaSnapshotSchedule
.
New Features:
- MsSql cmdlets From PR 34
- New-RscSlaDomain and New-RscSnapshotSchedule cmdlets From PR 39
New Features:
- Get cmdlets for SLAs and vSphere VMs From PR 27 From PR 33
- MsSql cmdlets From PR 30
New Features:
- New Archival API Domain:
New-RscQueryArchival
andNew-RscMutationArchival
. - New Cross Account API Domain:
New-RscQueryCrossAccount
andNew-RscMutationCrossAccount
. - New Syslog API Domain:
New-RscQuerySyslog
andNew-RscMutationSyslog
.
Fixes:
- Fixed issue with sharing connection with nested powershell scripts.
Breaking Changes:
- The Cluster API Domain became too large and was split into 2 domains:
Cluster and Failover Cluster. See:
New-RscQueryFailoverCluster
andNew-RscMutationFailoverCluster
.
Fixes:
- Fixed bug in
New-RscQuery
andNew-RscMutation
that caused GraphQL operations that were not associated with an API domain to fail. All GraphQL operations that were not associated with an API domain are now associated with theMisc
domain.
New Features:
Invoke-Rsc
now handles paging internally. This means that you can now useInvoke-Rsc
to retrieve all items in a list, without having to useGet-RscPages
. For example, to retrieve all clusters:Invoke-Rsc (New-RscQueryCluster -Op List)
or(New-RscQueryCluster -Op List).Invoke()
. Note thatInvoke()
internally callsInvoke-Rsc
. To retrieve 1 cluster:Invoke-Rsc (New-RscQueryCluster -Op List -Var @{first=1})
To retrieve 1,000,000 clusters:Invoke-Rsc (New-RscQueryCluster -Op List -Var @{first=1000000})
Info()
on query object is now more verbose.
Breaking Changes:
Get-RscPages
is sunset. It is replaced byInvoke-Rsc
which now handles paging internally.VarTemplate()
on query object is sunset. It is replaced byExample()
which is more complete.
New Features:
- The SDK now imposes limits on page sizes when retrieving lists
from the API. The new default is 50 items per page.
Note that it should not result in any behavior change for users
as long as they collect pages with
Get-RscPages
(or iterate manually through them). It will cause problems to scripts that assumed that the API would return all items in a single response and their deployment lists more than 50 items.
Breaking Changes:
Get-RscPages
now takes for parameter aRscQuery
object instead of a script block. SeeGet-Help Get-RscPages
for details.
Fixes:
- Fix install on Windows.
- Removed format files for MssqlDatabase and VsphereVm.
Fixes:
- Fix case sensitivity issue with documentation files.
- Fix install on Linux.
New Features:
New toolkit scripts:
- Backup-SlaDomain
- Export-RscMssqlDatabase
- Get-RscManagedVolume
- Get-RscMssqlAvailabilityGroup
- Get-RscMssqlDatabaseFiles
- Get-RscMssqlDatabase
- Get-RscMssqlDatabaseRecoverableRanges
- Get-RscMssqlDatabaseRecoveryPoint
- Get-RscMssqlInstance
- Get-RscMssqlLiveMount
- New-RscMssqlLiveMount
- New-RscMssqlLogBackup
- New-RscMssqlRestore
- New-RscMssqlSnapshot
- Remove-RscMssqlLiveMount
- Set-RscMssqlDatabase
- Start-RscManagedVolumeSnapshot
- Stop-RscManagedVolumeSnapshot
New Features:
- New methods on Field objects:
SelectedFields()
,UnselectedFields()
andAllFields()
. New-RscQuery
andNew-RscMutation
for generic queries and mutations. For example to amend an existing query:$query = New-RscQuery -Copy $query -AddField ..
or to create a new query based off a GraphQL root field:New-RscQuery -GqlQuery clusterConnection -AddField ..
- New param to
Get-RscCluster
:Get-RscCluster -AsQuery
returns the query object instead of executing it. - Total query and mutation cmdlets is now at 52, see: docs/domains_and_operations.md
New Features:
- New cmdlet:
New-RscQueryManagedVolume
that covers theManagedVolume
API domain. - More documentation in Get-Help for the RSC cmdlets.
Fixes:
- Fixed bug with passing lists of enums. For example:
New-RscQueryVsphere -TopLevelDescendantsList -Var @{typeFilter = @(
[RubrikSecurityCloud.Types.HierarchyObjectTypeEnum]::WINDOWS_CLUSTER,
[RubrikSecurityCloud.Types.HierarchyObjectTypeEnum]::PHYSICAL_HOST)}
Deprecations:
Breaking Changes:
-Patch
was replaced with-AddField
and-RemoveField
- Experimental New-RscQueryGql* cmdlets are removed
New Features:
-
Refactor! This update is a major refactor of the SDK that invalidates all previous versions (because all cmdlet names have changed):
The 2-step operation of first asking for "inputs"
$inputs = Invoke-RscQuery<Domain> -<Operation> -GetInput
and then executing with the inputs
Invoke-RscQuery<Domain> -<Operation> -Input $inputs
is now renamed to first creating a query
$query = New-RscQuery<Domain> -<Operation>
and then executing the query
$result = Invoke-Rsc $query
or equivalently
$result = $query.Invoke()
-
SDK Extensions are renamed to SDK Toolkit, and the layout under rubrik-security-cloud/Toolkit was reworked.
-
Experimental New-RscQueryGql* cmdlets are introduced
Fixes:
Deprecations:
Breaking Changes:
- All cmdlets were renamed in the refactor.
For example,
Invoke-RscQueryCluster
is nowNew-RscQueryCluster
. - Extensions directory was renamed to Toolkit.
New Features:
- Support for PowerShell 5.1
Invoke-Rsc -Query
now acceptsRscQuery
objects for input.RscQuery
now have anInvoke()
method that executes the query.-Patch
now has auto-completion.Invoke-Rsc
now supports GraphQL query strings with inline variable definitions (see in its examples).Get-RscHelp -LookupSchema
is an introspection tool to help you look up elements in the RSC GraphQL schema.
Fixes:
- Unknown elements in API server responses are now ignored instead of causing an error. This is useful when a newer API server returns new fields that are not yet in the SDK, or when an older API server returns fields that are not in the SDK anymore.
- Token auto-refreshes on cmdlet calls made within 5 minutes of token expiration.
- Fix for Invoke-RscQueryAzure commands that overlapped
(e.g.
(Invoke-RscQueryAzure -Subscriptions -GetGqlRequest)
.operationName --> QueryAzureSqlDatabase
)
Deprecations:
Breaking Changes:
Invoke-Rsc -Query .. -Variables ..
is renamed toInvoke-Rsc -GqlQuery .. -Var ..
RscCmdletInput
is renamed toRscQuery
Fetch()
is renamedSelectForRetrieval()
New Features:
- RscCmdletInput has 2 new methods,
VarInfo()
andInfo()
- new (advanced) documentation:
docs/graphql_model.md
Fetch()
method on schema types.
Fixes:
- Fix bug in API server error reporting
- The term "Op" or "Operation" was used in the SDK where it was really referring to a GraphQL Root Field. This has been fixed.
Deprecations:
Breaking Changes:
- Assemblies are no longer installed at the root of the output
directory, but instead in a platform subdirectory:
net472
ornet6.0
New Features:
- New Invoke parameters:
-Patch
,-PatchFile
- RscCmdletInput: new FieldInfo() method that returns a link to the online documentation for the field.
- Extension scripts now live in the
Extensions
top directory. -Input
on cmdlets that accepts aRscCmdletInput
object: the type you retrieve with-GetInput
. For example:$i=(Invoke-RscXxx -GetInput); ...; Invoke-RscXxx -Input $i
- New input profile
-InputProfile FULL
which creates a field specification that includes all fields recursively. This is useful for studying/debugging and for custom operations. NOTE: TheFULL
profile will typically generate queries that exceed the query complexity limit of the API server. It is not meant to be sent out as-is to the API server. Instead, it is meant to be used as a starting point for custom operations. Get-RscCmdlet -Locations
shows the various (FS) locations where the SDK looks for files.Samples/AllCmdlets.sample.ps1
now accepts a-GetGqlRequest
that will save the GraphQL query to file for every command in the SDK into a local./gql/
directory. CAUTION: This will writes hundreds of files to disk!- New doc files: docs/faq.md, docs/input_model.md
Fixes:
- API server errors on query complexity are now bubbled up to the user
Invoke-RscQueryCluster -List -InputProfile DETAIL
andGet-RscCluster -Detail
did not work because of query complexity. They were fixed by providing the override gql fileOperations/DETAIL/QueryClusterConnection.gql
Remove-NullProperties
now works with null input.
Deprecations:
-Arg
is deprecated in favor of-Var
(for variables).-Arg
will be removed in a future release.=InputProfile
is deprecated in favor of-FieldProfile
.=InputProfile
will be removed in a future release.
Breaking changes:
- Cmdlets'
-GetInputs
is renamed to-GetInput
. - RscGqlRequest.DefaultQueryFileName is not a method anymore but a property.
New Features:
Fixes:
$PROFILE
is not expected to be set anymore.
Breaking changes:
- Custom operations are not expected to be in the same directory
as
$PROFILE
anymore. Instead, the$RSC_CUSTOM_DIR
environment variable is used to locate them. If this variable is not set, it defaults to the current working directory.
New Features:
Invoke-RscQueryDb2
Invoke-RscMutateDb2
Get-RscHelp -CustomOperations
Invoke-Rsc* -GetGqlRequest
, which returns aRscGqlRequest
objectInvoke-Rsc* -InputProfile CUSTOM
- Override of default field spec with
[RubrikSecurityCloud.Files]::GetSdkOperationsDir("DEFAULT")
Fixes:
- Added
ActivitySeriesId
to Get-RscEventSeries
Breaking changes:
-InputProfile DETAILS
is now-InputProfile DETAIL